discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] FRS with the FLEX400 (newbie questions)


From: Kevin Rudd \(Contractor\)
Subject: [Discuss-gnuradio] FRS with the FLEX400 (newbie questions)
Date: Fri, 20 Apr 2007 11:54:20 -0400

Hello Again,
  I am starting to play with the GNU Radio code some and wanted to start by
capturing audio from a handheld radio (FRS fm modulation).  I am having some
problems and can't seem to figure out why it is not working.

1) receiving.  Why does the usrp nfm sample programs not work for FRS well?
I type...

python ./usrrp_nbfm_rcv.py -f462.5625

When I key the radio, I see the large spike at the carrier frequency
(+80db).  But after demod, the max amplitude is -80 to -60 db.  If I turn my
volume way up, I can hear the audio, but barely.  

2) transmitting.  I also tried modulating a single sine wave tone and
transmitting it so that I can hear it on the radio.  For some reason my tune
function returns a false.  Does this mean it did not tune to the correct
frequency?  What could be causing that?  My code is below if it helps.  

Thanks!
Kevin Rudd

----------------------------------------------------------------------------
#!/usr/bin/env python

from gnuradio import gr, eng_notation
from gnuradio import usrp
from gnuradio import audio
from gnuradio import blks
from gnuradio.eng_option import eng_option
import usrp_dbid
import sys


class my_graph(gr.flow_graph):

        def __init__(self):
                gr.flow_graph.__init__ (self)
                
                self.u = usrp.sink_c ()       # the USRP sink (consumes
samples)

                self.dac_rate = self.u.dac_rate()                    # 128
MS/s
                self.usrp_interp = 400
                self.u.set_interp_rate(self.usrp_interp)
                self.usrp_rate = self.dac_rate / self.usrp_interp    # 320
kS/s
                self.sw_interp = 10
                self.audio_rate = self.usrp_rate / self.sw_interp    # 32
kS/s


                # determine the daughterboard subdevice we're using
                tx_subdev_spec = usrp.pick_tx_subdevice(self.u)
                m = usrp.determine_tx_mux_value(self.u, tx_subdev_spec)
                self.u.set_mux(m)
                self.subdev = usrp.selected_subdev(self.u, tx_subdev_spec)
                print "Using TX d'board %s" % (self.subdev.side_and_name(),)

                m = usrp.determine_tx_mux_value(self.u, tx_subdev_spec)

                self.subdev.set_gain(self.subdev.gain_range()[1])    # set
max Tx gain
                
                ttarget_freq = 462562500
                #self.set_freq(ttarget_freq)
                r = self.u.tune(self.subdev._which, self.subdev,
ttarget_freq)
                print r  # this prints false!

                self.subdev.set_enable(True)                         #
enable transmitter
    
                src0 = gr.sig_source_f (self.audio_rate, gr.GR_SIN_WAVE,
350, 1)

              fmtx = blks.nbfm_tx (self, self.audio_rate, self.usrp_rate,
                           max_dev=5e3, tau=75e-6)
                
                            
                gain = gr.multiply_const_cc (4.0)  # not sure about this
        
                self.connect (src0, fmtx)
                self.connect (fmtx, gain)
                self.connect (gain, self.u)
    

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







reply via email to

[Prev in Thread] Current Thread [Next in Thread]