Hi,
I am trying to use GNU radio with daughterboard RFX2400 to record a few
period
of signal with Bandwidth 20MHz and centered at 2.4GHz ISM band.
Here is the command I use to record signalPython usrp_rx_cfile.py ¨Cf
2400M ¨Cs ¨Cno-hb -8 data.dat
I have a few options,
but unfortunately neither of them works.
Option 1. use decimation,
so the command will be
Python usrp_rx_cfile.py ¨Cf 2400M ¨Cd 4 ¨Cs ¨Cno-hb -8 data.dat
The default decimation
is 16 and can be chosen from the range of [4, 256].
My test result are as
follows:
If Decimation = 64
USB sample frequency is
1MHz ¨¤ no uOuO error
message
If Decimation = 32
USB sample frequency is
2MHz ¨¤ uOuO error
message appears about 5-10 seconds of recording.
If Decimation = 16
USB sample frequency is
4MHz ¨¤ uOuO error
message appears about 2-4 seconds of recording.
I found that the lower
decimation rate I choose, the ealier the error message appears.
Question 1: If I choose
a relatively low decimation rate, say 4. Is it possible to record the
accurate
signal before the uOuO error message appears? Because 1-2 seconds of the
signal
is sufficient for me.
I have tested the USB
speed with the program ¡°usrp_benchmark_usb.py¡±, it shows it works
properly at
32MB/sec. Therefore, theoretically, the USB speed is 256Mbit/sec.
Question 2: If I choose
Decimation = 32, USB sample frequency = 2MHz and 8 bit per sample (8 bit
for I
channel and 8 bit for Q channel), the data rate will be (8 bit + 8bit) *
2MHz =
32 Mbit/sec, which is much lower than the USB limit 256 Mbit/sec. But
the data
overflow message uOuO still appears, why?
Option 2. If I do not
want to use decimation, but choose to drop some bits before recording,
is it possible?
Which files do I need to modify and how to modify?
For example, if I choose
8 bit for I channel and 8 bit for Q channel. In order to reduce the data
rate to
avoid the data overflow, I would like to record the 4 most significant
bits and
drop the rest, as I believe 4 bits is accurate enough for this signal.
Is it possible
with minor changes in the code?
Thanks.
Alessandro