aboutsummaryrefslogtreecommitdiffstats
path: root/sync-measurement-while-sending.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'sync-measurement-while-sending.ipynb')
-rw-r--r--sync-measurement-while-sending.ipynb385
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
+}