dir2cas.m

来自「DSP2 using matlab v4」· M 代码 · 共 81 行

M
81
字号
function [b0,B,A] = dir2cas(b,a);% DIRECT-form to CASCADE-form conversion (cplxpair version)% ---------------------------------------------------------% [b0,B,A] = dir2cas(b,a)% b0 = gain coefficient%  B = K by 3 matrix of real coefficients containing bk's%  A = K by 3 matrix of real coefficients containing ak's%  b = numerator polynomial coefficients of DIRECT form%  a = denominator polynomial coefficients of DIRECT form% compute gain coefficient b0b0 = b(1); b = b/b0;a0 = a(1); a = a/a0;b0 = b0/a0;%M = length(b); N = length(a);if N > M	b = [b zeros(1,N-M)];elseif M > N	a = [a zeros(1,M-N)]; N = M;else	NM = 0;end%K = floor(N/2); B = zeros(K,3); A = zeros(K,3);if K*2 == N;	b = [b 0];	a = [a 0];end%        broots = cplxpair(roots(b));aroots = cplxpair(roots(a));for i=1:2:2*K	Brow = 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     

⌨️ 快捷键说明

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