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

📄 main.asv

📁 用窗函数设计法设计fir滤波器(矩形窗、汉宁窗、汉明窗、布拉克曼窗、凯泽窗)
💻 ASV
字号:
close all;

b=1;
while(b==1)
    N=input('请输入窗的长度N=:\n');
    w1=input('请输入上截止频率W1(rad/pi):\n');
    w2=input('请输入下截止频率W2(rad/pi):\n');
    w1=w1*pi;
    w2=w2*pi;
    
    hd=ideal(w1,N)-ideal(w2,N);; %得到理想带通滤波器
    [B,n,string]=window(N);     %选择窗函数
   
    h=hd.*B; %得到FIR数字滤波器
    [H,m]=freqz(h,[1],1024,'whole'); %求其频率响应
    mag=abs(H); %得到幅值
    db=20*log10((mag+eps)/max(mag));
    pha=angle(H); %得到相位
       
    figure;
    subplot(2,2,1);
    stem(n,h,'.');
    axis([0,N-1,-0.3,0.3]);
    hold on;
    x=zeros(N);
    plot(n,x,'r-');
    xlabel('n');
    ylabel('h(n)');
    title('实际低通滤波器的h(n)');
    text((0.3*N),0.2,string);
    hold off;
    
    subplot(2,2,2);
    plot(m/pi,db);
    axis([0,1,-100,0]);
    xlabel('w/pi');
    ylabel('dB');
    title('衰减特性(dB)');
    set(gca,'ytick',[-60,-20,-3]);
    grid;
    
    
    subplot(2,2,3);
    plot(m/pi,mag);
    title('幅频特性');
    xlabel('w/pi');
    ylabel('幅值');
    axis([0,1,0,1.5]);
    text(0.4,0.8,string);
    
    subplot(2,2,4);
    plot(m/pi,pha);
    hold on;
    n=0:7;
    x=zeros(8);
    plot(n,x,'r-');
    title('相频特性');
    xlabel('w/pi');
    ylabel('相位(rad)');
    axis([0,1,-4,4]);
    
    b=input('还要继续吗?:1(continue),0(exit):\n');
end

    
    
    
                        

⌨️ 快捷键说明

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