基于MATLAB的数字滤波器的设计
使用MATLAB进行数字滤波器设计的步骤与方法
使用MATLAB进行数字滤波器设计的步骤与方法数字滤波器是用于信号处理的重要工具,它可以对信号进行去噪、频率调整等操作。
而MATLAB作为一种强大的数学计算软件,提供了丰富的数字信号处理工具箱,可以方便地进行数字滤波器的设计与仿真。
本文将介绍使用MATLAB进行数字滤波器设计的步骤与方法。
1. 了解数字滤波器的基本原理在进行数字滤波器设计之前,首先需要了解数字滤波器的基本原理。
数字滤波器根据其频率响应特性可以分为低通、高通、带通和带阻滤波器等。
此外,数字滤波器的设计还需要考虑滤波器的阶数、截止频率以及滤波器类型等因素。
在设计中,我们可以选择滤波器的类型和相应的参考模型,然后利用MATLAB工具箱提供的函数进行设计。
2. 导入MATLAB中的数字信号处理工具箱使用MATLAB进行数字滤波器设计需要先导入数字信号处理工具箱。
通过在MATLAB命令窗口输入`>> toolbox`即可打开工具箱窗口,并可以选择数字信号处理工具箱进行加载。
加载完成后,就可以调用其中的函数进行数字滤波器设计。
3. 设计数字滤波器在MATLAB中,常用的数字滤波器设计函数有`fir1`、`fir2`、`iirnotch`等。
这些函数可以根据系统特性需求设计相应的数字滤波器。
以FIR滤波器为例,可以使用`fir1`函数进行设计。
该函数需要输入滤波器的阶数和截止频率等参数,输出设计好的滤波器系数。
4. 评估滤波器性能设计好数字滤波器后,需要进行性能评估。
可以使用MATLAB提供的`fvtool`函数绘制滤波器的幅频响应、相频响应和群延迟等。
通过观察滤波器在频域的性能表现,可以判断设计的滤波器是否满足要求。
5. 对滤波器进行仿真在对滤波器性能进行评估之后,还可以使用MATLAB进行滤波器的仿真。
通过将需要滤波的信号输入设计好的滤波器中,观察输出信号的变化,可以验证滤波器的去噪效果和频率调整能力。
MATLAB提供了函数`filter`用于对信号进行滤波处理。
基于matlab的数字滤波器设计
基于matlab的数字滤波器设计一.概述本文重点介绍MATLAB 中用于数字滤波器设计的函数组。
MATLAB具备设计高性能滤波器的众多工具(toolbox),包括数字滤波器设计工具箱(Digital Filter Design T oolbox)、滤波系统仿真工具箱(Filter Design and Analysis Toolbox )以及信号处理工具箱(Signal Processing Toolbox),可以设计数字滤波器的结构和参数,并实现Advanced Digital Filter Design。
二.数字滤波器介绍数字滤波器,也称计算滤波器,是指利用现代计算机中的数字回授技术来进行信号处理的方法,是对计算机处理信号的一种技术。
数字滤波器是模拟滤波器组成的数字信号处理系统,是将模拟的通全在一个硬件上实现的数字信号处理系统,它的功能比模拟滤波器更加强大。
目前它们已经应用于通信、声音、镜头、图像处理、仪器仪表、数据采集等领域。
三.MATLAB 中的滤波器设计(1)首先,MATLAB中提供了丰富的函数来实现滤波器设计工作。
其中最常用的函数有:a. firpm:有限冲激响应滤波器设计,支持线性和非线性过滤器设计。
b. butter:Butterworth低通和高通滤波器设计。
c. fir1:有限冲激响应低通和高通滤波器设计。
d. cheby1:Chebyshev第一类低通和高通滤波器设计。
(2) MATLAB还可以实现进阶的数字滤波器设计,用户可以用以下函数实现自动设计是否优化的滤波器:a. fda:设计优化低通滤波器b. fda2:设计优化定带滤波器c. fda3:设计优化双带和多带滤波器d. gfd:设计优化频谱均衡滤波器四.总结数字滤波器是一种应用广泛的信号处理技术,对于一些信号处理应用有着至关重要的作用。
MATLAB 可以简便的实现滤波器设计,并可以同时考虑多个优化目标,这些特性使其成为进行数字滤波器设计的理想工具。
基于matlab的数字滤波器设计
淮北煤炭师范学院2009届学士学位论文基于MA TLAB的数字滤波器设计学院、专业物理与电子信息学院电子信息科学与技术研究方向基于MATLAB的数字滤波器设计学生姓名耿博学号200513432024指导教师姓名邹锋指导教师职称讲师2009 年4 月18基于MATLAB的数字滤波器设计耿博(淮北煤炭师范学院物理与电子信息学院235000)摘要随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。
数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。
在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。
数字滤波是数字信号处理的重要内容,数字滤波器可分为IIR和FIR两大类。
对于IIR数字滤波器的设计,需要借助模拟原型滤波器,再将模拟滤波器转化为数字滤波器,文中采用的设计方法是脉冲响应不变法、双向性变换法和完全函数设计法;对于FIR数字滤波器的设计,可以根据所给定的频率特性直接设计,文中采用的设计方法是窗函数法。
本文根据IIR滤波器和FIR滤波器的特点,在MATLAB坏境下分别用双线性变换法设计IIR和用窗函数设计FIR数字滤波器,并对采集的语音信号进行分析,最后给出了IIR和FIR对语音滤波的效果。
关键词数字滤波器;IIR ;FIR ;MATLABThe Design of Digital Filter based on MATLABGeng BoSchool of Physics and Electronics Information, Huaibei Coal Industry Teachers‟ College, 235000ABSTRACT Along with the information age and the digital world arrival, the digital signal processing has become a now extremely important discipline and the area of technology.The digital signal processing in the correspondence, the multitudinous domains the pronunciation such as the image, the automatic control, the radar, the military, the aerospace, the medical service and the domestic electric appliances and so on have obtained the widespread application.In the digital signal processing application, the digital filter are extremely important and have obtained the widespread application.The digital filter are the digital signal processing important content, the digital filter may divide into IIR and the FIR two main kinds. As for the IIR digital filter design, we need the help of analog prototype filter, and then transform analog filter into digital filter. In the paper we use the design of the pulse response invariable method, the bilinear method and full function design; as for the FIR filter, we can design it directly based on the giving frequency, in the paper it uses the design of the window function.This article according to the IIR filter and the FIR filter characteristic, uses the bilinearity method of transformation under the MATLAB bad boundary to design IIR and to design the FIR numeral filter separately with the window box number, and carries on the analysis to the gathering pronunciation signal, and finally gives IIR and FIR to the pronunciation filter effect.Keywords Digtial Filter;IIR;FIR;MATLAB目次1 引言 (1)2 数字滤波器及MATLAB语言概述 (2)2.1 数字滤波器的定义和分类 (2)2.2 常用滤波器的性能指标 (3)2.3 MATLAB概述 (6)3 IIR滤波器设计 (8)3.1 双线性变换法设计IIR数字滤波器 (8)3.2 脉冲响应不变法 (12)3.3 完全设计函数法 (15)3.4 语音滤波实例 (16)4 FIR滤波器设计 (21)4.1 窗函数法 (21)4.2 FIR滤波器滤波实例 (25)5 总结 (29)参考文献 (30)致谢 (31)1 引言数字滤波在通信、图像编码、语音编码、雷达等许多领域中有着十分广泛的应用。
基于Matlab的IIR数字滤波器设计(论文)
摘要在现代通信系统中,由于信号中经常混有各种复杂成分,所以很多信号分析都是基于滤波器而进行的,而数字滤波器是通过数值运算实现滤波,具有处理精度高、稳定、灵活、不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊滤波功能。
数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。
实现IIR滤波器的阶次较低,所用的存储单元较少,效率高,精度高,而且能够保留一些模拟滤波器的优良特性,因此应用很广。
Matlab软件以矩阵运算为基础,把计算、可视化及程序设计有机融合到交互式工作环境中,并且为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。
尤其是Matlab中的信号处理工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。
本文首先介绍了数字滤波器的概念,分类以及设计要求。
接着利用MATLAB函数语言编程,用信号处理图形界面FDATool来设计滤波器以及Sptool界面设计的方法,并用FDATool模拟IIR 数字滤波器处理信号。
重点设计Chebyshev I型和Chebyshev II型数字低通滤波器,并介绍最优化设计。
【关键字】IIR 滤波器FDATool Sptool SimulinkABSTRACTIn modern communication systems,Because often mixed with various signal complex components,So many signal analysis is based on filters, and the digital filter is realized through numerical computation, digital filters filter with high precision, stability and flexibility, don't exist, can realize the impedance matching simulating the special filter cannot achieve filter function. Digital filter according to its impulse response function and characteristics of the time can be divided into two kinds, namely the infinite impulse response (IIR) digital filter and finite impulse response (FIR digital filters). The order of realizing IIR filter is used, low and high efficiency less storage unit, high precision, and can keep some simulation characteristics of filter, so it is widely used. Matlab software based on matrix computation, the calculation, visualization and program design of organic integration to interactive environment for digital filter, and the research and application of provides an intuitive, efficient and convenient tool. Especially in the Matlab signal processing to all areas of research toolbox personnel can easily for scientific research and engineering application. This paper introduces the concept of digital filter, classification and design requirements. Then using MATLAB language programming, with functions of signal processing FDATool graphical interface design of interface design and Sptool filter, and FDATool analog signal processing IIR digital filter. Key design Chebyshev type I and II digital Chebyshev lowpass filter, and introduces optimization design.【Keywords】IIR Filter FDATool Sptool Simulink目录前言 ............................................................. 1第一章数字滤波器 ................................................. 2第一节数字滤波器的概念........................................ 2第二节数字滤波器的分类........................................ 2第三节数字滤波器的设计要求.................................... 4第二章 IIR数字滤波器设计方法...................................... 5第一节 IIR数字滤波器的设计步骤................................. 5第二节用脉冲相应不变法设计IIR数字滤波器...................... 6一、设计原理................................................ 6二、脉冲响应不变法优缺点.................................... 8第三节双线性变换法设计IIR数字滤波器.......................... 9一、设计原理................................................ 9二、双线性变换法优缺点.................................... 11第三章 IIR滤波器的MATLAB设计................................... 13第一节 IIR数字滤波器的典型设计法............................. 14第二节 IIR数字滤波器的直接设计法............................. 18第三节 FDATool介绍和界面设计................................. 23第四节 FDATOOL设计IIR数字滤波器............................. 24第五节 SIMULINK 仿真IIR滤波器............................... 26总结 ........................................................... 29致谢 ........................................................... 30参考文献 ........................................................ 31结束语 .......................................................... 32前言随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。
基于matlab的fir数字滤波器的设计
一、引言数字滤波器是数字信号处理中至关重要的组成部分,它能够对数字信号进行滤波处理,去除噪音和干扰,提取信号中的有效信息。
其中,fir数字滤波器作为一种常见的数字滤波器类型,具有稳定性强、相位响应线性等特点,在数字信号处理领域得到了广泛的应用。
本文将基于matlab软件,探讨fir数字滤波器的设计原理、方法和实现过程,以期能够全面、系统地了解fir数字滤波器的设计流程。
二、fir数字滤波器的基本原理fir数字滤波器是一种有限长冲激响应(finite impulse response, FIR)的数字滤波器,其基本原理是利用线性相位特性的滤波器来实现对数字信号的筛选和处理。
fir数字滤波器的表达式为:$$y(n) = \sum_{k=0}^{M}h(k)x(n-k)$$其中,y(n)为输出信号,x(n)为输入信号,h(k)为滤波器的系数,M为滤波器的长度。
fir数字滤波器的频率响应特性由其系数h(k)决定,通过设计合适的系数,可以实现对不同频率成分的滤波效果。
三、fir数字滤波器的设计方法fir数字滤波器的设计方法主要包括窗函数法、频率抽样法、最小最大法等。
在matlab中,可以通过信号处理工具箱提供的fir1函数和firls函数等来实现fir数字滤波器的设计。
下面将分别介绍这两种设计方法的基本原理及实现步骤。
1. 窗函数法窗函数法是fir数字滤波器设计中最为常见的方法之一,其基本原理是通过对理想滤波器的频率响应进行窗函数加权来满足设计要求。
在matlab中,可以使用fir1函数实现fir数字滤波器的设计,其调用格式为:h = fir1(N, Wn, type)其中,N为滤波器的阶数,Wn为滤波器的截止频率,type为窗函数的类型。
通过调用fir1函数,可以灵活地设计出满足特定要求的fir数字滤波器。
2. 频率抽样法频率抽样法是fir数字滤波器设计中的另一种重要方法,其基本原理是在频域上对理想滤波器的频率响应进行抽样,并拟合出一个最优的滤波器。
基于MATLAB的IIR数字滤波器设计与仿真
基于MATLAB的IIR数字滤波器设计与仿真一、概述在现代数字信号处理领域中,数字滤波器扮演着至关重要的角色。
其通过对输入信号的特定频率成分进行增强或抑制,实现对信号的有效处理。
无限脉冲响应(IIR)数字滤波器因其设计灵活、实现简单且性能优良等特点,得到了广泛的应用。
本文旨在基于MATLAB平台,对IIR数字滤波器的设计与仿真进行深入研究,以期为相关领域的研究与应用提供有益的参考。
IIR数字滤波器具有无限长的单位脉冲响应,这使得其在处理信号时能够展现出优秀的性能。
与有限脉冲响应(FIR)滤波器相比,IIR滤波器在实现相同性能时所需的阶数更低,从而减少了计算复杂度和存储空间。
在需要对信号进行高效处理的场合,IIR滤波器具有显著的优势。
MATLAB作为一款功能强大的数学软件,提供了丰富的函数和工具箱,使得数字滤波器的设计与仿真变得简单而高效。
通过MATLAB,我们可以方便地实现IIR滤波器的设计、分析和优化,从而满足不同应用场景的需求。
本文将首先介绍IIR数字滤波器的基本原理和特性,然后详细阐述基于MATLAB的IIR数字滤波器的设计方法和步骤。
接着,我们将通过仿真实验验证所设计滤波器的性能,并对其结果进行分析和讨论。
本文将总结IIR数字滤波器设计与仿真的关键技术和注意事项,为相关领域的研究人员和工程师提供有益的参考和启示。
1. IIR数字滤波器概述IIR(Infinite Impulse Response)数字滤波器是数字信号处理中常用的一类滤波器,它基于差分方程实现信号的滤波处理。
与FIR (Finite Impulse Response)滤波器不同,IIR滤波器具有无限长的单位脉冲响应,这意味着其输出不仅与当前和过去的输入信号有关,还与过去的输出信号有关。
这种特性使得IIR滤波器在实现相同的滤波效果时,通常具有更低的计算复杂度,从而提高了处理效率。
IIR滤波器的设计灵活多样,可以根据不同的需求实现低通、高通、带通和带阻等多种滤波功能。
基于MATLAB的FIR和IIR数字滤波器的设计
基于MATLAB的FIR和IIR数字滤波器的设计一、本文概述随着数字信号处理技术的飞速发展,数字滤波器作为其中的核心组件,已经广泛应用于通信、音频处理、图像处理、生物医学工程等诸多领域。
在数字滤波器中,有限脉冲响应(FIR)滤波器和无限脉冲响应(IIR)滤波器是最常见的两种类型。
它们各自具有独特的优点和适用场景,因此,对这两种滤波器的深入理解和设计掌握是工程师和研究人员必备的技能。
本文旨在通过MATLAB这一强大的工程计算工具,详细介绍FIR 和IIR数字滤波器的设计原理、实现方法以及对比分析。
我们将简要回顾数字滤波器的基本概念和分类,然后重点阐述FIR和IIR滤波器的设计理论,包括窗函数法、频率采样法、最小均方误差法等多种设计方法。
接下来,我们将通过MATLAB编程实现这些设计方法,并展示如何根据实际应用需求调整滤波器参数以达到最佳性能。
本文还将对FIR和IIR滤波器进行性能对比,分析它们在不同应用场景下的优缺点,并提供一些实用的设计建议。
我们将通过几个典型的应用案例,展示如何在MATLAB中灵活应用FIR和IIR滤波器解决实际问题。
通过阅读本文,读者将能够深入理解FIR和IIR数字滤波器的设计原理和实现方法,掌握MATLAB在数字滤波器设计中的应用技巧,为未来的工程实践和研究工作打下坚实的基础。
二、FIR滤波器设计有限脉冲响应(FIR)滤波器是一种数字滤波器,其特点是其脉冲响应在有限的时间后为零。
因此,FIR滤波器是非递归的,没有反馈路径,从而保证了系统的稳定性。
在设计FIR滤波器时,我们主要关注的是滤波器的阶数、截止频率和窗函数的选择。
在MATLAB中,有多种方法可以用来设计FIR滤波器。
其中,最常用的方法是使用fir1函数,该函数可以设计一个线性相位FIR滤波器。
该函数的基本语法是b = fir1(n, Wn),其中n是滤波器的阶数,Wn是归一化截止频率,以π为单位。
该函数返回一个长度为n+1的滤波器系数向量b。
基于MATLAB的数字滤波器设计
唐山学院数字信号处理课程设计题目基于MATLAB的数字滤波器设计系 (部) 信息工程系班级 10通信本2姓名学号指导教师2013 年 1 月 7 日至 1 月 11 日共 1 周数字信号处理课程设计任务书课程设计成绩评定表目录1 绪论 (1)2数字滤波器的设计 (2)2.1数字滤波器的基本概念 (2)2.2利用双线性变换法设计IIR数字滤波器 (2)3课程设计的具体实现 (3)3.1对语音信号进行滤波的滤波器设计 (3)3.1.1 IIR数字滤波器的流程图 (3)3.1.2IIR低通滤波器设计 (3)3.1.3 IIR高通滤波器设计 (5)3.1.4IIR带通滤波器设计 (7)3.2对合成信号进行滤波的滤波器设计 (8)3.2.1设计目的和要求 (8)3.2.2合成信号的程序设计 (8)3.2.3合成信号的频谱程序设计 (9)3.2.4低通滤波器设计 (10)3.2.5 IIR带通滤波器设计 (11)3.2.6IIR高通滤波器滤波 (13)4软件简介 (15)4.1系统界面设计工具—GUI概述 (15)4.2界面设计及使用说明 (15)5结论 (17)6 致谢 (18)参考文献 (19)附录 (20)1 绪论与模拟滤波器相对应,在离散系统中广泛应用数字滤波器。
它的作用是利用离散时间系统的特性对输入信号波形或频率进行加工处理。
或者说,把输入信号变成一定的输出信号,从而达到改变信号频谱的目的。
数字滤波器一般可以用两种方法来实现:一种方法是用数字硬件装配成一台专门的设备,这种设备称为数字信号处理机;另一种方法就是直接利用通用计算机,将所需要的运算编成程序让通用计算机来完成,即利用计算机软件来实现。
模拟滤波器在测试系统或专用仪器仪表中是一种常用的变换装置。
例如:带通滤波器用作频谱分析仪中的选频装置;低通滤波器用作数字信号分析系统中的抗频混滤波;高通滤波器被用于声发射检测仪中剔除低频干扰噪声;带阻滤波器用作电涡流测振仪中的陷波器,等等。
基于Matlab的数字滤波器算法的设计
基于MATLAB的数字滤波器设计及滤波仿真1.实验原理:①正弦信号:Ax+n=wn)sin()(ϕ②巴特沃斯模拟滤波器的设计:[N,Wc]=buttord(Wp,Ws,ap,as,'s')[N,Wc]=buttord(wp,ws,αp,αs)用于计算巴特沃斯数字滤波器的阶数N和3dB截止频率wc。
调用参数wp,ws分别为数字滤波器的通带、阻带截止频率的归一化值,要求:0≤wp≤1,0≤ws≤1。
1表示数字频率pi。
αp,αs分别为通带最大衰减和组带最小衰减(dB)。
当ws≤wp时,为高通滤波器;当wp和ws为二元矢量时,为带通或带阻滤波器,这时wc也是二元向量。
N,wc 作为butter函数的调用参数。
坛[N,Ωc]=buttord(Ωp,Ωs,αp,αs,‘s’) 用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率Ωc。
Ωp,Ωs,Ωc均为实际模拟角频率[BS,AS]=butter(N,Wc,'s')[B,A] = BUTTER(N,Wn),设计一个阶数为n,频率为Wn的低通滤波器;[B,A] = BUTTER(N,Wn,ftype)可以设计高通,带阻滤波器,其中ftype参数的形式可以指定何种滤波器, ftype为‘high’时,设计一个阶数为n,频率为Wn的高通滤波器;ftype为‘stop’时,得到滤波器阶数为2*n,频率范围为Wn = [W1,W2]的带阻滤波器;③双线性变换设计IIR滤波器:[BZ,AZ]=bilinear(BS,AS,1/T)④信号滤波Y =filter(B,A,X)输入X为滤波前序列,Y为滤波结果序列,B/A 提供滤波器系数,B为分子, A为分母整个滤波过程是通过下面差分方程实现的:a(1)*y(n) = b(1)*x(n) + b(2)*x(n-1) + ... + b(nb+1)*x(n-nb) - a(2)*y(n-1) - ... - a(na+1)*y(n-na)[Y,Zf] = FILTER(B,A,X,Zi),输入X为滤波前序列,Y为滤波结果序列,B/A 提供滤波器系数,B为分子, A为分母,并输入Zi指定X的初始状态,Zf为最终状态矢量2.Simulink的使用方法:模块库中的模块可以直接用鼠标进行拖曳(选中模块,按住鼠标左键不放)而放到模型窗口中进行处理。
毕业设计88基于MATLAB的数字滤波器的设计
摘要传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,影响了它的应用。
本文介绍了一种利用MATLAB信号处理工具箱(Signal Processing Toolbox)快速有效的设计由软件组成的常规数字滤波器的设计方法。
给出了使用MATLAB语言进行程序设计和利用信号处理工具箱的FDATool工具进行界面设计的详细步骤。
利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。
本文还介绍了如何利用MATLAB环境下的仿真软件Simulink对所设计的滤波器进行模拟仿真。
介绍了IIR数字滤波器的传统设计思想与步骤,及其计算机辅助设计方法。
以一数字带通滤波器为例,着重说明了基于MATLAB的三种实现手段:模拟低通原型、合适模拟带通及直接原型,为数字滤波器设计带来全新的实现手段,设计快捷方便,仿真波形直观。
介绍了利用MATLAB信号处理工具箱进FIR滤波器设计的三种方法:程序设计法、FDATool设计法和SPTool设计法,给出了详细的设计步骤,并将设计的滤波器应用到一个混和正弦波信号,以验证滤波器的性能.关键词:数字滤波器 MATLAB FIR IIRAbstractTraditional digital filter design process complex, the computationwork load is big, the filter characteristic adjustment difficulty, hasaffected its application. This article introduced one kind using theMATLAB signal processing toolbox (Signal Processing Toolbox) the fasteffective design the conventional numeral filter design method whichis composed by software. Produced has used the MATLAB language tocarry on the programming and carries on contact surface design usingthe signal processing toolbox FDATool tool the detailed step. Usingthe MATLAB design filter, may contrast the design request and thefilter characteristic adjustment parameter as necessary,direct-viewing is simple, enormous reduced the work load, isadvantageous optimization which designs to the filter.Key word: Digital filter MATLAB FIR IIR目录摘要 (1)Abstract (2)第一章引言 (5)1.1数字滤波器的背景及意义 (5)1.2内容 (6)第二章数字滤波器的MATLAB设计 (8)2.1 MATLAB的设计方法 (9)2.1.1FDATool界面设计 (9)2.1.2程序设计法 (10)2.1.3 Simulink仿真 (11)2.1.4SPTool设计法 (12)2.1.5结论 (13)2.2基于MATLAB的程序设计方法的各种模拟滤波器实现 (13)2.2.1基于模拟低通原型的MATLAB实现 (14)2.2.2基于合适类型模拟滤波器的MATLAB实现 (15)2.2.3基于直接原型变换法的MATLAB实现 (17)第三章基于MATLAB的IIR数字滤波器的设计 (19)3.1 IIR滤波器有以下几个特点 (19)3.2 IIR数字滤波器设计思路与步骤 (19)3.3 IIR数字滤波器设计方法 (20)3.3.1传统设计方法 (20)3.3.2计算机辅助设计方法 (21)3.4常用模拟IIR滤波器的设计 (21)3.4.1巴特沃斯IIR滤波器的设计 (21)3.4.2契比雪夫I型IIR滤波器的设计 (22)3.5用模拟滤波器理论来设计IIR数字滤波器 (23)3.5.1脉冲响应不变法 (23)3.5.2双线性变换法 (24)3.6仿真实现 (27)第四章基于MATLAB的FIR数字滤波器的设计 (31)4.1 FIR数字滤波器设计的基本步骤 (26)4.2 FIR滤波器的窗函数设计法 (27)4.3程序设计法 (28)4.4 FDATool设计法 (29)4.5带通滤波器设计 (29)4.5.1带通滤波器设计实例一 (29)4.5.2带通滤波器设计实例二 (30)4.6 Simulink仿真 (31)4.7结束语 (32)第五章一种改进型的FIR数字滤波器设计 (33)5.1滤波器设计的改进方法 (33)5.1.1 Matlab Link for CCS Development Tools简介 (33)5.1.2数字滤波器的系统级设计方法 (33)5.1.3 结论 (34)参考文献 (35)致谢 (36)第一章引言1.1数字滤波器的背景及意义数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
基于MATLAB的数字滤波器的设计摘要
本设计要研究的是基于MATLAB的数字滤波器的设计。则是应用计算机软件进行编程。首先了解滤波器的基本工作原理,针对不同数字滤波器所采用最合适的设计方法,设计FIR和IIR数字滤波器,以达到效果最佳。FIR一般要求信号具有线性相位,而FIR数字滤波器则可实现严格的线性相位,同时由于脉冲响应为有限长,因此还具有永远稳定的特性,鉴于此FIR主要解决了线性相位和稳定性的问题,否则多用IIR数字滤波器来实现。根据这个特点设计FIR和IIR滤波器,利用窗函数来设计FIR数字滤波器;利用模拟滤波器来设计IIR数字滤波器。
本设计主要给出了FIR数字滤波器与IIR数字滤波器的设计方法和原理。
关键词数字滤波器MATLAB FIR IIR
滤波是信号处理中最基本又极为重要的技术,利用滤波器技术可以从复杂的信号中提取出所需要的信号,抑制不需要的信号。绝大多数传感器输出的信号,在使用过程中,都必须进行滤波。所以滤波器是具有一定传输选择特性的、对信号进行加工处理的装置、它允许输入信号中的一些成分通过,抑制或衰减另一些成分。其功能是将输入信号变换为人们所需要的输入信号。
MATLAB数字滤波器的设计
MATLAB数字滤波器的设计一、数字滤波器设计数字滤波器就是由数字乘法器、加法器和延时单位组成的一种装置。
它的作用是对输入离散信号的数字代码进行运算处理,从而达到改变信号频谱的目的。
数字滤波器可以用计算机软件实现或者大规模集成数字硬件实时实现。
在数字滤波器处理模拟信号的时候,先要对输入的模拟信号进行限带、抽样和模数转换。
数字滤波器输入信号的抽样率要大于信号带宽的两倍,它的频率响应还要具有以抽样频率为间隔的周期重复特性,并且它还要以1/2抽样频率点呈镜像对称。
数字滤波器具有高精度、高可靠性、可控制改变特性、便于集成等优点。
现在数字滤波器的使用范围比较广,例如,在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域。
数字滤波器有低通、高通、带通、带阻和全通等类型。
函数butter可用于设计Butterworth滤波器,butter函数可以设计低通、高通、带通和带阻的数字和模拟滤波器,用butter函数设计的滤波器通带内的幅度响应最大限度的平滑,但损失了截止频率处的下降斜度。
函数chebyl可用于设计Chebyshev I型滤波器,chebyl函数可以设计低通、高通、带通和带阻的数字和模拟Chebyshev I型滤波器,用chebyl函数设计的Chebyshev I型滤波器的通带内为等波纹,它的阻带内为单调。
Chebyshev I型滤波器的下降斜度比Chebyshev II型的要大,但是Chebyshev II的代价是通带内波纹比较大。
除了典型设计以外,MATLAB信号处理工具箱提供了几个直接设计IIR数字滤波器的函数,直接调用就可以设计滤波器,这为设计通用滤波器提供了方便。
在MATLAB中设计IIR滤波器时要设计出巴特沃斯滤波器可以使用Butterworth函数,要设计契比雪夫I型滤波器时可以使用Cheby1函数,设计契比雪夫II型滤波器要使用Cheby2,而椭圆滤波器则需要ellipord函数。
matlab实验报告 IIR数字滤波器设计
实验报告姓名:李鹏博 实验名称: IIR 数字滤波器设计 学号:2011300704 课程名称: 数字信号处理 班级:03041102 实验室名称: 航海西楼303 组号: 1 实验日期: 2014.06.20一、实验目的、要求掌握IIR 数字滤波器设计的冲激响应不变法和双线性变换法。
掌握IIR 数字滤波器的计算机编程实现方法,即软件实现。
二、实验原理为了从模拟滤波器设计IIR 数字滤波器,必须先设计一个满足技术指标的模拟滤波器,然后将其数字化,即从s 平面映射到z 平面,得到所需的数字滤波器。
虽然IIR 数字滤波器的设计本质上并不取决于连续时间滤波器的设计,但是因为在许多应用中,数字滤波器就是用来模仿模拟滤波器功能的,所以由模拟滤波器转化为数字滤波器是很自然的。
因此,由模拟滤波器设计数字滤波器的方法准确、简便,是目前最普遍采用的方法。
三、实验环境PC 机,Windows XP ,office 2003,Matlab 软件。
四、实验过程、数据记录、分析及结论实验过程1.编程设计滤波器,用冲激响应不变法设计IIR 数字滤波器。
2.编程设计滤波器,用双线性变换法设计IIR 数字滤波器。
3.求脉冲响应、频率响应以及零极点。
4.编程滤波,求滤波器输出,完成对不同频率的多个正弦信号的滤波。
实验步骤根据所给定的技术指标进行指标转换。
112c c f πΩ=,222c c f πΩ=,112s s f πΩ=,222s s f πΩ=,21p c c B Ω==Ω-Ω,221222s s s s s B Ω-ΩΩΩ=Ω,3,18p s αα=-=-。
根据指标设计Butterworth 模拟低通滤波器。
调用函数[n,wn]=buttord(wp,ws,rp,rs,’s ’)确定阶次。
调用函数[zl,pl,kl]=buttap(n),求低通原型的模型。
调用函数[bl,al]=zp2tf(zl,pl,kl)实现模型转换。
基于MATLAB的数字滤波器的设计
基于MATLAB 的数字滤波器的设计1 引言数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散线性非时变系统,其输入是一组(由模拟信号取样和量化的)数字量,其输出是经过变换或说处理的另一组数字量。
数字滤波器具有稳定性高、精度高、灵活性大等突出优点。
这里所说的数字滤波器是指理想带通,低通等的频率选择数字滤波器。
数字滤波器设计的一个重要步骤是确定一个可实现的传输函数H(z),这个确定传输函数H(z)的过程称为数字滤波器设计。
数字滤波器的一般设计过程为:(1)按照实际需要,确定滤波器的性能要求(通常在频域内给定数字滤波的性能要求)。
(2)寻找一满足预定性能要求的离散时间线性系统。
(3)用有限精度的运算实现所设计的系统。
(4)通过模拟,验证所设计的系统是否符合给定性能要求。
2 数字滤波器的设计滤波器分为两种,分别为模拟滤波器和数字滤波器。
数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化的过程中,使信号按预定的形式变化。
数字滤波器有多种分类,从数字滤波器功能上分可分为低通、高通、带阻、带通滤波器,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应滤波器(IIR )和有限长冲激响应滤波器(FIR )。
数字滤波器指标:一般来说,滤波器的幅频特性是分段常数的,以低通为例,在通带内逼近于1,阻带内逼近与0,实际设计的滤波器并非是锐截止的通带和阻带两个范围,两者之间总有一个过渡带。
在设计滤波器时事先给定幅频特性允许误差,在通带范围内幅度响应以误差逼近于1,在阻带内幅1σ度响应以误差逼近于0。
2σ (1)πσσ≤≤≤≤≤≤-w w e H w w e H r jwc jw ,2|)(|,1|)(|11式中wc 和wr 分别为通带边界频率和阻带边界频率,wr-wc 为过渡带。
在具体的技术指标中往往用通带波动来表示,用最小阻带衰减At 来表示,其具体的对应公式这里就不详述了。
基于matlab的IIR数字滤波器设计
基于matlab的IIR数字滤波器设计一.IIR数字滤波器介绍1.IIR数字滤波器的根本原理所谓数字滤波器,是指输入,输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相比照例或者滤除某些频率成分的硬件。
实质上就是一个由有限精度算法实现的线性时不变离散系统。
它的根本工作原理是利用离散系统的特性对系统输入信号进展加工和变换,改变输入序列的频谱或信号波形,让有用的频率分量通过,抑制无用的信号分量输出,因此数字滤波与模拟滤波的概念一样,根据其频率特性同样可以分为低通,高通,带通,带阻,只是信号的形式和实现滤波方式有所不同。
如果要处理的信号是模拟信号,就可以通过A/D或者D/A转换,在信号形式上进展匹配转换,同样可以使用数字滤波器对模拟信号进展滤波。
数字滤波器滤波的数学表达式:y〔n〕=x(n)*h(n); 如果滤波器的输入输出信号都是离散信号,那么该滤波器的脉冲响应也一定是离散信号,这样的滤波器就成为了数字滤波器。
上面的系统为时域离散系统时,其频域特性为:其中分别是数字滤波器的输出序列和输入序列的频域响应,是数字滤波器的频域响应。
可以看见按照输入信号的频谱特点和处理信号的目的适中选择滤波器的频域响应,使得滤波后的输出信号满足设计性能要求,就是滤波器的滤波原理。
2.IIR数字滤波器传输特性IIR数字滤波器的系统函数可以表示为:H(Z)=,式中H(Z)称为N阶IIR滤波器函数。
3..数字滤波器的技术要求.我们通常设计的数字滤波器一般属于选频滤波器,。
我们的目的是要设计一个因果可实现的滤波器,另外买也要考虑到本钱和复杂性问题,因此实用中通带和阻带都允许一定的误差容限,即通带不一定是完全水平的,阻带也不可能完全衰减到零。
而且,通带和阻带之间还要设置一定带宽的过渡带。
如如下图表示低通滤波器的技术要求:图中,分别表示通带截止频率和阻带截止频率,通带频率范围为0≤w≤,通带中要求〔1-δ1〕≤|H≤1,阻带截止频率范围≤w≤Π,再阻带中要求≤δ2,从p w 到s w 称为过渡带,在这个频带内,幅度响应从通带平滑的下落到阻带。
实验5 基于Matlab的数字滤波器设计
实验五 基于Matlab 的数字滤波器设计实验目的:加深对数字滤波器的常用指标和设计过程的理解。
实验原理:低通滤波器的常用指标如下所述,其典型规格如下:⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧≤≤≤≤+≤≤-πδδδw w e G w w e G s s jw p p jw p ,)(,1)(1 通带边缘频率:p ϖ阻带边缘频率:s ϖ 通带起伏:p δ 通带峰值起伏:))(1(log 2010dB p p δα--=阻带起伏: s δ 最小阻带衰减:))((log 2010dB s s δα-=数字滤波器有IIR 和FIR 两种类型,他们的特点和设计方法不同。
一、窗函数法设FIR 滤波器在Matlab 中产生窗函数十分简单:(1) 矩形窗调用格式:w=boxcar(n) ,根据长度n 产生一个矩形窗w 。
(2) 三角窗调用格式:w=triang(n) ,根据长度n 产生一个三角窗w 。
(3)汉宁窗调用格式:w=hanning(n) ,根据长度n 产生一个汉宁窗w 。
(4)汉明窗调用格式:w=hamming(n) ,根据长度n 产生一个汉明窗w 。
(5)布莱克曼窗调用格式:w=Blackman(n) ,根据长度n 产生一个布莱克曼窗w 。
基于窗函数的FIR 滤波器设计利用Matlab 提供的函数firl 来实现。
调用格式:firl(n,wn,’ftype ’,Window),n 为阶数,wn 是截止频率(如果输入是形如[w1 w2]的矢量时,本函数将设计带通滤波器,其通带为w1<w<w2)、ftype 是滤波器的类型(底通——省略该参数、高通——ftype=high 、带阻——ftype=stop )、Window 是窗函数。
1、设计一个长度为8的线性相位FIR 滤波器。
Window=boxcar(8); b=fir1(7,0.4,Window); freqz(b,1); Window=blackman(80;b=fir1(7,0.4,Window); freqz(b,1);2、设计线性相位带通滤波器,其长度N=15,上下边带截止频率分别为w1=0.3π,w2=0.5π Window=blackman(16); B=firl(15,[0.3 0.5],Window); Freqz(b,1);3、设计指标为,dB A dB R s a p p 50,3.0,25.0,2.0====πϖπϖ的底通滤波器。
基于MATLAB的IIR数字滤波器的设计开题报告
课题名称:基于MATLAB的数字滤波器的设计--基于MATLAB的IIR数字滤波器的设计2.设计(论文)要解决的问题和拟采用的研究方法(1)IIR数字滤波器设计思路与步骤IIR 数字滤波器可用一个n阶差分方程y(n)=Σbrx(n-r)+Σaky(n-k),或用它的Z域系统函数:对照模拟滤波器的传递函数:不难看出,数字滤波器与模拟滤波器的设计思路相仿,其设计实质也是寻找一组系数{b,a},去逼近所要求的频率响应,使其在性能上满足预定的技术要求;不同的是模拟滤波器的设计是在S平面上用数学逼近法去寻找近似的所需特性H(S),而数字滤波器则是在Z平面寻找合适的H(z)。
IIR数字滤波器的单位响应是无限长的,而模拟滤波器一般都具有无限长的单位脉冲响应,因此与模拟滤波器相匹配。
由于模拟滤波器的设计在理论上已十分成熟,因此数字滤波器设计的关键是将H(S)→H(Z),即,利用复值映射将模拟滤波器离散化。
已经证明,冲击响应不变法和双线性变换法能较好地担当此任,则在此基础上,数字滤波器的设计就可首先归结为模拟滤波器的设计了。
图1 数字滤波器设计步骤(2)用模拟滤波器理论来设计IIR数字滤波器1.脉冲响应不变法2.双变性变换法模拟滤波器离散化数字滤波器数字滤波器技术指标模拟滤波器技术指标相应的模拟滤波器设计指标参数变换其说明:1.本报告必须由承担毕业设计(论文)课题任务的学生在接到“毕业设计(论文)任务书”、正式开始做毕业设计(论文)的第2周或第3周末之前独立撰写完成,并交指导教师审阅。
2.每个毕业设计(论文)课题撰写本报告一份,作为指导教师、教研室主任审查学生能否承担该毕业设计(论文)课题任务的依据,并接受学校的抽查。
.。
基于MATLAB的数字插值滤波器设计
EDA 课程设计报告滤波器设计参数:根据要求,要设计一个输入8位,输出8位的17阶线性相位FIR 滤波器,所以采用图2(a)的方式,其中输入信号范围为:[±99,0,0,0, ±70,0,0,0, ±99,0,0,0, ±70,…],此滤波器 Fs 为44kHz,Fc 为10.4kHz 。
(一)FIR 数字滤波器理论简述有限冲激响应(FIR )数字滤波器和无限冲激响应(IIR )数字滤波器广泛应用于数字信号处理系统中。
IIR 数字滤波器方便简单,但它相位的非线性,要求采用全通网络进行相位校正,且稳定性难以保障。
FIR 滤波器具有很好的线性相位特性,使得它越来越受到广泛的重视。
有限冲击响应(FIR )滤波器的特点:1 既具有严格的线性相位,又具有任意的幅度;2 FIR 滤波器的单位抽样响应是有限长的,因而滤波器性能稳定;3只要经过一定的延时,任何非因果有限长序列都能变成因果的有限长序列,因而能用因果系统来实现;4 FIR 滤波器由于单位冲击响应是有限长的,因而可用快速傅里叶变换(FFT)算法来实现过滤信号,可大大提高运算效率。
5 FIR 也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。
6 FIR 滤波器比较大的缺点就是阶次相对于IIR 滤波器来说要大很多。
FIR 数字滤波器是一个线性时不变系统(LTI ),N 阶因果有限冲激响应滤波器可以用传输函数H (z )来描述,()()Nk k H z h k z -==∑(0.1)在时域中,上述有限冲激响应滤波器的输入输出关系如下:[][][][][]Nk y n x n h n x k h n k ==*=-∑(0.2)其中,x [n ]和y [n ]分别是输入和输出序列。
N 阶有限冲激响应滤波器要用N +1个系数描述,通常要用N+1个乘法器和N 个两输入加法器来实现。
乘法器的系数正好是传递函数的系数,因此这种结构称为直接型结构,可通过式(1.2)来实现,如图1。
基于matlab的iir数字滤波器的设计
基于matlab的iir数字滤波器的设计数字滤波器是数字信号处理中的重要组成部分,IIR数字滤波器是其中常用的一种类型,它采用了反馈结构,具有延迟时间较短和可调节性强等优点。
本文将介绍如何基于MATLAB实现IIR数字滤波器的设计方法。
1. 设计参数的确定在设计IIR数字滤波器之前,首先需要确定一些参数,如滤波器的类型、截止频率和阶数等。
通常来说,可以先根据系统需求选择滤波器的类型和截止频率,在此基础上再确定阶数和滤波器的反馈结构。
2. 滤波器的设计步骤在MATLAB软件中设计IIR数字滤波器主要包括以下步骤:(1) 调用MATLAB中的“fdtool”函数,打开滤波器设计工具界面。
(2) 在滤波器设计工具界面中,选择所需要的滤波器类型和截止频率等参数。
(3) 根据选择的参数计算出滤波器的系数,并在界面上显示出来。
(4) 在设计完成后,可以通过MATLAB中的“filter”函数对输入信号进行滤波处理。
3. 采用反馈结构设计IIR数字滤波器在滤波器系数计算完毕后,MATLAB会默认生成IIR数字滤波器的直接形式,但是直接形式计算量大,延迟时间也较长,因此可以采用反馈结构来优化滤波器性能。
反馈结构可以通过MATLAB的“tf2sos”函数计算得到,它会返回一组二阶滤波器的系数和反馈系数,这些系数可以直接用于滤波器的设计中,从而实现滤波器性能的优化。
4. 滤波器性能评价在设计完成后,需要对IIR数字滤波器的性能进行评价。
MATLAB提供了“freqz”函数,可以绘制滤波器的幅频特性曲线和相频特性曲线,从而了解滤波器的增益和相位响应情况。
同时,还可以通过MATLAB中的“fvtool”函数,绘制滤波器的频率响应、瞬态响应和群延迟等特性曲线,从而更全面地了解滤波器的性能。
总之,基于MATLAB的IIR数字滤波器设计方法不仅可以方便地实现滤波器的设计,还可以通过滤波器性能评价来优化滤波器的性能。
因此,在数字信号处理中广泛应用,是一种非常实用和有效的技术手段。
基于matlab的数字滤波器的设计及仿真
程序编写
clearclose allwls=0.2*pi;wlp=0.35*pi;whp=0.65*pi;B=wlp-wls;N=ceil(12/0.15);wc=[wlp/pi-6/N,whp/pi+6/N];hn=fir1(N-1,wc,blackman(N));n=0:79;subplot(2,1,1);stem(n,hn,".")[h,w]=freqz(hn,1,256);subplot(2,1,2);plot(w/pi,20*log10(abs(h)));grid;
滤波器的仿真
第16第页1/2共页3/3共页33页
三个信号叠加:
第17第页1/2共页3/3共页33页
滤波后的结果:
可见FDAtool设计的滤波器滤波的效果很好!
二、MATLAB环境下FIR数字滤波器的设计
窗函数法等波纹逼近法频率采样法
第18第页1/2共页3/3共页33页
窗函数法
用窗函数法设计FIR滤波器时,先根据wc和N求出相应的理想滤波器单位脉冲响应hd(n);选择合适的窗函数w(n)来截取hd(n)的适当长度(即阶数),以保证实现要求的阻带衰减;最后得到FIR滤波器单位脉冲响应:h(n)= hd(n)*w(n).
第23第页2/2共页3/3共页33页
第24第页2/2共页3/3共页33页
四、两个有趣的实验
1、利用MATLAB进行声音滤波:利用MATLAB读取wav格式的声音文件,对信号进行离散傅里叶变换,得到其频谱图,给信号加杂音,然后设计一个数字滤波器将杂音滤除,得到原音,最后比较滤波器的滤波效果。
第25第页2/2共页3/3共页33页
第31第页2/2共页3/3共页33页
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MA TLAB 的数字滤波器的设计1 引言数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散线性非时变系统,其输入是一组(由模拟信号取样和量化的)数字量,其输出是经过变换或说处理的另一组数字量。
数字滤波器具有稳定性高、精度高、灵活性大等突出优点。
这里所说的数字滤波器是指理想带通,低通等的频率选择数字滤波器。
数字滤波器设计的一个重要步骤是确定一个可实现的传输函数H(z),这个确定传输函数H(z )的过程称为数字滤波器设计。
数字滤波器的一般设计过程为:(1)按照实际需要,确定滤波器的性能要求(通常在频域内给定数字滤波的性能要求)。
(2)寻找一满足预定性能要求的离散时间线性系统。
(3)用有限精度的运算实现所设计的系统。
(4)通过模拟,验证所设计的系统是否符合给定性能要求。
2 数字滤波器的设计滤波器分为两种,分别为模拟滤波器和数字滤波器。
数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化的过程中,使信号按预定的形式变化。
数字滤波器有多种分类,从数字滤波器功能上分可分为低通、高通、带阻、带通滤波器,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应滤波器(IIR)和有限长冲激响应滤波器(FIR)。
数字滤波器指标:一般来说,滤波器的幅频特性是分段常数的,以低通为例,在通带内逼近于1,阻带内逼近与0,实际设计的滤波器并非是锐截止的通带和阻带两个范围,两者之间总有一个过渡带。
在设计滤波器时事先给定幅频特性允许误差,在通带范围内幅度响应以误差1σ逼近于1,在阻带内幅度响应以误差2σ逼近于0。
πσσ≤≤≤≤≤≤-w w e H w w e H r jwc jw ,2|)(|,1|)(|11 (1)式中wc 和w r分别为通带边界频率和阻带边界频率,wr-w c为过渡带。
在具体的技术指标中往往用通带波动σ来表示1σ,用最小阻带衰减At 来表示2σ,其具体的对应公式这里就不详述了。
2.1 IIR 数字滤波器设计IIR DF 的冲激响应h(n)是无限长的,其输入输出的关系为:)()()(i n x i h n y i -=∑+∞-∞= (2)系统函数为∑+∞=-∞=-=n n nzn h z H )()(=∑∑=-=--nk kk mr rrz a zb 11 (3)设计无限长单位脉冲响应(IIR )数字滤波器一般可有三种方法。
第一种方法,先设计一个合适的模拟滤波器,然后将其数字话,即将S 平面映射到Z 平面得到所需的数字滤波器。
模拟滤波器的设计技巧非常成熟,不仅得到的是闭合形式的公式,而且设计系数已经表格化了。
因此,由模拟滤波器设计数字滤波器的方法准确,简便,得到普遍采用。
对于这种方法,工程上有两种常见得变换法——脉冲响应不变法及双线性变换法。
第二种方法,在Z 平面直接设计IIR 数字滤波器,给出闭合形式的公式,或者以所希望的滤波器响应作为依据,直接在Z 平面上通过多次选定极点和零点的位置,以逼近该响应。
第三种方法,利用最优化技术设计参数,选定极点和零点在Z平面上的合适位置,在某种最优化准则意义上逼近所希望的响应。
但一般不能得到滤波器的系数(即零,极点的位置)作为给定响应的闭合形式函数表达式。
优化设计需要完成大量的迭代运算,这种设计法实际上也是IIR 滤波器的直接设计。
本文着重介绍由模拟滤波器设计相应的IIR 数字滤波器的方法。
(1)脉冲响应不变法脉冲响应不变法是使数字滤波器的单位脉冲响应序列h (n)逼近模拟滤波器的冲激响应()a h t ,让h (n)正好等于()a h t 的采样值。
设已有满足要求的模拟滤波器, 则可()a H s →()a h t →()()a h n h nT =→()H z{因为:()()a h t h n ≈的图形的图形}, 公式导出:具体转换如下:设(以一阶极点为例)1()Nka k kA H s s s ==-∑(4) 作拉氏反变换,得11()[()]()k Ns t a a k k h t FT H s A e u t -===∑采样得1()()()k Ns nT a k k h n h nT A e u nT ===∑作Z变换,得1011()()1k k NNs nTnkk s T n k k A H z A eu nT ze z ∞--=====-∑∑∑(5)()H z 与()a H s 极点关系为: k s T kz e =(6)一般对应关系sTj T j T s j j z rez e re e e ωσΩσΩω=+==→=⇒,T r e T σωΩ⇒==(7)图1 S平面到Z 平面变换示意图所以, 模拟系统稳定因果→数字系统稳定因果。
按照脉冲响应不变法,从S 平面到Z 平面的映射不是单值关系,而是先将()a H s 在S 平面沿虚轴作周期严拓,再按照映射关系将()a H s 映射到Z 平面,得到()H z ,因此,脉冲响应不变法只适用于带限的滤波器(如低通、带通)。
在Mat lab 中利用M 文件imp invar 可以对模拟传输函数实行脉冲响应不变法。
(2)双线性变换法脉冲响应不变法不适带阻和高通滤波器的设计,因为高频带为通带,前述方法易引起混频。
故希望:s 平面虚轴⇔z 平面单位圆一周, 且应有:0:0Ωωπ→+∞⇔→, :0:0Ωωπ→-∞⇔→-,因为tan(/2)π±=±∞, 所以选变换tan2K ωΩ= (8)其中K 可取任意正常数, 后面将导出2/K T =.设计思路: tan 2,,,,,,p s p s p s p s K ΩωωωααΩΩαα=========>.→设计出模拟滤波器→转化成数字滤波器.图2 数字域频率与模拟域频率的对应关系 转化公式推导如下:sin(/2)tan 2cos(/2)j j jK KωωΩω==/2/2/2/211j j j j j j e e e K K e e e ωωωωωω------==++因只关心频率转换, 故可设s j Ω=,j ze ω=,则有1111z s K z ---=+, (称为双线性变换) (9)所以模拟滤波器转换成数字滤波器的公式为j ΩσO1ω1r =O s 平面0σ<0σ=z 平面1r <Tr eσ=ks ⨯kz ⨯w1111()()z a s K z H z H s ---=+= (10)由双线性变换公式, 可得11Ksz Ks+=-, 视为两复平面变换, 再由,j s j z re ωσΩ=+=.可得r (11)从上式可得:0σ=时,1r =, s 上虚轴⇔z 上单位圆周。
0σ<时,1r <, s 上左半平面⇔ z 上单位圆内。
0σ>时,1r >, s 上右半平面⇔z 上单位圆外。
故若模拟滤波器稳定,则双线性变换后数字滤波器也稳定。
由于双线性变换法是一种单值映射,因此消除了频率混叠的现象。
双线性变换法的缺点是模拟频率与数字频率间的非线性,这种非线性关系要求被变换的连续系统的幅度响应是分段常数型的(某一频率范围内幅度响应近似于某一常数),不然所映射出的数字频率响应相对于原来的模拟频率响应会产生变形。
为解决双线性变换中的频率非线性关系,我们采用预畸的方法,即tan2K ωΩ=,其中K=2/T 。
在Ma tlab 中利用M 文件bilin ear 可以对模拟传输函数实行双线性变换法。
MATLAB 中IIR 数字滤波器的设计过程包括两步。
第一步,根据给定指标,确定滤波器的阶数N 和频率缩放因子Wn 。
第二步,利用这些参数和给定的波纹参数,确定传输函数的关系。
阶数估计:利用双线性变换法设计数字滤波器时,首先要对IIR 数字滤波器的阶数进行估计,相应的M 文件为:butt or d用于巴特沃斯滤波器,che b1ord 用于切比雪夫1型滤波器,cheb2ord 用于切比雪夫2型滤波器,ell ipord 用于椭圆滤波器。
滤波器的设计:对于基于双线性变换法的I IR 滤波器设计,对应于四种逼近技术(即巴特沃斯、切比雪夫1型和2型及椭圆逼近),M ATLAB 工具箱中有相应的函数。
特别地可以用到下面的M 文件:bu tte r用于巴特沃斯滤波器的设计,cheb y1用于切比雪夫1型滤波器的设计,c heb y2用于切比雪夫2型滤波器的设计,e llip 用于椭圆滤波器的设计。
这些函数的输出可以是滤波器传输函数分子和分母的系数向量,也可以是滤波器的零极点向量和标量增益因子。
同时,利用z p2t f可以由滤波器的零极点向量和标量增益因子得到传输函数分子和分母的系数向量。
相应地,利用函数zp2sos 可以得到传输函数分子和分母系数向量的二次项因子。
在计算出传输函数的系数之后,可以利用M文件fr eq z来计算频率响应。
2.2 FIR 数字滤波器设计F IR DF 的冲激响应h (n)是有限长的,M 阶FI R DF 可以表示为:∑-=-=1)()()(M i i n x i h n y (12)其系统函数为:∑-=-=1)()(M n n z n h z H (13)与IIR 数字滤波器的设计不同,FIR 滤波器的设计与模拟滤波器的设计没有任何联系。
因此,F IR 滤波器的设计基于对指定幅度响应的直接逼近,并通常要求其具有线性相位响应。
为了保证滤波器具有线性相位特性,滤波器系数必须满足条件:h(n)=±h(M-1-n)。
目前关于FIR 滤波器的设计方法主要有三种,即窗函数法,频率取样法和切比雪夫等波纹逼近的最优化设计方法。
一般应用较多的是第一种和第三种方法。
这是因为窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不严格的情况下市比较灵活的。
最优化设计法必须借助计算机计算,但是它能得到最佳的等波纹的线性相位FIR滤波器。
目前切比雪夫等波纹的线性相位FIR 滤波器的计算机机助设计程序已经比较完善,由于采用了REME Z迭代算法,所以设计效率也很高,在应用中越来越占优势。
(1)窗函数法一般设计过程总是先给定一理想的滤波器频率响应)(jw d e H ,然后设计一个FIR 滤波器,用它的频率响应jwnM n jwen h e H --=∑=10)()(来逼近理想的)(jw d e H 。
这种逼近中最直接的方法,是在时域中用FIR 滤波器的单位脉冲响应h(n)去逼近理想的单位脉冲响应)(n h d 。
因而,先由)(jw d e H 的IDTFT 导出)(n h ddw e e Hn h jwn jw dd )(21)(⎰-=πππ(14)由于)(jw d e H 是矩形频率特性,故)(n h d 一定是无限长的序列,且是非因果的。