On 09/16/2014 04:57 PM, Nicholas Hu wrote:
Hi,
I
am working on a USRP project. I am using a USRP N200 with a
BasicRX daughter board to perform data streaming. I am using
GRC 3.6.4.1 on a Ubuntu 12.04 machine. The USRP N200 is set to
have a decimation factor of 8 to achieve a streaming rate of
12.5 MSPS, the daughter board is set to A:A to perform single
channel real sampling. The I Q data wire format is set to be
16 integer each, and the host data format is set to be complex
float 32. The settings above are also in the attachments. For
analyzing data, I am using Matlab R2013b on Windows 7. My
question is: when I am streaming data for about 10 seconds, I
am getting a file around 500,000,000 bytes which is reasonable
((16 bits/sample I+16 bits/sample Q)*(10 seconds)*12.5
MSPS*(1/8 bytes/bits)=500 Mbytes), but when I use
read_complex_binary.m provided by GNUradio to read the file in
Matlab, I am only getting half of the expected samples
(~62,500,000 samples) instead of 125,000,000 samples. Could
anyone please explain why this is happening? Doesn't 16 bits I
and 16 bits Q wire format give me 32 bits per sample? Any help
would be appreciated.
_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Nick, I think I answered this at address@hidden last night.
But, you're flowing complex-floats into your file-sink. That's
64-bits per sample (32-I 32-Q). The wire-format and CPU format a
different things.
A UHD source will translate to complex-float, because that's the
"natural" format within Gnu Radio flow-graphs, but you can also ask
it to use
complex-int16 on the "host format" side, if you're just saving to
a file.
--
Marcus Leech
Principal Investigator
Shirleys Bay Radio Astronomy Consortium
http://www.sbrac.org
|