low_mul_quan.m

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

M
42
字号
function Bq=Low_Mul_quan(a,Bi,Fs,Pha_Sub,Ds,f,i)
%  Low_Mul_quan.m  量化a1和Bi
%  $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
global n
[pha_x,x]=max(Pha_Sub);
[pha_y,y]=min(Pha_Sub);
fx=f(x);
fy=f(y);
pha_Fs=Pha_Sub(1);
fn=[Fs,fx,fy];
d=[pha_Fs+Ds,pha_x-Ds,pha_y+Ds]-pi/2;
if i==1
    Q=sin(2*pi*fn)./(1+Bi(1)^2+2*Bi(1)*cos(2*pi*fn));
else
    if i<=fix((n+3)/4);
        j=1/2;
    else
        j=-1/2;
    end
    Q=j*4*(a+cos(2*pi*fn)).*sin(2*pi*fn)./...
    ((1-Bi(i))^2+4*Bi(i)*(cos(2*pi*fn)).^2+a*(1+Bi(i))^2*(a+2*cos(2*pi*fn)));
end
dB=d./Q;
B_range=[Bi(i)+dB(2),Bi(i)+dB(3)];
if i==1
    disp(sprintf('α1值的范围:%f<α1<%f',B_range(1),B_range(2)))
    Bq=input('选择:α1=');
else
    disp(sprintf('β%d值的范围:%f<β%d<%f',i,B_range(1),i,B_range(2)))
    Bq=input(sprintf('选择:β%d=',i));
end

⌨️ 快捷键说明

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