samer@0: % afilter - Linear filter arrow samer@0: % samer@0: % afilter :: samer@0: % [[P]] ~'filter B coefficients', samer@0: % [[Q]] ~'filter A coefficients', samer@0: % -> arrow({[[N]]},{[[N]]},[[O]]). samer@0: % samer@0: % The arrow afilter(B,A) is equivalent to using filter(B,A,X) samer@0: % on a signal in an array. samer@0: samer@0: function o=afilter(b,a,zi) samer@0: samer@0: if nargin<3, zi=[]; end samer@0: o = loop(@filt,@(s)zi); samer@0: function [y,z]=filt(x,z) samer@0: [y,z]=filter(b,a,x,z); samer@0: end samer@0: end