基于MATLAB的滤波器设计
基于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的IIR滤波器的设计及应用

基于MATLAB的IIR滤波器的设计及应用IIR滤波器是一种无限脉冲响应滤波器,其设计和应用常常基于MATLAB进行。
在设计IIR滤波器时,首先需要确定滤波器的规格要求,例如带通或带阻滤波器、截止频率以及通带和阻带的最大衰减要求等。
设计IIR滤波器常用的方法有Butterworth、Chebyshev和Elliptic 等。
其中,Butterworth滤波器在通带区具有最平坦的幅频特性,而Chebyshev和Elliptic滤波器在通带和阻带区的幅频特性则更陡峭。
选择滤波器的类型取决于应用的具体需求。
通过MATLAB可以使用“butter”函数设计Butterworth滤波器,使用“cheby1”或“cheby2”函数设计Chebyshev滤波器,使用“ellip”函数设计Elliptic滤波器。
这些函数可以指定滤波器的类型、阶数、截止频率和衰减要求等参数。
设计得到的滤波器系数可以用于滤波器的实施。
IIR滤波器在信号处理领域有广泛的应用。
其中,带通滤波器用于从原始信号中提取感兴趣的频率成分,例如心电图中的QRS波群。
带阻滤波器则用于去除原始信号中的频率成分,例如去除电源线频率的干扰。
此外,IIR滤波器还可用于音频信号处理、图像处理等领域。
MATLAB提供了多种方法来应用IIR滤波器。
可以使用“filter”函数对信号进行滤波处理,其中需指定滤波器的系数和待滤波的信号。
另外,MATLAB还提供了“filtfilt”函数进行无相位滤波,即正向和反向滤波,从而减小滤波器的相应延迟。
总之,基于MATLAB的IIR滤波器设计和应用是信号处理领域的常见任务。
通过选择适当的滤波器类型和参数,可以实现对信号的滤波处理,满足各种应用的需求。
MATLAB提供了丰富的函数和工具,便于设计、实施和应用IIR滤波器。
基于MATLAB的IIR和FIR滤波器的设计与实现要点

基于MATLAB的IIR和FIR滤波器的设计与实现要点IIR和FIR滤波器是数字信号处理中常用的滤波器设计方法,它们分别基于无限脉冲响应(IIR)和有限脉冲响应(FIR)的理论基础。
本文将对基于MATLAB的IIR和FIR滤波器的设计与实现要点进行详细的介绍。
1.滤波器设计方法IIR滤波器设计方法主要有两种:基于模拟滤波器的方法和基于离散系统的方法。
前者将模拟滤波器的传递函数转化为离散滤波器的传递函数,常用方法有:脉冲响应不变法、双线性变换法等,MATLAB中提供了相关函数实现这些方法。
后者直接根据滤波器的要求设计离散系统的传递函数,常用方法有:Butterworth、Chebyshev等,MATLAB中也提供了相应的函数实现这些方法。
2.滤波器参数的选择选择合适的滤波器参数是IIR滤波器设计中的关键步骤。
根据滤波器的型号和设定的滤波器规格,主要需要选择的参数包括:滤波器阶数、截止频率、通带和阻带的衰减等。
一般情况下,滤波器阶数越高,滤波器的性能越好,但计算量也会增加,所以需要进行权衡。
3.滤波器实现方法基于MATLAB的IIR滤波器可以通过直接的形式或级联形式实现。
直接形式直接使用传递函数的表达式计算输出样本;级联形式则将传递函数分解为多个较小的子滤波器,逐级计算输出样本,并将各级输出进行累加。
选择哪种形式取决于具体的应用需要和滤波器的阶数。
4.滤波器性能评估设计好IIR滤波器后,需要对其性能进行评估,判断滤波器是否满足要求。
主要评估指标包括:幅频响应、相频响应、群延迟等。
MATLAB提供了多种绘制频域和时域响应曲线的函数,可以用来评估IIR滤波器的性能。
1.滤波器设计方法FIR滤波器设计主要有两种方法:窗函数法和最优化法。
窗函数法是最简单的设计方法,它通过对理想滤波器的频率响应进行窗函数加权来获得滤波器的时域响应,常用的窗函数有:矩形窗、汉宁窗、布莱克曼窗等。
最优化法则通过优化其中一种准则函数,如最小二乘法、Chebyshev等,得到最优的FIR滤波器。
基于MATLABGUI的滤波器设计软件

