Re: [Discuss-gnuradio] Carrier leakage on transmit

2010-06-01 Thread Charles Brain
3 - Measure the amplitude of the TX DC offset as received by the RX (in 
this case at -1 MHz).  Iteratively adjust your I TX DC offset number 
until you get to the lowest power you can see.  Then do the same for Q. 
 If it still isn't low enough, do I again.


Matt


Hi Matt,

Are the settings for the I and Q adjustments independent or do I have to 
iterate between them for the lowest error?


Also if I am sending a 0 amplitude signal can I simply AM detect the received 
signal to measure the dc error value?


Finally what is the simplest way to synchronise receive, so I can 
make sure I am associating a particular DC offset error with a corrected

transmitted block?

I can see the carrier going up and down on the Analyser but my
routine comes up with some silly values. I think it is because I have 
the routine out of sync.


Sorry for the dumb questions :-)

- Charles

setup WBX, USRP2, UHD



___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Carrier leakage on transmit

2010-06-01 Thread Matt Ettus

On 06/01/2010 03:41 AM, Charles Brain wrote:

3 - Measure the amplitude of the TX DC offset as received by the RX
(in this case at -1 MHz). Iteratively adjust your I TX DC offset
number until you get to the lowest power you can see. Then do the same
for Q. If it still isn't low enough, do I again.

Matt


Hi Matt,

Are the settings for the I and Q adjustments independent or do I have to
iterate between them for the lowest error?



They are independent, but you still need to iterate.  Once the I offset 
is small enough, it will be swamped by the Q offset and you won't get 
enough precision to totally remove it until you also reduce Q.




Also if I am sending a 0 amplitude signal can I simply AM detect the
received signal to measure the dc error value?


Possibly, but if there is another signal coming in it will mess up your 
results.




Finally what is the simplest way to synchronise receive, so I can make
sure I am associating a particular DC offset error with a corrected
transmitted block?

I can see the carrier going up and down on the Analyser but my
routine comes up with some silly values. I think it is because I have
the routine out of sync.


If you aren't using inband signalling, you'll need to proceed slowly. 
Make a change, wait a little bit to make sure you are seeing its results 
before you make the next one.


Matt

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Carrier leakage on transmit

2010-05-25 Thread Charles Brain

Hi,

Is there any way of calibrating out or mitigating the 
carrier at the WBX tx frequency? I am sending
a wideband signal and the carrier (which I assume is 
due to dc coupling in the WBX) is at a significant level 
compared to my signal.


- Charles

Kit USRP2 - WBX - UHD

http://www.g4guo.blogspot.com/

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Carrier leakage on transmit

2010-05-25 Thread Johnathan Corgan
On Tue, May 25, 2010 at 03:17, Charles Brain chbr...@btinternet.com wrote:

 Is there any way of calibrating out or mitigating the carrier at the WBX tx
 frequency? I am sending
 a wideband signal and the carrier (which I assume is due to dc coupling in
 the WBX) is at a significant level compared to my signal.

This is a result of feedthrough of the LO in the WBX mixer.

There is a function call you can make in the libusrp2 driver,
'set_lo_offset', which will adjust the analog LO in frequency and
compensate using the FPGA DUC to return the actual transmitted signal
to your desired tuned frequency.  I'm not sure what the equivalent
function in the UHD is; it may not be implemented yet.

This at least lets you move the spurious carrier outside the passband
of your transmit signal. In order to fully remove it, either DC offset
trimming would need to be implemented in the FPGA, or host
code/firmware written to tweak the built-in DAC DC offset
compensation.  I've done the former for clients, and it works well.

Johnathan

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Carrier leakage on transmit

2010-05-25 Thread Charles Brain

Hi Johnathan,

You can offset the carrier with UHD by passing a 2nd parameter
in the set_tx_freq call. Unfortunately it only seems to work with 
small offsets, far too small to take it outside the passband of my

