[Top][All Lists]
[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: |
Tue, 26 Jun 2007 00:16:07 +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?
Done
>
>
>>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
>
>
>