这里主要介绍滤波函数filter。
比如如果系统函数是
y(n)+0.62y(n-1)+0.13y(n-2)=x(n-2)
输入是x(n)=u(n)-u(n-15)
那么求输出对应的程序是:
n = -5:25;
N = 15;
step = [n>=0];
stepN = [(n-N)>=0];
x = step-stepN;
b = [0,0,1];
a = [1,0.62,0.13];
y = filter(b,a,x);
[H,W] = freqz(b,a);
subplot(3,1,1);
stem(n,x);
axis([-5 25 0 1]);
subplot(3,1,2);
plot(W,abs(H));
axis([0 pi 0 2]);
subplot(3,1,3);
stem(n,y);
axis([-5 25 -0.5 1]);
输出结果如图:
有些时候,不仅给出了传输函数和输入,也给出了系统的初值条件,这就需要使用filtic函数确定初值条件,再将条件写到filter函数的参数中:
比如LTI系统满足差分方程:
3y(n)-2.85y(n-1)+2.7075y(n-2)=x