def filter_4(input): import numpy as np output = np.zeros(input.shape, dtype=np.float64) infilter = DoubleInPointerFilter(input, False) infilter.input_sampling_rate = 48000 overfilter = DoubleOversampling6points5order_4Filter() overfilter.input_sampling_rate = 48000 overfilter.output_sampling_rate = 48000 * 4 overfilter.set_input_port(0, infilter, 0) overdrivefilter = DoubleEnhancedKorenTriodeFilter.build_standard_filter() overdrivefilter.input_sampling_rate = 48000 * 4 overdrivefilter.set_input_port(0, overfilter, 0) lowpassfilter = DoubleButterworthLowPassFilter() lowpassfilter.input_sampling_rate = 48000 * 4 lowpassfilter.cut_frequency = 48000 lowpassfilter.order = 5 lowpassfilter.set_input_port(0, overdrivefilter, 0) decimationfilter = DoubleDecimationFilter(1) decimationfilter.input_sampling_rate = 48000 * 4 decimationfilter.output_sampling_rate = 48000 decimationfilter.set_input_port(0, lowpassfilter, 0) outfilter = DoubleOutPointerFilter(output, False) outfilter.input_sampling_rate = 48000 outfilter.set_input_port(0, decimationfilter, 0) outfilter.process(input.shape[1]) return output
def filter_4(input): import numpy as np output = np.zeros(input.shape, dtype=np.float64) inputfilter = DoubleInPointerFilter(input, False) inputfilter.input_sampling_rate = sample_rate overfilter = DoubleOversampling6points5order_4Filter() overfilter.input_sampling_rate = sample_rate overfilter.output_sampling_rate = sample_rate * 4 overfilter.set_input_port(0, inputfilter, 0) overdrivefilter = DoubleSD1OverdriveFilter() overdrivefilter.input_sampling_rate = sample_rate * 4 overdrivefilter.set_input_port(0, overfilter, 0) overdrivefilter.drive = 0.9 lowpassfilter = DoubleButterworthLowPassFilter() lowpassfilter.input_sampling_rate = sample_rate * 4 lowpassfilter.cut_frequency = sample_rate lowpassfilter.order = 5 lowpassfilter.set_input_port(0, overdrivefilter, 0) decimationfilter = DoubleDecimationFilter(1) decimationfilter.input_sampling_rate = sample_rate * 4 decimationfilter.output_sampling_rate = sample_rate decimationfilter.set_input_port(0, lowpassfilter, 0) outfilter = DoubleOutPointerFilter(output, False) outfilter.input_sampling_rate = sample_rate outfilter.set_input_port(0, decimationfilter, 0) outfilter.process(input.shape[1]) return output
def filter_32(input): import numpy as np output = np.zeros(input.shape, dtype=np.float64) infilter = DoubleInPointerFilter(input, False) infilter.input_sampling_rate = 48000 overfilter = DoubleOversampling6points5order_32Filter() overfilter.input_sampling_rate = 48000 overfilter.output_sampling_rate = 48000 * 32 overfilter.set_input_port(0, infilter, 0) overdrivefilter = DoubleDiodeClipperFilter() overdrivefilter.input_sampling_rate = 48000 * 32 overdrivefilter.set_input_port(0, overfilter, 0) lowpassfilter = DoubleButterworthLowPassFilter() lowpassfilter.input_sampling_rate = 48000 * 32 lowpassfilter.cut_frequency = 48000 lowpassfilter.order = 5 lowpassfilter.set_input_port(0, overdrivefilter, 0) decimationfilter = DoubleDecimationFilter(1) decimationfilter.input_sampling_rate = 48000 * 32 decimationfilter.output_sampling_rate = 48000 decimationfilter.set_input_port(0, lowpassfilter, 0) outfilter = DoubleOutPointerFilter(output, False) outfilter.input_sampling_rate = 48000 outfilter.set_input_port(0, decimationfilter, 0) outfilter.process(input.shape[1]) return output
def Decimation_test(): import numpy as np from ATK.Core import DoubleInPointerFilter, DoubleOutPointerFilter from ATK.Tools import DoubleDecimationFilter from numpy.testing import assert_almost_equal input = np.sin(np.arange(2000, dtype=np.float64)[None,:] * 1000 * 2 * np.pi / 96000) output = np.ascontiguousarray(np.zeros(1000, dtype=np.float64)[None,:]) inputfilter = DoubleInPointerFilter(input, False) decimationfilter = DoubleDecimationFilter(1) outputfilter = DoubleOutPointerFilter(output, False) inputfilter.output_sampling_rate = 96000 decimationfilter.input_sampling_rate = 96000 decimationfilter.output_sampling_rate = 48000 outputfilter.input_sampling_rate = 48000 decimationfilter.set_input_port(0, inputfilter, 0) outputfilter.set_input_port(0, decimationfilter, 0) outputfilter.process(1000) assert_almost_equal(input[:,::2], output)
def filter_4(input): import numpy as np output = np.zeros(input.shape, dtype=np.float64) infilter = DoubleInPointerFilter(input, False) infilter.set_input_sampling_rate(48000) overfilter = DoubleOversampling6points5order_4Filter() overfilter.set_input_sampling_rate(48000) overfilter.set_output_sampling_rate(48000 * 4) overfilter.set_input_port(0, infilter, 0) overdrivefilter = DoubleSimpleOverdriveFilter() overdrivefilter.set_input_sampling_rate(48000 * 4) overdrivefilter.set_input_port(0, overfilter, 0) lowpassfilter = DoubleButterworthLowPassFilter() lowpassfilter.set_input_sampling_rate(48000 * 4) lowpassfilter.set_cut_frequency(48000) lowpassfilter.set_order(5) lowpassfilter.set_input_port(0, overdrivefilter, 0) decimationfilter = DoubleDecimationFilter(1) decimationfilter.set_input_sampling_rate(48000 * 4) decimationfilter.set_output_sampling_rate(48000) decimationfilter.set_input_port(0, lowpassfilter, 0) outfilter = DoubleOutPointerFilter(output, False) outfilter.set_input_sampling_rate(48000) outfilter.set_input_port(0, decimationfilter, 0) outfilter.process(input.shape[1]) return output
def filter_8(input): import numpy as np output = np.zeros(input.shape, dtype=np.float64) infilter = DoubleInPointerFilter(input, False) infilter.set_input_sampling_rate(sample_rate) overfilter = DoubleOversampling6points5order_8Filter() overfilter.set_input_sampling_rate(sample_rate) overfilter.set_output_sampling_rate(sample_rate * 8) overfilter.set_input_port(0, infilter, 0) overdrivefilter = DoubleTransistorClassAFilter.build_standard_filter() overdrivefilter.set_input_sampling_rate(sample_rate * 8) overdrivefilter.set_input_port(0, overfilter, 0) lowpassfilter = DoubleButterworthLowPassFilter() lowpassfilter.set_input_sampling_rate(sample_rate * 8) lowpassfilter.set_cut_frequency(20000) lowpassfilter.set_order(10) lowpassfilter.set_input_port(0, overdrivefilter, 0) decimationfilter = DoubleDecimationFilter(1) decimationfilter.set_input_sampling_rate(sample_rate * 8) decimationfilter.set_output_sampling_rate(sample_rate) decimationfilter.set_input_port(0, lowpassfilter, 0) outfilter = DoubleOutPointerFilter(output, False) outfilter.set_input_sampling_rate(sample_rate) outfilter.set_input_port(0, decimationfilter, 0) outfilter.process(input.shape[1]) return output
def filter_ts9(input): import numpy as np output = np.zeros(input.shape, dtype=np.float64) inputfilter = DoubleInPointerFilter(input, False) inputfilter.set_input_sampling_rate(sample_rate) infilter = DoubleChamberlinFilter() infilter.set_input_sampling_rate(sample_rate) infilter.set_input_port(0, inputfilter, 0) infilter.select(0) infilter.set_attenuation(1) infilter.set_cut_frequency(1000) overfilter = DoubleOversampling6points5order_4Filter() overfilter.set_input_sampling_rate(sample_rate) overfilter.set_output_sampling_rate(sample_rate * 4) overfilter.set_input_port(0, infilter, 0) overdrivefilter = DoubleTS9OverdriveFilter() overdrivefilter.set_input_sampling_rate(sample_rate * 4) overdrivefilter.set_input_port(0, overfilter, 0) overdrivefilter.set_drive(0.9) lowpassfilter = DoubleButterworthLowPassFilter() lowpassfilter.set_input_sampling_rate(sample_rate * 4) lowpassfilter.set_cut_frequency(sample_rate) lowpassfilter.set_order(5) lowpassfilter.set_input_port(0, overdrivefilter, 0) decimationfilter = DoubleDecimationFilter(1) decimationfilter.set_input_sampling_rate(sample_rate * 4) decimationfilter.set_output_sampling_rate(sample_rate) decimationfilter.set_input_port(0, lowpassfilter, 0) outfilter = DoubleOutPointerFilter(output, False) outfilter.set_input_sampling_rate(sample_rate) outfilter.set_input_port(0, decimationfilter, 0) outfilter.process(input.shape[1]) return output
def Decimation_test(): import numpy as np from ATK.Core import DoubleInPointerFilter, DoubleOutPointerFilter from ATK.Tools import DoubleDecimationFilter from numpy.testing import assert_almost_equal input = np.sin( np.arange(2000, dtype=np.float64)[None, :] * 1000 * 2 * np.pi / 96000) output = np.ascontiguousarray(np.zeros(1000, dtype=np.float64)[None, :]) inputfilter = DoubleInPointerFilter(input, False) decimationfilter = DoubleDecimationFilter(1) outputfilter = DoubleOutPointerFilter(output, False) inputfilter.set_output_sampling_rate(96000) decimationfilter.set_input_sampling_rate(96000) decimationfilter.set_output_sampling_rate(48000) outputfilter.set_input_sampling_rate(48000) decimationfilter.set_input_port(0, inputfilter, 0) outputfilter.set_input_port(0, decimationfilter, 0) outputfilter.process(1000) assert_almost_equal(input[:, ::2], output)
def filter_32(input): import numpy as np output = np.zeros(input.shape, dtype=np.float64) inputfilter = DoubleInPointerFilter(input, False) inputfilter.set_input_sampling_rate(sample_rate) infilter = DoubleChamberlinFilter() infilter.set_input_sampling_rate(sample_rate) infilter.set_input_port(0, inputfilter, 0) infilter.select(0) infilter.set_attenuation(1) infilter.set_cut_frequency(1000) overfilter = DoubleOversampling6points5order_32Filter() overfilter.set_input_sampling_rate(sample_rate) overfilter.set_output_sampling_rate(sample_rate * 32) overfilter.set_input_port(0, infilter, 0) overdrivefilter = DoubleSD1OverdriveFilter() overdrivefilter.set_input_sampling_rate(sample_rate * 32) overdrivefilter.set_input_port(0, overfilter, 0) overdrivefilter.set_drive(0.9) lowpassfilter = DoubleButterworthLowPassFilter() lowpassfilter.set_input_sampling_rate(sample_rate * 32) lowpassfilter.set_cut_frequency(20000) lowpassfilter.set_order(5) lowpassfilter.set_input_port(0, overdrivefilter, 0) lowpassfilter2 = DoubleButterworthLowPassFilter() lowpassfilter2.set_input_sampling_rate(sample_rate * 32) lowpassfilter2.set_cut_frequency(20000) lowpassfilter2.set_order(5) lowpassfilter2.set_input_port(0, lowpassfilter, 0) lowpassfilter3 = DoubleButterworthLowPassFilter() lowpassfilter3.set_input_sampling_rate(sample_rate * 32) lowpassfilter3.set_cut_frequency(20000) lowpassfilter3.set_order(5) lowpassfilter3.set_input_port(0, lowpassfilter2, 0) decimationfilter = DoubleDecimationFilter(1) decimationfilter.set_input_sampling_rate(sample_rate * 32) decimationfilter.set_output_sampling_rate(sample_rate) decimationfilter.set_input_port(0, lowpassfilter3, 0) #tonefilter = DoubleSD1ToneFilter() #tonefilter.set_input_sampling_rate(sample_rate) #tonefilter.set_input_port(0, decimationfilter, 0) #tonefilter.set_tone(1) #highpassfilter = DoubleChamberlinFilter() #highpassfilter.set_input_sampling_rate(sample_rate) #highpassfilter.set_input_port(0, tonefilter, 0) #highpassfilter.select(2) #highpassfilter.set_attenuation(1) #highpassfilter.set_cut_frequency(20) outfilter = DoubleOutPointerFilter(output, False) outfilter.set_input_sampling_rate(sample_rate) #outfilter.set_input_port(0, highpassfilter, 0) outfilter.set_input_port(0, decimationfilter, 0) outfilter.process(input.shape[1]) return output
def filter_32(input): import numpy as np output = np.zeros(input.shape, dtype=np.float64) infilter = DoubleInPointerFilter(input, False) infilter.set_input_sampling_rate(48000) overfilter = DoubleOversampling6points5order_32Filter() overfilter.set_input_sampling_rate(48000) overfilter.set_output_sampling_rate(48000 * 32) overfilter.set_input_port(0, infilter, 0) overdrivefilter = DoubleFollowerTransistorClassAFilter.build_standard_filter() overdrivefilter.set_input_sampling_rate(48000 * 32) overdrivefilter.set_input_port(0, overfilter, 0) lowpassfilter = DoubleButterworthLowPassFilter() lowpassfilter.set_input_sampling_rate(48000 * 32) lowpassfilter.set_cut_frequency(48000) lowpassfilter.set_order(5) lowpassfilter.set_input_port(0, overdrivefilter, 0) decimationfilter = DoubleDecimationFilter(1) decimationfilter.set_input_sampling_rate(48000 * 32) decimationfilter.set_output_sampling_rate(48000) decimationfilter.set_input_port(0, lowpassfilter, 0) outfilter = DoubleOutPointerFilter(output, False) outfilter.set_input_sampling_rate(48000) outfilter.set_input_port(0, decimationfilter, 0) outfilter.process(input.shape[1]) return output
def filter_4(input): import numpy as np output = np.zeros(input.shape, dtype=np.float64) infilter = DoubleInPointerFilter(input, False) infilter.input_sampling_rate = 48000 overfilter = DoubleOversampling6points5order_4Filter() overfilter.input_sampling_rate = 48000 overfilter.output_sampling_rate = 48000 * 4 overfilter.set_input_port(0, infilter, 0) overdrivefilter = DoubleLeachTriodeFilter.build_standard_filter() overdrivefilter.input_sampling_rate = 48000 * 4 overdrivefilter.set_input_port(0, overfilter, 0) lowpassfilter = DoubleButterworthLowPassFilter() lowpassfilter.input_sampling_rate = 48000 * 4 lowpassfilter.cut_frequency = 48000 lowpassfilter.order = 5 lowpassfilter.set_input_port(0, overdrivefilter, 0) decimationfilter = DoubleDecimationFilter(1) decimationfilter.input_sampling_rate = 48000 * 4 decimationfilter.output_sampling_rate = 48000 decimationfilter.set_input_port(0, lowpassfilter, 0) outfilter = DoubleOutPointerFilter(output, False) outfilter.input_sampling_rate = 48000 outfilter.set_input_port(0, decimationfilter, 0) outfilter.process(input.shape[1]) return output
def filter_4(input): import numpy as np output = np.zeros(input.shape, dtype=np.float64) inputfilter = DoubleInPointerFilter(input, False) inputfilter.input_sampling_rate = sample_rate overfilter = DoubleOversampling6points5order_4Filter() overfilter.input_sampling_rate = sample_rate overfilter.output_sampling_rate = sample_rate * 4 overfilter.set_input_port(0, inputfilter, 0) overdrivefilter = DoubleTS9OverdriveFilter() overdrivefilter.input_sampling_rate = sample_rate * 4 overdrivefilter.set_input_port(0, overfilter, 0) overdrivefilter.drive = 0.9 lowpassfilter = DoubleButterworthLowPassFilter() lowpassfilter.input_sampling_rate = sample_rate * 4 lowpassfilter.cut_frequency = sample_rate lowpassfilter.order = 5 lowpassfilter.set_input_port(0, overdrivefilter, 0) decimationfilter = DoubleDecimationFilter(1) decimationfilter.input_sampling_rate = sample_rate * 4 decimationfilter.output_sampling_rate = sample_rate decimationfilter.set_input_port(0, lowpassfilter, 0) outfilter = DoubleOutPointerFilter(output, False) outfilter.input_sampling_rate = sample_rate outfilter.set_input_port(0, decimationfilter, 0) outfilter.process(input.shape[1]) return output
def filter_32(input): import numpy as np output = np.zeros(input.shape, dtype=np.float64) infilter = DoubleInPointerFilter(input, False) infilter.set_input_sampling_rate(sample_rate) overfilter = DoubleOversampling6points5order_32Filter() overfilter.set_input_sampling_rate(sample_rate) overfilter.set_output_sampling_rate(sample_rate * 32) overfilter.set_input_port(0, infilter, 0) overdrivefilter = DoubleSD1OverdriveFilter() overdrivefilter.set_input_sampling_rate(sample_rate * 32) overdrivefilter.set_input_port(0, overfilter, 0) overdrivefilter.set_drive(0.9) lowpassfilter = DoubleButterworthLowPassFilter() lowpassfilter.set_input_sampling_rate(sample_rate * 32) lowpassfilter.set_cut_frequency(20000) lowpassfilter.set_order(5) lowpassfilter.set_input_port(0, overdrivefilter, 0) lowpassfilter2 = DoubleButterworthLowPassFilter() lowpassfilter2.set_input_sampling_rate(sample_rate * 32) lowpassfilter2.set_cut_frequency(20000) lowpassfilter2.set_order(5) lowpassfilter2.set_input_port(0, lowpassfilter, 0) lowpassfilter3 = DoubleButterworthLowPassFilter() lowpassfilter3.set_input_sampling_rate(sample_rate * 32) lowpassfilter3.set_cut_frequency(20000) lowpassfilter3.set_order(5) lowpassfilter3.set_input_port(0, lowpassfilter2, 0) decimationfilter = DoubleDecimationFilter(1) decimationfilter.set_input_sampling_rate(sample_rate * 32) decimationfilter.set_output_sampling_rate(sample_rate) decimationfilter.set_input_port(0, lowpassfilter3, 0) tonefilter = DoubleSD1ToneFilter() tonefilter.set_input_sampling_rate(sample_rate) tonefilter.set_input_port(0, decimationfilter, 0) tonefilter.set_tone(1) highpassfilter = DoubleChamberlinFilter() highpassfilter.set_input_sampling_rate(sample_rate) highpassfilter.set_input_port(0, tonefilter, 0) highpassfilter.select(2) highpassfilter.set_attenuation(1) highpassfilter.set_cut_frequency(20) outfilter = DoubleOutPointerFilter(output, False) outfilter.set_input_sampling_rate(sample_rate) outfilter.set_input_port(0, highpassfilter, 0) outfilter.process(input.shape[1]) return output