diff options
author | andreas128 <Andreas> | 2017-04-02 10:46:49 +0100 |
---|---|---|
committer | andreas128 <Andreas> | 2017-04-02 10:46:49 +0100 |
commit | 2aa99f6275e2530a8dd4d3be270e9d7a3633cd66 (patch) | |
tree | 9bb6c05b6e17e3c00c4d68660cb47f846c4d66ba | |
parent | 3ee39e3ae187e76b252b5758c12bd35e5707e187 (diff) | |
download | ODR-StaticPrecorrection-2aa99f6275e2530a8dd4d3be270e9d7a3633cd66.tar.gz ODR-StaticPrecorrection-2aa99f6275e2530a8dd4d3be270e9d7a3633cd66.tar.bz2 ODR-StaticPrecorrection-2aa99f6275e2530a8dd4d3be270e9d7a3633cd66.zip |
Add two tone and mer measure
-rw-r--r-- | README | 5 | ||||
-rw-r--r-- | grc/live_analyse_dab_poly.grc | 134 | ||||
-rwxr-xr-x | grc/live_analyse_dab_poly.py | 76 | ||||
-rw-r--r-- | grc/live_analyse_two_tone.grc | 365 | ||||
-rw-r--r-- | grc/parallel_measurement.grc | 351 | ||||
-rw-r--r-- | grc/parallel_measurement_mer.grc | 3767 | ||||
-rw-r--r-- | grc/parallel_measurement_two_tone.grc | 3614 | ||||
-rw-r--r-- | receive_tcp.ipynb | 324 | ||||
-rw-r--r-- | src/ReceiveDictTcp.py | 10 | ||||
-rw-r--r-- | src/dab_tuning_lib.py | 67 | ||||
-rw-r--r-- | src/dab_util.py | 10 | ||||
-rw-r--r-- | src/tcp_sync.py | 13 | ||||
-rw-r--r-- | sync-measurement-while-sending.ipynb | 69 | ||||
-rw-r--r-- | two_tone_tuner.ipynb | 113 |
14 files changed, 8643 insertions, 275 deletions
@@ -0,0 +1,5 @@ +sync-measurement-while-sending.ipynb: +Starts the parallel_measurement gnu radio script and a server to control coefficients, txgain and rxtain. + +receive_tcp.ipynb: +Receives the measurements from sync-measurement-while-sending.ipynb and controls it's parameters. diff --git a/grc/live_analyse_dab_poly.grc b/grc/live_analyse_dab_poly.grc index cddfe6e..fed59b4 100644 --- a/grc/live_analyse_dab_poly.grc +++ b/grc/live_analyse_dab_poly.grc @@ -125,7 +125,7 @@ </param> <param> <key>start</key> - <value>-1</value> + <value>-10</value> </param> <param> <key>step</key> @@ -133,7 +133,7 @@ </param> <param> <key>stop</key> - <value>1</value> + <value>10</value> </param> <param> <key>rangeType</key> @@ -946,69 +946,6 @@ </param> </block> <block> - <key>analog_sig_source_x</key> - <param> - <key>amp</key> - <value>1</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>freq</key> - <value>shift_freq</value> - </param> - <param> - <key>_coordinate</key> - <value>(216, 160)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>analog_sig_source_x_0</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>offset</key> - <value>0</value> - </param> - <param> - <key>type</key> - <value>complex</value> - </param> - <param> - <key>samp_rate</key> - <value>samp_rate</value> - </param> - <param> - <key>waveform</key> - <value>analog.GR_COS_WAVE</value> - </param> - </block> - <block> <key>blocks_complex_to_real</key> <param> <key>alias</key> @@ -1071,7 +1008,7 @@ </param> <param> <key>file</key> - <value>/home/andreas/dab/ODR-StaticPrecorrection/input.dat</value> + <value>/home/andreas/dab/test_dat/out.iq</value> </param> <param> <key>_coordinate</key> @@ -1205,57 +1142,6 @@ </param> </block> <block> - <key>blocks_multiply_xx</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(440, 113)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_multiply_xx_0</value> - </param> - <param> - <key>type</key> - <value>complex</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>num_inputs</key> - <value>2</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - </block> - <block> <key>blocks_null_sink</key> <param> <key>alias</key> @@ -5356,12 +5242,6 @@ </param> </block> <connection> - <source_block_id>analog_sig_source_x_0</source_block_id> - <sink_block_id>blocks_multiply_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> <source_block_id>blocks_complex_to_real_0</source_block_id> <sink_block_id>qtgui_time_sink_x_0_0</sink_block_id> <source_key>0</source_key> @@ -5369,7 +5249,7 @@ </connection> <connection> <source_block_id>blocks_file_source_0</source_block_id> - <sink_block_id>blocks_multiply_xx_0</sink_block_id> + <sink_block_id>dpd_memless_poly_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> @@ -5410,12 +5290,6 @@ <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_multiply_xx_0</source_block_id> - <sink_block_id>dpd_memless_poly_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> <source_block_id>dpd_memless_poly_0</source_block_id> <sink_block_id>blocks_multiply_const_vxx_1</sink_block_id> <source_key>0</source_key> diff --git a/grc/live_analyse_dab_poly.py b/grc/live_analyse_dab_poly.py index ee6d2f4..402ef17 100755 --- a/grc/live_analyse_dab_poly.py +++ b/grc/live_analyse_dab_poly.py @@ -3,7 +3,7 @@ ################################################## # GNU Radio Python Flow Graph # Title: Live Analyse Dab Poly -# Generated: Sun Jan 29 11:34:39 2017 +# Generated: Sun Mar 26 13:22:00 2017 ################################################## if __name__ == '__main__': @@ -17,7 +17,6 @@ if __name__ == '__main__': print "Warning: failed to XInitThreads()" from PyQt4 import Qt -from gnuradio import analog from gnuradio import blocks from gnuradio import eng_notation from gnuradio import gr @@ -63,12 +62,12 @@ class live_analyse_dab_poly(gr.top_block, Qt.QWidget): ################################################## self.samp_rate = samp_rate = 8e6 self.txgain = txgain = 80 + self.shift_freq = shift_freq = 1 self.rxgain = rxgain = 10 self.freq = freq = 222e6 - self.f_2 = f_2 = 4096000 - self.f_1 = f_1 = 4096000 self.f2 = f2 = samp_rate / 3.875 self.f1 = f1 = samp_rate / 4 + self.choose_dist = choose_dist = 1 self.ampl = ampl = 0.4 self.a_8 = a_8 = 0 self.a_7 = a_7 = 0 @@ -77,7 +76,7 @@ class live_analyse_dab_poly(gr.top_block, Qt.QWidget): self.a_4 = a_4 = 0 self.a_3 = a_3 = 0 self.a_2 = a_2 = 0 - self.a_1 = a_1 = 0 + self.a_1 = a_1 = 1 ################################################## # Message Queues @@ -93,15 +92,9 @@ class live_analyse_dab_poly(gr.top_block, Qt.QWidget): self._rxgain_range = Range(0, 100, 1, 10, 200) self._rxgain_win = RangeWidget(self._rxgain_range, self.set_rxgain, "rxgain", "counter_slider", float) self.top_layout.addWidget(self._rxgain_win) - self._f_2_range = Range(1, 8000000, 1, 4096000, 200) - self._f_2_win = RangeWidget(self._f_2_range, self.set_f_2, "f_2", "counter_slider", float) - self.top_layout.addWidget(self._f_2_win) - self._f_1_range = Range(1, 8000000, 1, 4096000, 200) - self._f_1_win = RangeWidget(self._f_1_range, self.set_f_1, "f_1", "counter_slider", float) - self.top_layout.addWidget(self._f_1_win) - self._ampl_range = Range(-1, 1, 0.0001, 0.4, 200) - self._ampl_win = RangeWidget(self._ampl_range, self.set_ampl, "ampl", "counter_slider", float) - self.top_layout.addWidget(self._ampl_win) + self._choose_dist_range = Range(0, 1, 1, 1, 200) + self._choose_dist_win = RangeWidget(self._choose_dist_range, self.set_choose_dist, "a_1", "counter_slider", float) + self.top_layout.addWidget(self._choose_dist_win) self._a_8_range = Range(-1, 1, 0.001, 0, 200) self._a_8_win = RangeWidget(self._a_8_range, self.set_a_8, "a_8", "counter_slider", float) self.top_layout.addWidget(self._a_8_win) @@ -123,7 +116,7 @@ class live_analyse_dab_poly(gr.top_block, Qt.QWidget): self._a_2_range = Range(-1, 1, 0.001, 0, 200) self._a_2_win = RangeWidget(self._a_2_range, self.set_a_2, "a_2", "counter_slider", float) self.top_layout.addWidget(self._a_2_win) - self._a_1_range = Range(-1, 1, 0.001, 0, 200) + self._a_1_range = Range(-10, 10, 0.001, 1, 200) self._a_1_win = RangeWidget(self._a_1_range, self.set_a_1, "a_1", "counter_slider", float) self.top_layout.addWidget(self._a_1_win) self.uhd_usrp_source_0 = uhd.usrp_source( @@ -147,6 +140,9 @@ class live_analyse_dab_poly(gr.top_block, Qt.QWidget): self.uhd_usrp_sink_0.set_center_freq(freq, 0) self.uhd_usrp_sink_0.set_gain(txgain, 0) self.uhd_amsg_source_0 = uhd.amsg_source(device_addr="", msgq=uhd_amsg_source_0_msgq_out) + self._shift_freq_range = Range(-8000000, 8000000, 1, 1, 200) + self._shift_freq_win = RangeWidget(self._shift_freq_range, self.set_shift_freq, "shift_freq", "counter_slider", float) + self.top_layout.addWidget(self._shift_freq_win) self.qtgui_freq_sink_x_0_0 = qtgui.freq_sink_c( 16000, #size firdes.WIN_BLACKMAN_hARRIS, #wintype @@ -191,22 +187,27 @@ class live_analyse_dab_poly(gr.top_block, Qt.QWidget): self.dpd_memless_poly_0 = dpd.memless_poly(a_1, a_2, a_3, a_4, a_5, a_6, a_7, a_8) self.blocks_null_sink_0_2_0 = blocks.null_sink(gr.sizeof_gr_complex*1) self.blocks_null_sink_0_2 = blocks.null_sink(gr.sizeof_char*1) + self.blocks_multiply_const_vxx_2 = blocks.multiply_const_vcc((choose_dist, )) self.blocks_multiply_const_vxx_1 = blocks.multiply_const_vcc((1, )) - self.blocks_multiply_const_vxx_0 = blocks.multiply_const_vcc((ampl, )) + self.blocks_multiply_const_vxx_0 = blocks.multiply_const_vcc((1-choose_dist, )) self.blocks_message_burst_source_0 = blocks.message_burst_source(gr.sizeof_char*1, blocks_message_burst_source_0_msgq_in) + self.blocks_file_source_0_0 = blocks.file_source(gr.sizeof_gr_complex*1, "/home/andreas/dab/test_dat/out.iq", True) + self.blocks_file_source_0 = blocks.file_source(gr.sizeof_gr_complex*1, "/home/andreas/dab/test_dat_dist/out.iq", True) self.blocks_add_xx_0 = blocks.add_vcc(1) - self.analog_sig_source_x_1 = analog.sig_source_c(samp_rate, analog.GR_COS_WAVE, f_1, 0.45, 0) - self.analog_sig_source_x_0 = analog.sig_source_c(samp_rate, analog.GR_COS_WAVE, f_2, 0.45, 0) + self._ampl_range = Range(-1, 1, 0.0001, 0.4, 200) + self._ampl_win = RangeWidget(self._ampl_range, self.set_ampl, "ampl", "counter_slider", float) + self.top_layout.addWidget(self._ampl_win) ################################################## # Connections ################################################## - self.connect((self.analog_sig_source_x_0, 0), (self.blocks_add_xx_0, 1)) - self.connect((self.analog_sig_source_x_1, 0), (self.blocks_add_xx_0, 0)) - self.connect((self.blocks_add_xx_0, 0), (self.blocks_multiply_const_vxx_0, 0)) + self.connect((self.blocks_add_xx_0, 0), (self.dpd_memless_poly_0, 0)) + self.connect((self.blocks_file_source_0, 0), (self.blocks_multiply_const_vxx_2, 0)) + self.connect((self.blocks_file_source_0_0, 0), (self.blocks_multiply_const_vxx_0, 0)) self.connect((self.blocks_message_burst_source_0, 0), (self.blocks_null_sink_0_2, 0)) - self.connect((self.blocks_multiply_const_vxx_0, 0), (self.dpd_memless_poly_0, 0)) + self.connect((self.blocks_multiply_const_vxx_0, 0), (self.blocks_add_xx_0, 1)) self.connect((self.blocks_multiply_const_vxx_1, 0), (self.uhd_usrp_sink_0, 0)) + self.connect((self.blocks_multiply_const_vxx_2, 0), (self.blocks_add_xx_0, 0)) self.connect((self.dpd_memless_poly_0, 0), (self.blocks_multiply_const_vxx_1, 0)) self.connect((self.uhd_usrp_source_0, 0), (self.blocks_null_sink_0_2_0, 0)) self.connect((self.uhd_usrp_source_0, 0), (self.qtgui_freq_sink_x_0_0, 0)) @@ -224,8 +225,6 @@ class live_analyse_dab_poly(gr.top_block, Qt.QWidget): self.samp_rate = samp_rate self.set_f1(self.samp_rate / 4) self.set_f2(self.samp_rate / 3.875) - self.analog_sig_source_x_0.set_sampling_freq(self.samp_rate) - self.analog_sig_source_x_1.set_sampling_freq(self.samp_rate) self.qtgui_freq_sink_x_0_0.set_frequency_range(0, self.samp_rate) self.uhd_usrp_sink_0.set_samp_rate(self.samp_rate) self.uhd_usrp_source_0.set_samp_rate(self.samp_rate) @@ -238,6 +237,12 @@ class live_analyse_dab_poly(gr.top_block, Qt.QWidget): self.uhd_usrp_sink_0.set_gain(self.txgain, 0) + def get_shift_freq(self): + return self.shift_freq + + def set_shift_freq(self, shift_freq): + self.shift_freq = shift_freq + def get_rxgain(self): return self.rxgain @@ -254,20 +259,6 @@ class live_analyse_dab_poly(gr.top_block, Qt.QWidget): self.uhd_usrp_sink_0.set_center_freq(self.freq, 0) self.uhd_usrp_source_0.set_center_freq(self.freq, 0) - def get_f_2(self): - return self.f_2 - - def set_f_2(self, f_2): - self.f_2 = f_2 - self.analog_sig_source_x_0.set_frequency(self.f_2) - - def get_f_1(self): - return self.f_1 - - def set_f_1(self, f_1): - self.f_1 = f_1 - self.analog_sig_source_x_1.set_frequency(self.f_1) - def get_f2(self): return self.f2 @@ -280,12 +271,19 @@ class live_analyse_dab_poly(gr.top_block, Qt.QWidget): def set_f1(self, f1): self.f1 = f1 + def get_choose_dist(self): + return self.choose_dist + + def set_choose_dist(self, choose_dist): + self.choose_dist = choose_dist + self.blocks_multiply_const_vxx_0.set_k((1-self.choose_dist, )) + self.blocks_multiply_const_vxx_2.set_k((self.choose_dist, )) + def get_ampl(self): return self.ampl def set_ampl(self, ampl): self.ampl = ampl - self.blocks_multiply_const_vxx_0.set_k((self.ampl, )) def get_a_8(self): return self.a_8 diff --git a/grc/live_analyse_two_tone.grc b/grc/live_analyse_two_tone.grc index 092192d..10d819c 100644 --- a/grc/live_analyse_two_tone.grc +++ b/grc/live_analyse_two_tone.grc @@ -629,7 +629,7 @@ </param> <param> <key>start</key> - <value>-1</value> + <value>-2</value> </param> <param> <key>step</key> @@ -637,7 +637,7 @@ </param> <param> <key>stop</key> - <value>1</value> + <value>2</value> </param> <param> <key>rangeType</key> @@ -687,7 +687,7 @@ </param> <param> <key>_coordinate</key> - <value>(1384, 573)</value> + <value>(1400, 613)</value> </param> <param> <key>_rotation</key> @@ -942,7 +942,7 @@ </param> <param> <key>value</key> - <value>8e6</value> + <value>8192000</value> </param> </block> <block> @@ -1028,7 +1028,7 @@ </param> <param> <key>_enabled</key> - <value>True</value> + <value>0</value> </param> <param> <key>freq</key> @@ -1091,7 +1091,7 @@ </param> <param> <key>_enabled</key> - <value>True</value> + <value>0</value> </param> <param> <key>freq</key> @@ -1150,7 +1150,7 @@ </param> <param> <key>_enabled</key> - <value>True</value> + <value>0</value> </param> <param> <key>_coordinate</key> @@ -1186,6 +1186,49 @@ </param> </block> <block> + <key>blocks_complex_to_mag</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(568, 33)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_complex_to_mag_0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> <key>blocks_complex_to_real</key> <param> <key>alias</key> @@ -1229,6 +1272,61 @@ </param> </block> <block> + <key>blocks_file_source</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>1</value> + </param> + <param> + <key>file</key> + <value>/home/andreas/dab/dab_1s_8192000_max_1_trimmed.dab</value> + </param> + <param> + <key>_coordinate</key> + <value>(272, 261)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_file_source_0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>repeat</key> + <value>True</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> <key>blocks_message_burst_source</key> <param> <key>alias</key> @@ -1295,7 +1393,7 @@ </param> <param> <key>_enabled</key> - <value>True</value> + <value>1</value> </param> <param> <key>_coordinate</key> @@ -1491,7 +1589,7 @@ </param> <param> <key>_coordinate</key> - <value>(600, 75)</value> + <value>(616, 75)</value> </param> <param> <key>_rotation</key> @@ -2460,6 +2558,237 @@ </param> </block> <block> + <key>qtgui_number_sink</key> + <param> + <key>autoscale</key> + <value>False</value> + </param> + <param> + <key>avg</key> + <value>0</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(720, 14)</value> + </param> + <param> + <key>gui_hint</key> + <value></value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>graph_type</key> + <value>qtgui.NUM_GRAPH_HORIZ</value> + </param> + <param> + <key>id</key> + <value>qtgui_number_sink_0</value> + </param> + <param> + <key>type</key> + <value>float</value> + </param> + <param> + <key>color1</key> + <value>("black", "black")</value> + </param> + <param> + <key>factor1</key> + <value>1</value> + </param> + <param> + <key>label1</key> + <value></value> + </param> + <param> + <key>unit1</key> + <value></value> + </param> + <param> + <key>color10</key> + <value>("black", "black")</value> + </param> + <param> + <key>factor10</key> + <value>1</value> + </param> + <param> + <key>label10</key> + <value></value> + </param> + <param> + <key>unit10</key> + <value></value> + </param> + <param> + <key>color2</key> + <value>("black", "black")</value> + </param> + <param> + <key>factor2</key> + <value>1</value> + </param> + <param> + <key>label2</key> + <value></value> + </param> + <param> + <key>unit2</key> + <value></value> + </param> + <param> + <key>color3</key> + <value>("black", "black")</value> + </param> + <param> + <key>factor3</key> + <value>1</value> + </param> + <param> + <key>label3</key> + <value></value> + </param> + <param> + <key>unit3</key> + <value></value> + </param> + <param> + <key>color4</key> + <value>("black", "black")</value> + </param> + <param> + <key>factor4</key> + <value>1</value> + </param> + <param> + <key>label4</key> + <value></value> + </param> + <param> + <key>unit4</key> + <value></value> + </param> + <param> + <key>color5</key> + <value>("black", "black")</value> + </param> + <param> + <key>factor5</key> + <value>1</value> + </param> + <param> + <key>label5</key> + <value></value> + </param> + <param> + <key>unit5</key> + <value></value> + </param> + <param> + <key>color6</key> + <value>("black", "black")</value> + </param> + <param> + <key>factor6</key> + <value>1</value> + </param> + <param> + <key>label6</key> + <value></value> + </param> + <param> + <key>unit6</key> + <value></value> + </param> + <param> + <key>color7</key> + <value>("black", "black")</value> + </param> + <param> + <key>factor7</key> + <value>1</value> + </param> + <param> + <key>label7</key> + <value></value> + </param> + <param> + <key>unit7</key> + <value></value> + </param> + <param> + <key>color8</key> + <value>("black", "black")</value> + </param> + <param> + <key>factor8</key> + <value>1</value> + </param> + <param> + <key>label8</key> + <value></value> + </param> + <param> + <key>unit8</key> + <value></value> + </param> + <param> + <key>color9</key> + <value>("black", "black")</value> + </param> + <param> + <key>factor9</key> + <value>1</value> + </param> + <param> + <key>label9</key> + <value></value> + </param> + <param> + <key>unit9</key> + <value></value> + </param> + <param> + <key>max</key> + <value>1</value> + </param> + <param> + <key>min</key> + <value>-1</value> + </param> + <param> + <key>name</key> + <value>""</value> + </param> + <param> + <key>nconnections</key> + <value>1</value> + </param> + <param> + <key>update_time</key> + <value>0.10</value> + </param> + </block> + <block> <key>qtgui_time_sink_x</key> <param> <key>autoscale</key> @@ -5496,12 +5825,24 @@ <sink_key>0</sink_key> </connection> <connection> + <source_block_id>blocks_complex_to_mag_0</source_block_id> + <sink_block_id>qtgui_number_sink_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> <source_block_id>blocks_complex_to_real_0</source_block_id> <sink_block_id>qtgui_time_sink_x_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> + <source_block_id>blocks_file_source_0</source_block_id> + <sink_block_id>blocks_multiply_const_vxx_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> <source_block_id>blocks_message_burst_source_0</source_block_id> <sink_block_id>blocks_null_sink_0_2</sink_block_id> <source_key>0</source_key> @@ -5509,6 +5850,12 @@ </connection> <connection> <source_block_id>blocks_multiply_const_vxx_0</source_block_id> + <sink_block_id>blocks_complex_to_mag_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_multiply_const_vxx_0</source_block_id> <sink_block_id>dpd_memless_poly_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> diff --git a/grc/parallel_measurement.grc b/grc/parallel_measurement.grc index c2f077e..df2bb85 100644 --- a/grc/parallel_measurement.grc +++ b/grc/parallel_measurement.grc @@ -30,7 +30,7 @@ </param> <param> <key>_coordinate</key> - <value>(8, 8)</value> + <value>(8, 14)</value> </param> <param> <key>_rotation</key> @@ -93,7 +93,7 @@ </param> <param> <key>_coordinate</key> - <value>(8, 229)</value> + <value>(8, 349)</value> </param> <param> <key>_rotation</key> @@ -120,7 +120,7 @@ </param> <param> <key>_coordinate</key> - <value>(8, 293)</value> + <value>(8, 413)</value> </param> <param> <key>_rotation</key> @@ -147,7 +147,7 @@ </param> <param> <key>_coordinate</key> - <value>(8, 160)</value> + <value>(8, 277)</value> </param> <param> <key>_rotation</key> @@ -159,7 +159,7 @@ </param> <param> <key>value</key> - <value>8000000</value> + <value>8192000</value> </param> </block> <block> @@ -174,7 +174,7 @@ </param> <param> <key>_coordinate</key> - <value>(8, 357)</value> + <value>(8, 477)</value> </param> <param> <key>_rotation</key> @@ -190,6 +190,132 @@ </param> </block> <block> + <key>analog_sig_source_x</key> + <param> + <key>amp</key> + <value>0.45</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>freq</key> + <value>2100000</value> + </param> + <param> + <key>_coordinate</key> + <value>(48, 672)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>analog_sig_source_x_0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>offset</key> + <value>0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>waveform</key> + <value>analog.GR_COS_WAVE</value> + </param> + </block> + <block> + <key>analog_sig_source_x</key> + <param> + <key>amp</key> + <value>0.45</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>freq</key> + <value>2000000</value> + </param> + <param> + <key>_coordinate</key> + <value>(48, 568)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>analog_sig_source_x_1</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>offset</key> + <value>0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>waveform</key> + <value>analog.GR_COS_WAVE</value> + </param> + </block> + <block> <key>blks2_tcp_sink</key> <param> <key>addr</key> @@ -213,7 +339,7 @@ </param> <param> <key>_coordinate</key> - <value>(1072, 15)</value> + <value>(1072, 135)</value> </param> <param> <key>_rotation</key> @@ -241,6 +367,57 @@ </param> </block> <block> + <key>blocks_add_xx</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>_coordinate</key> + <value>(216, 641)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_add_xx_0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>num_inputs</key> + <value>2</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> <key>blocks_delay</key> <param> <key>alias</key> @@ -264,7 +441,7 @@ </param> <param> <key>_coordinate</key> - <value>(296, 228)</value> + <value>(336, 348)</value> </param> <param> <key>_rotation</key> @@ -319,7 +496,7 @@ </param> <param> <key>_coordinate</key> - <value>(688, 124)</value> + <value>(688, 244)</value> </param> <param> <key>_rotation</key> @@ -378,7 +555,7 @@ </param> <param> <key>_coordinate</key> - <value>(808, 438)</value> + <value>(808, 558)</value> </param> <param> <key>_rotation</key> @@ -417,15 +594,15 @@ </param> <param> <key>_enabled</key> - <value>True</value> + <value>1</value> </param> <param> <key>file</key> - <value>/home/andreas/dab/test_dat/dab_5s_8000000.iq</value> + <value>/home/andreas/dab/dab_1s_8192000_max_1_trimmed.dab</value> </param> <param> <key>_coordinate</key> - <value>(104, 221)</value> + <value>(104, 213)</value> </param> <param> <key>_rotation</key> @@ -480,7 +657,7 @@ </param> <param> <key>_coordinate</key> - <value>(672, 236)</value> + <value>(672, 356)</value> </param> <param> <key>_rotation</key> @@ -508,6 +685,108 @@ </param> </block> <block> + <key>blocks_multiply_const_vxx</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>const</key> + <value>1</value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>_coordinate</key> + <value>(280, 652)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_multiply_const_vxx_0_0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>blocks_multiply_const_vxx</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>const</key> + <value>1.5</value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(200, 300)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_multiply_const_vxx_1</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> <key>blocks_null_sink</key> <param> <key>alias</key> @@ -531,7 +810,7 @@ </param> <param> <key>_coordinate</key> - <value>(880, 209)</value> + <value>(880, 329)</value> </param> <param> <key>_rotation</key> @@ -574,7 +853,7 @@ </param> <param> <key>_coordinate</key> - <value>(392, 347)</value> + <value>(432, 427)</value> </param> <param> <key>_rotation</key> @@ -653,7 +932,7 @@ </param> <param> <key>_coordinate</key> - <value>(880, 126)</value> + <value>(880, 246)</value> </param> <param> <key>_rotation</key> @@ -708,11 +987,11 @@ </param> <param> <key>frame_rate</key> - <value>5</value> + <value>20</value> </param> <param> <key>_coordinate</key> - <value>(880, 1)</value> + <value>(880, 121)</value> </param> <param> <key>_rotation</key> @@ -787,7 +1066,7 @@ </param> <param> <key>_coordinate</key> - <value>(1016, 238)</value> + <value>(1016, 358)</value> </param> <param> <key>gui_hint</key> @@ -1062,7 +1341,7 @@ </param> <param> <key>_coordinate</key> - <value>(808, 286)</value> + <value>(808, 406)</value> </param> <param> <key>gui_hint</key> @@ -2061,7 +2340,7 @@ </param> <param> <key>_coordinate</key> - <value>(472, 7)</value> + <value>(472, 127)</value> </param> <param> <key>_rotation</key> @@ -3136,7 +3415,7 @@ </param> <param> <key>_coordinate</key> - <value>(472, 110)</value> + <value>(472, 230)</value> </param> <param> <key>_rotation</key> @@ -3288,6 +3567,24 @@ </param> </block> <connection> + <source_block_id>analog_sig_source_x_0</source_block_id> + <sink_block_id>blocks_add_xx_0</sink_block_id> + <source_key>0</source_key> + <sink_key>1</sink_key> + </connection> + <connection> + <source_block_id>analog_sig_source_x_1</source_block_id> + <sink_block_id>blocks_add_xx_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_add_xx_0</source_block_id> + <sink_block_id>blocks_multiply_const_vxx_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> <source_block_id>blocks_delay_0</source_block_id> <sink_block_id>blocks_file_sink_0_0</sink_block_id> <source_key>0</source_key> @@ -3307,7 +3604,7 @@ </connection> <connection> <source_block_id>blocks_file_source_0</source_block_id> - <sink_block_id>blocks_delay_0</sink_block_id> + <sink_block_id>blocks_multiply_const_vxx_1</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> @@ -3342,6 +3639,12 @@ <sink_key>0</sink_key> </connection> <connection> + <source_block_id>blocks_multiply_const_vxx_1</source_block_id> + <sink_block_id>blocks_delay_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> <source_block_id>dpd_memless_poly_0</source_block_id> <sink_block_id>uhd_usrp_sink_0_0</sink_block_id> <source_key>0</source_key> diff --git a/grc/parallel_measurement_mer.grc b/grc/parallel_measurement_mer.grc new file mode 100644 index 0000000..68bf612 --- /dev/null +++ b/grc/parallel_measurement_mer.grc @@ -0,0 +1,3767 @@ +<?xml version='1.0' encoding='utf-8'?> +<?grc format='1' created='3.7.9'?> +<flow_graph> + <timestamp>Tue Jan 17 15:09:43 2017</timestamp> + <block> + <key>options</key> + <param> + <key>author</key> + <value></value> + </param> + <param> + <key>window_size</key> + <value></value> + </param> + <param> + <key>category</key> + <value>Custom</value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>description</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(8, 14)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>generate_options</key> + <value>no_gui</value> + </param> + <param> + <key>hier_block_src_path</key> + <value>.:</value> + </param> + <param> + <key>id</key> + <value>parallel_measurement_mer</value> + </param> + <param> + <key>max_nouts</key> + <value>0</value> + </param> + <param> + <key>qt_qss_theme</key> + <value></value> + </param> + <param> + <key>realtime_scheduling</key> + <value></value> + </param> + <param> + <key>run_command</key> + <value>{python} -u {filename}</value> + </param> + <param> + <key>run_options</key> + <value>prompt</value> + </param> + <param> + <key>run</key> + <value>True</value> + </param> + <param> + <key>thread_safe_setters</key> + <value></value> + </param> + <param> + <key>title</key> + <value></value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(8, 349)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>freq</value> + </param> + <param> + <key>value</key> + <value>222e6</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(8, 413)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>rxgain</value> + </param> + <param> + <key>value</key> + <value>10</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(8, 277)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>samp_rate</value> + </param> + <param> + <key>value</key> + <value>8192000</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(8, 477)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>txgain</value> + </param> + <param> + <key>value</key> + <value>60</value> + </param> + </block> + <block> + <key>analog_sig_source_x</key> + <param> + <key>amp</key> + <value>0.45</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>freq</key> + <value>2100000</value> + </param> + <param> + <key>_coordinate</key> + <value>(48, 672)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>analog_sig_source_x_0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>offset</key> + <value>0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>waveform</key> + <value>analog.GR_COS_WAVE</value> + </param> + </block> + <block> + <key>analog_sig_source_x</key> + <param> + <key>amp</key> + <value>0.45</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>freq</key> + <value>2000000</value> + </param> + <param> + <key>_coordinate</key> + <value>(48, 568)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>analog_sig_source_x_1</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>offset</key> + <value>0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>waveform</key> + <value>analog.GR_COS_WAVE</value> + </param> + </block> + <block> + <key>blks2_tcp_sink</key> + <param> + <key>addr</key> + <value>127.0.0.1</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>_coordinate</key> + <value>(1072, 135)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blks2_tcp_sink_0_0</value> + </param> + <param> + <key>type</key> + <value>float</value> + </param> + <param> + <key>server</key> + <value>True</value> + </param> + <param> + <key>port</key> + <value>47009</value> + </param> + <param> + <key>vlen</key> + <value>16384</value> + </param> + </block> + <block> + <key>blks2_tcp_sink</key> + <param> + <key>addr</key> + <value>127.0.0.1</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>1</value> + </param> + <param> + <key>_coordinate</key> + <value>(1104, 46)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blks2_tcp_sink_0_0_0</value> + </param> + <param> + <key>type</key> + <value>float</value> + </param> + <param> + <key>server</key> + <value>True</value> + </param> + <param> + <key>port</key> + <value>47009</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>blocks_add_xx</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>_coordinate</key> + <value>(216, 641)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_add_xx_0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>num_inputs</key> + <value>2</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>blocks_delay</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>delay</key> + <value>200000</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(336, 348)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_delay_0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>num_ports</key> + <value>1</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>blocks_delay</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>delay</key> + <value>210000</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(688, 244)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_delay_0_0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>num_ports</key> + <value>1</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>blocks_file_sink</key> + <param> + <key>append</key> + <value>False</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>file</key> + <value>/home/andreas/dab/ODR-StaticPrecorrection/output_orig.dat</value> + </param> + <param> + <key>_coordinate</key> + <value>(808, 558)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_file_sink_0_0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>unbuffered</key> + <value>False</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>blocks_file_source</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>1</value> + </param> + <param> + <key>file</key> + <value>/home/andreas/dab/dab_1s_8192000_max_1_trimmed.dab</value> + </param> + <param> + <key>_coordinate</key> + <value>(104, 213)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_file_source_0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>repeat</key> + <value>True</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>blocks_multiply_const_vxx</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>const</key> + <value>1</value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>1</value> + </param> + <param> + <key>_coordinate</key> + <value>(672, 356)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_multiply_const_vxx_0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>blocks_multiply_const_vxx</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>const</key> + <value>1</value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>_coordinate</key> + <value>(280, 652)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_multiply_const_vxx_0_0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>blocks_multiply_const_vxx</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>const</key> + <value>1.5</value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(200, 300)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_multiply_const_vxx_1</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>blocks_null_sink</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>bus_conns</key> + <value>[[0,],]</value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(880, 329)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_null_sink_0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>num_inputs</key> + <value>1</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>dpd_memless_poly</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(432, 427)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>dpd_memless_poly_0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>a1</key> + <value>1</value> + </param> + <param> + <key>a2</key> + <value>0</value> + </param> + <param> + <key>a3</key> + <value>0</value> + </param> + <param> + <key>a4</key> + <value>0</value> + </param> + <param> + <key>a5</key> + <value>0</value> + </param> + <param> + <key>a6</key> + <value>0</value> + </param> + <param> + <key>a7</key> + <value>0</value> + </param> + <param> + <key>a8</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_file_sink</key> + <param> + <key>append</key> + <value>False</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>file</key> + <value>/home/andreas/dab/ODR-StaticPrecorrection/output.dat</value> + </param> + <param> + <key>_coordinate</key> + <value>(880, 246)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>file_sink_out</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>unbuffered</key> + <value>False</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>logpwrfft_x</key> + <param> + <key>avg_alpha</key> + <value>1.0</value> + </param> + <param> + <key>average</key> + <value>False</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>fft_size</key> + <value>16384</value> + </param> + <param> + <key>frame_rate</key> + <value>20</value> + </param> + <param> + <key>_coordinate</key> + <value>(880, 121)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>logpwrfft_x_0_0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>ref_scale</key> + <value>2</value> + </param> + <param> + <key>sample_rate</key> + <value>samp_rate</value> + </param> + </block> + <block> + <key>mer_all</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(840, 65)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>mer_all_0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + </block> + <block> + <key>qtgui_freq_sink_x</key> + <param> + <key>autoscale</key> + <value>False</value> + </param> + <param> + <key>average</key> + <value>1.0</value> + </param> + <param> + <key>bw</key> + <value>samp_rate</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>fc</key> + <value>0</value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>ctrlpanel</key> + <value>False</value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>fftsize</key> + <value>16383</value> + </param> + <param> + <key>_coordinate</key> + <value>(1016, 358)</value> + </param> + <param> + <key>gui_hint</key> + <value></value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>grid</key> + <value>False</value> + </param> + <param> + <key>id</key> + <value>qtgui_freq_sink_x_0</value> + </param> + <param> + <key>legend</key> + <value>True</value> + </param> + <param> + <key>alpha1</key> + <value>1.0</value> + </param> + <param> + <key>color1</key> + <value>"blue"</value> + </param> + <param> + <key>label1</key> + <value></value> + </param> + <param> + <key>width1</key> + <value>1</value> + </param> + <param> + <key>alpha10</key> + <value>1.0</value> + </param> + <param> + <key>color10</key> + <value>"dark blue"</value> + </param> + <param> + <key>label10</key> + <value></value> + </param> + <param> + <key>width10</key> + <value>1</value> + </param> + <param> + <key>alpha2</key> + <value>1.0</value> + </param> + <param> + <key>color2</key> + <value>"red"</value> + </param> + <param> + <key>label2</key> + <value></value> + </param> + <param> + <key>width2</key> + <value>1</value> + </param> + <param> + <key>alpha3</key> + <value>1.0</value> + </param> + <param> + <key>color3</key> + <value>"green"</value> + </param> + <param> + <key>label3</key> + <value></value> + </param> + <param> + <key>width3</key> + <value>1</value> + </param> + <param> + <key>alpha4</key> + <value>1.0</value> + </param> + <param> + <key>color4</key> + <value>"black"</value> + </param> + <param> + <key>label4</key> + <value></value> + </param> + <param> + <key>width4</key> + <value>1</value> + </param> + <param> + <key>alpha5</key> + <value>1.0</value> + </param> + <param> + <key>color5</key> + <value>"cyan"</value> + </param> + <param> + <key>label5</key> + <value></value> + </param> + <param> + <key>width5</key> + <value>1</value> + </param> + <param> + <key>alpha6</key> + <value>1.0</value> + </param> + <param> + <key>color6</key> + <value>"magenta"</value> + </param> + <param> + <key>label6</key> + <value></value> + </param> + <param> + <key>width6</key> + <value>1</value> + </param> + <param> + <key>alpha7</key> + <value>1.0</value> + </param> + <param> + <key>color7</key> + <value>"yellow"</value> + </param> + <param> + <key>label7</key> + <value></value> + </param> + <param> + <key>width7</key> + <value>1</value> + </param> + <param> + <key>alpha8</key> + <value>1.0</value> + </param> + <param> + <key>color8</key> + <value>"dark red"</value> + </param> + <param> + <key>label8</key> + <value></value> + </param> + <param> + <key>width8</key> + <value>1</value> + </param> + <param> + <key>alpha9</key> + <value>1.0</value> + </param> + <param> + <key>color9</key> + <value>"dark green"</value> + </param> + <param> + <key>label9</key> + <value></value> + </param> + <param> + <key>width9</key> + <value>1</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>name</key> + <value>""</value> + </param> + <param> + <key>nconnections</key> + <value>1</value> + </param> + <param> + <key>showports</key> + <value>True</value> + </param> + <param> + <key>freqhalf</key> + <value>True</value> + </param> + <param> + <key>tr_chan</key> + <value>0</value> + </param> + <param> + <key>tr_level</key> + <value>0.0</value> + </param> + <param> + <key>tr_mode</key> + <value>qtgui.TRIG_MODE_FREE</value> + </param> + <param> + <key>tr_tag</key> + <value>""</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>update_time</key> + <value>0.10</value> + </param> + <param> + <key>wintype</key> + <value>firdes.WIN_BLACKMAN_hARRIS</value> + </param> + <param> + <key>ymax</key> + <value>10</value> + </param> + <param> + <key>ymin</key> + <value>-140</value> + </param> + </block> + <block> + <key>qtgui_time_sink_x</key> + <param> + <key>autoscale</key> + <value>False</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>ctrlpanel</key> + <value>False</value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>entags</key> + <value>True</value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>_coordinate</key> + <value>(808, 406)</value> + </param> + <param> + <key>gui_hint</key> + <value></value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>grid</key> + <value>False</value> + </param> + <param> + <key>id</key> + <value>qtgui_time_sink_x_0</value> + </param> + <param> + <key>legend</key> + <value>True</value> + </param> + <param> + <key>alpha1</key> + <value>1.0</value> + </param> + <param> + <key>color1</key> + <value>"blue"</value> + </param> + <param> + <key>label1</key> + <value></value> + </param> + <param> + <key>marker1</key> + <value>-1</value> + </param> + <param> + <key>style1</key> + <value>1</value> + </param> + <param> + <key>width1</key> + <value>1</value> + </param> + <param> + <key>alpha10</key> + <value>1.0</value> + </param> + <param> + <key>color10</key> + <value>"blue"</value> + </param> + <param> + <key>label10</key> + <value></value> + </param> + <param> + <key>marker10</key> + <value>-1</value> + </param> + <param> + <key>style10</key> + <value>1</value> + </param> + <param> + <key>width10</key> + <value>1</value> + </param> + <param> + <key>alpha2</key> + <value>1.0</value> + </param> + <param> + <key>color2</key> + <value>"red"</value> + </param> + <param> + <key>label2</key> + <value></value> + </param> + <param> + <key>marker2</key> + <value>-1</value> + </param> + <param> + <key>style2</key> + <value>1</value> + </param> + <param> + <key>width2</key> + <value>1</value> + </param> + <param> + <key>alpha3</key> + <value>1.0</value> + </param> + <param> + <key>color3</key> + <value>"green"</value> + </param> + <param> + <key>label3</key> + <value></value> + </param> + <param> + <key>marker3</key> + <value>-1</value> + </param> + <param> + <key>style3</key> + <value>1</value> + </param> + <param> + <key>width3</key> + <value>1</value> + </param> + <param> + <key>alpha4</key> + <value>1.0</value> + </param> + <param> + <key>color4</key> + <value>"black"</value> + </param> + <param> + <key>label4</key> + <value></value> + </param> + <param> + <key>marker4</key> + <value>-1</value> + </param> + <param> + <key>style4</key> + <value>1</value> + </param> + <param> + <key>width4</key> + <value>1</value> + </param> + <param> + <key>alpha5</key> + <value>1.0</value> + </param> + <param> + <key>color5</key> + <value>"cyan"</value> + </param> + <param> + <key>label5</key> + <value></value> + </param> + <param> + <key>marker5</key> + <value>-1</value> + </param> + <param> + <key>style5</key> + <value>1</value> + </param> + <param> + <key>width5</key> + <value>1</value> + </param> + <param> + <key>alpha6</key> + <value>1.0</value> + </param> + <param> + <key>color6</key> + <value>"magenta"</value> + </param> + <param> + <key>label6</key> + <value></value> + </param> + <param> + <key>marker6</key> + <value>-1</value> + </param> + <param> + <key>style6</key> + <value>1</value> + </param> + <param> + <key>width6</key> + <value>1</value> + </param> + <param> + <key>alpha7</key> + <value>1.0</value> + </param> + <param> + <key>color7</key> + <value>"yellow"</value> + </param> + <param> + <key>label7</key> + <value></value> + </param> + <param> + <key>marker7</key> + <value>-1</value> + </param> + <param> + <key>style7</key> + <value>1</value> + </param> + <param> + <key>width7</key> + <value>1</value> + </param> + <param> + <key>alpha8</key> + <value>1.0</value> + </param> + <param> + <key>color8</key> + <value>"dark red"</value> + </param> + <param> + <key>label8</key> + <value></value> + </param> + <param> + <key>marker8</key> + <value>-1</value> + </param> + <param> + <key>style8</key> + <value>1</value> + </param> + <param> + <key>width8</key> + <value>1</value> + </param> + <param> + <key>alpha9</key> + <value>1.0</value> + </param> + <param> + <key>color9</key> + <value>"dark green"</value> + </param> + <param> + <key>label9</key> + <value></value> + </param> + <param> + <key>marker9</key> + <value>-1</value> + </param> + <param> + <key>style9</key> + <value>1</value> + </param> + <param> + <key>width9</key> + <value>1</value> + </param> + <param> + <key>name</key> + <value>""</value> + </param> + <param> + <key>nconnections</key> + <value>1</value> + </param> + <param> + <key>size</key> + <value>1024*64</value> + </param> + <param> + <key>srate</key> + <value>samp_rate</value> + </param> + <param> + <key>tr_chan</key> + <value>0</value> + </param> + <param> + <key>tr_delay</key> + <value>0</value> + </param> + <param> + <key>tr_level</key> + <value>0.0</value> + </param> + <param> + <key>tr_mode</key> + <value>qtgui.TRIG_MODE_FREE</value> + </param> + <param> + <key>tr_slope</key> + <value>qtgui.TRIG_SLOPE_POS</value> + </param> + <param> + <key>tr_tag</key> + <value>""</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>update_time</key> + <value>0.10</value> + </param> + <param> + <key>ylabel</key> + <value>Amplitude</value> + </param> + <param> + <key>yunit</key> + <value>""</value> + </param> + <param> + <key>ymax</key> + <value>1</value> + </param> + <param> + <key>ymin</key> + <value>-1</value> + </param> + </block> + <block> + <key>uhd_usrp_sink</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>ant0</key> + <value></value> + </param> + <param> + <key>bw0</key> + <value>0</value> + </param> + <param> + <key>center_freq0</key> + <value>freq</value> + </param> + <param> + <key>norm_gain0</key> + <value>False</value> + </param> + <param> + <key>gain0</key> + <value>txgain</value> + </param> + <param> + <key>ant10</key> + <value></value> + </param> + <param> + <key>bw10</key> + <value>0</value> + </param> + <param> + <key>center_freq10</key> + <value>0</value> + </param> + <param> + <key>norm_gain10</key> + <value>False</value> + </param> + <param> + <key>gain10</key> + <value>0</value> + </param> + <param> + <key>ant11</key> + <value></value> + </param> + <param> + <key>bw11</key> + <value>0</value> + </param> + <param> + <key>center_freq11</key> + <value>0</value> + </param> + <param> + <key>norm_gain11</key> + <value>False</value> + </param> + <param> + <key>gain11</key> + <value>0</value> + </param> + <param> + <key>ant12</key> + <value></value> + </param> + <param> + <key>bw12</key> + <value>0</value> + </param> + <param> + <key>center_freq12</key> + <value>0</value> + </param> + <param> + <key>norm_gain12</key> + <value>False</value> + </param> + <param> + <key>gain12</key> + <value>0</value> + </param> + <param> + <key>ant13</key> + <value></value> + </param> + <param> + <key>bw13</key> + <value>0</value> + </param> + <param> + <key>center_freq13</key> + <value>0</value> + </param> + <param> + <key>norm_gain13</key> + <value>False</value> + </param> + <param> + <key>gain13</key> + <value>0</value> + </param> + <param> + <key>ant14</key> + <value></value> + </param> + <param> + <key>bw14</key> + <value>0</value> + </param> + <param> + <key>center_freq14</key> + <value>0</value> + </param> + <param> + <key>norm_gain14</key> + <value>False</value> + </param> + <param> + <key>gain14</key> + <value>0</value> + </param> + <param> + <key>ant15</key> + <value></value> + </param> + <param> + <key>bw15</key> + <value>0</value> + </param> + <param> + <key>center_freq15</key> + <value>0</value> + </param> + <param> + <key>norm_gain15</key> + <value>False</value> + </param> + <param> + <key>gain15</key> + <value>0</value> + </param> + <param> + <key>ant16</key> + <value></value> + </param> + <param> + <key>bw16</key> + <value>0</value> + </param> + <param> + <key>center_freq16</key> + <value>0</value> + </param> + <param> + <key>norm_gain16</key> + <value>False</value> + </param> + <param> + <key>gain16</key> + <value>0</value> + </param> + <param> + <key>ant17</key> + <value></value> + </param> + <param> + <key>bw17</key> + <value>0</value> + </param> + <param> + <key>center_freq17</key> + <value>0</value> + </param> + <param> + <key>norm_gain17</key> + <value>False</value> + </param> + <param> + <key>gain17</key> + <value>0</value> + </param> + <param> + <key>ant18</key> + <value></value> + </param> + <param> + <key>bw18</key> + <value>0</value> + </param> + <param> + <key>center_freq18</key> + <value>0</value> + </param> + <param> + <key>norm_gain18</key> + <value>False</value> + </param> + <param> + <key>gain18</key> + <value>0</value> + </param> + <param> + <key>ant19</key> + <value></value> + </param> + <param> + <key>bw19</key> + <value>0</value> + </param> + <param> + <key>center_freq19</key> + <value>0</value> + </param> + <param> + <key>norm_gain19</key> + <value>False</value> + </param> + <param> + <key>gain19</key> + <value>0</value> + </param> + <param> + <key>ant1</key> + <value></value> + </param> + <param> + <key>bw1</key> + <value>0</value> + </param> + <param> + <key>center_freq1</key> + <value>0</value> + </param> + <param> + <key>norm_gain1</key> + <value>False</value> + </param> + <param> + <key>gain1</key> + <value>0</value> + </param> + <param> + <key>ant20</key> + <value></value> + </param> + <param> + <key>bw20</key> + <value>0</value> + </param> + <param> + <key>center_freq20</key> + <value>0</value> + </param> + <param> + <key>norm_gain20</key> + <value>False</value> + </param> + <param> + <key>gain20</key> + <value>0</value> + </param> + <param> + <key>ant21</key> + <value></value> + </param> + <param> + <key>bw21</key> + <value>0</value> + </param> + <param> + <key>center_freq21</key> + <value>0</value> + </param> + <param> + <key>norm_gain21</key> + <value>False</value> + </param> + <param> + <key>gain21</key> + <value>0</value> + </param> + <param> + <key>ant22</key> + <value></value> + </param> + <param> + <key>bw22</key> + <value>0</value> + </param> + <param> + <key>center_freq22</key> + <value>0</value> + </param> + <param> + <key>norm_gain22</key> + <value>False</value> + </param> + <param> + <key>gain22</key> + <value>0</value> + </param> + <param> + <key>ant23</key> + <value></value> + </param> + <param> + <key>bw23</key> + <value>0</value> + </param> + <param> + <key>center_freq23</key> + <value>0</value> + </param> + <param> + <key>norm_gain23</key> + <value>False</value> + </param> + <param> + <key>gain23</key> + <value>0</value> + </param> + <param> + <key>ant24</key> + <value></value> + </param> + <param> + <key>bw24</key> + <value>0</value> + </param> + <param> + <key>center_freq24</key> + <value>0</value> + </param> + <param> + <key>norm_gain24</key> + <value>False</value> + </param> + <param> + <key>gain24</key> + <value>0</value> + </param> + <param> + <key>ant25</key> + <value></value> + </param> + <param> + <key>bw25</key> + <value>0</value> + </param> + <param> + <key>center_freq25</key> + <value>0</value> + </param> + <param> + <key>norm_gain25</key> + <value>False</value> + </param> + <param> + <key>gain25</key> + <value>0</value> + </param> + <param> + <key>ant26</key> + <value></value> + </param> + <param> + <key>bw26</key> + <value>0</value> + </param> + <param> + <key>center_freq26</key> + <value>0</value> + </param> + <param> + <key>norm_gain26</key> + <value>False</value> + </param> + <param> + <key>gain26</key> + <value>0</value> + </param> + <param> + <key>ant27</key> + <value></value> + </param> + <param> + <key>bw27</key> + <value>0</value> + </param> + <param> + <key>center_freq27</key> + <value>0</value> + </param> + <param> + <key>norm_gain27</key> + <value>False</value> + </param> + <param> + <key>gain27</key> + <value>0</value> + </param> + <param> + <key>ant28</key> + <value></value> + </param> + <param> + <key>bw28</key> + <value>0</value> + </param> + <param> + <key>center_freq28</key> + <value>0</value> + </param> + <param> + <key>norm_gain28</key> + <value>False</value> + </param> + <param> + <key>gain28</key> + <value>0</value> + </param> + <param> + <key>ant29</key> + <value></value> + </param> + <param> + <key>bw29</key> + <value>0</value> + </param> + <param> + <key>center_freq29</key> + <value>0</value> + </param> + <param> + <key>norm_gain29</key> + <value>False</value> + </param> + <param> + <key>gain29</key> + <value>0</value> + </param> + <param> + <key>ant2</key> + <value></value> + </param> + <param> + <key>bw2</key> + <value>0</value> + </param> + <param> + <key>center_freq2</key> + <value>0</value> + </param> + <param> + <key>norm_gain2</key> + <value>False</value> + </param> + <param> + <key>gain2</key> + <value>0</value> + </param> + <param> + <key>ant30</key> + <value></value> + </param> + <param> + <key>bw30</key> + <value>0</value> + </param> + <param> + <key>center_freq30</key> + <value>0</value> + </param> + <param> + <key>norm_gain30</key> + <value>False</value> + </param> + <param> + <key>gain30</key> + <value>0</value> + </param> + <param> + <key>ant31</key> + <value></value> + </param> + <param> + <key>bw31</key> + <value>0</value> + </param> + <param> + <key>center_freq31</key> + <value>0</value> + </param> + <param> + <key>norm_gain31</key> + <value>False</value> + </param> + <param> + <key>gain31</key> + <value>0</value> + </param> + <param> + <key>ant3</key> + <value></value> + </param> + <param> + <key>bw3</key> + <value>0</value> + </param> + <param> + <key>center_freq3</key> + <value>0</value> + </param> + <param> + <key>norm_gain3</key> + <value>False</value> + </param> + <param> + <key>gain3</key> + <value>0</value> + </param> + <param> + <key>ant4</key> + <value></value> + </param> + <param> + <key>bw4</key> + <value>0</value> + </param> + <param> + <key>center_freq4</key> + <value>0</value> + </param> + <param> + <key>norm_gain4</key> + <value>False</value> + </param> + <param> + <key>gain4</key> + <value>0</value> + </param> + <param> + <key>ant5</key> + <value></value> + </param> + <param> + <key>bw5</key> + <value>0</value> + </param> + <param> + <key>center_freq5</key> + <value>0</value> + </param> + <param> + <key>norm_gain5</key> + <value>False</value> + </param> + <param> + <key>gain5</key> + <value>0</value> + </param> + <param> + <key>ant6</key> + <value></value> + </param> + <param> + <key>bw6</key> + <value>0</value> + </param> + <param> + <key>center_freq6</key> + <value>0</value> + </param> + <param> + <key>norm_gain6</key> + <value>False</value> + </param> + <param> + <key>gain6</key> + <value>0</value> + </param> + <param> + <key>ant7</key> + <value></value> + </param> + <param> + <key>bw7</key> + <value>0</value> + </param> + <param> + <key>center_freq7</key> + <value>0</value> + </param> + <param> + <key>norm_gain7</key> + <value>False</value> + </param> + <param> + <key>gain7</key> + <value>0</value> + </param> + <param> + <key>ant8</key> + <value></value> + </param> + <param> + <key>bw8</key> + <value>0</value> + </param> + <param> + <key>center_freq8</key> + <value>0</value> + </param> + <param> + <key>norm_gain8</key> + <value>False</value> + </param> + <param> + <key>gain8</key> + <value>0</value> + </param> + <param> + <key>ant9</key> + <value></value> + </param> + <param> + <key>bw9</key> + <value>0</value> + </param> + <param> + <key>center_freq9</key> + <value>0</value> + </param> + <param> + <key>norm_gain9</key> + <value>False</value> + </param> + <param> + <key>gain9</key> + <value>0</value> + </param> + <param> + <key>clock_rate</key> + <value>0.0</value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>dev_addr</key> + <value>""</value> + </param> + <param> + <key>dev_args</key> + <value>""</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(472, 127)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>uhd_usrp_sink_0_0</value> + </param> + <param> + <key>type</key> + <value>fc32</value> + </param> + <param> + <key>clock_source0</key> + <value></value> + </param> + <param> + <key>sd_spec0</key> + <value></value> + </param> + <param> + <key>time_source0</key> + <value></value> + </param> + <param> + <key>clock_source1</key> + <value></value> + </param> + <param> + <key>sd_spec1</key> + <value></value> + </param> + <param> + <key>time_source1</key> + <value></value> + </param> + <param> + <key>clock_source2</key> + <value></value> + </param> + <param> + <key>sd_spec2</key> + <value></value> + </param> + <param> + <key>time_source2</key> + <value></value> + </param> + <param> + <key>clock_source3</key> + <value></value> + </param> + <param> + <key>sd_spec3</key> + <value></value> + </param> + <param> + <key>time_source3</key> + <value></value> + </param> + <param> + <key>clock_source4</key> + <value></value> + </param> + <param> + <key>sd_spec4</key> + <value></value> + </param> + <param> + <key>time_source4</key> + <value></value> + </param> + <param> + <key>clock_source5</key> + <value></value> + </param> + <param> + <key>sd_spec5</key> + <value></value> + </param> + <param> + <key>time_source5</key> + <value></value> + </param> + <param> + <key>clock_source6</key> + <value></value> + </param> + <param> + <key>sd_spec6</key> + <value></value> + </param> + <param> + <key>time_source6</key> + <value></value> + </param> + <param> + <key>clock_source7</key> + <value></value> + </param> + <param> + <key>sd_spec7</key> + <value></value> + </param> + <param> + <key>time_source7</key> + <value></value> + </param> + <param> + <key>nchan</key> + <value>1</value> + </param> + <param> + <key>num_mboards</key> + <value>1</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>hide_cmd_port</key> + <value>False</value> + </param> + <param> + <key>stream_args</key> + <value></value> + </param> + <param> + <key>stream_chans</key> + <value>[]</value> + </param> + <param> + <key>sync</key> + <value></value> + </param> + <param> + <key>len_tag_name</key> + <value></value> + </param> + <param> + <key>otw</key> + <value></value> + </param> + </block> + <block> + <key>uhd_usrp_source</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>ant0</key> + <value></value> + </param> + <param> + <key>bw0</key> + <value>0</value> + </param> + <param> + <key>center_freq0</key> + <value>freq</value> + </param> + <param> + <key>dc_offs_enb0</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb0</key> + <value>""</value> + </param> + <param> + <key>norm_gain0</key> + <value>False</value> + </param> + <param> + <key>gain0</key> + <value>rxgain</value> + </param> + <param> + <key>ant10</key> + <value></value> + </param> + <param> + <key>bw10</key> + <value>0</value> + </param> + <param> + <key>center_freq10</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb10</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb10</key> + <value>""</value> + </param> + <param> + <key>norm_gain10</key> + <value>False</value> + </param> + <param> + <key>gain10</key> + <value>0</value> + </param> + <param> + <key>ant11</key> + <value></value> + </param> + <param> + <key>bw11</key> + <value>0</value> + </param> + <param> + <key>center_freq11</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb11</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb11</key> + <value>""</value> + </param> + <param> + <key>norm_gain11</key> + <value>False</value> + </param> + <param> + <key>gain11</key> + <value>0</value> + </param> + <param> + <key>ant12</key> + <value></value> + </param> + <param> + <key>bw12</key> + <value>0</value> + </param> + <param> + <key>center_freq12</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb12</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb12</key> + <value>""</value> + </param> + <param> + <key>norm_gain12</key> + <value>False</value> + </param> + <param> + <key>gain12</key> + <value>0</value> + </param> + <param> + <key>ant13</key> + <value></value> + </param> + <param> + <key>bw13</key> + <value>0</value> + </param> + <param> + <key>center_freq13</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb13</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb13</key> + <value>""</value> + </param> + <param> + <key>norm_gain13</key> + <value>False</value> + </param> + <param> + <key>gain13</key> + <value>0</value> + </param> + <param> + <key>ant14</key> + <value></value> + </param> + <param> + <key>bw14</key> + <value>0</value> + </param> + <param> + <key>center_freq14</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb14</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb14</key> + <value>""</value> + </param> + <param> + <key>norm_gain14</key> + <value>False</value> + </param> + <param> + <key>gain14</key> + <value>0</value> + </param> + <param> + <key>ant15</key> + <value></value> + </param> + <param> + <key>bw15</key> + <value>0</value> + </param> + <param> + <key>center_freq15</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb15</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb15</key> + <value>""</value> + </param> + <param> + <key>norm_gain15</key> + <value>False</value> + </param> + <param> + <key>gain15</key> + <value>0</value> + </param> + <param> + <key>ant16</key> + <value></value> + </param> + <param> + <key>bw16</key> + <value>0</value> + </param> + <param> + <key>center_freq16</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb16</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb16</key> + <value>""</value> + </param> + <param> + <key>norm_gain16</key> + <value>False</value> + </param> + <param> + <key>gain16</key> + <value>0</value> + </param> + <param> + <key>ant17</key> + <value></value> + </param> + <param> + <key>bw17</key> + <value>0</value> + </param> + <param> + <key>center_freq17</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb17</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb17</key> + <value>""</value> + </param> + <param> + <key>norm_gain17</key> + <value>False</value> + </param> + <param> + <key>gain17</key> + <value>0</value> + </param> + <param> + <key>ant18</key> + <value></value> + </param> + <param> + <key>bw18</key> + <value>0</value> + </param> + <param> + <key>center_freq18</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb18</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb18</key> + <value>""</value> + </param> + <param> + <key>norm_gain18</key> + <value>False</value> + </param> + <param> + <key>gain18</key> + <value>0</value> + </param> + <param> + <key>ant19</key> + <value></value> + </param> + <param> + <key>bw19</key> + <value>0</value> + </param> + <param> + <key>center_freq19</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb19</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb19</key> + <value>""</value> + </param> + <param> + <key>norm_gain19</key> + <value>False</value> + </param> + <param> + <key>gain19</key> + <value>0</value> + </param> + <param> + <key>ant1</key> + <value></value> + </param> + <param> + <key>bw1</key> + <value>0</value> + </param> + <param> + <key>center_freq1</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb1</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb1</key> + <value>""</value> + </param> + <param> + <key>norm_gain1</key> + <value>False</value> + </param> + <param> + <key>gain1</key> + <value>0</value> + </param> + <param> + <key>ant20</key> + <value></value> + </param> + <param> + <key>bw20</key> + <value>0</value> + </param> + <param> + <key>center_freq20</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb20</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb20</key> + <value>""</value> + </param> + <param> + <key>norm_gain20</key> + <value>False</value> + </param> + <param> + <key>gain20</key> + <value>0</value> + </param> + <param> + <key>ant21</key> + <value></value> + </param> + <param> + <key>bw21</key> + <value>0</value> + </param> + <param> + <key>center_freq21</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb21</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb21</key> + <value>""</value> + </param> + <param> + <key>norm_gain21</key> + <value>False</value> + </param> + <param> + <key>gain21</key> + <value>0</value> + </param> + <param> + <key>ant22</key> + <value></value> + </param> + <param> + <key>bw22</key> + <value>0</value> + </param> + <param> + <key>center_freq22</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb22</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb22</key> + <value>""</value> + </param> + <param> + <key>norm_gain22</key> + <value>False</value> + </param> + <param> + <key>gain22</key> + <value>0</value> + </param> + <param> + <key>ant23</key> + <value></value> + </param> + <param> + <key>bw23</key> + <value>0</value> + </param> + <param> + <key>center_freq23</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb23</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb23</key> + <value>""</value> + </param> + <param> + <key>norm_gain23</key> + <value>False</value> + </param> + <param> + <key>gain23</key> + <value>0</value> + </param> + <param> + <key>ant24</key> + <value></value> + </param> + <param> + <key>bw24</key> + <value>0</value> + </param> + <param> + <key>center_freq24</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb24</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb24</key> + <value>""</value> + </param> + <param> + <key>norm_gain24</key> + <value>False</value> + </param> + <param> + <key>gain24</key> + <value>0</value> + </param> + <param> + <key>ant25</key> + <value></value> + </param> + <param> + <key>bw25</key> + <value>0</value> + </param> + <param> + <key>center_freq25</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb25</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb25</key> + <value>""</value> + </param> + <param> + <key>norm_gain25</key> + <value>False</value> + </param> + <param> + <key>gain25</key> + <value>0</value> + </param> + <param> + <key>ant26</key> + <value></value> + </param> + <param> + <key>bw26</key> + <value>0</value> + </param> + <param> + <key>center_freq26</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb26</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb26</key> + <value>""</value> + </param> + <param> + <key>norm_gain26</key> + <value>False</value> + </param> + <param> + <key>gain26</key> + <value>0</value> + </param> + <param> + <key>ant27</key> + <value></value> + </param> + <param> + <key>bw27</key> + <value>0</value> + </param> + <param> + <key>center_freq27</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb27</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb27</key> + <value>""</value> + </param> + <param> + <key>norm_gain27</key> + <value>False</value> + </param> + <param> + <key>gain27</key> + <value>0</value> + </param> + <param> + <key>ant28</key> + <value></value> + </param> + <param> + <key>bw28</key> + <value>0</value> + </param> + <param> + <key>center_freq28</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb28</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb28</key> + <value>""</value> + </param> + <param> + <key>norm_gain28</key> + <value>False</value> + </param> + <param> + <key>gain28</key> + <value>0</value> + </param> + <param> + <key>ant29</key> + <value></value> + </param> + <param> + <key>bw29</key> + <value>0</value> + </param> + <param> + <key>center_freq29</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb29</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb29</key> + <value>""</value> + </param> + <param> + <key>norm_gain29</key> + <value>False</value> + </param> + <param> + <key>gain29</key> + <value>0</value> + </param> + <param> + <key>ant2</key> + <value></value> + </param> + <param> + <key>bw2</key> + <value>0</value> + </param> + <param> + <key>center_freq2</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb2</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb2</key> + <value>""</value> + </param> + <param> + <key>norm_gain2</key> + <value>False</value> + </param> + <param> + <key>gain2</key> + <value>0</value> + </param> + <param> + <key>ant30</key> + <value></value> + </param> + <param> + <key>bw30</key> + <value>0</value> + </param> + <param> + <key>center_freq30</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb30</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb30</key> + <value>""</value> + </param> + <param> + <key>norm_gain30</key> + <value>False</value> + </param> + <param> + <key>gain30</key> + <value>0</value> + </param> + <param> + <key>ant31</key> + <value></value> + </param> + <param> + <key>bw31</key> + <value>0</value> + </param> + <param> + <key>center_freq31</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb31</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb31</key> + <value>""</value> + </param> + <param> + <key>norm_gain31</key> + <value>False</value> + </param> + <param> + <key>gain31</key> + <value>0</value> + </param> + <param> + <key>ant3</key> + <value></value> + </param> + <param> + <key>bw3</key> + <value>0</value> + </param> + <param> + <key>center_freq3</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb3</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb3</key> + <value>""</value> + </param> + <param> + <key>norm_gain3</key> + <value>False</value> + </param> + <param> + <key>gain3</key> + <value>0</value> + </param> + <param> + <key>ant4</key> + <value></value> + </param> + <param> + <key>bw4</key> + <value>0</value> + </param> + <param> + <key>center_freq4</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb4</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb4</key> + <value>""</value> + </param> + <param> + <key>norm_gain4</key> + <value>False</value> + </param> + <param> + <key>gain4</key> + <value>0</value> + </param> + <param> + <key>ant5</key> + <value></value> + </param> + <param> + <key>bw5</key> + <value>0</value> + </param> + <param> + <key>center_freq5</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb5</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb5</key> + <value>""</value> + </param> + <param> + <key>norm_gain5</key> + <value>False</value> + </param> + <param> + <key>gain5</key> + <value>0</value> + </param> + <param> + <key>ant6</key> + <value></value> + </param> + <param> + <key>bw6</key> + <value>0</value> + </param> + <param> + <key>center_freq6</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb6</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb6</key> + <value>""</value> + </param> + <param> + <key>norm_gain6</key> + <value>False</value> + </param> + <param> + <key>gain6</key> + <value>0</value> + </param> + <param> + <key>ant7</key> + <value></value> + </param> + <param> + <key>bw7</key> + <value>0</value> + </param> + <param> + <key>center_freq7</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb7</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb7</key> + <value>""</value> + </param> + <param> + <key>norm_gain7</key> + <value>False</value> + </param> + <param> + <key>gain7</key> + <value>0</value> + </param> + <param> + <key>ant8</key> + <value></value> + </param> + <param> + <key>bw8</key> + <value>0</value> + </param> + <param> + <key>center_freq8</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb8</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb8</key> + <value>""</value> + </param> + <param> + <key>norm_gain8</key> + <value>False</value> + </param> + <param> + <key>gain8</key> + <value>0</value> + </param> + <param> + <key>ant9</key> + <value></value> + </param> + <param> + <key>bw9</key> + <value>0</value> + </param> + <param> + <key>center_freq9</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb9</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb9</key> + <value>""</value> + </param> + <param> + <key>norm_gain9</key> + <value>False</value> + </param> + <param> + <key>gain9</key> + <value>0</value> + </param> + <param> + <key>clock_rate</key> + <value>0.0</value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>dev_addr</key> + <value>""</value> + </param> + <param> + <key>dev_args</key> + <value>""</value> + </param> + <param> + <key>_enabled</key> + <value>1</value> + </param> + <param> + <key>_coordinate</key> + <value>(472, 230)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>uhd_usrp_source_0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>clock_source0</key> + <value></value> + </param> + <param> + <key>sd_spec0</key> + <value></value> + </param> + <param> + <key>time_source0</key> + <value></value> + </param> + <param> + <key>clock_source1</key> + <value></value> + </param> + <param> + <key>sd_spec1</key> + <value></value> + </param> + <param> + <key>time_source1</key> + <value></value> + </param> + <param> + <key>clock_source2</key> + <value></value> + </param> + <param> + <key>sd_spec2</key> + <value></value> + </param> + <param> + <key>time_source2</key> + <value></value> + </param> + <param> + <key>clock_source3</key> + <value></value> + </param> + <param> + <key>sd_spec3</key> + <value></value> + </param> + <param> + <key>time_source3</key> + <value></value> + </param> + <param> + <key>clock_source4</key> + <value></value> + </param> + <param> + <key>sd_spec4</key> + <value></value> + </param> + <param> + <key>time_source4</key> + <value></value> + </param> + <param> + <key>clock_source5</key> + <value></value> + </param> + <param> + <key>sd_spec5</key> + <value></value> + </param> + <param> + <key>time_source5</key> + <value></value> + </param> + <param> + <key>clock_source6</key> + <value></value> + </param> + <param> + <key>sd_spec6</key> + <value></value> + </param> + <param> + <key>time_source6</key> + <value></value> + </param> + <param> + <key>clock_source7</key> + <value></value> + </param> + <param> + <key>sd_spec7</key> + <value></value> + </param> + <param> + <key>time_source7</key> + <value></value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>nchan</key> + <value>1</value> + </param> + <param> + <key>num_mboards</key> + <value>1</value> + </param> + <param> + <key>type</key> + <value>fc32</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>hide_cmd_port</key> + <value>False</value> + </param> + <param> + <key>stream_args</key> + <value></value> + </param> + <param> + <key>stream_chans</key> + <value>[]</value> + </param> + <param> + <key>sync</key> + <value></value> + </param> + <param> + <key>otw</key> + <value></value> + </param> + </block> + <connection> + <source_block_id>analog_sig_source_x_0</source_block_id> + <sink_block_id>blocks_add_xx_0</sink_block_id> + <source_key>0</source_key> + <sink_key>1</sink_key> + </connection> + <connection> + <source_block_id>analog_sig_source_x_1</source_block_id> + <sink_block_id>blocks_add_xx_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_add_xx_0</source_block_id> + <sink_block_id>blocks_multiply_const_vxx_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_delay_0</source_block_id> + <sink_block_id>blocks_file_sink_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_delay_0</source_block_id> + <sink_block_id>dpd_memless_poly_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_delay_0_0</source_block_id> + <sink_block_id>blocks_multiply_const_vxx_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_file_source_0</source_block_id> + <sink_block_id>blocks_multiply_const_vxx_1</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_multiply_const_vxx_0</source_block_id> + <sink_block_id>blocks_null_sink_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_multiply_const_vxx_0</source_block_id> + <sink_block_id>file_sink_out</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_multiply_const_vxx_0</source_block_id> + <sink_block_id>logpwrfft_x_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_multiply_const_vxx_0</source_block_id> + <sink_block_id>mer_all_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_multiply_const_vxx_0</source_block_id> + <sink_block_id>qtgui_freq_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_multiply_const_vxx_0</source_block_id> + <sink_block_id>qtgui_time_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_multiply_const_vxx_1</source_block_id> + <sink_block_id>blocks_delay_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>dpd_memless_poly_0</source_block_id> + <sink_block_id>uhd_usrp_sink_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>logpwrfft_x_0_0</source_block_id> + <sink_block_id>blks2_tcp_sink_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>mer_all_0</source_block_id> + <sink_block_id>blks2_tcp_sink_0_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>uhd_usrp_source_0</source_block_id> + <sink_block_id>blocks_delay_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> +</flow_graph> diff --git a/grc/parallel_measurement_two_tone.grc b/grc/parallel_measurement_two_tone.grc new file mode 100644 index 0000000..8496595 --- /dev/null +++ b/grc/parallel_measurement_two_tone.grc @@ -0,0 +1,3614 @@ +<?xml version='1.0' encoding='utf-8'?> +<?grc format='1' created='3.7.9'?> +<flow_graph> + <timestamp>Tue Jan 17 15:09:43 2017</timestamp> + <block> + <key>options</key> + <param> + <key>author</key> + <value></value> + </param> + <param> + <key>window_size</key> + <value></value> + </param> + <param> + <key>category</key> + <value>Custom</value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>description</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(8, 8)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>generate_options</key> + <value>qt_gui</value> + </param> + <param> + <key>hier_block_src_path</key> + <value>.:</value> + </param> + <param> + <key>id</key> + <value>parallel_measurement</value> + </param> + <param> + <key>max_nouts</key> + <value>0</value> + </param> + <param> + <key>qt_qss_theme</key> + <value></value> + </param> + <param> + <key>realtime_scheduling</key> + <value></value> + </param> + <param> + <key>run_command</key> + <value>{python} -u {filename}</value> + </param> + <param> + <key>run_options</key> + <value>prompt</value> + </param> + <param> + <key>run</key> + <value>True</value> + </param> + <param> + <key>thread_safe_setters</key> + <value></value> + </param> + <param> + <key>title</key> + <value></value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(8, 229)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>freq</value> + </param> + <param> + <key>value</key> + <value>222e6</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(8, 293)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>rxgain</value> + </param> + <param> + <key>value</key> + <value>10</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(8, 160)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>samp_rate</value> + </param> + <param> + <key>value</key> + <value>8000000</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(8, 357)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>txgain</value> + </param> + <param> + <key>value</key> + <value>60</value> + </param> + </block> + <block> + <key>analog_sig_source_x</key> + <param> + <key>amp</key> + <value>0.45</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>1</value> + </param> + <param> + <key>freq</key> + <value>2100000</value> + </param> + <param> + <key>_coordinate</key> + <value>(48, 552)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>analog_sig_source_x_0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>offset</key> + <value>0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>waveform</key> + <value>analog.GR_COS_WAVE</value> + </param> + </block> + <block> + <key>analog_sig_source_x</key> + <param> + <key>amp</key> + <value>0.45</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>1</value> + </param> + <param> + <key>freq</key> + <value>2000000</value> + </param> + <param> + <key>_coordinate</key> + <value>(48, 448)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>analog_sig_source_x_1</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>offset</key> + <value>0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>waveform</key> + <value>analog.GR_COS_WAVE</value> + </param> + </block> + <block> + <key>blks2_tcp_sink</key> + <param> + <key>addr</key> + <value>127.0.0.1</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>_coordinate</key> + <value>(1072, 15)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blks2_tcp_sink_0_0</value> + </param> + <param> + <key>type</key> + <value>float</value> + </param> + <param> + <key>server</key> + <value>True</value> + </param> + <param> + <key>port</key> + <value>47009</value> + </param> + <param> + <key>vlen</key> + <value>16384</value> + </param> + </block> + <block> + <key>blocks_add_xx</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>1</value> + </param> + <param> + <key>_coordinate</key> + <value>(216, 521)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_add_xx_0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>num_inputs</key> + <value>2</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>blocks_delay</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>delay</key> + <value>200000</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(336, 228)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_delay_0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>num_ports</key> + <value>1</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>blocks_delay</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>delay</key> + <value>210000</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(688, 124)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_delay_0_0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>num_ports</key> + <value>1</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>blocks_file_sink</key> + <param> + <key>append</key> + <value>False</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>file</key> + <value>/home/andreas/dab/ODR-StaticPrecorrection/output_orig.dat</value> + </param> + <param> + <key>_coordinate</key> + <value>(808, 438)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_file_sink_0_0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>unbuffered</key> + <value>False</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>blocks_file_source</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>file</key> + <value>/home/andreas/dab/dab_5s_8000000_max_1.iq</value> + </param> + <param> + <key>_coordinate</key> + <value>(136, 133)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_file_source_0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>repeat</key> + <value>True</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>blocks_multiply_const_vxx</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>const</key> + <value>1</value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>1</value> + </param> + <param> + <key>_coordinate</key> + <value>(672, 236)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_multiply_const_vxx_0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>blocks_multiply_const_vxx</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>const</key> + <value>1</value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>1</value> + </param> + <param> + <key>_coordinate</key> + <value>(280, 532)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_multiply_const_vxx_0_0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>blocks_null_sink</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>bus_conns</key> + <value>[[0,],]</value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(880, 209)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>blocks_null_sink_0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>num_inputs</key> + <value>1</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>dpd_memless_poly</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(432, 307)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>dpd_memless_poly_0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>a1</key> + <value>1</value> + </param> + <param> + <key>a2</key> + <value>0</value> + </param> + <param> + <key>a3</key> + <value>0</value> + </param> + <param> + <key>a4</key> + <value>0</value> + </param> + <param> + <key>a5</key> + <value>0</value> + </param> + <param> + <key>a6</key> + <value>0</value> + </param> + <param> + <key>a7</key> + <value>0</value> + </param> + <param> + <key>a8</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_file_sink</key> + <param> + <key>append</key> + <value>False</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>file</key> + <value>/home/andreas/dab/ODR-StaticPrecorrection/output.dat</value> + </param> + <param> + <key>_coordinate</key> + <value>(880, 126)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>file_sink_out</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>unbuffered</key> + <value>False</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + </block> + <block> + <key>logpwrfft_x</key> + <param> + <key>avg_alpha</key> + <value>1.0</value> + </param> + <param> + <key>average</key> + <value>False</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>fft_size</key> + <value>16384</value> + </param> + <param> + <key>frame_rate</key> + <value>20</value> + </param> + <param> + <key>_coordinate</key> + <value>(880, 1)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>logpwrfft_x_0_0</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>ref_scale</key> + <value>2</value> + </param> + <param> + <key>sample_rate</key> + <value>samp_rate</value> + </param> + </block> + <block> + <key>qtgui_freq_sink_x</key> + <param> + <key>autoscale</key> + <value>False</value> + </param> + <param> + <key>average</key> + <value>1.0</value> + </param> + <param> + <key>bw</key> + <value>samp_rate</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>fc</key> + <value>0</value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>ctrlpanel</key> + <value>False</value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>1</value> + </param> + <param> + <key>fftsize</key> + <value>16383</value> + </param> + <param> + <key>_coordinate</key> + <value>(1016, 238)</value> + </param> + <param> + <key>gui_hint</key> + <value></value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>grid</key> + <value>False</value> + </param> + <param> + <key>id</key> + <value>qtgui_freq_sink_x_0</value> + </param> + <param> + <key>legend</key> + <value>True</value> + </param> + <param> + <key>alpha1</key> + <value>1.0</value> + </param> + <param> + <key>color1</key> + <value>"blue"</value> + </param> + <param> + <key>label1</key> + <value></value> + </param> + <param> + <key>width1</key> + <value>1</value> + </param> + <param> + <key>alpha10</key> + <value>1.0</value> + </param> + <param> + <key>color10</key> + <value>"dark blue"</value> + </param> + <param> + <key>label10</key> + <value></value> + </param> + <param> + <key>width10</key> + <value>1</value> + </param> + <param> + <key>alpha2</key> + <value>1.0</value> + </param> + <param> + <key>color2</key> + <value>"red"</value> + </param> + <param> + <key>label2</key> + <value></value> + </param> + <param> + <key>width2</key> + <value>1</value> + </param> + <param> + <key>alpha3</key> + <value>1.0</value> + </param> + <param> + <key>color3</key> + <value>"green"</value> + </param> + <param> + <key>label3</key> + <value></value> + </param> + <param> + <key>width3</key> + <value>1</value> + </param> + <param> + <key>alpha4</key> + <value>1.0</value> + </param> + <param> + <key>color4</key> + <value>"black"</value> + </param> + <param> + <key>label4</key> + <value></value> + </param> + <param> + <key>width4</key> + <value>1</value> + </param> + <param> + <key>alpha5</key> + <value>1.0</value> + </param> + <param> + <key>color5</key> + <value>"cyan"</value> + </param> + <param> + <key>label5</key> + <value></value> + </param> + <param> + <key>width5</key> + <value>1</value> + </param> + <param> + <key>alpha6</key> + <value>1.0</value> + </param> + <param> + <key>color6</key> + <value>"magenta"</value> + </param> + <param> + <key>label6</key> + <value></value> + </param> + <param> + <key>width6</key> + <value>1</value> + </param> + <param> + <key>alpha7</key> + <value>1.0</value> + </param> + <param> + <key>color7</key> + <value>"yellow"</value> + </param> + <param> + <key>label7</key> + <value></value> + </param> + <param> + <key>width7</key> + <value>1</value> + </param> + <param> + <key>alpha8</key> + <value>1.0</value> + </param> + <param> + <key>color8</key> + <value>"dark red"</value> + </param> + <param> + <key>label8</key> + <value></value> + </param> + <param> + <key>width8</key> + <value>1</value> + </param> + <param> + <key>alpha9</key> + <value>1.0</value> + </param> + <param> + <key>color9</key> + <value>"dark green"</value> + </param> + <param> + <key>label9</key> + <value></value> + </param> + <param> + <key>width9</key> + <value>1</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>name</key> + <value>""</value> + </param> + <param> + <key>nconnections</key> + <value>1</value> + </param> + <param> + <key>showports</key> + <value>True</value> + </param> + <param> + <key>freqhalf</key> + <value>True</value> + </param> + <param> + <key>tr_chan</key> + <value>0</value> + </param> + <param> + <key>tr_level</key> + <value>0.0</value> + </param> + <param> + <key>tr_mode</key> + <value>qtgui.TRIG_MODE_FREE</value> + </param> + <param> + <key>tr_tag</key> + <value>""</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>update_time</key> + <value>0.10</value> + </param> + <param> + <key>wintype</key> + <value>firdes.WIN_BLACKMAN_hARRIS</value> + </param> + <param> + <key>ymax</key> + <value>10</value> + </param> + <param> + <key>ymin</key> + <value>-140</value> + </param> + </block> + <block> + <key>qtgui_time_sink_x</key> + <param> + <key>autoscale</key> + <value>False</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>ctrlpanel</key> + <value>False</value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>entags</key> + <value>True</value> + </param> + <param> + <key>_enabled</key> + <value>0</value> + </param> + <param> + <key>_coordinate</key> + <value>(808, 286)</value> + </param> + <param> + <key>gui_hint</key> + <value></value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>grid</key> + <value>False</value> + </param> + <param> + <key>id</key> + <value>qtgui_time_sink_x_0</value> + </param> + <param> + <key>legend</key> + <value>True</value> + </param> + <param> + <key>alpha1</key> + <value>1.0</value> + </param> + <param> + <key>color1</key> + <value>"blue"</value> + </param> + <param> + <key>label1</key> + <value></value> + </param> + <param> + <key>marker1</key> + <value>-1</value> + </param> + <param> + <key>style1</key> + <value>1</value> + </param> + <param> + <key>width1</key> + <value>1</value> + </param> + <param> + <key>alpha10</key> + <value>1.0</value> + </param> + <param> + <key>color10</key> + <value>"blue"</value> + </param> + <param> + <key>label10</key> + <value></value> + </param> + <param> + <key>marker10</key> + <value>-1</value> + </param> + <param> + <key>style10</key> + <value>1</value> + </param> + <param> + <key>width10</key> + <value>1</value> + </param> + <param> + <key>alpha2</key> + <value>1.0</value> + </param> + <param> + <key>color2</key> + <value>"red"</value> + </param> + <param> + <key>label2</key> + <value></value> + </param> + <param> + <key>marker2</key> + <value>-1</value> + </param> + <param> + <key>style2</key> + <value>1</value> + </param> + <param> + <key>width2</key> + <value>1</value> + </param> + <param> + <key>alpha3</key> + <value>1.0</value> + </param> + <param> + <key>color3</key> + <value>"green"</value> + </param> + <param> + <key>label3</key> + <value></value> + </param> + <param> + <key>marker3</key> + <value>-1</value> + </param> + <param> + <key>style3</key> + <value>1</value> + </param> + <param> + <key>width3</key> + <value>1</value> + </param> + <param> + <key>alpha4</key> + <value>1.0</value> + </param> + <param> + <key>color4</key> + <value>"black"</value> + </param> + <param> + <key>label4</key> + <value></value> + </param> + <param> + <key>marker4</key> + <value>-1</value> + </param> + <param> + <key>style4</key> + <value>1</value> + </param> + <param> + <key>width4</key> + <value>1</value> + </param> + <param> + <key>alpha5</key> + <value>1.0</value> + </param> + <param> + <key>color5</key> + <value>"cyan"</value> + </param> + <param> + <key>label5</key> + <value></value> + </param> + <param> + <key>marker5</key> + <value>-1</value> + </param> + <param> + <key>style5</key> + <value>1</value> + </param> + <param> + <key>width5</key> + <value>1</value> + </param> + <param> + <key>alpha6</key> + <value>1.0</value> + </param> + <param> + <key>color6</key> + <value>"magenta"</value> + </param> + <param> + <key>label6</key> + <value></value> + </param> + <param> + <key>marker6</key> + <value>-1</value> + </param> + <param> + <key>style6</key> + <value>1</value> + </param> + <param> + <key>width6</key> + <value>1</value> + </param> + <param> + <key>alpha7</key> + <value>1.0</value> + </param> + <param> + <key>color7</key> + <value>"yellow"</value> + </param> + <param> + <key>label7</key> + <value></value> + </param> + <param> + <key>marker7</key> + <value>-1</value> + </param> + <param> + <key>style7</key> + <value>1</value> + </param> + <param> + <key>width7</key> + <value>1</value> + </param> + <param> + <key>alpha8</key> + <value>1.0</value> + </param> + <param> + <key>color8</key> + <value>"dark red"</value> + </param> + <param> + <key>label8</key> + <value></value> + </param> + <param> + <key>marker8</key> + <value>-1</value> + </param> + <param> + <key>style8</key> + <value>1</value> + </param> + <param> + <key>width8</key> + <value>1</value> + </param> + <param> + <key>alpha9</key> + <value>1.0</value> + </param> + <param> + <key>color9</key> + <value>"dark green"</value> + </param> + <param> + <key>label9</key> + <value></value> + </param> + <param> + <key>marker9</key> + <value>-1</value> + </param> + <param> + <key>style9</key> + <value>1</value> + </param> + <param> + <key>width9</key> + <value>1</value> + </param> + <param> + <key>name</key> + <value>""</value> + </param> + <param> + <key>nconnections</key> + <value>1</value> + </param> + <param> + <key>size</key> + <value>1024*64</value> + </param> + <param> + <key>srate</key> + <value>samp_rate</value> + </param> + <param> + <key>tr_chan</key> + <value>0</value> + </param> + <param> + <key>tr_delay</key> + <value>0</value> + </param> + <param> + <key>tr_level</key> + <value>0.0</value> + </param> + <param> + <key>tr_mode</key> + <value>qtgui.TRIG_MODE_FREE</value> + </param> + <param> + <key>tr_slope</key> + <value>qtgui.TRIG_SLOPE_POS</value> + </param> + <param> + <key>tr_tag</key> + <value>""</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>update_time</key> + <value>0.10</value> + </param> + <param> + <key>ylabel</key> + <value>Amplitude</value> + </param> + <param> + <key>yunit</key> + <value>""</value> + </param> + <param> + <key>ymax</key> + <value>1</value> + </param> + <param> + <key>ymin</key> + <value>-1</value> + </param> + </block> + <block> + <key>uhd_usrp_sink</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>ant0</key> + <value></value> + </param> + <param> + <key>bw0</key> + <value>0</value> + </param> + <param> + <key>center_freq0</key> + <value>freq</value> + </param> + <param> + <key>norm_gain0</key> + <value>False</value> + </param> + <param> + <key>gain0</key> + <value>txgain</value> + </param> + <param> + <key>ant10</key> + <value></value> + </param> + <param> + <key>bw10</key> + <value>0</value> + </param> + <param> + <key>center_freq10</key> + <value>0</value> + </param> + <param> + <key>norm_gain10</key> + <value>False</value> + </param> + <param> + <key>gain10</key> + <value>0</value> + </param> + <param> + <key>ant11</key> + <value></value> + </param> + <param> + <key>bw11</key> + <value>0</value> + </param> + <param> + <key>center_freq11</key> + <value>0</value> + </param> + <param> + <key>norm_gain11</key> + <value>False</value> + </param> + <param> + <key>gain11</key> + <value>0</value> + </param> + <param> + <key>ant12</key> + <value></value> + </param> + <param> + <key>bw12</key> + <value>0</value> + </param> + <param> + <key>center_freq12</key> + <value>0</value> + </param> + <param> + <key>norm_gain12</key> + <value>False</value> + </param> + <param> + <key>gain12</key> + <value>0</value> + </param> + <param> + <key>ant13</key> + <value></value> + </param> + <param> + <key>bw13</key> + <value>0</value> + </param> + <param> + <key>center_freq13</key> + <value>0</value> + </param> + <param> + <key>norm_gain13</key> + <value>False</value> + </param> + <param> + <key>gain13</key> + <value>0</value> + </param> + <param> + <key>ant14</key> + <value></value> + </param> + <param> + <key>bw14</key> + <value>0</value> + </param> + <param> + <key>center_freq14</key> + <value>0</value> + </param> + <param> + <key>norm_gain14</key> + <value>False</value> + </param> + <param> + <key>gain14</key> + <value>0</value> + </param> + <param> + <key>ant15</key> + <value></value> + </param> + <param> + <key>bw15</key> + <value>0</value> + </param> + <param> + <key>center_freq15</key> + <value>0</value> + </param> + <param> + <key>norm_gain15</key> + <value>False</value> + </param> + <param> + <key>gain15</key> + <value>0</value> + </param> + <param> + <key>ant16</key> + <value></value> + </param> + <param> + <key>bw16</key> + <value>0</value> + </param> + <param> + <key>center_freq16</key> + <value>0</value> + </param> + <param> + <key>norm_gain16</key> + <value>False</value> + </param> + <param> + <key>gain16</key> + <value>0</value> + </param> + <param> + <key>ant17</key> + <value></value> + </param> + <param> + <key>bw17</key> + <value>0</value> + </param> + <param> + <key>center_freq17</key> + <value>0</value> + </param> + <param> + <key>norm_gain17</key> + <value>False</value> + </param> + <param> + <key>gain17</key> + <value>0</value> + </param> + <param> + <key>ant18</key> + <value></value> + </param> + <param> + <key>bw18</key> + <value>0</value> + </param> + <param> + <key>center_freq18</key> + <value>0</value> + </param> + <param> + <key>norm_gain18</key> + <value>False</value> + </param> + <param> + <key>gain18</key> + <value>0</value> + </param> + <param> + <key>ant19</key> + <value></value> + </param> + <param> + <key>bw19</key> + <value>0</value> + </param> + <param> + <key>center_freq19</key> + <value>0</value> + </param> + <param> + <key>norm_gain19</key> + <value>False</value> + </param> + <param> + <key>gain19</key> + <value>0</value> + </param> + <param> + <key>ant1</key> + <value></value> + </param> + <param> + <key>bw1</key> + <value>0</value> + </param> + <param> + <key>center_freq1</key> + <value>0</value> + </param> + <param> + <key>norm_gain1</key> + <value>False</value> + </param> + <param> + <key>gain1</key> + <value>0</value> + </param> + <param> + <key>ant20</key> + <value></value> + </param> + <param> + <key>bw20</key> + <value>0</value> + </param> + <param> + <key>center_freq20</key> + <value>0</value> + </param> + <param> + <key>norm_gain20</key> + <value>False</value> + </param> + <param> + <key>gain20</key> + <value>0</value> + </param> + <param> + <key>ant21</key> + <value></value> + </param> + <param> + <key>bw21</key> + <value>0</value> + </param> + <param> + <key>center_freq21</key> + <value>0</value> + </param> + <param> + <key>norm_gain21</key> + <value>False</value> + </param> + <param> + <key>gain21</key> + <value>0</value> + </param> + <param> + <key>ant22</key> + <value></value> + </param> + <param> + <key>bw22</key> + <value>0</value> + </param> + <param> + <key>center_freq22</key> + <value>0</value> + </param> + <param> + <key>norm_gain22</key> + <value>False</value> + </param> + <param> + <key>gain22</key> + <value>0</value> + </param> + <param> + <key>ant23</key> + <value></value> + </param> + <param> + <key>bw23</key> + <value>0</value> + </param> + <param> + <key>center_freq23</key> + <value>0</value> + </param> + <param> + <key>norm_gain23</key> + <value>False</value> + </param> + <param> + <key>gain23</key> + <value>0</value> + </param> + <param> + <key>ant24</key> + <value></value> + </param> + <param> + <key>bw24</key> + <value>0</value> + </param> + <param> + <key>center_freq24</key> + <value>0</value> + </param> + <param> + <key>norm_gain24</key> + <value>False</value> + </param> + <param> + <key>gain24</key> + <value>0</value> + </param> + <param> + <key>ant25</key> + <value></value> + </param> + <param> + <key>bw25</key> + <value>0</value> + </param> + <param> + <key>center_freq25</key> + <value>0</value> + </param> + <param> + <key>norm_gain25</key> + <value>False</value> + </param> + <param> + <key>gain25</key> + <value>0</value> + </param> + <param> + <key>ant26</key> + <value></value> + </param> + <param> + <key>bw26</key> + <value>0</value> + </param> + <param> + <key>center_freq26</key> + <value>0</value> + </param> + <param> + <key>norm_gain26</key> + <value>False</value> + </param> + <param> + <key>gain26</key> + <value>0</value> + </param> + <param> + <key>ant27</key> + <value></value> + </param> + <param> + <key>bw27</key> + <value>0</value> + </param> + <param> + <key>center_freq27</key> + <value>0</value> + </param> + <param> + <key>norm_gain27</key> + <value>False</value> + </param> + <param> + <key>gain27</key> + <value>0</value> + </param> + <param> + <key>ant28</key> + <value></value> + </param> + <param> + <key>bw28</key> + <value>0</value> + </param> + <param> + <key>center_freq28</key> + <value>0</value> + </param> + <param> + <key>norm_gain28</key> + <value>False</value> + </param> + <param> + <key>gain28</key> + <value>0</value> + </param> + <param> + <key>ant29</key> + <value></value> + </param> + <param> + <key>bw29</key> + <value>0</value> + </param> + <param> + <key>center_freq29</key> + <value>0</value> + </param> + <param> + <key>norm_gain29</key> + <value>False</value> + </param> + <param> + <key>gain29</key> + <value>0</value> + </param> + <param> + <key>ant2</key> + <value></value> + </param> + <param> + <key>bw2</key> + <value>0</value> + </param> + <param> + <key>center_freq2</key> + <value>0</value> + </param> + <param> + <key>norm_gain2</key> + <value>False</value> + </param> + <param> + <key>gain2</key> + <value>0</value> + </param> + <param> + <key>ant30</key> + <value></value> + </param> + <param> + <key>bw30</key> + <value>0</value> + </param> + <param> + <key>center_freq30</key> + <value>0</value> + </param> + <param> + <key>norm_gain30</key> + <value>False</value> + </param> + <param> + <key>gain30</key> + <value>0</value> + </param> + <param> + <key>ant31</key> + <value></value> + </param> + <param> + <key>bw31</key> + <value>0</value> + </param> + <param> + <key>center_freq31</key> + <value>0</value> + </param> + <param> + <key>norm_gain31</key> + <value>False</value> + </param> + <param> + <key>gain31</key> + <value>0</value> + </param> + <param> + <key>ant3</key> + <value></value> + </param> + <param> + <key>bw3</key> + <value>0</value> + </param> + <param> + <key>center_freq3</key> + <value>0</value> + </param> + <param> + <key>norm_gain3</key> + <value>False</value> + </param> + <param> + <key>gain3</key> + <value>0</value> + </param> + <param> + <key>ant4</key> + <value></value> + </param> + <param> + <key>bw4</key> + <value>0</value> + </param> + <param> + <key>center_freq4</key> + <value>0</value> + </param> + <param> + <key>norm_gain4</key> + <value>False</value> + </param> + <param> + <key>gain4</key> + <value>0</value> + </param> + <param> + <key>ant5</key> + <value></value> + </param> + <param> + <key>bw5</key> + <value>0</value> + </param> + <param> + <key>center_freq5</key> + <value>0</value> + </param> + <param> + <key>norm_gain5</key> + <value>False</value> + </param> + <param> + <key>gain5</key> + <value>0</value> + </param> + <param> + <key>ant6</key> + <value></value> + </param> + <param> + <key>bw6</key> + <value>0</value> + </param> + <param> + <key>center_freq6</key> + <value>0</value> + </param> + <param> + <key>norm_gain6</key> + <value>False</value> + </param> + <param> + <key>gain6</key> + <value>0</value> + </param> + <param> + <key>ant7</key> + <value></value> + </param> + <param> + <key>bw7</key> + <value>0</value> + </param> + <param> + <key>center_freq7</key> + <value>0</value> + </param> + <param> + <key>norm_gain7</key> + <value>False</value> + </param> + <param> + <key>gain7</key> + <value>0</value> + </param> + <param> + <key>ant8</key> + <value></value> + </param> + <param> + <key>bw8</key> + <value>0</value> + </param> + <param> + <key>center_freq8</key> + <value>0</value> + </param> + <param> + <key>norm_gain8</key> + <value>False</value> + </param> + <param> + <key>gain8</key> + <value>0</value> + </param> + <param> + <key>ant9</key> + <value></value> + </param> + <param> + <key>bw9</key> + <value>0</value> + </param> + <param> + <key>center_freq9</key> + <value>0</value> + </param> + <param> + <key>norm_gain9</key> + <value>False</value> + </param> + <param> + <key>gain9</key> + <value>0</value> + </param> + <param> + <key>clock_rate</key> + <value>0.0</value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>dev_addr</key> + <value>""</value> + </param> + <param> + <key>dev_args</key> + <value>""</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(472, 7)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>uhd_usrp_sink_0_0</value> + </param> + <param> + <key>type</key> + <value>fc32</value> + </param> + <param> + <key>clock_source0</key> + <value></value> + </param> + <param> + <key>sd_spec0</key> + <value></value> + </param> + <param> + <key>time_source0</key> + <value></value> + </param> + <param> + <key>clock_source1</key> + <value></value> + </param> + <param> + <key>sd_spec1</key> + <value></value> + </param> + <param> + <key>time_source1</key> + <value></value> + </param> + <param> + <key>clock_source2</key> + <value></value> + </param> + <param> + <key>sd_spec2</key> + <value></value> + </param> + <param> + <key>time_source2</key> + <value></value> + </param> + <param> + <key>clock_source3</key> + <value></value> + </param> + <param> + <key>sd_spec3</key> + <value></value> + </param> + <param> + <key>time_source3</key> + <value></value> + </param> + <param> + <key>clock_source4</key> + <value></value> + </param> + <param> + <key>sd_spec4</key> + <value></value> + </param> + <param> + <key>time_source4</key> + <value></value> + </param> + <param> + <key>clock_source5</key> + <value></value> + </param> + <param> + <key>sd_spec5</key> + <value></value> + </param> + <param> + <key>time_source5</key> + <value></value> + </param> + <param> + <key>clock_source6</key> + <value></value> + </param> + <param> + <key>sd_spec6</key> + <value></value> + </param> + <param> + <key>time_source6</key> + <value></value> + </param> + <param> + <key>clock_source7</key> + <value></value> + </param> + <param> + <key>sd_spec7</key> + <value></value> + </param> + <param> + <key>time_source7</key> + <value></value> + </param> + <param> + <key>nchan</key> + <value>1</value> + </param> + <param> + <key>num_mboards</key> + <value>1</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>hide_cmd_port</key> + <value>False</value> + </param> + <param> + <key>stream_args</key> + <value></value> + </param> + <param> + <key>stream_chans</key> + <value>[]</value> + </param> + <param> + <key>sync</key> + <value></value> + </param> + <param> + <key>len_tag_name</key> + <value></value> + </param> + <param> + <key>otw</key> + <value></value> + </param> + </block> + <block> + <key>uhd_usrp_source</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>ant0</key> + <value></value> + </param> + <param> + <key>bw0</key> + <value>0</value> + </param> + <param> + <key>center_freq0</key> + <value>freq</value> + </param> + <param> + <key>dc_offs_enb0</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb0</key> + <value>""</value> + </param> + <param> + <key>norm_gain0</key> + <value>False</value> + </param> + <param> + <key>gain0</key> + <value>rxgain</value> + </param> + <param> + <key>ant10</key> + <value></value> + </param> + <param> + <key>bw10</key> + <value>0</value> + </param> + <param> + <key>center_freq10</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb10</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb10</key> + <value>""</value> + </param> + <param> + <key>norm_gain10</key> + <value>False</value> + </param> + <param> + <key>gain10</key> + <value>0</value> + </param> + <param> + <key>ant11</key> + <value></value> + </param> + <param> + <key>bw11</key> + <value>0</value> + </param> + <param> + <key>center_freq11</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb11</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb11</key> + <value>""</value> + </param> + <param> + <key>norm_gain11</key> + <value>False</value> + </param> + <param> + <key>gain11</key> + <value>0</value> + </param> + <param> + <key>ant12</key> + <value></value> + </param> + <param> + <key>bw12</key> + <value>0</value> + </param> + <param> + <key>center_freq12</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb12</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb12</key> + <value>""</value> + </param> + <param> + <key>norm_gain12</key> + <value>False</value> + </param> + <param> + <key>gain12</key> + <value>0</value> + </param> + <param> + <key>ant13</key> + <value></value> + </param> + <param> + <key>bw13</key> + <value>0</value> + </param> + <param> + <key>center_freq13</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb13</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb13</key> + <value>""</value> + </param> + <param> + <key>norm_gain13</key> + <value>False</value> + </param> + <param> + <key>gain13</key> + <value>0</value> + </param> + <param> + <key>ant14</key> + <value></value> + </param> + <param> + <key>bw14</key> + <value>0</value> + </param> + <param> + <key>center_freq14</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb14</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb14</key> + <value>""</value> + </param> + <param> + <key>norm_gain14</key> + <value>False</value> + </param> + <param> + <key>gain14</key> + <value>0</value> + </param> + <param> + <key>ant15</key> + <value></value> + </param> + <param> + <key>bw15</key> + <value>0</value> + </param> + <param> + <key>center_freq15</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb15</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb15</key> + <value>""</value> + </param> + <param> + <key>norm_gain15</key> + <value>False</value> + </param> + <param> + <key>gain15</key> + <value>0</value> + </param> + <param> + <key>ant16</key> + <value></value> + </param> + <param> + <key>bw16</key> + <value>0</value> + </param> + <param> + <key>center_freq16</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb16</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb16</key> + <value>""</value> + </param> + <param> + <key>norm_gain16</key> + <value>False</value> + </param> + <param> + <key>gain16</key> + <value>0</value> + </param> + <param> + <key>ant17</key> + <value></value> + </param> + <param> + <key>bw17</key> + <value>0</value> + </param> + <param> + <key>center_freq17</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb17</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb17</key> + <value>""</value> + </param> + <param> + <key>norm_gain17</key> + <value>False</value> + </param> + <param> + <key>gain17</key> + <value>0</value> + </param> + <param> + <key>ant18</key> + <value></value> + </param> + <param> + <key>bw18</key> + <value>0</value> + </param> + <param> + <key>center_freq18</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb18</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb18</key> + <value>""</value> + </param> + <param> + <key>norm_gain18</key> + <value>False</value> + </param> + <param> + <key>gain18</key> + <value>0</value> + </param> + <param> + <key>ant19</key> + <value></value> + </param> + <param> + <key>bw19</key> + <value>0</value> + </param> + <param> + <key>center_freq19</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb19</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb19</key> + <value>""</value> + </param> + <param> + <key>norm_gain19</key> + <value>False</value> + </param> + <param> + <key>gain19</key> + <value>0</value> + </param> + <param> + <key>ant1</key> + <value></value> + </param> + <param> + <key>bw1</key> + <value>0</value> + </param> + <param> + <key>center_freq1</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb1</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb1</key> + <value>""</value> + </param> + <param> + <key>norm_gain1</key> + <value>False</value> + </param> + <param> + <key>gain1</key> + <value>0</value> + </param> + <param> + <key>ant20</key> + <value></value> + </param> + <param> + <key>bw20</key> + <value>0</value> + </param> + <param> + <key>center_freq20</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb20</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb20</key> + <value>""</value> + </param> + <param> + <key>norm_gain20</key> + <value>False</value> + </param> + <param> + <key>gain20</key> + <value>0</value> + </param> + <param> + <key>ant21</key> + <value></value> + </param> + <param> + <key>bw21</key> + <value>0</value> + </param> + <param> + <key>center_freq21</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb21</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb21</key> + <value>""</value> + </param> + <param> + <key>norm_gain21</key> + <value>False</value> + </param> + <param> + <key>gain21</key> + <value>0</value> + </param> + <param> + <key>ant22</key> + <value></value> + </param> + <param> + <key>bw22</key> + <value>0</value> + </param> + <param> + <key>center_freq22</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb22</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb22</key> + <value>""</value> + </param> + <param> + <key>norm_gain22</key> + <value>False</value> + </param> + <param> + <key>gain22</key> + <value>0</value> + </param> + <param> + <key>ant23</key> + <value></value> + </param> + <param> + <key>bw23</key> + <value>0</value> + </param> + <param> + <key>center_freq23</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb23</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb23</key> + <value>""</value> + </param> + <param> + <key>norm_gain23</key> + <value>False</value> + </param> + <param> + <key>gain23</key> + <value>0</value> + </param> + <param> + <key>ant24</key> + <value></value> + </param> + <param> + <key>bw24</key> + <value>0</value> + </param> + <param> + <key>center_freq24</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb24</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb24</key> + <value>""</value> + </param> + <param> + <key>norm_gain24</key> + <value>False</value> + </param> + <param> + <key>gain24</key> + <value>0</value> + </param> + <param> + <key>ant25</key> + <value></value> + </param> + <param> + <key>bw25</key> + <value>0</value> + </param> + <param> + <key>center_freq25</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb25</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb25</key> + <value>""</value> + </param> + <param> + <key>norm_gain25</key> + <value>False</value> + </param> + <param> + <key>gain25</key> + <value>0</value> + </param> + <param> + <key>ant26</key> + <value></value> + </param> + <param> + <key>bw26</key> + <value>0</value> + </param> + <param> + <key>center_freq26</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb26</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb26</key> + <value>""</value> + </param> + <param> + <key>norm_gain26</key> + <value>False</value> + </param> + <param> + <key>gain26</key> + <value>0</value> + </param> + <param> + <key>ant27</key> + <value></value> + </param> + <param> + <key>bw27</key> + <value>0</value> + </param> + <param> + <key>center_freq27</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb27</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb27</key> + <value>""</value> + </param> + <param> + <key>norm_gain27</key> + <value>False</value> + </param> + <param> + <key>gain27</key> + <value>0</value> + </param> + <param> + <key>ant28</key> + <value></value> + </param> + <param> + <key>bw28</key> + <value>0</value> + </param> + <param> + <key>center_freq28</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb28</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb28</key> + <value>""</value> + </param> + <param> + <key>norm_gain28</key> + <value>False</value> + </param> + <param> + <key>gain28</key> + <value>0</value> + </param> + <param> + <key>ant29</key> + <value></value> + </param> + <param> + <key>bw29</key> + <value>0</value> + </param> + <param> + <key>center_freq29</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb29</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb29</key> + <value>""</value> + </param> + <param> + <key>norm_gain29</key> + <value>False</value> + </param> + <param> + <key>gain29</key> + <value>0</value> + </param> + <param> + <key>ant2</key> + <value></value> + </param> + <param> + <key>bw2</key> + <value>0</value> + </param> + <param> + <key>center_freq2</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb2</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb2</key> + <value>""</value> + </param> + <param> + <key>norm_gain2</key> + <value>False</value> + </param> + <param> + <key>gain2</key> + <value>0</value> + </param> + <param> + <key>ant30</key> + <value></value> + </param> + <param> + <key>bw30</key> + <value>0</value> + </param> + <param> + <key>center_freq30</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb30</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb30</key> + <value>""</value> + </param> + <param> + <key>norm_gain30</key> + <value>False</value> + </param> + <param> + <key>gain30</key> + <value>0</value> + </param> + <param> + <key>ant31</key> + <value></value> + </param> + <param> + <key>bw31</key> + <value>0</value> + </param> + <param> + <key>center_freq31</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb31</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb31</key> + <value>""</value> + </param> + <param> + <key>norm_gain31</key> + <value>False</value> + </param> + <param> + <key>gain31</key> + <value>0</value> + </param> + <param> + <key>ant3</key> + <value></value> + </param> + <param> + <key>bw3</key> + <value>0</value> + </param> + <param> + <key>center_freq3</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb3</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb3</key> + <value>""</value> + </param> + <param> + <key>norm_gain3</key> + <value>False</value> + </param> + <param> + <key>gain3</key> + <value>0</value> + </param> + <param> + <key>ant4</key> + <value></value> + </param> + <param> + <key>bw4</key> + <value>0</value> + </param> + <param> + <key>center_freq4</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb4</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb4</key> + <value>""</value> + </param> + <param> + <key>norm_gain4</key> + <value>False</value> + </param> + <param> + <key>gain4</key> + <value>0</value> + </param> + <param> + <key>ant5</key> + <value></value> + </param> + <param> + <key>bw5</key> + <value>0</value> + </param> + <param> + <key>center_freq5</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb5</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb5</key> + <value>""</value> + </param> + <param> + <key>norm_gain5</key> + <value>False</value> + </param> + <param> + <key>gain5</key> + <value>0</value> + </param> + <param> + <key>ant6</key> + <value></value> + </param> + <param> + <key>bw6</key> + <value>0</value> + </param> + <param> + <key>center_freq6</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb6</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb6</key> + <value>""</value> + </param> + <param> + <key>norm_gain6</key> + <value>False</value> + </param> + <param> + <key>gain6</key> + <value>0</value> + </param> + <param> + <key>ant7</key> + <value></value> + </param> + <param> + <key>bw7</key> + <value>0</value> + </param> + <param> + <key>center_freq7</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb7</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb7</key> + <value>""</value> + </param> + <param> + <key>norm_gain7</key> + <value>False</value> + </param> + <param> + <key>gain7</key> + <value>0</value> + </param> + <param> + <key>ant8</key> + <value></value> + </param> + <param> + <key>bw8</key> + <value>0</value> + </param> + <param> + <key>center_freq8</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb8</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb8</key> + <value>""</value> + </param> + <param> + <key>norm_gain8</key> + <value>False</value> + </param> + <param> + <key>gain8</key> + <value>0</value> + </param> + <param> + <key>ant9</key> + <value></value> + </param> + <param> + <key>bw9</key> + <value>0</value> + </param> + <param> + <key>center_freq9</key> + <value>0</value> + </param> + <param> + <key>dc_offs_enb9</key> + <value>""</value> + </param> + <param> + <key>iq_imbal_enb9</key> + <value>""</value> + </param> + <param> + <key>norm_gain9</key> + <value>False</value> + </param> + <param> + <key>gain9</key> + <value>0</value> + </param> + <param> + <key>clock_rate</key> + <value>0.0</value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>dev_addr</key> + <value>""</value> + </param> + <param> + <key>dev_args</key> + <value>""</value> + </param> + <param> + <key>_enabled</key> + <value>1</value> + </param> + <param> + <key>_coordinate</key> + <value>(472, 110)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>uhd_usrp_source_0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>clock_source0</key> + <value></value> + </param> + <param> + <key>sd_spec0</key> + <value></value> + </param> + <param> + <key>time_source0</key> + <value></value> + </param> + <param> + <key>clock_source1</key> + <value></value> + </param> + <param> + <key>sd_spec1</key> + <value></value> + </param> + <param> + <key>time_source1</key> + <value></value> + </param> + <param> + <key>clock_source2</key> + <value></value> + </param> + <param> + <key>sd_spec2</key> + <value></value> + </param> + <param> + <key>time_source2</key> + <value></value> + </param> + <param> + <key>clock_source3</key> + <value></value> + </param> + <param> + <key>sd_spec3</key> + <value></value> + </param> + <param> + <key>time_source3</key> + <value></value> + </param> + <param> + <key>clock_source4</key> + <value></value> + </param> + <param> + <key>sd_spec4</key> + <value></value> + </param> + <param> + <key>time_source4</key> + <value></value> + </param> + <param> + <key>clock_source5</key> + <value></value> + </param> + <param> + <key>sd_spec5</key> + <value></value> + </param> + <param> + <key>time_source5</key> + <value></value> + </param> + <param> + <key>clock_source6</key> + <value></value> + </param> + <param> + <key>sd_spec6</key> + <value></value> + </param> + <param> + <key>time_source6</key> + <value></value> + </param> + <param> + <key>clock_source7</key> + <value></value> + </param> + <param> + <key>sd_spec7</key> + <value></value> + </param> + <param> + <key>time_source7</key> + <value></value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>nchan</key> + <value>1</value> + </param> + <param> + <key>num_mboards</key> + <value>1</value> + </param> + <param> + <key>type</key> + <value>fc32</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>hide_cmd_port</key> + <value>False</value> + </param> + <param> + <key>stream_args</key> + <value></value> + </param> + <param> + <key>stream_chans</key> + <value>[]</value> + </param> + <param> + <key>sync</key> + <value></value> + </param> + <param> + <key>otw</key> + <value></value> + </param> + </block> + <connection> + <source_block_id>analog_sig_source_x_0</source_block_id> + <sink_block_id>blocks_add_xx_0</sink_block_id> + <source_key>0</source_key> + <sink_key>1</sink_key> + </connection> + <connection> + <source_block_id>analog_sig_source_x_1</source_block_id> + <sink_block_id>blocks_add_xx_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_add_xx_0</source_block_id> + <sink_block_id>blocks_multiply_const_vxx_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_delay_0</source_block_id> + <sink_block_id>blocks_file_sink_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_delay_0</source_block_id> + <sink_block_id>dpd_memless_poly_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_delay_0_0</source_block_id> + <sink_block_id>blocks_multiply_const_vxx_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_file_source_0</source_block_id> + <sink_block_id>blocks_delay_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_multiply_const_vxx_0</source_block_id> + <sink_block_id>blocks_null_sink_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_multiply_const_vxx_0</source_block_id> + <sink_block_id>file_sink_out</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_multiply_const_vxx_0</source_block_id> + <sink_block_id>logpwrfft_x_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_multiply_const_vxx_0</source_block_id> + <sink_block_id>qtgui_freq_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_multiply_const_vxx_0</source_block_id> + <sink_block_id>qtgui_time_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_multiply_const_vxx_0_0</source_block_id> + <sink_block_id>blocks_delay_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>dpd_memless_poly_0</source_block_id> + <sink_block_id>uhd_usrp_sink_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>logpwrfft_x_0_0</source_block_id> + <sink_block_id>blks2_tcp_sink_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>uhd_usrp_source_0</source_block_id> + <sink_block_id>blocks_delay_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> +</flow_graph> diff --git a/receive_tcp.ipynb b/receive_tcp.ipynb index 8c2cb79..5352b50 100644 --- a/receive_tcp.ipynb +++ b/receive_tcp.ipynb @@ -20,6 +20,8 @@ "import src.signal_gen as sg\n", "import src.tcp_sync as ts\n", "import src.dab_tuning_lib as dt\n", + "import pandas as pd\n", + "from tqdm import tqdm\n", "reload(sg)\n", "reload(du)\n", "reload(dt)" @@ -34,7 +36,20 @@ }, "outputs": [], "source": [ - "import src.SendDictTcp as sdt" + "use_fft=False" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "if use_fft: t1 = ts.UhdSyncMsg(port=47009, packet_size=4*16384, packet_type=\"f\"*16384)\n", + "else: t1 = ts.UhdSyncMsg(port=47009, packet_size=4*1, packet_type=\"f\")" ] }, { @@ -46,7 +61,7 @@ }, "outputs": [], "source": [ - "t1 = ts.UhdSyncMsg(port=47009, packet_size=4*16384, packet_type=\"f\"*16384)" + "import src.SendDictTcp as sdt" ] }, { @@ -69,7 +84,35 @@ "editable": true }, "outputs": [], - "source": [] + "source": [ + "sender.send({\"txgain\":80})\n", + "sender.send({\"rxgain\":15})\n", + "sender.send({\"a1\":0.8})\n", + "sender.send({\"a2\":0.0})\n", + "sender.send({\"a3\":0.0})\n", + "sender.send({\"a4\":0.0})\n", + "sender.send({\"a5\":0.0})\n", + "sender.send({\"a6\":0.0})\n", + "sender.send({\"a7\":0.0})\n", + "sender.send({\"a8\":0.0})" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "t1.has_msg()\n", + "t = time.time()\n", + "t1.get_msgs(10000)\n", + "print( time.time() - t)\n", + "t = time.time()\n", + "t1.get_msgs(10000)" + ] }, { "cell_type": "code", @@ -80,7 +123,19 @@ }, "outputs": [], "source": [ - "sender.send({\"txgain\":60})" + "reload(dt)\n", + "sender.send({\"txgain\":81})\n", + "sender.send({\"rxgain\":15})\n", + "sender.send({\"a1\":0.8})\n", + "sender.send({\"a2\":0.0})\n", + "sender.send({\"a3\":0.0})\n", + "sender.send({\"a4\":0.0})\n", + "sender.send({\"a5\":0.0})\n", + "sender.send({\"a6\":0.0})\n", + "sender.send({\"a7\":0.0})\n", + "sender.send({\"a8\":0.0})\n", + "t1.has_msg()\n", + "np.mean(t1.get_msgs(10000))" ] }, { @@ -92,7 +147,7 @@ }, "outputs": [], "source": [ - "sender.send({\"a1\":1})" + "reload(dt)" ] }, { @@ -103,6 +158,50 @@ "editable": true }, "outputs": [], + "source": [ + "def measure_sholders(verbose = False, raw_data=False, std_max=0.025):\n", + " for i in range(20):\n", + " try:\n", + " if verbose: print(\"%d measurement\" % i)\n", + " t1.has_msg()\n", + " msgs = t1.get_msgs_fft(20000)\n", + " #sholders = [dt.calc_signal_sholder_ratio(np.array(msg), 8000000) for msg in msgs]\n", + " #sholders = [dt.calc_max_in_freq_range(np.array(msg), 8000000, 1000000, 1900000, debug=False) for msg in msgs]\n", + " #sholders = [dt.calc_mean_in_freq_range(np.array(msg), 8000000, 1000000, 1900000, debug=False) for msg in msgs]\n", + " sholders = np.array(msgs)\n", + " std = np.std(sholders)\n", + " mean = np.mean(sholders)\n", + " std_perc = std/np.abs(mean)\n", + " if verbose == 2:\n", + " print( {\"mean\":mean, \"std\":std, \"std_perc\":std_perc})\n", + " if std_perc > std_max:\n", + " if verbose: print(\"%.4f std/mean\" % (std_perc))\n", + " continue\n", + " else:\n", + " if raw_data: return sholders\n", + " else: return np.mean(sholders)\n", + " except Exception as e:\n", + " print e\n", + " raise Exception(\"Variance of measurement to high\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "a = np.array(measure_sholders(verbose=2, std_max=100, raw_data=True)).flatten()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [] }, { @@ -114,18 +213,8 @@ }, "outputs": [], "source": [ - "def measure_sholders():\n", - " for i in range(10):\n", - " t1.has_msg()\n", - " msgs = t1.get_msgs(20)\n", - " sholders = [dt.calc_signal_sholder_ratio(np.array(msg), 8000000) for msg in msgs]\n", - " std = np.std(sholders)\n", - " mean = np.mean(sholders)\n", - " if std/mean < 0.05:\n", - " continue\n", - " else:\n", - " return np.mean(sholders)\n", - " raise Exception(\"Variance of measurement to high\")" + "b = a[a<0.04]\n", + "plt.hist(b, bins=100);" ] }, { @@ -137,7 +226,33 @@ }, "outputs": [], "source": [ - "measure_sholders()" + "from tqdm import tqdm_notebook\n", + "\n", + "sender.send({\"txgain\":83})\n", + "sender.send({\"rxgain\":15})\n", + "sender.send({\"a1\":0.8})\n", + "\n", + "res = []\n", + "err = []\n", + "t = time.time()\n", + "for a2 in tqdm_notebook(np.linspace(-0.5, 0.5, num=10)):\n", + " for a3 in tqdm_notebook([0]):\n", + " for a4 in tqdm_notebook([0]):\n", + "#for a2 in tqdm_notebook(np.linspace(-0.5, 0.5, num=21)):\n", + "# for a3 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + "# for a4 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + " try:\n", + " sender.send({\"a2\":a2})\n", + " sender.send({\"a3\":a3})\n", + " sender.send({\"a4\":a4})\n", + " losses = measure_sholders(verbose=0, std_max=100, raw_data=True)\n", + " for i, loss in enumerate(losses):\n", + " res.append({\"a2\":a2, \"a3\":a3, \"a4\":a4, \"loss\":loss, \"run\":i})\n", + " except Exception as e:\n", + " err.append(e)\n", + " df = pd.DataFrame(res)\n", + " df.to_csv(\"/tmp/sholder_a2.csv\")\n", + "print(time.time() - t)" ] }, { @@ -148,7 +263,26 @@ "editable": true }, "outputs": [], - "source": [] + "source": [ + "res = []\n", + "err = []\n", + "t = time.time()\n", + "for a2 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + " for a3 in tqdm_notebook(np.linspace(-0.5, 0.5, num=21)):\n", + " for a4 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + " try:\n", + " sender.send({\"a2\":a2})\n", + " sender.send({\"a3\":a3})\n", + " sender.send({\"a4\":a4})\n", + " losses = measure_sholders(raw_data=True, std=0.03)\n", + " for i, loss in enumerate(losses):\n", + " res.append({\"a2\":a2, \"a3\":a3, \"a4\":a4, \"loss\":loss, \"run\":i})\n", + " except Exception as e:\n", + " err.append(e)\n", + " df = pd.DataFrame(res)\n", + " df.to_csv(\"/tmp/sholder_a3.csv\")\n", + "print(time.time() - t)" + ] }, { "cell_type": "code", @@ -159,7 +293,24 @@ }, "outputs": [], "source": [ - "t1.has_msg()" + "res = []\n", + "err = []\n", + "t = time.time()\n", + "for a2 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + " for a3 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + " for a4 in tqdm_notebook(np.linspace(-0.5, 0.5, num=21)):\n", + " try:\n", + " sender.send({\"a2\":a2})\n", + " sender.send({\"a3\":a3})\n", + " sender.send({\"a4\":a4})\n", + " losses = measure_sholders(raw_data=True, std=0.03)\n", + " for i, loss in enumerate(losses):\n", + " res.append({\"a2\":a2, \"a3\":a3, \"a4\":a4, \"loss\":loss, \"run\":i})\n", + " except Exception as e:\n", + " err.append(e)\n", + " df = pd.DataFrame(res)\n", + " df.to_csv(\"/tmp/sholder_a4.csv\")\n", + "print(time.time() - t)" ] }, { @@ -180,7 +331,69 @@ "editable": true }, "outputs": [], - "source": [] + "source": [ + "from tqdm import tqdm_notebook\n", + "\n", + "sender.send({\"txgain\":81})\n", + "sender.send({\"rxgain\":15})\n", + "sender.send({\"a1\":0.8})\n", + "\n", + "res = []\n", + "err = []\n", + "t = time.time()\n", + "for a2 in tqdm_notebook(np.linspace(-0.5, 0.5, num=21)):\n", + " for a3 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + " for a4 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + " try:\n", + " sender.send({\"a2\":a2})\n", + " sender.send({\"a3\":a3})\n", + " sender.send({\"a4\":a4})\n", + " losses = measure_sholders(raw_data=True, std=0.03)\n", + " for i, loss in enumerate(losses):\n", + " res.append({\"a2\":a2, \"a3\":a3, \"a4\":a4, \"loss\":loss, \"run\":i})\n", + " except Exception as e:\n", + " err.append(e)\n", + " df = pd.DataFrame(res)\n", + " df.to_csv(\"/tmp/sholder_a2_81.csv\")\n", + "print(time.time() - t)\n", + "\n", + "res = []\n", + "err = []\n", + "t = time.time()\n", + "for a2 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + " for a3 in tqdm_notebook(np.linspace(-0.5, 0.5, num=21)):\n", + " for a4 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + " try:\n", + " sender.send({\"a2\":a2})\n", + " sender.send({\"a3\":a3})\n", + " sender.send({\"a4\":a4})\n", + " losses = measure_sholders(raw_data=True, std=0.03)\n", + " for i, loss in enumerate(losses):\n", + " res.append({\"a2\":a2, \"a3\":a3, \"a4\":a4, \"loss\":loss, \"run\":i})\n", + " except Exception as e:\n", + " err.append(e)\n", + " df = pd.DataFrame(res)\n", + " df.to_csv(\"/tmp/sholder_a3_81.csv\")\n", + "print(time.time() - t)\n", + "res = []\n", + "err = []\n", + "t = time.time()\n", + "for a2 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + " for a3 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + " for a4 in tqdm_notebook(np.linspace(-0.5, 0.5, num=21)):\n", + " try:\n", + " sender.send({\"a2\":a2})\n", + " sender.send({\"a3\":a3})\n", + " sender.send({\"a4\":a4})\n", + " losses = measure_sholders(raw_data=True, std=0.03)\n", + " for i, loss in enumerate(losses):\n", + " res.append({\"a2\":a2, \"a3\":a3, \"a4\":a4, \"loss\":loss, \"run\":i})\n", + " except Exception as e:\n", + " err.append(e)\n", + " df = pd.DataFrame(res)\n", + " df.to_csv(\"/tmp/sholder_a4_81.csv\")\n", + "print(time.time() - t)" + ] }, { "cell_type": "code", @@ -190,7 +403,69 @@ "editable": true }, "outputs": [], - "source": [] + "source": [ + "from tqdm import tqdm_notebook\n", + "\n", + "sender.send({\"txgain\":85})\n", + "sender.send({\"rxgain\":15})\n", + "sender.send({\"a1\":0.8})\n", + "\n", + "res = []\n", + "err = []\n", + "t = time.time()\n", + "for a2 in tqdm_notebook(np.linspace(-0.5, 0.5, num=21)):\n", + " for a3 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + " for a4 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + " try:\n", + " sender.send({\"a2\":a2})\n", + " sender.send({\"a3\":a3})\n", + " sender.send({\"a4\":a4})\n", + " losses = measure_sholders(raw_data=True, std=0.03)\n", + " for i, loss in enumerate(losses):\n", + " res.append({\"a2\":a2, \"a3\":a3, \"a4\":a4, \"loss\":loss, \"run\":i})\n", + " except Exception as e:\n", + " err.append(e)\n", + " df = pd.DataFrame(res)\n", + " df.to_csv(\"/tmp/sholder_a2_85.csv\")\n", + "print(time.time() - t)\n", + "\n", + "res = []\n", + "err = []\n", + "t = time.time()\n", + "for a2 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + " for a3 in tqdm_notebook(np.linspace(-0.5, 0.5, num=21)):\n", + " for a4 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + " try:\n", + " sender.send({\"a2\":a2})\n", + " sender.send({\"a3\":a3})\n", + " sender.send({\"a4\":a4})\n", + " losses = measure_sholders(raw_data=True, std=0.03)\n", + " for i, loss in enumerate(losses):\n", + " res.append({\"a2\":a2, \"a3\":a3, \"a4\":a4, \"loss\":loss, \"run\":i})\n", + " except Exception as e:\n", + " err.append(e)\n", + " df = pd.DataFrame(res)\n", + " df.to_csv(\"/tmp/sholder_a3_85.csv\")\n", + "print(time.time() - t)\n", + "res = []\n", + "err = []\n", + "t = time.time()\n", + "for a2 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + " for a3 in tqdm_notebook(np.linspace(-0.2, 0.2, num=5)):\n", + " for a4 in tqdm_notebook(np.linspace(-0.5, 0.5, num=21)):\n", + " try:\n", + " sender.send({\"a2\":a2})\n", + " sender.send({\"a3\":a3})\n", + " sender.send({\"a4\":a4})\n", + " losses = measure_sholders(raw_data=True, std=0.03)\n", + " for i, loss in enumerate(losses):\n", + " res.append({\"a2\":a2, \"a3\":a3, \"a4\":a4, \"loss\":loss, \"run\":i})\n", + " except Exception as e:\n", + " err.append(e)\n", + " df = pd.DataFrame(res)\n", + " df.to_csv(\"/tmp/sholder_a4_85.csv\")\n", + "print(time.time() - t)" + ] }, { "cell_type": "code", @@ -201,8 +476,9 @@ }, "outputs": [], "source": [ - "#top.stop()\n", - "#top.wait()" + "sender.send({\"txgain\":20})\n", + "sender.send({\"rxgain\":15})\n", + "sender.send({\"a1\":0.1})" ] }, { diff --git a/src/ReceiveDictTcp.py b/src/ReceiveDictTcp.py index 3feec31..784afb6 100644 --- a/src/ReceiveDictTcp.py +++ b/src/ReceiveDictTcp.py @@ -5,9 +5,10 @@ from Queue import Queue import sys class ReceiveDictTcp(object): - def __init__(self, host, port): + def __init__(self, host, port, verbose=False): self.host = host self.port = port + self.verbose = verbose self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self.sock.bind((self.host, self.port)) @@ -21,17 +22,18 @@ class ReceiveDictTcp(object): self.sock.listen(5) while True: client, address = self.sock.accept() - client.settimeout(0) - print("connecting to " + str(client) + " " + str(address)) + client.setblocking(1) + if self.verbose: print("connecting to " + str(client) + " " + str(address)) self.listenToClient(client,address) def listenToClient(self, client, address): size = 1024 while True: + if self.verbose: print("Try receiving") try: data = client.recv(size) if data: - # Set the response to echo back the recieved data + # Set the response to echo back the recieved data jresponse = data response = json.loads(jresponse) client.send(json.dumps(response)) diff --git a/src/dab_tuning_lib.py b/src/dab_tuning_lib.py index 8faafef..e5348b0 100644 --- a/src/dab_tuning_lib.py +++ b/src/dab_tuning_lib.py @@ -17,7 +17,6 @@ def calc_signal_sholder_ratio(fft, sampling_rate, debug = False, debug_path="", du.freq_to_fft_sample(-du.c["bw"]/2, fft_size, sampling_rate)) sholder = np.mean(fft[n_sholder[0]:n_sholder[1]]) - score = -sholder if debug == True: print(n_sig, n_sholder, n_noise) @@ -25,7 +24,69 @@ def calc_signal_sholder_ratio(fft, sampling_rate, debug = False, debug_path="", plt.plot((n_sig[0], n_sig[1]), (sig, sig), linewidth=5, color='g') plt.plot((n_noise[0], n_noise[1]), (noise, noise), linewidth=5, color='r') plt.plot((n_sholder[0], n_sholder[1]), (sholder, sholder), linewidth=5, color='y') - plt.savefig(debug_path + "/" + str(score) + suffix + ".png") + if debug_path: plt.savefig(debug_path + "/" + str(loss) + suffix + ".png") + plt.show() plt.clf() - return score + return sholder + +def calc_signal_sholder_peak_ratio(fft, sampling_rate, debug = False, debug_path="", suffix=""): + fft_size = fft.shape[0] + n_sig = (du.freq_to_fft_sample(-du.c["bw"]/2., fft_size, sampling_rate), + du.freq_to_fft_sample( du.c["bw"]/2., fft_size, sampling_rate)) + sig = np.mean(fft[n_sig[0]:n_sig[1]]) + + n_noise = (du.freq_to_fft_sample(-3000000., fft_size, sampling_rate), + du.freq_to_fft_sample(-2500000, fft_size, sampling_rate)) + noise = np.mean(fft[n_noise[0]:n_noise[1]]) + + n_sholder = (du.freq_to_fft_sample(-1500000, fft_size, sampling_rate), + du.freq_to_fft_sample(-du.c["bw"]/2, fft_size, sampling_rate)) + sholder = np.mean(fft[n_sholder[0]:n_sholder[1]]) + + loss = sholder/sig + + + if debug == True: + print(n_sig, n_sholder, n_noise) + plt.plot(fft) + plt.plot((n_sig[0], n_sig[1]), (sig, sig), linewidth=5, color='g') + plt.plot((n_noise[0], n_noise[1]), (noise, noise), linewidth=5, color='r') + plt.plot((n_sholder[0], n_sholder[1]), (sholder, sholder), linewidth=5, color='y') + if debug_path: plt.savefig(debug_path + "/" + str(loss) + suffix + ".png") + plt.show() + plt.clf() + + return loss + +def calc_max_in_freq_range(fft, sampling_rate, f_start, f_end, debug = False, debug_path="", suffix=""): + fft_size = fft.shape[0] + n_sig = (du.freq_to_fft_sample(f_start, fft_size, sampling_rate), + du.freq_to_fft_sample(f_end, fft_size, sampling_rate)) + sig = np.max(fft[n_sig[0]:n_sig[1]]) + + if debug == True: + print(n_sig) + plt.plot(fft) + plt.plot((n_sig[0], n_sig[1]), (sig, sig), linewidth=5, color='g') + if debug_path: plt.savefig(debug_path + "/" + str(loss) + suffix + ".png") + plt.show() + plt.clf() + + return sig + +def calc_mean_in_freq_range(fft, sampling_rate, f_start, f_end, debug = False, debug_path="", suffix=""): + fft_size = fft.shape[0] + n_sig = (du.freq_to_fft_sample(f_start, fft_size, sampling_rate), + du.freq_to_fft_sample(f_end, fft_size, sampling_rate)) + sig = np.mean(fft[n_sig[0]:n_sig[1]]) + + if debug == True: + print(n_sig) + plt.plot(fft) + plt.plot((n_sig[0], n_sig[1]), (sig, sig), linewidth=5, color='g') + if debug_path: plt.savefig(debug_path + "/" + str(loss) + suffix + ".png") + plt.show() + plt.clf() + + return sig diff --git a/src/dab_util.py b/src/dab_util.py index 8ab1e03..fbd1cc6 100644 --- a/src/dab_util.py +++ b/src/dab_util.py @@ -3,9 +3,13 @@ import scipy import matplotlib.pyplot as plt import fftconvolve -c = { - "bw":1536000 - } +c = {} +c["bw"]=1536000 +c["frame_ms"]=96 +c["frame_8192000"]=c["frame_ms"] * 8192 +c["frame_2048000"]=c["frame_ms"] * 2048 +c["sym_8192000"]=96./76*8192 +c["sym_2048000"]=96./76*2048 def calc_fft(signal, fft_size = 1024, sampling_rate = 1, plot = False): """returns one numpy array for the frequencies and one for the corresponding fft""" diff --git a/src/tcp_sync.py b/src/tcp_sync.py index 6a2e619..4a5a5b8 100644 --- a/src/tcp_sync.py +++ b/src/tcp_sync.py @@ -5,6 +5,7 @@ import Queue import time import socket import struct +import numpy as np class _TcpSyncClient(threading.Thread): """Thead for message polling""" @@ -54,7 +55,7 @@ class _TcpSyncClient(threading.Thread): if (len(s)) == self.packet_size: break if (len(s)) > self.packet_size: - print("received wrong size of length " + str(len(s))) + print("received wrong size of length " + str(len(s)) + " instead of " + str(self.packet_size)) time.sleep(0.01) return -1 @@ -96,6 +97,16 @@ class UhdSyncMsg(object): out.append(self.tcpa.queue.get()) return out + def get_msgs_fft(self, num): + """ + get received messages as string of integer + apply fftshift to message + """ + out = [] + while len(out) < num: + out.append(self.tcpa.queue.get()) + return [np.fft.fftshift(np.array(o)) for o in out] + def get_res(self): """get received messages as string of integer""" out = [] diff --git a/sync-measurement-while-sending.ipynb b/sync-measurement-while-sending.ipynb index e1f7ba9..616df5b 100644 --- a/sync-measurement-while-sending.ipynb +++ b/sync-measurement-while-sending.ipynb @@ -42,13 +42,9 @@ }, "outputs": [], "source": [ - "path_in = \"./input.dat\"\n", - "path_out = \"./output.dat\"\n", - "a_max = 0.95\n", - "n_steps = 64\n", - "amps = np.linspace(0.001, a_max, num = n_steps)\n", - "txgains = (75,)\n", - "rxgains = (20,)" + "from grc.parallel_measurement import parallel_measurement\n", + "#from grc.parallel_measurement_mer import parallel_measurement_mer\n", + "#from grc.parallel_measurement_two_tone import parallel_measurement_two_tone" ] }, { @@ -60,7 +56,9 @@ }, "outputs": [], "source": [ - "from grc.parallel_measurement import parallel_measurement" + "top = parallel_measurement()\n", + "#top = parallel_measurement_mer()\n", + "#top = parallel_measurement_two_tone()" ] }, { @@ -71,9 +69,7 @@ "editable": true }, "outputs": [], - "source": [ - "sg.gen_ramps(path=\"./input.dat\", n_periods=64, pause=8, amplitudes=amps)" - ] + "source": [] }, { "cell_type": "code", @@ -84,7 +80,7 @@ }, "outputs": [], "source": [ - "top = parallel_measurement()" + "top.start()" ] }, { @@ -95,9 +91,7 @@ "editable": true }, "outputs": [], - "source": [ - "top.start()" - ] + "source": [] }, { "cell_type": "code", @@ -162,7 +156,9 @@ "editable": true }, "outputs": [], - "source": [] + "source": [ + "top.blocks_file_source_0.open(\"/home/andreas/dab/out_cut.iq\", True)" + ] }, { "cell_type": "code", @@ -175,6 +171,7 @@ "source": [ "while True:\n", " d = receiver.queue.get()\n", + " time.sleep(0.01)\n", " \n", " print(d)\n", " k = d.keys()[0]\n", @@ -252,7 +249,45 @@ "editable": true }, "outputs": [], - "source": [] + "source": [ + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "a = np.fromfile(\"../test_dat/dab_5s_8000000.iq\", dtype=np.complex64)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "a = a/np.abs(a).max()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "a.tofile(\"/home/andreas/dab/dab_5s_8000000_max_1.iq\")" + ] }, { "cell_type": "code", diff --git a/two_tone_tuner.ipynb b/two_tone_tuner.ipynb index 1d6f6cb..af7ad74 100644 --- a/two_tone_tuner.ipynb +++ b/two_tone_tuner.ipynb @@ -3,7 +3,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [ "%matplotlib inline\n", @@ -17,13 +20,16 @@ "import src.tcp_async as tcp_async\n", "import src.tcp_sync as tcp_sync\n", "\n", - "from live_analyse_py import live_analyse_py" + "#from live_analyse_py import live_analyse_py" ] }, { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [ "try:\n", @@ -40,7 +46,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [ "sync = tcp_sync.UhdSyncMsg(packet_size=4*8192,\n", @@ -51,7 +60,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [ "top = live_analyse_py()" @@ -60,7 +72,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [ "top.start()" @@ -69,7 +84,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [ "sync.has_msg()\n", @@ -79,7 +97,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [ "top.set_txgain(85)\n", @@ -89,7 +110,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [ "tt.gen_two_tone(debug = True)" @@ -98,9 +122,14 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], - "source": [] + "source": [ + "a = np.fromfile(\"./input.dat\")" + ] }, { "cell_type": "code", @@ -108,6 +137,18 @@ "metadata": {}, "outputs": [], "source": [ + "a.max()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ "def measure(param, debug = False):\n", " #x2, x3, x4, x5, x6, x7, x8 = param\n", " x1, x2, x3, x4, x5, x6, x7, x8 = param + [1]\n", @@ -158,7 +199,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [ "def simple_opt(pars, i, d, func):\n", @@ -183,7 +227,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [ "#top.blocks_file_source_0.open(\"../dab_normalized_c64.dat\", True)" @@ -192,14 +239,20 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [ "reload(dt)\n", @@ -216,14 +269,20 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [ "sync.stop()\n", @@ -235,28 +294,40 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "deletable": true, + "editable": true + }, "outputs": [], "source": [] } |