Реализовать метод Писаренко в Matlab
Давайте предположим, что у меня есть следующий код
function [a,sigma] = phd(x,p)
%PHD Frequency estimation using the Pisarenko harmonic decomposition.
%---
%USAGE [a,sigma] = phd(x,p)
%
% The input sequence x is assumed to consist of p complex
% exponentials in white noise. The frequencies of the
% complex exponentials and the variance of the white noise
% are estimated using the Pisarenko harmonic decomposition.
%
% The frequency estimates are found from the peaks of the
% pseudospectrum
% 1
% -----------------------------------
% 1 + a(1)exp(jw) + ... + a(p)exp(jpw)
%
% or from the roots of the polynomial formed from the
% vector a. The estimate of the white noise variance is
% returned in sigma.
%
% see also MUSIC, EV, and MIN_NORM
%
%---------------------------------------------------------------
% copyright 1996, by M.H. Hayes. For use with the book
% "Statistical Digital Signal Processing and Modeling"
% (John Wiley & Sons, 1996).
%---------------------------------------------------------------
x = x(:);
R = covar(x,p+1);
[v,d]=eig(R);
sigma=min(diag(d));
index=find(diag(d)==sigma);
a = v(:,index);
%[pxx,f]=periodogram(a,[],[],100);
%plot(f,pxx);
end
Что мне нужно от данного собственного вектора, который соответствует минимальной дисперсии матрицы автокорреляции, оценить псевдоспектр, как это происходит в случае музыки, с нормализованными частотами, как я могу сделать? как это дано здесь
http://www.mathworks.com/help/signal/ref/pmusic.html