def test_004_sets(self): agc = analog.agc2_ff(1e-3, 1e-1, 1, 1) agc.set_attack_rate(1) agc.set_decay_rate(2) agc.set_reference(1.1) agc.set_gain(1.1) agc.set_max_gain(100) self.assertAlmostEqual(agc.attack_rate(), 1) self.assertAlmostEqual(agc.decay_rate(), 2) self.assertAlmostEqual(agc.reference(), 1.1) self.assertAlmostEqual(agc.gain(), 1.1) self.assertAlmostEqual(agc.max_gain(), 100)
def test_004_sets(self): agc = analog.agc2_ff(1e-3, 1e-1, 1, 1, 1000) agc.set_attack_rate(1) agc.set_decay_rate(2) agc.set_reference(1.1) agc.set_gain(1.1) agc.set_max_gain(100) self.assertAlmostEqual(agc.attack_rate(), 1) self.assertAlmostEqual(agc.decay_rate(), 2) self.assertAlmostEqual(agc.reference(), 1.1) self.assertAlmostEqual(agc.gain(), 1.1) self.assertAlmostEqual(agc.max_gain(), 100)
def test_004(self): ''' Test the floating point AGC loop (attack and decay rate inputs) ''' tb = self.tb expected_result = \ (7.2191943445432116e-07, 58.837181091308594, 40.194305419921875, 2.9183335304260254, 0.67606079578399658, 8.6260438791896377e-09, -1.4542514085769653, -1.9210131168365479, -1.0450780391693115, -0.61939650774002075, -1.2590258613442984e-08, 1.4308931827545166, 1.9054338932037354, 1.0443156957626343, 0.61937344074249268, 2.0983527804219193e-08, -1.4308838844299316, -1.9054274559020996, -1.0443152189254761, -0.61937344074249268, -2.5180233009791664e-08, 1.4308837652206421, 1.9054274559020996, 1.0443154573440552, 0.61937344074249268, 3.3573645197293445e-08, -1.4308838844299316, -1.9054274559020996, -1.0443152189254761, -0.61937350034713745, -3.7770352179222755e-08, 1.4308837652206421, 1.9054274559020996, 1.0443154573440552, 0.61937350034713745, 4.6163762590367696e-08, -1.4308838844299316, -1.9054274559020996, -1.0443153381347656, -0.61937344074249268, -5.0360466019583328e-08, 1.4308837652206421, 1.9054274559020996, 1.0443155765533447, 0.61937344074249268, 5.8753879983441948e-08, -1.4308837652206421, -1.9054274559020996, -1.0443153381347656, -0.61937344074249268) sampling_freq = 100 src1 = analog.sig_source_f(sampling_freq, analog.GR_SIN_WAVE, sampling_freq * 0.10, 100) dst1 = blocks.vector_sink_f() head = blocks.head(gr.sizeof_float, int(5*sampling_freq * 0.10)) agc = analog.agc2_ff(1e-2, 1e-3, 1, 1) tb.connect(src1, head) tb.connect(head, agc) tb.connect(agc, dst1) tb.run() dst_data = dst1.data() self.assertFloatTuplesAlmostEqual(expected_result, dst_data, 4)
def test_004(self): ''' Test the floating point AGC loop (attack and decay rate inputs) ''' tb = self.tb expected_result = \ (7.2191943445432116e-07, 58.837181091308594, 40.194305419921875, 2.9183335304260254, 0.67606079578399658, 8.6260438791896377e-09, -1.4542514085769653, -1.9210131168365479, -1.0450780391693115, -0.61939650774002075, -1.2590258613442984e-08, 1.4308931827545166, 1.9054338932037354, 1.0443156957626343, 0.61937344074249268, 2.0983527804219193e-08, -1.4308838844299316, -1.9054274559020996, -1.0443152189254761, -0.61937344074249268, -2.5180233009791664e-08, 1.4308837652206421, 1.9054274559020996, 1.0443154573440552, 0.61937344074249268, 3.3573645197293445e-08, -1.4308838844299316, -1.9054274559020996, -1.0443152189254761, -0.61937350034713745, -3.7770352179222755e-08, 1.4308837652206421, 1.9054274559020996, 1.0443154573440552, 0.61937350034713745, 4.6163762590367696e-08, -1.4308838844299316, -1.9054274559020996, -1.0443153381347656, -0.61937344074249268, -5.0360466019583328e-08, 1.4308837652206421, 1.9054274559020996, 1.0443155765533447, 0.61937344074249268, 5.8753879983441948e-08, -1.4308837652206421, -1.9054274559020996, -1.0443153381347656, -0.61937344074249268) sampling_freq = 100 src1 = gr.sig_source_f(sampling_freq, gr.GR_SIN_WAVE, sampling_freq * 0.10, 100) dst1 = gr.vector_sink_f() head = gr.head(gr.sizeof_float, int(5 * sampling_freq * 0.10)) agc = analog.agc2_ff(1e-2, 1e-3, 1, 1, 1000) tb.connect(src1, head) tb.connect(head, agc) tb.connect(agc, dst1) if test_output == True: tb.connect(agc, gr.file_sink(gr.sizeof_float, "test_agc2_ff.dat")) tb.run() dst_data = dst1.data() self.assertFloatTuplesAlmostEqual(expected_result, dst_data, 4)