文档介绍:数字信号处理
基于哈明窗的FIR数字滤波器的设计
DSP实验报告
FIR滤波器设计与实现
一、实验目的
通过实验巩固FIR滤波器的认识和理解。
熟练掌握FIR低通滤波器的窗函数设计方法。
理解FIR的具体应用。
二、实验内容
在通信、信息处理以及信号检测等应用领域广泛使用滤波器进行去噪和信号的增强。FIR滤波器由于可实现线性相位特性以及固有的稳定特征而等到广泛应用,其典型的设计方法是窗函数设计法。设计流程如下:
(1)设定指标:截止频率fc,过渡带宽度△f,阻带衰减A。
(2)求理想低通滤波器(LPF)的时域响应hd(n)。
(3)选择窗函数w(n),确定窗长N。
(4)将hd(n)右移(N-1)/2点并加窗获取线性相位FIR滤波器的单位脉冲响应h(n)。
(5)求FIR的频域响应H(e),分析是否满足指标。如不满足,转(3)重新选择,否则继续。
(6)求FIR的系统函数H(z)。
(7)依据差分方程由软件实现FIR滤波器或依据系统函数由硬件实现。
实验要求采用哈明窗设计一个FIR低通滤波器并由软件实现。哈明窗函数如下:
w(n)=-(),0≤n≤N-1;
设采样频率为fs=10kHz。实验中,窗长度N和截止频率fc应该都能调节。具体实验内容如下:
(1)设计FIR低通滤波器(FIR_LPF)(书面进行)。
(2)依据差分方程编程实现FIR低通滤波器。
(3)输入信号x(n)=()+cos()到fc=2000Hz,N=65的FIR_LPF,求输出信号y(n),理论计算并画出0≤f≤fs范围输入信号x(n)和输出信号y(n)的幅度谱,标出峰值频率,观察滤波器的实际输出结果,分析其正确性。
(4)输入信号x(n)=()-cos()+()到fc=1100Hz,N=65的FIR_LPF,求输出信号y(n),理论计算并画出0≤f≤fs范围输入信号x(n)和输出信号y(n)的幅度谱,标出峰值频率,观察滤波器的实际输出结果,分析其正确性。
(5)输入信号x(n)=()-cos()+()到fc=2100Hz,N=65的FIR_LPF,求输出信号y(n),理论计算并画出0≤f≤fs范围输入信号x(n)和输出信号y(n)的幅度谱,标出峰值频率,观察滤波器的实际输出结果,分析其正确性。
(6)输入信号x(n)=()-cos()+()到fc=1100Hz,N=65的FIR_LPF,求输出信号y(n),理论计算并画出0≤f≤fs范围输入信号x(n)和输出信号y(n)的幅度谱,标出峰值频率,观察滤波器的实际输出结果,分析其正确性。
(7)输入信号x(n)=()-cos()+()到fc=1990Hz,N=65的FIR_LPF,求输出信号y(n),理论计算并画出0≤f≤fs范围输入信号x(n)和输出信号y(n)的幅度谱,标出峰值频率,观察滤波器的实际输出结果,分析其正确性。
三、实验分析
如果采用哈明窗函数设计因果线性相位低通滤波器FIR,所设计的FIR低通滤波器单位脉冲响应h(n)如式。
h(n)=hd(n)w(n)=,0≤n≤N-1
如果输入函数为x(n),则y(n)=x(n)*h(n)。
四、实验结果
(1)MATLAB 程序如下:
function FIR = fir(fc,N,A,a,B,b,C,c)
%窗函数设计
n = 0 : N-1; %窗函数、LPF的横坐标
fs = 10000; %采样频率10KHZ
wc = 2 * pi * fc/fs;
hd = n;
for k = 1 : (N-1)/2
hd(k) = sin(wc * (k-1-(N-1)/2)) ./ ( pi *(k-1-(N-1)/2)); %LPF纵坐标
end
for k =(N-1)/2 + 2 : N
hd(k) = sin(wc * (k-1-(N-1)/2)) ./ ( pi *(k-1-(N-1)/2)); %LPF纵坐标
end
hd((N-1)/2+1) = wc/pi;
wn = - *cos(2*pi*n/(N-1)); %哈明窗窗函数
hn = hd .* wn; %FIR滤波器时域表达式
%窗函数频谱
w = 0 : *pi :* pi;
W = 0:999;
for k = 1 : 1000;
W(k) = 0;
n = 1;
while(n < N+1)
W(k) =