pisarenko方法在matlab中的实现
让我们假设我有以下代码pisarenko方法在matlab中的实现,matlab,signal-processing,spectrum,Matlab,Signal Processing,Spectrum,让我们假设我有以下代码 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
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
事实上,我很惊讶没有为pisarenko提供内置函数,我如何自己实现它?提前感谢。事实上,我很惊讶没有为pisarenko提供内置函数,我如何自己实现它?提前感谢。事实上,我很惊讶没有为pisarenko提供内置函数,我如何自己实现它?提前谢谢