Changeset 9701

Show
Ignore:
Timestamp:
10/02/08 15:57:53
Author:
n4hy
Message:

new fm detector computing frequency directly from the approximate derivative of atan(Q/I) using the five term derivative formula.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-core/src/lib/general/Makefile.am

    r9569 r9701  
    8080        gr_float_to_short.cc            \ 
    8181        gr_float_to_uchar.cc            \ 
     82        gr_fmdet_cf.cc                  \ 
    8283        gr_frequency_modulator_fc.cc    \ 
    8384        gr_fxpt.cc                      \ 
     
    226227        gr_float_to_short.h             \ 
    227228        gr_float_to_uchar.h             \ 
     229        gr_fmdet_cf.h                   \ 
    228230        gr_framer_sink_1.h              \ 
    229231        gr_frequency_modulator_fc.h     \ 
     
    385387        gr_float_to_short.i             \ 
    386388        gr_float_to_uchar.i             \ 
     389        gr_fmdet_cf.i                   \ 
    387390        gr_frequency_modulator_fc.i     \ 
    388391        gr_framer_sink_1.i              \ 
  • gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-core/src/lib/general/general.i

    r9569 r9701  
    8686#include <gr_lms_dfe_ff.h> 
    8787#include <gr_dpll_bb.h> 
     88#include <gr_fmdet_cf.h> 
    8889#include <gr_pll_freqdet_cf.h> 
    8990#include <gr_pll_refout_cc.h> 
     
    155156%include "gr_float_to_char.i" 
    156157%include "gr_float_to_uchar.i" 
     158%include "gr_fmdet_cf.i" 
    157159%include "gr_short_to_float.i" 
    158160%include "gr_char_to_float.i" 
  • gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-core/src/python/gnuradio/blks2impl/wfm_rcv_pll.py

    r9690 r9701  
    4040                                gr.io_signature(1, 1, gr.sizeof_gr_complex), # Input signature 
    4141                                gr.io_signature(1, 2, gr.sizeof_float))      # Output signature 
    42         bandwidth = 180e3 
     42        bandwidth = 250e3 
    4343        audio_rate = demod_rate / audio_decimation 
    4444 
     
    5050        alpha = 0.25*bandwidth * math.pi / demod_rate 
    5151        beta = alpha * alpha / 4.0 
    52         max_freq = 2.0*math.pi*100e3/demod_rate 
     52        max_freq = 2.0*math.pi*90e3/demod_rate 
    5353             
    5454        self.fm_demod = gr.pll_freqdet_cf (alpha,beta,max_freq,-max_freq) 
  • gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-examples/python/usrp/usrp_wfm_rcv_pll.py

    r9689 r9701  
    8282 
    8383        adc_rate = self.u.adc_rate()                # 64 MS/s 
    84         usrp_decim = 16
     84        usrp_decim = 20
    8585        self.u.set_decim_rate(usrp_decim) 
    86         usrp_rate = adc_rate / usrp_decim           #  400 kS/s 
     86        usrp_rate = adc_rate / usrp_decim           #  320 kS/s 
    8787        chanfilt_decim = 1 
    8888        demod_rate = usrp_rate / chanfilt_decim 
    8989        audio_decimation = 10 
    90         audio_rate = 6*demod_rate / audio_decimation/5  # 48 kHz 
     90        audio_rate = 3*demod_rate / audio_decimation/2  # 48 kHz 
    9191 
    9292        if options.rx_subdev_spec is None: 
     
    101101                                            90e3,        # passband cutoff 
    102102                                            30e3,        # transition bandwidth 
    103                                             60)          # stopband attenuation 
    104 #        print len(chan_filt_coeffs) 
     103                                            70,          # stopband attenuation 
     104                                            gr.firdes.WIN_BLACKMAN) 
     105        print len(chan_filt_coeffs) 
    105106        chan_filt = gr.fir_filter_ccf (chanfilt_decim, chan_filt_coeffs) 
    106107 
    107         self.rchan_sample = blks2.rational_resampler_fff(6,5
    108         self.lchan_sample = blks2.rational_resampler_fff(6,5
     108        self.rchan_sample = blks2.rational_resampler_fff(3,2
     109        self.lchan_sample = blks2.rational_resampler_fff(3,2
    109110 
    110111