w4.m

来自「自己编写的用于消噪的维纳matlab程序」· M 代码 · 共 39 行

M
39
字号
clear all;
clc;

N=256;
n=[1:N];
s1 = 4*cos(0.1*pi*n);
s2=4*cos(0.1*pi*n+pi/6);

A1=randn(1,N);
A2=randn(1,N);
n1=0.5*(A1+A2);

x1=s1+A1;
x2=s2+A2;
x=x1+x2;
s=s1+s2;

H=zeros(1,N); 
T1=zeros(1,1);
u=0.5*(1/(norm(A1*A1'))+1/(norm(A2*A2')));
e=zeros(1,N); %存放滤波后信号初始的向量

for k=1:N %处理信号
    T1=n1(k);
y1(k)=T1*H(:,k);
e(k)=x(k)-y1(k);
H(:,k+1)=H(:,k)+12*u*e(k)*T1';

end

subplot(2,1,1)
plot(x);
hold on
plot(s,'r')
subplot(2,1,2)
plot(e)
hold on
subplot(2,1,2)
plot(s,'r')

⌨️ 快捷键说明

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