filt.m
来自「这是一个用于语音信号处理的工具箱」· M 代码 · 共 35 行
M
35 行
% filter operation using Direct-I implementation
function [y,Ziy]=filt(b,a,x,Ziy,Zix)
% function y=filt(b,a,x,Ziy,Zix)
% Both Ziy, Zix need reverse
onearray=nargin;
if onearray<3
error('You must specify cofficients and input');
else
b=b(:)';
a=a(:)';
aa=a(2:length(a));
end;
lena=length(a);
if onearray==3
Ziy=zeros(1,lena-1);
else
Ziy=Ziy(:)';
end;
lenb=length(b);
if onearray==5
xx=[Zix(:)' 0];
else
xx=zeros(1,lenb);
end;
for k=1:length(x)
xx=[x(k) xx(1:lenb-1)];
% first=b*xx';
y(k)=b*xx'-aa*Ziy';
Ziy=[y(k) Ziy(1:lena-2)];
end;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?