USRP/TVRX setting for ATSC receiving


#1

Hi,
I just started playing with USRP+TVRX board to get the
ATSC signal. I am a little bit confused about the
setting in the gnuradio software:

I attached TVRX on RXB, so what parameters should I
use?
there are channels, muxs, formats… I am totally
confused.

I tried decim rate = 8, then channel = 1, then format
= 0x300, then mux = 0x32103210.

But I can only download 16MB/s data, that’s only half
what I want from USRP. If I use channel =2, or
decim=4, I was able to download 32MB/s data off USRP.
But what is the correct parameters I should use?

I also tried to setup the TVRX board. In San Jose, the
strongest DTV signal is from KICU DT @701MHz. So I
used 701e6 in tvrx.set_freq() function. and I also
used -43.75e6 in usrp.set_rx_freq(). Was I doing the
right thing?

Thanks!

Mao


Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


#2

On Wed, Mar 29, 2006 at 02:12:13PM -0800, mao mao wrote:

I tried decim rate = 8, then channel = 1, then format
used -43.75e6 in usrp.set_rx_freq(). Was I doing the
right thing?

Thanks!
Mao

The tvrx_tv.py code is out of date.

If you’re trying to capture samples into a file, use usrp_rx_cfile.py:

$ ./usrp_rx_cfile -R b -d 8 -f 701M -N 40M -g output.dat

The example above will collect 5 seconds of data into output.dat
You’ll need to experiment with the gain setting. Probably easiest to
sort that out using usrp_fft.py.

If you’re getting overruns (“uO” to stderr), determine if it’s your
disk or USB host controller by using /dev/null as the output file.
If you’re still getting overruns, you’ve probably got an EHCI host
controller that’s not up to the job.

I also suggest using a fairly high gain antenna pointed directly at
the transmitter. You want the fft output to be as flat as possible.
Makes life easier for the equalizer.

I used a $40 antenna from Radio shack:

50" Boom Length, 18 Element Antenna
Model: VU-75 XR  |  Catalog #: 15-2151

Eric


#3

The problem is, I haven’t setup a full gnuradio
environment. I was using Windows, with libusb for win.

I was able to run test_usrp_standard_rx.cc, but only
get 16MB/s for the following setting:

center freq = 43.75e6
mux = 0xf0f0f0f0
format = 0x300, //make_format(16, 0,true, false)
channel = 1
decim=8;
adc_freq = 64000000

my TVRX board was on RX_A.

Is there anything wrong with my setting?

Mao


Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


#4

Mao,
I’m a Windows user too, and Im wondering how was you
able to run “test_usrp_standard_rx.cc” ?! Its not in
the distribuition – were you able to compile it under
windows ?

All I can run are Python scripts, not .cc (.exe)…

Angilberto.

— mao mao removed_email_address@domain.invalid wrote:

format = 0x300, //make_format(16, 0,true, false)

http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


#5

On Wed, Mar 29, 2006 at 04:36:09PM -0800, mao mao wrote:

channel = 1
decim=8;
adc_freq = 64000000

my TVRX board was on RX_A.

Is there anything wrong with my setting?

You mean outside of the windows part? (only half kidding…)

test_usrp_standard_rx.cc doesn’t know how to talk to the
daughterboards and tune the front end. You really want to use
usrp_rx_cfile.py.

Have you tried running usrp_fft.py and/or usrp_rx_cfile.py?

I’m not sure what throughput anybody’s seen on windows. If you can’t
sustain 32MB/sec across the USB, you’re dead in the water for HDTV.

I strongly suggest installing a GNU/Linux distribution. That’s the
platform where the primary development takes place, and where we know
(with a suitable EHCI controller) we can sustain 32MB/s across the
USB. I currrently like SuSE 10.0 and Mandriva 2006. Other have been
had success with Ubuntu and Fedora Core 4. If you go with SuSE 10.0,
spend a few bucks and get the paid-for version. It will save you a
ton of time.

At a minimum you’re going to need gnuradio-core, usrp, gr-usrp and
gnuradio-examples. For fft and scope sinks you’ll want gr-wxgui.

Eric


#6

I haven’t tried any of those python codes yet. I am a
Windows programmer and I have Matlab Windows version
running on my PC. So all I want is being able to
download data off USRP to my Windows PC so I can try
some algorithm.

porting usb driver for USRP is not very difficult
since libusb for Windows works very well. It took me
less than a day to port the USRP usb driver to MSVC.
And it looks that my Windows USRP USB driver is fast
enough to handle 32MB/s, because when I use
decim=4,channel=1 or decim=8,channel=2, I’ll get
32MB/s data off USRP without any overrun error.

