USRP Software Radio

cancel
Showing results for 
Search instead for 
Did you mean: 

Single tone Tx/Rx and DC offsets

Using a 2920...I would like to transmit a single tone on the Tx channel (i.e. I and Q constant)...then receive that single tone on the opposite Rx channel, and measure the phase.  Since the Rx I and Q would be at DC...this makes the phase calculation rather simple.


In my own experimentation with the shipped Tx and Rx examples though, it seems that signals around a few 10's of Hz of the carrier are attenuated.  It was suggested to me that perhaps the DC offset removal procedure in the FPGA is removing my desired signal.  If I move either the Tx or Rx frequency slightly off of the other, then the signal returns.  I and Q are at the IF obviously...and while I could still calculate phase with I and Q at an IF...it results in other undesired changes in my application (longer integration times, more processing, etc) that I'd like to avoid.

 

On the other hand...some other USRP users I know have not had this issue with Tx and Rx at the same frequency.  It's possible I'm configuring the radio incorrectly (which I tried to eliminate by using the canned examples)...which is why I'd like to understand whether or not narrowband Tx/Rx is even possible.

 

Any thoughts here?

 

---

Brandon

0 Kudos
Message 1 of 15
(8,896 Views)

Hi Brandon,

 

Which example(s)/frequencies are you using?  I will try it here and see if I observe the same results.

James K.
National Instruments
Applications Engineer
0 Kudos
Message 2 of 15
(8,886 Views)

Hi James-


I put together a few screen grabs in a ppt file and attached them here.


I used the Tx and Rx "async reconfigure on the fly" examples.  In short...there are some crrier frequencies where I can mix down to DC...and others where I can't.  I don't find any relation between those that work and those that don't.  Also...there's a good deal of harmonics when putting the Tx modulation tone below 200 Hz.  These harmonics go away if I use an external source and just try to tune it to get as close to the USRP LO as possible. 

 

Let me know if there are questions after viewing the file.

 

---

Brandon

0 Kudos
Message 3 of 15
(8,868 Views)

@cochenob wrote:

I would like to transmit a single tone on the Tx channel (i.e. I and Q constant)...then receive that single tone on the opposite Rx channel, and measure the phase.


  •  We had a similar issue where AM transmissions were being distorted due to a high pass filter in the FGPA.

@cochenob wrote:

It was suggested to me that perhaps the DC offset removal procedure in the FPGA is removing my desired signal. 

If I move either the Tx or Rx frequency slightly off of the other, then the signal returns. ---


  • You should be able to receive this CW tone by using an niUSRP property node to offset the LO Frequency which will also move the high pass filter and let your signal through. This LO adjustment will be transparent to the LabVIEW program, since the FPGA will digitally correct the offset of the LO vs the requested center frequency.

I did not see any attached file, we are interested in the results of your experiements.

Anthony F.
Staff Software Engineer
National Instruments
0 Kudos
Message 4 of 15
(8,859 Views)

Thanks Anthony-

 

I seem to be having some trouble with doing attachments from the web form.  Might be a browser issue.  I will try again from a different computer later this evening.

 

In the meantime...we've also been thinking about trying the second approach that you mention.  Could you check my understanding here....

 

In 'normal' operation, you define just the carrier frequency in the driver...and the analog PLL gets as close as it can to that.  The CORDIC then removes any low frequency offset.  To do this...the CORDIC would need to know how close the analog PLL got in the first place.  Is there some kind of error signal from the analog PLL that the CORDIC reads to know how "far away" the analog stage ended up from the "actual" carrier that you input into LV?  If so...then by your suggestion of intentionally setting the analog LO to result in some large IF...I'm really just intentionally creating a larger error signal for the CORDIC to correct.  The 'trick' here is that the signal is captured at an IF and is away from the offset corrections in the FPGA which happen *before* the CORDIC.

Do I have this right?

0 Kudos
Message 5 of 15
(8,856 Views)
Anthony's suggestion is a great one. Use the LO property node to fix the LO away from your tone (a couple MHz will do) from the desired center frequency using the property node. The LO always tunes as close to your requested frequency as possible and then makes up the difference with the CORDIC. In this case you would be setting LO manually, likely a greater distance away.

DC offset correction happens before the CORDIC shifts frequency so it should give you a better result.
0 Kudos
Message 6 of 15
(8,841 Views)

Thanks guys.  We'll give it a try.  If you're still interested....here is some of the behavior we're seeing around DC.

0 Kudos
Message 7 of 15
(8,839 Views)

Hopefully, you'll see this and say "Of course" Smiley Happy

 

On the transmitter, when you change your tone frequency, you'll need to adjust your number of samples accordingly to generate a complete, continuous, waveform. If you don't, the starting point and the ending point won't line up and you'll have discontinuities when you loop back over your waveform.

 

Bad

discontinuous.png

 

Good

continuous.png

Anthony F.
Staff Software Engineer
National Instruments
0 Kudos
Message 8 of 15
(8,835 Views)

Anthony-


I agree...but the discontinuities I was speaking of are observed in the Rx waveforms....not the Tx.  And they're discontinuities in the middle of a fetch...not an "apparent" discontinuity due to the "phase" of the last IQ pair in a record being different from the first pair due to an "odd" number of fetch samples.


These mid-fetch discontinuities are accompanied by the strange harmonics seen in the spectrum plots.

 

---

Brandon

0 Kudos
Message 9 of 15
(8,830 Views)

Wait!

 

Hold on...I get it now.  Your saying that the Tx I and Q aren't continuous from write to write....so that's what causes the discontinuities on the Rx when I look over long continuous periods.

 

Giving myself a dope slap....

 

 

0 Kudos
Message 10 of 15
(8,829 Views)