diff --git a/redpitaya/client/iq_pid_vco.grc b/redpitaya/client/iq_pid_vco.grc index fc878d2..d6deec7 100644 --- a/redpitaya/client/iq_pid_vco.grc +++ b/redpitaya/client/iq_pid_vco.grc @@ -305,7 +305,7 @@ value - 0 + 21000000 _enabled @@ -368,7 +368,7 @@ value - 0 + 21000000 _enabled @@ -651,7 +651,7 @@ value - 0 + 42000000 _enabled diff --git a/redpitaya/client/iq_pid_vco.py b/redpitaya/client/iq_pid_vco.py index 38e3f8d..4566817 100755 --- a/redpitaya/client/iq_pid_vco.py +++ b/redpitaya/client/iq_pid_vco.py @@ -3,7 +3,7 @@ ################################################## # GNU Radio Python Flow Graph # Title: Iq Pid Vco -# Generated: Wed Apr 26 19:01:48 2017 +# Generated: Thu Apr 27 16:17:01 2017 ################################################## if __name__ == '__main__': @@ -62,13 +62,13 @@ class iq_pid_vco(gr.top_block, Qt.QWidget): self.pid_kp = pid_kp = 0 self.pid_ki = pid_ki = 0 self.pid_kd = pid_kd = 0 - self.demod_nco = demod_nco = 0 + self.demod_nco = demod_nco = 42000000 self.dds_range = dds_range = 0 self.dds_poff_sw = dds_poff_sw = 1 self.dds_pinc_sw = dds_pinc_sw = 1 self.dds_offset = dds_offset = 0 - self.dds_nco = dds_nco = 0 - self.dds_f0 = dds_f0 = 0 + self.dds_nco = dds_nco = 21000000 + self.dds_f0 = dds_f0 = 21000000 self.dds_ampl = dds_ampl = 0 self.dac2_offset = dac2_offset = 0 self.addr = addr = "192.168.0.202" @@ -101,7 +101,7 @@ class iq_pid_vco(gr.top_block, Qt.QWidget): self._pid_kd_range = Range(0, 2**13-1, 1, 0, 200) self._pid_kd_win = RangeWidget(self._pid_kd_range, self.set_pid_kd, 'pid_kd', "counter_slider", int) self.top_grid_layout.addWidget(self._pid_kd_win, 4, 1) - self._demod_nco_range = Range(0, 60000000, 1, 0, 200) + self._demod_nco_range = Range(0, 60000000, 1, 42000000, 200) self._demod_nco_win = RangeWidget(self._demod_nco_range, self.set_demod_nco, 'demod_nco', "counter_slider", int) self.top_grid_layout.addWidget(self._demod_nco_win, 3, 4) self._dds_range_range = Range(-2**13, 2**13-1, 1, 0, 200) @@ -124,10 +124,10 @@ class iq_pid_vco(gr.top_block, Qt.QWidget): self._dds_offset_range = Range(-2**13, 2**13-1, 1, 0, 200) self._dds_offset_win = RangeWidget(self._dds_offset_range, self.set_dds_offset, 'dds_offset', "counter_slider", int) self.top_grid_layout.addWidget(self._dds_offset_win, 3, 3) - self._dds_nco_range = Range(0, 60000000, 1, 0, 200) + self._dds_nco_range = Range(0, 60000000, 1, 21000000, 200) self._dds_nco_win = RangeWidget(self._dds_nco_range, self.set_dds_nco, 'dds_nco', "counter_slider", int) self.top_grid_layout.addWidget(self._dds_nco_win, 2, 3) - self._dds_f0_range = Range(0, 60000000, 1, 0, 200) + self._dds_f0_range = Range(0, 60000000, 1, 21000000, 200) self._dds_f0_win = RangeWidget(self._dds_f0_range, self.set_dds_f0, 'dds_f0', "counter_slider", int) self.top_grid_layout.addWidget(self._dds_f0_win, 4, 3) self._dds_ampl_range = Range(0, 2**13-1, 1, 0, 200) diff --git a/redpitaya/client/pid_only.py b/redpitaya/client/pid_only.py index e1ab246..6f5cc14 100755 --- a/redpitaya/client/pid_only.py +++ b/redpitaya/client/pid_only.py @@ -3,7 +3,7 @@ ################################################## # GNU Radio Python Flow Graph # Title: Pid Only -# Generated: Wed Apr 19 09:35:59 2017 +# Generated: Thu Apr 27 15:50:24 2017 ################################################## if __name__ == '__main__': diff --git a/sdr/fm_radio/fm_radio.grc b/sdr/fm_radio/fm_radio.grc index 548e38e..5820c3b 100644 --- a/sdr/fm_radio/fm_radio.grc +++ b/sdr/fm_radio/fm_radio.grc @@ -89,7 +89,7 @@ value - 160011000 + 158000000 _enabled @@ -215,7 +215,7 @@ quad_rate - samp_rate*10 + samp_rate*8 @@ -340,7 +340,7 @@ _enabled - 1 + 0 type @@ -376,7 +376,7 @@ samp_rate - samp_rate*10*4 + samp_rate*8*4 width @@ -415,7 +415,7 @@ _enabled - 1 + 0 type @@ -451,7 +451,7 @@ samp_rate - samp_rate*10 + samp_rate*8 width @@ -466,7 +466,7 @@ qtgui_sink_x bw - samp_rate*10*4 + samp_rate*8*4 alias @@ -565,7 +565,7 @@ qtgui_sink_x bw - samp_rate*10 + samp_rate*8 alias @@ -680,7 +680,7 @@ _enabled - 0 + 1 fbw @@ -735,11 +735,11 @@ decim - 10 + 8 _enabled - 0 + 1 fbw @@ -2178,7 +2178,7 @@ sample_rate - samp_rate*10*4 + samp_rate*8*4 sync diff --git a/sdr/fm_radio/fm_radio.py b/sdr/fm_radio/fm_radio.py index 7b21c77..be94353 100755 --- a/sdr/fm_radio/fm_radio.py +++ b/sdr/fm_radio/fm_radio.py @@ -3,7 +3,7 @@ ################################################## # GNU Radio Python Flow Graph # Title: Fm Radio -# Generated: Tue Apr 11 17:29:18 2017 +# Generated: Thu Apr 27 16:24:59 2017 ################################################## if __name__ == '__main__': @@ -62,16 +62,16 @@ class fm_radio(gr.top_block, Qt.QWidget): # Variables ################################################## self.samp_rate = samp_rate = 48e3 - self.freq = freq = 160011000 + self.freq = freq = 158000000 ################################################## # Blocks ################################################## - self._freq_range = Range(52e6, 2e9, 1e3, 160011000, 200) + self._freq_range = Range(52e6, 2e9, 1e3, 158000000, 200) self._freq_win = RangeWidget(self._freq_range, self.set_freq, "freq", "counter_slider", float) self.top_grid_layout.addWidget(self._freq_win, 0,0) self.rtlsdr_source_0 = osmosdr.source( args="numchan=" + str(1) + " " + '' ) - self.rtlsdr_source_0.set_sample_rate(samp_rate*10*4) + self.rtlsdr_source_0.set_sample_rate(samp_rate*8*4) self.rtlsdr_source_0.set_center_freq(freq, 0) self.rtlsdr_source_0.set_freq_corr(0, 0) self.rtlsdr_source_0.set_dc_offset_mode(0, 0) @@ -83,11 +83,23 @@ class fm_radio(gr.top_block, Qt.QWidget): self.rtlsdr_source_0.set_antenna('', 0) self.rtlsdr_source_0.set_bandwidth(0, 0) + self.rational_resampler_xxx_0_0 = filter.rational_resampler_ccc( + interpolation=1, + decimation=8, + taps=None, + fractional_bw=None, + ) + self.rational_resampler_xxx_0 = filter.rational_resampler_fff( + interpolation=1, + decimation=4, + taps=None, + fractional_bw=None, + ) self.qtgui_sink_x_1 = qtgui.sink_f( 1024, #fftsize firdes.WIN_BLACKMAN_hARRIS, #wintype 0, #fc - samp_rate*10, #bw + samp_rate*8, #bw "", #name True, #plotfreq True, #plotwaterfall @@ -106,7 +118,7 @@ class fm_radio(gr.top_block, Qt.QWidget): 1024, #fftsize firdes.WIN_BLACKMAN_hARRIS, #wintype 0, #fc - samp_rate*10*4, #bw + samp_rate*8*4, #bw "", #name True, #plotfreq True, #plotwaterfall @@ -121,25 +133,21 @@ class fm_radio(gr.top_block, Qt.QWidget): - self.low_pass_filter_0_0 = filter.fir_filter_fff(10, firdes.low_pass( - 1, samp_rate*10, samp_rate*2, 1e4, firdes.WIN_HAMMING, 6.76)) - self.low_pass_filter_0 = filter.fir_filter_ccf(4, firdes.low_pass( - 1, samp_rate*10*4, 500e3, 10e3, firdes.WIN_HAMMING, 6.76)) self.audio_sink_0 = audio.sink(int(samp_rate), '', True) self.analog_wfm_rcv_0 = analog.wfm_rcv( - quad_rate=samp_rate*10, + quad_rate=samp_rate*8, audio_decimation=1, ) ################################################## # Connections ################################################## - self.connect((self.analog_wfm_rcv_0, 0), (self.low_pass_filter_0_0, 0)) self.connect((self.analog_wfm_rcv_0, 0), (self.qtgui_sink_x_1, 0)) - self.connect((self.low_pass_filter_0, 0), (self.analog_wfm_rcv_0, 0)) - self.connect((self.low_pass_filter_0_0, 0), (self.audio_sink_0, 0)) - self.connect((self.rtlsdr_source_0, 0), (self.low_pass_filter_0, 0)) + self.connect((self.analog_wfm_rcv_0, 0), (self.rational_resampler_xxx_0, 0)) + self.connect((self.rational_resampler_xxx_0, 0), (self.audio_sink_0, 0)) + self.connect((self.rational_resampler_xxx_0_0, 0), (self.analog_wfm_rcv_0, 0)) self.connect((self.rtlsdr_source_0, 0), (self.qtgui_sink_x_0, 0)) + self.connect((self.rtlsdr_source_0, 0), (self.rational_resampler_xxx_0_0, 0)) def closeEvent(self, event): self.settings = Qt.QSettings("GNU Radio", "fm_radio") @@ -151,11 +159,9 @@ class fm_radio(gr.top_block, Qt.QWidget): def set_samp_rate(self, samp_rate): self.samp_rate = samp_rate - self.rtlsdr_source_0.set_sample_rate(self.samp_rate*10*4) - self.qtgui_sink_x_1.set_frequency_range(0, self.samp_rate*10) - self.qtgui_sink_x_0.set_frequency_range(0, self.samp_rate*10*4) - self.low_pass_filter_0_0.set_taps(firdes.low_pass(1, self.samp_rate*10, self.samp_rate*2, 1e4, firdes.WIN_HAMMING, 6.76)) - self.low_pass_filter_0.set_taps(firdes.low_pass(1, self.samp_rate*10*4, 500e3, 10e3, firdes.WIN_HAMMING, 6.76)) + self.rtlsdr_source_0.set_sample_rate(self.samp_rate*8*4) + self.qtgui_sink_x_1.set_frequency_range(0, self.samp_rate*8) + self.qtgui_sink_x_0.set_frequency_range(0, self.samp_rate*8*4) def get_freq(self): return self.freq