On 11/03/2010 04:00 PM, Steve Mcmahon wrote: > Hello: > > I am still somewhat new to GNU Radio. I am running GNU Radio 3.3.0 under > openSUSE 11.2, and I have two USRP2 boards, each with a WBX daughterboard. I > need some help understanding some fundamental things about GNU Radio and the > USRP2 and upconversion. > > I am trying generate a tone at 900.001 MHz (900,001,000 Hz). I am using GRC > to construct a simple flow graph where I have a signal source block > generating a 1 khz cosine at a sample rate of 195.312 khz (=100e6/512), > connected to a USRP2 sink block with the "decimation" parameter set to 512, > and with the "frequency" parameter set to 900M. I then look at the output on > a spectrum analyzer. My understanding was that I should see a clear spike at > 900.001 MHz, but I don't. Instead I see a peak at 899.99701 MHz. What am I > doing wrong? I'm using the internal USRP2 clock. Is this happening because > the internal clock is good to only 7ppm? > There are two sources of error--one, as you've observed is the precision of the reference clock on the USRP2. And the other is whatever residual measurement error your Spectrum Analyser has. Synthesized LOs are only as good as the reference clock, at least from a frequency-precision perspective. If you want to do better than that, then you can use an external 10MHz reference clock, such as a GPS frequency standard.
This is entirely normal for synthesized RF gear. Measure just about any commercial radio out there with a precision measurement device, and there'll be some residual frequency error, unless you get lucky. It's usual in telecom systems for there to be some kind of AFC on the receive side to compensate for transmit-side frequency error. > In general, how do I need to setup the frequency of a USRP2 source if I want > to place tones in the spectrum? I thought it was simple upconversion. If I > want to modulate a multitone signal (say with sine components 1 KHz, 3 khz, > and 7 khz) to obtain an upconverted signal with tones at 901 MHz, 903 MHz, > and 907 MHz, then I simply set the "frequency" parameter of the USRP2 sink to > 900 MHz, right? How exactly does the USRP2 do the upconversion? What exactly > does the "frequency" parameter do? > > The USRP2 takes your quadrature-sampled baseband signal, and interpolates it up to the required Tx-side sampling rate. It programs the Tx LO on the daughtercard to the desired frequency, and sends it on to the Tx mixer. Sometimes, due to LO frequency step size limitations on specific daughtercards, the USRP2 FPGA will use a DUC (Digital Up-converter) stage to get to exactly the desired frequency. I'm not sure whether you meant 901,903 and 907Mhz, or 900.001MHz, 900.003Mhz, and 900.007Mhz. For purposes of experiment, you can have 3 different signal generators, add their outputs, and send the resulting multi-tone baseband stream on to the USRP2. -- Principal Investigator Shirleys Bay Radio Astronomy Consortium http://www.sbrac.org _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio