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

📄 lunwen_fir.m

📁 经典《信号与系统》教程的matlab例程,对深入理解信号与系统相关概念有很大帮助
💻 M
字号:
clear,close all;
N=input('输入FIR滤波器的长度N=');
wp=input('输入FIR滤波器的通带截止频率(单位:弧度)wp=');
ws=input('输入FIR滤波器的阻带截止频率(单位:弧度) wp=');
wc=(wp+ws)/2;               %确定理想低通滤波器的截止频率
L=ceil(wc*N/(2*pi));  
k=0:N-1;  M=2*pi/N;
H=u(k)-u(k-L);               %构造FIR滤波器的N抽样的频率响应特性
phai=-pi*k*(N-1)/N;
%H(L+1)=0.5;%H(L+2)=0.1065;%H(L+2)=0.031;   %用于插入过渡采样点
H=H.*exp(i*phai);
kc=fix(N/2);
for i=0:kc;            
    H(N-(i))=conj(H(i+2));
end 
h=ifft(H,N);                   %求DFT反变换得到单位冲激响应h(n)
subplot(221)                   %绘制FIR滤波器的幅度特性
k=0:2*pi/N:2*pi-2*pi/N;
stem(k/pi,abs(H),'k.')
axis([0,2,0,max(abs(H))]);  grid on,  xlabel('Frequency *pi')
title('The |H(k)|of the FIR lowpass filter')
subplot(222)                     %绘制单位冲激响应波形
k=0:N-1;
stem(k,h,'k.'),axis([0,N-1,1.1*min(real(h)),1.1*max(real(h))])
xlabel('Time index n'),  title('The impulse response h(n) of the FIR filter'),  grid on
n=0:2*pi/512:2*pi-2*pi/512;      %计算FIR滤波器的幅度响应
subplot(223)                     %绘制FIR滤波器的幅度响应
Hd=fft(h,512);                 
plot(n/(pi),abs(Hd)),title('The frequency response |H(ejw)|')
hold on,grid on
k=0:2*pi/N:2*pi-2*pi/N;
plot(k/pi,abs(H),'k.'),axis([0,1,0,1.2*max(abs(H))])
xlabel('Frequency *pi')
subplot(224)                   %绘制FIR滤波器衰的减幅度特性曲线
plot(n/pi,20*log10(abs(Hd)/max(abs(Hd))),'r-')
title('The frequency response in dB')
axis([0,1,-80,0])
grid on
xlabel('Frequency *pi')

⌨️ 快捷键说明

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