aboutsummaryrefslogtreecommitdiffstats
path: root/doc/thesis/figures/data/qpsk_sim_constellations_dynamic.py
diff options
context:
space:
mode:
Diffstat (limited to 'doc/thesis/figures/data/qpsk_sim_constellations_dynamic.py')
-rw-r--r--doc/thesis/figures/data/qpsk_sim_constellations_dynamic.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/doc/thesis/figures/data/qpsk_sim_constellations_dynamic.py b/doc/thesis/figures/data/qpsk_sim_constellations_dynamic.py
new file mode 100644
index 0000000..7e23125
--- /dev/null
+++ b/doc/thesis/figures/data/qpsk_sim_constellations_dynamic.py
@@ -0,0 +1,32 @@
+#!/usr/bin/env python3
+
+import os
+import numpy as np
+
+DATA_DIR = "./figures/data/flowgraphs"
+SPS = 4
+
+channel = np.fromfile(f"{DATA_DIR}/qpsk_channel_dynamic.dat", dtype=np.complex64)[::SPS]
+sync = np.fromfile(f"{DATA_DIR}/qpsk_sync_dynamic.dat", dtype=np.complex64)
+equalized = np.fromfile(f"{DATA_DIR}/qpsk_equalized_dynamic.dat", dtype=np.complex64)
+locked = np.fromfile(f"{DATA_DIR}/qpsk_locked_dynamic.dat", dtype=np.complex64)
+
+samples = [channel, sync, equalized, locked]
+
+# print(list(map(len, samples)))
+
+start = 67.8e3
+end = start + 200
+
+get_range = lambda arr: arr[int(start):int(end)]
+get_parts = lambda v: (np.real(v), np.imag(v))
+
+values = map(get_range, samples)
+parts = [p for v in map(get_parts, values) for p in v]
+data = np.array(list(zip(*parts)))
+
+# save to file
+location = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__)))
+name, _ = os.path.splitext(os.path.basename(__file__))
+filename = os.path.join(location, name + ".dat")
+np.savetxt(filename, data, fmt='%.6e')