dir2par.m

来自「经典《信号与系统》教程的matlab例程,对深入理解信号与系统相关概念有很大帮助」· M 代码 · 共 31 行

M
31
字号
function [c,b,a] = dir2par(num,den)
% Direct form to paralel form
%==================================================
% [c,b,a]=dir2par(num,den)
% num:The coefficient vector of numerator polynomial of H(z)
% den:The coefficient vector of denominator polynomial of H(z)
M=length(num);N=length(den);
[rl,p1,c]=residuez(num,den);
p=cplxpair(p1,10000000*eps);
I=cplxcomp(p1,p);
r=rl(I);
k=floor(N/2); b=zeros(k,2); a=zeros(k,3);
if k*2==N;
    for i=1:2:N-2
        brow=r(i:1:i+1,:);
        arow=p(i:1:i+1,:);
        [brow,arow]=residuez(brow,arow,[]);
        b(fix((i+1)/2),:)=real(brow);
        a(fix((i+1)/2),:)=real(arow);
    end
    [brow,arow]=residuez(r(N-1),p(N-1),[]);
    b(k,:)=[real(brow) 0];a(k,:)=[real(arow) 0];
else
    for i=1:2:N-1
        brow=r(i:1:i+1,:);
        arow=p(i:1:i+1,:);
        [brow,arow]=residuez(brow,arow,[]);
        b(fix((i+1)/2),:)=real(brow);
        a(fix((i+1)/2),:)=real(arow);
    end
end

⌨️ 快捷键说明

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