t=linspace(0,10,100);
s=sin(2*pi/5*t);
noise=0.2*rand(size(t));
%xnoise = x + 2.5*gallery('normaldata',size(t),4);%标准正态分布的随机数据矩阵
xs=s+noise;
y=zeros(size(t));
A=[1 -0.9];
B=[.05 .06];
y=filter(B,A,xs);
plot(t,s,'k',t,xs,'b',t,y,'r')
legend('原函数','噪声污染后','滤波后')
% 移动平均滤波(常用的平滑滤波器)
% 移动平均值滤波器沿数据移动长度为 的窗口,并计算每个窗口中包含的数据的平均值
t = linspace(-pi,pi,100);
rng default %initialize random number generator
x = sin(t) + 0.25*rand(size(t));
windowSize = 5; %窗口长度
b = (1/windowSize)*ones(1,windowSize);
a = 1;
y = filter(b,a,x);
plot(t,x)
hold on
plot(t,y)
legend('Input Data','Filtered Data')