Wfm_rcv_pll.py

Hi

I have experimented with the wfm_rcv_pll.py for broadcast FM, and have
som
questions regarding it:

  • what is the purpose of using the gr_pll_carriertracking_cc on the
    pilot
    tone? The way I understand the funtion of gr_pll_carriertreacking_cc is
    to
    baseband a signal which lies on a carrier and therefore it should be
    used on
    the stereo channel instead.

  • is there any particular reason why the alpha i set to
    0.25bandwithpi/demodrate? I found out that setting this parameter to
    0.8bandwithpi/demodrate the noise floor drops considerably, which
    makes
    the stereo channel appaear more clearly.

best regards
erlend

I looked over my analysis again. The Z transform version of the usual
PLL equations leads directly to the alpha, beta calculation contained in
the code which yields a critically damped phase locked loop for the
required bandwidth. A PLL based demodulator was chosen to aid in the
mitigation of “threshold effect” and the fact that stereo reception is
not a weak signal proposition.

More importantly, when I used your 0.8 instead of the 0.25 the math
yields, I got horrible high frequency artifacts on strong stations that
give good stereo demultiplexing. I enabled the FM post demod graph and
the noise floor was elevated many dB above the baseline. When I
changed it back to 0.25 on local radio stations, the noise floor
outside of the stereo encoding and/or the RDS dropped below the baseline
on the post FM demod system. This shows a demodulator correctly adapted
to the signal of interest.

As a final test I put my 8640B in FM modulation mode and observed the
behavior on 100 MHz. At the dynamic range limits I considered usable
for stereo demultiplexing and RDS decoding, the PLL values appear to be
correct from the power spectrum and from my auditory evaluation
(listening).

May I suggest that you attempt to use the gain slider to increase the
USRP/ADC gain. If this does not help then, in your case, 0.8 works
better and you should use it but I consider this suggested change to be
wrong for the “official code”.

Bob

Erlend Barstad Strand wrote:


AMSAT Director and VP Engineering. Member: ARRL, AMSAT-DL,
TAPR, Packrats, NJQRP, QRP ARCI, QCWA, FRC. ARRL SDR WG Chair
"If you board the wrong train, it is no use running along the
corridor in the other direction. " - Dietrich Bonhoffer

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs