diff options
author | Josh Morman <jmorman@gnuradio.org> | 2021-11-24 12:01:00 -0500 |
---|---|---|
committer | mormj <34754695+mormj@users.noreply.github.com> | 2021-11-24 14:41:53 -0500 |
commit | 2ede969ec5f3f6d361814403b7375db5f15ec14d (patch) | |
tree | d963e92732842ee3491da1282dfa09400342c96d /gr-analog/python/analog/wfm_rcv_fmdet.py | |
parent | c6f291d57d913708a2517de3c6902425c2c575d3 (diff) |
analog: pep8 formatting
Signed-off-by: Josh Morman <jmorman@gnuradio.org>
Diffstat (limited to 'gr-analog/python/analog/wfm_rcv_fmdet.py')
-rw-r--r-- | gr-analog/python/analog/wfm_rcv_fmdet.py | 110 |
1 files changed, 59 insertions, 51 deletions
diff --git a/gr-analog/python/analog/wfm_rcv_fmdet.py b/gr-analog/python/analog/wfm_rcv_fmdet.py index 3b587cc44c..d9289aa333 100644 --- a/gr-analog/python/analog/wfm_rcv_fmdet.py +++ b/gr-analog/python/analog/wfm_rcv_fmdet.py @@ -19,7 +19,7 @@ from .fm_emph import fm_deemph class wfm_rcv_fmdet(gr.hier_block2): - def __init__ (self, demod_rate, audio_decimation): + def __init__(self, demod_rate, audio_decimation): """ Hierarchical block for demodulating a broadcast FM signal. @@ -32,9 +32,10 @@ class wfm_rcv_fmdet(gr.hier_block2): 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 + # Input signature + gr.io_signature(1, 1, gr.sizeof_gr_complex), gr.io_signature(2, 2, gr.sizeof_float)) # Output signature - + if audio_decimation != int(audio_decimation): raise ValueError("audio_decimation needs to be an integer") audio_decimation = int(audio_decimation) @@ -51,26 +52,27 @@ class wfm_rcv_fmdet(gr.hier_block2): self.fm_demod = analog.fmdet_cf(demod_rate, lowfreq, highfreq, 0.05) # input: float; output: float - self.deemph_Left = fm_deemph(audio_rate) + self.deemph_Left = fm_deemph(audio_rate) self.deemph_Right = fm_deemph(audio_rate) # compute FIR filter taps for audio filter width_of_transition_band = audio_rate / 32 - audio_coeffs = filter.firdes.low_pass(1.0 , # gain + audio_coeffs = filter.firdes.low_pass(1.0, # gain demod_rate, # sampling rate - 15000 , + 15000, width_of_transition_band, fft.window.WIN_HAMMING) # input: float; output: float - self.audio_filter = filter.fir_filter_fff(audio_decimation, audio_coeffs) + self.audio_filter = filter.fir_filter_fff( + audio_decimation, audio_coeffs) if 1: # Pick off the stereo carrier/2 with this filter. It # attenuated 10 dB so apply 10 dB gain We pick off the # negative frequency half because we want to base band by # it! - ## NOTE THIS WAS HACKED TO OFFSET INSERTION LOSS DUE TO - ## DEEMPHASIS + # NOTE THIS WAS HACKED TO OFFSET INSERTION LOSS DUE TO + # DEEMPHASIS stereo_carrier_filter_coeffs = \ filter.firdes.complex_band_pass(10.0, @@ -80,9 +82,9 @@ class wfm_rcv_fmdet(gr.hier_block2): width_of_transition_band, fft.window.WIN_HAMMING) - #print "len stereo carrier filter = ",len(stereo_carrier_filter_coeffs) - #print "stereo carrier filter ", stereo_carrier_filter_coeffs - #print "width of transition band = ",width_of_transition_band, " audio rate = ", audio_rate + # print "len stereo carrier filter = ",len(stereo_carrier_filter_coeffs) + # print "stereo carrier filter ", stereo_carrier_filter_coeffs + # print "width of transition band = ",width_of_transition_band, " audio rate = ", audio_rate # Pick off the double side band suppressed carrier # Left-Right audio. It is attenuated 10 dB so apply 10 dB @@ -91,12 +93,12 @@ 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, fft.window.WIN_HAMMING) - #print "len stereo dsbsc filter = ",len(stereo_dsbsc_filter_coeffs) - #print "stereo dsbsc filter ", stereo_dsbsc_filter_coeffs + # print "len stereo dsbsc filter = ",len(stereo_dsbsc_filter_coeffs) + # print "stereo dsbsc filter ", stereo_dsbsc_filter_coeffs # construct overlap add filter system from coefficients # for stereo carrier @@ -106,7 +108,7 @@ class wfm_rcv_fmdet(gr.hier_block2): # carrier is twice the picked off carrier so arrange to do # a complex multiply - self.stereo_carrier_generator = blocks.multiply_cc(); + self.stereo_carrier_generator = blocks.multiply_cc() # Pick off the rds signal stereo_rds_filter_coeffs = \ @@ -116,90 +118,96 @@ class wfm_rcv_fmdet(gr.hier_block2): 57000 + 1500, width_of_transition_band, fft.window.WIN_HAMMING) - #print "len stereo dsbsc filter = ",len(stereo_dsbsc_filter_coeffs) - #print "stereo dsbsc filter ", stereo_dsbsc_filter_coeffs + # print "len stereo dsbsc filter = ",len(stereo_dsbsc_filter_coeffs) + # print "stereo dsbsc filter ", stereo_dsbsc_filter_coeffs # construct overlap add filter system from coefficients for stereo carrier 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; - min_freq = -2.0*math.pi*19010/audio_rate; + loop_bw = 2 * math.pi / 100.0 + max_freq = -2.0 * math.pi * 18990 / audio_rate + min_freq = -2.0 * math.pi * 19010 / audio_rate self.stereo_carrier_pll_recovery = analog.pll_refout_cc(loop_bw, max_freq, - min_freq); + min_freq) - #self.stereo_carrier_pll_recovery.squelch_enable(False) - ##pll_refout does not have squelch yet, so disabled for - #now + # self.stereo_carrier_pll_recovery.squelch_enable(False) + # pll_refout does not have squelch yet, so disabled for + # now # set up mixer (multiplier) to get the L-R signal at # baseband - self.stereo_basebander = blocks.multiply_cc(); + self.stereo_basebander = blocks.multiply_cc() # pick off the real component of the basebanded L-R # signal. The imaginary SHOULD be zero - self.LmR_real = blocks.complex_to_real(); - self.Make_Left = blocks.add_ff(); - self.Make_Right = blocks.sub_ff(); + self.LmR_real = blocks.complex_to_real() + self.Make_Left = blocks.add_ff() + self.Make_Right = blocks.sub_ff() self.stereo_dsbsc_filter = \ filter.fir_filter_fcc(audio_decimation, stereo_dsbsc_filter_coeffs) - if 1: # send the real signal to complex filter to pick off the # carrier and then to one side of a multiplier self.connect(self, self.fm_demod, self.stereo_carrier_filter, self.stereo_carrier_pll_recovery, - (self.stereo_carrier_generator,0)) + (self.stereo_carrier_generator, 0)) # send the already filtered carrier to the otherside of the carrier # the resulting signal from this multiplier is the carrier # with correct phase but at -38000 Hz. - self.connect(self.stereo_carrier_pll_recovery, (self.stereo_carrier_generator,1)) + self.connect(self.stereo_carrier_pll_recovery, + (self.stereo_carrier_generator, 1)) # send the new carrier to one side of the mixer (multiplier) - self.connect(self.stereo_carrier_generator, (self.stereo_basebander,0)) + self.connect(self.stereo_carrier_generator, + (self.stereo_basebander, 0)) # send the demphasized audio to the DSBSC pick off filter, the complex # DSBSC signal at +38000 Hz is sent to the other side of the mixer/multiplier # the result is BASEBANDED DSBSC with phase zero! - self.connect(self.fm_demod,self.stereo_dsbsc_filter, (self.stereo_basebander,1)) + self.connect(self.fm_demod, self.stereo_dsbsc_filter, + (self.stereo_basebander, 1)) # Pick off the real part since the imaginary is # theoretically zero and then to one side of a summer - self.connect(self.stereo_basebander, self.LmR_real, (self.Make_Left,0)) + self.connect(self.stereo_basebander, + self.LmR_real, (self.Make_Left, 0)) - #take the same real part of the DSBSC baseband signal and - #send it to negative side of a subtracter - self.connect(self.LmR_real,(self.Make_Right,1)) + # take the same real part of the DSBSC baseband signal and + # 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)) - self.connect(self.stereo_carrier_pll_recovery,(self.rds_carrier_generator,1)) + 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)) + 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) - + self.connect(self.rds_signal_generator, self_rds_signal_processor) if 1: # pick off the audio, L+R that is what we used to have and @@ -208,14 +216,14 @@ class wfm_rcv_fmdet(gr.hier_block2): # take the picked off L+R audio and send it to the PLUS # side of the subtractor - self.connect(self.audio_filter,(self.Make_Right, 0)) + self.connect(self.audio_filter, (self.Make_Right, 0)) # The result of Make_Left gets (L+R) + (L-R) and results in 2*L # The result of Make_Right gets (L+R) - (L-R) and results in 2*R - self.connect(self.Make_Left , self.deemph_Left, (self, 0)) + self.connect(self.Make_Left, self.deemph_Left, (self, 0)) self.connect(self.Make_Right, self.deemph_Right, (self, 1)) # NOTE: mono support will require variable number of outputs in hier_block2s # See ticket:174 in Trac database - #else: + # else: # self.connect (self.fm_demod, self.audio_filter, self) |