Hi
when I applied AM modulated signal to USRP from Signal Generator.
I can not getting the same modulating frequency.
Parameters are as.
RF Frequency = 900 MHz
Modulation Frequency=80KHz
Modulatio Rate=50%
I am using DBRX daughterboard:
The code is attached. 
can any body check this code.
Thanks




      
#!/usr/bin/env python
from gnuradio import gr, gru, eng_notation, optfir
from gnuradio import audio
from gnuradio import usrp
from gnuradio import blks2
from gnuradio.eng_option import eng_option
from gnuradio.wxgui import slider, powermate
from gnuradio.wxgui import stdgui, fftsink, form,scopesink 
from optparse import OptionParser
from usrpm import usrp_dbid
import sys
import math
import wx

def pick_subdevice(u):
    
    return usrp.pick_subdev(u, (usrp_dbid.TV_RX_REV_2,
                          	usrp_dbid.DBS_RX,
                           	usrp_dbid.DBS_RX_REV_2_1,
                           	usrp_dbid.BASIC_RX))

class rf_frontEnd(stdgui.gui_flow_graph):
    def __init__(self,frame,panel,vbox,argv):
       #stdgui2.std_top_block.__init__ (self,frame,panel,vbox,argv)
       stdgui.gui_flow_graph.__init__(self,frame,panel,vbox,argv)	
       
      	#--------------------------------------------------------------------------------
	# User selects Target frequency
	#--------------------------------------------------------------------------------
       parser=OptionParser(option_class=eng_option)
       parser.add_option("-f", "--freq", type="eng_float", default=2205e6,
                          help="set frequency to FREQ", metavar="FREQ")
 
       (options, args) = parser.parse_args()
       if len(args) != 0:
          parser.print_help()
          sys.exit(1)
	#----------------------------------------------------------------------------------
      
       self.frame = frame
       self.panel = panel
       self.freq = options.freq
	
       # build graph
       #self.connect(self.u,throttle)
       self.u = usrp.source_c()                    # usrp is data source in complex format - 8 bytes
       adc_rate = self.u.adc_rate()                # ADC sampling rate- 64 MS/s
       usrp_decim = 200	                           # must be between 8-256 even number only
       self.u.set_decim_rate(usrp_decim)	   # set decimation rate of USRP
       usrp_rate = adc_rate / usrp_decim           # usp output rate 320 kS/s
       chanfilt_decim = 1
     
       rx_subdev_spec = pick_subdevice(self.u)	  # Autoselect Daughter Board

       self.u.set_mux(usrp.determine_rx_mux_value(self.u, rx_subdev_spec))
       self.subdev = usrp.selected_subdev(self.u, rx_subdev_spec)
       print "Using RX d'board %s" % (self.subdev.side_and_name(),) 		# Displays side and name of DBSRX

      
       self.set_freq(self.freq)
	 		 	
       """
       Covert complex to real
       """
       op = gr.complex_to_float()
       self.connect(self.u,op)

      #-----------Display Recieved  signal: TIME DOMAIN----------------------------------------------------------- 
       scope = scopesink.scope_sink_f(self, panel, title="RECEIVED SIGNAL (REAL): TIME DOMAIN", sample_rate= usrp_rate)
       
       vbox.Add(scope.win,4,wx.EXPAND) 
       
       self.connect(op,scope)        #real bandpass signal to oscilloscope
       
             
	# -----------------RF front end tuning----------------------------------
    def set_freq(self, target_freq):
        
        r = usrp.tune(self.u, 0, self.subdev, target_freq)	
	
	if r: print " Tune to IF freq success %s" % (target_freq) 
	  
        
#----RUN THE SOFTWARE------------------------------------------------------------
if __name__ == '__main__':
    app = stdgui.stdapp (rf_frontEnd, "ESEU Receiver")
    app.MainLoop ()      


 	

	

_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to