aboutsummaryrefslogtreecommitdiffstats
path: root/generate_compensated_2_tone_file.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'generate_compensated_2_tone_file.ipynb')
-rw-r--r--generate_compensated_2_tone_file.ipynb291
1 files changed, 0 insertions, 291 deletions
diff --git a/generate_compensated_2_tone_file.ipynb b/generate_compensated_2_tone_file.ipynb
deleted file mode 100644
index 7037d3b..0000000
--- a/generate_compensated_2_tone_file.ipynb
+++ /dev/null
@@ -1,291 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "%matplotlib inline\n",
- "import matplotlib.pyplot as plt\n",
- "import numpy as np"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "a = np.fromfile(\"./out_sin\", np.complex64)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "a.shape"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "a = a[0:100]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "mag = np.abs(a)\n",
- "plt.plot(mag)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "plt.plot(a.imag[0:100])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "plt.plot(a.real[0:100])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "def complex_exp(freq, samp_rate, periods, phase_deg=0):\n",
- " t_max = 1.0 * samp_rate / freq * periods\n",
- " t = np.arange(t_max)\n",
- " fac = t / samp_rate * freq\n",
- " phase = 1j * phase_deg/360*2*np.pi\n",
- " ret = np.exp(phase + 1j * 2 * np.pi * fac - 1j * np.pi / 2, dtype=np.complex64)\n",
- " return ret\n",
- "ret = complex_exp(10,40,2)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "samp_rate = 4000000 #samples / second\n",
- "frequency_0 = samp_rate/9. #cycles / second\n",
- "frequency_1 = samp_rate/10. #cycles / second\n",
- "tone_0 = complex_exp(frequency_0, samp_rate, 10, 180)\n",
- "tone_1 = complex_exp(frequency_1, samp_rate, 9)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "def complex_exp(freq, samp_rate, periods):\n",
- " t_max = 1.0 * samp_rate / freq * periods\n",
- " t = np.arange(t_max)\n",
- " fac = t / samp_rate * freq\n",
- " ret = np.exp(1j * 2 * np.pi * fac - 1j * np.pi / 2)\n",
- " return ret\n",
- "ret = complex_exp(10,40,2)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "two_tone = 1/2.0 * (tone_0 + tone_1)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "two_tone[-1]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "two_tone.tofile(\"./np_twotone\")\n",
- "two_tone.dtype"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "a_load = np.fromfile(\"./np_twotone\", dtype=np.complex64)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "plt.plot(a_load.real[0:100])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "import pickle"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "lut_dict = pickle.load(open(\"./lut_tab.pkl\", \"rb\"))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "def dpd(x):\n",
- " mag = np.abs(x)\n",
- " fac = np.interp(mag/2.0, lut_dict[\"ampl\"], lut_dict[\"fac\"])\n",
- " ret = x*fac\n",
- " return ret.astype(np.complex64)\n",
- "\n",
- "#def dpd(x):\n",
- "# return x*0.5"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "tone_0_dpd = np.apply_along_axis(dpd, 0, tone_0)\n",
- "tone_1_dpd = np.apply_along_axis(dpd, 0, tone_1)\n",
- "two_tone_dpd = 1/2. * (tone_0_dpd + tone_1_dpd)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "plt.plot(two_tone_dpd.real[0:200])\n",
- "plt.plot(two_tone.real[0:200])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "two_tone_dpd.tofile(\"./np_twotone\")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "two_tone.tofile(\"./np_twotone\")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "a_load = np.fromfile(\"./np_twotone_dpd\", dtype=np.complex64)\n",
- "plt.plot(a_load.real[0:200])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 2",
- "language": "python",
- "name": "python2"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 2
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython2"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 1
-}