实验4-滤波器设计
- 格式:doc
- 大小:1.57 MB
- 文档页数:13
实验四 IIR 数字滤波器的设计及网络结构一、实验目的1.了解IIR 数字滤波器的网络结构。
2.掌握模拟滤波器、IIR 数字滤波器的设计原理和步骤。
3.学习编写数字滤波器的设计程序的方法。
二、实验内容数字滤波器:是数字信号处理技术的重要内容。
它的主要功能是对数字信号进行处理,保留数字信号中的有用成分,去除信号中的无用成分。
1.数字滤波器的分类滤波器的种类很多,分类方法也不同。
(1)按处理的信号划分:模拟滤波器、数字滤波器 (2)按频域特性划分;低通、高通、带通、带阻。
(3)按时域特性划分:FIR 、IIR2.IIR 数字滤波器的传递函数及特点数字滤波器是具有一定传输特性的数字信号处理装置。
它的输入和输出均为离散的数字信号,借助数字器件或一定的数值计算方法,对输入信号进行处理,改变输入信号的波形或频谱,达到保留信号中有用成分去除无用成分的目的。
如果加上A/D 、D/A 转换,则可以用于处理模拟信号。
设IIR 滤波器的输入序列为x(n),则IIR 滤波器的输入序列x(n)与输出序列y(n)之间的关系可以用下面的方程式表示:1()()()M Ni j i j y n b x n i a y n j ===-+-∑∑(5-1)其中,j a 和i b 是滤波器的系数,其中j a 中至少有一个非零。
与之相对应的差分方程为:10111....()()()1....MM NN b b z b z Y z H Z X z a z a z ----++==++ (5-2)由传递函数可以发现无限长单位冲激响应滤波器有如下特点: (1) 单位冲激响应h(n)是无限长的。
(2) 系统传递函数H(z)在有限z 平面上有极点存在。
(3) 结构上存在着输出到输入的反馈,也就是结构上是递归型的。
3.IIR 滤波器的结构IIR 滤波器包括直接型、级联型和并联型三种结构:① 直接型:优点是简单、直观。
但由于系数bm 、a k 与零、极点对应关系不明显,一个bm 或a k 的改变会影响H(z)所有零点或极点的分布,所以一方面,bm 、a k 对滤波器性能的控制关系不直接,调整困难;另一方面,零、极点分布对系数变化的灵敏度高,对有限字长效应敏感,易引起不稳定现象和较大误差。
实验四 微带短截线低通滤波器的设计4.1 微带短截线低通滤波器设计基础4.1.1分布参数滤波元件的实现1. Richards 变换集总元件构成的滤波器通常工作频率较低,在微波频段,我们常常采用微带结构实现较好的滤波性能。
在设计得到滤波器原型之后,为了实现电路设计从集总参数到分布参数的变换,Richards 提出了一种变换方法,这种变换可以将集总元件变换成传输线段。
如图4.1所示,电感L 可等效为长为λ/8,特性阻抗为L 的短路线;电容C 可等效为长为λ/8,特性阻抗为1/C 的开路线。
图4.1 Richards 变换2. Kuroda 规则采用Richards 变换后,串联元件将变换为串联微带短截线,并联元件将变换为并联短截线。
由于串联微带短截线是不可实现的,所以需要将其转变为其它可实现的形式。
为了方便各种传输线结构之间的相互变换,Kuroda 提出了四个规则,如图4.2所示。
其中,2211/n Z Z =+;U.E.是单位元件,即电长度为λ/8、特性阻抗为UE Z 的传输线。
选用合适的Kuroda 规则,可以将串联短截线变换为容易实现的并联短截线。
图4.2 Kuroda 规则4.1.2 微带短截线低通滤波器设计步骤微带短截线低通滤波器的实现可分为四个步骤: 1. 根据设计要求进行低通滤波器原型设计;2. 采用Richard 变换将低通滤波器原型中的电感和电容转换为等效的λ/8串联和并联传输线;3. 应用Kuroda 规则将串联短截线转换为并联短截线;4. 阻抗和频率定标。
4.1.3 微带短截线低通滤波器设计实例设计一个3阶、0.5dB 等波纹低通滤波器,其截止频率为4GHz ,阻抗是50欧姆。
第一步 根据设计要求,查表得到低通滤波器原型。
111.5963g L == 221.0947g C == 331.5963g L ==第二步应用Richard变换将电感和电容转换为等效的串联和并联短截线。
实验四微带线带通滤波器设计实验四:基于ADS软件的平⾏耦合微带线带通滤波器的设计与仿真⼀、实验原理滤波器是⽤来分离不同频率信号的⼀种器件,在微波电路系统中,滤波器的性能对电路的性能指标有很⼤的影响,微带电路具有体积⼩,重量轻、频带宽等诸多优点,在微波电路系统应⽤⼴泛,其中⽤微带做滤波器是其主要应⽤之⼀。
平⾏耦合微带线带通滤波器在微波集成电路中是被⼴为应⽤的带通滤波器。
1、滤波器的介绍滤波波器可以分为四种:低通滤波器和⾼通滤波器、带通滤波器和带阻滤波器。
射频滤波器⼜可以分为以下波导滤波器、同轴线滤波器、带状线滤波器、微带滤波器。
滤波的性能指标:频率围:滤波器通过或截断信号的频率界限通带衰减:滤波器残存的反射以及滤波器元件的损耗引起阻带衰减:取通带外与截⽌频率为⼀定⽐值的某频率的衰减值寄⽣通带:有分布参数的频率周期性引起,在通带外⼜产⽣新的通带2、平⾏耦合微带线滤波器的理论当频率达到或接近GHz时,滤波器通常由分布参数元件构成,平⾏耦合微带传输线由两个⽆屏蔽的平⾏微带传输线紧靠在⼀起构成,由于两个传输线之间电磁场的相互作⽤,在两个传输线之间会有功率耦合,这种传输线也因此称为耦合传输线。
平⾏耦合微带线可以构成带通滤波器,这种滤波器是由四分之⼀波长耦合线段构成,她是⼀种常⽤的分布参数带通滤波器。
当两个⽆屏蔽的传输线紧靠⼀起时,由于传输线之间电磁场的相互作⽤,在传输线之间会有功率耦合,这种传输线称之为耦合传输线。
根据传输线理论,每条单独的微带线都等价为⼩段串联电感和⼩段并联电容。
每条微带线的特性阻抗为Z0,相互耦合的部分长度为L,微带线的宽度为W,微带线之间的距离为S,偶模特性阻抗为Z e,奇模特性阻抗为Z0。
单个微带线单元虽然具有滤波特性,但其不能提供陡峭的通带到阻带的过渡。
如果将多个单元级联,级联后的⽹络可以具有良好的滤波特性。
⼆、耦合微带线滤波器的设计的流程1、确定滤波器指标2、计算查表确定滤波器级数N3、确定标准滤波器参数4、计算传输线奇偶模特性阻抗5、计算微带线尺⼨6、仿真7、优化再仿真得到波形图设计参数要求:(1)中⼼频率:2.4GHz;(2)相对带宽:9%;(3)带波纹:<0.5dB;(4)在频率1.9GHz和2.9GHz处,衰减>20dB;(5)输⼊输出阻抗:50Ω。
实验四FIR数字滤波器的设计
FIR(有限冲击响应)数字滤波器是一种常见的数字信号处理器件,
可以用于滤波、降噪等应用。
下面是一种FIR数字滤波器的设计流程:
1.确定滤波器的需求:首先确定需要滤除的频率范围和滤波的类型,
例如低通、高通、带通、带阻等等。
2.设计滤波器的频率响应:根据滤波器的需求,设计其理想的频率响应。
可以使用窗函数、最小二乘法等方法获得一个理想的滤波器响应。
3.确定滤波器的阶数:根据设计的频率响应,确定滤波器的阶数。
阶
数越高,滤波器的响应越陡峭,但计算复杂度也会增加。
4.确定滤波器的系数:根据滤波器的阶数和频率响应,计算滤波器的
系数。
可以使用频域窗函数或时域设计方法。
5.实现滤波器:根据计算得到的滤波器系数,实现滤波器的计算算法。
可以使用直接形式、级联形式、传输函数形式等。
6.评估滤波器的性能:使用所设计的FIR滤波器对输入信号进行滤波,评估其滤波效果。
可以使用频率响应曲线、幅频响应、群延时等指标进行
评估。
7.调整滤波器设计:根据实际的滤波效果,如果不满足需求,可以调
整滤波器的频率响应和阶数,重新计算滤波器系数,重新实现滤波器。
以上是FIR数字滤波器的基本设计流程,设计过程中需要考虑滤波器
的性能、计算复杂度、实际应用需求等因素。
实 验 报 告学生姓名: 学 号: 指导教师:一、实验室名称:数字信号处理实验室二、实验项目名称:数字滤波器的设计及实现三、实验原理:一.数字滤波器设计:1.数字滤波器设计步骤:(1) 根据给定的滤波器设计要求,得到参数化描述,即通带,阻带截止频率p ω和s ω,通带阻带纹波p δ和s δ等数据。
(2) 找一个数字系统函数G(z),使其频率响应逼近设计要求。
(3) 择合适的滤波器结构对满足要求的传递函数G(z)进行实现。
2.数字滤波器设计中的注意事项:(1) 设计要求的参数化:图1给出了一个典型的数字低通滤波器的幅频特性说明。
理解每个参数的物理含义。
(2)IIR 滤波器和FIR FIR 的两倍;另外,FIR IIR 滤波器除较FIR 滤波器有很大的优势。
根据以上这些区别,结合实际的设计要求,就可以选择一款合适的滤波器。
(3) 波器设计的方法:由于IIR 滤波器和FIR 滤波器各自的结构特点,所以它们的设计方法也不一样。
在IIR 滤波器的设计中,常用的方法是:先根据设计要求寻找一个合适的模拟原型滤波器)(s H a ,然后根据一定的准则将此模拟原型滤波器转换为数字滤波器)(z G ,即为我们需要设计的数字滤波器。
在FIR 滤波器设计中,一般使用比较直接的方法:根据设计的要求在时域对理想的冲击响应序列进行加窗逼近,或从频域对需要实现的频率响应特性进S ω - P ω - P ωS ω 通带 阻带 过渡带 图1.典型的数字LPF 幅频特性行采样逼近然后进行反FFT 。
(4) 波器阶数估计:IIR 滤波器的阶数就等于所选的模拟原型滤波器的阶数,所以其阶数确定主要是在模拟原型滤波器设计中进行的。
FIR 滤波器阶数估计可以根据很多工程中的经验公式,这些公式可以直接从设计的参数要求中估计滤波器阶数。
例如,对FIR 低通滤波器,已知通带截止频率p ω,阻带截止频率s ω,最大通带纹波p δ和最大最带纹波s δ,则可以使用下面的公式估计其阶数:πωωδδ2/)(6.1413)(log 2010p s s p N ---≅3.数字滤波器的设计方法:(1) IIR 滤波器设计方法:(a)冲击响应不变法:A. 满足设计要求的模拟原型滤波器)(s H a 进行部分分式展开为: B. 由于 ,可以得到:(b)双线性变换法:A. 设计要求中给出的边界频率进行预畸处理,然后用得到的频率进行模拟滤波器设计,得到模拟原型滤波器)(s H a 。
实验四用窗函数设计FIR滤波器一、实验目的1.熟悉FIR滤波器设计的基本方法。
2.掌握用窗函数设计FIR数字滤波器的原理及方法,熟悉相应的计算机高级语言编程。
3.熟悉线性相位FIR滤波器的幅频特性和相位特性。
4.了解各种不同窗函数对滤波器性能的响应。
二、实验原理与方法(一)FIR滤波器的设计目前FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。
常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。
本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。
它是从时域出发,用一个窗函数截取理想的得到h(n),以有限长序列h(n)近似理想的;如果从频域出发,用理想的在单位圆上等角度取样得到H(k),根据h(k)得到H(z)将逼近理想的,这就是频率取样法。
(二)窗函数设计法同其它的数字滤波器的设计方法一样,用窗函数设计滤波器也是首先要对滤波器提出性能指标。
一般是给定一个理想的频率响应,使所设计的FIR滤波器的频率响应去逼近所要求的理想的滤波器的相应。
窗函数法设计的任务在于寻找一个可实现(有限长单位脉冲响应)的传递函数。
去逼近。
我们知道,一个理想的频率响应的傅理叶变换所得到的理想单位脉冲响应往往是一个无限长序列。
对经过适当的加权、截断处理才得到一个所需要的有限长脉冲响应序列。
对应不同的加权、截断,就有不同的窗函数。
所要寻找的滤波器脉冲响应就等于理想脉冲响应和窗函数的乘积。
即,由此可见,窗函数的性质就决定了滤波器的品质。
以下是几种常用的窗函数:1.矩形窗:2.Hanning窗:3.Hamming窗:4.Blackman窗:5.Kaiser窗:窗函数法设计线性相位FIR滤波器可以按如下步骤进行:1.确定数字滤波器的性能要求。
确定各临界频率{}和滤波器单位脉冲响应长度N。
2.根据性能要求和N值,合理地选择单位脉冲响应h(n)有奇偶对称性,从而确定理想频率响应的幅频特性和相位特性。
实验四IIR数字滤波器设计及软件实现实验四涉及IIR数字滤波器设计及软件实现。
IIR数字滤波器是一种基于IIR(Infinite Impulse Response)的滤波器,采用了反馈结构,具有无限长的脉冲响应。
与FIR(Finite Impulse Response)数字滤波器相比,IIR数字滤波器具有更高的灵活性和更小的计算复杂度。
IIR数字滤波器的设计可以通过以下步骤进行:
1.确定滤波器的类型:低通、高通、带通或带阻。
2.确定滤波器的阶数:滤波器的阶数决定了其频率响应的陡峭程度。
3.设计滤波器的传递函数:传递函数是滤波器的数学模型,可以通过多种方法进行设计,如巴特沃斯、切比雪夫等。
4.将传递函数转换为差分方程:差分方程是IIR数字滤波器的实现形式,可以通过对传递函数进行离散化得到。
5.实现差分方程:差分方程可以通过递归运算的方式实现,使用递归滤波器结构。
IIR数字滤波器的软件实现可以使用各种数学软件或程序语言进行。
常见的软件实现语言包括MATLAB、Python等。
这些语言提供了丰富的数字信号处理库和函数,可以方便地实现IIR数字滤波器。
在软件实现中,需要将差分方程转换为计算机程序,然后输入待滤波的数字信号,并输出滤波后的信号。
此外,还可以对滤波器的参数进行调整,以达到满足特定滤波要求的效果。
总结起来,实验四的内容是设计和实现IIR数字滤波器,通过软件工具进行滤波效果的验证。
这是数字信号处理领域中常见的实验任务,可以帮助学生掌握IIR数字滤波器的设计和实现方法。
实验四FIR数字滤波器设计与软件实现
实验目的:
掌握FIR数字滤波器的设计与软件实现方法,了解滤波器的概念与基
本原理。
实验原理:
FIR数字滤波器全称为有限脉冲响应数字滤波器,其特点是具有有限
长度的脉冲响应。
滤波器通过一系列加权系数乘以输入信号的延迟值,并
将这些值相加得到输出信号。
FIR滤波器的频率响应由滤波器系数所决定。
实验步骤:
1.确定所需的滤波器的设计规格,包括截止频率、通带波纹、阻带衰
减等。
2.选择适当的滤波器设计方法,如窗函数、最佳近似法、最小二乘法等。
3.根据所选方法,计算滤波器的系数。
4.在MATLAB环境下,使用滤波器的系数实现滤波器。
5.输入所需滤波的信号,经过滤波器进行滤波处理。
6.分析输出的滤波信号,观察滤波效果是否符合设计要求。
实验要求:
1.完成FIR数字滤波器的设计和软件实现。
2.对比不同设计方法得到的滤波器性能差异。
3.分析滤波结果,判断滤波器是否满足设计要求。
实验器材与软件:
1.个人电脑;
2.MATLAB软件。
实验结果:
根据滤波器设计规格和所选的设计方法,得到一组滤波器系数。
通过
将滤波器系数应用于输入信号,得到输出滤波信号。
根据输出信号的频率
响应、通带波纹、阻带衰减等指标,评估滤波器的性能。
实验注意事项:
1.在选择设计方法时,需要根据滤波器要求和实际情况进行合理选择。
2.在滤波器实现过程中,需要注意滤波器系数的计算和应用。
3.在实验过程中,注意信号的选择和滤波结果的评估方法。
数字信号处理实验报告四IIR数字滤波器设计及软件实现实验目的:本实验的目的是了解IIR数字滤波器的设计原理和实现方法,通过MATLAB软件进行数字滤波器设计和信号处理实验。
一、实验原理IIR数字滤波器是一种使用有限数量的输入样本和前一次输出值的滤波器。
它通常由差分方程和差分方程的系数表示。
IIR滤波器的特点是递归结构,故其频率响应是无限长的,也就是说它的频率响应在整个频率范围内都是存在的,而不像FIR滤波器那样只有在截止频率处才有响应。
根据设计要求选择合适的滤波器类型和滤波器结构,然后通过对滤波器的模型进行参数化,设计出满足滤波要求的IIR滤波器。
常见的IIR滤波器设计方法有模拟滤波器设计方法和数字滤波器设计方法。
在本实验中,我们主要使用数字滤波器设计方法,即离散时间滤波器设计方法。
二、实验内容(一)设计IIR数字滤波器的步骤:1.确定滤波器类型:根据滤波要求选择合适的滤波器类型,如低通滤波器、高通滤波器、带通滤波器、带阻滤波器等。
2.确定滤波器的阶数:根据滤波要求确定滤波器的阶数。
阶数越高,滤波器的频率响应越陡峭,但计算复杂度也越高。
3. 设计滤波器原型:根据滤波要求,设计滤波器的原型。
可以选择Butterworth滤波器、Chebyshev滤波器、Elliptic滤波器等作为原型。
4.选择滤波器结构:根据计算机实现条件和算法复杂度,选择合适的滤波器结构。
常见的滤波器结构有直接形式I、直接形式II、级联形式等。
5.参数化滤波器模型:根据原型滤波器的差分方程,选择合适的参数化方法。
常见的参数化方法有差分方程法、极点/零点法、增益法等。
6.根据参数化的滤波器模型,计算出所有的滤波器系数。
(二)用MATLAB软件实现IIR数字滤波器设计:1.打开MATLAB软件,并创建新的脚本文件。
2. 在脚本文件中,使用MATLAB提供的滤波器设计函数,如butter、cheby1、ellip等,选择合适的滤波器类型进行设计。
电 子 科 技 大 学实 验 报 告学生姓名: 学 号: 2010103080 指导教师:一、实验室名称:数字信号处理实验室 二、实验项目名称:数字滤波器的设计及实现 三、实验原理:一.数字滤波器设计:1.数字滤波器设计步骤:(1) 根据给定的滤波器设计要求,得到参数化描述,即通带,阻带截止频率p ω和s ω,通带阻带纹波p δ和s δ等数据。
(2) 找一个数字系统函数G(z),使其频率响应逼近设计要求。
(3) 择合适的滤波器结构对满足要求的传递函数G(z)进行实现。
2.数字滤波器设计中的注意事项:(1) 设计要求的参数化:图1给出了一个典型的数字低通滤波器的幅频特性说明。
理解每个参数的物理含义。
(2) 滤波器类型选择:在数字滤波器实现中可选择IIR 滤波器和FIR滤波器两种。
在实现相同幅频特性时,IIR 滤波器的阶数会相对FIR 滤波器的更低;而在实现中,对相同阶数的两种滤波器来看,对每个采样值所做的乘法数量,IIR 约为FIR 的两倍;另外,FIRS ω - P ω -P ωS ω 通带 阻带 过渡带图1.典型的数字LPF 幅频特性还可以方便地设计成线性相位滤波器。
总的来说,IIR 滤波器除不能实现线性相位这一点外,由于阶数的原因,从计算复杂度上较FIR 滤波器有很大的优势。
根据以上这些区别,结合实际的设计要求,就可以选择一款合适的滤波器。
(3) 波器设计的方法:由于IIR 滤波器和FIR 滤波器各自的结构特点,所以它们的设计方法也不一样。
在IIR 滤波器的设计中,常用的方法是:先根据设计要求寻找一个合适的模拟原型滤波器)(s H a ,然后根据一定的准则将此模拟原型滤波器转换为数字滤波器)(z G ,即为我们需要设计的数字滤波器。
在FIR滤波器设计中,一般使用比较直接的方法:根据设计的要求在时域对理想的冲击响应序列进行加窗逼近,或从频域对需要实现的频率响应特性进行采样逼近然后进行反FFT 。
(4) 波器阶数估计:IIR 滤波器的阶数就等于所选的模拟原型滤波器的阶数,所以其阶数确定主要是在模拟原型滤波器设计中进行的。
FIR 滤波器阶数估计可以根据很多工程中的经验公式,这些公式可以直接从设计的参数要求中估计滤波器阶数。
例如,对FIR 低通滤波器,已知通带截止频率p ω,阻带截止频率s ω,最大通带纹波p δ和最大最带纹波s δ,则可以使用下面的公式估计其阶数:πωωδδ2/)(6.1413)(log2010p s s p N ---≅3.数字滤波器的设计方法:(1) IIR 滤波器设计方法:(a)冲击响应不变法:A. 满足设计要求的模拟原型滤波器)(s H a 进行部分分式展开为:B. 由于 ,可以得到:(b)双线性变换法:A. 设计要求中给出的边界频率进行预畸处理,然后用得到的频率进行模拟滤波器设计,得到模拟原型滤波器)(s H a 。
B. 用双线性变换法求出数字滤波器:1111|)()(--+-==zz z a s H z G 。
∑=-=Nk kk a s s A s H 1)()0)(Re(max <k s )()(nT h n g a =∑=--=Nk Ts kzeA z G k 111)((2) FIR滤波器设计方法:(a)窗函数法:A. 根据设计的要求选择合适的窗函数)(nw,然后根据此窗计算阶数等参数N。
B.写出冲击响应序列的表达式:)()()(nwnhnhNd,其中,)(n hd 为理想的冲击响应序列,一般为无限长的,)(nwN为长度为N的窗函数。
C.计算所得冲击响应序列)(nh的DTFT,然后验证其是否满足设计要求。
(b)频率采样法:A.根据设计要求估算滤波器阶数N。
B.对要求的频率响应特性进行采样,获得N个离散样点值H(k)。
C.对H(k)求N点IFFT,得到所需要的滤波器冲击响应序列h(n)。
D.计算所得冲击响应序列)(nh的DTFT,然后验证其是否满足设计要求。
4.滤波器的实现结构(a) FIR滤波器:直接型实现结构级联结构并联结构多相实现结构线性相位型结构(b) IIR滤波器:直接型实现结构:I型和II型级联结构并联结构具体结构形式参见教材第六章内容。
二.在滤波器设计中使用到的MATLAB命令:1.IIR滤波器设计函数:butter, buttord, chebwin,cheb1ord, cheb2ord, cheby1, cheby2, ellip,ellipord。
例如:用下面的MATLAB命令可估算一个Butterworth滤波器的阶数:[N, Wn] = buttord(Wp, Ws, Rp, Rs)2.FIR滤波器设计函数:fir1, fir2, remez, remezord,kaiser, kaiserord, hanning, hamming, blackman。
例如:用下面的MATLAB命令可根据式(7.18)估算一个FIR滤波器阶数:[N, fpts,mag,wt] = remezord(fedge,mval,dev)3. MATLAB 中提供的滤波器设计辅助设计软件(在命令窗口中键入“fdatool ”即可启动),界面如下图1所示。
在本界面中填写需要设计的滤波器参数,即可设计出需要的滤波器。
还可以通过本工具提供的幅度,相位观察窗口观察设计出来的滤波器的幅度,相位特性等,并可以将设计好的滤波器冲激响应系数导出进行实现。
图1 MA TLAB 中滤波器辅助设计软件界面四、实验目的:从理论上讲,任何的线性时不变(LTI )离散时间系统都可以看做一个数字滤波器,因此设计数字滤波器实际就是设计离散时间系统。
本实验通过使用MATLAB 函数和滤波器辅助设计软件对数字滤波器进行设计和实现,加深学生对数字滤波器的常用指标、设计过程及实现的理解。
五、实验内容:对给定的输入信号(基带二进制码元为500Hz ,两个载频分别为2kHz 和4kHz 的FSK 调制信号)进行滤波。
利用MATLAB 编程设计一个数字低通滤波器,指标要求如下:通带截止频率: 2.1p f kH z =;阻带截止频率: 3.5s f kH z =;采样频率20p f kH z =;通带峰值起伏:1[]p dB α≤;最小阻带衰减:40[]S dB α≥。
要求分别用MATLAB 中的IIR 和FIR 设计命令进行滤波器设计,得出需要的滤波器系数。
再将得到的滤波器系数在MATLAB 中编程进行实现(选择直接型实现结果),对输入信号进行滤波,观察滤波结果。
在提供的DSP 实验板上编程对本滤波器过程进行实现,观察实际的滤波结果,并与理论结果对比。
六、实验器材(设备、元器件):安装MATLAB 软件的PC 机一台,DSP 实验演示系统一套。
七、实验步骤:(1) 给定输入信号:FSK 信号(输入的二进制待调信号为随机信号,码元频率为500Hz ,两个载频分别为2kHz 和4kHz ,采样频率为20kHz ,)。
利用MATLAB 编程产生本信号,画出其时域和频域的图像。
(2) 利用MATLAB 编程设计一个数字低通滤波器,指标要求如下: 通带截止频率: 2.2p f kH z =;阻带截止频率: 3.5s f kH z =;采样频率20p f kH z =;通带峰值起伏:1[]p dB α≤;最小阻带衰减:40[]S dB α≥。
等价的Wp=0.22*pi;Ws=0.35*pi;Rp=0.10874906;Rs=0.01;(3) 分别用MATLAB 中的IIR 和FIR 设计命令进行滤波器设计,得出需要的滤波器系数。
(4) (拓展要求)用MATLAB 滤波器辅助设计软件对上述滤波器进行设计,并将得到的滤波器系数对输入信号进行滤波,观察滤波实现。
(5) 将得到的滤波器系数在MATLAB 中编程进行实现( 选择直接型实现结果进行实现),对(1)中的输入信号进行滤波(分别用FIR 和IIR 滤波器进行),观察滤波结果,画出时域和频域图像。
(6) (拓展要求)修改需要设计的滤波器的指标要求,比如:将通带截止频率修改为2kHz,或者将最小阻带衰减改为20[]S dB α≥,这时再重复(3)和(5)的步骤,观察所得到的滤波器效果,并对这一结果进行解释。
(7) (拓展要求)在提供的DSP 实验板上编程对滤波器滤波过程进行实现,观察实际的滤波结果,并与理论结果对比。
八、实验数据及结果分析:程序:(1)产生输入FSK 信号的程序%²úÉúËæ»úÐòÁÐ,²¢»-³öʱÓò²¨ÐÎ clear clcm=input('ÇëÊäÈë¶þÔªÐòÁÐ='); N=length(m);fm=500;f1=2200;f2=3500;fs=20000;times=fs/fm;for k=1:Nif m(k)==0ms((k-1)*times+1:k*times)=0;elsems((k-1)*times+1:k*times)=1;endendt=0:1/fs:N/fm-1/fs;x1=cos(2*pi*f1*t);x2=cos(2*pi*f2*t);y1=ms.*x1;y2=[1-ms].*x2;y=y1+y2;figure(1)subplot(4,1,1)plot(t,ms)xlabel('time/s')ylabel('Amplitude')gridsubplot(4,1,2)plot(t,y1)xlabel('time/s')ylabel('Amplitude')gridsubplot(4,1,3)plot(t,y2)xlabel('time/s')ylabel('Amplitude')gridsubplot(4,1,4)plot(t,y)xlabel('time/s')ylabel('Amplitude')grid%»-³öµ÷ÖÆÐÅºÅµÄÆµÆ×Nfft=times*N;[msf,wms]=freqz(ms,1,256);msf=msf/Nfft;y1f=freqz(y1,1,256)/Nfft;y2f=freqz(y2,1,256)/Nfft;yf=freqz(y,1,256)/Nfft;figure(2)subplot(4,1,1)plot(wms/pi,abs(msf))xlabel('\omega/\pi');ylabel('Amplitude');title('ƵÂÊΪ500HzµÄ·½²¨ÐÅºÅµÄÆµÆ×')subplot(4,1,2)plot(wms/pi,abs(y1f))xlabel('\omega/\pi');ylabel('Amplitude');title('ÔØ²¨fc=2200HzµÄƵÆ×')subplot(4,1,3)plot(wms/pi,abs(y2f))xlabel('\omega/\pi');ylabel('Amplitude');title('ÔØ²¨fc=3500HzµÄƵÆ×')subplot(4,1,4)plot(wms/pi,abs(yf))xlabel('\omega/\pi');ylabel('Amplitude');title('2FskµÄµÄƵÆ×')(2)FIR滤波器设计程序%Éè¼ÆIIFÂ˲¨Æ÷Wp=0.22;Ws=0.35;Rp=1;Rs=40;[N1,Wn]=ellipord(Wp,Ws,Rp,Rs);[b1,a1]=ellip(N1,Rp,Rs,Wn) % the coffience of the IIR filter [h1,omega]=freqz(b1,a1,256);figure(3)subplot(2,1,1);plot(omega/pi,20*log10(abs(h1)));grid;xlabel('\omega/\pi');ylabel('Gain,dB');title('IIR Elliptic lowpass Filter')subplot(2,1,2);plot(omega(1:56)/pi,20*log10(abs(h1(1:56))));grid;xlabel('\omega/\pi');ylabel('Gain,dB');title('IIR Elliptic lowpass Filter-ͨ´ø·Å´óµÄÔöÒæÍ¼')(3)IIR滤波器设计程序%FIRÂ˲¨Æ÷µÄÉè¼Æfedge=[2200,3500];mval=[1,0];dev=[0.10874906,0.01];FT=20000;[N2,fpts,mag,wt]=remezord(fedge,mval,dev,FT);b2=remez(N2,fpts,mag,wt) % the coffience of the FIR filter[h2,w2]=freqz(b2,1,256);figure(4)subplot(2,1,1)plot(w2/pi,20*log10(abs(h2)));grid;xlabel('\omega/\pi');ylabel('Gain,dB');title('FIR hermann ');subplot(2,1,2)plot(w2(1:56)/pi,20*log10(abs(h2(1:56))));grid;xlabel('\omega/\pi');ylabel('Gain,dB');title('ͨ´ø·Å´óµÄÔöÒæÍ¼ ');(4)FIR滤波器实现程序(用滤波器系数对输入信号进行滤波)可用filter或者用输入信号和所涉及的滤波器频率相乘得到%²úÉúËæ»úÐòÁÐ,²¢»-³öʱÓò²¨ÐÎclearclcm=input('ÇëÊäÈë¶þÔªÐòÁÐ=');N=length(m);fm=500;f1=2200;f2=3500;fs=20000;times=fs/fm;Nfft=times*N;for k=1:Nif m(k)==0ms((k-1)*times+1:k*times)=0;elsems((k-1)*times+1:k*times)=1;endendt=0:1/fs:N/fm-1/fs;x1=cos(2*pi*f1*t);x2=cos(2*pi*f2*t);y1=ms.*x1;y2=[1-ms].*x2;y=y1+y2;figure(1)subplot(4,1,1)plot(t,ms)xlabel('time/s')ylabel('Amplitude')gridsubplot(4,1,2)plot(t,y1)xlabel('time/s')ylabel('Amplitude')gridsubplot(4,1,3)plot(t,y2)xlabel('time/s')ylabel('Amplitude')gridsubplot(4,1,4)plot(t,y)xlabel('time/s')ylabel('Amplitude')grid%»-³öµ÷ÖÆÐÅºÅµÄÆµÆ×[msf,wms]=freqz(ms,1,256);msf=msf/Nfft;y1f=freqz(y1,1,256)/Nfft;y2f=freqz(y2,1,256)/Nfft;yf=freqz(y,1,256)/Nfft;figure(2)subplot(4,1,1)plot(wms/pi,abs(msf))xlabel('\omega/\pi');ylabel('Amplitude');title('ƵÂÊΪ500HzµÄ·½²¨ÐÅºÅµÄÆµÆ×') subplot(4,1,2)plot(wms/pi,abs(y1f))xlabel('\omega/\pi');ylabel('Amplitude');title('ÔØ²¨fc=2200HzµÄƵÆ×')subplot(4,1,3)plot(wms/pi,abs(y2f))xlabel('\omega/\pi');ylabel('Amplitude');title('ÔØ²¨fc=3500HzµÄƵÆ×')subplot(4,1,4)plot(wms/pi,abs(yf))xlabel('\omega/\pi');ylabel('Amplitude');title('2FskµÄµÄƵÆ×')%Éè¼ÆIIFÂ˲¨Æ÷Wp=0.22;Ws=0.35;Rp=1;Rs=40;[N1,Wn]=ellipord(Wp,Ws,Rp,Rs);[b1,a1]=ellip(N1,Rp,Rs,Wn) % the coffience of the IIR filter [h1,omega]=freqz(b1,a1,256);figure(3)subplot(2,1,1);plot(omega/pi,20*log10(abs(h1)));grid;xlabel('\omega/\pi');ylabel('Gain,dB');title('IIR Elliptic lowpass Filter')subplot(2,1,2);plot(omega(1:56)/pi,20*log10(abs(h1(1:56))));grid;xlabel('\omega/\pi');ylabel('Gain,dB');title('IIR Elliptic lowpass Filter-ͨ´ø·Å´óµÄÔöÒæÍ¼')%FIRÂ˲¨Æ÷µÄÉè¼Æfedge=[2200,3500];mval=[1,0];dev=[0.10874906,0.01];FT=20000;[N2,fpts,mag,wt]=remezord(fedge,mval,dev,FT);b2=remez(N2,fpts,mag,wt) % the coffience of the FIR filter [h2,w2]=freqz(b2,1,256);figure(4)subplot(2,1,1)plot(w2/pi,20*log10(abs(h2)));grid;xlabel('\omega/\pi');ylabel('Gain,dB');title('FIR hermann ');subplot(2,1,2)plot(w2(1:56)/pi,20*log10(abs(h2(1:56))));grid; xlabel('\omega/\pi');ylabel('Gain,dB');title('ͨ´ø·Å´óµÄÔöÒæÍ¼ ');%ÓÃIIRÂ˲¨Æ÷½øÐÐÂ˲¨IIRfilter=filter(b1,a1,ms);[fIIRfilter,wIIR]=freqz(IIRfilter,1,256); fIIRfilter=fIIRfilter/Nfft;%ÓÃFIRÂ˲¨Æ÷½øÐÐÂ˲¨FIRfilter=filter(b2,1,ms);[fFIRfilter,wFIR]=freqz(FIRfilter,1,256); fFIRfilter=fFIRfilter/Nfft;figure(5)subplot(4,1,1)plot(t,IIRfilter)xlabel('time/t')ylabel('Amplitude')title('Â˲¨ºóʱÓòµÄͼÐÎ')subplot(4,1,2)plot(wIIR/pi,abs(fIIRfilter))xlabel('\omega/\pi')ylabel('Amplitude')title('ÓÃIIRÂ˲¨Æ÷½øÐÐÂ˲¨ºóµÄƵÆ×')subplot(4,1,3)plot(t,FIRfilter)xlabel('time/t')ylabel('Amplitude')title('FIRÂ˲¨ºóʱÓòµÄͼÐÎ')subplot(4,1,4)plot(wFIR/pi,abs(fFIRfilter))xlabel('\omega/\pi')ylabel('Amplitude')title('ÓÃFIRÂ˲¨Æ÷½øÐÐÂ˲¨ºóµÄƵÆ×')(5) IIR 滤波器实现程序(用滤波器系数对输入信号进行滤波)。