filt_n1.m

来自「这是一个用于语音信号处理的工具箱」· M 代码 · 共 40 行

M
40
字号
% filter operation using Direct-I implementation
function [y,Ziy]=filt_new1(b,a,x,Ziy,Zix)
% function y=filt(b,a,x,Ziy,Zix)
% Both Ziy, Zix need reverse
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%	originally modified from filt.m
%
% 	this version ONLY allows 4 input arguments
%	and is specifically for use by syn1.m m-file
%
%	jmw
%	5/25/94
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

b=b(:)';
a=a(:)';
aa=a(2:length(a));

lena=length(a);

Ziy=Ziy(:)';

lenb=length(b);

xx=zeros(1:lenb);

% added by jmw
y=zeros(1,length(x));

for k=1:length(x)
	xx=[x(k) xx(1:lenb-1)];
	y(k)=b*xx'-aa*Ziy';
	Ziy=[y(k) Ziy(1:lena-2)];
end;

	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?