The problem is that, I was supposed to get 32MB/s data
with decim=8, channel=1, format=0x300, mux=0xf0f0f0f0
setting, instead, I got 16MB/s. I am not sure if I was
using the right parameters, that’s why I am asking for
help.

To go the linux way I have to find a spare PC with a
good enough usb controller. That will add more time
and cost to me :(.


Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


#7

On Wed, Mar 29, 2006 at 10:09:45PM -0800, mao mao wrote:

I haven’t tried any of those python codes yet. I am a
Windows programmer and I have Matlab Windows version
running on my PC. So all I want is being able to
download data off USRP to my Windows PC so I can try
some algorithm.

I understand, no problem.

porting usb driver for USRP is not very difficult
since libusb for Windows works very well. It took me
less than a day to port the USRP usb driver to MSVC.

I’d love to have any patches that it required to make this
stuff run natively under windows. There are a few folks who have
cross-compiled using mingw and cygwin, but I think you may be the
first to invest time trying it with MS tools.

And it looks that my Windows USRP USB driver is fast
enough to handle 32MB/s, because when I use
decim=4,channel=1 or decim=8,channel=2, I’ll get
32MB/s data off USRP without any overrun error.

Hmmm. Neither of these sound like reasonable results.
decim = 4 would give you 64M/4 = 16MS/s across the USB. Each sample
is 4 bytes (2-bytes I and 2-bytes Q), so that would be 64MB/s which is
impossible.

Which rbf file are you loading? If you’re not doing anything special,
you’ll be getting the std_2rxhb_2tx.rbf which should be fine.
Are you building with the code out of the usrp svn repository?

That is:

$ svn co http://usrp.svnrepository.com/svn/usrp/trunk usrp

I just tried this:

[eb@cyan apps]$ ./test_usrp_standard_rx -D 8 -M 128
xfered 1.34e+08 bytes in 4.19 seconds. 3.2e+07 bytes/sec. cpu time =
0.78
noverruns = 0

Which gives the result I expect: 32MB/s

If I try with -D 4, I get overruns as expected:

[eb@cyan apps]$ ./test_usrp_standard_rx -D 4 -M 128
rx_overrun
rx_overrun
rx_overrun
rx_overrun
rx_overrun
rx_overrun
rx_overrun
rx_overrun

And one more data point:

[eb@cyan apps]$ ./test_usrp_standard_rx -D 16 -M 128
xfered 1.34e+08 bytes in 8.39 seconds. 1.6e+07 bytes/sec. cpu time =
0.392
noverruns = 0

The problem is that, I was supposed to get 32MB/s data
with decim=8, channel=1, format=0x300, mux=0xf0f0f0f0
setting, instead, I got 16MB/s. I am not sure if I was
using the right parameters, that’s why I am asking for
help.

Have you built test_usrp_standard_rx?
Do you get results similar to the ones above?

To go the linux way I have to find a spare PC with a
good enough usb controller. That will add more time
and cost to me :(.

As long as you are able to sustain 32MB/s across the USB, I think
you’ll be fine. Again, any patches required to make any of gnuradio
compile natively under windows would be most appreciated. It may be
faster however to use mingw or cygwin under windows. That would
allow you to use our existing build system.

http://www.mingw.org
http://www.cygwin.org

Eric


#8

Fixed! Ho ho :slight_smile:
It’s the decimation setting that went wrong.

See the attached KICU-DT FFT image.

Now I can start working…

Mao


#9

I’d love to have any patches that it required to
make this
stuff run natively under windows. There are a few
folks who have
cross-compiled using mingw and cygwin, but I think
you may be the
first to invest time trying it with MS tools.

The codes are quick and dirty, but it works. I’ll post
it in the group later. I was using MS VC++ 6.0 with
libusb for win.

Which rbf file are you loading? If you’re not doing
anything special,
you’ll be getting the std_2rxhb_2tx.rbf which should
be fine.

I just unpacked the debian package and got the rbf
files and ihx files out of it. I guess they are not
the newest.

My PC’s motherboard is Abit IC7-G, which uses Intel
82801DB usb controller. It has noproblem handling
32MB/s data transfer.

Mao


Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


#10

Eric,

After struggling for weeks with GNU-Radio+USRP and
Linux I moved to Martin (DVH) Windows Version. It
works pretty good but I’m missing the new
developments.

Said so, I decided to try Linux again. Since I’ve
tryed (and gave up on) RH9.0 and FC3 I’ll try SuSE
10.0.

My question: Does it come with the necessary
extra-tools? I mean, correct version for FFTW, GCC,
BOOST, etc…?

If not, would you provide us with the know-to-work
correct version info?

Thankx much,

Angilberto.

… I currrently like SuSE 10.0 and Mandriva 2006.
Other have been
had success with Ubuntu and Fedora Core 4. If you
go with SuSE 10.0,
spend a few bucks and get the paid-for version. It
will save you a
ton of time.


Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


#11

On Thu, Mar 30, 2006 at 07:07:56AM -0800, Angilberto Muniz Sb wrote:

My question: Does it come with the necessary
extra-tools? I mean, correct version for FFTW, GCC,
BOOST, etc…?

Get the for-pay version, not the downloadable version.
It’s got almost everything you need.

See
http://lists.gnu.org/archive/html/discuss-gnuradio/2006-03/msg00057.html

Eric


#12

On Thu, Mar 30, 2006 at 12:13:08AM -0800, mao mao wrote:

Fixed! Ho ho :slight_smile:
It’s the decimation setting that went wrong.

Good!

See the attached KICU-DT FFT image.

The pilot is clearly visible near -3.0M. Looks good except for the
spike at +2.8M. I don’t think that should be there.

Try averaging a bunch of ffts together and see if the spike at +2.8M
goes away.

Eric


#13

Eric B. wrote:

On Thu, Mar 30, 2006 at 12:13:08AM -0800, mao mao wrote:

Fixed! Ho ho :slight_smile:
It’s the decimation setting that went wrong.

Good!

See the attached KICU-DT FFT image.

The pilot is clearly visible near -3.0M. Looks good except for the
spike at +2.8M. I don’t think that should be there.

It’s probably the carrier from the next channel up.

Matt


#14

On Friday 31 March 2006 02:21, Eric B. wrote:

10.0.

My question: Does it come with the necessary
extra-tools? I mean, correct version for FFTW, GCC,
BOOST, etc…?

Get the for-pay version, not the downloadable version.
It’s got almost everything you need.

See
http://lists.gnu.org/archive/html/discuss-gnuradio/2006-03/msg00057.html

or download SUSE-10.1B6 or later

cheerio Berndt


#15

Thank you for you both, Eric and Berndt.

Angilberto.

— Berndt Josef W. removed_email_address@domain.invalid wrote:

developments.
BOOST, etc…?

Get the for-pay version, not the downloadable
version.
It’s got almost everything you need.

See

http://lists.gnu.org/archive/html/discuss-gnuradio/2006-03/msg00057.html

or download SUSE-10.1B6 or later

cheerio Berndt


Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


#16

On Fri, Mar 31, 2006 at 08:57:27AM +1030, Berndt Josef W. wrote:

Get the for-pay version, not the downloadable version.
It’s got almost everything you need.

See
http://lists.gnu.org/archive/html/discuss-gnuradio/2006-03/msg00057.html

or download SUSE-10.1B6 or later

Hi Berndt,

Does 10.1B6 include more of what we need?

It seemed from your earlier description that the free 10.0
distribution was quite lacking.

Eric


#17

Hello Angilberto,

AMS> Said so, I decided to try Linux again. Since I’ve tryed (and gave
AMS> up on) RH9.0 and FC3 I’ll try SuSE 10.0.

As of a couple of weeks ago, Debian came with gnuradio version 2.6-2
which can be installed with aptitude.

Best regards.

 removed_email_address@domain.invalid                        HAM KB1GTT

e-mail removed_email_address@domain.invalid
Web page http://jaredharvey.com

My PC beats me in chess, I beat it boxing.
K.Ellsworth

#18

Ok, I’ll give it a try too, Jared.
Thankx,

Angilberto.

— removed_email_address@domain.invalid wrote:

Best regards.


Discuss-gnuradio mailing list
removed_email_address@domain.invalid

http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


#19

On Friday 31 March 2006 08:36, Eric B. wrote:

Hi Berndt,

Does 10.1B6 include more of what we need?

It seemed from your earlier description that the free 10.0
distribution was quite lacking.

The SUSE-10.0 distribution that came with the Linux magazine lacked many
common packages including gcc. I had to either download or even build
missing
packages by hand.

SUSE-10.1B6 is pretty much complete and only required me to build a
couple of
packages that are not part of the distribution (can’t remember but think
it
was sdcc).

It should be too much longer until SUSE-10.1 is released and definitely
worth
the wait (its currently SUSE-10.1B9).

cheerio Berndt