Receiving ATSC using USRP2

Hi all,

I’ve got a USRP2 with a WBX attempting to receive ATSC signals. I’m
using the latest (git HEAD on 27 March 2010) version of everything
(firmware and software). usrp2_fft.py shows a strong signal for a
local tv transmitter (680 - 686 MHz).

It looks like the ATSC code is written for the original USRP, using a
decimation of 10 to get 6.4 Msps, interpolated by three to get 19.2
Msps. Since I have a USRP2, I can’t get exactly 6.4 Msps. Has anyone
gotten this to work using a USRP2?

I’ve tried using 5, 10, and 20 Msps, interpolating up to 20 Msps (I’ve
also tried various gains). In addition to changing the interpolation
rate in interp_short.py, I’ve gone through the code and changed 19.2e6
to 20e6 in interp_short.py, fpll.py, xlate.py, atsc_fpll.cc, and
atsc_bit_timing_loop.cc. However, nothing is output from ./btl-fsd.py
(a symptom seen a few times in this list with no obvious solutions).
None of the programs output any error messages, just that they are
using SSE, and fpll.py reports setting initial_freq to 3065000. I’ve
sanity checked the logged data in matlab and verified a signal exists
from -3 MHz to +3 MHz.

Any hints as to what I am missing or next steps to debug the issue?

Thanks,
Jared C.

On Sat, 2010-03-27 at 13:36 -0700, Jared C. wrote:

gotten this to work using a USRP2?
from -3 MHz to +3 MHz.

Lets see, can you guys capture at 20 Msps now? Tuning to the center of
the channel you have signal from -4 to +4Mhz, then xlate.py shifts the
center up to 5.75Mhz. At 20Msps the top is just under 10Mhz (9.75Mhz). I
liked to just dump the output of each stage, look at it with a spectrum
display and make sure it’s what you expect. After xlate.py you should
have the signal centered at 5.75Mhz.

Then wire xlate.py to fpll.py and check it’s output - that should have
the pilot carrier at 0 with signal up to the low pass cutoff at 5.75Mhz.

Maybe if someone makes a few seconds of raw data available I could play
around and compare what works with what doesn’t.

BTW, I just moved back to an area with good over-the-air signals.

–Chuck

Hello Jared C.,

Did you ever get this working? I’m currently at Auburn University in a
Senior Design class and we are currently trying to use the USRP2 to
receive ATSC signals and decode them into HDTV. We have WBX and TVRX
daughterboard available. We are currently using the TVRX, but can
definitely see strong ATSC peaks using the FFT.
If you do have this working, could you email the steps you took to
accomplish playing ATSC.

Thank you,
Bobby Black
Auburn University
[email protected]