diff options
author | andreas128 <Andreas> | 2017-09-29 18:50:41 +0200 |
---|---|---|
committer | andreas128 <Andreas> | 2017-09-29 18:50:41 +0200 |
commit | 5e3ca125bfc56d31b9c9ef819eab9171b73b7333 (patch) | |
tree | 297d400f754742faf6bfc4fc7eff9858163c845c /dpd/src/subsample_align.py | |
parent | 64e0193824262e93e7cd67bb8c3af68d278f990c (diff) | |
download | dabmod-5e3ca125bfc56d31b9c9ef819eab9171b73b7333.tar.gz dabmod-5e3ca125bfc56d31b9c9ef819eab9171b73b7333.tar.bz2 dabmod-5e3ca125bfc56d31b9c9ef819eab9171b73b7333.zip |
Cleanup
Diffstat (limited to 'dpd/src/subsample_align.py')
-rwxr-xr-x | dpd/src/subsample_align.py | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/dpd/src/subsample_align.py b/dpd/src/subsample_align.py index b0cbe88..0c98e50 100755 --- a/dpd/src/subsample_align.py +++ b/dpd/src/subsample_align.py @@ -1,23 +1,25 @@ # -*- coding: utf-8 -*- # -# DPD Calculation Engine, utility to do subsample alignment +# DPD Calculation Engine, utility to do subsample alignment. # # http://www.opendigitalradio.org # Licence: The MIT License, see notice at the end of this file import datetime -import os import logging +import os + logging_path = os.path.dirname(logging.getLoggerClass().root.handlers[0].baseFilename) import numpy as np -from scipy import signal, optimize +from scipy import optimize import matplotlib.pyplot as plt + def gen_omega(length): if (length % 2) == 1: raise ValueError("Needs an even length array.") - halflength = int(length/2) + halflength = int(length / 2) factor = 2.0 * np.pi / length omega = np.zeros(length, dtype=np.float) @@ -29,6 +31,7 @@ def gen_omega(length): return omega + def subsample_align(sig, ref_sig, plot=False): """Do subsample alignment for sig relative to the reference signal ref_sig. The delay between the two must be less than sample @@ -38,7 +41,7 @@ def subsample_align(sig, ref_sig, plot=False): n = len(sig) if (n % 2) == 1: raise ValueError("Needs an even length signal.") - halflen = int(n/2) + halflen = int(n / 2) fft_sig = np.fft.fft(sig) @@ -63,7 +66,8 @@ def subsample_align(sig, ref_sig, plot=False): return -np.abs(np.sum(np.conj(corr_sig) * ref_sig)) - optim_result = optimize.minimize_scalar(correlate_for_delay, bounds=(-1,1), method='bounded', options={'disp': True}) + optim_result = optimize.minimize_scalar(correlate_for_delay, bounds=(-1, 1), method='bounded', + options={'disp': True}) if optim_result.success: best_tau = optim_result.x @@ -85,10 +89,9 @@ def subsample_align(sig, ref_sig, plot=False): rotate_vec[halflen] = np.cos(np.pi * best_tau) return np.fft.ifft(rotate_vec * fft_sig).astype(np.complex64) else: - #print("Could not optimize: " + optim_result.message) + # print("Could not optimize: " + optim_result.message) return np.zeros(0, dtype=np.complex64) - # The MIT License (MIT) # # Copyright (c) 2017 Andreas Steger |