def test_center_freq_interpolating(self): f = MultistageChannelFilter(input_rate=1000, output_rate=10000, cutoff_freq=400, transition_width=200, center_freq=1) self.assertEqual(f.get_center_freq(), 1) f.set_center_freq(2) self.assertEqual(f.get_center_freq(), 2)
def test_setters(self): # TODO: Test filter functionality; this only tests that the operations work filt = MultistageChannelFilter(input_rate=32000000, output_rate=16000, cutoff_freq=3000, transition_width=1200) filt.set_cutoff_freq(2900) filt.set_transition_width(1000) filt.set_center_freq(10000) self.assertEqual(2900, filt.get_cutoff_freq()) self.assertEqual(1000, filt.get_transition_width()) self.assertEqual(10000, filt.get_center_freq()) self.assertEqual(filt.explain(), textwrap.dedent("""\ 7 stages from 32000000 to 16000 freq xlate and decimate by 5 using 25 taps (160000000) in freq_xlating_fir_filter_ccc_sptr decimate by 5 using 25 taps (32000000) in fft_filter_ccc_sptr decimate by 5 using 25 taps (6400000) in fft_filter_ccc_sptr decimate by 2 using 11 taps (1408000) in fft_filter_ccc_sptr decimate by 2 using 11 taps (704000) in fft_filter_ccc_sptr decimate by 2 using 11 taps (352000) in fft_filter_ccc_sptr final filter and decimate by 2 using 77 taps (1232000) in fft_filter_ccc_sptr No final resampler stage."""))