view multi_freq_ddm_int.m @ 2:e2b116f3b69b

fixed reallocate and pinv_2_fast to work on Octave added short example very quickly, might not be working properly
author smusevic
date Thu, 25 Jul 2013 13:07:07 +0100
parents a4a7e3405062
children
line wrap: on
line source
function mfdi = multi_freq_ddm_int(frqs, mf_ders, sig, N, tol)
%multi-frequency distribution derivative based estimator for
% non-stationary sinusoidal analysis. Frequencies may not be at the bins of
% FFT...
%
% Uses the Fourier kernel at specified frequencies. No assumptions about 
%
% [1] Michael Betser: Sinusoidal Polynomial Estimation Using The Distribution
% Derivative, in IEEE Transactions on Signal Processing, Vol.57, Nr. 12,
% December 2009
%
% 
%


R = size(frqs,2);
t = [-(N-1)/2:(N-1)/2]'/fs;

t_mat = repmat(t,[1,R]);
frq_mat = repmat(frqs,[N,1]);
krnls = exp(1j .* t_mat .* frq_mat);
krlns_ders = 1j * krnls .* frq_mat;

mfdi = gen_ddm_int(krnls, krlns_ders, mf_ders, sig, N, tol);

end