diff options
Diffstat (limited to 'gr-analog/python/analog/wfm_rcv_fmdet.py')
-rw-r--r-- | gr-analog/python/analog/wfm_rcv_fmdet.py | 55 |
1 files changed, 29 insertions, 26 deletions
diff --git a/gr-analog/python/analog/wfm_rcv_fmdet.py b/gr-analog/python/analog/wfm_rcv_fmdet.py index b7cd1458fb..fe91465a3b 100644 --- a/gr-analog/python/analog/wfm_rcv_fmdet.py +++ b/gr-analog/python/analog/wfm_rcv_fmdet.py @@ -19,16 +19,19 @@ # Boston, MA 02110-1301, USA. # +from __future__ import absolute_import +from __future__ import division +from __future__ import unicode_literals + +import math + from gnuradio import gr from gnuradio import blocks from gnuradio import filter -from fm_emph import fm_deemph -import math -try: - from gnuradio import analog -except ImportError: - import analog_swig as analog +from . import analog_swig as analog +from .fm_emph import fm_deemph + class wfm_rcv_fmdet(gr.hier_block2): def __init__ (self, demod_rate, audio_decimation): @@ -43,11 +46,11 @@ class wfm_rcv_fmdet(gr.hier_block2): demod_rate: input sample rate of complex baseband input. (float) audio_decimation: how much to decimate demod_rate to get to audio. (integer) """ - gr.hier_block2.__init__(self, "wfm_rcv_fmdet", - gr.io_signature(1, 1, gr.sizeof_gr_complex), # Input signature - gr.io_signature(2, 2, gr.sizeof_float)) # Output signature - lowfreq = -125e3/demod_rate - highfreq = 125e3/demod_rate + gr.hier_block2.__init__(self, "wfm_rcv_fmdet", + gr.io_signature(1, 1, gr.sizeof_gr_complex), # Input signature + gr.io_signature(2, 2, gr.sizeof_float)) # Output signature + lowfreq = -125e3 / demod_rate + highfreq = 125e3 / demod_rate audio_rate = demod_rate / audio_decimation # We assign to self so that outsiders can grab the demodulator @@ -98,8 +101,8 @@ class wfm_rcv_fmdet(gr.hier_block2): stereo_dsbsc_filter_coeffs = \ filter.firdes.complex_band_pass(20.0, demod_rate, - 38000-15000/2, - 38000+15000/2, + 38000-15000 / 2, + 38000+15000 / 2, width_of_transition_band, filter.firdes.WIN_HAMMING) #print "len stereo dsbsc filter = ",len(stereo_dsbsc_filter_coeffs) @@ -127,12 +130,12 @@ class wfm_rcv_fmdet(gr.hier_block2): #print "stereo dsbsc filter ", stereo_dsbsc_filter_coeffs # construct overlap add filter system from coefficients for stereo carrier - self.rds_signal_filter = \ + self.rds_signal_filter = \ filter.fir_filter_fcc(audio_decimation, stereo_rds_filter_coeffs) - self.rds_carrier_generator = blocks.multiply_cc(); - self.rds_signal_generator = blocks.multiply_cc(); - self_rds_signal_processor = blocks.null_sink(gr.sizeof_gr_complex); + self.rds_carrier_generator = blocks.multiply_cc(); + self.rds_signal_generator = blocks.multiply_cc(); + self_rds_signal_processor = blocks.null_sink(gr.sizeof_gr_complex); loop_bw = 2*math.pi/100.0 max_freq = -2.0*math.pi*18990/audio_rate; @@ -191,21 +194,21 @@ class wfm_rcv_fmdet(gr.hier_block2): #send it to negative side of a subtracter self.connect(self.LmR_real,(self.Make_Right,1)) - # Make rds carrier by taking the squared pilot tone and - # multiplying by pilot tone - self.connect(self.stereo_basebander,(self.rds_carrier_generator,0)) + # Make rds carrier by taking the squared pilot tone and + # multiplying by pilot tone + self.connect(self.stereo_basebander,(self.rds_carrier_generator,0)) self.connect(self.stereo_carrier_pll_recovery,(self.rds_carrier_generator,1)) - # take signal, filter off rds, send into mixer 0 channel - self.connect(self.fm_demod,self.rds_signal_filter,(self.rds_signal_generator,0)) + # take signal, filter off rds, send into mixer 0 channel + self.connect(self.fm_demod,self.rds_signal_filter,(self.rds_signal_generator,0)) # take rds_carrier_generator output and send into mixer 1 # channel - self.connect(self.rds_carrier_generator,(self.rds_signal_generator,1)) + self.connect(self.rds_carrier_generator,(self.rds_signal_generator,1)) - # send basebanded rds signal and send into "processor" - # which for now is a null sink - self.connect(self.rds_signal_generator,self_rds_signal_processor) + # send basebanded rds signal and send into "processor" + # which for now is a null sink + self.connect(self.rds_signal_generator,self_rds_signal_processor) if 1: |