low_mul_pha_plot.m

来自「信号处理-滤波器设计(基于matlab和Mathmatica的设计方法)中关于无」· M 代码 · 共 34 行

M
34
字号
function [Pha_Sub,f]=Low_Mul_Pha_plot(n,a,Bi,Fs,Ds)
%  Low_Mul_Pha_plot.m 计算相位差函数,并绘制
%  $date 11/10/2005
%
%   作者:赵泽平
%      vf1983cs@163.com
%   
%
%   References:
%        Miroslav D. Lutovac, Dejan V. Tosic, Brian L. Evans
%           Advanced Filter Design for Signal Processing
%                   Using MATLAB and Mathematica
f=Fs:0.0001:0.5;
w=2*pi*f;
Pha_Sub=angle(freqz([Bi(1),1],[1,Bi(1)],w))/2;
for i=2:(n+1)/2
    if i<=fix((n+3)/4);
        z=1/2;
    else
        z=-1/2;
    end
    Pha_Sub=Pha_Sub+z*angle(freqz([Bi(i),a*(1+Bi(i)),1],[1,a*(1+Bi(i)),Bi(i)],w));
end
Pha_Sub=abs(Pha_Sub);
plot(w/(2*pi),Pha_Sub);hold on
y=ones(1,length(w));
y=(pi/2+Ds)*y;
plot(w/(2*pi),y)
y=ones(1,length(w));
y=(pi/2-Ds)*y;
plot(w/(2*pi),y)
xlabel('f');
ylabel('\psi(rad)');
hold off

⌨️ 快捷键说明

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