- moved
git-svn-id: http://moon:8086/svn/matlab/trunk@29 801c6759-fa7c-4059-a304-17956f83a07c
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
function [omega_coarse, Xm] = fdet_coarse(x, N, Ng, omega_min, omega_step, omega_max)
|
||||
|
||||
Xm = zeros(N,1);
|
||||
|
||||
if 0
|
||||
|
||||
K = fix((length(x))/(N+Ng));
|
||||
|
||||
for k=1:K,
|
||||
xp = x((k-1)*(N+Ng)+1:k*(N+Ng));
|
||||
Xm = 0.5*Xm + fft(xp(Ng+1:N+Ng), N);
|
||||
end
|
||||
|
||||
Nmax = ceil(omega_max*N)+1
|
||||
[v, ii] = max(abs(Xm(1:Nmax)))
|
||||
|
||||
omega_coarse = (ii-1)/N;
|
||||
|
||||
else
|
||||
|
||||
omega_range = (omega_min:omega_step:omega_max);
|
||||
|
||||
for k=1:lge(omega_range)
|
||||
x_est = exp(-j*(2*pi*omega_range(k)*(0:N-1)' + 0));
|
||||
dmod(k) = sum(x(1:N).*x_est);
|
||||
end;
|
||||
[v maxk] = max(abs(dmod));
|
||||
omega_coarse = omega_range(maxk);
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user