So there's a few things here. First, you're using the old libusrp driver,
which is fine, except it's been deprecated for almost two years. I
recommend using UHD instead, it's not hard to figure out, and we can
provide better support for it.

Second, you have a misunderstanding of how the USRP works with Gnuradio.
The USRP sink is set to a particular center frequency; the USRP will handle
tuning the RF front end to that frequency. After that, your samples are
sent from your gr.sig_source_x to the USRP, which upconverts them to the RF
frequency you selected earlier. In other words, you don't send a 2.4GHz
sample rate to the USRP -- you send a much lower sample rate to the USRP,
and let it upconvert that to your center frequency. If you want to send a
sine wave at 2400.5GHz, this is how it'd go:

from gnuradio import gr, gru, uhd
import sys

class my_tb(gr.top_block):
   def __init__:
      self.samp_rate = 2e6
      self.center_freq = 2400e6
      self.sig_freq = 500e3
      self.src = gr.sig_source_c(self.samp_rate, gr.GR_SIN_WAVE,
self.sig_freq, 0.3) #0.3 is amplitude
      self.sink = uhd.single_usrp_sink("", uhd.io_type_t.COMPLEX_FLOAT32, 1)
      self.sink.set_samp_rate(self.samp_rate) #set the sample rate to 2Msps
      self.sink.set_gain(20) #set the gain to something reasonable
      self.sink.set_center_freq(self.center_freq)  #this is where you tune
the RF center frequency
      self.connect(self.src, self.sink)

if __name__ == '__main__':
   tb = my_tb()
   try:
      my_tb.run()
   except KeyboardInterrupt:
      pass



--n

On Wed, Feb 1, 2012 at 8:14 PM, Ebtisam Ahmed <ebtisamahme...@gmail.com>wrote:

> Hi all,
> i have been doing my final year project of MIMO-OFDM using gnuradio.
> For this i first want to transmit a sine wave and i made a simple
> program by the concept used in usrp_siggen.py. Although sine is
> recieved successfully and its fft is plotted but it has a very low
> amplitude and many harmonics. kindly have a look at my code:
>
> #!/usr/bin/env python
> from gnuradio import gr, gru
> from gnuradio import usrp
> import sys
>
>
> class my_top_block(gr.top_block):
>    def __init__(self):
>        gr.top_block.__init__(self)
>        #1. source
>        #2. sink
>        #3. connect
>        self.interp = 64
>        self.sink = usrp.sink_c (0, self.interp)   # Transmitter code
>        self.usb_freq = 1000000
>        self.src = gr.sig_source_c(self.usb_freq, gr.GR_SIN_WAVE,
> 2450000000, 32000, 0)
>        self.src.set_frequency(input('Set the frequency'))
>
>        self.connect(self.src, self.sink)
>
>
> def main():
>
>    tb=my_top_block()
>    #tb.subdev.set_enable(True)                       # enable transmitter
>    try:
>        tb.run()
>
>    except KeyboardInterrupt:
>        pass
>
>
> if __name__ == '__main__':
>    main ()
>
> Thanks in advance
>
> Regards,
> Ebtisam
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to