aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--flowgraphs/data/qpsk_channel.datbin0 -> 7314088 bytes
-rw-r--r--flowgraphs/data/qpsk_equalized.datbin0 -> 1828184 bytes
-rw-r--r--flowgraphs/data/qpsk_locked.datbin0 -> 1828152 bytes
-rw-r--r--flowgraphs/data/qpsk_sync.datbin0 -> 1828184 bytes
-rw-r--r--flowgraphs/qpsk_sim.grc82
-rwxr-xr-xflowgraphs/qpsk_sim.py12
6 files changed, 91 insertions, 3 deletions
diff --git a/flowgraphs/data/qpsk_channel.dat b/flowgraphs/data/qpsk_channel.dat
new file mode 100644
index 0000000..dc3b07a
--- /dev/null
+++ b/flowgraphs/data/qpsk_channel.dat
Binary files differ
diff --git a/flowgraphs/data/qpsk_equalized.dat b/flowgraphs/data/qpsk_equalized.dat
new file mode 100644
index 0000000..e528638
--- /dev/null
+++ b/flowgraphs/data/qpsk_equalized.dat
Binary files differ
diff --git a/flowgraphs/data/qpsk_locked.dat b/flowgraphs/data/qpsk_locked.dat
new file mode 100644
index 0000000..1d2484e
--- /dev/null
+++ b/flowgraphs/data/qpsk_locked.dat
Binary files differ
diff --git a/flowgraphs/data/qpsk_sync.dat b/flowgraphs/data/qpsk_sync.dat
new file mode 100644
index 0000000..1426578
--- /dev/null
+++ b/flowgraphs/data/qpsk_sync.dat
Binary files differ
diff --git a/flowgraphs/qpsk_sim.grc b/flowgraphs/qpsk_sim.grc
index ea9518b..850743d 100644
--- a/flowgraphs/qpsk_sim.grc
+++ b/flowgraphs/qpsk_sim.grc
@@ -148,7 +148,7 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [432, 1156.0]
+ coordinate: [256, 1228.0]
rotation: 0
state: true
- name: samp_rate
@@ -221,7 +221,7 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [1000, 692.0]
+ coordinate: [1000, 684.0]
rotation: 0
state: disabled
- name: blocks_complex_to_mag_0
@@ -240,6 +240,78 @@ blocks:
coordinate: [1064, 1080.0]
rotation: 0
state: enabled
+- name: blocks_file_sink_0
+ id: blocks_file_sink
+ parameters:
+ affinity: ''
+ alias: ''
+ append: 'False'
+ comment: ''
+ file: data/qpsk_channel.dat
+ type: complex
+ unbuffered: 'False'
+ vlen: '1'
+ states:
+ bus_sink: false
+ bus_source: false
+ bus_structure: null
+ coordinate: [992, 524.0]
+ rotation: 0
+ state: disabled
+- name: blocks_file_sink_1
+ id: blocks_file_sink
+ parameters:
+ affinity: ''
+ alias: ''
+ append: 'False'
+ comment: ''
+ file: data/qpsk_locked.dat
+ type: complex
+ unbuffered: 'False'
+ vlen: '1'
+ states:
+ bus_sink: false
+ bus_source: false
+ bus_structure: null
+ coordinate: [1280, 820.0]
+ rotation: 0
+ state: disabled
+- name: blocks_file_sink_2
+ id: blocks_file_sink
+ parameters:
+ affinity: ''
+ alias: ''
+ append: 'False'
+ comment: ''
+ file: data/qpsk_sync.dat
+ type: complex
+ unbuffered: 'False'
+ vlen: '1'
+ states:
+ bus_sink: false
+ bus_source: false
+ bus_structure: null
+ coordinate: [528, 1084.0]
+ rotation: 0
+ state: disabled
+- name: blocks_file_sink_3
+ id: blocks_file_sink
+ parameters:
+ affinity: ''
+ alias: ''
+ append: 'False'
+ comment: ''
+ file: data/qpsk_equalized.dat
+ type: complex
+ unbuffered: 'False'
+ vlen: '1'
+ states:
+ bus_sink: false
+ bus_source: false
+ bus_structure: null
+ coordinate: [768, 828.0]
+ rotation: 0
+ state: disabled
- name: blocks_null_source_0
id: blocks_null_source
parameters:
@@ -784,7 +856,7 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [552, 852.0]
+ coordinate: [536, 852.0]
rotation: 0
state: disabled
- name: qtgui_time_sink_x_0
@@ -978,20 +1050,24 @@ connections:
- [blocks_vector_source_x_0, '0', blocks_stream_mux_0, '0']
- [channels_channel_model_0, '0', channels_selective_fading_model_0, '0']
- [channels_channel_model_0, '0', fadingui_multipath_fading_0, '0']
+- [channels_selective_fading_model_0, '0', blocks_file_sink_0, '0']
- [channels_selective_fading_model_0, '0', fadingui_netsink_0, '0']
- [channels_selective_fading_model_0, '0', virtual_sink_1, '0']
+- [digital_cma_equalizer_cc_0, '0', blocks_file_sink_3, '0']
- [digital_cma_equalizer_cc_0, '0', digital_corr_est_cc_0, '0']
- [digital_cma_equalizer_cc_0, '0', fadingui_netsink_1, '0']
- [digital_constellation_decoder_cb_0, '0', blocks_tagged_stream_align_0, '0']
- [digital_constellation_modulator_0, '0', blocks_throttle_0, '0']
- [digital_corr_est_cc_0, '0', fadingui_phasecorrection_0, '0']
- [digital_corr_est_cc_0, '1', blocks_complex_to_mag_0, '0']
+- [digital_pfb_clock_sync_xxx_0, '0', blocks_file_sink_2, '0']
- [digital_pfb_clock_sync_xxx_0, '0', digital_cma_equalizer_cc_0, '0']
- [digital_pfb_clock_sync_xxx_0, '0', fadingui_netsink_4, '0']
- [digital_pfb_clock_sync_xxx_0, '0', qtgui_const_sink_x_0, '0']
- [fadingui_datasource_0, '0', digital_constellation_modulator_0, '0']
- [fadingui_multipath_fading_0, '0', fadingui_netsink_0, '0']
- [fadingui_multipath_fading_0, '0', virtual_sink_1, '0']
+- [fadingui_phasecorrection_0, '0', blocks_file_sink_1, '0']
- [fadingui_phasecorrection_0, '0', fadingui_netsink_3, '0']
- [fadingui_phasecorrection_0, '0', virtual_sink_2, '0']
- [virtual_source_0, '0', digital_constellation_decoder_cb_0, '0']
diff --git a/flowgraphs/qpsk_sim.py b/flowgraphs/qpsk_sim.py
index cb9315b..6c3bdd1 100755
--- a/flowgraphs/qpsk_sim.py
+++ b/flowgraphs/qpsk_sim.py
@@ -79,6 +79,14 @@ class qpsk_sim(gr.top_block):
self.blocks_stream_to_vector_0 = blocks.stream_to_vector(gr.sizeof_char*1, frame_len)
self.blocks_stream_mux_0 = blocks.stream_mux(gr.sizeof_char*1, [len(testvec), 4])
self.blocks_repack_bits_bb_0 = blocks.repack_bits_bb(2, 8, "", False, gr.GR_LSB_FIRST)
+ self.blocks_file_sink_3 = blocks.file_sink(gr.sizeof_gr_complex*1, 'data/qpsk_equalized.dat', False)
+ self.blocks_file_sink_3.set_unbuffered(False)
+ self.blocks_file_sink_2 = blocks.file_sink(gr.sizeof_gr_complex*1, 'data/qpsk_sync.dat', False)
+ self.blocks_file_sink_2.set_unbuffered(False)
+ self.blocks_file_sink_1 = blocks.file_sink(gr.sizeof_gr_complex*1, 'data/qpsk_locked.dat', False)
+ self.blocks_file_sink_1.set_unbuffered(False)
+ self.blocks_file_sink_0 = blocks.file_sink(gr.sizeof_gr_complex*1, 'data/qpsk_channel.dat', False)
+ self.blocks_file_sink_0.set_unbuffered(False)
self.blocks_complex_to_mag_0 = blocks.complex_to_mag(1)
self.analog_random_source_x_0 = blocks.vector_source_b(list(map(int, numpy.random.randint(0, 255, 400))), True)
@@ -96,16 +104,20 @@ class qpsk_sim(gr.top_block):
self.connect((self.blocks_throttle_0, 0), (self.channels_channel_model_0, 0))
self.connect((self.blocks_vector_source_x_0, 0), (self.blocks_stream_mux_0, 0))
self.connect((self.channels_channel_model_0, 0), (self.channels_selective_fading_model_0, 0))
+ self.connect((self.channels_selective_fading_model_0, 0), (self.blocks_file_sink_0, 0))
self.connect((self.channels_selective_fading_model_0, 0), (self.digital_pfb_clock_sync_xxx_0, 0))
self.connect((self.channels_selective_fading_model_0, 0), (self.fadingui_netsink_0, 0))
+ self.connect((self.digital_cma_equalizer_cc_0, 0), (self.blocks_file_sink_3, 0))
self.connect((self.digital_cma_equalizer_cc_0, 0), (self.digital_corr_est_cc_0, 0))
self.connect((self.digital_cma_equalizer_cc_0, 0), (self.fadingui_netsink_1, 0))
self.connect((self.digital_constellation_decoder_cb_0, 0), (self.blocks_tagged_stream_align_0, 0))
self.connect((self.digital_constellation_modulator_0, 0), (self.blocks_throttle_0, 0))
self.connect((self.digital_corr_est_cc_0, 1), (self.blocks_complex_to_mag_0, 0))
self.connect((self.digital_corr_est_cc_0, 0), (self.fadingui_phasecorrection_0, 0))
+ self.connect((self.digital_pfb_clock_sync_xxx_0, 0), (self.blocks_file_sink_2, 0))
self.connect((self.digital_pfb_clock_sync_xxx_0, 0), (self.digital_cma_equalizer_cc_0, 0))
self.connect((self.digital_pfb_clock_sync_xxx_0, 0), (self.fadingui_netsink_4, 0))
+ self.connect((self.fadingui_phasecorrection_0, 0), (self.blocks_file_sink_1, 0))
self.connect((self.fadingui_phasecorrection_0, 0), (self.digital_constellation_decoder_cb_0, 0))
self.connect((self.fadingui_phasecorrection_0, 0), (self.fadingui_netsink_3, 0))