diff options
author | sara <sara.halter@gmx.ch> | 2021-12-11 19:00:34 +0100 |
---|---|---|
committer | sara <sara.halter@gmx.ch> | 2021-12-11 19:00:34 +0100 |
commit | 964778b423b722fa9777d59dcf58612a2b59b855 (patch) | |
tree | ccc5fcb07225c0e97380c6a84e5a3fe3d34c3469 /src | |
parent | Hardware file angepasst (diff) | |
download | Fading-964778b423b722fa9777d59dcf58612a2b59b855.tar.gz Fading-964778b423b722fa9777d59dcf58612a2b59b855.zip |
Corrections for QPSK on hardware
Diffstat (limited to '')
-rw-r--r-- | src/gr-fadingui/python/ber.py | 14 | ||||
-rw-r--r-- | src/gr-fadingui/python/phasecorrection.py | 5 |
2 files changed, 11 insertions, 8 deletions
diff --git a/src/gr-fadingui/python/ber.py b/src/gr-fadingui/python/ber.py index e966f17..5b71f35 100644 --- a/src/gr-fadingui/python/ber.py +++ b/src/gr-fadingui/python/ber.py @@ -26,6 +26,8 @@ from gnuradio import gr from fadingui.logger import get_logger log = get_logger("ber") +np.set_printoptions(formatter={'int': hex}) + class ber(gr.sync_block): """ docstring for block ber @@ -41,18 +43,16 @@ class ber(gr.sync_block): def work(self, input_items, output_items): inp = input_items[0] - ber_tot = 0 log.debug(f"Length: {len(inp)}") log.debug(f"Inp_vector:{inp}") for i in inp: - log.debug(f"In Schlaufe{i}") - v = np.array(self.vgl, dtype=np.uint8)^np.array(i, dtype=np.uint8) + i = np.array(i, dtype=np.uint8) + v = np.array(self.vgl, dtype=np.uint8) ^ i ber = sum(np.unpackbits(v)) - log.debug(f"BER {ber} in Paket {i}") - ber_tot+=ber - log.debug(f"BER Total{ber_tot}") - + + trueber = ber - 32 + log.debug(f"BER {trueber if trueber > 0 else 0} in Paket {i}") return len(input_items[0]) diff --git a/src/gr-fadingui/python/phasecorrection.py b/src/gr-fadingui/python/phasecorrection.py index cd3fa37..9acf563 100644 --- a/src/gr-fadingui/python/phasecorrection.py +++ b/src/gr-fadingui/python/phasecorrection.py @@ -68,12 +68,15 @@ class phasecorrection(gr.sync_block): phasediff = (ephase - sphase) % (2 * np.pi) freq = phasediff / nsamples + if freq < 1e-3: + freq = 0 + # save this one for the last block (see variable `end' in self.work) self.lastfreq = freq # debugging log.debug(f"Correction for chunk of {nsamples:2d} samples is " \ - f"sphase={sphase: .4f} rad and freq={freq*1e3: .4f}e-3 rad / sample") + f"sphase={sphase: .4f} rad, ephase={ephase: .4f} rad and freq={freq*1e3: .4f}e-3 rad / sample") self.lastnsamples = nsamples # compute chunk values |