Code covered by the BSD License
-
[e f_e G P]=zzb(s,n1,n2, f_s,...
calculates the modified Ziv-Zakai lower bound for time delay estimation.
-
[x_max y_max A]=crit_interp_p...
-
delay=delayest_3point(u2,u1,m...
delay=delayest_3point(u2,u1,method,estimator,parameter);
-
delay=delayest_fft(y,u);
delay=delayest_fft(y,u);
-
delayest_iterative(u2,u1,N_i_...
-
x=rand_white(N);
-
y=fft_circshift(u,d)
y=fft_circshift(u,d)
-
y=fourier_series(Y,t);
-
compare_delay_methods_6_03.m
-
simple_example.m
-
View all files
from
Subsample Delay Estimation
by Travis Wiens
Demonstrates a number of methods of estimating the delay between two signals to subsample accuracy.
|
| y=fft_circshift(u,d) |
function y=fft_circshift(u,d)
%y=fft_circshift(u,d)
%This performs a circular shift of d samples on u, using a linear phase
%shift in the Fourier domain. The shift, d, need not be an integer. Some
%information is lost if there are an even number of samples and there is
%frequency content at the Nyquist frequency, since this frequency cannot
%be shifted and is disregarded.
%There is probably room for speedwise improvement in this code.
% Copyright Travis Wiens 2009 travis.mlfx@nutaksas.com
U=fft(u);
N_p=numel(u);
if (mod(N_p, 2) == 0)
U(length(U)/2+1)=0;%disregard Nyquist frequency for even-sized dft
end
f=(mod(((0:N_p-1)+floor(N_p/2)), N_p)-floor(N_p/2))/N_p;
c_shift=exp(-2i*pi*d .*f);
Y=U.*c_shift;
y=ifft(Y);
|
|
Contact us at files@mathworks.com