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