# How can we measure the frequency offsets between two USRPs?

How can we correctly measure what is the frequency offset between the
two
USRPs?

Thanks

On Sun, May 15, 2011 at 3:30 PM, John A. [email protected]
wrote:

How can we correctly measure what is the frequency offset between the two
USRPs?

Set one USRP to send CW. Tune the other USRP to receive CW.

The resultant frequency on the receiver side is the frequency offset.

Thanks

Make sense?

Brian

On Sun, May 15, 2011 at 23:30, John A. [email protected] wrote:

How can we correctly measure what is the frequency offset between the two
USRPs?

You may also look into this code:
http://thre.at/kalibrate/
It estimates offset of an USRP with regards to a GSM base station, but
it can be easily modified to measure offset from any clean tone, e.g.
transmitted by a second USRP.

Regards,
Alexander C…

On 16/05/2011 10:26 AM, Alexander C. wrote:

You may also look into this code:
http://thre.at/kalibrate/
It estimates offset of an USRP with regards to a GSM base station, but
it can be easily modified to measure offset from any clean tone, e.g.
transmitted by a second USRP.

Keep in mind that the offset measured must necessarily be the total
offset–that is, both Rx and Tx can be “off” in frequency.

The practical consequence should be NIL, because frequency correction
should normally only be done on the Rx-side, and it should
simply adapt to whatever it sees, regardless of the Tx and Rx
components of the offset.

On 16/05/2011 1:03 PM, John A. wrote:

Shouldn’t I use some kind of modulation scheme to do this, like FM or
AM, to transmit a tone?
No, you can just transmit a narrow, single-frequency tone, and use the
receivers FFT to determine how far off it is from
where you expect it.

use a signal-source producing a SIN wave at, let’s say, 1KHz, feed that
into a UHD/USRPx sink tuned to whatever your frequency is.
The tone will appear at TUNED-FREQUENCY+1KHz.

Shouldn’t I use some kind of modulation scheme to do this, like FM or
AM, to
transmit a tone?

I am using GRC. I used a signal source block generating a complex sine
at
100kHz. The USRP interpolation is 128 and the sampling rate of the sine
generator is 1MHz. The USRP connected to another computer has USRP
source
configured at 64 decimation and is connected to an FFT block. I don’t
see
any peak at the expected frequency or anywhere in the plot. Its just a
flat
plot. I checked the USRP settings on both and they are configured right.
I
even have transmit gain and receive gain as 10dB on both sides.

What can be wrong here?

Thanks

I am using the 1st generation USRP with RFX2400 daughterboards each
connected to the TX/RX interface.

In the sine source block I am using a frequency of 100kHz. As the
interpolation of USRP sink is 128 I am using a sampling frequency of
1Msps.

On Mon, 2011-05-16 at 12:23 -0500, John A. wrote:

I am using GRC. I used a signal source block generating a complex sine
at 100kHz. The USRP interpolation is 128 and the sampling rate of the
sine generator is 1MHz. The USRP connected to another computer has
USRP source configured at 64 decimation and is connected to an FFT
block. I don’t see any peak at the expected frequency or anywhere in
the plot. Its just a flat plot. I checked the USRP settings on both
and they are configured right. I even have transmit gain and receive
gain as 10dB on both sides.

What can be wrong here?

What daughterboards are you using? What frequency are you using on the
source/sink blocks? The BasicRX/TX should be used with >1MHz signals
(configure the USRP source/sink center freq to 1MHz or above), since the
transformers won’t pass lower frequencies than this.

–n

On Mon, 2011-05-16 at 12:32 -0500, John A. wrote:

I am using the 1st generation USRP with RFX2400 daughterboards each
connected to the TX/RX interface.

In the sine source block I am using a frequency of 100kHz. As the
interpolation of USRP sink is 128 I am using a sampling frequency of
1Msps.

And what center frequency are you running at?

–n

On Mon, 2011-05-16 at 15:34 -0500, John A. wrote:

I am running it at 2.5GHz.

What magnitude are the samples you’re feeding into the USRP sink?

–n

On Mon, 2011-05-16 at 15:34 -0500, John A. wrote:

I am running it at 2.5GHz.
What magnitude are the samples you’re feeding into the USRP sink?

–n

Also, by default the RFX2400 has a TX filter that’s centered at 2.441GHz
and about 85Mhz wide at the 3dB points. So, there’ll be some
attenuation
at 2.5GHz, roughly 6-8dB or so.

I am running it at 2.5GHz.

Let me give you the details this time. sorry for the confusion.

USRP - The first version
Daughterboard - RFX2400

The signal source has the following settings.

1. Sample Rate - 1Msps
2. Waveform - Sine & Complex
3. Frequency - 100kHz
4. Amplitude - 10
5. Offset - 0

This source is connected to the USRP Sink directly. There is no other
block
in between and not even a throttle.

USRP sink settings:

1. Interpolation - 128
2. Frequency - 2.5GHz
3. Gain (dB) - 30
4. Side - A (Tx/Rx) The USRP is connected fine and works well with
benchmark_tx/rx tests.

On the receiver side I use a GRC flowgraph with USRP sink and FFT block
only.

USRP Sink:

1. Decimation - 64
2. Frequency - 2.5GHz
3. Gain (dB) - 10

FFT sink has proper settings too.

I am not using any filters as I hope the SNR is high enough.

Thanks

1. Offset - 0

I am not using any filters as I hope the SNR is high enough.
What magnitude are the samples you’re feeding into the USRP sink?

``````    --n

Also, by default the RFX2400 has a TX filter that's centered at
2.441GHz and about 85Mhz wide at the 3dB points.  So, there'll be
some attenuation
at 2.5GHz, roughly 6-8dB or so.
``````

It would be useful to see your .grc flow-graph files. Are you using
UHD, or “classic” (sorry if this has already been asked).

I’ll reiterate my earlier comments. The RFX2400, by default, has a
hardware SAW filter with a center frequency of 2.414GHz, and a nominal
bandwidth of 85MHz or so in the TX/RX path, so if you’re running it
at 2.5GHz, you’re somewhere on the skirts of the filter, which would
to attenuated output. This filter can be bypassed easily by
carefully cutting the traces going to FIL1, and populating C204 with a
30-100pF
SMD capacitor.

I figured it out. The USRP input must have an input amplitude between 0
and
32767. When the amplitude was low the signal power was below noise so I
couldn’t see anything in the FFT. When I raised it to 20000 I was able
to
see the peak around ( signal frequency +/- offset ).

Marcus about your statements about the SAW filter; I will know a little
more
about it first from the mail archive and then ask more about it. I don’t
know anything about it yet so before I ask you something more about it I
want to do a little homework myself.

Thanks