窗函数法设计低通滤波器资料
MATLAB窗函数法实现FIR的高通,带通和低通滤波器的程序
![MATLAB窗函数法实现FIR的高通,带通和低通滤波器的程序](https://img.taocdn.com/s3/m/682c222b4a7302768f993904.png)
MATLAB窗函数法实现FIR的高通,带通和低通滤波器的程序MATLAB 学院:地球物理与石油资源学院班级:姓名:学号:班内编号:指导教师:完成日期:测井11001大牛啊啊啊陈义群2013年6月3日课程设计报告一、题目FIR滤波器的窗函数设计法及性能比较 1. FIR滤波器简介数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应滤波器和有限冲激响应滤波器。
与IIR滤波器相比,FIR滤波器的主要特点为: a. 线性相位;b.非递归运算。
2. FIR 滤波器的设计FIR滤波器的设计方法主要有三种:a.窗函数设计法;b.频率抽样发;c.最小平法抽样法;这里我主要讨论在MATLAB环境下通过调用信号分析与处理工具箱的几类窗函数来设计滤波器并分析与比较其性能。
窗函数法设计FIR滤波器的一般步骤如下: a. 根据实际问题确定要设计的滤波器类型; b. 根据给定的技术指标,确定期望滤波器的理想频率特性;c. 求期望滤波器的单位脉冲响应;d. 求数字滤波器的单位脉冲响应; e. 应用。
常用的窗函数有(1)Hanningwindoww(n)?[?((2)Hammingw indoww(n)?[?((3)Balckmanwindoww(n)?[ ?((4)KaiserwindowI0{?1?[2n/(N?1)]2}w(n )?RN(n)I0(?)式中I0(x)是零阶Bessel函数,可定义为()2?n4?n)?()]RN(n)N?1N?1()2?n)]RN(n)N ?1() ?nN?1)]RN(n)() (x/2)m2I0(x)?1??m!m?1? 当x?0时与矩形窗一致;当x?时与海明窗结果相同;当x?时与布莱克曼窗结果相同。
3.窗函数的选择标准 1. 较低的旁瓣幅度,尤其是第一旁瓣; 2. 旁瓣幅度要下降得快,以利于增加阻带衰减;3. 主瓣宽度要窄,这样滤波器过渡带较窄。
基于汉明窗函数的FIR低通滤波器的设计
![基于汉明窗函数的FIR低通滤波器的设计](https://img.taocdn.com/s3/m/2fb3e34dbb1aa8114431b90d6c85ec3a87c28bf9.png)
基于汉明窗函数的FIR低通滤波器的设计简介FIR低通滤波器是一种常用的数字信号处理滤波器,它可以用来滤除高频成分,保留低频成分。
汉明窗函数是一种常用的窗函数,用于设计FIR滤波器时可以有效降低频域泄漏现象。
本文将介绍基于汉明窗函数的FIR低通滤波器的设计方法和实现过程。
FIR滤波器的基本原理FIR滤波器是一种非递归滤波器,其输出仅由输入和滤波器的系数决定。
其基本原理是将输入信号与滤波器的冲激响应进行卷积运算,从而得到输出信号。
FIR滤波器的离散时间域表达式如下:y[n] = \\sum_{k=0}^{M} h[k] \\cdot x[n-k]其中,y[n]为滤波器的输出,x[n]为输入信号,h[k]为滤波器的系数,M为滤波器的阶数。
汉明窗函数汉明窗函数是一种常用的窗函数,用于在频域上抑制泄漏现象。
汉明窗函数的表达式如下:w[n] = 0.54 - 0.46 \\cdot \\cos \\left(\\frac {2\\pi n}{N-1}\\right)其中,w[n]为汉明窗函数的值,n为窗函数的点数,N为窗函数的长度。
在FIR滤波器设计中,可以使用汉明窗函数对滤波器的冲激响应进行加权,以实现频域上的泄漏抑制。
基于汉明窗函数的FIR低通滤波器设计方法基于汉明窗函数的FIR低通滤波器的设计方法如下:1.确定滤波器的阶数M,一般情况下,阶数的选择要取决于所需的滤波器的响应特性。
2.计算窗函数的长度N,一般情况下,窗函数的长度应为M+1。
3.根据窗函数的表达式计算窗函数的值,并将其作为滤波器的系数h[k],其中k=0,1,...,M。
4.对滤波器的系数进行归一化处理,以保证滤波器的幅度响应符合要求。
5.完成滤波器的设计。
汉明窗函数的特性汉明窗函数具有以下特性:1.对称性:汉明窗函数在窗口的两侧具有对称性,这使得滤波器的响应具有良好的频域特性。
2.正频响特性:汉明窗函数具有较低的副瓣水平,能够实现较好的频谱特性。
窗函数法设计FIR滤波器
![窗函数法设计FIR滤波器](https://img.taocdn.com/s3/m/a3befdf559eef8c75ebfb3c2.png)
FIR 数字滤波器的设计方法IIR 数字滤波器最大缺点:不易做成线性相位,而现代图像、语声、数据通信对线性相位的要求是普遍的。
正是此原因,使得具有线性相位的FIR 数字滤波器得到大力发展和广泛应用。
1. 线性相位FIR 数字滤波器的特点FIR DF 的系统函数无分母,为∑∑-=--=-==11)()(N n n N i ii z n h zb z H ,系统频率响应可写成:∑-=-=10)()(N n jwn jwe n h e H ,令)(jw e H =)()(w j e w H Φ,H(w)称为幅度函数,)(w Φ称为相位函数。
这与模和幅角的表示法有所不同,H(w)为可正可负的实数,这是为了表达上的方便。
如某系统频率响应)(jw e H =wj we34sin -,如果采用模和幅角的表示法,w 4sin 的变号相当于在相位上加上)1(ππj e =-因,从而造成相位曲线的不连贯和表达不方便,而用)()(w j e w H Φ这种方式则连贯而方便。
线性相位的FIR 滤波器是指其相位函数)(w Φ满足线性方程:)(w Φ=βα+-w (βα,是常数)根据群时延的定义,式中α表示系统群时延,β表示附加相移。
线性相位的FIR 系统都具有恒群时延特性,因为α为常数,但只有β=0的FIR 系统采具有恒相时延特性。
问题:并非所有的FIR 系统都是线性相位的,只有当它满足一定条件时才具有线性相位。
那么应满足什么样的条件?从例题入手。
例题:令h(n)为FIR 数字滤波器的单位抽样相应。
N n n ≥<或0时h(n)=0,并假设h(n)为实数。
(a ) 这个滤波器的频率响应可表示为)()()(w j jwew H e H Φ=(这是按幅度函数和相位函数来表示的,不是用模和相角的形式),)(w H 为实数。
(N 要分奇偶来讨论) (1) 当h(n)满足条件)1()(n N h n h --=时,求)(w H 和)(w Φ(π≤≤w 0) (2) 当h(n)满足条件)1()(n N h n h ---=时,求)(w H 和)(w Φ(π≤≤w 0)(b ) 用)(k H 表示h(n)的N 点DFT(1) 若h(n)满足)1()(n N h n h ---=,证明H(0)=0; (2) 若N 为偶数,证明当)1()(n N h n h --=时,H(N/2)=0。
FIR数字低通滤波器的(汉宁)窗函数法设计
![FIR数字低通滤波器的(汉宁)窗函数法设计](https://img.taocdn.com/s3/m/2c9b4f416bec0975f565e2ab.png)
)(9cos 15.0)(12cos 15.0)(1919n R n n R N n n w ⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-=⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛--=ππ2.3进行语音信号的采集(1)按“开始”-“程序”-“附件”-“娱乐”-“录音机”的顺序操作打开W indo ws系统中的录音机软件。
如图1所示。
图1 wind ows 录音机(2)用麦克风录入自己的声音信号并保存成wav 文件。
如图2所示。
图2 保存文件保存的文件按照要求如下:① 音信号文件保存的文件名为“yuxue jiao .wav ”。
②语音信号的属性为“8.000KHz,8位,单声道 7KB/秒” ,其它选项为默认。
2.4语音信号的分析将“y ux uejia o.wav ”语音文件复制到计算机装有Matlab 软件的磁盘中相应图3语音信号的截取处理图在图3中,其中第一个图为原始语音信号;第二个图是截短后的信号图。
图4频谱分析图其中第二个图是信号的FFT 结果,其横坐标的具体值是X(k)中的序号k;第三个图是确定滤波频率范围的参考图,其横坐标的具体值应当是遵循D FT 定义式和频率分辨率求得的:∑-===10)()]([)(N n k N W n x n x DFT k X π当k 等于0时, 020j kn Njk knNe eW ==⋅-=π,从数字角频率上看,对应的正好是0=ω即直流的位置,也就是说,在取滤波频段时,当将主要能量(即红色框的部分)保留,其余频段部分的信号滤除。
)]([)(n x DFT k X =相当于是信号)(n x 的实际频谱)]([)(n x DFT ej X w =采样,而)(n x 又是连续时间语音信号)(t x 的采样。
)(k X 的每两个相邻取值之间的频率间隔大小对应到语音信号)(n x 的频谱中去,其频率间隔大小正好是采样结果的长度采样速率===∆L f f f s det f ∆称频率分辨率,其中Hz f s 8000=,10000=L ,p2=sum(s2.^2)-sum(s1.^2);SNR1=10*log10(p1/p2);p3=sum(s4.^2)/8000;p4=sum(s3.^2)/8000-sum(s4.^2)/8000;SNR2=10*log10(p3/p4);2.6噪声叠加图5 语音信号与加噪声后语音信号对比图五为语音信号与加噪声后语音信号对。
实验7 窗函数法设计FIR数字滤波器
![实验7 窗函数法设计FIR数字滤波器](https://img.taocdn.com/s3/m/a6ffea41f68a6529647d27284b73f242336c311e.png)
实验7窗函数法设计FIR数字滤波器一、实验目的掌握窗函数法设计F1R数字滤波器的原理和具体方法二、实验设备与环境计算机、Mat1ab软件环境三、实验基础理论1>基本原理窗函数设计法的基本思想为,首先选择一个适当的理想的滤波器Hd(,3),然后用窗函数截取它的单位脉冲响应%(九),得到线性相位和因果的FIR滤波器,这种方法的重点是选择一个合适的窗函数和理想滤波器,使设计的滤波器的单位脉冲响应逼近理想滤波器的单位脉冲响应。
2、设计步骤(1)给定理想滤波器的频率响应Hd("3),在通带上具有单位增益和线性相位,在阻带上具有零响应。
一个带宽为g(3c<Tr)的低通滤波器由下式给定h(e j^=(eW∣ω∣≤ωc虱)一1Oωc<∣ω∣<π其中α为采样延迟,其作用是为了得到因果的系统。
(2)确定这个滤波器的单位脉冲响应为了得到一个h(n)长度为N的因果的线性相位FIR滤波器,我们令N-Ia=-2-(3)用窗函数截取hd(τι)得到所设计FIR数字滤波器h(n)h(n)=h d(n)w(n)3、窗函数的选择常用的窗函数有矩形窗、汉宁窗、海明窗、布莱克曼窗、凯瑟窗等。
Mat1ab提供了一些函数用于产生窗函数,如下表所示:在设计过程中我们需要根据给定的滤波器技术指标,选择滤波器长度N 和窗函数3(n)°表7.2列出了常用的窗函数的一些特性,可供设计时参考。
其中幻是修正的零阶贝塞尔函数,参数B 控制最小阻带衰减,这种窗函数对于相同的N 可以提供不同的过渡带宽。
由于贝塞尔函数比较更杂,这种窗函数的设计方程很难推导,然而幸运的是,有一些经验设计方程可以直接使用。
已知给定的指标叫Msc,Rp 和4,滤波器长度N 和凯瑟窗参数B 可以按如下凯瑟窗设计方程给出过渡带宽:∆ω=ωst -ωp入一7.95 2.285∆ω_(0.1102(4-8.7) ,P=iθ.5842(4-21)04+0.07886(4-21), 四、实验内容1、设计一个数字低通FIR 滤波器,其技术指标如下ωp =0.2τr,RP=0.25dBωst =0.3τr,A s =50dB分别采用矩形窗、汉宁窗、海明窗、布莱克曼窗、凯瑟窗设计该滤波器。
FIR数字低通滤波器的(汉宁)窗函数法设计
![FIR数字低通滤波器的(汉宁)窗函数法设计](https://img.taocdn.com/s3/m/e13df32bfe4733687e21aa83.png)
)(9cos 15.0)(12cos 15.0)(1919n R n n R N n n w ⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-=⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛--=ππ2.3进行语音信号的采集(1)按“开始”-“程序”-“附件”-“娱乐”-“录音机”的顺序操作打开Window s系统中的录音机软件。
如图1所示。
图1 wi ndows 录音机(2)用麦克风录入自己的声音信号并保存成wav 文件。
如图2所示。
图2 保存文件保存的文件按照要求如下:① 音信号文件保存的文件名为“y uxueji ao.wav ”。
②语音信号的属性为“8.000KH z,8位,单声道 7KB /秒” ,其它选项为默认。
2.4语音信号的分析将“yu xuejiao .wav ”语音文件复制到计算机装有Ma tlab 软件的磁盘中相应Mat lab目录中的“work ”文件夹中。
打开Matlab 软件,在菜单栏中选择“File ”-图3语音信号的截取处理图在图3中,其中第一个图为原始语音信号;第二个图是截短后的信号图。
图4频谱分析图其中第二个图是信号的FFT 结果,其横坐标的具体值是X (k)中的序号k;第三个图是确定滤波频率范围的参考图,其横坐标的具体值应当是遵循DFT 定义式和频率分辨率求得的:∑-===10)()]([)(N n k N W n x n x DFT k X π当k等于0时, 020j kn Njk knNe eW ==⋅-=π,从数字角频率上看,对应的正好是0=ω即直流的位置,也就是说,在取滤波频段时,当将主要能量(即红色框的部分)保留,其余频段部分的信号滤除。
)]([)(n x DFT k X =相当于是信号)(n x 的实际频谱)]([)(n x DFT ej X w =采样,而)(n x 又是连续时间语音信号)(t x 的采样。
)(k X 的每两个相邻取值之间的频率间隔大小对应到语音信号)(n x 的频谱中去,其频率间隔大小正好是采样结果的长度采样速率===∆L f f f s det f ∆称频率分辨率,其中Hz f s 8000=,10000=L ,p2=sum(s2.^2)-sum(s1.^2);SNR1=10*log10(p1/p2);p3=sum(s4.^2)/8000;p4=sum(s3.^2)/8000-sum(s4.^2)/8000;SNR2=10*log10(p3/p4);2.6 噪声叠加图5 语音信号与加噪声后语音信号对比图五为语音信号与加噪声后语音信号对。
Matlab中的多种滤波器设计方法介绍
![Matlab中的多种滤波器设计方法介绍](https://img.taocdn.com/s3/m/e7a8f1cc7d1cfad6195f312b3169a4517723e52a.png)
Matlab中的多种滤波器设计方法介绍引言滤波器是数字信号处理中常用的工具,它可以去除噪声、改善信号质量以及实现其他信号处理功能。
在Matlab中,有许多不同的滤波器设计方法可供选择。
本文将介绍一些常见的滤波器设计方法,并详细说明它们的原理和应用场景。
一、FIR滤波器设计1.1 理想低通滤波器设计理想低通滤波器是一种理论上的滤波器,它可以完全去除截止频率之上的频率分量。
在Matlab中,可以使用函数fir1来设计理想低通滤波器。
该函数需要指定滤波器阶数及截止频率,并返回滤波器的系数。
但是,由于理想低通滤波器是非因果、无限长的,因此在实际应用中很少使用。
1.2 窗函数法设计为了解决理想滤波器的限制,窗函数法设计了一种有限长、因果的线性相位FIR滤波器。
该方法利用窗函数对理想滤波器的频率响应进行加权,从而得到实际可用的滤波器。
在Matlab中,可以使用函数fir1来实现窗函数法设计。
1.3 Parks-McClellan算法设计Parks-McClellan算法是一种优化设计方法,它可以根据指定的频率响应要求,自动选择最优的滤波器系数。
在Matlab中,可以使用函数firpm来实现Parks-McClellan算法。
二、IIR滤波器设计2.1 Butterworth滤波器设计Butterworth滤波器是一种常用的IIR滤波器,它具有平坦的幅频响应,并且在通带和阻带之间有宽的过渡带。
在Matlab中,可以使用函数butter来设计Butterworth滤波器。
2.2 Chebyshev滤波器设计Chebyshev滤波器是一种具有较陡的滚降率的IIR滤波器,它在通带和阻带之间有一个相对较小的过渡带。
在Matlab中,可以使用函数cheby1和cheby2来设计Chebyshev滤波器。
2.3 Elliptic滤波器设计Elliptic滤波器是一种在通带和阻带上均具有较陡的滚降率的IIR滤波器,它相较于Chebyshev滤波器在通带和阻带上都具有更好的过渡特性。
实验六用窗函数法设计FIR滤波器分析解析
![实验六用窗函数法设计FIR滤波器分析解析](https://img.taocdn.com/s3/m/fa8691fef021dd36a32d7375a417866fb84ac0b2.png)
实验六用窗函数法设计FIR滤波器分析解析一、引言数字滤波器是数字信号处理中的重要组成部分。
滤波器可以用于去除噪声、调整频率响应以及提取感兴趣的信号。
有许多方法可以设计数字滤波器,包括窗函数法、频域法和优化法等。
本实验将重点介绍窗函数法设计FIR滤波器的原理和过程。
二、窗函数法设计FIR滤波器窗函数法是设计FIR滤波器的一种常用方法。
其基本原理是将滤波器的频率响应与理想滤波器的频率响应进行乘积。
理想滤波器的频率响应通常为矩形函数,而窗函数则用于提取有限长度的理想滤波器的频率响应。
窗函数的选择在FIR滤波器的设计中起着重要的作用。
常用的窗函数包括矩形窗、汉宁窗、汉明窗、布莱克曼窗等。
对于每种窗函数,都有不同的特性和性能指标,如主瓣宽度、副瓣抑制比等。
根据不同的应用需求,可以选择合适的窗函数。
窗函数法设计FIR滤波器的具体步骤如下:1.确定滤波器的阶数N。
阶数N决定了滤波器的复杂度,一般情况下,阶数越低,滤波器的简单度越高,但频率响应的近似程度也会降低。
2.确定滤波器的截止频率。
根据应用需求,确定滤波器的截止频率,并选择合适的窗函数。
3.根据窗函数长度和截止频率计算理想滤波器的频率响应。
根据所选窗函数的特性,计算理想滤波器的频率响应。
4.根据理想滤波器的频率响应和窗函数的频率响应,得到所需的FIR滤波器的频率响应。
将理想滤波器的频率响应与窗函数的频率响应进行乘积,即可得到所需滤波器的频率响应。
5.对所得到的频率响应进行逆傅里叶变换,得到时域的滤波器系数。
6.实现滤波器。
利用所得到的滤波器系数,可以通过卷积运算实现滤波器。
三、实验结果与分析本实验以Matlab软件为平台,利用窗函数法设计了一个低通滤波器。
滤波器的阶数为16,截止频率为500Hz,采样频率为1000Hz,选择了汉宁窗。
根据上述步骤,计算得到了所需的滤波器的频率响应和时域的滤波器系数。
利用这些系数,通过卷积运算,实现了滤波器。
为了验证滤波器的性能,将滤波器应用于输入信号,观察输出信号的变化。
基于汉明窗函数的FIR低通滤波器设计及性能分析
![基于汉明窗函数的FIR低通滤波器设计及性能分析](https://img.taocdn.com/s3/m/ff252297250c844769eae009581b6bd97f19bcd5.png)
基于汉明窗函数的FIR低通滤波器设计及性能分析FIR低通滤波器是一种常用的数字滤波器,用于处理数字信号中频率较低的成分,将高频成分滤除。
在设计FIR低通滤波器时,常使用汉明窗函数来实现。
本文将介绍基于汉明窗函数的FIR低通滤波器的设计方法和性能分析。
首先,要设计一个FIR低通滤波器,需要确定以下几个参数:滤波器阶数N、采样频率fs、截止频率fc和窗函数类型。
本文将以汉明窗函数为例,演示如何设计FIR低通滤波器。
1. 滤波器阶数N的确定:滤波器阶数N决定了滤波器的复杂度和性能。
一般来说,阶数越高,滤波器的性能越好,但计算复杂度也相应增加。
因此,需要在滤波器性能和计算复杂度之间做出平衡。
常用的方法是根据滤波器的截止频率和采样频率来确定阶数N。
一般可以使用公式N=4fs/fc来初步估计阶数N,然后根据实际需求进行调整。
2. 窗函数的选择:本文选择汉明窗函数作为设计FIR低通滤波器的窗函数。
汉明窗函数在频域上具有较好的副瓣抑制性能,适合用于低通滤波器设计。
3. 窗函数的定义:汉明窗函数的表达式为:w(n) = 0.54 - 0.46*c os(2πn/(N-1)), 0 ≤ n ≤ N-1其中,N为窗函数的长度,n为窗函数的离散时间索引。
4. FIR低通滤波器的设计:设计FIR低通滤波器的步骤如下:1)确定滤波器阶数N;2)选择截止频率fc;3)计算滤波器系数h(n);4)对滤波器系数h(n)进行归一化处理。
5. 滤波器系数的计算:滤波器系数h(n)的计算公式为:h(n) = wc/pi * sinc(wc*(n-(N-1)/2)/pi)其中,wc为归一化的截止频率,wc=2πfc/fs。
sinc(x)为正弦函数sin(x)/x。
6. 归一化处理:对滤波器系数h(n)进行归一化处理,即将系数乘以汉明窗函数的值。
即:hn(n) = h(n) * w(n),0 ≤ n ≤ N-17. 性能分析:设计完毕后,需要进行性能分析来评估滤波器的性能。
用窗函数法设计FIR数字低通滤波器资料
![用窗函数法设计FIR数字低通滤波器资料](https://img.taocdn.com/s3/m/2e63c24925c52cc58bd6be3a.png)
河北科技大学课程设计报告学生姓名:学号:专业班级:课程名称:学年学期指导教师:20 年月课程设计成绩评定表目录1. 窗函数设计低通滤波器1.1设计目的 (1)1.2设计原理推导与计算 (1)1.3设计内容与要求 (2)1.4设计源程序与运行结果 (3)1.5思考题 (10)1.6心得体会 (14)参考文献 (15)1.窗函数设计低通滤波器1.1设计目的1. 熟悉设计线性相位数字滤波器的一般步骤。
2. 掌握用窗函数法设计FIR 数字滤波器的原理和方法。
3. 熟悉各种窗函数的作用以及各种窗函数对滤波器特性的影响。
4. 学会根据指标要求选择合适的窗函数。
1.2设计原理推导与计算如果所希望的滤波器的理想的频率响应函数为()ωj d e H ,则其对应的单位脉冲响应为()()ωπωωππd e e H n h j j d d ⎰-=21(4.1) 窗函数设计法的基本原理是设计设计低通FIR 数字滤波器时,一般以理想低通滤波特性为逼近函数()ωj e H ,即()⎪⎩⎪⎨⎧≤<≤=-πωωωωωαωc c j jd ,,ee H 0,其中21-=N α()()()[]()a n a n d e e d e eH n h c j j j j d d cc--===⎰⎰---πωωπωπωαωωωαωππωsin 2121用有限长单位脉冲响应序列()n h 逼近()n h d 。
由于()n h d 往往是无限长序列,而且是非因果的,所以用窗函数()n ω将()n h d 截断,并进行加权处理,得到: ()()()n n h n h d ω= (4.2)()n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数()ωj e H 为()()nj N n j en h eH ωω∑-==1(4.3)式中,N 为所选窗函数()n ω的长度。
用窗函数法设计的滤波器性能取决于窗函数()n ω的类型及窗口长度N 的取值。
窗函数法
![窗函数法](https://img.taocdn.com/s3/m/e3f4aa69f5335a8102d220ef.png)
3.1 窗函数法设计FIR 滤波器窗函数设计法又称为傅里叶级数法。
这种方法首先给出()j d H e Ω,()j d H e Ω表示要逼近的理想滤波器的频率响应,则由IDTFT 可得出滤波器的单位脉冲响应为1[]()2j jk d d h k H e e d πππΩΩ-=Ω⎰(3-1)由于是理想滤波器,故[]d h k 是无限长序列。
但是我们所要设计的FIR 滤波器,其h[k]是有限长的。
为了能用FIR 滤波器近似理想滤波器,需将理想滤波器的无线长单位脉冲响应[]d h k 分别从左右进行截断。
当截断后的单位脉冲响应[]d h k 不是因果系统的时候,可将其右移从而获得因果的FIR 滤波器。
另一种设计方案是将线性相位因子(0.5)j M e β-Ω+加入到理想滤波器的频率响应中,然后利用IDTFT 计算出[]d h k 后,取[]d h k 在0≦k ≦M 范围的值为FIR 滤波器单位脉冲响应。
理想滤波器的频率响应()j d H e Ω和设计出的滤波器的频率响应()j d H e Ω的积分平方误差定义为221()()2j j d H eH ed ππεπΩΩ-=-Ω⎰(3-2)2ε也可以表示为22[][]d k h k h k ε∞=-∞=-∑(3-3)12221[][][][]Md d d k k k M h k h k h k h k -∞=-∞==+=+-+∑∑∑上式中的第一项和第三项与所设计出的滤波器参数是没有关系的,为了使上式中的第二项达到最小,可选择 [][],0d h k h k k M=≤≤(3-4)所以用上面的方法得出的滤波器是在积分平方误差最小意义下的最佳滤波器。
Gibbs 现象就是理想滤波器的单位脉冲响应[]d h k 截断获得的FIR 滤波器的幅度函数()A Ω在通带和阻带都呈现出振荡现象。
随着滤波器阶数的增加,幅度函数在通带和阻带振荡的波纹数量也随之增加,波纹的宽度随之减小,然而通带和阻带最大波纹的幅度与滤波器的阶数M 无关。
实验六用窗函数设计FIR滤波器
![实验六用窗函数设计FIR滤波器](https://img.taocdn.com/s3/m/fb4d2694250c844769eae009581b6bd97f19bc3e.png)
实验六用窗函数设计FIR滤波器一、引言数字滤波器是用于处理数字信号的重要工具,而FIR(Finite Impulse Response)滤波器是其中一类常见的滤波器。
在FIR滤波器中,输出信号的每个样本值仅依赖于输入信号在过去固定时间窗口内的样本值。
窗函数则是用于设计FIR滤波器的一种常见方法。
本实验将介绍如何用窗函数设计FIR滤波器,并通过一系列实验验证其性能。
二、实验目的1.了解FIR滤波器的原理和窗函数设计方法。
2.利用MATLAB工具进行FIR滤波器设计与性能评估。
3.分析不同窗函数对FIR滤波器的影响。
三、窗函数设计方法在设计FIR滤波器时,可以通过选择不同的窗函数来实现不同的频率响应。
常见的窗函数有矩形窗、汉宁窗、汉明窗、布莱克曼窗等。
在本实验中,我们将以汉宁窗为例进行讲解。
1.首先确定滤波器的截止频率和通带误差。
2.根据通带误差和滤波器的截止频率计算阶数。
3.根据阶数选择合适大小的窗口长度。
4.选择合适的窗函数,如汉宁窗。
5.计算窗函数的系数,并与理想滤波器的冲击响应相乘得到最终的滤波器系数。
四、实验步骤1.确定滤波器参数:截止频率、通带误差等。
2.根据通带误差和截止频率计算滤波器的阶数。
3.选择合适大小的窗口长度,通常选择大于滤波器阶数的2倍。
4.选择窗函数,如汉宁窗,计算窗函数的系数。
5.根据窗函数系数和截止频率计算滤波器的系数。
6.绘制滤波器的频率响应曲线。
7.利用设计好的FIR滤波器对输入信号进行滤波,并观察滤波效果。
五、实验结果与分析在本实验中,我们选择了截止频率为1kHz的低通滤波器。
首先计算滤波器的阶数,假设通带误差为0.01,根据公式可得N=3.32/((截止频率*通带误差)/采样频率)≈60。
我们选择窗口长度为120,即滤波器的阶数的两倍。
接下来选择汉宁窗作为窗函数,并计算其系数。
最后通过窗函数系数和截止频率计算得到滤波器的系数。
实验采用不同窗函数设计的FIR滤波器进行滤波,观察不同窗函数对滤波器性能的影响。
用窗函数法设计FIR滤波器
![用窗函数法设计FIR滤波器](https://img.taocdn.com/s3/m/1b8d3aadb84ae45c3a358c58.png)
1.用窗函数法设计一线性相位FIR低通滤波器,要求通带截止频率 ,
(1)选择一个合适的窗函数(如hamming窗),取单位冲击响应h(n)的长度N=15,观察所设计滤波器的幅频特性,分析是否满足设计要求;
(2)取N=45,重复上述设计,观察幅频和相频特性的变化,分析长度N变化的影响;
(3)保持N=45不变,改变窗函数(如hamming窗变为blackman窗),观察并记录窗函数对滤波器幅频特性的影响。
xlabel('n');ylabel('h(n)');
title('hamming窗设计的h(n)'2);
hw=fft(hn,512);
w=2*[0:511]/512;
plot(w,20*log10(abs(hw)));
xlabel('w/pi');ylabel('Magnitude(dB)');
(4)由 ,得出单位脉冲响应 ;
(5)对 作离散时间傅立叶变换,得到 。
2.在MATLAB中,可以用b=fir1(N,Wn,’ftype’,taper)等函数辅助设计FIR数字滤波器。N代表滤波器阶数;Wn代表滤波器的截止频率(归一化频率),当设计带通和带阻滤波器时,Wn为双元素相量;ftype代表滤波器类型,如’high’高通,’stop’带阻等;taper为窗函数,默认为海明窗,窗函数实现需要用窗函数blackman,hamming,hanningchebwin,kaiser产生。
用窗函数法设计FIR滤波器是在时域进行的,先用傅里叶变换求出理想滤波器单位抽样相应hd(n),然后加时间窗w(n)对其进行截断,以求得FIR 滤波器的单位抽样响应h(n)。
窗函数设计滤波器
![窗函数设计滤波器](https://img.taocdn.com/s3/m/aabbcb4d03d8ce2f00662384.png)
******************实践教学*******************XXXX大学计算机与通信学院2014年春季学期《信号处理》课程设计题目:窗函数法设计FIR低通滤波器专业班级:姓名:学号:指导教师:成绩:摘要在数字信号处理中.数字滤波器十分重要并已获得广泛应用,效字滤渡器与模拟滤渡器比较,具有精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配以及实现模拟滤波器无法宴现的特殊滤波功能等优点.使数字滤波器成为信号处理领域的一十要研究课题。
本课程设计主要是对一段语音信号,加入噪声后,用汉宁窗设计出的FIR滤波器对加入噪声后的语音信号进行滤波去噪处理。
在此次课程设计中,系统操作平台为Windows 7,程序设计的操作软件MATLAB 7.0。
此课程设计首先是用音乐软件采集一段语音信号,加入噪声,然后采用汉宁窗函数法设计出FIR滤波器,再用设计出的滤波器对这段加噪后的语音信号进行滤波去噪,最后对前后时域和频域的波形图进行对比分析,从波形可以看出噪声被完全滤除,达到了语音不失真的效果。
关键字滤波器 ;汉宁窗 ;去噪III目录前言 (1)第一章设计介绍 (2)1.2 MATLAB在DSP中的运用 (2)1.3 FIR数学滤波器介绍 (2)1.4 窗函数法 (3)1.5 汉宁窗 (5)第二章基本原理 (5)2.1 汉宁窗基本原理 (6)2.2 窗函数法设计基本原理 (6)第三章设计实现框图 (8)第四章基于MATLAB的仿真程序及结果 (9)4.1 读入语音数据并画出其时域与频域图 (9)4.2 在MATLAB中对信号加入两个噪声 (9)4.3 滤波器设计基本程序: (10)参考文献: (15)附录:程序源代码 (16)致谢 (19)前言在当今数字信号处理中,滤波器十分重要并以获得广泛应用,它是去除信号中噪声的基本手段,因此,滤波运算时信号处理中的基本运算。
滤波器设计问题也是数字信号处理中的基本问题。
利用窗函数法设计低通滤波器
![利用窗函数法设计低通滤波器](https://img.taocdn.com/s3/m/9c12510afad6195f312ba6ff.png)
Ap
:通带截止频率,s :阻带下限截止频率,
As 阻带允许的最小衰减 通带允许的最大衰减,
选择一个适当的窗函数,确定单位冲激响应 ,绘出所设计的滤 波器的幅度响应
分别选择海明窗、布莱克曼窗、汉宁窗设计上述FIR数字低通滤 波器
1、海明窗/布莱克曼窗/汉宁窗
海明窗MATLAB代码:
clear all; Wp=0.15*pi;Ws=0.3*pi; trw=Ws-Wp; N=ceil(6.6*pi/trw)+1 Wc=(Ws+Wp)/2; n=0:1:N-1; hd=id_A(Wc,N); 应 w_ham=(hamming(N))'; h=hd.*w_ham; [db,mag,pha,w]=freqzB(h,[1]); delta_w=2*pi/1000; Ap=-(min(db(1:1:Wp/delta_w+1))) As=-round(max(db(Ws/delta_w+1:1:501))) subplot(2,2,1);stem(n,hd);
xlabel('(b)海明窗w(n)');
subplot(2,2,3);stem(n,h); xlabel('(c)实际单位脉冲响应hd(d)'); subplot(2,2,4);plot(w/pi,db); xlabel('(d)幅度响应(dB)'); axis([0 1 -100 10]);
注:布莱克曼窗和汉宁窗的程序代码只需将海明窗的函数名、精确过渡
,则称之
为IIR系统,而如果单位取样响应是时宽有限的h(n),n1<n<n2, 则称为FIR系统
三、窗函数法设计FIR数字滤波器
窗函数法是设计FIR数字滤波器的最简单法。它在 设计FIR数字滤波器中有很重要的作用,正确地选择窗
MATLAB窗函数法实现FIR的高通-带通和低通滤波器的程序要点
![MATLAB窗函数法实现FIR的高通-带通和低通滤波器的程序要点](https://img.taocdn.com/s3/m/d0e8955f69dc5022abea0004.png)
MATLAB课程设计报告学院:地球物理与石油资源学院班级: 测井(基)11001姓名:大牛啊啊啊学号:班内编号:指导教师: 陈义群完成日期: 2013年6月3日一、 题目 FIR 滤波器的窗函数设计法及性能比较1. FI R滤波器简介数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。
与I IR滤波器相比,FIR 滤波器的主要特点为: a. 线性相位;b.非递归运算。
2. FIR滤波器的设计FIR 滤波器的设计方法主要有三种:a.窗函数设计法;b.频率抽样发;c.最小平法抽样法; 这里我主要讨论在MA TLAB 环境下通过调用信号分析与处理工具箱的几类窗函数来设计滤波器并分析与比较其性能。
窗函数法设计F IR 滤波器的一般步骤如下:a. 根据实际问题确定要设计的滤波器类型;b. 根据给定的技术指标,确定期望滤波器的理想频率特性;c. 求期望滤波器的单位脉冲响应;d. 求数字滤波器的单位脉冲响应;e. 应用。
常用的窗函数有同。
时与布莱克曼窗结果相当时与海明窗结果相同;时与矩形窗一致;当当885.84414.50]!)2/([1)(120===+=∑∞=x x x m x x I m m4. 常用窗函数的参数函数,可定义为是零阶式中Bessel x I n R I N n I n w windowKaiser n R N n N n n w windowBalckm an n R N n n w windowHam m ing n R N n n w windowHanning N N N N )()5.2.9()(])(})]1/(2[1{[)()4()4.2.9()()]14cos(08.0)12cos(5.042.0[)()3()3.2.9()()]12cos(46.054.0[)()2()2.2.9()()]1cos(5.05.0[)()1(0020ββππππ--=-+--=--=--=5.FIR滤波器的MATLAB实现方式在MATLAB信号分析与处理工具箱中提供了大量FIR窗函数的设计函数,本次用到主要有以下几种:hanning(N) hanning窗函数的调用hamming(N) hamming窗函数的调用blackman(N) blackman窗函数的调用kaiser(n+1,beta) kaiser窗函数的调用kaiserord 计算kaiser窗函数的相关参数freqz求取频率响应filter 对信号进行滤波的函数6.实验具体步骤本次实验分别通过调用hanning ,hamming ,Blackman,kaiser窗函数,给以相同的技术参数,来设计低通,带通,高通滤波器,用上述窗函数的选择标准来比较各种窗函数的优劣,并给以一个简谐波进行滤波处理,比较滤波前后的效果。
窗函数法设计FIR滤波器
![窗函数法设计FIR滤波器](https://img.taocdn.com/s3/m/41165d9e5122aaea998fcc22bcd126fff7055db9.png)
窗函数法设计FIR滤波器FIR(Finite Impulse Response)滤波器是一种常见的数字滤波器,通过一系列有限长度的输入信号进行系统响应的采样,使用窗函数法设计FIR滤波器是一种常用且有效的方法。
设计FIR滤波器的第一步是确定滤波器的阶数。
阶数是指滤波器的长度,通常表示为N。
设计FIR滤波器的第二步是选择滤波器的截止频率。
截止频率决定滤波器的频率响应。
设计FIR滤波器的第三步是选择窗函数。
窗函数是一种平滑函数,用于调整滤波器的频率响应。
常见的窗函数有矩形窗、汉明窗、海明窗等。
矩形窗是最简单的窗函数,没有频率响应调整的效果。
汉明窗是常用的窗函数之一,它可以提供较好的频率响应特性。
海明窗是一种能够提供更优秀频率响应的窗函数。
设计FIR滤波器的第四步是确定窗函数的参数。
这些参数包括主瓣宽度、动态范围、副瓣能量等。
设计FIR滤波器的最后一步是计算滤波器的系数。
滤波器的系数是由输入信号进行线性组合得到的。
通常采用离散频率域设计方法计算FIR滤波器的系数。
该方法通过将滤波器的频率响应与目标响应之间的差异最小化来寻找最佳系数。
具体计算过程包括以下几个步骤:1.设计一个无限长的理想低通滤波器,其频率响应与所需滤波器接近。
2. 使用离散Fourier变换将无限长的理想滤波器转换为有限长的频率响应。
3.选择适当的窗函数,根据窗函数的参数修改频率响应。
4.反变换回时间域,得到FIR滤波器的系数。
设计完滤波器后,可以通过将输入信号与滤波器系数进行卷积运算来获得滤波后的信号。
滤波器系数的选择决定了滤波器的性能。
通常可以通过频率响应、滤波器特性等指标来评估滤波器的性能。
使用窗函数法设计FIR滤波器可以得到满足特定要求的滤波器,其设计过程相对简单,易于实现。
但需要注意的是,窗函数法设计的FIR滤波器在频率响应的过渡区域可能会有较大的波动,需要根据具体应用场景对滤波器参数进行调整。
总之,窗函数法是一种常见且有效的设计FIR滤波器的方法,通过选择合适的窗函数和调整参数,可以得到满足特定要求的滤波器。
低通滤波器设计
![低通滤波器设计](https://img.taocdn.com/s3/m/9ca7824acf84b9d528ea7ac5.png)
低通滤波器1. 要设计一个FIR滤波器就是要求出它的冲击响应系数h(n),设计方法主要有窗函数法和频率抽样法。
本设计采用窗函数法,这也是最基本的方法。
理想的低通滤波器的频率响应Hd(ω)是一个矩形,这意味着它在时域上是无限长的序列,这在实际上是不可能实现的。
因此要采用某种方法截断Hd(n),可以用一个有限长度的窗函数序列ω(n)与之相乘。
这个窗函数序列的形状和长度都会对最后系统的频率响应特性产生影响,因此对窗函数的分析和选择是设计FIR 滤波器的关键问题所在。
为了对信号进行滤波,首先必须根据技术指标设计一个数字滤波器,即求单位冲激响应h(n)。
先设计一个FIR低通滤波器,其技术指标为:通带截止频率为1500Hz,阻带截止频率为2 000Hz,通带纹波为0. 01,阻带纹波为0. 1,采样频率为8 000Hz。
FIR滤波器的设计,可以采用MATLAB的数字信号处理软件包所提供的专用函数方便地来设计,直接求取FIR滤波器系数。
在MATLAB中,采用Kaiser窗函数设计低通FIR滤波器。
针对上述的设计要求,采用上面介绍的Kaiser窗函数法进行设计,代入相应的参数,求得FIR滤波器阶数N=37,其各滤波系数如下所示。
h(0)=h(36)= ﹣0. 0010 h(1)=h(35)=﹣0. 0036h(2)=h(34)=0. 0000 h(3)=h(33)=0. 0065h(4)=h(32)=0. 0032 h(5)=h(31)=﹣0. 0088h(6)=h(30)=﹣0. 0093 h(7)=h(29)=0. 0090h(8)=h(28)=0. 0184 h(9)=h(27)=﹣0. 0047h(10)=h(26)=﹣0. 0279 h(11)=h(25)=﹣0. 0071h(12)=h(24)=0. 0417 h(13)=h(23)=0. 0316h(14)=h(22)=﹣0. 0524 h(15)=h(21)=﹣0. 0848h(16)=h(20)=0. 0598 h(17)=h(19)=0.3208h(18)=0. 4375由于TMS320C54x是16位定点处理器,在进行汇编程序设计时,FIR滤波器系数需要采用Q15格式,即必须将上述系数转化为Q15定点格式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附录
[s, fs,bits]=wavread('d:\yyxinhao.wav');
ss=s(:,1);
% sound(s,fs,bits)
s1=s(17000:end);
figure(1);
subplot(311)
plot(ss)
title('语音信号')
subplot(312)
plot(s1)
title('截短语音信号');
wavwrite(s1,fs,'s1.wav');
S1=fft(s1);
subplot(313);
plot(s1);
title('截短预处理语音信号')
figure(2)
subplot(221)
plot(abs(S1))
title('语音信号频谱图');
N=length(s);
fn=10^5;
t=0:1/fs:(N-1)/fs;
s2=ss'+0.22*sin(fn*2*pi*t);
wavwrite(s2,fs,'s2.wav');
subplot(222)
plot(abs(S1))
title('预处理语音信号频谱'); wavwrite(s2,fs,'s2.wav');
subplot(223);
S2=fft(s2);
plot(abs(S2));
title('加噪后语音信号频谱图');
%sound(ss2,fs,bits)
wp=.2*pi;
wst=.3*pi;
wc=(wp+wst)/2;
N=ceil(3.1*2*pi/(wst-wp));
r=(N-1)/2;
hn1=fir1(N-1,wc/pi,'low',hanning(N)); hd=ideal_hp1(wc,N);
w_han=(hanning(N))';
h=hd.*w_han;
figure(3)
subplot(211)
stem(n,hd)
title('理想单位脉冲响应hd(n)'); subplot(212)
stem(n,h);
title('实际单位脉冲响应hd(n)');
s3=conv(s2,hn1);
wavwrite(s3,fs,'s3.wav');
sound(s3,fs,bits);
S3=fft(s3);
subplot(224);
plot(abs(S3));
title('滤波器处理后语音信号频谱图');
figure(4)
freqz(hn1);
subplot(211)
title('滤波器幅频特性')
subplot(212)
title('滤波器相频特性')
s3=conv(s1,hn1);
figure(5)
subplot(311);
plot(s1);
title('语音信号波形图');
subplot(312);
plot(s2);
title('加噪后语音信号波形图'); subplot(313);
plot(s3);
title('滤波后语音信号波形图');
子程序function hd=ideal_hp1(wc,N) alpha=(N-1)/2;
n=0:1:N-1;
m=n-alpha+eps;
hd=[sin(pi*m)-sin(wc*m)]./(pi*m);。