diff --git a/examples/README b/examples/README index c012bdfa..7c87b768 100644 --- a/examples/README +++ b/examples/README @@ -1,4 +1,4 @@ -It is considered good practice to add examples in here to demonstrate the -functionality of your OOT module. Python scripts, GRC flow graphs or other -code can go here. +simple_top.grc - all-in-one receiving block usage sample. +dab_mer.grc - Hierarchical block, which counts MER. +dab_measurement_graph_rtlsdr.grc - Top block to make measurements of DAB signal. Reception by RTL-SDR Stick. diff --git a/examples/dab_measurement_graph_rtlsdr.grc b/examples/dab_measurement_graph_rtlsdr.grc new file mode 100644 index 00000000..5f6c2ca0 --- /dev/null +++ b/examples/dab_measurement_graph_rtlsdr.grc @@ -0,0 +1,3132 @@ + + + + Mon Jan 25 20:55:55 2016 + + options + + author + Serge G + + + window_size + 1280, 1024 + + + category + Custom + + + comment + + + + description + Constellation+MER+Spectrum (all blocks are extracted) + + + _enabled + True + + + _coordinate + (10, 10) + + + _rotation + 0 + + + generate_options + wx_gui + + + hier_block_src_path + .: + + + id + dab_whole_graph + + + max_nouts + 0 + + + qt_qss_theme + + + + realtime_scheduling + + + + run_command + {python} -u {filename} + + + run_options + prompt + + + run + True + + + thread_safe_setters + + + + title + DAB Measurement tool + + + + variable + + comment + + + + _enabled + 0 + + + _coordinate + (1101, 9) + + + _rotation + 0 + + + id + cp_gap__ + + + value + [30, 10, 5, 20] + + + + variable + + comment + + + + _enabled + 1 + + + _coordinate + (1104, 339) + + + _rotation + 0 + + + id + cp_gap__ + + + value + [252, 63, 31, 124] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (912, 201) + + + _rotation + 0 + + + id + cp_length__ + + + value + [504, 126, 63, 252] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (8, 123) + + + _rotation + 0 + + + id + dab_mode + + + value + 1 + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (911, 138) + + + _rotation + 0 + + + id + fft_length__ + + + value + [2048, 512, 256, 1024] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (911, 77) + + + _rotation + 0 + + + id + frame_length__ + + + value + [196608, 49152, 49152, 98304] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (1101, 201) + + + _rotation + 0 + + + id + ns_length__ + + + value + [2656, 664, 345, 1328] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (910, 12) + + + _rotation + 0 + + + id + num_carriers__ + + + value + [1536, 384, 192, 768] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (104, 123) + + + _rotation + 0 + + + id + samp_rate + + + value + 2048000 + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (912, 266) + + + _rotation + 0 + + + id + symbol_length__ + + + value + [2552, 638, 319, 1276] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (1100, 72) + + + _rotation + 0 + + + id + symbols_for_ffs_estimation__ + + + value + [8,8,16,8] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (1099, 268) + + + _rotation + 0 + + + id + symbols_for_magnitude_equalization__ + + + value + [6,6,12,6] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (1101, 135) + + + _rotation + 0 + + + id + symbols_per_frame__ + + + value + [76, 76, 153, 76] + + + + analog_frequency_modulator_fc + + alias + + + + comment + + + + affinity + + + + _enabled + 1 + + + _coordinate + (736, 251) + + + _rotation + 0 + + + id + analog_frequency_modulator_fc_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + sensitivity + 1 + + + + blocks_complex_to_mag_squared + + alias + + + + comment + + + + affinity + + + + _enabled + 1 + + + _coordinate + (241, 9) + + + _rotation + 0 + + + id + blocks_complex_to_mag_squared_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + vlen + 1 + + + + blocks_delay + + alias + + + + comment + + + + affinity + + + + delay + (fft_length__[dab_mode-1]+cp_length__[dab_mode-1])*symbols_for_ffs_estimation__[dab_mode-1] + + + _enabled + True + + + _coordinate + (528, 403) + + + _rotation + 0 + + + id + blocks_delay_0 + + + maxoutbuf + 0 + + + minoutbuf + 4096 + + + num_ports + 1 + + + type + complex + + + vlen + 1 + + + + blocks_delay + + alias + + + + comment + + + + affinity + + + + delay + (fft_length__[dab_mode-1]+cp_length__[dab_mode-1])*symbols_for_ffs_estimation__[dab_mode-1] + + + _enabled + True + + + _coordinate + (528, 483) + + + _rotation + 0 + + + id + blocks_delay_0_0 + + + maxoutbuf + 0 + + + minoutbuf + 4096 + + + num_ports + 1 + + + type + byte + + + vlen + 1 + + + + blocks_multiply_const_vxx + + alias + + + + comment + + + + const + -1 + + + affinity + + + + _enabled + 1 + + + _coordinate + (266, 95) + + + _rotation + 0 + + + id + blocks_multiply_const_vxx_0 + + + type + float + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + vlen + 1 + + + + blocks_multiply_xx + + alias + + + + comment + + + + affinity + + + + _enabled + 1 + + + _coordinate + (785, 366) + + + _rotation + 0 + + + id + blocks_multiply_xx_0 + + + type + complex + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + num_inputs + 2 + + + vlen + 1 + + + + blocks_null_sink + + alias + + + + bus_conns + [[0,],] + + + comment + + + + affinity + + + + _enabled + 1 + + + _coordinate + (576, 713) + + + _rotation + 0 + + + id + blocks_null_sink_0 + + + type + byte + + + num_inputs + 1 + + + vlen + 1 + + + + blocks_peak_detector_xb + + alpha + 0.0001 + + + alias + + + + comment + + + + affinity + + + + _enabled + 1 + + + _coordinate + (256, 147) + + + _rotation + 0 + + + id + blocks_peak_detector_xb_0_0 + + + type + float + + + look_ahead + 10 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + threshold_factor_fall + 0.7 + + + threshold_factor_rise + 0.6 + + + + blocks_vector_to_stream + + alias + + + + comment + + + + affinity + + + + _enabled + 1 + + + _coordinate + (737, 640) + + + _rotation + 0 + + + id + blocks_vector_to_stream_0 + + + type + complex + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + num_items + 1536 + + + vlen + 1 + + + + dab_diff_phasor_vcc + + alias + + + + comment + + + + affinity + + + + _enabled + 1 + + + _coordinate + (279, 613) + + + _rotation + 0 + + + id + dab_diff_phasor_vcc_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + num_carriers + num_carriers__[dab_mode-1] + + + + dab_mer + + alias + + + + comment + + + + affinity + + + + _enabled + 1 + + + _coordinate + (744, 697) + + + _rotation + 0 + + + id + dab_mer_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + + dab_moving_sum_ff + + alias + + + + comment + + + + affinity + + + + _enabled + 1 + + + _coordinate + (266, 48) + + + _rotation + 0 + + + id + dab_moving_sum_ff_0 + + + length + ns_length__[dab_mode-1] + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + + dab_ofdm_coarse_frequency_correct + + alias + + + + cp_length + cp_length__[dab_mode-1] + + + num_carriers + num_carriers__[dab_mode-1] + + + comment + + + + affinity + + + + _enabled + 1 + + + _coordinate + (67, 651) + + + _rotation + 0 + + + id + dab_ofdm_coarse_frequency_correct_0 + + + fft_length + fft_length__[dab_mode-1] + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + + dab_ofdm_ffe_all_in_one + + alias + + + + comment + + + + affinity + + + + _enabled + 1 + + + fft_length + fft_length__[dab_mode-1] + + + _coordinate + (528, 219) + + + _rotation + 0 + + + id + dab_ofdm_ffe_all_in_one_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + num_symbols + symbols_for_ffs_estimation__[dab_mode-1] + + + sample_rate + samp_rate + + + symbol_length + fft_length__[dab_mode-1]+cp_length__[dab_mode-1] + + + alpha + 0.5 + + + + dab_ofdm_remove_first_symbol_vcc + + alias + + + + comment + + + + affinity + + + + _enabled + 1 + + + _coordinate + (470, 642) + + + _rotation + 0 + + + id + dab_ofdm_remove_first_symbol_vcc_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + num_carriers + num_carriers__[dab_mode-1] + + + + dab_ofdm_sampler + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (709, 447) + + + _rotation + 0 + + + id + dab_ofdm_sampler_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + cp_length + cp_length__[dab_mode-1] + + + fft_length + fft_length__[dab_mode-1] + + + gap + cp_gap__[dab_mode-1] + + + symbols_per_frame + symbols_per_frame__[dab_mode-1] + + + + fft_vxx + + alias + + + + comment + + + + affinity + + + + _enabled + 1 + + + fft_size + fft_length__[dab_mode-1] + + + forward + True + + + _coordinate + (944, 419) + + + _rotation + 0 + + + id + fft_vxx_0 + + + type + complex + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + nthreads + 4 + + + shift + True + + + window + [] + + + + rtlsdr_source + + alias + + + + ant0 + + + + bb_gain0 + 20 + + + bw0 + 0 + + + dc_offset_mode0 + 0 + + + corr0 + 68 + + + freq0 + 194064e3 + + + gain_mode0 + False + + + if_gain0 + 20 + + + iq_balance_mode0 + 0 + + + gain0 + 30 + + + ant10 + + + + bb_gain10 + 20 + + + bw10 + 0 + + + dc_offset_mode10 + 0 + + + corr10 + 0 + + + freq10 + 100e6 + + + gain_mode10 + False + + + if_gain10 + 20 + + + iq_balance_mode10 + 0 + + + gain10 + 10 + + + ant11 + + + + bb_gain11 + 20 + + + bw11 + 0 + + + dc_offset_mode11 + 0 + + + corr11 + 0 + + + freq11 + 100e6 + + + gain_mode11 + False + + + if_gain11 + 20 + + + iq_balance_mode11 + 0 + + + gain11 + 10 + + + ant12 + + + + bb_gain12 + 20 + + + bw12 + 0 + + + dc_offset_mode12 + 0 + + + corr12 + 0 + + + freq12 + 100e6 + + + gain_mode12 + False + + + if_gain12 + 20 + + + iq_balance_mode12 + 0 + + + gain12 + 10 + + + ant13 + + + + bb_gain13 + 20 + + + bw13 + 0 + + + dc_offset_mode13 + 0 + + + corr13 + 0 + + + freq13 + 100e6 + + + gain_mode13 + False + + + if_gain13 + 20 + + + iq_balance_mode13 + 0 + + + gain13 + 10 + + + ant14 + + + + bb_gain14 + 20 + + + bw14 + 0 + + + dc_offset_mode14 + 0 + + + corr14 + 0 + + + freq14 + 100e6 + + + gain_mode14 + False + + + if_gain14 + 20 + + + iq_balance_mode14 + 0 + + + gain14 + 10 + + + ant15 + + + + bb_gain15 + 20 + + + bw15 + 0 + + + dc_offset_mode15 + 0 + + + corr15 + 0 + + + freq15 + 100e6 + + + gain_mode15 + False + + + if_gain15 + 20 + + + iq_balance_mode15 + 0 + + + gain15 + 10 + + + ant16 + + + + bb_gain16 + 20 + + + bw16 + 0 + + + dc_offset_mode16 + 0 + + + corr16 + 0 + + + freq16 + 100e6 + + + gain_mode16 + False + + + if_gain16 + 20 + + + iq_balance_mode16 + 0 + + + gain16 + 10 + + + ant17 + + + + bb_gain17 + 20 + + + bw17 + 0 + + + dc_offset_mode17 + 0 + + + corr17 + 0 + + + freq17 + 100e6 + + + gain_mode17 + False + + + if_gain17 + 20 + + + iq_balance_mode17 + 0 + + + gain17 + 10 + + + ant18 + + + + bb_gain18 + 20 + + + bw18 + 0 + + + dc_offset_mode18 + 0 + + + corr18 + 0 + + + freq18 + 100e6 + + + gain_mode18 + False + + + if_gain18 + 20 + + + iq_balance_mode18 + 0 + + + gain18 + 10 + + + ant19 + + + + bb_gain19 + 20 + + + bw19 + 0 + + + dc_offset_mode19 + 0 + + + corr19 + 0 + + + freq19 + 100e6 + + + gain_mode19 + False + + + if_gain19 + 20 + + + iq_balance_mode19 + 0 + + + gain19 + 10 + + + ant1 + + + + bb_gain1 + 20 + + + bw1 + 0 + + + dc_offset_mode1 + 0 + + + corr1 + 0 + + + freq1 + 100e6 + + + gain_mode1 + False + + + if_gain1 + 20 + + + iq_balance_mode1 + 0 + + + gain1 + 10 + + + ant20 + + + + bb_gain20 + 20 + + + bw20 + 0 + + + dc_offset_mode20 + 0 + + + corr20 + 0 + + + freq20 + 100e6 + + + gain_mode20 + False + + + if_gain20 + 20 + + + iq_balance_mode20 + 0 + + + gain20 + 10 + + + ant21 + + + + bb_gain21 + 20 + + + bw21 + 0 + + + dc_offset_mode21 + 0 + + + corr21 + 0 + + + freq21 + 100e6 + + + gain_mode21 + False + + + if_gain21 + 20 + + + iq_balance_mode21 + 0 + + + gain21 + 10 + + + ant22 + + + + bb_gain22 + 20 + + + bw22 + 0 + + + dc_offset_mode22 + 0 + + + corr22 + 0 + + + freq22 + 100e6 + + + gain_mode22 + False + + + if_gain22 + 20 + + + iq_balance_mode22 + 0 + + + gain22 + 10 + + + ant23 + + + + bb_gain23 + 20 + + + bw23 + 0 + + + dc_offset_mode23 + 0 + + + corr23 + 0 + + + freq23 + 100e6 + + + gain_mode23 + False + + + if_gain23 + 20 + + + iq_balance_mode23 + 0 + + + gain23 + 10 + + + ant24 + + + + bb_gain24 + 20 + + + bw24 + 0 + + + dc_offset_mode24 + 0 + + + corr24 + 0 + + + freq24 + 100e6 + + + gain_mode24 + False + + + if_gain24 + 20 + + + iq_balance_mode24 + 0 + + + gain24 + 10 + + + ant25 + + + + bb_gain25 + 20 + + + bw25 + 0 + + + dc_offset_mode25 + 0 + + + corr25 + 0 + + + freq25 + 100e6 + + + gain_mode25 + False + + + if_gain25 + 20 + + + iq_balance_mode25 + 0 + + + gain25 + 10 + + + ant26 + + + + bb_gain26 + 20 + + + bw26 + 0 + + + dc_offset_mode26 + 0 + + + corr26 + 0 + + + freq26 + 100e6 + + + gain_mode26 + False + + + if_gain26 + 20 + + + iq_balance_mode26 + 0 + + + gain26 + 10 + + + ant27 + + + + bb_gain27 + 20 + + + bw27 + 0 + + + dc_offset_mode27 + 0 + + + corr27 + 0 + + + freq27 + 100e6 + + + gain_mode27 + False + + + if_gain27 + 20 + + + iq_balance_mode27 + 0 + + + gain27 + 10 + + + ant28 + + + + bb_gain28 + 20 + + + bw28 + 0 + + + dc_offset_mode28 + 0 + + + corr28 + 0 + + + freq28 + 100e6 + + + gain_mode28 + False + + + if_gain28 + 20 + + + iq_balance_mode28 + 0 + + + gain28 + 10 + + + ant29 + + + + bb_gain29 + 20 + + + bw29 + 0 + + + dc_offset_mode29 + 0 + + + corr29 + 0 + + + freq29 + 100e6 + + + gain_mode29 + False + + + if_gain29 + 20 + + + iq_balance_mode29 + 0 + + + gain29 + 10 + + + ant2 + + + + bb_gain2 + 20 + + + bw2 + 0 + + + dc_offset_mode2 + 0 + + + corr2 + 0 + + + freq2 + 100e6 + + + gain_mode2 + False + + + if_gain2 + 20 + + + iq_balance_mode2 + 0 + + + gain2 + 10 + + + ant30 + + + + bb_gain30 + 20 + + + bw30 + 0 + + + dc_offset_mode30 + 0 + + + corr30 + 0 + + + freq30 + 100e6 + + + gain_mode30 + False + + + if_gain30 + 20 + + + iq_balance_mode30 + 0 + + + gain30 + 10 + + + ant31 + + + + bb_gain31 + 20 + + + bw31 + 0 + + + dc_offset_mode31 + 0 + + + corr31 + 0 + + + freq31 + 100e6 + + + gain_mode31 + False + + + if_gain31 + 20 + + + iq_balance_mode31 + 0 + + + gain31 + 10 + + + ant3 + + + + bb_gain3 + 20 + + + bw3 + 0 + + + dc_offset_mode3 + 0 + + + corr3 + 0 + + + freq3 + 100e6 + + + gain_mode3 + False + + + if_gain3 + 20 + + + iq_balance_mode3 + 0 + + + gain3 + 10 + + + ant4 + + + + bb_gain4 + 20 + + + bw4 + 0 + + + dc_offset_mode4 + 0 + + + corr4 + 0 + + + freq4 + 100e6 + + + gain_mode4 + False + + + if_gain4 + 20 + + + iq_balance_mode4 + 0 + + + gain4 + 10 + + + ant5 + + + + bb_gain5 + 20 + + + bw5 + 0 + + + dc_offset_mode5 + 0 + + + corr5 + 0 + + + freq5 + 100e6 + + + gain_mode5 + False + + + if_gain5 + 20 + + + iq_balance_mode5 + 0 + + + gain5 + 10 + + + ant6 + + + + bb_gain6 + 20 + + + bw6 + 0 + + + dc_offset_mode6 + 0 + + + corr6 + 0 + + + freq6 + 100e6 + + + gain_mode6 + False + + + if_gain6 + 20 + + + iq_balance_mode6 + 0 + + + gain6 + 10 + + + ant7 + + + + bb_gain7 + 20 + + + bw7 + 0 + + + dc_offset_mode7 + 0 + + + corr7 + 0 + + + freq7 + 100e6 + + + gain_mode7 + False + + + if_gain7 + 20 + + + iq_balance_mode7 + 0 + + + gain7 + 10 + + + ant8 + + + + bb_gain8 + 20 + + + bw8 + 0 + + + dc_offset_mode8 + 0 + + + corr8 + 0 + + + freq8 + 100e6 + + + gain_mode8 + False + + + if_gain8 + 20 + + + iq_balance_mode8 + 0 + + + gain8 + 10 + + + ant9 + + + + bb_gain9 + 20 + + + bw9 + 0 + + + dc_offset_mode9 + 0 + + + corr9 + 0 + + + freq9 + 100e6 + + + gain_mode9 + False + + + if_gain9 + 20 + + + iq_balance_mode9 + 0 + + + gain9 + 10 + + + comment + + + + affinity + + + + args + + + + _enabled + True + + + _coordinate + (0, 243) + + + _rotation + 0 + + + id + rtlsdr_source_0 + + + maxoutbuf + 0 + + + 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 + + + + minoutbuf + 0 + + + nchan + 1 + + + num_mboards + 1 + + + type + fc32 + + + sample_rate + samp_rate + + + sync + + + + + wxgui_fftsink2 + + avg_alpha + 0.2 + + + average + True + + + baseband_freq + 0 + + + alias + + + + comment + + + + affinity + + + + _enabled + 1 + + + fft_size + 1024 + + + freqvar + None + + + _coordinate + (192, 331) + + + _rotation + 0 + + + grid_pos + + + + id + wxgui_fftsink2_0 + + + notebook + + + + peak_hold + True + + + ref_level + 0 + + + ref_scale + 2.0 + + + fft_rate + 10 + + + samp_rate + samp_rate + + + title + Input Spectrum + + + type + complex + + + win_size + 450,400 + + + win + None + + + y_divs + 10 + + + y_per_div + 10 + + + + wxgui_numbersink2 + + avg_alpha + 0.2 + + + average + False + + + alias + + + + comment + + + + affinity + + + + decimal_places + 10 + + + _enabled + 1 + + + factor + 100.0 + + + _coordinate + (1072, 739) + + + _rotation + 0 + + + grid_pos + + + + id + wxgui_numbersink2_0_0 + + + max_value + 100 + + + min_value + 0 + + + notebook + + + + number_rate + 25 + + + peak_hold + False + + + ref_level + 0.01 + + + samp_rate + 100 + + + show_gauge + True + + + title + Modulation Error + + + type + float + + + units + % MER + + + win_size + + + + + wxgui_scopesink2 + + ac_couple + False + + + alias + + + + comment + + + + affinity + + + + _enabled + 1 + + + _coordinate + (1088, 595) + + + _rotation + 0 + + + grid_pos + + + + id + wxgui_scopesink2_0 + + + notebook + + + + num_inputs + 1 + + + samp_rate + 1200000 + + + t_scale + 0 + + + title + I/Q Display + + + trig_mode + wxgui.TRIG_MODE_NORM + + + type + complex + + + v_offset + 0 + + + v_scale + 0 + + + win_size + 450,400 + + + xy_mode + True + + + y_axis_label + I/Q + + + + analog_frequency_modulator_fc_0 + blocks_multiply_xx_0 + 0 + 0 + + + blocks_complex_to_mag_squared_0 + dab_moving_sum_ff_0 + 0 + 0 + + + blocks_delay_0 + blocks_multiply_xx_0 + 0 + 1 + + + blocks_delay_0_0 + dab_ofdm_sampler_0 + 0 + 1 + + + blocks_multiply_const_vxx_0 + blocks_peak_detector_xb_0_0 + 0 + 0 + + + blocks_multiply_xx_0 + dab_ofdm_sampler_0 + 0 + 0 + + + blocks_peak_detector_xb_0_0 + blocks_delay_0_0 + 0 + 0 + + + blocks_peak_detector_xb_0_0 + dab_ofdm_ffe_all_in_one_0 + 0 + 1 + + + blocks_vector_to_stream_0 + wxgui_scopesink2_0 + 0 + 0 + + + dab_diff_phasor_vcc_0 + dab_ofdm_remove_first_symbol_vcc_0 + 0 + 0 + + + dab_mer_0 + wxgui_numbersink2_0_0 + 0 + 0 + + + dab_moving_sum_ff_0 + blocks_multiply_const_vxx_0 + 0 + 0 + + + dab_ofdm_coarse_frequency_correct_0 + dab_diff_phasor_vcc_0 + 0 + 0 + + + dab_ofdm_coarse_frequency_correct_0 + dab_ofdm_remove_first_symbol_vcc_0 + 1 + 1 + + + dab_ofdm_ffe_all_in_one_0 + analog_frequency_modulator_fc_0 + 0 + 0 + + + dab_ofdm_remove_first_symbol_vcc_0 + blocks_vector_to_stream_0 + 0 + 0 + + + dab_ofdm_remove_first_symbol_vcc_0 + dab_mer_0 + 0 + 0 + + + dab_ofdm_remove_first_symbol_vcc_0 + blocks_null_sink_0 + 1 + 0 + + + dab_ofdm_sampler_0 + fft_vxx_0 + 0 + 0 + + + dab_ofdm_sampler_0 + dab_ofdm_coarse_frequency_correct_0 + 1 + 1 + + + fft_vxx_0 + dab_ofdm_coarse_frequency_correct_0 + 0 + 0 + + + rtlsdr_source_0 + blocks_complex_to_mag_squared_0 + 0 + 0 + + + rtlsdr_source_0 + blocks_delay_0 + 0 + 0 + + + rtlsdr_source_0 + dab_ofdm_ffe_all_in_one_0 + 0 + 0 + + + rtlsdr_source_0 + wxgui_fftsink2_0 + 0 + 0 + + diff --git a/examples/dab_mer.grc b/examples/dab_mer.grc new file mode 100644 index 00000000..6c743e11 --- /dev/null +++ b/examples/dab_mer.grc @@ -0,0 +1,987 @@ + + + + Mon Jan 25 19:24:01 2016 + + options + + author + Serge G + + + window_size + 1280, 1024 + + + category + Custom + + + comment + + + + description + + + + _enabled + True + + + _coordinate + (11, 10) + + + _rotation + 0 + + + generate_options + hb + + + hier_block_src_path + .: + + + id + dab_mer + + + max_nouts + 0 + + + qt_qss_theme + + + + realtime_scheduling + + + + run_command + {python} -u {filename} + + + run_options + prompt + + + run + True + + + thread_safe_setters + + + + title + DAB Mode I Mer Calc + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (804, 5) + + + _rotation + 0 + + + id + cp_gap__ + + + value + [30, 10, 5, 20] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (924, 134) + + + _rotation + 0 + + + id + cp_length__ + + + value + [504, 126, 63, 252] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (202, 14) + + + _rotation + 0 + + + id + dab_mode + + + value + 1 + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (1089, 70) + + + _rotation + 0 + + + id + fft_length__ + + + value + [2048, 512, 256, 1024] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (1087, 7) + + + _rotation + 0 + + + id + frame_length__ + + + value + [196608, 49152, 49152, 98304] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (1088, 133) + + + _rotation + 0 + + + id + ns_length__ + + + value + [2656, 664, 345, 1328] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (634, 6) + + + _rotation + 0 + + + id + num_carriers__ + + + value + [1536, 384, 192, 768] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (385, 344) + + + _rotation + 0 + + + id + phase_var_estimate_alpha + + + value + 0.01 + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (209, 343) + + + _rotation + 0 + + + id + phase_var_estimate_downsample + + + value + 100 + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (1086, 200) + + + _rotation + 0 + + + id + symbol_length__ + + + value + [2552, 638, 319, 1276] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (925, 5) + + + _rotation + 0 + + + id + symbols_for_ffs_estimation__ + + + value + [8,8,16,8] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (763, 70) + + + _rotation + 0 + + + id + symbols_for_magnitude_equalization__ + + + value + [6,6,12,6] + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (925, 68) + + + _rotation + 0 + + + id + symbols_per_frame__ + + + value + [76, 76, 153, 76] + + + + blocks_complex_to_arg + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (412, 126) + + + _rotation + 0 + + + id + blocks_complex_to_arg_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + vlen + num_carriers__[dab_mode-1] + + + + blocks_keep_one_in_n + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (233, 121) + + + _rotation + 0 + + + id + blocks_keep_one_in_n_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + n + phase_var_estimate_downsample + + + type + complex + + + vlen + num_carriers__[dab_mode-1] + + + + blocks_multiply_xx + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (639, 244) + + + _rotation + 0 + + + id + blocks_multiply_xx_1 + + + type + float + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + num_inputs + 2 + + + vlen + 1 + + + + blocks_sub_xx + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (488, 244) + + + _rotation + 0 + + + id + blocks_sub_xx_0 + + + type + float + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + num_inputs + 2 + + + vlen + 1 + + + + blocks_vector_to_stream + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (619, 126) + + + _rotation + 0 + + + id + blocks_vector_to_stream_0_0 + + + type + float + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + num_items + num_carriers__[dab_mode-1] + + + vlen + 1 + + + + dab_modulo_ff + + alias + + + + comment + + + + affinity + + + + div_f + 1.5707963 + + + _enabled + True + + + _coordinate + (76, 240) + + + _rotation + 0 + + + id + dab_modulo_ff_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + + iir_filter_xxx + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + fftaps + [phase_var_estimate_alpha] + + + fbtaps + [0,1-phase_var_estimate_alpha] + + + _coordinate + (776, 251) + + + _rotation + 0 + + + id + iir_filter_xxx_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + oldstyle + True + + + type + ffd + + + + iir_filter_xxx + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + fftaps + [phase_var_estimate_alpha] + + + fbtaps + [0,1-phase_var_estimate_alpha] + + + _coordinate + (272, 267) + + + _rotation + 0 + + + id + iir_filter_xxx_0_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + oldstyle + True + + + type + ffd + + + + pad_sink + + comment + + + + _enabled + True + + + _coordinate + (1039, 272) + + + _rotation + 0 + + + id + pad_sink_0 + + + type + float + + + label + out + + + num_streams + 1 + + + optional + False + + + vlen + 1 + + + + pad_source + + comment + + + + _enabled + True + + + _coordinate + (17, 122) + + + _rotation + 0 + + + id + pad_source_0 + + + label + in + + + num_streams + 1 + + + optional + False + + + type + complex + + + vlen + 1536 + + + + blocks_complex_to_arg_0 + blocks_vector_to_stream_0_0 + 0 + 0 + + + blocks_keep_one_in_n_0 + blocks_complex_to_arg_0 + 0 + 0 + + + blocks_multiply_xx_1 + iir_filter_xxx_0 + 0 + 0 + + + blocks_sub_xx_0 + blocks_multiply_xx_1 + 0 + 0 + + + blocks_sub_xx_0 + blocks_multiply_xx_1 + 0 + 1 + + + blocks_vector_to_stream_0_0 + dab_modulo_ff_0 + 0 + 0 + + + dab_modulo_ff_0 + blocks_sub_xx_0 + 0 + 0 + + + dab_modulo_ff_0 + iir_filter_xxx_0_0 + 0 + 0 + + + iir_filter_xxx_0 + pad_sink_0 + 0 + 0 + + + iir_filter_xxx_0_0 + blocks_sub_xx_0 + 0 + 1 + + + pad_source_0 + blocks_keep_one_in_n_0 + 0 + 0 + +