- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP数字信号处理实验报告-FIR滤波器设计与实现汇
数字信号处理 基于哈明窗的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.54-0.46cos(),0≤n≤N-1;
设采样频率为fs=10kHz。实验中,窗长度N和截止频率fc应该都能调节。具体实验内容如下:
(1)设计FIR低通滤波器(FIR_LPF)(书面进行)。
(2)依据差分方程编程实现FIR低通滤波器。
(3)输入信号x(n)=3.0sin(0.16)+cos(0.8)到fc=2000Hz,N=65的FIR_LPF,求输出信号y(n),理论计算并画出0≤f≤fs范围输入信号x(n)和输出信号y(n)的幅度谱,标出峰值频率,观察滤波器的实际输出结果,分析其正确性。
(4)输入信号x(n)=1.5sin(0.2)-cos(0.4)+1.2sin(0.9)到fc=1100Hz,N=65的FIR_LPF,求输出信号y(n),理论计算并画出0≤f≤fs范围输入信号x(n)和输出信号y(n)的幅度谱,标出峰值频率,观察滤波器的实际输出结果,分析其正确性。
(5)输入信号x(n)=1.5sin(0.2)-cos(0.4)+1.2sin(0.9)到fc=2100Hz,N=65的FIR_LPF,求输出信号y(n),理论计算并画出0≤f≤fs范围输入信号x(n)和输出信号y(n)的幅度谱,标出峰值频率,观察滤波器的实际输出结果,分析其正确性。
(6)输入信号x(n)=1.5sin(0.2)-cos(0.4)+5.0sin(0.9)到fc=1100Hz,N=65的FIR_LPF,求输出信号y(n),理论计算并画出0≤f≤fs范围输入信号x(n)和输出信号y(n)的幅度谱,标出峰值频率,观察滤波器的实际输出结果,分析其正确性。
(7)输入信号x(n)=1.5sin(0.2)-cos(0.4)+1.2sin(0.9)到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 = 0.54 - 0.46*cos(2*pi*n/(N-1)); %哈明窗窗函数
hn = hd .* wn; %FIR滤波器时域表达式
%窗函数频谱
w = 0 : 0.001*pi :0.999* pi;
W = 0:999;
for k = 1 : 1000;
W(k) = 0;
n = 1;
while(n N+1)
W(k) = hd(n) * exp(-j*k*pi
文档评论(0)