diff options
author | Max <ikj1234i@yahoo.com> | 2017-04-02 09:31:40 -0400 |
---|---|---|
committer | Max <ikj1234i@yahoo.com> | 2017-04-02 09:31:40 -0400 |
commit | 4ece3269e3f355c6726da54f25e22040199be69d (patch) | |
tree | 87f457151c7623e6bd88b1af47d882985ee3832f /op25 | |
parent | 596fe4a733e5ab294ff58b6ba694e9b8d6988e32 (diff) |
add spectrum zoom
Diffstat (limited to 'op25')
-rwxr-xr-x | op25/gr-op25_repeater/apps/scope.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/op25/gr-op25_repeater/apps/scope.py b/op25/gr-op25_repeater/apps/scope.py index 6bdb398..3c8c6b4 100755 --- a/op25/gr-op25_repeater/apps/scope.py +++ b/op25/gr-op25_repeater/apps/scope.py @@ -129,6 +129,7 @@ class p25_rx_block (stdgui2.std_top_block): parser.add_option("-O", "--audio-output", type="string", default="default", help="audio output device name") parser.add_option("-q", "--freq-corr", type="eng_float", default=0.0, help="frequency correction") parser.add_option("-2", "--phase2-tdma", action="store_true", default=False, help="enable phase2 tdma decode") + parser.add_option("-Z", "--decim-amt", type="int", default=1, help="spectrum decimation") (options, args) = parser.parse_args() if len(args) != 0: parser.print_help() @@ -242,7 +243,7 @@ class p25_rx_block (stdgui2.std_top_block): global speeds global WIRESHARK_PORT # tell the scope the source rate - self.spectrum.set_sample_rate(capture_rate) + self.spectrum.set_sample_rate(capture_rate / self.options.decim_amt) self.rx_q = gr.msg_queue(100) msg_EVT_DATA_EVENT(self.frame, self.msg_data) @@ -404,8 +405,10 @@ class p25_rx_block (stdgui2.std_top_block): self.fft_state = fft if fft == 0: self.demod.disconnect_complex() + self.disconnect(self.spectrum_decim, self.spectrum) else: - self.demod.connect_complex('mixer', self.spectrum) + self.connect(self.spectrum_decim, self.spectrum) + self.demod.connect_complex('mixer', self.spectrum_decim) if c4fm != self.c4fm_state: self.c4fm_state = c4fm @@ -526,7 +529,9 @@ class p25_rx_block (stdgui2.std_top_block): self.vbox.Add(self.notebook, 1, wx.EXPAND) # add spectrum scope #self.spectrum = fftsink2.fft_sink_c(self.notebook, sample_rate = self.channel_rate, fft_size=512, fft_rate=2, average=False, peak_hold=False) - self.spectrum = fftsink2.fft_sink_c(self.notebook, sample_rate = self.channel_rate, fft_size=1024, fft_rate=10, avg_alpha=0.35, ref_level=0, average=True, peak_hold=False) + spectrum_rate = self.channel_rate / self.options.decim_amt + self.spectrum_decim = filter.rational_resampler_ccf(1, self.options.decim_amt) + self.spectrum = fftsink2.fft_sink_c(self.notebook, sample_rate = spectrum_rate, fft_size=1024, fft_rate=10, avg_alpha=0.35, ref_level=0, average=True, peak_hold=False) try: self.spectrum_plotter = self.spectrum.win.plotter except: |