Simple Broadcast FM Receiver


#1

when i run this program ithe following ewrror appears, how can i resolve
this.
Nameerror: microtune_eval_board is not defined at line 70:

#!/usr/bin/env python

simple broadcast FM receiver

from GnuRadio import *

return a gr_FlowGraph

def build_graph (IF_freq):
input_rate = 20e6

CFIR_decimate = 125
RFIR_decimate = 5
fm_demod_gain = 2200

quad_rate = input_rate / CFIR_decimate
audio_rate = quad_rate / RFIR_decimate

volume = 1.0

src = GrHighSpeedADCSourceS (input_rate)

# compute FIR filter taps for channel selection
channel_coeffs = \
  gr_firdes.low_pass (
    1.0,          # gain
    input_rate,   # sampling rate
    250e3,        # low pass cutoff freq
    8*100e3,      # width of trans. band
    gr_firdes.WIN_HAMMING)

# input: short; output: complex
chan_filter = \
  GrFreqXlatingFIRfilterSCF (CFIR_decimate,
                             channel_coeffs,
                             IF_freq)
# input: complex; output: float
fm_demod = \
  GrQuadratureDemodCF (volume * fm_demod_gain)

# compute FIR filter taps for audio filter
width_of_transition_band = audio_rate / 32
audio_coeffs = \
  gr_firdes.low_pass (
    1.0,            # gain
    quad_rate,      # sampling rate
    audio_rate/2 - width_of_transition_band,
    width_of_transition_band,
    gr_firdes.WIN_HAMMING)

# input: float; output: short
audio_filter = \
  GrFIRfilterFSF (RFIR_decimate, audio_coeffs)

final_sink = GrAudioSinkS ()

fg = gr_FlowGraph ()

fg.connect (src, chan_filter)
fg.connect (chan_filter, fm_demod)
fg.connect (fm_demod, audio_filter)
fg.connect (audio_filter, final_sink)

return fg

if name == ‘main’:

# connect to RF front end
rf_front_end = microtune_eval_board ()
if not rf_front_end.board_present_p ():
    raise IOError, 'RF front end not found'

# set gain and radio station frequency
rf_front_end.set_AGC (300)
rf_front_end.set_RF_freq (100.1e6)

IF_freq = rf_front_end.get_output_freq ()
fg = build_graph (IF_freq)
fg.start ()        # fork thread(s) and return
raw_input ('Press Enter to quit: ')
fg.stop ()

#2

On Mon, Jan 26, 2009 at 05:04:04PM +1300, Muhammad A. wrote:

when i run this program ithe following ewrror appears, how can i resolve this.
Nameerror: microtune_eval_board is not defined at line 70:

What hardware are you using?

If it’s a USRP, you’ll be much better off running the examples we ship
with the tarball. E.g., usrp_wfm_rcv_pll.py

The code you had below was written a long time ago (5 years?) –
before the USRP existed.

Current code:

http://gnuradio.org/trac/wiki/Download
http://gnuradio.org/trac/wiki/BuildGuide

Eric


#3

when i run this program i got this message.
student@it028743:~/Documents/usrp$ python usrp_wfm_rcv_pll.py

gr_fir_ccf: using SSE
gr_fir_fff: using SSE
gr_fir_fcc: using SSE
FYI: This implementation of the stereo_carrier_pll_recovery has no
squelch
implementation yet
FYI: No Powermate or Contour Knob found
FYI: This implementation of the stereo_carrier_pll_recovery has no
squelch
implementation yet
aUaUaUaUFYI: This implementation of the stereo_carrier_pll_recovery has
no
squelch implementation yet
FYI: This implementation of the stereo_carrier_pll_recovery has no
squelch
implementation yet
FYI: This implementation of the stereo_carrier_pll_recovery has no
squelch
implementation yet
FYI: This implementation of the stereo_carrier_pll_recovery has no
squelch
implementation yet
FYI: This implementation of the stereo_carrier_pll_recovery has no
squelch
implementation yet
FYI: This implementation of the stereo_carrier_pll_recovery has no
squelch
implementation yet
FYI: This implementation of the stereo_carrier_pll_recovery has no
squelch
implementation yet
aUaUaUaUaUaUaUaUaUaUaUaUaUstudent@it028743:~/Documents/usrp$

what its mean and how i can receive FM transmission.

2009/1/27 Eric B. removed_email_address@domain.invalid


#4

On Tue, Jan 27, 2009 at 10:32:38AM +1300, Muhammad A. wrote:

aUaUaUaUFYI: This implementation of the stereo_carrier_pll_recovery has no
implementation yet
FYI: This implementation of the stereo_carrier_pll_recovery has no squelch
implementation yet
aUaUaUaUaUaUaUaUaUaUaUaUaUstudent@it028743:~/Documents/usrp$

what its mean and how i can receive FM transmission.

Attention all newbies:

Please read the GNU Radio FAQ and the USRP FAQ and try searching with
google before posting to the list.

http://gnuradio.org/trac/wiki/FAQ
http://gnuradio.org/trac/wiki/UsrpFAQ

Most commands support a --help option. Try using it.

Also read the README files contained in the source code.

After doing all of the above, if you’ve still got a question, you’re
more likely to get a helpful response on this mailing list if you
provide us information that could allow us to help you. E.g., what
version of GNU Radio are you using; what OS/distribution/version are
you using; what (specific) kind of computer are you running GR on; if
you’re using a USRP, what daugherboard(s) are you using; the exact
command line you used. Also, please remember that no one here gets
paid to answer your questions. Questions that demonstrate that
you’ve done your homework are more likely to elicit a response.

FYI, “FYI” stands for “for your information”. It’s neither an error
nor a warning. It’s just information.

Welcome!
Eric


#5

Hi,

Most commands support a --help option. Try using it.
Also read the README files contained in the source code.

After doing all of the above, if you’ve still got a
question, you’re more likely to get a helpful response on this mailing list
if you provide us information that could allow us to help you.

Welcome!
Eric

May be we need to write a special wiki page with a link from the main
gnuradio wiki for the newbies like (’ New to GnuRadio Click Here’, or
‘For Newbies – Start From Here’).

Best Regards,

Firas


#6

On Mon, 2009-01-26 at 17:04 +1300, Muhammad A. wrote:

    1.0,          # gain
                             IF_freq)

final_sink = GrAudioSinkS ()

rf_front_end.set_RF_freq (100.1e6)

IF_freq = rf_front_end.get_output_freq ()

fg = build_graph (IF_freq)
fg.start ()        # fork thread(s) and return
raw_input ('Press Enter to quit: ')
fg.stop ()

You are using a very very old version of gnuradio.
Please update to the current tarball or svn code:
http://gnuradio.org/trac/wiki/Download
http://gnuradio.org/trac/wiki/GettingStarted

Greetings,
Martin


#7

On Mon, Jan 26, 2009 at 10:45:46PM -0800, Firas A. wrote:

http://gnuradio.org/trac/wiki/FAQ
Eric

May be we need to write a special wiki page with a link from the
main gnuradio wiki for the newbies like (’ New to GnuRadio Click
Here’, or ‘For Newbies – Start From Here’).

Best Regards,
Firas

That sounds like a good idea!

Eric


#8

Muhammad A. wrote:

squelch implementation yet
FYI: No Powermate or Contour Knob found
FYI: This implementation of the stereo_carrier_pll_recovery has no
squelch implementation yet
aUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUmuhammadabrar@ubuntu:~/Documents/usrp$

audio_alsa_sink[hw:0,0]: unable to support sampling rate 32000
card requested 44100 instead.
This means the your audio_card does not support 32000 Hz samplerate.
So you get Audio Underruns (aU)
This can be solved by using the commandline parameter
-O plughw:0,0

This will use the alsa software resampler to resample the 32000 to
44100

Please use reply-to-all when using the mailinglist.
Now I was the only one who got your reply, and not the mailinglist.

Greetings,
Martin