Re: [Discuss-gnuradio] Carrier leakage on transmit
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
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
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
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
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
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
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
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
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
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