Filtered Noise
This is a noise source, connected to a bandpass filter with transition
band centers at 1200 and 4200hz, with transition band width of 200hz,
connected to a fft display:
The code:
#!/usr/bin/env python
#
# Copyright 2004 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# GNU Radio is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Radio; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
from gnuradio import gr
from gnuradio.eng_option import eng_option
from gnuradio.wxgui import stdgui, fftsink
from optparse import OptionParser
import wx
class app_flow_graph (stdgui.gui_flow_graph):
def __init__(self, frame, panel, vbox, argv):
stdgui.gui_flow_graph.__init__ (self, frame, panel, vbox, argv)
parser = OptionParser (option_class=eng_option)
(options, args) = parser.parse_args ()
input_rate = 48e3
src = gr.noise_source_f (gr.GR_GAUSSIAN,1)
block, fft_win = fftsink.make_fft_sink_f (self, panel, "Rx Data", 2048, input_rate)
audio_coeffs = gr.firdes.band_pass (
1.0, # gain
input_rate,
1200, # center of low transition band
4200, # center of hi transition band
200, # width of transition band
gr.firdes.WIN_HAMMING)
audio_filter = gr.fir_filter_fff ( 1, audio_coeffs)
self.connect (src, audio_filter)
self.connect (audio_filter, block)
vbox.Add (fft_win, 1, wx.EXPAND)
def main ():
app = stdgui.stdapp (app_flow_graph, "File FFT")
app.MainLoop ()
if __name__ == '__main__':
main ()