signal. :-(  It was not so much of a problem with my DVB-S code
but I am now playing with DVB-T and I can see it in the middle 
of the  ODFM waveform swamping the pilot tones. 
I think some form of calibration routine is going to be necessary.

I guess I will just have to be patient and wait.

- Charles

- Original Message - 
From: Johnathan Corgan jcor...@corganenterprises.com



'set_lo_offset', which will adjust the analog LO in frequency and



to your desired tuned frequency.  I'm not sure what the equivalent
function in the UHD is; it may not be implemented yet.

This at least lets you move the spurious carrier outside the passband
of your transmit signal. In order to fully remove it, either DC offset
trimming would need to be implemented in the FPGA, or host
code/firmware written to tweak the built-in DAC DC offset
compensation.  I've done the former for clients, and it works well.

Johnathan


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Carrier leakage on transmit

2010-05-25 Thread Johnathan Corgan
On Tue, May 25, 2010 at 05:53, Charles Brain chbr...@btinternet.com wrote:

 You can offset the carrier with UHD by passing a 2nd parameter
 in the set_tx_freq call. Unfortunately it only seems to work with small
 offsets, far too small to take it outside the passband of my
 signal. :-(

I haven't had the opportunity to try recent versions of UHD; I'll get
to that this week.  But you should be able to move the LO at least
10-12 MHz away.

 I think some form of calibration routine is going to be necessary.

Yes, the feedthrough is daughterboard and USRP2 specific, i.e., the DC
offset required to be added to the DAC sample values is unique to each
combination.  Fortunately, I've found that the compensation is stable
over time and temperature, so once calibrated, I've been able to put
it in a config file and leave it alone.

 I guess I will just have to be patient and wait.

Your feedback on the TX side issues you've encountered have already
been very useful, thanks.

Johnathan

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Carrier leakage on transmit

2010-05-25 Thread Charles Brain

Hi Johnathan,

I tried an offset of 10 MHz and the output on the spectrum analyser
looks frazzled, it no longer looked clean. Funnily enough the satellite
receiver still managed to lock to the signal.

I am fiddling about with an anti aliasing filter at the moment
but when I have that sorted I will try some other offset values.

In my last post I should have said OFDM not ODFM.

- Charles

- Original Message - 
From: Johnathan Corgan 


I haven't had the opportunity to try recent versions of UHD; I'll get
to that this week.  But you should be able to move the LO at least
10-12 MHz away.

Your feedback on the TX side issues you've encountered have already
been very useful, thanks.



___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Carrier leakage on transmit

2010-05-25 Thread Charles Brain

Well I have had another look at the offset stuff.

What seems to be happening is that when you apply an offset 
you have to scale back the max IQ values being sent to the USRP2.


I get this situation.

No LO offset, great raised cosine shaped QPSK signal
Add LO offset, QPSK signal looks awful.

Reduce IQ signal amplitude QPSK signal again looks good 
and I can see the LO offset on the spectrum analyser.


I have also noticed that when I try OFDM the unwanted rubbish 
on either side of my OFDM signal changes with LO offset.


There seems to be an interaction in there somewhere probably
to do with the complex mixer in the FPGA. I have not ruled out my 
own code yet but it seems unlikely.


- Charles

http://www.g4guo.blogspot.com/


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Carrier leakage on transmit

2010-05-25 Thread Matt Ettus

On 05/25/2010 03:17 AM, Charles Brain wrote:

Hi,

Is there any way of calibrating out or mitigating the carrier at the WBX
tx frequency? I am sending
a wideband signal and the carrier (which I assume is due to dc coupling
in the WBX) is at a significant level compared to my signal.



What Johnathan describes is a way of hiding the DC offset by moving it 
outside your passband.  The proper thing to do is to actually correct 
it.  In order to do that, you'll need to write a little bit of code, but 
it isn't too complex.  The DC offset will be a function of many things, 
including LO frequency and temperature.  These are the steps you need to 
follow:


1 - Tune your TX to the frequency you want and turn it on.  You don't 
need to transmit a strong signal, but you do need to transmit.  You can 
transmit at a very high interpolation as well, since there is really no 
signal there.


2 - Tune your RX to a different but nearby frequency.  +1 MHz away is 
reasonable


3 - Measure the amplitude of the TX DC offset as received by the RX (in 
this case at -1 MHz).  Iteratively adjust your I TX DC offset number 
until you get to the lowest power you can see.  Then do the same for Q. 
 If it still isn't low enough, do I again.



Matt

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Carrier leakage on transmit

2010-05-25 Thread Matt Ettus

On 05/25/2010 07:40 AM, Charles Brain wrote:

Well I have had another look at the offset stuff.

What seems to be happening is that when you apply an offset you have to
scale back the max IQ values being sent to the USRP2.

I get this situation.

No LO offset, great raised cosine shaped QPSK signal
Add LO offset, QPSK signal looks awful.

Reduce IQ signal amplitude QPSK signal again looks good and I can see
the LO offset on the spectrum analyser.

I have also noticed that when I try OFDM the unwanted rubbish on either
side of my OFDM signal changes with LO offset.

There seems to be an interaction in there somewhere probably
to do with the complex mixer in the FPGA. I have not ruled out my own
code yet but it seems unlikely.



When there is no LO offset, your I signals passes straight through, as 
does the Q.  When there is LO offset, the cordic is rotating them, and 
when both are high, and the rotation is 45/135/225/315 degrees, the peak 
of the signal is now sqrt(2) times as big.


To look at it another way, your QPSK signal is being generated on the 
corners of a square in the IQ plane.  When you rotate it (which only 
happens with LO offset), the corners can now go to higher values, like 
when it is rotated 45 degrees and the points align with an axis.


Matt


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio