From 79d0909d0d59df7a77cd62edfbd63466a4aea5f7 Mon Sep 17 00:00:00 2001 From: ptrkrysik Date: Sat, 13 Dec 2014 11:43:03 +0100 Subject: [PATCH] Added example showing that python blocks for new experimental gsm receiver can be actually used for searching for FCCH and SCH bursts and showing their positions on plots. --- examples/README | 1 + .../experimental_receiver_components_test.grc | 2785 +++++++++++++++++ 2 files changed, 2786 insertions(+) create mode 100644 examples/experimental_receiver_components_test.grc diff --git a/examples/README b/examples/README index e69de29..63b0185 100644 --- a/examples/README +++ b/examples/README @@ -0,0 +1 @@ +experimental_receiver_components_test.grc - a test of blocks being components for a new modular gsm receiver (fcch_detector, fcch_burst_tagger, sch_detector) \ No newline at end of file diff --git a/examples/experimental_receiver_components_test.grc b/examples/experimental_receiver_components_test.grc new file mode 100644 index 0000000..c733858 --- /dev/null +++ b/examples/experimental_receiver_components_test.grc @@ -0,0 +1,2785 @@ + + + + Wed Aug 13 14:23:19 2014 + + options + + id + test_rtl_taggery_pythonowe + + + _enabled + True + + + title + + + + author + + + + description + + + + window_size + 1280, 1024 + + + generate_options + qt_gui + + + category + Custom + + + run_options + run + + + run + True + + + max_nouts + 0 + + + realtime_scheduling + + + + alias + + + + _coordinate + (10, 10) + + + _rotation + 0 + + + + variable + + id + samp_rate2 + + + _enabled + True + + + value + 13e6/12 + + + alias + + + + _coordinate + (21, 245) + + + _rotation + 0 + + + + variable + + id + samp_rate + + + _enabled + True + + + value + 100e6/100 + + + alias + + + + _coordinate + (10, 169) + + + _rotation + 0 + + + + blocks_null_sink + + id + blocks_null_sink_0 + + + _enabled + False + + + type + complex + + + vlen + 1 + + + num_inputs + 1 + + + bus_conns + [[0,],] + + + alias + + + + affinity + + + + _coordinate + (927, 140) + + + _rotation + 0 + + + + blocks_tag_debug + + id + blocks_tag_debug_0 + + + _enabled + False + + + type + complex + + + name + + + + filter + "" + + + num_inputs + 1 + + + vlen + 1 + + + display + True + + + alias + + + + affinity + + + + _coordinate + (1012, 103) + + + _rotation + 0 + + + + parameter + + id + OSR + + + _enabled + True + + + label + Over Sampling Ratio + + + value + 4 + + + type + + + + short_id + + + + alias + + + + _coordinate + (253, 34) + + + _rotation + 0 + + + + variable_qtgui_range + + id + ppm + + + _enabled + True + + + label + ppm + + + value + -4 + + + start + -50 + + + stop + 50 + + + step + 0.1 + + + widget + counter_slider + + + orient + Qt.Horizontal + + + min_len + 200 + + + gui_hint + + + + alias + + + + _coordinate + (764, 42) + + + _rotation + 0 + + + + variable_qtgui_range + + id + g + + + _enabled + True + + + label + g + + + value + 20 + + + start + 0 + + + stop + 100 + + + step + 1 + + + widget + counter_slider + + + orient + Qt.Horizontal + + + min_len + 200 + + + gui_hint + + + + alias + + + + _coordinate + (619, 45) + + + _rotation + 0 + + + + variable_qtgui_range + + id + fc + + + _enabled + True + + + label + fc + + + value + 938.4e6 + + + start + 900e6 + + + stop + 1000e6 + + + step + 200e3 + + + widget + counter_slider + + + orient + Qt.Horizontal + + + min_len + 200 + + + gui_hint + + + + alias + + + + _coordinate + (472, 52) + + + _rotation + 0 + + + + fractional_resampler_xx + + id + fractional_resampler_xx_0 + + + _enabled + True + + + type + complex + + + phase_shift + 0 + + + resamp_ratio + samp_rate/samp_rate2 + + + alias + + + + affinity + + + + minoutbuf + 0 + + + maxoutbuf + 0 + + + _coordinate + (417, 249) + + + _rotation + 0 + + + + low_pass_filter + + id + low_pass_filter_0 + + + _enabled + True + + + type + fir_filter_ccf + + + decim + 1 + + + interp + 1 + + + gain + 1 + + + samp_rate + samp_rate + + + cutoff_freq + 200e3 + + + width + 10e3 + + + win + firdes.WIN_HAMMING + + + beta + 6.76 + + + alias + + + + affinity + + + + minoutbuf + 0 + + + maxoutbuf + 0 + + + _coordinate + (250, 197) + + + _rotation + 0 + + + + qtgui_freq_sink_x + + id + qtgui_freq_sink_x_0 + + + _enabled + True + + + type + complex + + + name + "" + + + fftsize + 1024 + + + freqhalf + True + + + wintype + firdes.WIN_BLACKMAN_hARRIS + + + fc + 0 + + + bw + samp_rate + + + grid + False + + + autoscale + False + + + average + 1.0 + + + ymin + -140 + + + ymax + 10 + + + nconnections + 1 + + + update_time + 0.10 + + + gui_hint + + + + showports + True + + + tr_mode + qtgui.TRIG_MODE_FREE + + + tr_level + 0.0 + + + tr_chan + 0 + + + tr_tag + "" + + + label1 + + + + width1 + 1 + + + color1 + "blue" + + + alpha1 + 1.0 + + + label2 + + + + width2 + 1 + + + color2 + "red" + + + alpha2 + 1.0 + + + label3 + + + + width3 + 1 + + + color3 + "green" + + + alpha3 + 1.0 + + + label4 + + + + width4 + 1 + + + color4 + "black" + + + alpha4 + 1.0 + + + label5 + + + + width5 + 1 + + + color5 + "cyan" + + + alpha5 + 1.0 + + + label6 + + + + width6 + 1 + + + color6 + "magenta" + + + alpha6 + 1.0 + + + label7 + + + + width7 + 1 + + + color7 + "yellow" + + + alpha7 + 1.0 + + + label8 + + + + width8 + 1 + + + color8 + "dark red" + + + alpha8 + 1.0 + + + label9 + + + + width9 + 1 + + + color9 + "dark green" + + + alpha9 + 1.0 + + + label10 + + + + width10 + 1 + + + color10 + "dark blue" + + + alpha10 + 1.0 + + + alias + + + + affinity + + + + minoutbuf + 0 + + + maxoutbuf + 0 + + + _coordinate + (287, 419) + + + _rotation + 0 + + + + blocks_complex_to_mag + + id + blocks_complex_to_mag_0_0 + + + _enabled + True + + + vlen + 1 + + + alias + + + + affinity + + + + minoutbuf + 0 + + + maxoutbuf + 0 + + + _coordinate + (866, 460) + + + _rotation + 0 + + + + gsm_fcch_detector + + id + gsm_fcch_detector_0 + + + _enabled + True + + + OSR + OSR + + + alias + + + + affinity + + + + minoutbuf + 0 + + + maxoutbuf + 0 + + + _coordinate + (623, 263) + + + _rotation + 0 + + + + gsm_sch_detector + + id + gsm_sch_detector_0 + + + _enabled + True + + + OSR + OSR + + + alias + + + + affinity + + + + minoutbuf + 0 + + + maxoutbuf + 0 + + + _coordinate + (818, 263) + + + _rotation + 0 + + + + blocks_complex_to_mag + + id + blocks_complex_to_mag_0 + + + _enabled + True + + + vlen + 1 + + + alias + + + + affinity + + + + minoutbuf + 0 + + + maxoutbuf + 0 + + + _coordinate + (968, 267) + + + _rotation + 0 + + + + qtgui_time_sink_x + + id + qtgui_time_sink_x_0 + + + _enabled + True + + + type + float + + + name + QT GUI Plot + + + ylabel + Amplitude + + + yunit + "" + + + size + int(51*4*8*156.25) + + + srate + samp_rate2 + + + grid + False + + + autoscale + False + + + ymin + -0.00001 + + + ymax + 2 + + + nconnections + 2 + + + update_time + (51.0*4*8*156.25)/samp_rate + + + entags + True + + + gui_hint + + + + tr_mode + qtgui.TRIG_MODE_TAG + + + tr_slope + qtgui.TRIG_SLOPE_POS + + + tr_level + 0.0 + + + tr_delay + 0 + + + tr_chan + 0 + + + tr_tag + "fcch" + + + label1 + + + + width1 + 1 + + + color1 + "blue" + + + style1 + 1 + + + marker1 + -1 + + + alpha1 + 1.0 + + + label2 + + + + width2 + 1 + + + color2 + "red" + + + style2 + 1 + + + marker2 + -1 + + + alpha2 + 1.0 + + + label3 + + + + width3 + 1 + + + color3 + "green" + + + style3 + 1 + + + marker3 + -1 + + + alpha3 + 1.0 + + + label4 + + + + width4 + 1 + + + color4 + "black" + + + style4 + 1 + + + marker4 + -1 + + + alpha4 + 1.0 + + + label5 + + + + width5 + 1 + + + color5 + "cyan" + + + style5 + 1 + + + marker5 + -1 + + + alpha5 + 1.0 + + + label6 + + + + width6 + 1 + + + color6 + "magenta" + + + style6 + 1 + + + marker6 + -1 + + + alpha6 + 1.0 + + + label7 + + + + width7 + 1 + + + color7 + "yellow" + + + style7 + 1 + + + marker7 + -1 + + + alpha7 + 1.0 + + + label8 + + + + width8 + 1 + + + color8 + "dark red" + + + style8 + 1 + + + marker8 + -1 + + + alpha8 + 1.0 + + + label9 + + + + width9 + 1 + + + color9 + "dark green" + + + style9 + 1 + + + marker9 + -1 + + + alpha9 + 1.0 + + + label10 + + + + width10 + 1 + + + color10 + "blue" + + + style10 + 1 + + + marker10 + -1 + + + alpha10 + 1.0 + + + alias + + + + affinity + + + + _coordinate + (1123, 415) + + + _rotation + 0 + + + + rtlsdr_source + + id + rtlsdr_source_0 + + + _enabled + True + + + type + fc32 + + + args + + + + sync + + + + num_mboards + 1 + + + clock_source0 + + + + time_source0 + + + + clock_source1 + + + + time_source1 + + + + clock_source2 + + + + time_source2 + + + + clock_source3 + + + + time_source3 + + + + clock_source4 + + + + time_source4 + + + + clock_source5 + + + + time_source5 + + + + clock_source6 + + + + time_source6 + + + + clock_source7 + + + + time_source7 + + + + nchan + 1 + + + sample_rate + samp_rate + + + freq0 + fc + + + corr0 + ppm + + + dc_offset_mode0 + 0 + + + iq_balance_mode0 + 0 + + + gain_mode0 + False + + + gain0 + g + + + if_gain0 + 20 + + + bb_gain0 + 20 + + + ant0 + + + + bw0 + 250e3 + + + freq1 + 100e6 + + + corr1 + 0 + + + dc_offset_mode1 + 0 + + + iq_balance_mode1 + 0 + + + gain_mode1 + False + + + gain1 + 10 + + + if_gain1 + 20 + + + bb_gain1 + 20 + + + ant1 + + + + bw1 + 0 + + + freq2 + 100e6 + + + corr2 + 0 + + + dc_offset_mode2 + 0 + + + iq_balance_mode2 + 0 + + + gain_mode2 + False + + + gain2 + 10 + + + if_gain2 + 20 + + + bb_gain2 + 20 + + + ant2 + + + + bw2 + 0 + + + freq3 + 100e6 + + + corr3 + 0 + + + dc_offset_mode3 + 0 + + + iq_balance_mode3 + 0 + + + gain_mode3 + False + + + gain3 + 10 + + + if_gain3 + 20 + + + bb_gain3 + 20 + + + ant3 + + + + bw3 + 0 + + + freq4 + 100e6 + + + corr4 + 0 + + + dc_offset_mode4 + 0 + + + iq_balance_mode4 + 0 + + + gain_mode4 + False + + + gain4 + 10 + + + if_gain4 + 20 + + + bb_gain4 + 20 + + + ant4 + + + + bw4 + 0 + + + freq5 + 100e6 + + + corr5 + 0 + + + dc_offset_mode5 + 0 + + + iq_balance_mode5 + 0 + + + gain_mode5 + False + + + gain5 + 10 + + + if_gain5 + 20 + + + bb_gain5 + 20 + + + ant5 + + + + bw5 + 0 + + + freq6 + 100e6 + + + corr6 + 0 + + + dc_offset_mode6 + 0 + + + iq_balance_mode6 + 0 + + + gain_mode6 + False + + + gain6 + 10 + + + if_gain6 + 20 + + + bb_gain6 + 20 + + + ant6 + + + + bw6 + 0 + + + freq7 + 100e6 + + + corr7 + 0 + + + dc_offset_mode7 + 0 + + + iq_balance_mode7 + 0 + + + gain_mode7 + False + + + gain7 + 10 + + + if_gain7 + 20 + + + bb_gain7 + 20 + + + ant7 + + + + bw7 + 0 + + + freq8 + 100e6 + + + corr8 + 0 + + + dc_offset_mode8 + 0 + + + iq_balance_mode8 + 0 + + + gain_mode8 + False + + + gain8 + 10 + + + if_gain8 + 20 + + + bb_gain8 + 20 + + + ant8 + + + + bw8 + 0 + + + freq9 + 100e6 + + + corr9 + 0 + + + dc_offset_mode9 + 0 + + + iq_balance_mode9 + 0 + + + gain_mode9 + False + + + gain9 + 10 + + + if_gain9 + 20 + + + bb_gain9 + 20 + + + ant9 + + + + bw9 + 0 + + + freq10 + 100e6 + + + corr10 + 0 + + + dc_offset_mode10 + 0 + + + iq_balance_mode10 + 0 + + + gain_mode10 + False + + + gain10 + 10 + + + if_gain10 + 20 + + + bb_gain10 + 20 + + + ant10 + + + + bw10 + 0 + + + freq11 + 100e6 + + + corr11 + 0 + + + dc_offset_mode11 + 0 + + + iq_balance_mode11 + 0 + + + gain_mode11 + False + + + gain11 + 10 + + + if_gain11 + 20 + + + bb_gain11 + 20 + + + ant11 + + + + bw11 + 0 + + + freq12 + 100e6 + + + corr12 + 0 + + + dc_offset_mode12 + 0 + + + iq_balance_mode12 + 0 + + + gain_mode12 + False + + + gain12 + 10 + + + if_gain12 + 20 + + + bb_gain12 + 20 + + + ant12 + + + + bw12 + 0 + + + freq13 + 100e6 + + + corr13 + 0 + + + dc_offset_mode13 + 0 + + + iq_balance_mode13 + 0 + + + gain_mode13 + False + + + gain13 + 10 + + + if_gain13 + 20 + + + bb_gain13 + 20 + + + ant13 + + + + bw13 + 0 + + + freq14 + 100e6 + + + corr14 + 0 + + + dc_offset_mode14 + 0 + + + iq_balance_mode14 + 0 + + + gain_mode14 + False + + + gain14 + 10 + + + if_gain14 + 20 + + + bb_gain14 + 20 + + + ant14 + + + + bw14 + 0 + + + freq15 + 100e6 + + + corr15 + 0 + + + dc_offset_mode15 + 0 + + + iq_balance_mode15 + 0 + + + gain_mode15 + False + + + gain15 + 10 + + + if_gain15 + 20 + + + bb_gain15 + 20 + + + ant15 + + + + bw15 + 0 + + + freq16 + 100e6 + + + corr16 + 0 + + + dc_offset_mode16 + 0 + + + iq_balance_mode16 + 0 + + + gain_mode16 + False + + + gain16 + 10 + + + if_gain16 + 20 + + + bb_gain16 + 20 + + + ant16 + + + + bw16 + 0 + + + freq17 + 100e6 + + + corr17 + 0 + + + dc_offset_mode17 + 0 + + + iq_balance_mode17 + 0 + + + gain_mode17 + False + + + gain17 + 10 + + + if_gain17 + 20 + + + bb_gain17 + 20 + + + ant17 + + + + bw17 + 0 + + + freq18 + 100e6 + + + corr18 + 0 + + + dc_offset_mode18 + 0 + + + iq_balance_mode18 + 0 + + + gain_mode18 + False + + + gain18 + 10 + + + if_gain18 + 20 + + + bb_gain18 + 20 + + + ant18 + + + + bw18 + 0 + + + freq19 + 100e6 + + + corr19 + 0 + + + dc_offset_mode19 + 0 + + + iq_balance_mode19 + 0 + + + gain_mode19 + False + + + gain19 + 10 + + + if_gain19 + 20 + + + bb_gain19 + 20 + + + ant19 + + + + bw19 + 0 + + + freq20 + 100e6 + + + corr20 + 0 + + + dc_offset_mode20 + 0 + + + iq_balance_mode20 + 0 + + + gain_mode20 + False + + + gain20 + 10 + + + if_gain20 + 20 + + + bb_gain20 + 20 + + + ant20 + + + + bw20 + 0 + + + freq21 + 100e6 + + + corr21 + 0 + + + dc_offset_mode21 + 0 + + + iq_balance_mode21 + 0 + + + gain_mode21 + False + + + gain21 + 10 + + + if_gain21 + 20 + + + bb_gain21 + 20 + + + ant21 + + + + bw21 + 0 + + + freq22 + 100e6 + + + corr22 + 0 + + + dc_offset_mode22 + 0 + + + iq_balance_mode22 + 0 + + + gain_mode22 + False + + + gain22 + 10 + + + if_gain22 + 20 + + + bb_gain22 + 20 + + + ant22 + + + + bw22 + 0 + + + freq23 + 100e6 + + + corr23 + 0 + + + dc_offset_mode23 + 0 + + + iq_balance_mode23 + 0 + + + gain_mode23 + False + + + gain23 + 10 + + + if_gain23 + 20 + + + bb_gain23 + 20 + + + ant23 + + + + bw23 + 0 + + + freq24 + 100e6 + + + corr24 + 0 + + + dc_offset_mode24 + 0 + + + iq_balance_mode24 + 0 + + + gain_mode24 + False + + + gain24 + 10 + + + if_gain24 + 20 + + + bb_gain24 + 20 + + + ant24 + + + + bw24 + 0 + + + freq25 + 100e6 + + + corr25 + 0 + + + dc_offset_mode25 + 0 + + + iq_balance_mode25 + 0 + + + gain_mode25 + False + + + gain25 + 10 + + + if_gain25 + 20 + + + bb_gain25 + 20 + + + ant25 + + + + bw25 + 0 + + + freq26 + 100e6 + + + corr26 + 0 + + + dc_offset_mode26 + 0 + + + iq_balance_mode26 + 0 + + + gain_mode26 + False + + + gain26 + 10 + + + if_gain26 + 20 + + + bb_gain26 + 20 + + + ant26 + + + + bw26 + 0 + + + freq27 + 100e6 + + + corr27 + 0 + + + dc_offset_mode27 + 0 + + + iq_balance_mode27 + 0 + + + gain_mode27 + False + + + gain27 + 10 + + + if_gain27 + 20 + + + bb_gain27 + 20 + + + ant27 + + + + bw27 + 0 + + + freq28 + 100e6 + + + corr28 + 0 + + + dc_offset_mode28 + 0 + + + iq_balance_mode28 + 0 + + + gain_mode28 + False + + + gain28 + 10 + + + if_gain28 + 20 + + + bb_gain28 + 20 + + + ant28 + + + + bw28 + 0 + + + freq29 + 100e6 + + + corr29 + 0 + + + dc_offset_mode29 + 0 + + + iq_balance_mode29 + 0 + + + gain_mode29 + False + + + gain29 + 10 + + + if_gain29 + 20 + + + bb_gain29 + 20 + + + ant29 + + + + bw29 + 0 + + + freq30 + 100e6 + + + corr30 + 0 + + + dc_offset_mode30 + 0 + + + iq_balance_mode30 + 0 + + + gain_mode30 + False + + + gain30 + 10 + + + if_gain30 + 20 + + + bb_gain30 + 20 + + + ant30 + + + + bw30 + 0 + + + freq31 + 100e6 + + + corr31 + 0 + + + dc_offset_mode31 + 0 + + + iq_balance_mode31 + 0 + + + gain_mode31 + False + + + gain31 + 10 + + + if_gain31 + 20 + + + bb_gain31 + 20 + + + ant31 + + + + bw31 + 0 + + + alias + + + + affinity + + + + minoutbuf + 0 + + + maxoutbuf + 0 + + + _coordinate + (-2, 363) + + + _rotation + 0 + + + + rtlsdr_source_0 + low_pass_filter_0 + 0 + 0 + + + fractional_resampler_xx_0 + gsm_fcch_detector_0 + 0 + 0 + + + low_pass_filter_0 + fractional_resampler_xx_0 + 0 + 0 + + + rtlsdr_source_0 + qtgui_freq_sink_x_0 + 0 + 0 + + + gsm_fcch_detector_0 + gsm_sch_detector_0 + 0 + 0 + + + gsm_fcch_detector_0 + blocks_complex_to_mag_0_0 + 0 + 0 + + + blocks_complex_to_mag_0_0 + qtgui_time_sink_x_0 + 0 + 1 + + + gsm_sch_detector_0 + blocks_complex_to_mag_0 + 0 + 0 + + + blocks_complex_to_mag_0 + qtgui_time_sink_x_0 + 0 + 0 + +