Up the sample rate for RTL dongles to 3.2Msps. Seems to enjoy 3.2Msps just fine, and the Mode S RX works *much* better with the extra bandwidth.

This commit is contained in:
Nick Foster 2012-08-23 19:21:09 -07:00
parent 89d818a792
commit 4b70c5a0b0
2 changed files with 7 additions and 7 deletions

View File

@ -178,7 +178,7 @@ class mainwindow(QtGui.QMainWindow):
self.ui.stack_source.setCurrentIndex(0) self.ui.stack_source.setCurrentIndex(0)
elif sourceid == "RTL-SDR": elif sourceid == "RTL-SDR":
self.rates = [2.4e6] self.rates = [3.2e6]
self.antennas = ["RX"] self.antennas = ["RX"]
self.ui.combo_ant.setEnabled(False) self.ui.combo_ant.setEnabled(False)
self.ui.combo_rate.setEnabled(False) self.ui.combo_rate.setEnabled(False)
@ -381,7 +381,7 @@ class adsb_rx_block (gr.top_block):
elif options["source"] == "RTL-SDR": elif options["source"] == "RTL-SDR":
import osmosdr import osmosdr
self.u = osmosdr.source_c() self.u = osmosdr.source_c()
self.u.set_sample_rate(2.4e6) #fixed for RTL dongles self.u.set_sample_rate(3.2e6) #fixed for RTL dongles
rate = int(4e6) rate = int(4e6)
self.u.set_gain_mode(0) #manual gain mode self.u.set_gain_mode(0) #manual gain mode
self.u.set_gain(int(options["gain"])) self.u.set_gain(int(options["gain"]))
@ -400,8 +400,8 @@ class adsb_rx_block (gr.top_block):
self.slicer = air_modes.modes_slicer(int(rate), queue) self.slicer = air_modes.modes_slicer(int(rate), queue)
if use_resampler: if use_resampler:
self.lpfiltcoeffs = gr.firdes.low_pass(1, 5*2.4e6, 1.2e6, 300e3) self.lpfiltcoeffs = gr.firdes.low_pass(1, 5*3.2e6, 1.6e6, 300e3)
self.resample = blks2.rational_resampler_ccf(interpolation=5, decimation=3, taps=self.lpfiltcoeffs) self.resample = blks2.rational_resampler_ccf(interpolation=5, decimation=4, taps=self.lpfiltcoeffs)
self.connect(self.u, self.resample, self.demod) self.connect(self.u, self.resample, self.demod)
else: else:
self.connect(self.u, self.demod) self.connect(self.u, self.demod)

View File

@ -82,7 +82,7 @@ class adsb_rx_block (gr.top_block):
elif options.rtlsdr: #RTLSDR dongle elif options.rtlsdr: #RTLSDR dongle
import osmosdr import osmosdr
self.u = osmosdr.source_c(options.args) self.u = osmosdr.source_c(options.args)
self.u.set_sample_rate(2.4e6) #fixed for RTL dongles self.u.set_sample_rate(3.2e6) #fixed for RTL dongles
if not self.u.set_center_freq(options.freq): if not self.u.set_center_freq(options.freq):
print "Failed to set initial frequency" print "Failed to set initial frequency"
@ -118,8 +118,8 @@ class adsb_rx_block (gr.top_block):
self.slicer = air_modes.modes_slicer(rate, queue) self.slicer = air_modes.modes_slicer(rate, queue)
if use_resampler: if use_resampler:
self.lpfiltcoeffs = gr.firdes.low_pass(1, 5*2.4e6, 1.2e6, 300e3) self.lpfiltcoeffs = gr.firdes.low_pass(1, 5*3.2e6, 1.6e6, 300e3)
self.resample = blks2.rational_resampler_ccf(interpolation=5, decimation=3, taps=self.lpfiltcoeffs) self.resample = blks2.rational_resampler_ccf(interpolation=5, decimation=4, taps=self.lpfiltcoeffs)
self.connect(self.u, self.resample, self.demod) self.connect(self.u, self.resample, self.demod)
else: else:
self.connect(self.u, self.demod) self.connect(self.u, self.demod)