⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdir2cas.m

📁 MATLAB信号处理扩展函数,用于信号处理的扩展函数
💻 M
字号:
function [C,B,A]=sdir2cas(b,a);%变滤波器型直接形式为级联形式
         Na=length(a)-1;Nb=length(b)-1;
         b0=b(1);b=b/b0;
         a0=a(1);a=a/a0;
         C=b0/a0;
         p=cplxpair(roots(a));K=floor(Na/2);
         if K*2==Na
             A=zeros(K,3);
             for n=1:2:Na
                 Arow=p(n:1:n+1,:);
                 Arow=poly(Arow);
                 A(fix((n+1)/2),:)=real(Arow);
             end
         elseif Na==1
             A=[0 real(poly(p))];
         else
             A=zeros(K+1,3);
             for n=1:2:2*K
                 Arow=p(n:1:n+1,:);
                 Arow=poly(Arow);
                 A(fix((n+1)/2),:)=real(Arow);
             end
                A(K+1,:)=[0 real(poly(p(Na)))];
            end
            z=cplxpair(roots(b));K=floor(Nb/2);
            if Nb==0
                B=[0 0 poly(z)];
            elseif K*2==Nb
                B=zeros(K,3);
                for n=1:2:Nb
                     Brow=z(n:1:n+1,:);
                     Brow=poly(Brow);
                     B(fix((n+1)/2),:)=real(Brow);
                 end
             elseif Nb==1
                 B=[0 real(poly(z))];
             else 
                 B=zeros(K+1,3);
                for n=1:2:2*K
                     Brow=z(n:1:n+1,:);
                     Brow=poly(Brow);
                     B(fix((n+1)/2),:)=real(Brow);
                 end
                 B(K+1,:)=[0 real(poly(z(Nb)))];
             end
             
                

⌨️ 快捷键说明

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