On Tue, Sep 01, 2009 at 07:18:02PM -0700, Josh Blum wrote: > > > Eric Blossom wrote: >> On Wed, Sep 02, 2009 at 09:14:52AM +0800, fangming he wrote: >>> Hi, all >>> >>> I set the frequency of USRP to be 910MHz, but I noticed that >>> the central frequency of the signal is 914MHz. Why there is 4Mhz frequency >>> offset. >>> I also found that there is also a signal comeing up in 896Mhz. The >>> amplitude of >>> the signal in 914MHz is 20dB higher than the amplitude of the signal in >>> 896Mhz. >> >> Did you call u.tune(..., 910e6, ...) to set the frequency? >> > > Thats news to me! The grc generated code here just calls set lo. > > The temporary solution would be to create a gui control for the > frequency and to change the frequency at runtime. This will cause > u.tune(...) to be called. > > -Josh >
>From usrp_standard.h: usrp_standard_rx: /*! * \brief High-level "tune" method. Works for the single channel case. * * This method adjusts both the daughterboard LO and the DDC so that * target_freq ends up at DC in the complex baseband samples. * * \param chan which DDC channel we're controlling (almost always 0). * \param db the daughterboard we're controlling. * \param target_freq the RF frequency we want at DC in the complex baseband. * \param[out] result details how the hardware was configured. * * \returns true iff everything was successful. */ bool tune(int chan, db_base_sptr db, double target_freq, usrp_tune_result *result); usrp_standard_tx: /*! * \brief High-level "tune" method. Works for the single channel case. * * This method adjusts both the daughterboard LO and the DUC so that * DC in the complex baseband samples ends up at RF target_freq. * * \param chan which DUC channel we're controlling (usually == which_side). * \param db the daughterboard we're controlling. * \param target_freq the RF frequency we want our baseband translated to. * \param[out] result details how the hardware was configured. * * \returns true iff everything was successful. */ bool tune(int chan, db_base_sptr db, double target_freq, usrp_tune_result *result); If you don't adjust both the LO and DDC/DUC, on most boards you can't ensure that your desired frequency is at 0 Hz in the baseband. (The 4 MHz offset is to move some spurs away from 0 Hz.) Eric _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio