MATLAB 中 filter 函数的使

 

                                   一维数字滤波滤波器filter 使用

 

filter

1-D digital filter

expand all in page

Syntax

y = filter(b,a,X)
[y,zf] = filter(b,a,X)
[y,zf] = filter(b,a,X,zi)
y = filter(b,a,X,zi,dim)
[...] = filter(b,a,X,[],dim)

 

 

 

  滤波函数                          0.15

                        H(z) = ----------------------

                                        1 - 0.8*z^-1

 

b = 0.15 ;
a = [1 -0.8];

n = [0:100];
x = 2*sin(0.05*pi*n) + 2*randn(1, 101); %滤波前序列

imp = [1; zeros(100, 1)];
h = filter(b, a, imp); % filter 函数使用 将x 变成滤波前序列
w = conv(x, h); % 做乘积
yc = w(1:101);  %滤波序列

z= filter(b, a, x); % 进行滤波

xlabel('n');
ylabel('x y yc');
plot(n, x,'r',n,z ,'b', n,yc,'m'

你可能感兴趣的:(matlab)