Last week I posted about the powermate-enabled version TVRX WFM receiver
(tvrx_wfm_rcv_gui_pm.py).  Now it actually works :) .  You'll need to
update to the latest CVS gr-usrp and gnuradio-examples.

Also note that this may break other TVRX apps which are not in CVS.  I
have fixed those that are in CVS.  The correct way to call the frequency
setting is:

        (success, actual_freq) = my_tvrx_dboard.set_freq(requested_freq)
        digital_if_freq = requested_freq - actual_freq
        my_usrp.set_rx_freq( -digital_if_freq )

All frequencies are in Hz.  Note that you no longer need to know about
the 5.75 MHz IF frequency -- it is all taken care of for you if you do
the above.  Basically, the returned "actual_freq" is the frequency which
is currently translated to DC, even though this is blocked by the
filters in the case of the TVRX.  This allows a consistent daughterboard
API.  For example, if you tune to 100 MHz, the 100 MHz goes to the 5.75
MHz IF, and the actual_freq returned is 94.25 MHz, which would go to DC.

Also note that you put the NEGATIVE of the IF frequency into the
set_rx_freq (which controls the digital downconverter in the FPGA).
This is because you are telling it how to "Move" the frequencies.  Since
you are at about +5.75 MHz, you need to "move" -5.75 MHz to get it to
baseband.

In reality, the +/- thing does not matter if and only if:
        Frequency inversions don't change the characteristics of your signal
(like FM)

*AND*

        You are using a daughterboard with REAL samples, not IQ, which the TVRX
is doing.  However, all the planned future daughterboards are IQ
sampled, so this will matter in the future.

Matt



_______________________________________________
Discuss-gnuradio mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to