解决办法如下所示:
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)。
conv
是卷积,比如说conv(a,b)就是说
a卷积b;
filter是设计滤波器的一种函数,y=filter(b,a,x)表示的是
y(n)
=
b(1)*x(n)
+
b(2)*x(n-1)
+
...
+
b(nb+1)*x(n-nb)
-
a(2)*y(n-1)
-
...
-
a(na+1)*y(n-na)
看楼主的意思主要是想实现差分方程
先从简单的说起:
filter([1,2],1,[1,2,3,4,5])
实现 y[k]=x[k]+2*x[k-1]
y=x+2*0 %(x之前状态都用0)
=1
y=x+2*x=2+2*1=4
...
然后说你感兴趣的filter(b,a,x)
这里a,b都是矢量
你提到输入[zeros(1,100),ones(1,101)]
差分方程 2y[k]-y[k-1]-3y[k-2]=2x[...