limpisarenko.m

来自「功率谱估计程序」· M 代码 · 共 29 行

M
29
字号
%Pisarenko算法。选用电力系统谐波信号作为输入信号。参考书目:近代信号处理理论与方法,张明友等著,国防工业出版社。130页
clear all;close all;
f1=50;ts=1/1000;n=1:256;N=256;fs=1000;
x=sin(2*pi*f1*n*ts)+0.2*sin(2*pi*350*n*ts)+0.2*sin(2*pi*360*n*ts);D=0;p=3;
x=x';
noise=randn(1,256);
noise=noise';
dB=20;
x=sigmerge(x,noise,dB);
x=x';
for m=0:N-1
    s=0;
    for n=0:N-m-1
        s=s+x(n+m+1)*x(n+1)/(N);
    end
    R(m+1)=s;
end
R=toeplitz(R(1:1+2*p));
e=eig(R);
[a,b]=min(e);
[c,c1]=eig(R);
c2=c(:,b);
c2=fliplr(c2');
b=roots(c2);
b=angle(b);
f=b/2/pi/ts;
stem(f,ones(1,length(f)),'*');

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?