commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r9701 - in gnuradio/branches/developers/n4hy/pfb_fbs:


From: n4hy
Subject: [Commit-gnuradio] r9701 - in gnuradio/branches/developers/n4hy/pfb_fbs: gnuradio-core/src/lib/general gnuradio-core/src/python/gnuradio/blks2impl gnuradio-examples/python/usrp
Date: Thu, 2 Oct 2008 15:57:53 -0600 (MDT)

Author: n4hy
Date: 2008-10-02 15:57:53 -0600 (Thu, 02 Oct 2008)
New Revision: 9701

Modified:
   
gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-core/src/lib/general/Makefile.am
   
gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-core/src/lib/general/general.i
   
gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-core/src/python/gnuradio/blks2impl/wfm_rcv_pll.py
   
gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-examples/python/usrp/usrp_wfm_rcv_pll.py
Log:
new fm detector computing frequency directly from the approximate derivative of 
atan(Q/I) using the five term derivative formula.

Modified: 
gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-core/src/lib/general/Makefile.am
===================================================================
--- 
gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-core/src/lib/general/Makefile.am
 2008-10-02 21:47:14 UTC (rev 9700)
+++ 
gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-core/src/lib/general/Makefile.am
 2008-10-02 21:57:53 UTC (rev 9701)
@@ -79,6 +79,7 @@
        gr_float_to_complex.cc          \
        gr_float_to_short.cc            \
        gr_float_to_uchar.cc            \
+       gr_fmdet_cf.cc                  \
        gr_frequency_modulator_fc.cc    \
        gr_fxpt.cc                      \
        gr_framer_sink_1.cc             \
@@ -225,6 +226,7 @@
        gr_float_to_complex.h           \
        gr_float_to_short.h             \
        gr_float_to_uchar.h             \
+       gr_fmdet_cf.h                   \
        gr_framer_sink_1.h              \
        gr_frequency_modulator_fc.h     \
        gr_fxpt.h                       \
@@ -384,6 +386,7 @@
        gr_float_to_complex.i           \
        gr_float_to_short.i             \
        gr_float_to_uchar.i             \
+       gr_fmdet_cf.i                   \
        gr_frequency_modulator_fc.i     \
        gr_framer_sink_1.i              \
        gr_glfsr_source_b.i             \

Modified: 
gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-core/src/lib/general/general.i
===================================================================
--- 
gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-core/src/lib/general/general.i
   2008-10-02 21:47:14 UTC (rev 9700)
+++ 
gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-core/src/lib/general/general.i
   2008-10-02 21:57:53 UTC (rev 9701)
@@ -85,6 +85,7 @@
 #include <gr_lms_dfe_cc.h>
 #include <gr_lms_dfe_ff.h>
 #include <gr_dpll_bb.h>
+#include <gr_fmdet_cf.h>
 #include <gr_pll_freqdet_cf.h>
 #include <gr_pll_refout_cc.h>
 #include <gr_pll_carriertracking_cc.h>
@@ -154,6 +155,7 @@
 %include "gr_float_to_short.i"
 %include "gr_float_to_char.i"
 %include "gr_float_to_uchar.i"
+%include "gr_fmdet_cf.i"
 %include "gr_short_to_float.i"
 %include "gr_char_to_float.i"
 %include "gr_uchar_to_float.i"

Modified: 
gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-core/src/python/gnuradio/blks2impl/wfm_rcv_pll.py
===================================================================
--- 
gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-core/src/python/gnuradio/blks2impl/wfm_rcv_pll.py
        2008-10-02 21:47:14 UTC (rev 9700)
+++ 
gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-core/src/python/gnuradio/blks2impl/wfm_rcv_pll.py
        2008-10-02 21:57:53 UTC (rev 9701)
@@ -39,7 +39,7 @@
        gr.hier_block2.__init__(self, "wfm_rcv_pll",
                                gr.io_signature(1, 1, gr.sizeof_gr_complex), # 
Input signature
                                gr.io_signature(1, 2, gr.sizeof_float))      # 
Output signature
-        bandwidth = 180e3
+        bandwidth = 250e3
         audio_rate = demod_rate / audio_decimation
 
 
@@ -49,7 +49,7 @@
         # input: complex; output: float
         alpha = 0.25*bandwidth * math.pi / demod_rate
         beta = alpha * alpha / 4.0
-        max_freq = 2.0*math.pi*100e3/demod_rate
+        max_freq = 2.0*math.pi*90e3/demod_rate
             
         self.fm_demod = gr.pll_freqdet_cf (alpha,beta,max_freq,-max_freq)
 

Modified: 
gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-examples/python/usrp/usrp_wfm_rcv_pll.py
===================================================================
--- 
gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-examples/python/usrp/usrp_wfm_rcv_pll.py
 2008-10-02 21:47:14 UTC (rev 9700)
+++ 
gnuradio/branches/developers/n4hy/pfb_fbs/gnuradio-examples/python/usrp/usrp_wfm_rcv_pll.py
 2008-10-02 21:57:53 UTC (rev 9701)
@@ -81,13 +81,13 @@
         self.u = usrp.source_c()                    # usrp is data source
 
         adc_rate = self.u.adc_rate()                # 64 MS/s
-        usrp_decim = 160
+        usrp_decim = 200
         self.u.set_decim_rate(usrp_decim)
-        usrp_rate = adc_rate / usrp_decim           #  400 kS/s
+        usrp_rate = adc_rate / usrp_decim           #  320 kS/s
         chanfilt_decim = 1
         demod_rate = usrp_rate / chanfilt_decim
         audio_decimation = 10
-        audio_rate = 6*demod_rate / audio_decimation/5  # 48 kHz
+        audio_rate = 3*demod_rate / audio_decimation/2  # 48 kHz
 
         if options.rx_subdev_spec is None:
             options.rx_subdev_spec = pick_subdevice(self.u)
@@ -100,12 +100,13 @@
                                             usrp_rate,   # sampling rate
                                             90e3,        # passband cutoff
                                             30e3,        # transition bandwidth
-                                            60)          # stopband attenuation
-#        print len(chan_filt_coeffs)
+                                            70,          # stopband attenuation
+                                            gr.firdes.WIN_BLACKMAN)
+        print len(chan_filt_coeffs)
         chan_filt = gr.fir_filter_ccf (chanfilt_decim, chan_filt_coeffs)
 
-        self.rchan_sample = blks2.rational_resampler_fff(6,5)
-        self.lchan_sample = blks2.rational_resampler_fff(6,5)
+        self.rchan_sample = blks2.rational_resampler_fff(3,2)
+        self.lchan_sample = blks2.rational_resampler_fff(3,2)
 
 
         #self.guts = blks2.wfm_rcv (demod_rate, audio_decimation)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]