Problem with sinc pulse transmission using RFX2400

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

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs