fir.m

来自「用窗函数法设计FIR 数字滤波器 能产生矩型窗、升余弦窗、改进升余弦窗和二阶升」· M 代码 · 共 54 行

M
54
字号
close all;
choose=1;
while choose==1
    k=input('选择窗口类型:1矩形窗2升余弦窗3改进升余弦窗4二阶升余弦窗--');
    N=input('输入窗口长度1 N=15 2 N=33--');
    a=(N-1)/2;
    n=0:N-1;
    hd=sin(pi*(n-a+eps)/4)./(pi*(n-a+eps));
    if k==1
        w=boxcar(N);
    end
    if k==2
        w=hanning(N);
    end
    if k==3
        w=hamming(N);
    end
    if k==4
        w=blackman(N);
    end
   
    h=hd.*w';
    
    subplot(2,2,1);
    stem(n,h,'.');
    title('实际低通滤波器');
    xlabel('x');ylabel('h(n)');
    [H,w]=freqz(h,[1],100);
    
    subplot(2,2,2);
    plot(w/pi,20*log10((abs(H)+eps)/H(1)));
    title('衰减特性');
    xlabel('w/\pi');ylabel('20lg|H(ejw)|');
    axis([0 1 -100 0]);
    grid on;
    
    y=angle(H);
    subplot(2,2,3);
    plot(w,y);
    title('相频特性');
    xlabel('w');ylabel('相位');
    
    subplot(2,2,4);
    plot(w,abs(H));
    title('幅频特性');
    xlabel('w');ylabel('|H(ejw)|');
    choose=input('是否继续选择(1是2否)--');
end
    
    
    


⌨️ 快捷键说明

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