diff options
Diffstat (limited to 'sync-measurement-while-sending.ipynb')
-rw-r--r-- | sync-measurement-while-sending.ipynb | 385 |
1 files changed, 385 insertions, 0 deletions
diff --git a/sync-measurement-while-sending.ipynb b/sync-measurement-while-sending.ipynb new file mode 100644 index 0000000..5e9ef00 --- /dev/null +++ b/sync-measurement-while-sending.ipynb @@ -0,0 +1,385 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import numpy as np\n", + "import time\n", + "import scipy\n", + "from scipy import signal\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib.colors as mpcol\n", + "import src.dab_util as du" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "import src.signal_gen as sg\n", + "reload(sg)\n", + "reload(du)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "path_in = \"./input.dat\"\n", + "path_out = \"./output.dat\"\n", + "a_max = 0.95\n", + "n_steps = 64\n", + "amps = np.linspace(0.001, a_max, num = n_steps)\n", + "txgains = (75,)\n", + "rxgains = (20,)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "from grc.parallel_measurement import parallel_measurement" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "sg.gen_ramps(path=\"./input.dat\", n_periods=64, pause=8, amplitudes=amps)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "top = parallel_measurement()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "top.start()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "import src.ReceiveDictTcp as rdt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "receiver = rdt.ReceiveDictTcp('127.0.0.1', 1111)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "receiver.start()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "top.dpd_memless_poly_0.set_a1(1)\n", + "top.dpd_memless_poly_0.set_a2(0.0)\n", + "top.dpd_memless_poly_0.set_a3(0.0)\n", + "top.dpd_memless_poly_0.set_a4(0.0)\n", + "top.dpd_memless_poly_0.set_a5(0.0)\n", + "top.dpd_memless_poly_0.set_a6(0.0)\n", + "top.dpd_memless_poly_0.set_a7(0.0)\n", + "top.dpd_memless_poly_0.set_a8(0.0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "top.uhd_usrp_source_0.set_gain(20)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "top.uhd_usrp_sink_0_0.set_gain(40)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "while True:\n", + " time.sleep(1)\n", + " if not receiver.queue.empty():\n", + " d = receiver.queue.get()\n", + " \n", + " print(d)\n", + " k = d.keys()[0]\n", + " if k == \"a1\":\n", + " print(d)\n", + " top.dpd_memless_poly_0.set_a1(d[k])\n", + " if k == \"a2\":\n", + " top.dpd_memless_poly_0.set_a2(d[k])\n", + " if k == \"a3\":\n", + " top.dpd_memless_poly_0.set_a3(d[k])\n", + " if k == \"a4\":\n", + " top.dpd_memless_poly_0.set_a4(d[k])\n", + " if k == \"a5\":\n", + " top.dpd_memless_poly_0.set_a5(d[k])\n", + " if k == \"a6\":\n", + " top.dpd_memless_poly_0.set_a6(d[k])\n", + " if k == \"a7\":\n", + " top.dpd_memless_poly_0.set_a7(d[k])\n", + " if k == \"a8\":\n", + " top.dpd_memless_poly_0.set_a8(d[k])\n", + " if k == \"txgain\":\n", + " top.uhd_usrp_sink_0_0.set_gain(d[k])\n", + " if k == \"rxgain\":\n", + " top.uhd_usrp_source_0.set_gain(d[k])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "# reload(du)\n", + "res = []\n", + "\n", + "\n", + "t = time.time()\n", + "for txgain, rxgain in zip(txgains, rxgains):\n", + " print (txgain, rxgain)\n", + " res_tmp = None\n", + " for i in range(30):\n", + " \n", + " #top.file_sink_out.close()\n", + " #top.blocks_file_source_0.close()\n", + " \n", + " #top.file_sink_out.open(path_out)\n", + " #top.file_sink_out.open(\"/tmp/\" + str(i))\n", + " #top.blocks_file_source_0.open(path_in, False)\n", + " \n", + " time.sleep(1)\n", + " \n", + " \n", + " #a_in = np.fromfile(path_in, dtype=np.complex64)\n", + " #a_out = np.fromfile(path_out, dtype=np.complex64)\n", + " \n", + " #extract_measurement(a_in, a_out, rxgain, 0.95, 64, debug = True)\n", + " #\n", + " #plt.plot(a_in[:1000])\n", + " #plt.show()\n", + " \n", + " res.append(res_tmp)\n", + "time.time() - t" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "#top.stop()\n", + "#top.wait()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "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 +} |