[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] Re: how to receive HDTV with the USRP board

From: Eric Blossom
Subject: [Discuss-gnuradio] Re: how to receive HDTV with the USRP board
Date: Tue, 21 Mar 2006 11:04:43 -0800
User-agent: Mutt/1.5.9i

Hi Mao,

Not sure if you saw this, but it's relevant to your questions about HDTV.
Perhaps you and Rafael can work together to get the ATSC code ported
to the 2.x code base and the USRP.  I'm willing to help out with
questions, suggestions, comments etc on the effort.

FYI, how we brought the system up the first time was a series of
loopback tests.  We wrote and tested matching parts of the transmitter
and receiver at the same time, starting at the input to the
transmitter.  I.e., we generated a syntactically correct but bogus
mpeg transport stream (the guts of the transport stream are opaque to
us).  Then we looped the transmitter whitener into the receiver
dewhitener, and confirmed that that worked.  Then we moved on to the
next block in the transmitter and tested whiten+tx_next_block looped
to rx_next_block+dewhitener, etc.  This tactic worked well, and we
were certain at each stage of the game that we had working code.

If you follow this path, you'll get a good understanding of the code
and ATSC in general, and won't have to worry about the changes
required for the USRP (complex baseband vs real data with non-zero IF)
until pretty much the end of the porting process.  At that point
you'll have more experience with ATSC and GNU Radio and the final part
(the changed stuff: tail of transmitter, head of receiver) will go

--- Begin Message --- Subject: [Discuss-gnuradio] Re: how to receive HDTV with the USRP board Date: Sat, 11 Mar 2006 18:21:30 -0800 User-agent: Mutt/1.5.9i
On Sat, Mar 11, 2006 at 01:46:49PM -0800, address@hidden wrote:
> Hello Eric,

> My name is Rafael, and I am an electrical enginnering student of
> Brasilia University, Brazil. I research about the aplication of
> Software Defined Radio in a set-top-box for SBDTV (Brazilian Digital
> Television System) in my scientific iniciation project. But I don't
> find the source code of the ATSC receiver in the GNU Radio installed
> in my computer. I'd be pleased if you could help me.
> Thanks,
> Rafael Schena

Hi Rafael,

Thanks for your interest in GNU Radio and the ATSC code.  The ATSC
code was written using the previous generation GNU Radio framework,
which ended in the 0.9 release.  All the ATSC code can be found in the
gnuradio-0.9.tar.gz tarball available at ftp.gnu.org and other GNU

However, the code also exists in the gnuradio-core CVS repository
under gnuradio-core/src/lib/atsc.  The blocks with names such as Gr*
will need some tweaking to use in the new framework.  I expect that
the files which have all lower case names are probably usable as is.

The very front end of the receiver will require a bit of
modifications.  It was originally developed assuming that there was an
external source providing real samples at 20 MS/s, with the TV station
centered at an IF of 5.75 MHz.  With the USRP, you'll get complex
baseband data instead of real.  This will require a bit of
restructuring of first couple of blocks in the pipeline to work with
complex data.

Probably the easiest first cut (least amount of code to touch), is to
convert the 8 MS/s complex baseband data from the USRP to 16 MS/s real
data with an IF of 4 MHz.  The existing timing recovery code should
work fine with real data at 16 MS/s. You'll just need to tweak a few
constants in the code.  The "Right Answer" would be to fold this
complex to real conversion into the initial pilot tone tracking code (FPLL).

I hope this gives you a bit of an outline of what's required to get it
running under the USRP.  It will require a bit of work, but the result
will be an ATSC receiver running under the current code base.  This
would be useful to lots of people!

I'd be delighted to answer any other questions you may have.
If you haven't already, you definitely want to take a look at the ATSC
specs available at www.atsc.org  The two most relevant documents are:

ATSC Digital Television Standard, Rev. D  w/ Amendment 1

ATSC Recommended Practice - Guide to the Use of the ATSC Digital Television 
  A/54A 4 December 2003:

  This guide provides tutorial information and an overview of the
  digital television system defined by ATSC Standard A/53, ATSC
  Digital Television Standard. In addition, recommendations are given
  for operating parameters for certain aspects of the DTV system.


I've also attached the README.signal_flow file that gives the high
level overview of how the ATSC Tx and Rx were put together.


Attachment: README.signal_flow
Description: README.signal_flow

Discuss-gnuradio mailing list

--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]