# Interpolation in usrp\_siggen

**URL:** <https://www.ruby-forum.com/t/interpolation-in-usrp-siggen/79107>\
**Category:** GNU Radio\
**Created:** [December 12, 2006, 5:31am UTC](https://www.ruby-forum.com/t/interpolation-in-usrp-siggen/79107 "2006-12-12T05:31:15Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Shyamnath](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ecae2f/32.png) [@Shyamnath](https://www.ruby-forum.com/u/Shyamnath)\
**Post date:** [December 12, 2006, 5:31am UTC](https://www.ruby-forum.com/t/interpolation-in-usrp-siggen/79107/1 "2006-12-12T05:31:15Z")

</div>

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](http://www.nabble.com/Interpolation-in-usrp_siggen-tf2805450.html#a7827210)  
Sent from the GnuRadio mailing list archive at [Nabble.com](http://Nabble.com).

---

<div class="post-metadata">

**Author:** ![Shyamnath](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ecae2f/32.png) [@Shyamnath](https://www.ruby-forum.com/u/Shyamnath)\
**Post date:** [December 12, 2006, 6:47am UTC](https://www.ruby-forum.com/t/interpolation-in-usrp-siggen/79107/2 "2006-12-12T06:47:25Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Shyamnath](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ecae2f/32.png) [@Shyamnath](https://www.ruby-forum.com/u/Shyamnath)\
**Post date:** [December 12, 2006, 7:05am UTC](https://www.ruby-forum.com/t/interpolation-in-usrp-siggen/79107/3 "2006-12-12T07:05:26Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Shyamnath](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ecae2f/32.png) [@Shyamnath](https://www.ruby-forum.com/u/Shyamnath)\
**Post date:** [December 12, 2006, 7:05pm UTC](https://www.ruby-forum.com/t/interpolation-in-usrp-siggen/79107/4 "2006-12-12T19:05:09Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Shyamnath](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ecae2f/32.png) [@Shyamnath](https://www.ruby-forum.com/u/Shyamnath)\
**Post date:** [December 12, 2006, 5:48pm UTC](https://www.ruby-forum.com/t/interpolation-in-usrp-siggen/79107/5 "2006-12-12T17:48:49Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Shyamnath](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ecae2f/32.png) [@Shyamnath](https://www.ruby-forum.com/u/Shyamnath)\
**Post date:** [December 12, 2006, 6:35pm UTC](https://www.ruby-forum.com/t/interpolation-in-usrp-siggen/79107/6 "2006-12-12T18:35:00Z")

</div>

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…

---

<div class="post-metadata">

**Author:** ![Shyamnath](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ecae2f/32.png) [@Shyamnath](https://www.ruby-forum.com/u/Shyamnath)\
**Post date:** [December 12, 2006, 7:59pm UTC](https://www.ruby-forum.com/t/interpolation-in-usrp-siggen/79107/7 "2006-12-12T19:59:49Z")

</div>

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](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](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
