On 03/13/2014 09:32 PM, Activecat wrote: > I try to send square wave from one USRP to another. > The received signal at the receiver USRP is very different from what > was being sent. > This is just a very simple setup. What could be wrong ..?
What you are seeing is a classic case of frequency/phase offset between the transmitter and receiver, introducing a "rotation" in the I/Q domain at baseband equal to the difference frequency. In spite of "calibrating" things, you have only made the transmitter and receiver local oscillator frequencies "close". All real-world receivers must implement a correction loop to estimate this frequency and compensate for it, which eliminates the rotation. This correction loop often takes the form of a phase-locked loop, of which there are several in GNU Radio. For the type of waveform you are transmitting, the "PLL Carrier Tracking" loop should work, as your baseband waveform results in significant carrier energy when upconverted to passband. Also, the amplitude of the data you are transmitting at baseband is likely too high; you can see evidence of numerical overflow in the received signal. I suggest you limit the amplitude of the square wave baseband waveform to +-0.7; this prevents the magnitude of the signal exceeding 1.0 in the CORDIC stage of the DUC in the USRP. If any of the above concepts are unfamiliar to you, there are excellent references in the Suggested Reading page on the GNU Radio wiki. -- Johnathan Corgan, Corgan Labs SDR Training and Development Services http://corganlabs.com
<<attachment: johnathan.vcf>>
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
