You are not logged in.
Hi,
I wish to do some null steering. I am using WARP v2 with a v1.4 Radio card. Owing to the nature of the work, I need to use a spectrum analyser rather than a corresponding WARP v2 Rx board to measure the power and obtain results. The transmit signal is an OFDM signal that is 10 MHz in bandwidth, which has been distributed over the 24 MHz bandwidth (the 12 MHz lowest corner frequency selectable). In my Tx spectrum as viewed on the spectrum analyser, there is a large lump of power on the carrier , i.e. the modulated DC. I have visited the page:
https://warpproject.org/trac/wiki/Hardw … TxDCOffset
and have made the serial connection to the board using Terra Term software. I have obtained the I and Q Dc offset. I am unclear as to how to procede from this point. I am using Matlab to control the board so the C program at the end of that web page is no use to me as evrything is obscured by C functions that I am unable to find. I would like to correct the DC offset by subtracting appropriate constants from the I and Q streams in Matlab but I don't understand what the numbers mean that are given for the I and Q DC offsets. I am guessing that they are levels on a (16 bit) D/A converter but how to convert these to voltages or constants that I can subtract from the Tx I and Q streams in Matlab is anyone's guess. Could you please help? -- I have also looked at the AD9777 technical document to see if I could 'translate' these I and Q numbers to something meaningful in Matlab but to no avail.
BTW -- it seems that the word 'calibrate' is used quite a lot on the webpage above when what is really going on, if I understand correctly, is that the software is simply obtaining the and I and Q offsets rather than calibrating them. The C program at the end, I imagine, is doing the calibration bit.
Best Regards,
Pat
Offline
That software also has the ability to write DC offset calibration values directly to the non-volatile EEPROM on the radio. That's what the 'r' key will do once you at this stage. Once those values are recorded, all other reference designs will use them, including WARPLab. This will be automatic -- you shouldn't apply your own DC offsets in MATLAB.
Since you have access to a spectrum analyzer, I recommend manually tweaking the I and Q offsets using the '[a,q,s,w]' keys before recording the values to EEPROM. The algorithm for automatic selection gets close, but we've found you need to hand tweak the I and Q offsets for maximum benefit. You can make these adjustments while the board is cabled into your spectrum analyzer so you can explicitly measure the carrier leakage.
Offline
Hi chunter,
Many thanks for your reply.
I did not know that once the DCOs were written to the EEPROM, all programs have access to them.
Therefore, just to be clear, could you confirm that the ACE file that facilitates easy Matlab control over the signal processing on the boards implied by the link here:
http://warpproject.org/trac/wiki/WARPLab
reads the DCOs stored in the EEPROM and calibrates them out once the \r command is invoked at the end of the process (that uses another ACE file to calibrate the DCOs)?
I am most grateful for your time on this.
Best Regards,
Pat
Offline
Yes, that's correct. All of our designs boot up and read the EEPROM contents as part of the radio initialization.
Offline
Many thanks chunter -- a very productive and informative discussion!
Am most grateful.
Cheers,
Pat
Offline