[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: |
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