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

📄 ht3.m

📁 matla窗口制作
💻 M
字号:
function ht3(h_axes1,N,mm,b1,Ws,Wp,Wph,Wsh,c,d)
N=floor(N);
%delta_w=2*pi/1000;
%Ap=-(min(db(Wp*pi/delta_w+1:1:501)));
%syms c;
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 
    axes(h_axes1);
    cla;
    if c==1
    plot(w/pi,dp,'b');
    axis([0,1,-200,10]);
    grid on;
%    set(h_axes1,'Color',[1 1 1]);
    title(' Window Magnitude Response');
    xlabel('Normalized Frequency(*pi rad/sample)');
    ylabel('Magnitude(dB)');
    elseif c==2
    axes(h_axes1);
    cla;
    plot(w/pi,pha/pi,'b');
    grid on;
    title(' Window phase Response');
    xlabel('Frequency(*pi rad/sample)');
    ylabel('phase(pi)');
    elseif c==3
    axes(h_axes1);
    cla;
    stem(n,h);
    grid on;
    title('Impulse Response');
    xlabel('Time');
    ylabel('Amplitude');
    %elseif c==4
    %axes(h_axes1);
    %cla;
    %stepz(h);
    %grid on;
    %title('Step Response');
    %xlabel('Time');
    %ylabel('Amplitude');
    end
end

⌨️ 快捷键说明

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