From d81d2a564752c8cf085d2cdff12c0d0fdbaba102 Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Fri, 1 May 2015 17:19:35 +0200 Subject: Add first code experiments --- autocorrelate.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 autocorrelate.py (limited to 'autocorrelate.py') diff --git a/autocorrelate.py b/autocorrelate.py new file mode 100755 index 0000000..9a66917 --- /dev/null +++ b/autocorrelate.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python +# +# Do a single autocorrelation over the whole test.16.14.25.iq file +# +# Licence: see LICENCE file + +import numpy as np +import matplotlib.pyplot as pp + +file_in = "test.16.14.25.iq" + +channel_out = np.fromfile(file_in, np.complex64) + +print("Autocorrelating") + +correlationlength = 50 + +def autocorrelate(x, length): + return np.array([1] + [np.abs(np.corrcoef(x[:-i], x[i:])[0,1]) for i in range(1, length)]) + +autocorr = autocorrelate(channel_out, correlationlength) + +print("Done") + +numpeaks = 6 +print("The first {} highest peaks are at".format(numpeaks)) +print(" index: amplitude") +for ind in autocorr.argsort()[-numpeaks:][::-1]: + print(" {:4}: {}".format(ind, autocorr[ind])) + +fig = pp.figure() +ax = fig.add_subplot(111) +hi = ax.semilogy(autocorr) + + +pp.show() + + -- cgit v1.2.3