function[b0,B,A]=dir2cas(b,a);%直接型到级联型的型式转换(复数对型)%---------------------------------------------------------%[b0,B,A]=dir2cas(b,a)%b=直接型的分子多项式系数%a=直接型的分母多项式系数%b0=增益系数%B=包含各bk的K乘3维实系数矩阵%A=包含各ak的K乘3维实系数矩阵%computegaincoefficientb0b0=b(1);b=b/b0;a0=a(1);a=a/a0;b0=b0/a0;%M=length(b);N=length(a);ifNMb=[bzeros(1,N-M)];elseifMNa=[azeros(1,M-N)];N=M;elseNM=0;end%K=floor(N/2);B=zeros(K,3);A=zeros(K,3);ifK*2==N;b=[b0];a=[a0];end%broots=cplxpair(roots(b));aroots=cplxpair(roots(a));fori=1:2:2*KBrow=broots(i:1:i+1,:);Brow=real(poly(Brow));B(fix((i+1)/2),:)=Brow;Arow=aroots(i:1:i+1,:);Arow=real(poly(Arow));A(fix((i+1)/2),:)=Arow;end