summaryrefslogtreecommitdiffstats
path: root/gui/dpd/Capture.py
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2018-11-28 09:38:05 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2018-11-28 09:38:05 +0100
commitee435c029eac59e0399dc3ae765cc74d66b9442e (patch)
treecdd01efdb5f137a924559dcfbe55833247fc1493 /gui/dpd/Capture.py
parent64898e72aacd26d1dfb3b925fab571d658ad5af4 (diff)
downloaddabmod-ee435c029eac59e0399dc3ae765cc74d66b9442e.tar.gz
dabmod-ee435c029eac59e0399dc3ae765cc74d66b9442e.tar.bz2
dabmod-ee435c029eac59e0399dc3ae765cc74d66b9442e.zip
GUI: Use cherry bus to communicate internally
Diffstat (limited to 'gui/dpd/Capture.py')
-rw-r--r--gui/dpd/Capture.py30
1 files changed, 29 insertions, 1 deletions
diff --git a/gui/dpd/Capture.py b/gui/dpd/Capture.py
index de428cb..e2ac63d 100644
--- a/gui/dpd/Capture.py
+++ b/gui/dpd/Capture.py
@@ -29,6 +29,10 @@ import os
import logging
import numpy as np
from scipy import signal
+import matplotlib
+matplotlib.use('Agg')
+import matplotlib.pyplot as plt
+import io
from . import Align as sa
@@ -77,10 +81,11 @@ class Capture:
self.binning_n_bins = 64 # Number of bins between binning_start and binning_end
self.binning_n_per_bin = 128 # Number of measurements pre bin
- self.target_median = 0.01
+ self.target_median = 0.05
self.median_max = self.target_median * 1.4
self.median_min = self.target_median / 1.4
+ # axis 0: bins
# axis 1: 0=tx, 1=rx
self.accumulated_bins = [np.zeros((0, 2), dtype=np.complex64) for i in range(self.binning_n_bins)]
@@ -179,6 +184,29 @@ class Capture:
def bin_histogram(self):
return [b.shape[0] for b in self.accumulated_bins]
+ def pointcloud_png(self):
+ fig = plt.figure()
+ ax = plt.subplot(1, 1, 1)
+ for b in self.accumulated_bins:
+ if b:
+ ax.scatter(
+ np.abs(b[0]),
+ np.abs(b[1]),
+ s=0.1,
+ color="black")
+ ax.set_title("Captured and Binned Samples")
+ ax.set_xlabel("TX Amplitude")
+ ax.set_ylabel("RX Amplitude")
+ ax.set_ylim(0, 0.8)
+ ax.set_xlim(0, 1.1)
+ ax.legend(loc=4)
+ fig.tight_layout()
+ buf = io.BytesIO()
+ fig.savefig(buf)
+ plt.close(fig)
+
+ return buf.getvalue()
+
def _bin_and_accumulate(self, txframe, rxframe):
"""Bin the samples and extend the accumulated samples"""