Added option for pulse matched filtering
Pulse matched filtering places a boxcar filter upstream of the averager and preamble detector. The filter length is equivalent to the number of samples in one Mode S chip (0.5us). This technique enhances operation when using sample rates > 4Msps. When using --pmf, the threshold may need to be reduced a dB or two from what would have been optimal without --pmf. * rx_path.py now takes 'use_pmf', defaults to False * modes_rx has new CLI option '-p' or '--pmf' to turn on PMF * modes_gui has new checkbox on Setup tab
This commit is contained in:
+2
-1
@@ -242,6 +242,7 @@ class mainwindow(QtGui.QMainWindow):
|
||||
options["gain"] = float(self.ui.line_gain.text())
|
||||
options["threshold"] = float(self.ui.line_threshold.text())
|
||||
options["filename"] = str(self.ui.line_inputfile.text())
|
||||
options["pmf"] = self.ui.check_pmf.checkState()
|
||||
|
||||
self.fg = adsb_rx_block(options, self.queue) #create top RX block
|
||||
self.runner = top_block_runner(self.fg) #spawn new thread to do RX
|
||||
@@ -423,7 +424,7 @@ class adsb_rx_block (gr.top_block):
|
||||
else:
|
||||
raise NotImplementedError
|
||||
|
||||
self.rx_path = air_modes.rx_path(rate, options["threshold"], queue)
|
||||
self.rx_path = air_modes.rx_path(rate, options["threshold"], queue, options["pmf"])
|
||||
|
||||
if use_resampler:
|
||||
self.lpfiltcoeffs = gr.firdes.low_pass(1, 5*3.2e6, 1.6e6, 300e3)
|
||||
|
||||
+3
-1
@@ -110,7 +110,7 @@ class adsb_rx_block (gr.top_block):
|
||||
if options.output_all :
|
||||
pass_all = 1
|
||||
|
||||
self.rx_path = air_modes.rx_path(rate, options.threshold, queue)
|
||||
self.rx_path = air_modes.rx_path(rate, options.threshold, queue, options.pmf)
|
||||
|
||||
if use_resampler:
|
||||
self.lpfiltcoeffs = gr.firdes.low_pass(1, 5*3.2e6, 1.6e6, 300e3)
|
||||
@@ -163,6 +163,8 @@ if __name__ == '__main__':
|
||||
help="FlightGear server to send aircraft data, in format host:port")
|
||||
parser.add_option("-d","--rtlsdr", action="store_true", default=False,
|
||||
help="Use RTLSDR dongle instead of UHD source")
|
||||
parser.add_option("-p","--pmf", action="store_true", default=False,
|
||||
help="Use pulse matched filtering")
|
||||
|
||||
(options, args) = parser.parse_args()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user