discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] bug in wfm_rcv_pll and fix, who has stereo FM s


From: Matt Ettus
Subject: Re: [Discuss-gnuradio] bug in wfm_rcv_pll and fix, who has stereo FM specs/info and noise and gain issues
Date: Tue, 19 Jun 2007 22:04:19 -0700
User-agent: Thunderbird 2.0.0.0 (X11/20070326)

Martin Dvh wrote:
> Hi,
> I found a nasty bug in the wfm_rcv_pll.py code.
>
> The pilot tone pll should return the recovered carrier,
> For this you should use gr.pll_refout_cc, not gr.pll_carriertracking_cc.
> pll_carriertracking returns the input transformed to baseband using the 
> recovered carrier.
> pll_refout returns the recovered carrier.
>   

Great catch, Martin. 

> With the fixed code I now actually get stereo.
> (Before you would get a kind of attenuated, distorted, spectrum inverted 
> stereo)
>   

Can you check it in?

> I tested it with a stereo-coder I wrote in gnuradio, and now I seem to 
> actually get stereo seperation.
> (stereo modulater is attached)
>
> But now I do get a lot of noise when decoding stereo.
>
> I also don't quite understand why double side band suppressed carrier 
> Left-Right audio is attenuated and needs a factor 20 for gain.
> (It seems to be correct or at least close)
>   

I would try this with the regular (non-PLL) FM demod.  I think the
rolloff of the PLL tracking loop is what is giving you the lower gain.

> The code comments say 10 dB
> The actual code uses a factor 20 which corresponds to 20 *log10(20)= 26 dB.
> This 26 dB seems to be quite accurate, but where is this number based on?
>
> can you give me a link to more info or the stereo FM specs on this.
>
>             # Pick off the double side band suppressed carrier Left-Right 
> audio. It is attenuated 10 dB so apply 10 dB gain
>
>             stereo_dsbsc_filter_coeffs = gr.firdes.complex_band_pass(20.0,
>
>
> Greetings,
> Martin
>
> fix for wrong pll is below:
> --- gnuradio-core/src/python/gnuradio/blksimpl/wfm_rcv_pll.py 2007-06-11 
> 18:12:55.000000000 +0200
> +++ gnuradio-core/src/python/gnuradio/blksimpl/wfm_rcv_pll_fixed.py   
> 2007-06-17 08:07:43.000000000 +0200
> @@ -131,8 +131,8 @@
>              max_freq = -2.0*math.pi*18990/audio_rate;
>              min_freq = -2.0*math.pi*19010/audio_rate;
>
> -            self.stereo_carrier_pll_recovery = 
> gr.pll_carriertracking_cc(alpha,beta,max_freq,min_freq);
> -            self.stereo_carrier_pll_recovery.squelch_enable(False);
> +            self.stereo_carrier_pll_recovery = 
> gr.pll_refout_cc(alpha,beta,max_freq,min_freq);
> +            #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
>
>
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio





reply via email to

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