Interpolation in usrp_siggen

hi,
I am new to gnuradio architecture and am trying to learn about it. I was
using the usrp_siggen,py sample code provided with different
interpolation
rates (4, 8,12,16,64) since it has to be a multiple of 4. the
observations
are as follows (which cannot explain)

  1. For interpolation rates set to 4,8,12, at the sender, what I observe
    on
    the receiver (directly connecting the usrp_source to a file_sink), is
    just
    noise.

  2. For a interpolation rate set to 64, I almost get the required
    sinuosoidal
    at the required frequence(100khz), with the difference that the
    frequency of
    the signal at the receiver for nearly 200 samples at the beginning is
    nearly 7KHZs. To understand this better, I just send a constant signal
    on
    the sender (using usrp_siggen.py) and received a sinousoidal at the
    receiver
    with a frequency of 7Khz (which I presume is because of the frequency
    offset). Although I think the above two observations are related I could
    not
    explain them.

  3. Another interesting case is when the interpolation rate is set to 16.
    the
    output at the reciver is a signal which has a sinousoidal with the
    required
    frequency(100khz) spaced with sinousoidals with a frequency of 7khzs.
    This
    observation is something I cannot understand.

Kindly help me out with this.

Thanks
Shyam

View this message in context:
http://www.nabble.com/Interpolation-in-usrp_siggen-tf2805450.html#a7827210
Sent from the GnuRadio mailing list archive at Nabble.com.

On Mon, Dec 11, 2006 at 08:30:25PM -0800, Shyamnath wrote:

output at the reciver is a signal which has a sinousoidal with the required
frequency(100khz) spaced with sinousoidals with a frequency of 7khzs. This
observation is something I cannot understand.

Kindly help me out with this.

Thanks
Shyam

You didn’t mention which daughterboard you are using, but assuming
it’s a Basic Tx, be sure to set the -f option to something like
10M. Neither the Basic Tx nor Basic Rx will pass signals under about
100kHz.

Eric

hi Eric,
The daughterboard I use is RFX2400 so I set -f 2.45G ( btw my gnuradios
have been properly set up since benchmark_tx and receive work fine for
gmsk) . I have tried the below stated experiment using two antenna
types to see if it is due to the antennas but it is consistent across
antennas.
2400-2480 MHz ISM Band PCB Quad Patch, and

2400-2480 MHz ISM Band Vertical Antenna.

Also for the above configuration can u kindly also let me know is my
observation that 7KHz is the frequency offset due to the oscillators is
true?

Thanks in advance for ur reply
Shyam

On Tue, Dec 12, 2006 at 09:35:00AM -0800, John C. wrote:

Eric B. schrieb:

Are you seeing underruns (“uU”) on stderr? If so, then for your low
interpolation rate cases your system is failing to be able to drive
the USRP at full speed (32MB/s). What kind of h/w are you running?

Speaking of which, what does ‘uO’ mean?

Thanks
John C…

uU = USRP underrun
uO = USRP overrun
aU = audio underrun
aO = audio overun

Eric

On Tue, Dec 12, 2006 at 01:03:08AM -0500, Shyam wrote:

Also for the above configuration can u kindly also let me know is my
observation that 7KHz is the frequency offset due to the oscillators is
true?

Thanks in advance for ur reply
Shyam

Are you seeing underruns (“uU”) on stderr? If so, then for your low
interpolation rate cases your system is failing to be able to drive
the USRP at full speed (32MB/s). What kind of h/w are you running?

7KHz offset between two 2.4GHz boards is well within spec.
That’s only 3 parts per million.

There’s a known problem with the first few samples being hosed on
either or both of receive and transmit. Larry Doolittle fixed this
in his UXO sweeper gadget, but we have yet to sort out the fix and
integrate it into our USRP firmware.

Eric

Eric B. schrieb:

Are you seeing underruns (“uU”) on stderr? If so, then for your low
interpolation rate cases your system is failing to be able to drive
the USRP at full speed (32MB/s). What kind of h/w are you running?

Speaking of which, what does ‘uO’ mean?

Thanks
John C…

Hi Eric,

The OS I am using is Linux 2.6.17-1.2174_FC5
The hardware I am using is Memory of 512MB, Intel(R) Celeron(R) CPU
2.53GHz.

As u predicted, I do observe a number of underruns on stderr when the
interpolation rate is set to low values. This might explain the results
for the case when interpolation is set to 16 but I dont understand
still why the receiver is getting almost nothing when the interpolation
at the sender is 4, 8,12. The decimation rate is set to constant at the
receiver at 64.

Your mail has raised a number of questions with me (kindly bear with
me).

  1. What is the behavior (output) of the DUC and interpolator when it
    doesnot get samples at the required rate (say it gets a burst of them
    with a period of silence followed by another burst)?

  2. How do I bypass the bandpass filter on the RFX 2400, it would be
    great if I could move to some other frequency range which doesn’t have
    802.11 interference.

  3. What happens when I quit a program which is sending a sinosoidal
    using ctrl-c (like the usrp_siggen.py). I mean what is the reaction of
    the usrp. I am asking this because of yet another observation, when I
    see the signal at the receiver in this case. The end of the samples for
    the sinusoidal I am observing again ends with a low frequency component
    and then a low amplitude component, I have attached the plots on the
    site.

http://nms.csail.mit.edu/~gshyam/sineStop2.jpg
The x axis is the samples and the y axis the I component of the signal.
As u can see at the sampl point 4000 the low frequency sin(7.45k)
starts.

http://nms.csail.mit.edu/~gshyam/sineStop1.jpg

This figure shows how the low frequency component ends.

Kindly pls answer my questions.

Thanks a ton for ur time
Shyam