数字信号处理实验五FIR滤波器设计
- 格式:docx
- 大小:1.23 MB
- 文档页数:35
FIR滤波器设计实验报告实验报告:FIR滤波器设计一、实验目的:本实验旨在通过设计FIR滤波器,加深对数字信号处理中滤波器原理的理解,掌握FIR滤波器的设计方法和调试技巧。
二、实验原理:在窗函数法中,常用的窗函数有矩形窗、三角窗、汉明窗和黑曼窗等。
根据实际需求选择适当的窗口函数,并通过将窗口函数应用到理想低通滤波器的冲激响应中,得到FIR滤波器的冲激响应。
三、实验步骤:1.确定滤波器的阶数和截止频率。
2.选择适当的窗口函数,如汉明窗。
3.计算出理想低通滤波器的冲激响应。
4.将选定的窗口函数应用到理想低通滤波器的冲激响应中。
5.得到FIR滤波器的冲激响应。
四、实验结果:假设要设计一个阶数为10的FIR滤波器,截止频率为800Hz,采样频率为1600Hz。
1.选择汉明窗作为窗口函数。
2.根据采样频率和截止频率计算出理想低通滤波器的冲激响应。
假设截止频率为f_c,则理想低通滤波器的冲激响应为:h(n) = 2f_c * sinc(2f_c * (n - (N-1)/2))其中,sinc(x)为正弦函数sin(x)/x。
3.将汉明窗应用到理想低通滤波器的冲激响应中,得到FIR滤波器的冲激响应。
具体计算过程如下:h(n) = w(n) * h_ideal(n)其中,w(n)为汉明窗:w(n) = 0.54 - 0.46 * cos(2πn/(N-1))h_ideal(n)为理想低通滤波器的冲激响应。
4.计算得到FIR滤波器的冲激响应序列。
五、实验总结:本次实验通过设计FIR滤波器,加深了对数字信号处理中滤波器原理的理解。
掌握了FIR滤波器的设计方法和调试技巧。
通过设计阶数为10的FIR滤波器,截止频率为800Hz,采样频率为1600Hz的实例,了解了窗函数法设计FIR滤波器的具体步骤,并得到了滤波器的冲激响应。
【备注】以上内容仅为参考,具体实验报告内容可能根据实际情况有所调整。
电子科技大学信息与软件工程学院学院标准实验报告(实验)课程名称数字信号处理电子科技大学教务处制表电 子 科 技 大 学实 验 报 告学生姓名: 学 号: 指导教师: 实验地点: 实验时间:14-18一、实验室名称:计算机学院机房 二、实验项目名称:fir 低通滤波器的设计 三、实验学时: 四、实验原理:1. FIR 滤波器FIR 滤波器是指在有限范围内系统的单位脉冲响应h[k]仅有非零值的滤波器。
M 阶FIR 滤波器的系统函数H(z)为()[]Mkk H z h k z-==∑其中H(z)是kz-的M 阶多项式,在有限的z 平面内H(z)有M 个零点,在z平面原点z=0有M 个极点.FIR 滤波器的频率响应()j H e Ω为 0()[]Mj jk k H e h k e Ω-Ω==∑它的另外一种表示方法为()()()j j j H e H e e φΩΩΩ=其中()j H e Ω和()φΩ分别为系统的幅度响应和相位响应。
若系统的相位响应()φΩ满足下面的条件()φαΩ=-Ω即系统的群延迟是一个与Ω没有关系的常数α,称为系统H(z)具有严格线性相位。
由于严格线性相位条件在数学层面上处理起来较为困难,因此在FIR 滤波器设计中一般使用广义线性相位。
如果一个离散系统的频率响应()j H e Ω可以表示为()()()j j H e A e αβΩ-Ω+=Ω其中α和β是与Ω无关联的常数,()A Ω是可正可负的实函数,则称系统是广义线性相位的。
如果M 阶FIR 滤波器的单位脉冲响应h[k]是实数,则可以证明系统是线性相位的充要条件为[][]h k h M k =±-当h[k]满足h[k]=h[M-k],称h[k]偶对称。
当h[k]满足h[k]=-h[M-k],称h[k]奇对称。
按阶数h[k]又可分为M 奇数和M 偶数,所以线性相位的FIR 滤波器可以有四种类型。
2. 窗函数法设计FIR 滤波器窗函数设计法又称为傅里叶级数法。
数字信号处理实验报告-FIR滤波器的设计与实现在数字信号处理中,滤波技术被广泛应用于时域处理和频率域处理中,其作用是将设计信号减弱或抑制被一些不需要的信号。
根据滤波器的非线性抑制特性,基于FIR(Finite Impulse Response)滤波器的优点是稳定,易设计,可以得到较强的抑制滤波效果。
本实验分别通过MATLAB编程设计、实现、仿真以及分析了一阶低通滤波器和平坦通带滤波器。
实验步骤:第一步:设计一阶低通滤波器,通过此滤波器对波型进行滤波处理,分析其对各种频率成分的抑制效果。
为此,采用零极点线性相关算法设计滤波器,根据低通滤波器的特性,设计的低通滤波器的阶次为n=10,截止频率为0.2π,可以使设计的滤波器被称为一阶低通滤波器。
第二步:设计平坦通带滤波器。
仿真证明,采用兩個FIR濾波器組合而成的阻礙-提升系統可以實現自定義的總三值響應的設計,得到了自定義的總三值響應函數。
实验结果:1、通过MATLAB编程,设计完成了一阶低通滤波器,并通过实验仿真得到了一阶低通滤波器的频率响应曲线,证明了设计的滤波器具有良好的低通性能,截止频率为0.2π。
在该频率以下,可以有效抑制波形上的噪声。
2、设计完成平坦通带滤波器,同样分析其频率响应曲线。
从实验结果可以看出,此滤波器在此频率段内的通带性能良好,通带范围内的信号透过滤波器后,损耗较小,滞后较小,可以满足各种实际要求。
结论:本实验经过实验操作,设计的一阶低通滤波器和平坦通带滤波器具有良好的滤波特性,均已达到预期的设计目标,证明了利用非线性抑制特性实现FIR滤波处理具有较强的抑制滤波效果。
本实验既有助于深入理解FIR滤波器的设计原理,也为其他应用系统的设计和开发提供了指导,进而提高信号的处理水平和质量。
数字信号处理课程设计报告设计题目:基于DSP 的 FIR 数字滤波器的设计专业班级学号学生姓名指导教师教师评分目录一、摘要 (1)二、概述 (2)三、系统设计 (3)3.1 DSP 系统原理框图 (3)3.2 DSP 系统各部分分析 (4)四、硬件设计 (5)4.1 硬件整体电路及框图 (5)4.2 硬件各部分组成简介 (6)五、软件设计 (10)5.1 FIR 数字滤波器的基本网络结构 (10)5.2 FIR 数字滤波器的设计 (10)5.2.1 FIR 滤波器的主要特点 (10)5.2.2 FIR 滤波器设计方法 (10)5.2.3 窗函数法设计的基本思想 (11)5.2.4 用窗函数设计FIR滤波器的步骤 (12)5.3 FIR数字滤波器的MATLAB的实现 (13)5.3.1 Matlab软件介绍 (13)5.3.2 用Matlab实现FIR数字滤波器的几种方法 (13)5.4 FFT参数的计算 (17)5.5 DSP程序流程图 (17)六、实验结果 (19)七、个人总结 (21)八、参考文献 (22)附件: (23)数字信号处理课程设计一、摘要数字滤波器是数字信号处理中最重要的组成部分之一,数字滤波器是由数字乘法器、加法器和延时单元组成的一种算法或装置,可作为应用系统对信号的前期处理。
DSP芯片实现的数字滤波器具有稳定性好、精确度高、灵活性强及不受外界影响等特性。
因此基于DSP实现的数字滤波器广泛应用于语音图像处理、数字通信、频谱分析、模式识别、自动控制等领域,具有广阔的发展空间。
本文首先介绍了数字滤波器的概念及分类,以及数字滤波器的实现方法。
在理解FIR 滤波器的工作原理及其设计方法的基础上,在MATLAB环境下利用矩形窗设计实现FIR滤波器。
然后通过DSP结合CCS2.0软件进行编程,最终实现了基于DSP的FIR数字低通滤波器的设计。
仿真结果表明,基于DSP实现的滤波器具有稳定性好、精确度高、灵活性强等优点,并能实现对信号的实时滤波。
实验五FIR数字滤波器的设计FIR数字滤波器(Finite Impulse Response)是一种数字滤波器,它的输出仅由有限数量的输入样本决定。
设计FIR数字滤波器的步骤如下:1.确定滤波器的要求:首先需要明确滤波器的频率响应、截止频率、通带和阻带的幅频响应等要求。
2.选择滤波器类型:根据实际需求选择合适的滤波器类型,如低通滤波器、高通滤波器、带通滤波器或带阻滤波器等。
3.确定滤波器的阶数:根据滤波器类型和要求,确定滤波器的阶数。
通常情况下,滤波器的阶数越高,能够实现更陡峭的频率响应,但会引入更多的计算复杂度。
4.设计滤波器的理想频率响应:根据滤波器的要求和类型,设计滤波器的理想频率响应。
可以使用常用的频率响应设计方法,如窗函数法、最小最大法或线性相位法等。
这些方法可以实现平滑的频率响应或者良好的阻带衰减。
5.确定滤波器的系数:根据设计的理想频率响应,通过反变换或优化算法确定滤波器的系数。
常用的优化算法包括频域方法、时域方法、最小二乘法或最小相位法等。
6.实现滤波器:将所得的滤波器系数转化为滤波器的差分方程形式或直接计算滤波器的频域响应。
7.评估滤波器性能:使用合适的测试信号输入滤波器,并对滤波器的输出进行评估。
可以使用指标,如频率响应曲线、幅度响应误差、相位响应误差或阻带衰减等指标来评估滤波器性能。
8.优化滤波器性能:根据评估结果,进行必要的修改和优化设计,以满足滤波器的要求。
通过以上步骤,可以设计出满足需求的FIR数字滤波器。
需要注意的是,FIR数字滤波器设计的复杂度和性能需要权衡与平衡,以满足实际应用的要求。
实验五:FIR数字滤波器设计与软件实现一、实验指导1.实验目的(1)掌握用窗函数法设计FIR数字滤波器的原理和方法。
(2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。
(3)掌握FIR滤波器的快速卷积实现原理。
(4)学会调用MATLAB函数设计与实现FIR滤波器。
2.实验内容及步骤(1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理;(2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图1所示;图1 具有加性噪声的信号x(t)及其频谱如图(3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB。
先观察xt的频谱,确定滤波器指标参数。
(4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调用MATLAB函数fir1设计一个FIR低通滤波器。
并编写程序,调用MATLAB快速卷积函数fftfilt实现对xt的滤波。
绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。
(4)重复(3),滤波器指标不变,但改用等波纹最佳逼近法,调用MATLAB函数remezord和remez设计FIR数字滤波器。
并比较两种设计方法设计的滤波器阶数。
提示:○1MATLAB函数fir1的功能及其调用格式请查阅教材;○2采样频率Fs=1000Hz,采样周期T=1/Fs;○3根据图1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120Hz,阻带截至频率fs=150Hz,换算成数字频率,通带截止频率p 20.24pfωπ=T=π,通带最大衰为0.1dB,阻带截至频率s 20.3sfωπ=T=π,阻带最小衰为60dB。
○4实验程序框图如图2所示,供读者参考。
图2 实验程序框图4.思考题(1)如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?请写出设计步骤.(2)如果要求用窗函数法设计带通滤波器,且给定通带上、下截止频率为pl ω和pu ω,阻带上、下截止频率为sl ω和su ω,试求理想带通滤波器的截止频率cl cu ωω和。
数字信号处理课程实验报告实验名称FIR数字滤波器的设计系别通信工程通信学生姓名实验地点实验日期一、实验内容1. 产生三频率(100Hz,500Hz,1000Hz)叠加的信号。
2. 显示其频谱分布。
3. 设计一低通IIR滤波器,滤除最高频率1000Hz信号。
4. 设计一带通滤波器,滤除100Hz及1000Hz信号。
所有设计滤波器均为FIR滤波器二、实验目的本实验重在使学生结合具体应用,通过MATLAB的编程仿真及绘图,对信号的频谱进行分析,并设计相应的FIR滤波器实现滤波处理。
具体可利用对应的函数设计FIR低通,高通,带通,带阻滤波器,并要求有相应的图形表示和结果,观察完成滤波之后的时域波形。
使学生能够利用计算机完成对信号的上述处理与滤波功能,并分析现象。
三、涉及实验的相关情况介绍(包含使用软件或实验设备等情况)计算机一台(安装MATLAB6.5版本或以上版本)四、实验试做记录(含程序、数据记录及分析)function st=mstg%产生信号序列向量st,并显示st的时域波形和频谱%st=mstg 返回三路调幅信号相加形成的混合信号,长度N=1600N=1600 %N为信号st的长度。
Fs=10000;T=1/Fs;Tp=N*T; %采样频率Fs=10kHz,Tp为采样时间t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;fc1=Fs/10; %第1路调幅信号的载波频率fc1=1000Hz,fm1=fc1/10; %第1路调幅信号的调制信号频率fm1=100Hzfc2=Fs/20; %第2路调幅信号的载波频率fc2=500Hzfm2=fc2/10; %第2路调幅信号的调制信号频率fm2=50Hzfc3=Fs/40; %第3路调幅信号的载波频率fc3=250Hz,fm3=fc3/10; %第3路调幅信号的调制信号频率fm3=25Hzxt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t); %产生第1路调幅信号xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t); %产生第2路调幅信号xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t); %产生第3路调幅信号st=xt1+xt2+xt3; %三路调幅信号相加fxt=fft(st,N); %计算信号st的频谱%====以下为绘图部分,绘制st的时域波形和幅频特性曲线==================== subplot(3,1,1)plot(t,st);grid;xlabel('t/s');ylabel('s(t)');axis([0,Tp/8,min(st),max(st)]);title('(a) s(t)的波形')subplot(3,1,2)stem(f,abs(fxt)/max(abs(fxt)),'.');grid;title('(b) s(t)的频谱')axis([0,Fs/5,0,1.2]);xlabel('f/Hz');ylabel('幅度')再运行自定义的程序,产生如下三幅图:由上至下依次为高通、带通、低通巴特沃斯滤波器wp=2*pi*5000;ws=2*pi*12000;Rp=2;As=30;[N,wc]=buttord(wp,ws,Rp,As,'s');[B,A]=butter(N,wc,'s');k=0:511;fk=0:140000/512:14000;wk=2*pi*fk;Hk=freqs(B,A,wk);subplot(2,2,1);plot(fk/1000,20*log10(abs(Hk)));grid on;xlabel('ƵÂÊ(KHz)');ylabel('·ù¶È(dB)');axis([0,14,-40,5])五、实验总结通过本次上机实验,熟悉了matlab的使用并且使我我更进一步地了解了FIR数字滤波器的设计方法及其步骤,加深了我对FIR数字滤波器的认识。
实验五FIR数字滤波器的设计
FIR数字滤波器的设计可以分为以下几个步骤:
1.确定滤波器的类型和规格:根据实际需求确定滤波器的类型(如低通、高通、带通等)以及滤波器的截止频率、通带衰减以及阻带衰减等规格。
2.选择滤波器的窗函数:根据滤波器的规格,选择合适的窗函数(如矩形窗、汉宁窗、布莱克曼窗等)。
窗函数的选择会影响滤波器的频率响应以及滤波器的过渡带宽度等特性。
3.确定滤波器的阶数:根据滤波器的规格和窗函数的选择,确定滤波器的阶数。
通常来说,滤波器的阶数越高,滤波器的性能越好,但相应的计算和处理也会更加复杂。
4.设计滤波器的频率响应:通过在频率域中设计滤波器的频率响应来满足滤波器的规格要求。
可以使用频率采样法、窗函数法或优化算法等方法。
5. 将频率响应转换为差分方程:通过逆Fourier变换或其他变换方法,将频率响应转换为滤波器的差分方程表示。
6.量化滤波器的系数:将差分方程中的连续系数离散化为滤波器的实际系数。
7.实现滤波器:使用计算机编程、数字信号处理芯片或FPGA等方式实现滤波器的功能。
8.测试滤波器性能:通过输入一组测试信号并观察输出信号,来验证滤波器的性能是否符合设计要求。
需要注意的是,FIR数字滤波器的设计涉及到频率域和时域的转换,以及滤波器系数的选择和调整等过程,需要一定的信号处理和数学背景知识。
一、实验名称数字信号处理实验二、实验目的1. 理解数字信号处理的基本概念和原理。
2. 掌握数字滤波器的设计方法及其应用。
3. 熟悉数字信号处理软件的使用,提高实验技能。
三、实验原理数字信号处理(Digital Signal Processing,DSP)是研究数字信号的产生、处理、分析和应用的科学。
本实验主要涉及以下几个方面:1. 数字滤波器的基本概念:数字滤波器是一种对数字信号进行频率选择的装置,可以用于信号的滤波、增强、抑制等。
2. 滤波器的设计方法:主要包括有限脉冲响应(FIR)滤波器和无限脉冲响应(IIR)滤波器的设计方法。
3. 数字信号处理软件的使用:利用MATLAB等软件进行数字信号处理实验,提高实验效率。
四、实验器材1. 实验计算机2. MATLAB软件3. 实验指导书五、实验步骤1. 实验一:FIR滤波器设计(1)打开MATLAB软件,创建一个新的脚本文件。
(2)根据实验指导书的要求,输入FIR滤波器的参数,如滤波器的阶数、截止频率等。
(3)运行脚本文件,观察滤波器的频率响应曲线。
(4)根据实验结果,分析滤波器的性能。
2. 实验二:IIR滤波器设计(1)打开MATLAB软件,创建一个新的脚本文件。
(2)根据实验指导书的要求,输入IIR滤波器的参数,如滤波器的阶数、截止频率等。
(3)运行脚本文件,观察滤波器的频率响应曲线。
(4)根据实验结果,分析滤波器的性能。
3. 实验三:数字信号处理软件的使用(1)打开MATLAB软件,创建一个新的脚本文件。
(2)根据实验指导书的要求,输入信号处理的参数,如采样频率、滤波器类型等。
(3)运行脚本文件,观察信号处理的结果。
(4)根据实验结果,分析数字信号处理软件的应用。
六、实验结果与分析1. 实验一:FIR滤波器设计实验结果表明,所设计的FIR滤波器具有较好的频率选择性,滤波效果符合预期。
2. 实验二:IIR滤波器设计实验结果表明,所设计的IIR滤波器具有较好的频率选择性,滤波效果符合预期。
物理与电子信息工程学院实验报告实验课程名称:数字信号处理实验名称:FIR数字滤波器设计与软件实现班级:1012341姓名:严娅学号:101234153成绩:_______实验时间:2012年12月20 日一、实验目的(1)掌握用窗函数法设计FIR 数字滤波器的原理和方法。
(2)掌握用等波纹最佳逼近法设计FIR 数字滤波器的原理和方法。
(3)掌握FIR 滤波器的快速卷积实现原理。
(4)学会调用MATLAB 函数设计与实现FIR 滤波器。
二、实验原理1、用窗函数法设计FIR 数字滤波器的原理和方法。
如果所希望的滤波器的理想频率响应函数为 )(ωj d e H ,则其对应的单位脉冲响应为)(n h d =π21ωωωππd e e H j j d )(⎰- (2-1)窗函数设计法的基本原理是用有限长单位脉冲响应序列)(n h 逼近)(n h d 。
由于)(n h d 往往是无限长序列,且是非因果的,所以用窗函数)(n ω将)(n h d 截断,并进行加权处理,得到:)(n h =)(n h d )(n ω (2-2))(n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数)(ωj d e H 为:)(ωj d e H =∑-=-1)(N n j e n h ω (2-3) 式中,N 为所选窗函数)(n ω的长度。
由第七章可知,用窗函数法设计的滤波器性能取决于窗函数)(n ω的类型及窗口长度N 的取值。
设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。
各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见第七章。
这样选定窗函数类型和长度N 后,求出单位脉冲响应)(n h =)(n h d ·)(n ω,并按式(2-3)求出)(ωj e H 。
)(ωj e H 是否满足要求,要进行验算。
一般在)(n h 尾部加零使长度满足于2的整数次幂,以便用FFT 计算)(ωj e H 。
FIR数字滤波器设计实验_完整版本实验旨在设计一种FIR数字滤波器,以滤除信号中的特定频率成分。
下面是完整的实验步骤:材料:-MATLAB或其他支持数字信号处理的软件-计算机-采集到的信号数据实验步骤:1.收集或生成需要滤波的信号数据。
可以使用外部传感器采集数据,或者在MATLAB中生成一个示波器信号。
2. 在MATLAB中打开一个新的脚本文件,并导入信号数据。
如果你是使用外部传感器采集数据,请将数据以.mat文件的形式保存,并将其导入到MATLAB中。
3.对信号进行预处理。
根据需要,你可以对信号进行滤波、降噪或其他预处理操作。
这可以确保信号数据在输入FIR滤波器之前处于最佳状态。
4.确定滤波器的设计规范。
根据信号的特性和要滤除的频率成分,确定FIR滤波器的设计规范,包括滤波器的阶数、截止频率等。
你可以使用MATLAB中的函数来帮助你计算滤波器参数。
5. 设计FIR滤波器。
使用MATLAB中的fir1函数或其他与你所使用的软件相对应的函数来设计满足你的规范条件的FIR滤波器。
你可以选择不同的窗函数(如矩形窗、汉宁窗等)来平衡滤波器的频域和时域性能。
6. 对信号进行滤波。
将设计好的FIR滤波器应用到信号上,以滤除特定的频率成分。
你可以使用MATLAB中的conv函数或其他相应函数来实现滤波操作。
7.分析滤波效果。
将滤波后的信号与原始信号进行比较,评估滤波效果。
你可以绘制时域图、频域图或其他特征图来分析滤波效果。
8.优化滤波器设计。
如果滤波效果不理想,你可以调整滤波器设计参数,重新设计滤波器,并重新对信号进行滤波。
这个过程可能需要多次迭代,直到达到最佳的滤波效果。
9.总结实验结果。
根据实验数据和分析结果,总结FIR滤波器设计的优点和缺点,以及可能的改进方向。
通过完成以上实验步骤,你将能够设计并应用FIR数字滤波器来滤除信号中的特定频率成分。
这对于许多信号处理应用都是非常重要的,如音频处理、图像处理和通信系统等。
fir数字滤波器设计实验报告FIR数字滤波器设计实验报告概述数字滤波器是数字信号处理中的重要组成部分,广泛应用于音频、图像、视频等领域。
其中,FIR数字滤波器是一种常见的数字滤波器,具有线性相位、稳定性好、易于实现等优点。
本实验旨在设计一种基于FIR数字滤波器的信号处理系统,实现对信号的滤波和降噪。
实验步骤1. 信号采集需要采集待处理的信号。
本实验采用的是模拟信号,通过采集卡将其转换为数字信号,存储在计算机中。
2. 滤波器设计接下来,需要设计FIR数字滤波器。
为了实现对信号的降噪,我们选择了低通滤波器。
在设计滤波器时,需要确定滤波器的阶数、截止频率等参数。
本实验中,我们选择了8阶低通滤波器,截止频率为500Hz。
3. 滤波器实现设计好滤波器后,需要将其实现。
在本实验中,我们采用MATLAB 软件实现FIR数字滤波器。
具体实现过程如下:定义滤波器的系数。
根据滤波器设计的公式,计算出系数值。
利用MATLAB中的filter函数对信号进行滤波。
将采集到的信号作为输入,滤波器系数作为参数,调用filter函数进行滤波处理。
处理后的信号即为滤波后的信号。
4. 结果分析需要对处理后的信号进行分析。
我们可以通过MATLAB绘制出处理前后的信号波形图、频谱图,比较它们的差异,以评估滤波器的效果。
结果显示,经过FIR数字滤波器处理后,信号的噪声得到了有效的降低,滤波效果较好。
同时,频谱图也显示出了滤波器的低通特性,截止频率处信号衰减明显。
结论本实验成功设计并实现了基于FIR数字滤波器的信号处理系统。
通过采集、滤波、分析等步骤,我们实现了对模拟信号的降噪处理。
同时,本实验还验证了FIR数字滤波器的优点,包括线性相位、稳定性好等特点。
在实际应用中,FIR数字滤波器具有广泛的应用前景。
实验四 用窗函数法设计FIR 滤波器一、实验目的1、熟悉FIR 滤波器设计的基本方法。
2、掌握用户窗函数设计FIR 数字滤波器的原理及方法,熟悉相应的计算机高级语言编程。
3、熟悉线性相位FIR 滤波器的幅频特性和相位特性。
4、了解各种不同窗函数对滤波器性能的响应。
二、实验原理和方法(一)FIR 滤波器的设计FIR 滤波器具有严格的相位特性,这对于语音信号处理和数据传输是很重要的。
目前FIR 滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。
本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。
它是从时域出发,用一个窗函数截取一个理想的)(n h d 得到h(n),以有限长序列h(n)近似理想的)(n h d :如果从频域出发,用理想的)(jw d e h 在单位圆上等角度取样得到H (k ),根据h(k)得到H(z)将逼近理想的)(z H d 这就是频率取样法。
(二)窗函数设计法同其它的的数字滤波器设计的方法一样,用窗函数设计滤波器也是首先要对滤波器提出性能指标。
一般是给定一个理想的频率响应)(jw d e h ,使所设计的FIR 滤波器的频率响应)(jw e h 去逼近所要求的理想的滤波器的响应)(jw d e h 窗函数设计的任务在于寻找一个可实现(有限长单位脉冲响应)的传递函数。
∑-=-=10)()(N n jw jwn e n h e H 去逼近)(jw d e h 。
我们知道,一个理想的频率响应)(jw d e h 的傅里叶变换⎰=ππ20)(21)(dw e e H n h jwn jw d d 所得到的理想的单位脉冲响应)(n h d 往往是一个无限长序列,对)(n h d 经过适当的加权、截取处理才得到一个所需要的有限长脉冲响应序列。
对应不同的加权、截断,就有不同的窗函数。
所要寻找的滤波器脉冲响应就等于理想脉冲响应和窗函数的乘积。
主讲人:李艳凤电子信息工程学院数 字 信 号 处 理Digital Signal Processing试用矩形窗函数法设计线性相位FIR 低通数字滤波器,其在W ∈[0,2p )内的幅度响应逼近c cj d 0 2π(e ) 1 H WW W W ≤<-⎧=⎨⎩其他(1) 若选用I 型线性相位系统,试确定h [k ];(2) 若选用II 型线性相位系统,试确定h [k ]。
解:I 型线性相位系统的幅度函数A (W )关于W =p 偶对称c d c cc10()02π12π2πW W W W W W W W ≤<⎧⎪=≤<-⎨⎪-≤<⎩A d ()2MϕW W=-c cj d 0 2π(e ) 1 H WW W W ≤<-⎧=⎨⎩其他Ωd ()W A 02p Ωc 2p-Ωc 1pd 2πj ()j d d01[]()e e d 2πk h k A ϕW WW W =⎰解: 根据A d (W )和ϕd (W )构建H d (e j W ),通过IDTFT 求解h d [k ]cc Sa[(0.5)]k M W W =-pcc2πj0.5j j0.5j 02π1{e e d e e d }2πM k M k ΩW W W W W W W ---=⋅+⋅⎰⎰c c j(0.5)j(0.5)(2π)j(0.5)2πd 1[][e 1e e ]2πj(0.5)k M k M k M h k k M W W ----=-+--c c j(0.5)j(0.5)j πj π1[e 1e ]2πj(e e 0.5)kM k M M kM k k M W W -----=-+-⋅-M 为偶数当k ≠0.5M 时解:cd c []Sa[(0.5)]h k k M W W =-p 加窗截短h d [k ],得到h [k ]= h d [k ]w N [k ],N 为奇数cc2πj0.5j j0.5j d 02π1[]{e e d e e d }2πM k M k h k W W W W WW W W ---=⋅+⋅⎰⎰当k ≠0.5M 时 当k=0.5M 时c c2πj0.5j0.5j0.5j0.5d 02π1[]{e e d e e d }2πM M M M h k W W W W W W W W ---=⋅+⋅⎰⎰c πW =cd c []Sa[(0.5)]h k k M W W =-pcc2π02π1{1d 1d }2πW W W W -=⋅+⋅⎰⎰解:II型线性相位系统的幅度函数A (W )关于W =p 奇对称 c d c cc10()02π12π2πW W W W W W W W --≤<⎧⎪=≤<≤<-⎨⎪⎩A d ()2MϕW W=-Ωd ()W A 02p Ωc 2p-Ωc 1-1p c cj d 0 2π(e ) 1 H WW W W ≤<-⎧=⎨⎩其他d 2πj ()j d d01[]()e e d 2πk h k A ϕW WW W =⎰解: 根据A d (W )和ϕd (W )构建H d (e j W ),通过IDTFT 求解h d [k ]cc2πj0.5j j0.5j 02π11{e e d e e d }2πΩM Ωk ΩM Ωk ΩΩΩΩ---=⋅-⋅+⋅⎰⎰加窗截短h d [k ],得到h [k ]= h d [k ]w N [k ],N 为偶数cd c []Sa[(0.5)]W W =-ph k k M c c j(0.5)j(0.5)(2π)j(0.5)2π1[e 1e e ]2πj(0.5)k M Ωk M Ωk M k M ----=--+-c c j(0.5)j(0.5)j πj π1[e 1e ]2πj(e e 0.5)kM kM k M Ωk M Ωk M -----=--+⋅-M 为奇数选用I 型线性相位系统选用II 型线性相位系统cd c []Sa[(0.5)]W W =-ph k k M cd c []Sa[(0.5)]W W =-ph k k M c cj d 0 2π(e ) 1 H WW W W ≤<-⎧=⎨⎩其他试用矩形窗函数法设计线性相位FIR 低通数字滤波器,其在W ∈[0,2p )内的幅度响应逼近c d c cc10()02π12π2πW W W W W W W W ≤<⎧⎪=≤<-⎨⎪-≤<⎩A c d c cc10()02π12π2πW W W W W W W W --≤<⎧⎪=≤<≤<-⎨⎪⎩A I 型:M =62 II 型:M =63谢谢本课程所引用的一些素材为主讲老师多年的教学积累,来源于多种媒体及同事和同行的交流,难以一一注明出处,特此说明并表示感谢!。
实验四 用窗函数法设计 FIR 数字滤波器一、 实验目的(1) 掌握用窗函数法设计FIR 数字滤波器的原理和方法。
(2) 熟悉线性相位FIR 数字滤波器特性。
(3) 了解各种窗函数对滤波特性的影响。
二、 实验原理、滤波器的理想频率响应函数为H d (e j ω),则其对应的单位脉冲响应为h d (n) =⎰-ππωωωπd e e H n j j d)(21 窗函数设计法的基本原理是用有限长单位脉冲响应序列h(n)逼h d (n)。
由于h d (n)往往是无限长序列,且是非因果的,所以用窗函数。
w(n)将h d (n)截断,并进行加权处理:h(n) = h d (n) w(n)h(n)就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数H(e j ω)为H(e j ω) =∑-=-10)(N n n j en h ω用窗函数法设计的滤波器性能取决于窗函数w(n)的类型及窗口长度N 的取值。
设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。
三、 实验内容1.MATALAB 程序任务一N1=15;N2=33;b1=fir1(14,1/4,hanning(15));b2=fir1(32,1/4,hanning(33));[H1,W]=freqz(b1,1);H1_db=20*log10(abs(H1));magH1=abs(H1);phaH1=angle(H1);[H2,W]=freqz(b2,1);H2_db=20*log10(abs(H2));magH2=abs(H2);phaH2=angle(H2);figure(1);subplot(2,1,1);stem(b1);title('N=15时,汉宁窗得到的FIR滤波器脉冲响应'); subplot(2,1,2);stem(b2);title('N=33时,汉宁窗得到的FIR滤波器脉冲响应');figure(2);subplot(3,1,1);plot(W/pi,magH1);title('N=15时汉宁窗得到的FIR滤波器的幅频特性') subplot(3,1,2);plot(W/pi,H1_db);title('N=15时汉宁窗得到的FIR滤波器的对数幅频特性') subplot(3,1,3);plot(W/pi,phaH1);title('N=15时汉宁窗得到的FIR滤波器的相频特性')figure(3);subplot(3,1,1);plot(W/pi,magH2);title('N=33时汉宁窗得到的FIR滤波器的幅频特性') subplot(3,1,2);plot(W/pi,H2_db);title('N=33时汉宁窗得到的FIR滤波器的对数幅频特性') subplot(3,1,3);plot(W/pi,phaH2);title('N=33时汉宁窗得到的FIR滤波器的相频特性')任务二N=33;b1=fir1(32,1/4,boxcar(33));b2=fir1(32,1/4,hanning(33));b3=fir1(32,1/4,bartlett(33));b4=fir1(32,1/4,blackman(33));[H1,W]=freqz(b1,1);H1_db=20*log10(abs(H1));magH1=abs(H1);phaH1=angle(H1);[H2,W]=freqz(b2,1);H2_db=20*log10(abs(H2));magH2=abs(H2);phaH2=angle(H2);[H3,W]=freqz(b3,1);H3_db=20*log10(abs(H3));magH3=abs(H3);phaH3=angle(H3);[H4,W]=freqz(b4,1);H4_db=20*log10(abs(H4));magH4=abs(H4);phaH4=angle(H4);figure(1);subplot(2,2,1);stem(b1);title('矩形窗得到的FIR滤波器脉冲响应') subplot(2,2,2);stem(b2);title('汉宁窗得到的FIR滤波器脉冲响应') subplot(2,2,3);stem(b3);title('三角窗得到的FIR滤波器脉冲响应') subplot(2,2,4);stem(b4);title('布拉克曼窗得到的FIR滤波器脉冲响应') figure(2);subplot(2,2,1);plot(W/pi,magH1);title('矩形窗得到的FIR滤波器幅频特性')title('汉宁窗得到的FIR滤波器幅频特性') subplot(2,2,3);plot(W/pi,magH3);title('三角窗得到的FIR滤波器幅频特性') subplot(2,2,4);plot(W/pi,magH4);title('布拉克曼窗得到的FIR滤波器幅频特性') figure(3);subplot(2,2,1);plot(W/pi,H1_db);title('矩形窗得到的FIR滤波器相频特性') subplot(2,2,2);plot(W/pi,H2_db);title('汉宁得到的FIR滤波器相频特性') subplot(2,2,3);plot(W/pi,H3_db);title('三角窗得到的FIR滤波器相频特性') subplot(2,2,4);plot(W/pi,H4_db);title('布拉克曼得到的FIR滤波器相频特性') figure(4);subplot(2,2,1);plot(W/pi,phaH1);title('矩形窗得到的FIR滤波器相频特性') subplot(2,2,2);plot(W/pi,phaH2);title('汉宁窗得到的FIR滤波器相频特性') subplot(2,2,3);plot(W/pi,phaH3);title('三角窗得到的FIR滤波器相频特性')title('布拉克曼窗得到的FIR滤波器相频特性') 2.实验波形图任务一任务二四、 实验结论1.N 的大小决定了窗谱的主瓣宽度,N 越大,窗谱的主瓣宽度越大2.最小阻带衰减只有窗行决定,不受N 的影响,过渡带宽度与N 和窗形都有关,N 越大,过渡带宽越小3.由实验可知滤波特性:布拉克曼窗>汉宁窗>三角窗>矩形窗五、 思考题(1) 如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?写出设计步骤。
实验四 用窗函数设计FIR 滤波器一、 实验目的1、熟悉FIR 滤波器设计的基本方法。
2、掌握用窗函数设计FIR 数字滤波器的原理及方法,熟悉相应的计算机高级语言编程。
3、熟悉线性相位FIR 滤波器的幅频特性和相位特性。
4、了解各种不同窗函数对滤波器性能的响应。
二、 实验原理和方法窗函数法设计的任务在于寻找一个可实现有限长单位脉冲响应的传递函数H(e jw )=∑-=10N n h(n)e -jwn 去逼近h d (n)=1/2π⎰π20H d (e jw )e jwn dw即h(n)=h d (n)w (n ) (一)几种常用的窗函数1、矩形窗 w(n)=R N (n)2、Hanning 窗 w(n)=0.5[1-cos(2πn /N-1)]R N (n)3、Hamming 窗 w(n)=[0.54-0.46cos(2πn /N-1)]R N (n)4、Blackman 窗 w(n)=[0.42-0.5 cos(2πn /N-1)+0.08 cos(4πn /N-1)] R N (n)5、Kaiser 窗 w(n)=I 0(β(1-[(2n /(N-1))-1]2)½)/I 0(β)(二)窗函数法设计线性相位FIR 滤波器的步骤1、确定数字滤波器的性能要求。
确定各临界频率{w k }和滤波器单位脉冲响应长度N 。
2、根据性能要求和N 值,合理地选择单位脉冲响应h(n)有奇偶对称性,从而确定理想频率响应h d (e jw )的幅频特性和相位特性。
3、用傅里叶反变换公式求得理想单位脉冲响应h d (n)。
4、选择适当的窗函数W (n ),求得所设计的FIR 滤波器单位脉冲响应。
5、用傅里叶变换求得其频率响应H (e jw ),分析它的幅频特性,若不满足要求,可适当改变窗函数形式或长度N ,重复上述过程,直至得到满意的结果。
三、实验内容和步骤1、分别用矩形窗、Hanning 窗、Hamming 窗、Blackman 窗、Kaiser 窗(β=8.5)设计一个长度N=8的线性相位FIR 滤波器。
FIR滤波器设计与实现实验报告目录一、实验概述 (2)1. 实验目的 (3)2. 实验原理 (3)3. 实验设备与工具 (4)4. 实验内容与步骤 (6)5. 实验数据与结果分析 (7)二、FIR滤波器设计 (8)1. 滤波器设计基本概念 (9)2. 系数求解方法 (10)频谱采样法 (11)最小均方误差法 (14)3. 常用FIR滤波器类型 (15)线性相位FIR滤波器 (16)非线性相位FIR滤波器 (18)4. 设计实例与比较 (19)三、FIR滤波器实现 (20)1. 硬件实现基础 (21)2. 软件实现方法 (22)3. 实现过程中的关键问题与解决方案 (23)4. 滤波器性能评估指标 (25)四、实验结果与分析 (26)1. 实验数据记录与处理 (27)2. 滤波器性能测试与分析 (29)通带波动 (30)虚部衰减 (31)相位失真 (32)3. 与其他设计方案的对比与讨论 (33)五、总结与展望 (34)1. 实验成果总结 (35)2. 存在问题与不足 (36)3. 未来发展方向与改进措施 (37)一、实验概述本次实验的主要目标是设计并实现一个有限脉冲响应(Finite Impulse Response,简称FIR)滤波器。
FIR滤波器是数字信号处理中常用的一种滤波器,具有线性相位响应和易于设计的优点。
本次实验旨在通过实践加深我们对FIR滤波器设计和实现过程的理解,提升我们的实践能力和问题解决能力。
在实验过程中,我们将首先理解FIR滤波器的基本原理和特性,包括其工作原理、设计方法和性能指标。
我们将选择合适的实验工具和环境,例如MATLAB或Python等编程环境,进行FIR滤波器的设计。
我们还将关注滤波器的实现过程,包括代码编写、性能测试和结果分析等步骤。
通过这次实验,我们期望能够深入理解FIR滤波器的设计和实现过程,并能够将理论知识应用到实践中,提高我们的工程实践能力。
本次实验报告将按照“设计原理设计方法实现过程实验结果与分析”的逻辑结构进行组织,让读者能够清晰地了解我们实验的全过程,以及我们从中获得的收获和启示。
FIR 数字滤波器的设计一、 实验目的(1) 掌握用窗函数法、频率采样法及优化设计法设计FIR 数字滤波器的原理及方法,熟悉相应的MATLAB 编程。
(2) 熟悉线性相位FIR 滤波器的幅频特性和相频特性。
(3) 了解各种不同窗函数对滤波器性能的影响。
二、 实验内容1.窗函数归一化的幅度谱00.10.20.30.40.50.60.70.80.91-100100矩形窗归一化频率/π幅度/d B0.10.20.30.40.50.60.70.80.91-200200汉明窗归一化频率/π幅度/d B00.10.20.30.40.50.60.70.80.91-200200布莱克曼窗归一化频率/π幅度/d B分析:特点:矩形窗:具有最窄的主瓣宽度,最大的旁瓣峰值; 汉明窗:主瓣稍宽,但有较小的旁瓣; 布莱克曼窗:主瓣宽度最宽,旁瓣最小。
2. 带通滤波器0.51-300-200-1000N=15;归一化频率/π幅度/d B0.51-4-2024归一化频率/π相位/d BN=15;0.51-300-200-1000N=45;归一化频率/π幅度/d B0.51-4-2024归一化频率/π相位/d BN=45;分析:N =15时,3dB 带宽约为0.16pi 20dB 带宽约为0.3pi N=45时,3dB 带宽约为0.12pi 20dB 带宽约为0.24piN 越大,3dB 带宽、20dB 带宽越窄,阻带衰减越大,越逼近设计要求。
3.0.10.20.30.40.50.60.70.80.91-150-100-500汉宁窗归一化频率/π幅度/d B0.10.20.30.40.50.60.70.80.91-100-500矩形窗归一化频率/π幅度/d B0.10.20.30.40.50.60.70.80.91-150-100-500布莱克曼窗归一化频率/π幅度/d B矩形窗设计的滤波器过渡带最窄,但阻带最小衰减也最差,约为21dB ; 汉宁窗设计的滤波器过渡带稍宽,但有较好的阻带衰减,约为44dB ; 布莱克曼窗设计的滤波器阻带衰减最好,约为74dB ,但过渡带最宽。
实验五FIR滤波器设计一.实验内容(1)认真复习FIR 数字滤波器的基本概念,线性相位FIR 滤波器的条件和特点、幅度函数特点、零点位置的基本特点与性质;窗函数设计法的基本概念与方法,各种窗函数的性能和设计步骤,线性相位FIR 低通、高通、带通和带阻滤波器的设计方法,频率采样设计法的基本概念和线性相位的实现方法。
(2)掌握几种线性相位的特点,熟悉和掌握矩形窗、三角形窗、汉宁窗、海明窗、布莱克曼窗、凯塞窗设计IIR 数字滤波器的方法,熟悉和掌握频率抽样设计法的线性相位的设计方法,并对各种线性相位的频率抽样法的设计给出调整和改进。
(3)熟悉利用MATLAB 进行各类FIR 数字滤波器的设计方法。
二.实验内容a. 设线性相位FIR 滤波器单位抽样响应分别为h(n )={ -4,1, -1,- 2,5,6,5, -2, -1,1, -4}h(n)={ -4,1, -1,- 2,5,6,6,5,- 2, -1,1,- 4}h(n)={ -4,1,- 1, -2,5,0,- 5,2,1,- 1,4}h(n)={ -4,1, -1, -2,5,6,- 6, -5,2,1, -1,4}分别求出滤波器的幅度频率响应H(ω),系统函数H(z)以及零极点分布,并绘制相应的波形和分布图。
在matlab中新建函数amplres,代码如下:function[A,w,type,tao]=amplres(h)N=length(h);tao=(N-1)/2;L=floor((N-1)/2);n=1:L+1;w=[0:500]*2*pi/500;if all(abs(h(n)-h(N-n+1))<1e-10)A=2*h(n)*cos(((N+1)/2-n)'*w)-mod(N,2)*h(L+1);type=2-mod(N,2);elseif all(abs(h(n)+h(N-n+1))<1e-10)&(h(L+1)*mod(N,2)==0)A=2*h(n)*sin(((N+1)/2-n)'*w);type=4-mod(N,2);else error('错误,这不是线性相位滤波器!')end对第一个单位抽样响应,在matlab中新建函数a1,代码如下:h1=[-4,1,-1,-2,5,6,5,-2,-1,1,-4];M=length(h1);n=0:M-1;[A,w,type,tao]=amplres(h1);typesubplot(2,1,1),stem(n,h1);title('冲激响应h1');ylabel('h(n)');xlabel('n');subplot(2,1,2),plot(w/pi,A);ylabel('A');xlabel('\pi');title('·幅频响应');figurerz=roots(h1)for i=1:8r(i)=1/rz(i);endr'zplane(h1,1);title('h1零极点图');生成结果如下:>>a1type =1rz =-0.9807 + 0.1956i-0.9807 - 0.1956i-0.5578 + 0.8300i-0.5578 - 0.8300i 0.4052 + 1.2374i0.4052 - 1.2374i1.2169 + 0.0000i 0.8218 + 0.0000i 0.2390 + 0.7299i 0.2390 - 0.7299ians =-0.9807 + 0.1956i -0.9807 - 0.1956i -0.5578 + 0.8300i -0.5578 - 0.8300i 0.2390 + 0.7299i 0.2390 - 0.7299i0.8218 + 0.0000i1.2169 + 0.0000i对第二个单位抽样响应,在matlab中新建函数a2,代码如下:h2=[-4,1,-1,-2,5,6,6,5,-2,-1,1,-4];M=length(h2);n=0:M-1;[A,w,type,tao]=amplres(h2);typesubplot(2,1,1),stem(n,h2);title('冲激响应h2');ylabel('h(n)');xlabel('n');subplot(2,1,2),plot(w/pi,A);ylabel('A');xlabel('\pi');title('幅频响应');figurerz=roots(h2)for i=1:8r(i)=1/rz(i);endr'zplane(h2,1);title('·h2零极点图');生成结果如下:>>a2type =2rz =1.3120 + 0.0000i -1.0000 + 0.0000i -0.8868 + 0.4622i -0.8868 - 0.4622i 0.4778 + 1.1851i 0.4778 - 1.1851i -0.2957 + 0.9553i -0.2957 - 0.9553i 0.7622 + 0.0000i 0.2926 + 0.7258i 0.2926 - 0.7258ians =0.7622 + 0.0000i -1.0000 + 0.0000i -0.8868 + 0.4622i -0.8868 - 0.4622i 0.2926 + 0.7258i 0.2926 - 0.7258i -0.2957 + 0.9553i -0.2957 - 0.9553i对第三个单位抽样响应,在matlab中新建函数a3,代码如下:h3=[-4,1,-1,-2,5,0,-5,2,1,-1,4];M=length(h3);n=0:M-1;[A,w,type,tao]=amplres(h3);typesubplot(2,1,1),stem(n,h3);title('冲激响应h3');ylabel('h(n)');xlabel('n');subplot(2,1,2),plot(w/pi,A);ylabel('A');xlabel('\pi');title('幅频响应¦');figurerz=roots(h3)for i=1:8r(i)=1/rz(i);endr'zplane(h3,1);title('h3零极点图');生成结果如下:>> a3type =3rz =-1.0000 + 0.0000i-0.8732 + 0.4874i-0.8732 - 0.4874i0.1010 + 1.2041i0.1010 - 1.2041i1.0000 + 0.0000i0.8280 + 0.5607i0.8280 - 0.5607i0.0692 + 0.8247i0.0692 - 0.8247ians =-1.0000 + 0.0000i -0.8732 + 0.4874i -0.8732 - 0.4874i 0.0692 + 0.8247i0.0692 - 0.8247i1.0000 + 0.0000i 0.8280 + 0.5607i 0.8280 - 0.5607i对第四个单位抽样响应,在matlab中新建函数a4,代码如下:h4=[-4,1,-1,-2,5,6,-6,-5,2,1,-1,4];M=length(h4);n=0:M-1;[A,w,type,tao]=amplres(h4);typesubplot(2,1,1),stem(n,h4);title('冲激响应h4');ylabel('h(n)');xlabel('n');subplot(2,1,2),plot(w/pi,A);ylabel('A');xlabel('\pi');title('·幅频响应¦');figurerz=roots(h4)for i=1:8r(i)=1/rz(i);endr'zplane(h4,1);title('h4零极点图');生成结果如下:>> a4type =4rz =0.2631 + 1.3394i 0.2631 - 1.3394i -0.9505 + 0.3108i -0.9505 - 0.3108i -0.7309 + 0.6825i -0.7309 - 0.6825i 0.9021 + 0.4315i0.9021 - 0.4315i1.0000 + 0.0000i 0.1412 + 0.7189i 0.1412 - 0.7189ians =0.1412 + 0.7189i 0.1412 - 0.7189i -0.9505 + 0.3108i -0.9505 - 0.3108i -0.7309 + 0.6825i -0.7309 - 0.6825i 0.9021 + 0.4315i 0.9021 - 0.4315ib. 设计FIR 数字低通滤波器,技术指标为:ωp=0.2π,ωst=0.3π,δ1=0.25dB,δ2=50dB。
(1) 通过技术指标,选择一种窗函数进行设计;(2) 求滤波器的单位抽样响应、频率响应,并绘制波形。
(3) 选择凯塞窗函数设计该滤波器,并绘制相应的波形图。
在matlab中新建函数ideal_lp,代码如下:function hd=ideal_lp(wc,M);% Ideal LowPass filter computation% --------------------------------% [hd] = ideal_lp(wc,M);% hd = ideal impulse response between 0 to M-1% wc = cutoff frequency in radians% M = length of the ideal filter%alpha = (M-1)/2;n = [0:1:(M-1)];m = n - alpha +eps; % add smallest number to avoi divided by zero hd = sin(wc*m)./(pi*m);end在matlab中新建函数freqz_m,代码如下:function [db,mag,pha,grd,w] = freqz_m(b,a);[H,w] = freqz(b,a,1000,'whole');H = (H(1:1:501))'; w = (w(1:1:501))';mag = abs(H);db = 20*log10((mag+eps)/max(mag));pha = angle(H);grd = grpdelay(b,a,w);在matlab中新建函数b1,代码如下:%用Hamming窗函数设计FIR数字滤波器wp=0.2*pi;ws=0.3*piN=61n=[0:1:N-1]wc=(ws+wp)/2;%理想低通滤波器hd=ideal_lp(wc,N);%理想低通的冲激响应w_ham=(hamming(N))';h=hd.*w_ham;%FIR滤波器冲激响应[db,mag,pha,grd,w]=freqz_m(h,[1]);delta_w=2*pi/1000;Rp=-(min(db(1:1:wp/delta_w+1)))%实际的通带衰减As=-round(max(db(ws/delta_w+1:1:501)))%实际的最小阻带衰减subplot(221);stem(n,hd);title('理想冲激响应')axis([0 N-1 -0.1 0.3]);xlabel('n');ylabel('hd(n)')subplot(222);stem(n,w_ham);title('hamming窗')axis([0 N-1 0 1.1]);xlabel('n');ylabel('w(n)');subplot(223);stem(n,h);title('实际冲激响应')axis([0 N-1 -0.1 0.3]);xlabel('n');ylabel('h(n)')subplot(224);plot(w/pi,db);axis([0 0.8 -100 0]);xlabel('以PI为单位的频率');ylabel('对数幅度/db'); 实验结果如下:在matlab中新建函数b2,代码如下:%用Kaiser窗函数设计FIR数字滤波器wp=0.2*pi;ws=0.3*pi;As=50tr_width=ws-wpN=ceil((As-7.95)/(14.36*tr_width/(2*pi))+1)+1n=[0:1:N-1]beta=0.1102*(As-8.7)wc=(wp+ws)/2%理想低通的截止频率hd=ideal_lp(wc,N)w_kai=(kaiser(N,beta))'h=hd.*w_kai[db,mag,pha,grd,w]=freqz_m(h,[1])delta_w=2*pi/1000Rp=-(min(db(1:1:wp/delta_w+1)))%Ê实际的通带衰减As=-round(max(db(ws/delta_w+1:1:501)))%实际的最小阻带衰减subplot(211);plot(w/pi,db);title('凯森窗幅度响应(dB)');grid axis([0 0.5 -100 0])ylabel('对数幅度/db');xlabel('以/pi为单位的频率')subplot(212);plot(w/pi,pha);title('相位响应');gridaxis([0 0.5 -4 4])ylabel('相位');xlabel('以/pi为单位的频率')实验结果如下:c. 设计FIR 数字带通滤波器,技术指标为:下阻带边缘:ωst1=0.2π,δs1=60dB,下通带边缘:ωp1=0.35π,δp1=1dB;上通带边缘:ωp2=0.65π,δp1=1dB,上阻带边缘:ωst2=0.8π,δs2=60dB;(1) 通过技术指标,选择一种窗函数进行设计;(2) 求滤波器的单位抽样响应、频率响应,并绘制波形。