diff options
-rw-r--r-- | flowgraphs/data/qpsk_channel.dat | bin | 0 -> 7314088 bytes | |||
-rw-r--r-- | flowgraphs/data/qpsk_equalized.dat | bin | 0 -> 1828184 bytes | |||
-rw-r--r-- | flowgraphs/data/qpsk_locked.dat | bin | 0 -> 1828152 bytes | |||
-rw-r--r-- | flowgraphs/data/qpsk_sync.dat | bin | 0 -> 1828184 bytes | |||
-rw-r--r-- | flowgraphs/qpsk_sim.grc | 82 | ||||
-rwxr-xr-x | flowgraphs/qpsk_sim.py | 12 |
6 files changed, 91 insertions, 3 deletions
diff --git a/flowgraphs/data/qpsk_channel.dat b/flowgraphs/data/qpsk_channel.dat Binary files differnew file mode 100644 index 0000000..dc3b07a --- /dev/null +++ b/flowgraphs/data/qpsk_channel.dat diff --git a/flowgraphs/data/qpsk_equalized.dat b/flowgraphs/data/qpsk_equalized.dat Binary files differnew file mode 100644 index 0000000..e528638 --- /dev/null +++ b/flowgraphs/data/qpsk_equalized.dat diff --git a/flowgraphs/data/qpsk_locked.dat b/flowgraphs/data/qpsk_locked.dat Binary files differnew file mode 100644 index 0000000..1d2484e --- /dev/null +++ b/flowgraphs/data/qpsk_locked.dat diff --git a/flowgraphs/data/qpsk_sync.dat b/flowgraphs/data/qpsk_sync.dat Binary files differnew file mode 100644 index 0000000..1426578 --- /dev/null +++ b/flowgraphs/data/qpsk_sync.dat 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)) |