基于MATLABGUI的滤波器设计软件引言:滤波器是数字信号处理领域中很重要的一部分,用于对信号进行去噪、信号增强、频域变换等操作。
而滤波器设计的过程中需要进行参数调节、滤波器响应曲线的查看等操作,通过编写MATLABGUI的滤波器设计软件可以简化这一过程,提高滤波器设计的效率。
一、软件的基本功能1.滤波器类型选择功能在软件的界面上,可以选择滤波器的类型,例如低通滤波器、高通滤波器、带通滤波器、带阻滤波器等。
2.滤波器参数设置功能根据选择的滤波器类型,用户可以设置滤波器的参数。
例如,对于低通滤波器,可以设置截止频率;对于带通滤波器,可以设置通带和阻带的上下限等。
3.滤波器响应曲线展示功能软件还可以实时展示滤波器的频率响应或时域响应曲线。
用户可以通过滑动条等方式改变滤波器参数,实时查看响应曲线的变化,从而方便地进行调试和优化。
4.滤波器输出功能用户设计好滤波器后,软件可以将滤波器的参数输出为MATLAB代码或数据文件,方便用户在其他地方再次使用或进行二次开发。
二、软件的实现思路1.MATLABGUI界面设计通过MATLAB的GUI设计工具,创建软件的用户界面。
界面应该包括滤波器类型选择框、参数输入框、响应曲线图像和参数输出按钮等元素。
2.滤波器设计算法选择适合的滤波器设计算法,并将其实现为MATLAB函数。
例如,可以使用脉冲响应法、窗函数法等经典的滤波器设计算法。
3.界面与算法的交互根据用户在界面上的选择和输入,调用对应的滤波器设计算法进行滤波器设计。
设计完成后,将滤波器的响应曲线显示在界面上。
4.参数输出功能根据用户点击参数输出按钮的操作,将滤波器的参数输出为MATLAB代码或数据文件。
三、软件的优点1.操作方便:通过图形界面操作,减少了用户对MATLAB命令的使用,方便非专业用户进行滤波器设计。
2.实时展示:滤波器的响应曲线实时展示在界面上,用户可以直观地了解滤波器的性能,从而进行参数调节和优化。
基于Matlab的IIR数字滤波器设计脉冲响应不变法

