0
$\begingroup$

i would like to present steps for estimation Power Spectrum density using Pisarneko Harmonic Decomposition enter image description here

i would like to present code for step 1 part

function [vmin,sigma]=phd(x,p)

% the Pisarenko Harmonic decomposition
x=x(:);
R=Covar(x,p+1);
[v,d]=eig(R);
sigma=min(diag(d));
index=find(diag(d)==sigma);
vmin=v(:,index);
end

now let us consider following time series

fs=100;
ts=1/fs;
t=0:ts:2.93;
x=10*sin(2*pi*10*t)+15*cos(2*pi*10.5*t)+14*sin(2*pi*10.19*t)+3*randn(size(t));

PSD using music method can be estimated as follow

pmusic(x,6);

enter image description here

how can i got the same result using pisrenko harmonic decomposition? thanks in advance

$\endgroup$
1
$\begingroup$

Since you have $v_{min}$, the eigenvector corresponding to the minimum eigenvalue, compute the function $\hat{P}_{PHD}(e^{j\omega})$.

The vector $e$ is given by $e = [1 \quad e^{j\omega} \quad e^{2j\omega} \ldots e^{pj\omega}]$

Make a plot of $\hat{P}_{PHD}(e^{j\omega})$ and measure the $p=3$ peaks to find the frequencies.

$\endgroup$
2
  • $\begingroup$ but how to compute? i need this one, what i know is that i need to compute z transform for calculate eigenfillter and find roots, but how can i do it in matlab $\endgroup$ – dato datuashvili Feb 26 '17 at 8:04
  • $\begingroup$ You don't need to compute the Z transform, the equation for $\hat{P}_{PHD} $is all you need $\endgroup$ – Robert L. Feb 26 '17 at 20:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.