limmvdr.m

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

M
26
字号
%MVDR算法。选用电力系统谐波信号作为输入信号。参考书目:近代信号处理理论与方法,张明友等著,国防工业出版社。124页
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);
y=x';
noise=randn(1,256);
noise=noise';
dB=40;
y=sigmerge(y,noise,dB);
x=y';
for m=0:N-1
    s=0;
    for n=0:N-1-m
        s=s+x(n+1)*x(n+m+1)/N;
    end
    R(m+1)=s;
end
R=toeplitz(R);
for f=0:fs/2
    for n=0:N-1
    w(n+1)=exp(i*2*pi*f*ts*n);
    end
    P(f+1)=w*inv(R)*R*inv(R)*w'/(w*inv(R)*w')^2;
end
f=0:fs/2;
semilogy(f,P)

⌨️ 快捷键说明

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