|
@@ -17,20 +17,22 @@ class fm_radio(gnuradio.gr.top_block):
|
|
|
def __init__(self):
|
|
|
gnuradio.gr.top_block.__init__(self, "FM Radio Receiver", catch_exceptions=True)
|
|
|
|
|
|
- samp_rate = 2560000
|
|
|
channel_width_hertz = 250000
|
|
|
audio_sample_rate_hertz = 48000
|
|
|
|
|
|
rtlsdr_source = osmosdr.source()
|
|
|
- rtlsdr_source.set_sample_rate(samp_rate)
|
|
|
+ rtlsdr_source.set_sample_rate(2560000) # Hz
|
|
|
rtlsdr_source.set_center_freq((98.3 * 1e6), 0)
|
|
|
resampler = gnuradio.filter.rational_resampler_fff(
|
|
|
interpolation=audio_sample_rate_hertz, decimation=channel_width_hertz
|
|
|
)
|
|
|
low_pass_filter = gnuradio.filter.fir_filter_ccf(
|
|
|
- samp_rate // channel_width_hertz,
|
|
|
+ int(rtlsdr_source.get_sample_rate() / channel_width_hertz),
|
|
|
gnuradio.filter.firdes.low_pass(
|
|
|
- 2, samp_rate, 100000, 10000, gnuradio.fft.window.WIN_KAISER, 6.76
|
|
|
+ gain=2,
|
|
|
+ sampling_freq=rtlsdr_source.get_sample_rate(),
|
|
|
+ cutoff_freq=100000,
|
|
|
+ transition_width=10000,
|
|
|
),
|
|
|
)
|
|
|
audio_sink = gnuradio.audio.sink(audio_sample_rate_hertz)
|