Hi,

I am using a USRP with RFX2400 to transmit a sinc pulse using

usrp_siggen.py routine and my own sinc pulse generator that is a

modified version of gr_sig_source_c.cc. I am using a separate USRP

with RFX2400 to receive the pulse using usrp_rx_cfile.py. The

transmitter and receiver are one meter apart.

First, I tried to put the sinc pulse on the “I” branch (real) and

zeros on the “Q” branch. But the amplitude of the received pulse train

is time varying. In fact, the received pulse train seems to be

amplitude modulated by a low frequency signal (in KHz). Second I tried

to put the same sinc pulse on both I and Q and had the same problem.

For curiosity, I repeated the experiment by putting few cycles of sine

wave on both I and Q and encountered the same problem of amplitude

variation. Finally, I tried using a truncated sine wave on I and

cosine on Q and it works perfectly fine. I am having difficulty in

understanding the problem. Does this mean that I can only put sine and

cosine on I and Q, respectively? Is it possible to transmit only

single component not quadrature using RFX 2400? I am thinking to set

MUX to disable the Q branch at the transmitter and receiver. Any help

will be highly appreciated.

Thanks in advance,

Faisal

S. Faisal A. Shah wrote:

…In fact, the received pulse train seems to be amplitude modulated

by a low frequency signal (in KHz).

It sounds like you are encountering frequency offset between your

transmitter and receiver. This is caused by differences in the crystals

between the two USRPs–up to 20 ppm each in new hardware.

At 2.4 GHz, that could be up to 96 KHz in difference between what one is

transmitting and the other is tuned to.

Frequency offset will cause the received signal to “rotate in phase”, so

what started out purely in the I channel will be seen in both I and Q,

with the magnitude in either one varying as a sine wave at the

difference in frequency.

Normally, this effect is dealt with using a PLL on the receive side, to

adjust the frequency and phase offset to compensate. What type of PLL

is dependent on your modulation.

–

Johnathan C.

Corgan Enterprises LLC

http://corganenterprises.com

S. Faisal A. Shah wrote:

is time varying. In fact, the received pulse train seems to be

amplitude modulated by a low frequency signal (in KHz).

If you put a signal on I and nothing on Q, then you SHOULD see a

time-varying amplitude in the output. Do the math in octave and you’ll

see.

Second I tried

to put the same sinc pulse on both I and Q and had the same problem.

Again, do the math. The same signal sent to both I and Q will always

result in what you are seeing.

For curiosity, I repeated the experiment by putting few cycles of sine

wave on both I and Q and encountered the same problem of amplitude

variation. Finally, I tried using a truncated sine wave on I and

cosine on Q and it works perfectly fine.

Exactly. Sine on I and cosine on Q (or vice versa) will give you a

single frequency tone at the output, because it is what is known as a

complex sinusoid.

I am having difficulty in

understanding the problem. Does this mean that I can only put sine and

cosine on I and Q, respectively? Is it possible to transmit only

single component not quadrature using RFX 2400? I am thinking to set

MUX to disable the Q branch at the transmitter and receiver. Any help

will be highly appreciated.

You need to generate analytic signals, which means they have both I and

Q components. This has nothing to do with the RFX2400 and everything to

do with the fact that the USRP uses IQ signals. This in no way a

limitation on the capabilities, you just need to understand analytic

signals. There are many DSP books which cover the concepts, and if you

look back through the list archives you will find a couple of long

expositions by me on what IQ signals are.

Matt

You need to generate analytic signals, which means they have both I and

Q components. This has nothing to do with the RFX2400 and everything to

do with the fact that the USRP uses IQ signals. This in no way a

limitation on the capabilities, you just need to understand analytic

signals. There are many DSP books which cover the concepts, and if you

look back through the list archives you will find a couple of long

expositions by me on what IQ signals are.

Thanks for the help. I will convert my real signal to the analytic

signal that has one-sided frequency content. The signal I would like

to transmit is a baseband sinc pulse. Meaning its frequency content is

centered around DC. Please correct me if I am wrong here. To convert

this to analytic, I need to multiply it by exp(-jwt). I believe this

is enough to convert this to analytic signal. I know for a passband

signal I can use hilbert transform to generate analytic signal.

I will try this first before exploring the use of PLL as suggested by

Johnathan.

Thanks,

Faisal