ht2.m

来自「matla窗口制作」· M 代码 · 共 127 行

M
127
字号
function ht2(h_axes1,N,mm,b1,Ws,Wp,Wph,Wsh,d)
N=floor(N);
if mm==1 
    n=[0:1:N-1];
    wc=((Ws+Wp)/2)*pi;
    Wcl=wc;
    Wch=((Wph+Wsh)/2)*pi;
    if b1==1
        if d==1
        hd=ideal_lp1(wc,N);
        elseif d==2
        hd=ideal_lp2(wc,N);
        end
    elseif  b1==2
        if  d==1
        hd=ideal_hp1(wc,N);
        else d==2
        hd=ideal_hp2(wc,N);
        end
    elseif  b1==3
        if d==1
        hd=ideal_bp1(Wcl,Wch,N);
        elseif d==2
        hd=ideal_bp2(Wcl,Wch,N);
        end
    elseif  b1==4
        hd=ideal_bs(Wcl,Wch,N);
    end
    h=(bartlett(N))';
    h=hd.*h;
    [dp,mag,pha,grd,w]=freqz_m(h,[1]);
    %h=abs(h);
elseif mm==2
   n=[0:1:N-1];
    wc=((Ws+Wp)/2)*pi;
    Wcl=wc;
    Wch=((Wph+Wsh)/2)*pi;
    if b1==1
        if d==1
        hd=ideal_lp1(wc,N);
        elseif d==2
        hd=ideal_lp2(wc,N);
        end
    elseif  b1==2
        if  d==1
        hd=ideal_hp1(wc,N);
        else d==2
        hd=ideal_hp2(wc,N);
        end
    elseif  b1==3
        if d==1
        hd=ideal_bp1(Wcl,Wch,N);
        elseif d==2
        hd=ideal_bp2(Wcl,Wch,N);
        end
    elseif  b1==4
        hd=ideal_bs(Wcl,Wch,N);
    end
    h=(blackman(N))';
    h=hd.*h;
    [dp,mag,pha,grd,w]=freqz_m(h,[1]);
    %h=abs(h);
elseif mm==3
    n=[0:1:N-1];
    wc=((Ws+Wp)/2)*pi;
    Wcl=wc;
    Wch=((Wph+Wsh)/2)*pi;
    if b1==1
        if d==1
        hd=ideal_lp1(wc,N);
        elseif d==2
        hd=ideal_lp2(wc,N);
        end
    elseif  b1==2
        if  d==1
        hd=ideal_hp1(wc,N);
        else d==2
        hd=ideal_hp2(wc,N);
        end
    elseif  b1==3
        if d==1
        hd=ideal_bp1(Wcl,Wch,N);
        elseif d==2
        hd=ideal_bp2(Wcl,Wch,N);
        end
    elseif  b1==4
        hd=ideal_bs(Wcl,Wch,N);
    end
    h=(hamming(N))';
    h=hd.*h;
    [dp,mag,pha,grd,w]=freqz_m(h,[1]);
    %h=abs(h);
elseif mm==4
    n=[0:1:N-1];
    wc=((Ws+Wp)/2)*pi;
    Wcl=wc;
    Wch=((Wph+Wsh)/2)*pi;
    if b1==1
        if d==1
        hd=ideal_lp1(wc,N);
        elseif d==2
        hd=ideal_lp2(wc,N);
        end
    elseif  b1==2
        if  d==1
        hd=ideal_hp1(wc,N);
        else d==2
        hd=ideal_hp2(wc,N);
        end
    elseif  b1==3
        if d==1
        hd=ideal_bp1(Wcl,Wch,N);
        elseif d==2
        hd=ideal_bp2(Wcl,Wch,N);
        end
    elseif  b1==4
        hd=ideal_bs(Wcl,Wch,N);
    end
    h=(hanning(N))';
    h=hd.*h;
    [dp,mag,pha,grd,w]=freqz_m(h,[1]);
    %h=abs(h);
 end 
  
    
    

⌨️ 快捷键说明

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