summaryrefslogtreecommitdiff
path: root/lab-windows
diff options
context:
space:
mode:
Diffstat (limited to 'lab-windows')
-rw-r--r--lab-windows/dsss_experiments-ber.ipynb248
1 files changed, 67 insertions, 181 deletions
diff --git a/lab-windows/dsss_experiments-ber.ipynb b/lab-windows/dsss_experiments-ber.ipynb
index 91c1daf..ce87548 100644
--- a/lab-windows/dsss_experiments-ber.ipynb
+++ b/lab-windows/dsss_experiments-ber.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
@@ -29,7 +29,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
@@ -38,7 +38,7 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
@@ -47,7 +47,7 @@
},
{
"cell_type": "code",
- "execution_count": 37,
+ "execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
@@ -73,7 +73,7 @@
},
{
"cell_type": "code",
- "execution_count": 38,
+ "execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
@@ -90,7 +90,7 @@
},
{
"cell_type": "code",
- "execution_count": 39,
+ "execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
@@ -104,7 +104,7 @@
},
{
"cell_type": "code",
- "execution_count": 221,
+ "execution_count": 20,
"metadata": {},
"outputs": [
{
@@ -124,7 +124,7 @@
},
{
"cell_type": "code",
- "execution_count": 77,
+ "execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
@@ -139,7 +139,7 @@
},
{
"cell_type": "code",
- "execution_count": 42,
+ "execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
@@ -153,21 +153,13 @@
},
{
"cell_type": "code",
- "execution_count": 43,
+ "execution_count": 23,
"metadata": {},
"outputs": [
{
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "<ipython-input-42-882fdfbdc9fa>:4: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).\n",
- " fig, ax = plt.subplots()\n"
- ]
- },
- {
"data": {
"application/vnd.jupyter.widget-view+json": {
- "model_id": "cddadc4204f54789905875fcfb8e4126",
+ "model_id": "8a090f2d31104ec695a0c68bf39555d9",
"version_major": 2,
"version_minor": 0
},
@@ -185,7 +177,7 @@
},
{
"cell_type": "code",
- "execution_count": 44,
+ "execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
@@ -194,7 +186,7 @@
},
{
"cell_type": "code",
- "execution_count": 45,
+ "execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
@@ -374,21 +366,13 @@
},
{
"cell_type": "code",
- "execution_count": 217,
+ "execution_count": 26,
"metadata": {},
"outputs": [
{
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "<ipython-input-217-c761a61291a7>:1: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).\n",
- " fig, ax = plt.subplots(figsize=(12, 9))\n"
- ]
- },
- {
"data": {
"application/vnd.jupyter.widget-view+json": {
- "model_id": "42da8a07c0e241f2b1d0f3358e68935b",
+ "model_id": "b961e7d9571748fd8a58a5579f95743d",
"version_major": 2,
"version_minor": 0
},
@@ -402,10 +386,10 @@
{
"data": {
"text/plain": [
- "[<matplotlib.lines.Line2D at 0x7efd98cd17f0>]"
+ "[<matplotlib.lines.Line2D at 0x7275b7807450>]"
]
},
- "execution_count": 217,
+ "execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
@@ -459,7 +443,7 @@
},
{
"cell_type": "code",
- "execution_count": 14,
+ "execution_count": 27,
"metadata": {},
"outputs": [],
"source": [
@@ -469,13 +453,13 @@
},
{
"cell_type": "code",
- "execution_count": 19,
+ "execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
- "model_id": "3e5e478d8d8b4d7f9e08ec7e81def86b",
+ "model_id": "cebd805ecee34a05b229922af1abfe58",
"version_major": 2,
"version_minor": 0
},
@@ -489,12 +473,12 @@
{
"data": {
"application/vnd.jupyter.widget-view+json": {
- "model_id": "84b5e696d97346c5addebb851e4e5c51",
+ "model_id": "981c5c08524e4b56b72df4ca01e724da",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
- "HBox(children=(FloatProgress(value=1.0, bar_style='info', max=1.0), HTML(value='')))"
+ "HBox(children=(IntProgress(value=1, bar_style='info', max=1), HTML(value='')))"
]
},
"metadata": {},
@@ -506,22 +490,22 @@
"text": [
"nbits=5\n",
"nbits=6\n",
- "signal_amplitude=0.00046: ser=0.97396 ±0.00737, br=14.64844\n",
+ "signal_amplitude=0.00010: ser=0.97396 ±0.00737, br=14.64844\n",
+ "signal_amplitude=0.00015: ser=0.98958 ±0.00737, br=5.85938\n",
"signal_amplitude=0.00022: ser=0.96875 ±0.01276, br=17.57812\n",
"signal_amplitude=0.00032: ser=0.97396 ±0.00737, br=14.64844\n",
- "signal_amplitude=0.00015: ser=0.98958 ±0.00737, br=5.85938\n",
- "signal_amplitude=0.00010: ser=0.97396 ±0.00737, br=14.64844\n",
+ "signal_amplitude=0.00046: ser=0.97396 ±0.00737, br=14.64844\n",
"signal_amplitude=0.00068: ser=0.94792 ±0.01949, br=29.29688\n",
"signal_amplitude=0.00100: ser=0.78125 ±0.02552, br=123.04688\n",
"signal_amplitude=0.00147: ser=0.28646 ±0.03683, br=401.36719\n",
- "signal_amplitude=0.00316: ser=0.00521 ±0.00737, br=559.57031\n",
"signal_amplitude=0.00215: ser=0.06250 ±0.03375, br=527.34375\n",
- "signal_amplitude=0.00015: ser=0.97917 ±0.01473, br=7.03125\n",
+ "signal_amplitude=0.00316: ser=0.00521 ±0.00737, br=559.57031\n",
"signal_amplitude=0.00010: ser=0.98958 ±0.00737, br=3.51562\n",
+ "signal_amplitude=0.00015: ser=0.97917 ±0.01473, br=7.03125\n",
"signal_amplitude=0.00022: ser=0.98438 ±0.00000, br=5.27344\n",
"signal_amplitude=0.00032: ser=0.98438 ±0.00000, br=5.27344\n",
- "signal_amplitude=0.00068: ser=0.68229 ±0.09051, br=107.22656\n",
"signal_amplitude=0.00046: ser=0.97917 ±0.01949, br=7.03125\n",
+ "signal_amplitude=0.00068: ser=0.68229 ±0.09051, br=107.22656\n",
"signal_amplitude=0.00100: ser=0.15104 ±0.05156, br=286.52344\n",
"signal_amplitude=0.00147: ser=0.01562 ±0.00000, br=332.22656\n",
"signal_amplitude=0.00215: ser=0.01562 ±0.00000, br=332.22656\n",
@@ -534,10 +518,10 @@
{
"data": {
"text/plain": [
- "<matplotlib.legend.Legend at 0x7fe66e0d1be0>"
+ "<matplotlib.legend.Legend at 0x7275bfe3b490>"
]
},
- "execution_count": 19,
+ "execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
@@ -610,21 +594,13 @@
},
{
"cell_type": "code",
- "execution_count": 220,
+ "execution_count": 29,
"metadata": {},
"outputs": [
{
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "<ipython-input-220-44ad44d9c4c6>:1: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).\n",
- " fig, ax = plt.subplots(figsize=(12, 9))\n"
- ]
- },
- {
"data": {
"application/vnd.jupyter.widget-view+json": {
- "model_id": "f63ab2c387f948b29d992a3edd04f4fa",
+ "model_id": "3e654922b013420d83e47b27c43e18dc",
"version_major": 2,
"version_minor": 0
},
@@ -638,10 +614,10 @@
{
"data": {
"text/plain": [
- "<matplotlib.legend.Legend at 0x7f00ecacf3a0>"
+ "<matplotlib.legend.Legend at 0x7275bd43da50>"
]
},
- "execution_count": 220,
+ "execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
@@ -674,21 +650,13 @@
},
{
"cell_type": "code",
- "execution_count": 218,
+ "execution_count": 30,
"metadata": {},
"outputs": [
{
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "<ipython-input-218-eb5258414ca6>:1: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).\n",
- " fig, ((ax, cbar_ax), (intercept_ax, empty)) = plt.subplots(2, 2, figsize=(12, 9), gridspec_kw={'width_ratios': [1, 0.05]})\n"
- ]
- },
- {
"data": {
"application/vnd.jupyter.widget-view+json": {
- "model_id": "6651827b5eca4a0ba46effefd605f06c",
+ "model_id": "23d3975515a0462e94a01e7b3c5dd1a6",
"version_major": 2,
"version_minor": 0
},
@@ -703,95 +671,15 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n",
- " return _methods._mean(a, axis=axis, dtype=dtype,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n",
- " ret = ret.dtype.type(ret / rcount)\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n",
- " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n",
- " arrmean = um.true_divide(\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n",
- " ret = ret.dtype.type(ret / rcount)\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n",
- " return _methods._mean(a, axis=axis, dtype=dtype,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n",
- " ret = ret.dtype.type(ret / rcount)\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n",
- " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n",
- " arrmean = um.true_divide(\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n",
- " ret = ret.dtype.type(ret / rcount)\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n",
- " return _methods._mean(a, axis=axis, dtype=dtype,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n",
- " ret = ret.dtype.type(ret / rcount)\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n",
- " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n",
- " arrmean = um.true_divide(\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n",
- " ret = ret.dtype.type(ret / rcount)\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n",
- " return _methods._mean(a, axis=axis, dtype=dtype,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n",
- " ret = ret.dtype.type(ret / rcount)\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n",
- " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n",
- " arrmean = um.true_divide(\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n",
+ "/usr/lib64/python3.7/site-packages/numpy/core/fromnumeric.py:3118: RuntimeWarning: Mean of empty slice.\n",
+ " out=out, **kwargs)\n",
+ "/usr/lib64/python3.7/site-packages/numpy/core/_methods.py:85: RuntimeWarning: invalid value encountered in double_scalars\n",
" ret = ret.dtype.type(ret / rcount)\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n",
- " return _methods._mean(a, axis=axis, dtype=dtype,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n",
- " ret = ret.dtype.type(ret / rcount)\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n",
- " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n",
- " arrmean = um.true_divide(\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n",
- " ret = ret.dtype.type(ret / rcount)\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n",
- " return _methods._mean(a, axis=axis, dtype=dtype,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n",
- " ret = ret.dtype.type(ret / rcount)\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n",
- " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n",
- " arrmean = um.true_divide(\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n",
- " ret = ret.dtype.type(ret / rcount)\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n",
- " return _methods._mean(a, axis=axis, dtype=dtype,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n",
- " ret = ret.dtype.type(ret / rcount)\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n",
- " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n",
- " arrmean = um.true_divide(\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n",
- " ret = ret.dtype.type(ret / rcount)\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n",
- " return _methods._mean(a, axis=axis, dtype=dtype,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n",
- " ret = ret.dtype.type(ret / rcount)\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n",
- " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n",
- " arrmean = um.true_divide(\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n",
- " ret = ret.dtype.type(ret / rcount)\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n",
- " return _methods._mean(a, axis=axis, dtype=dtype,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n",
- " ret = ret.dtype.type(ret / rcount)\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n",
- " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n",
- " arrmean = um.true_divide(\n",
- "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n",
+ "/usr/lib64/python3.7/site-packages/numpy/core/_methods.py:140: RuntimeWarning: Degrees of freedom <= 0 for slice\n",
+ " keepdims=keepdims)\n",
+ "/usr/lib64/python3.7/site-packages/numpy/core/_methods.py:110: RuntimeWarning: invalid value encountered in true_divide\n",
+ " arrmean, rcount, out=arrmean, casting='unsafe', subok=False)\n",
+ "/usr/lib64/python3.7/site-packages/numpy/core/_methods.py:132: RuntimeWarning: invalid value encountered in double_scalars\n",
" ret = ret.dtype.type(ret / rcount)\n"
]
}
@@ -892,7 +780,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
@@ -901,21 +789,13 @@
},
{
"cell_type": "code",
- "execution_count": 268,
+ "execution_count": 44,
"metadata": {},
"outputs": [
{
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "<ipython-input-268-fd9510d5c128>:1: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).\n",
- " fig, ((ax, cbar_ax), (intercept_ax, empty)) = plt.subplots(2, 2, figsize=(12, 9), gridspec_kw={'width_ratios': [1, 0.05], 'hspace': 0.4})\n"
- ]
- },
- {
"data": {
"application/vnd.jupyter.widget-view+json": {
- "model_id": "be4678ec02394b81b8aee83c759e1009",
+ "model_id": "62259928c3a24739a4b03c9b9a83859a",
"version_major": 2,
"version_minor": 0
},
@@ -930,8 +810,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "<ipython-input-268-fd9510d5c128>:17: RuntimeWarning: divide by zero encountered in log10\n",
- " cm_func = lambda x: cmap(np.log10(x - min(decimations)) / (np.log10(max(decimations)) - np.log10(min(decimations))))\n"
+ "/usr/lib/python3.7/site-packages/ipykernel_launcher.py:20: RuntimeWarning: divide by zero encountered in log10\n"
]
}
],
@@ -943,19 +822,24 @@
"results = []\n",
"\n",
"for fn in [\n",
- " 'data/dsss_experiments_res-2020-02-20-14-10-13.json',\n",
- " 'data/dsss_experiments_res-2020-02-20-13-21-57.json',\n",
- " 'data/dsss_experiments_res-2020-02-20-13-23-47.json',\n",
+ "# 'data/dsss_experiments_res-2020-02-20-14-10-13.json',\n",
+ "# 'data/dsss_experiments_res-2020-02-20-13-21-57.json',\n",
+ "# 'data/dsss_experiments_res-2020-02-20-13-23-47.json',\n",
+ " 'data/dsss_experiments_res-2020-02-20-19-51-21.json',\n",
+ " 'data/dsss_experiments_res-2020-02-20-20-43-32.json',\n",
+ " 'data/dsss_experiments_res-2020-02-20-21-36-42.json',\n",
"]:\n",
" with open(fn, 'r') as f:\n",
" results += json.load(f)\n",
"\n",
- "decimations = [decimation for (_nbits, thf, _reps, _points, _duration, decimation), series in results]\n",
+ "decimations = [decimation for (_nbits, thf, _reps, _points, _duration, decimation), series in results if decimation > 0]\n",
"cmap = matplotlib.cm.viridis\n",
"cm_func = lambda x: cmap(np.log10(x - min(decimations)) / (np.log10(max(decimations)) - np.log10(min(decimations))))\n",
"\n",
"decimation_sers = {}\n",
"for (nbits, thf, reps, points, duration, decimation), series in results:\n",
+ " if not decimation > 0:\n",
+ " continue\n",
" data = [ [ mean for mean, _std, _msg in reps if mean is not None ] for _amp, reps in series ]\n",
" amps = [ amp for amp, _reps in series ]\n",
" sers = np.array([ np.mean(values) for values in data ])\n",
@@ -971,16 +855,18 @@
"ax.set_ylabel('Symbol error rate')\n",
"\n",
"norm = matplotlib.colors.Normalize(vmin=np.log10(min(decimations)), vmax=np.log10(max(decimations)))\n",
- "yticks = [np.log10(d) for d in decimations]\n",
+ "tick_decs = sorted(decimations)\n",
+ "tick_decs = tick_decs[:4] + tick_decs[5::5]\n",
+ "yticks = [np.log10(d) for d in tick_decs]\n",
"cb1 = matplotlib.colorbar.ColorbarBase(cbar_ax, cmap=cmap, norm=norm, orientation='vertical', ticks=yticks)\n",
"cb1t = cbar_ax.twinx()\n",
"cb1t.set_ylim(cbar_ax.get_ylim())\n",
"cb1t.set_yticks(yticks)\n",
"\n",
- "cbar_ax.set_yticklabels([f'{d/sampling_rate:.1f}' for d in decimations])\n",
+ "cbar_ax.set_yticklabels([f'{d/sampling_rate:.1f}' for d in tick_decs])\n",
"cbar_ax.set_ylabel(\"chip duration [s]\", labelpad=-70)\n",
"\n",
- "cb1t.set_yticklabels([f'{d/sampling_rate * 2**nbits:.1f}' for d in decimations])\n",
+ "cb1t.set_yticklabels([f'{d/sampling_rate * 2**nbits:.1f}' for d in tick_decs])\n",
"cb1t.set_ylabel(\"symbol duration [s]\")\n",
"\n",
"\n",
@@ -1044,7 +930,7 @@
},
{
"cell_type": "code",
- "execution_count": 227,
+ "execution_count": 33,
"metadata": {},
"outputs": [
{
@@ -1053,7 +939,7 @@
"41.6"
]
},
- "execution_count": 227,
+ "execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
@@ -1065,9 +951,9 @@
],
"metadata": {
"kernelspec": {
- "display_name": "labenv",
+ "display_name": "winlabenv",
"language": "python",
- "name": "labenv"
+ "name": "winlabenv"
},
"language_info": {
"codemirror_mode": {
@@ -1079,7 +965,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.8.1"
+ "version": "3.7.6"
}
},
"nbformat": 4,