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