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: Martin Dvh
Subject: Re: [Discuss-gnuradio] bug in wfm_rcv_pll and fix, who has stereo FM specs/info and noise and gain issues
Date: Thu, 21 Jun 2007 03:31:17 +0200
User-agent: Debian Thunderbird 1.0.2 (X11/20070113)

Matt Ettus wrote:
> 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?
Sure,
I will change the example(s) too, because they try to enable the squelch which 
the pll_refout does not have.
(I will disable the squelch for now. Probably implement squelch in pll_refout 
later)

I am working on an improved FM-stereo-receiver and a stereo-fm transmitter too.
So I will get back on this when it is finished and add it to the examples.

> 
> 
>>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.
Yes, that seems to be the problem.
For now I switched to using the non-PLL FM-demod.

Do you know if/how I can make a PLL which does not have this high roll-of.
I played with the pll-parameters but that doesn't seem to help.
It is critically damped, so that is probably the best we can get with this pll.
Would I need another type of pll with a higher order loop-filter or something 
like that.

Greetings,
Martin
> 
> 
>>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]