def run_generator(signal_queue, websocket_src_queue, source, sampler, sample_freq, block_size, upscale_factor): settings = ss.get_settings_object() while True: source.parse_options(settings.read()) orig_signal = source.generate(block_size) sampled = sampler.sample(orig_signal) signal_queue.queue(sampled) offset = int(block_size / upscale_factor) data = sc.fft(sc.auto_correlation(orig_signal, maxlag=offset)) ss.send_to_websocket(websocket_src_queue, data, ss.websocket.ServerProtocolData.SRC_DATA)
def test_auto_correlation(self): inp = np.linspace(1, 5, 5) out = sc.auto_correlation(inp, maxlag=1) ref = np.array([10, 11, 10], dtype=np.float64) np.testing.assert_array_almost_equal(out, ref)