课程设计说明书题目:基于Matlab的IIR数字滤波器设计课程设计(论文)任务书院(系)基层教学单位说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。
摘要数字滤波是数字信号处理的重要容,是由乘法器、加法器和单位延时器组成的一种运算过程,其功能是对输人离散信号进行运算处理,以达到改变信号频谱的目的。
数字滤波器根据频域特性可分为低通、高通、带通和带阻四个基本类型。
本文用脉冲响应不变法设计的一个满足指标的巴特沃斯IIR滤波器,利用了一种基于Matlab软件的数字滤波器设计方法,完成了低通,高通,带通,帯阻IIR滤波器的设计, 文中深入分析了该滤波器系统设计的功能特点、实现原理以及技术关键,阐述了使用MATLAB进行带通滤波器设计及仿真的具体方法。
最后把整个设计方案用GUIDE界面制作并演示出来。
文章根据IIR滤波器的设计原理,重点介绍巴特沃斯数字滤波器的设计方法和操作步骤,并以实例形式列出设计程序。
关键词:信号巴特沃斯Matlab IIR滤波器脉冲响应不变法目录摘要 (3)目录 (4)第一章绪论 (5)1.1信号数字现状与数字滤波器意义 (5)1.2 设计平台 (6)1.3数字滤波器概述 (6)第二章 IIR数字滤波器的设计 (7)2.1 IIR滤波器的基本结构 (7)2.2 滤波器的性能指标 (10)2.3 IIR数字滤波器的设计方法 (11)2.4巴特沃斯滤波器。
(13)第三章 IIR频率响应滤波器的实例 (15)3.2 用脉冲响应不变法设计IIR低通数字滤波器实例 (15)3.2 用脉冲响应不变法设计IIR高通数字滤波器实例 (17)3.3 用脉冲响应不变法设计IIR带通数字滤波器实例 (19)3.4 用脉冲响应不变法设计IIR帯阻数字滤波器实例 (21)3.5(附)滤波信号的输入 (24)3.6 滤波的效果........................................................................... (24)第四章界面设计 (25)4.1主界面 (25)4.2 软件功能及使用方法 (26)总结 (27)程序清单 (29)第一章绪论1.1信号数字现状与数字滤波器意义当今,数字信号处理[1] (DSP:Digtal Signal Processing)技术正飞速发展,它不但自成一门学科,更是以不同形式影响和渗透到其他学科:它与国民经济息息相关,与国防建设紧密相连;它影响或改变着我们的生产、生活方式,因此受到人们普遍的关注。
基于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设计FIR滤波器
基于MATLAB设计FIR滤波器FIR(Finite Impulse Response)滤波器是一种数字滤波器,它具有有限的冲激响应长度。
基于MATLAB设计FIR滤波器可以使用signal工具箱中的fir1函数。
fir1函数的语法如下:b = fir1(N, Wn, window)其中,N是滤波器的阶数,Wn是截止频率,window是窗函数。
要设计一个FIR低通滤波器,可以按照以下步骤进行:步骤1:确定滤波器的阶数。
阶数决定了滤波器的截止频率的陡峭程度。
一般情况下,阶数越高,滤波器的陡峭度越高,但计算复杂度也会增加。
步骤2:确定滤波器的截止频率。
截止频率是指在滤波器中将信号的频率限制在一定范围内的频率。
根据应用的需求,可以选择适当的截止频率。
步骤3:选择窗函数。
窗函数是为了在时域上窗口函数中心增加频率衰减因子而使用的函数。
常用的窗函数有Hamming、Hanning等。
窗函数可以用来控制滤波器的幅度响应特性,使得它更平滑。
步骤4:使用fir1函数设计滤波器。
根据以上步骤确定滤波器的阶数、截止频率和窗函数,可以使用fir1函数设计FIR滤波器。
具体代码如下:N=50;%设定阶数Wn=0.5;%设定截止频率window = hanning(N + 1); % 使用Hanning窗函数步骤5:使用filter函数对信号进行滤波。
设计好FIR滤波器后,可以使用filter函数对信号进行滤波。
具体代码如下:filtered_signal = filter(b, 1, input_signal);其中,input_signal是输入信号,filtered_signal是滤波后的信号。
以上,便是基于MATLAB设计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的模拟滤波器设计
基于MATLAB的模拟滤波器设计滤波器是信号处理中常用的工具,用于去除或增强信号中的一些频率成分。
MATLAB是一个功能强大的数学软件,提供了丰富的工具和函数用于设计和模拟滤波器。
这篇文章主要介绍基于MATLAB的模拟滤波器设计。
MATLAB提供了一些用于设计模拟滤波器的函数,其中最常用的是“butter”,“cheby1”和“ellip”等函数。
这些函数可以根据设计规范生成传输函数或系统函数,并可用于计算滤波器的频率响应、脉冲响应和单位响应等参数。
首先,我们需要确定滤波器的设计规范。
设计规范包括截止频率、阻带增益、带宽和滤波器的类型等。
根据不同的应用需求,我们可以选择不同的滤波器类型,如低通滤波器、高通滤波器、带通滤波器和带阻滤波器等。
以低通滤波器为例,我们可以使用MATLAB的“butter”函数来设计一个模拟滤波器。
该函数使用巴特沃斯滤波器设计方法,可以生成满足指定截止频率和阻带增益要求的低通滤波器。
下面是一个MATLAB代码示例,展示如何使用“butter”函数来设计一个模拟低通滤波器:```matlab%设计规范fc = 1000; % 截止频率fs = 8000; % 采样频率Wn = fc / (fs/2); % 归一化截止频率%设计滤波器[n, Wn] = buttord(Wn, 3, 3, 40); % 计算滤波器阶数和截止频率[b, a] = butter(n, Wn); % 计算传输函数系数%绘制频率响应[h, w] = freqz(b, a, 1024, fs);plot(w, abs(h));xlabel('频率 (Hz)');ylabel('幅度');title('模拟低通滤波器频率响应');```在上面的代码中,我们首先定义了设计规范,包括截止频率“fc”和采样频率“fs”。
然后,我们使用“buttord”函数计算滤波器的阶数和归一化截止频率。
基于matlab的滤波器设计
光电图像课程设计报告书课题名称基于matlab的滤波器设计图像复原的MATLAB实现1课程设计目的〔1〕了解基于matlab的滤波器处理及其根本操作;〔2〕学习MATLAB在滤波器中的使用;〔3〕提高学习与解决问题的能力。
2课程设计根本内容2.1滤波器的根本原理设计数字滤波器的任务就是寻求一个因果稳定的线性时不变系统,并使系统函数H〔z〕具有指定的频率特性。
数字滤波器从实现的网络构造或者从单位冲激响应分类,可以分成无限单位冲激响应〔IIR〕数字滤波器和有限长单位冲激响应〔FIR〕数字滤波器。
数字滤波器频率响应的三个要素:(1)幅度平方响应(2)相位响应(3)群时延响应IIR数字滤波器:IIR数字滤波器的系统函数为有理分数,即IIR数字滤波器的逼近问题就是求解滤波器的系数和,使得在规定的物理意义上逼近所要求的特性的问题。
如果是在s平面上逼近,就得到模拟滤波器,如果是在z平面上逼近,则得到数字滤波器。
FIR数字滤波器:设FIR的单位脉冲响应h〔n〕为实数,长度为N,则其z变换和频率响应分别为按频域采样定理FIR数字滤波器的传输函数H(z)和单位脉冲响应h〔z〕可由它的N歌频域采值H(k)唯一确定。
MATLAB中提供了几个函数,分别用于实现IIR滤波器和FIR滤波器。
(1)卷积函数conv,调用格式为,c=conv〔a,b〕该格式可以计算两向量a和b的卷积,可以直接用于对有限长信号采用FIR滤波器的滤波。
(2)函数filter的调用格式为,y=filter〔b,a,*〕该格式采用数字滤波器对数据进展滤波,既可以用于IIR滤波器,也可以用于FIR滤波器。
其中向量b和a分别表示系统函数的分子,分母多项式的系数,假设a=1,此时表示FIR滤波器,否则就是IIR滤波器。
该函数就是利用给出的向量b和a,对*中的数据进展滤波,结果放入向量y。
(3)函数fftfilt的调用格式为,y=fftfilt〔b,*〕该格式是利用基于FFT的重叠相加法对数据进展滤波,这种频域滤波技术只对FIR滤波器有效。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLAB 的滤波器设计摘 要:利用MA TLAB 设计滤波器,可以按照设计要求非常方便地调整设计参数,极大地减轻了设计的工作量,有利于滤波器设计的最优化。
Matlab 因其强大的数据处理功能被广泛应用于工程计算,其丰富的工具箱为工程计算提供了便利,利用Matlab 信号处理工具箱可以快速有效地设计各种数字滤波器,设计简单方便。
本文介绍了在MATLAB R2011a 环境下滤波器设计的方法和步骤。
关键词:滤波器,matlab ,FIR ,IIRAbstract :By using MATLAB , we can design filters and modify the filters’parameters conveniently according to our demands. This relieves greatly design work loads and makes for optimization of filter designing. Matlab can be widely used in engineering calculations because of its powerful functions of data processing. Its rich toolbox makes the calculations easy. With Matlab signal processing toolbox, various digital filters can be designed effectively in simple way. This article introduce the methods and processes in the circumstance of MATLAB R2011a. Keywords :filter ,matlab ,fdatool1.滤波器的原理凡是可以使信号中特定的频率成分通过,而极大地衰减或抑制其他频率成分的装置或系统都称之为滤波器,相当于频率“筛子”。
滤波器的功能就是允许某一部分频率的信号顺利的通过,而另外一部分频率的信号则受到较大的抑制,它实质上是一个选频电路。
滤波器中,把信号能够通过的频率范围,称为通频带或通带;反之,信号受到很大衰减或完全被抑制的频率范围称为阻带;通带和阻带之间的分界频率称为截止频率;理想滤波器在通带内的电压增益为常数,在阻带内的电压增益为零;实际滤波器的通带和阻带之间存在一定频率范围的过渡带。
a .理想滤波器的频率特性理想滤波器:使通带内信号的幅值和相位都不失真,阻喧内的频率成分都衰减为零的滤波器,其通带和阻带之间有明显的分界线。
如理想低通滤波器的频率响应函数为0()()jw t C H jw A l W W Ω-=≤ 或 ()0()C H jw W W =>理想滤波器实际上并不存在。
b .实际滤波器实际滤波器的特性需要以下参数描述:1)恒部平均值A0:描述通带内的幅频特性;波纹幅度:d 。
2)上、下截止频率:以幅频特性值为A0/2时的相应频率值WC1,WC2作为带通滤波器的上、下截止频率。
带宽21C C B W W =-。
因为3dB =- 所以 21C C B W W =-也称“-3dB ”带宽 3)选择性:实际滤波器过渡带幅频曲线的倾斜程度表达了滤波器对通带外频率成分的衰减能力,用信频程选择性和滤波器因素λ描述。
信频程选择性:与上、下截止频率处相比,频率变化一倍频程时幅频特性的衰减量,即倍频程选择性:=[]2220lg (2)()C C A W A W 或 =[]1120lg (2)()C C A W A W 信频程选择性总是小于等于零,显然,计算信量的衰减量越大,选择性越好。
滤波器因素:-60dB 处的带宽与-3dB 处的带宽之比值,即越小,选择性越好.分辨力:即分离信号中相邻频率成分的能力,用品质因素Q 描述。
0321dB C C W Q B -==,Q 越大,分辨率越高。
2. MTALAB 的在DSP 应用上的功能MATLAB 中的信号处理工具箱内容丰富,使用简便。
在数字信号处理中常用的算法,如FFT ,卷积,相关,滤波器设计,参数模型等,几乎都只用一条语句即可调用。
数字信号处理常用的函数有波形的产生、滤波器的分析和设计、傅里叶变换等,如: 波形产生:sawtooth (锯齿波或三角波) Diric (Dirichlet 或周期sinc 函数) rand (白噪声信号波形) square (方波) sinc (sinc 或 函数) chirp (chirp 信号波形)滤波器的分析: abs (求幅值) angle (求相角) conv (求卷积) freqz (数字滤波器频率响应) impz (数字滤波器的冲击响应) zplane (数字系统零极点图)IIR 滤波器设计:butter (巴特沃思数字滤波器) cheby1(切比雪夫I 型) cheby2(切比雪夫II 型) maxflat (最平滤波器) ellip (椭圆滤波器) yulewalk (递归数字滤波器) bilinear (双线性变换) impinvar (冲激响应不变法)FIR 滤波器设计: triang (三角窗) blackman (布莱克曼窗) boxcar (矩形窗) hamming (海明窗) hanning (汉宁窗) kaiser (凯塞窗)fir1(基于窗函数法) fir2(基于频率抽样法)firrcos (上升余弦FIR 滤波器设计法) intfilt (内插FIR 滤波器设计法)kaiserord (用Kaiser 窗设计FIR 滤波器的参数估计3.滤波器的设计3.1巴特沃斯IIR滤波器的设计在MA TLAB下,设计巴特沃斯IIR滤波器可使用butter函数。
Butter函数可设计低通、高通、带通和带阻的数字和模拟IIR滤波器,其特性为使通带内的幅度响应最大限度地平坦,但同时损失截止频率处的下降斜度。
在期望通带平滑的情况下,可使用butter函数。
butter 函数的用法为:[b,a]=butter(n,Wn,/ftype/)其中n代表滤波器阶数,W n代表滤波器的截止频率,这两个参数可使用buttord函数来确定。
buttord函数可在给定滤波器性能的情况下,求出巴特沃斯滤波器的最小阶数n,同时给出对应的截止频率Wn。
buttord函数的用法为:[n,Wn]= buttord(Wp,Ws,Rp,Rs)其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。
当其值为1时代表采样频率的一半。
Rp 和Rs分别是通带和阻带区的波纹系数。
不同类型(高通、低通、带通和带阻)滤波器对应的Wp和Ws值遵循以下规则:a.高通滤波器:Wp和Ws为一元矢量且Wp>Ws;b.低通滤波器:Wp和Ws为一元矢量且Wp<Ws;c.带通滤波器:Wp和Ws为二元矢量且Wp<Ws,如Wp=[0.2,0.7],Ws=[0.1,0.8];d.带阻滤波器:Wp和Ws为二元矢量且Wp>Ws,如Wp=[0.1,0.8],Ws=[0.2,0.7]。
例如,采样频率10Hz,通带截止频率fp=3Hz,阻带截止频率fs=4Hz,通带衰减小于1dB,阻带衰减大于20dB,使用双线性变换法由模拟滤波器原型设计数字滤波器。
MATLAB程序见附录,如图1所示。
图1 ButterWorth 低通滤波器3.2 契比雪夫I型IIR滤波器的设计在期望通带下降斜率大的场合,应使用椭圆滤波器或契比雪夫滤波器。
在MATLAB下可使用cheby1函数设计出契比雪夫I型IIR滤波器。
cheby1函数可设计低通、高通、带通和带阻契比雪夫I型滤IIR波器,其通带内为等波纹,阻带内为单调。
契比雪夫I型的下降斜度比II型大,但其代价是通带内波纹较大。
cheby1函数的用法为:[b,a]=cheby1(n,Rp,Wn,/ftype/)在使用cheby1函数设计IIR滤波器之前,可使用cheblord函数求出滤波器阶数n和截止频率Wn。
cheblord函数可在给定滤波器性能的情况下,选择契比雪夫I型滤波器的最小阶和截止频率Wn。
cheblord函数的用法为:[n,Wn]=cheblord(Wp,Ws,Rp,Rs)其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。
当其值为1时代表采样频率的一半。
Rp和Rs分别是通带和阻带区的波纹系数。
譬如,采样频率为10Hz,设计一个数字低通滤波器,要求其通带临界频率 fp= 3Hz ,通带αp= 1dB ),阻带临界频率fs= 4Hz ,阻带内衰减大于 15dB(αs= 15)内衰减小于 1dB(αs= 1dB)。
其程序见附录,设计出的滤波器如图2图2 Chebyshev 低通(I 型)滤波器3.3数字滤波器的设计数字滤波器(digital filter)是由数字乘法器、加法器和延时单元组成的一种装置。
其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。
数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR )滤波器和有限长冲激响应(FIR )滤波器。
IIR 数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。
所以IIR 滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。
FIR 数字滤波器的单位脉冲响应是有限长序列。
它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。
在对滤波器实际设计时,整个过程的运算量是很大的。
例如利用窗函数法设计M 阶FIR 低通滤波器时,首先要根据(1)式计算出理想低通滤波器的单位冲激响应序列,然后根据(2)式计算出M 个滤波器系数。
当滤波器阶数比较高时,计算量比较大,设计过程中改变参数或滤波器类型时都要重新计算。
(1)221()()w jnwd w h n H we dw w -=⎰(2)()()()d h n h n w n =设计完成后对已设计的滤波器的频率响应要进行校核,要得到幅频相频响应特性,运算量也是很大的。
我们平时所要设计的数字滤波器,阶数和类型并不一定是完全给定的,很多时候都是要根据设计要求和滤波效果不断的调整,以达到设计的最优化。
在这种情况下,滤波器的设计就要进行大量复杂的运算,单纯的靠公式计算和编制简单的程序很难在短时间内完成设计。