From b7d75bc171a0ec93e45681c9f8cd979750a15674 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Thu, 3 Jan 2019 19:33:30 +0000 Subject: [PATCH] - Stereo! git-svn-id: http://moon:8086/svn/software/trunk/projects/GnuRadio@379 b431acfa-c32f-4a4a-93f1-934dc6c82436 --- fm_rx.grc | 1901 ++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 1505 insertions(+), 396 deletions(-) diff --git a/fm_rx.grc b/fm_rx.grc index 68ef207..4d6fba7 100644 --- a/fm_rx.grc +++ b/fm_rx.grc @@ -101,7 +101,7 @@ _coordinate - (288, 20) + (616, 20) _rotation @@ -109,11 +109,11 @@ id - dsp_rate + audio_rate value - 200000 + 48000 @@ -124,70 +124,11 @@ converver - float_converter + int_converter value - -40e3 - - - _enabled - True - - - _coordinate - (48, 620) - - - _rotation - 0 - - - grid_pos - - - - id - f_fine - - - label - - - - max - 200000 - - - min - -200000 - - - notebook - - - - num_steps - 100 - - - style - wx.SL_HORIZONTAL - - - - variable_slider - - comment - - - - converver - float_converter - - - value - 5 + 791 _enabled @@ -207,7 +148,7 @@ id - gain_L_R + delay_LplusR label @@ -215,7 +156,7 @@ max - 100 + 1000 min @@ -227,13 +168,271 @@ num_steps - 100 + 1000 style wx.SL_HORIZONTAL + + variable + + comment + + + + _enabled + True + + + _coordinate + (288, 20) + + + _rotation + 0 + + + id + dsp_rate + + + value + 5*audio_rate + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (176, 92) + + + _rotation + 0 + + + id + f_ctr + + + value + f_ctr_coarse + f_ctr_fine + + + + variable_slider + + comment + + + + converver + float_converter + + + value + 98e6 + + + _enabled + True + + + _coordinate + (184, 620) + + + _rotation + 0 + + + grid_pos + + + + id + f_ctr_coarse + + + label + + + + max + 108e6 + + + min + 88e6 + + + notebook + + + + num_steps + 20 + + + style + wx.SL_HORIZONTAL + + + + variable_slider + + comment + + + + converver + float_converter + + + value + 500e3 + + + _enabled + True + + + _coordinate + (184, 748) + + + _rotation + 0 + + + grid_pos + + + + id + f_ctr_fine + + + label + + + + max + 900e3 + + + min + 0 + + + notebook + + + + num_steps + 9 + + + style + wx.SL_HORIZONTAL + + + + variable_slider + + comment + + + + converver + float_converter + + + value + -3e3 + + + _enabled + True + + + _coordinate + (184, 868) + + + _rotation + 0 + + + grid_pos + + + + id + f_fine + + + label + + + + max + 100e3 + + + min + -100e3 + + + notebook + + + + num_steps + 200 + + + style + wx.SL_HORIZONTAL + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (288, 92) + + + _rotation + 0 + + + id + f_tune + + + value + f_ctr + offset_Hz + f_fine + + variable @@ -258,7 +457,7 @@ value - 539.6e3 + f_fine + 200e3 @@ -312,22 +511,34 @@ value - 2000000 + 5*dsp_rate - analog_const_source_x + analog_am_demod_cf + + audio_decim + int(dsp_rate/audio_rate) + + + audio_pass + 15000 + + + audio_stop + 15500 + alias - comment - + chan_rate + dsp_rate - const - 0 + comment + affinity @@ -339,7 +550,7 @@ _coordinate - (984, 452) + (1144, 644) _rotation @@ -347,7 +558,46 @@ id - analog_const_source_x_0 + analog_am_demod_cf_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + + analog_fm_deemph + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (1568, 868) + + + _rotation + 0 + + + id + analog_fm_deemph_0 maxoutbuf @@ -358,8 +608,59 @@ 0 - type - float + samp_rate + audio_rate + + + tau + 50e-6 + + + + analog_fm_deemph + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (1568, 964) + + + _rotation + 0 + + + id + analog_fm_deemph_0_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + samp_rate + audio_rate + + + tau + 50e-6 @@ -382,7 +683,7 @@ _coordinate - (1600, 12) + (1328, 44) _rotation @@ -394,11 +695,11 @@ w - 1e-5 + pi/100 max_freq - 2*pi*37.9e3/dsp_rate + 2*pi*39e3/dsp_rate maxoutbuf @@ -406,7 +707,7 @@ min_freq - 2*pi*38.1e3/dsp_rate + 2*pi*37e3/dsp_rate minoutbuf @@ -441,7 +742,7 @@ gain - 0.1 + 0.3 id @@ -484,7 +785,7 @@ _coordinate - (176, 436) + (280, 468) _rotation @@ -539,15 +840,15 @@ _enabled - 1 + 0 freq - 57e3 + -57e3 _coordinate - (1168, 436) + (896, 476) _rotation @@ -606,7 +907,7 @@ _coordinate - (1704, 840) + (1752, 912) _rotation @@ -626,7 +927,7 @@ samp_rate - dsp_rate + audio_rate @@ -649,11 +950,11 @@ _enabled - 1 + 0 _coordinate - (1792, 716) + (1784, 604) _rotation @@ -708,7 +1009,7 @@ _coordinate - (584, 596) + (480, 596) _rotation @@ -752,7 +1053,165 @@ win - firdes.WIN_HAMMING + firdes.WIN_KAISER + + + + band_pass_filter + + beta + 6.76 + + + alias + + + + comment + + + + affinity + + + + decim + 1 + + + _enabled + 1 + + + type + fir_filter_ccf + + + _coordinate + (1576, 4) + + + _rotation + 0 + + + gain + 1 + + + high_cutoff_freq + (38.5)*1e3 + + + id + band_pass_filter_0_0 + + + interp + 1 + + + low_cutoff_freq + (37.5)*1e3 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + samp_rate + dsp_rate + + + width + 2000 + + + win + firdes.WIN_KAISER + + + + band_pass_filter + + beta + 6.76 + + + alias + + + + comment + + + + affinity + + + + decim + 1 + + + _enabled + 1 + + + type + fir_filter_ccf + + + _coordinate + (928, 12) + + + _rotation + 0 + + + gain + 10 + + + high_cutoff_freq + (19.5)*1e3 + + + id + band_pass_filter_0_0_0 + + + interp + 1 + + + low_cutoff_freq + (18.5)*1e3 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + samp_rate + dsp_rate + + + width + 2000 + + + win + firdes.WIN_KAISER @@ -771,11 +1230,11 @@ _enabled - True + 1 _coordinate - (1560, 792) + (1368, 864) _rotation @@ -806,6 +1265,100 @@ 1 + + blocks_add_xx + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (680, 656) + + + _rotation + 0 + + + id + blocks_add_xx_1 + + + type + complex + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + num_inputs + 2 + + + vlen + 1 + + + + blocks_complex_to_float + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (624, 168) + + + _rotation + 0 + + + id + blocks_complex_to_float_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + vlen + 1 + + blocks_complex_to_mag @@ -822,11 +1375,11 @@ _enabled - 1 + True _coordinate - (1176, 672) + (1160, 120) _rotation @@ -865,11 +1418,11 @@ _enabled - 1 + 0 _coordinate - (1584, 720) + (1560, 512) _rotation @@ -908,11 +1461,11 @@ _enabled - 1 + True _coordinate - (760, 800) + (488, 880) _rotation @@ -931,6 +1484,61 @@ 0 + + blocks_delay + + alias + + + + comment + + + + affinity + + + + delay + delay_LplusR + + + _enabled + True + + + _coordinate + (832, 196) + + + _rotation + 0 + + + id + blocks_delay_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + num_ports + 1 + + + type + float + + + vlen + 1 + + blocks_file_source @@ -951,7 +1559,7 @@ _enabled - 1 + 0 file @@ -991,7 +1599,7 @@ - blocks_float_to_complex + blocks_multiply_const_vxx alias @@ -1000,6 +1608,10 @@ comment + + const + 0.1 + affinity @@ -1010,7 +1622,7 @@ _coordinate - (1168, 360) + (488, 812) _rotation @@ -1018,7 +1630,11 @@ id - blocks_float_to_complex_0 + blocks_multiply_const_vxx_0 + + + type + complex maxoutbuf @@ -1053,7 +1669,7 @@ _coordinate - (440, 344) + (456, 344) _rotation @@ -1104,7 +1720,7 @@ _coordinate - (824, 656) + (808, 720) _rotation @@ -1155,7 +1771,7 @@ _coordinate - (1456, 16) + (1168, 16) _rotation @@ -1202,11 +1818,11 @@ _enabled - 1 + 0 _coordinate - (1416, 440) + (1176, 448) _rotation @@ -1237,6 +1853,57 @@ 1 + + blocks_multiply_xx + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (1344, 672) + + + _rotation + 0 + + + id + blocks_multiply_xx_2 + + + type + float + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + num_inputs + 2 + + + vlen + 1 + + blocks_sub_xx @@ -1253,11 +1920,11 @@ _enabled - True + 1 _coordinate - (1552, 888) + (1360, 960) _rotation @@ -1288,6 +1955,108 @@ 1 + + hilbert_fc + + beta + 6.76 + + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (1000, 356) + + + _rotation + 0 + + + id + hilbert_fc_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + num_taps + 65 + + + win + firdes.WIN_KAISER + + + + blocks_threshold_ff + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (1352, 148) + + + _rotation + 0 + + + high + 0.3 + + + id + isStereo + + + init + 0 + + + low + 0.1 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + low_pass_filter @@ -1399,7 +2168,7 @@ _coordinate - (976, 620) + (944, 620) _rotation @@ -1407,7 +2176,7 @@ gain - gain_L_R + 2 id @@ -1466,7 +2235,7 @@ _enabled - 1 + 0 type @@ -1474,7 +2243,7 @@ _coordinate - (1544, 300) + (1336, 412) _rotation @@ -1514,10 +2283,10 @@ - root_raised_cosine_filter + low_pass_filter - alpha - 0.35 + beta + 6.76 alias @@ -1531,9 +2300,13 @@ affinity + + cutoff_freq + 15000 + decim - 1 + int(dsp_rate/audio_rate) _enabled @@ -1541,11 +2314,11 @@ type - fir_filter_ccf + fir_filter_fff _coordinate - (1536, 484) + (976, 172) _rotation @@ -1557,7 +2330,7 @@ id - root_raised_cosine_filter_0 + low_pass_filter_0_0_1 interp @@ -1571,17 +2344,76 @@ minoutbuf 0 - - ntaps - 11*5 - samp_rate - dsp_rate/40 + dsp_rate - sym_rate - 1.0 + width + 1500 + + + win + firdes.WIN_KAISER + + + + rational_resampler_xxx + + alias + + + + comment + + + + affinity + + + + decim + int(dsp_rate/audio_rate) + + + _enabled + True + + + fbw + 0 + + + _coordinate + (1344, 276) + + + _rotation + 0 + + + id + rational_resampler_xxx_0 + + + interp + 1 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + taps + 1 + + + type + fff @@ -1592,7 +2424,7 @@ ant0 - TX/RX + RX2 bw0 @@ -1600,7 +2432,7 @@ center_freq0 - 41203300 + f_tune dc_offs_enb0 @@ -1616,7 +2448,7 @@ gain0 - 20 + 40 lo_export0 @@ -2764,7 +3596,7 @@ _enabled - 0 + 1 _coordinate @@ -2900,7 +3732,7 @@ hide_cmd_port - False + True hide_lo_controls @@ -2935,7 +3767,7 @@ _coordinate - (1792, 28) + (1792, 60) _rotation @@ -2962,7 +3794,7 @@ _coordinate - (1416, 268) + (1192, 356) _rotation @@ -2989,7 +3821,7 @@ _coordinate - (1072, 284) + (1168, 220) _rotation @@ -3016,7 +3848,7 @@ _coordinate - (1352, 668) + (1456, 684) _rotation @@ -3043,7 +3875,7 @@ _coordinate - (552, 796) + (320, 844) _rotation @@ -3070,7 +3902,7 @@ _coordinate - (416, 652) + (320, 652) _rotation @@ -3097,7 +3929,7 @@ _coordinate - (1248, 28) + (752, 28) _rotation @@ -3112,6 +3944,33 @@ mpx + + virtual_source + + comment + + + + _enabled + 0 + + + _coordinate + (888, 428) + + + _rotation + 0 + + + id + virtual_source_0_0_0_0 + + + stream_id + mpx + + virtual_source @@ -3124,7 +3983,7 @@ _coordinate - (1216, 852) + (1000, 924) _rotation @@ -3151,7 +4010,7 @@ _coordinate - (1168, 788) + (960, 860) _rotation @@ -3206,110 +4065,7 @@ _coordinate - (800, 52) - - - _rotation - 0 - - - grid_pos - - - - id - wxgui_fftsink2_0 - - - notebook - - - - peak_hold - False - - - ref_level - -10 - - - ref_scale - 2.0 - - - fft_rate - 15 - - - samp_rate - dsp_rate - - - title - RX Post filter - - - type - complex - - - win_size - - - - win - None - - - y_divs - 10 - - - y_per_div - 10 - - - - wxgui_fftsink2 - - avg_alpha - 0.2 - - - average - True - - - baseband_freq - 0 - - - alias - - - - comment - - - - affinity - - - - _enabled - 0 - - - fft_size - 1024 - - - freqvar - None - - - _coordinate - (1752, 268) + (1552, 276) _rotation @@ -3372,109 +4128,6 @@ 10 - - wxgui_fftsink2 - - avg_alpha - 0.2 - - - average - True - - - baseband_freq - 0 - - - alias - - - - comment - - - - affinity - - - - _enabled - 1 - - - fft_size - 1024 - - - freqvar - None - - - _coordinate - (1064, 60) - - - _rotation - 0 - - - grid_pos - - - - id - wxgui_fftsink2_0_2 - - - notebook - - - - peak_hold - False - - - ref_level - -10 - - - ref_scale - 2.0 - - - fft_rate - 15 - - - samp_rate - dsp_rate - - - title - RX MPX - - - type - float - - - win_size - - - - win - None - - - y_divs - 10 - - - y_per_div - 10 - - wxgui_scopesink2 @@ -3495,11 +4148,11 @@ _enabled - 1 + 0 _coordinate - (1760, 604) + (1776, 484) _rotation @@ -3562,33 +4215,387 @@ Counts + + wxgui_scopesink2 + + ac_couple + True + + + alias + + + + comment + + + + affinity + + + + _enabled + 0 + + + _coordinate + (1776, 172) + + + _rotation + 0 + + + grid_pos + + + + id + wxgui_scopesink2_1 + + + notebook + + + + num_inputs + 2 + + + samp_rate + dsp_rate + + + t_scale + 0 + + + title + Scope Plot + + + trig_mode + wxgui.TRIG_MODE_AUTO + + + type + complex + + + v_offset + 0 + + + v_scale + 0 + + + win_size + + + + xy_mode + False + + + y_axis_label + Counts + + + + wxgui_scopesink2 + + ac_couple + True + + + alias + + + + comment + + + + affinity + + + + _enabled + 0 + + + _coordinate + (1744, 740) + + + _rotation + 0 + + + grid_pos + + + + id + wxgui_scopesink2_1_0 + + + notebook + + + + num_inputs + 2 + + + samp_rate + audio_rate + + + t_scale + 0 + + + title + Audio Plot + + + trig_mode + wxgui.TRIG_MODE_AUTO + + + type + float + + + v_offset + 0 + + + v_scale + 0 + + + win_size + + + + xy_mode + False + + + y_axis_label + Counts + + + + wxgui_scopesink2 + + ac_couple + True + + + alias + + + + comment + + + + affinity + + + + _enabled + 0 + + + _coordinate + (1264, 1060) + + + _rotation + 0 + + + grid_pos + + + + id + wxgui_scopesink2_1_0_0 + + + notebook + + + + num_inputs + 2 + + + samp_rate + audio_rate + + + t_scale + 0 + + + title + Audio Plot 2 + + + trig_mode + wxgui.TRIG_MODE_AUTO + + + type + float + + + v_offset + 0 + + + v_scale + 0 + + + win_size + + + + xy_mode + False + + + y_axis_label + Counts + + + + wxgui_scopesink2 + + ac_couple + False + + + alias + + + + comment + + + + affinity + + + + _enabled + 0 + + + _coordinate + (1544, 572) + + + _rotation + 0 + + + grid_pos + + + + id + wxgui_scopesink2_2 + + + notebook + + + + num_inputs + 1 + + + samp_rate + dsp_rate + + + t_scale + 0 + + + title + Pilot + + + trig_mode + wxgui.TRIG_MODE_AUTO + + + type + float + + + v_offset + 0 + + + v_scale + 0 + + + win_size + + + + xy_mode + False + + + y_axis_label + Counts + + - analog_const_source_x_0 - blocks_float_to_complex_0 + analog_am_demod_cf_0 + blocks_multiply_xx_2 + 0 + 0 + + + analog_fm_deemph_0 + audio_sink_0_0 + 0 + 0 + + + analog_fm_deemph_0_0 + audio_sink_0_0 0 1 analog_pll_refout_cc_0 - virtual_sink_0 + band_pass_filter_0_0 + 0 + 0 + + + analog_pll_refout_cc_0 + wxgui_scopesink2_1 0 0 analog_quadrature_demod_cf_0 - blocks_float_to_complex_0 - 0 - 0 - - - analog_quadrature_demod_cf_0 - virtual_sink_0_0_0 - 0 - 0 - - - analog_quadrature_demod_cf_0 - wxgui_fftsink2_0_2 + hilbert_fc_0 0 0 @@ -3606,19 +4613,67 @@ band_pass_filter_0 - blocks_multiply_xx_1 + blocks_add_xx_1 + 0 + 0 + + + band_pass_filter_0_0 + virtual_sink_0 + 0 + 0 + + + band_pass_filter_0_0_0 + blocks_complex_to_mag_0 + 0 + 0 + + + band_pass_filter_0_0_0 + blocks_multiply_xx_1_0 + 0 + 0 + + + band_pass_filter_0_0_0 + blocks_multiply_xx_1_0 + 0 + 1 + + + blocks_add_xx_0 + analog_fm_deemph_0 0 0 blocks_add_xx_0 - audio_sink_0_0 + wxgui_scopesink2_1_0 + 0 + 0 + + + blocks_add_xx_1 + blocks_multiply_xx_1 + 0 + 0 + + + blocks_complex_to_float_0 + blocks_delay_0 0 0 blocks_complex_to_mag_0 - virtual_sink_0_0_0_0 + isStereo + 0 + 0 + + + blocks_complex_to_mag_0 + wxgui_scopesink2_2 0 0 @@ -3640,6 +4695,12 @@ 0 1 + + blocks_delay_0 + low_pass_filter_0_0_1 + 0 + 0 + blocks_file_source_0 blocks_multiply_xx_0 @@ -3647,16 +4708,10 @@ 0 - blocks_float_to_complex_0 - blocks_multiply_xx_1_1 + blocks_multiply_const_vxx_0 + blocks_add_xx_1 0 - 0 - - - blocks_float_to_complex_0 - virtual_sink_0_0 - 0 - 0 + 1 blocks_multiply_xx_0 @@ -3676,39 +4731,69 @@ 0 0 + + blocks_multiply_xx_1_0 + wxgui_scopesink2_1 + 0 + 1 + blocks_multiply_xx_1_1 low_pass_filter_0_0_0 0 0 + + blocks_multiply_xx_2 + virtual_sink_0_0_0_0 + 0 + 0 + blocks_sub_xx_0 - audio_sink_0_0 + analog_fm_deemph_0_0 + 0 + 0 + + + blocks_sub_xx_0 + wxgui_scopesink2_1_0 0 1 + + hilbert_fc_0 + blocks_complex_to_float_0 + 0 + 0 + + + hilbert_fc_0 + virtual_sink_0_0 + 0 + 0 + + + isStereo + rational_resampler_xxx_0 + 0 + 0 + low_pass_filter_0 analog_quadrature_demod_cf_0 0 0 - - low_pass_filter_0 - wxgui_fftsink2_0 - 0 - 0 - low_pass_filter_0_0 - blocks_complex_to_mag_0 + analog_am_demod_cf_0 0 0 low_pass_filter_0_0_0 - root_raised_cosine_filter_0 + blocks_complex_to_mag_1 0 0 @@ -3719,11 +4804,17 @@ 0 - root_raised_cosine_filter_0 - blocks_complex_to_mag_1 + low_pass_filter_0_0_1 + virtual_sink_0_0_0 0 0 + + rational_resampler_xxx_0 + blocks_multiply_xx_2 + 0 + 1 + uhd_usrp_source_0 blocks_multiply_xx_0 @@ -3736,6 +4827,12 @@ 0 0 + + virtual_source_0 + blocks_multiply_const_vxx_0 + 0 + 0 + virtual_source_0_0 band_pass_filter_0 @@ -3744,15 +4841,15 @@ virtual_source_0_0_0 - blocks_multiply_xx_1_0 + band_pass_filter_0_0_0 0 0 - virtual_source_0_0_0 - blocks_multiply_xx_1_0 + virtual_source_0_0_0_0 + blocks_multiply_xx_1_1 0 - 1 + 0 virtual_source_0_0_1 @@ -3766,6 +4863,12 @@ 0 0 + + virtual_source_0_0_1 + wxgui_scopesink2_1_0_0 + 0 + 0 + virtual_source_0_0_1_0 blocks_add_xx_0 @@ -3778,4 +4881,10 @@ 0 1 + + virtual_source_0_0_1_0 + wxgui_scopesink2_1_0_0 + 0 + 1 +