窗函数法设计低通滤波器
基于汉明窗函数的FIR低通滤波器设计及性能优化

基于汉明窗函数的FIR低通滤波器设计及性能优化FIR(有限脉冲响应)滤波器是一种常见的数字滤波器,常用于信号处理和通信系统中。
在这篇文章中,我们将讨论基于汉明窗函数的FIR低通滤波器的设计和性能优化。
一、FIR低通滤波器的基本原理FIR低通滤波器是一种只有有限个非零系数的滤波器。
它的输出信号只由输入信号和滤波器的系数决定,不存在反馈回路,所以它具有线性相位响应和稳定性。
FIR低通滤波器的设计目标是在给定的截止频率下,使得滤波器的幅频特性在截止频率之前尽可能平坦,截止频率之后衰减尽可能大。
这样可以实现对高频噪声的滤除,保留低频信号。
二、汉明窗函数汉明窗函数是一种常用的窗函数,常用于FIR滤波器的设计中。
它的表达式为:w(n) = 0.54 - 0.46 * cos(2πn/N),0 ≤ n ≤ N-1其中,w(n)表示窗函数在第n个采样点的取值,N为窗函数的长度。
汉明窗函数的特点是在窗函数的两侧具有较小的幅度,且其边界呈现光滑曲线,适合用于低通滤波器的设计。
三、基于汉明窗函数的FIR低通滤波器设计步骤1. 确定滤波器的截止频率:根据实际需求,确定滤波器工作的截止频率。
2. 确定滤波器的阶数:阶数决定了滤波器的复杂度和性能,一般可根据实际需求和计算资源进行选择。
3. 计算滤波器的总系数:根据滤波器的阶数和截止频率,计算出FIR滤波器的总系数。
4. 计算汉明窗函数:根据滤波器的长度,计算出汉明窗函数的系数。
5. 求解滤波器的系数:将汉明窗函数与总系数相乘,得到最终的滤波器系数。
6. 进行滤波器的性能优化:可以通过改变窗函数的长度、改变滤波器的阶数等方式进行滤波器的性能优化,以满足实际需求。
四、性能优化策略在设计FIR低通滤波器时,可以采取以下性能优化策略:1. 改变窗函数的长度:增加窗函数的长度可以减小滤波器的幅频特性的过渡带宽度,但会增加滤波器的计算复杂度。
2. 改变滤波器的阶数:增加滤波器的阶数可以增加滤波器的衰减能力,但也会增加滤波器的计算复杂度。
MATLAB窗函数法实现FIR的高通,带通和低通滤波器的程序

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低通滤波器设计(完整版)

电子科技大学信息与软件工程学院学院标准实验报告(实验)课程名称数字信号处理电子科技大学教务处制表电 子 科 技 大 学实 验 报 告学生姓名: 学 号: 指导教师: 实验地点: 实验时间: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数字低通滤波器的(汉宁)窗函数法设计

)(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 语音信号与加噪声后语音信号对比图五为语音信号与加噪声后语音信号对。
基于汉明窗函数的FIR低通滤波器设计及优化

基于汉明窗函数的FIR低通滤波器设计及优化FIR低通滤波器是一种常用的信号处理器件,可用于信号去噪、频率分析和降低信号的带宽等应用。
其中,基于汉明窗函数的FIR低通滤波器设计及优化是一种常见的设计方法。
在本文中,将详细介绍汉明窗函数的原理及其在FIR低通滤波器设计中的应用,并探讨如何通过优化设计参数来改进滤波器性能。
首先,我们来了解汉明窗函数的原理。
汉明窗函数是一种在频域上满足零相位特性的窗函数,常用于FIR滤波器设计中。
其数学表示为:w(n) = a - b * cos(2πn/(N-1)), 0 ≤ n ≤ N-1其中,n为窗函数的序号,N为窗函数的长度,a和b为调节系数。
通过调节a 和b的取值,可以改变窗函数的主瓣宽度和旁瓣衰减。
在FIR低通滤波器设计中,我们常使用汉明窗函数作为滤波器的频率响应。
接下来,我们将介绍基于汉明窗函数的FIR低通滤波器的设计步骤。
设计一个FIR低通滤波器,首先需要确定滤波器的阶数和截止频率。
阶数决定了滤波器的复杂度,截止频率决定了滤波器的频率响应。
一般情况下,阶数越高,滤波器的性能越好,但计算复杂度也会增加。
1. 确定滤波器的阶数,一般通过指定过渡带宽和旁瓣衰减来确定。
2. 根据指定的过渡带宽和旁瓣衰减,计算出窗函数的调节系数a和b。
3. 根据窗函数的长度N和频率响应的要求,计算出窗函数的序号n。
4. 计算出窗函数的数值,并进行归一化处理。
5. 将窗函数与理想低通滤波器的频率响应进行卷积,得到FIR低通滤波器的冲激响应。
6. 对FIR低通滤波器的冲激响应进行变换,得到滤波器的差分方程。
7. 实现滤波器的差分方程。
以上是基于汉明窗函数的FIR低通滤波器的设计步骤。
接下来,我们将探讨如何通过优化设计参数来改进滤波器性能。
在实际应用中,我们经常需要在滤波器的频率响应和计算复杂度之间进行权衡。
通过调整窗函数的长度、调节系数a和b,以及滤波器的阶数,我们可以改变滤波器的性能。
FIR数字低通滤波器的(汉宁)窗函数法设计

)(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中的多种滤波器设计方法介绍引言滤波器是数字信号处理中常用的工具,它可以去除噪声、改善信号质量以及实现其他信号处理功能。
在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滤波器分析解析一、引言数字滤波器是数字信号处理中的重要组成部分。
滤波器可以用于去除噪声、调整频率响应以及提取感兴趣的信号。
有许多方法可以设计数字滤波器,包括窗函数法、频域法和优化法等。
本实验将重点介绍窗函数法设计FIR滤波器的原理和过程。
二、窗函数法设计FIR滤波器窗函数法是设计FIR滤波器的一种常用方法。
其基本原理是将滤波器的频率响应与理想滤波器的频率响应进行乘积。
理想滤波器的频率响应通常为矩形函数,而窗函数则用于提取有限长度的理想滤波器的频率响应。
窗函数的选择在FIR滤波器的设计中起着重要的作用。
常用的窗函数包括矩形窗、汉宁窗、汉明窗、布莱克曼窗等。
对于每种窗函数,都有不同的特性和性能指标,如主瓣宽度、副瓣抑制比等。
根据不同的应用需求,可以选择合适的窗函数。
窗函数法设计FIR滤波器的具体步骤如下:1.确定滤波器的阶数N。
阶数N决定了滤波器的复杂度,一般情况下,阶数越低,滤波器的简单度越高,但频率响应的近似程度也会降低。
2.确定滤波器的截止频率。
根据应用需求,确定滤波器的截止频率,并选择合适的窗函数。
3.根据窗函数长度和截止频率计算理想滤波器的频率响应。
根据所选窗函数的特性,计算理想滤波器的频率响应。
4.根据理想滤波器的频率响应和窗函数的频率响应,得到所需的FIR滤波器的频率响应。
将理想滤波器的频率响应与窗函数的频率响应进行乘积,即可得到所需滤波器的频率响应。
5.对所得到的频率响应进行逆傅里叶变换,得到时域的滤波器系数。
6.实现滤波器。
利用所得到的滤波器系数,可以通过卷积运算实现滤波器。
三、实验结果与分析本实验以Matlab软件为平台,利用窗函数法设计了一个低通滤波器。
滤波器的阶数为16,截止频率为500Hz,采样频率为1000Hz,选择了汉宁窗。
根据上述步骤,计算得到了所需的滤波器的频率响应和时域的滤波器系数。
利用这些系数,通过卷积运算,实现了滤波器。
为了验证滤波器的性能,将滤波器应用于输入信号,观察输出信号的变化。
基于汉明窗函数的FIR低通滤波器设计及性能分析

基于汉明窗函数的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数字低通滤波器资料

河北科技大学课程设计报告学生姓名:学号:专业班级:课程名称:学年学期指导教师: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 的取值。
课程设计_低通滤波器设计(含matlab程序)

2010/2011学年第 2 学期学院:信息与通信工程学院专业:电子信息科学与技术学生姓名:学号:课程设计题目:低通滤波器设计起迄日期: 6 月 13 日~6月 24日课程设计地点:指导教师:系主任:下达任务书日期: 2011 年 6 月12 日课程设计任务书课程设计任务书目录1 设计目的及要 (5)1.1设计目的 (5)1.2设计内容和要求 (5)2设计原理 (5)2.1 FIR滤波器 (5)2.2窗函数 (6)2.3矩形窗 (7)3设计过程 (8)3.1设计流程图 (8)3.2 产生原始信号并分析频谱 (8)3.3 使用矩形窗设计不同特性的数字滤波器 (10)3.4 信号滤波处理 (11)4 实验结果及分析 (12)5 课程设计心得体会 (12)6 参考文献 (13)附录: (14)低通滤波器的设计1 设计目的及要求1.1设计目的设计一种低通滤波器并对信号进行滤波。
低通滤波器的作用是滤去信号中的中频和高频成分,增强低频成分。
要求做到:1.了解MATLAB的信号处理技术;2.使用MATLAB设计低通滤波器,掌握其滤波处理技术;3.对滤波前和滤波后的波形进行时域和频域比较。
1.2设计内容和要求1.熟悉有关采样,频谱分析的理论知识,对信号作频谱分析;2.熟悉有关滤波器设计理论知识,选择合适的滤波器技术指标,设计低通滤波器对信号进行滤波,对比分析滤波前后信号的频谱;3.实现信号频谱分析和滤波等有关MATLAB函数;2设计原理本次课程设计,我们主要是基于矩形窗的FIR滤波器来设计一个低通滤波器。
2.1 FIR滤波器FIR滤波器即有限抽样响应因果系统,其单位抽样响应h<n>是有限长的;极点皆位于z=0处;结构上不存在输出到输入的反馈,是非递归型的。
其系统函数表示为:普通的FIR滤波器系统的差分方程为:式中:N为FIR滤波器的抽头数;x<n>为第n时刻的输入样本;h<i>为FIR滤波器第i级抽头系数。
用窗函数法设计FIR数字低通滤波器要点

河北科技大学课程设计报告学生姓名: 学号:专业班级:课程名称:学年学期指导教师:20年月课程设计成绩评定表目录1. 窗函数设计低通滤波器1.1设计目的 (1)1.2设计原理推导与计算 (1)1.3设计内容与要求 (2)1.4设计源程序与运行结果 (3)1.5思考题……………………………………………………………………101.6心得体会 (14)参考文献……………………………………………………………………… 151.窗函数设计低通滤波器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 ,,e e 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 就作为实际设计的FI R数字滤波器的单位脉冲响应序列,其频率响应函数()ωj e H 为()()nj N n j en h eH ωω∑-==1ﻩ ﻩ(4.3)式中,N 为所选窗函数()n ω的长度。
窗函数法设计fir滤波器步骤

窗函数法设计fir滤波器步骤
设计FIR滤波器的窗函数法步骤如下:
1. 确定滤波器的理想频率响应:根据滤波器的要求和设计目标,确定滤波器的理想频率响应。
例如,低通滤波器的理想频率响应为在截止频率以下通过全部信号,而在截止频率以上完全阻断信号。
2. 确定滤波器的截止频率:根据滤波器的要求,确定滤波器的截止频率,即理想频率响应中的-3dB截止点。
3. 计算滤波器的长度:根据滤波器的设计要求和所选窗函数的性能,计算滤波器的长度。
滤波器的长度通常与截止频率、过渡带宽和窗函数的主瓣宽度相关。
4. 选择合适的窗函数:根据滤波器的设计要求和性能需求,选择合适的窗函数。
常用的窗函数有矩形窗、汉宁窗、汉明窗、布莱克曼窗等。
5. 生成滤波器的理想冲激响应:根据滤波器的理想频率响应和截止频率,生成滤波器的理想冲激响应。
可以使用理想低通滤波器或频域采样方法生成。
6. 应用窗函数:将生成的理想冲激响应与所选的窗函数进行乘积,得到窗函数法设计的FIR滤波器的冲激响应。
7. 可选的调整和优化:根据需要,对生成的滤波器进行进一步的调整和优化,以满足特定的性能需求。
例如,可以通过改变窗函数的参数或使用多个窗函数的组合来调整主瓣宽度、副瓣抑制等。
8. 可选的滤波器实现:将得到的滤波器冲激响应进行频域或时域的变换,得到FIR滤波器的差分方程或频域表达式,然后进行滤波器的实现。
9. 滤波器性能评估:对设计的滤波器进行性能评估,包括频率响应、幅频特性、相位响应、群延迟等。
10. 如有需要,对滤波器的设计进行调整和优化,直至满足设计要求。
基于汉明窗函数的FIR低通滤波器设计方法及性能分析

基于汉明窗函数的FIR低通滤波器设计方法及性能分析FIR(有限脉冲响应)滤波器是一种常用的数字滤波器,其特点是稳定性好、易于实现和灵活性高。
汉明窗函数是一种常用于FIR滤波器设计的窗函数之一,本文将介绍基于汉明窗函数的FIR低通滤波器的设计方法,并对其性能进行分析。
1. 汉明窗函数汉明窗函数是一种常用的平滑窗函数,其公式为:w(n) = 0.54 - 0.46 * cos(2πn/(M-1))其中,n为窗函数序列的索引,M为窗函数序列的长度。
汉明窗函数的特点是在频域上具有良好的副瓣抑制能力。
2. FIR滤波器设计步骤(1)确定滤波器的通带截止频率和阻带截止频率。
根据具体应用需求,确定滤波器的频率特性。
(2)计算滤波器的阶数。
阶数决定了滤波器的抗混淆能力,一般越高越好,但也会增加计算复杂性。
(3)选择合适的窗函数。
根据滤波器的要求,选择适合的窗函数,本文以汉明窗函数为例。
(4)计算滤波器的截止频率。
利用窗函数的主瓣宽度和滤波器的通带截止频率,可以计算出滤波器的截止频率。
(5)计算窗函数序列。
根据窗函数的公式,计算窗函数序列。
(6)计算滤波器的频率响应。
利用窗函数序列和滤波器的阶数,可以计算出滤波器的频率响应。
(7)滤波器的性能分析。
通过分析滤波器的频率响应曲线、幅频响应和相频响应等,评价滤波器的性能。
3. 性能分析(1)频率响应:通过绘制滤波器的频率响应曲线,可以观察滤波器在通带和阻带中的幅值响应。
频率响应曲线应表现出低通滤波器的特性,即在通带中幅度应接近1,而在阻带中应接近0。
(2)幅频响应:幅频响应是指滤波器输出与输入信号的振幅之比,通过分析幅频响应曲线可以了解滤波器的增益特性。
低通滤波器应该在截止频率处降低输入信号的振幅。
(3)相频响应:相频响应是指滤波器输出与输入信号的相位差,它影响滤波器对信号的时域特性。
理想的低通滤波器应该对信号的相位没有明显改变。
4. 结论基于汉明窗函数的FIR低通滤波器是一种常用的数字滤波器。
实验六用窗函数设计FIR滤波器

实验六用窗函数设计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低通滤波器设计方法FIR(Finite Impulse Response)滤波器是一种常用的数字滤波器,通过对输入信号进行加权求和的方式实现信号的滤波处理。
而汉明窗函数是一种常用的窗函数,可用于设计FIR滤波器。
基于汉明窗函数的FIR低通滤波器设计方法是一种常用的滤波器设计方法。
下面将详细介绍该设计方法的步骤和原理。
首先,我们需要确定滤波器的一些基本参数,包括截止频率、通带衰减和阻带衰减等。
这些参数将决定滤波器的性能。
接下来,根据所给的任务名称,我们采用基于汉明窗函数的FIR滤波器设计方法。
该方法的基本思想是,在频域中使用汉明窗函数对频率响应进行加权,从而实现对输入信号的滤波。
具体步骤如下:1. 确定滤波器的长度:根据所给的任务名称,我们需要设计一个低通滤波器。
滤波器的长度通常通过窗函数的主瓣宽度来确定。
根据经验公式,滤波器的长度可选择为:N = (A / Δω) + 1其中,N为滤波器的长度,A为通带衰减(单位:dB),Δω为截止频率与折返频率之差。
2. 计算窗函数:根据滤波器的长度N,我们可以计算得到相应的汉明窗函数。
汉明窗函数的表达式为:w(n) = 0.54 - 0.46 * cos(2πn / (N-1))其中,w(n)为窗函数的值,n为窗函数的索引。
3. 计算频率响应:将窗函数应用于单位冲激响应,得到滤波器的频率响应。
频率响应的表达式为:H(ω) = ∑[h(n) * e^-jωn]其中,H(ω)为频率响应,h(n)为滤波器的单位冲激响应。
4. 归一化频率响应:为了保证滤波器的稳定性和满足系统要求,我们需要将频率响应进行归一化处理。
具体操作是将频率响应除以最大响应的模值,得到归一化频率响应。
5. 滤波器系数计算:根据归一化频率响应,通过反变换得到滤波器的单位冲激响应。
具体操作是将归一化频率响应进行反离散傅里叶变换(IDFT),得到滤波器的单位冲激响应。
然后,我们可以得到滤波器的系数,即为所要求的滤波器设计。
利用窗函数法设计低通滤波器

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课程设计报告学院:地球物理与石油资源学院班级: 测井(基)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窗函数,给以相同的技术参数,来设计低通,带通,高通滤波器,用上述窗函数的选择标准来比较各种窗函数的优劣,并给以一个简谐波进行滤波处理,比较滤波前后的效果。
实验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====πϖπϖ的底通滤波器。
低通FIR数字滤波器设计

低通FIR数字滤波器设计(1)设计方案本设计利用窗函数法设计了一个低通FIR数字滤波器,利用所设计的滤波器对多个频带叠加的正弦信号进行处理,对比滤波前后的信号时域和频域图。
FIR 滤波器具有严格的相位特性,对于信号处理和数据传输是很重要的。
目前FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。
由于窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求高的时候是比较灵活方便的,本设计方案选用窗函数法基本思路:从时域出发设计 h(n)逼近理想 hd(n)。
设理想滤波器的单位响应在时域表达为hd(n),则hd(n) 一般是无限长的,且是非因果的,不能直接作为FIR 滤波器的单位脉冲响应。
要想得到一个因果的有限长的滤波器单位抽样响应 h(n),最直接的方法是先将hd(n)往右平移,再进行截断,即截取为有限长因果序列:h(n)=hd(n)w(n),并用合适的窗函数进行加权作为 FIR 滤波器的单位脉冲响应。
按照线性相位滤波器的要求,线性相位FIR数字低通滤波器的单位抽样响应h(n)必须是偶对称的。
对称中心必须等于滤波器的延时常数,即用矩形窗设计的FIR 低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,返个现象称为吉布斯(Gibbs)效应。
为了消除吉布斯效应,一般采用其他类型的窗函数。
MATLAB 设计 FIR 滤波器有多种方法和对应的函数。
从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs现象所带来的影响。
(2)MATLAB程序设计和仿真图MATLAB程序如下:f1=100;f2=200;%待滤波正弦信号频率fs=2000;%采样频率m=(0.3*f1)/(fs/2);%定义过度带宽M=round(8/m);%定义窗函数的长度N=M-1;%定义滤波器的阶数b=fir1(N,0.5*f2/(fs/2));%使用fir1函数设计滤波器%输入的参数分别是滤波器的阶数和截止频率figure(1)[h,f]=freqz(b,1,512);%滤波器的幅频特性图%[H,W]=freqz(B,A,N)当N是一个整数时函数返回N点的频率向量和幅频响应向量plot(f*fs/(2*pi),20*log10(abs(h)))%参数分别是频率与幅值xlabel('频率/赫兹');ylabel('增益/分贝');title('滤波器的增益响应');figure(2)subplot(211)t=0:1/fs:0.5;%定义时间范围和步长s=sin(2*pi*f1*t)+sin(2*pi*f2*t);%滤波前信号plot(t,s);%滤波前的信号图像xlabel('时间/秒');ylabel('幅度');title('信号滤波前时域图');subplot(212)Fs=fft(s,512);%将信号变换到频域AFs=abs(Fs);%信号频域图的幅值f=(0:255)*fs/512;%频率采样plot(f,AFs(1:256));%滤波前的信号频域图xlabel('频率/赫兹');ylabel('幅度');title('信号滤波前频域图');figure(3)sf=filter(b,1,s);%使用filter函数对信号进行滤波%输入的参数分别为滤波器系统函数的分子和分母多项式系数向量和待滤波信号输入subplot(211)plot(t,sf)%滤波后的信号图像xlabel('时间/秒');ylabel('幅度');title('信号滤波后时域图');axis([0.2 0.5 -2 2]);%限定图像坐标范围subplot(212)Fsf=fft(sf,512);%滤波后的信号频域图AFsf=abs(Fsf);%信号频域图的幅值f=(0:255)*fs/512;%频率采样plot(f,AFsf(1:256))%滤波后的信号频域图xlabel('频率/赫兹');ylabel('幅度');title('信号滤波后频域图');低通的FIR数字滤波器的仿真图如图8~图10所示:图8低通FIR滤波器的增益响应图9 滤波前的信号时域图和频域图图10 滤波后的信号时域图和频域图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要此次课程设计主要是要采集一段语音信号,并用MATLAB软件绘制出语音信号波形并对语音信号进行截短、预处理等操作,观察其波形的变化并与原始语音信号波形加以对比。
然后对该语音信号加入高斯白噪声,观察加噪后的波形及其频谱图,观察噪声对语音信号的影响。
最后根据给定的相应技术指标,用汉宁窗设计一个满足指标的FIR低通滤波器,对该语音信号进行滤波去噪处理,最后对前后时域和频域的波形图进行对比分析,从波形可以看出噪声被完全滤除,达到了语音不失真的效果。
同时在课设过程中,通过与同组的其他同学交流,比较各种滤波方法性能的优劣并找到相对的最佳滤波方法。
在此次课程设计中,以Windows XP 系统为操作平台.本次设计在MATLAB环境下,用窗函数法设计FIR滤波器。
通过了解不同的窗函数方法及性能设计FIR低通滤波器,并对对所设计的滤波器进行分析比较,得出各种方法设计的滤波器的优缺点,从而正确的选择FIR数字滤波器的窗函数及设计方法。
关键词:FIR滤波器,MATLAB,窗函数,汉宁窗目录前言 (1)一 MATLAB程序设计的基本方法 (2)二数字信号处理的基本理论与方法 (3)2.1设计理论依据 (3)三利用MATLAB采集语言信号并分析 (5)3.1语音的录入与打开 (5)3.2录制语音信号过程 (5)3.3时域信号的FFT分析 (6)四用MATLAB环境采用窗函数法设计数字滤波器 (7)4.1数字滤波器概念及原理 (7)4.2数字滤波器设计的过程 (7)4.3低通FIR滤波器基本原理 (8)4.4利用窗函数法设计线性相位FIR数字滤波器 (8)4.5利用HANNING窗设计低通滤波器 (10)五设计过程 (11)5.1流程图 (11)5.3信号频谱分析 (13)5.4信号的脉冲响应 (13)设计总结 (15)参考文献 (16)附录.......................................................... 错误!未定义书签。
致谢.. (17)前言数字化是控制系统的重要发展方向,而数字信号处理已在通信、语音、图像、自动控制、雷达、军事、航空航天等领域广泛应用。
数字信号处理方法通常涉及变换、滤波、频谱分析、编码解码等处理。
数字滤波是重要环节,它能满足滤波器对幅度和相位特性的严格要求,克服模拟滤波器所无法解决的电压和温度漂移以及噪声等问题。
而有限冲激响应FIR滤波器在设计任意幅频特性的同时能够保证严格的线性相位特性。
利用MATLAB工具软件的辅助设计,使得FIR滤波器具有快速、灵活、适用性强,硬件资源耗费少等特点。
FIR滤波器是最常用的组件之一,它完成信号预调、频带选择和滤波等功能。
FIR滤波器在截止频率的边沿陡峭性能虽然不及IIR滤波器,但是,考虑到FIR滤波器严格的线性相位特性和不像IIR滤波器存在稳定性的问题,FIR滤波器能够在数字信号处理领域得到广泛的应用。
FIR是有限冲激响应(Finite Impulse Response)的简称。
由线性系统理论可知,在某种适度条件下,输入到线性系统的一个冲击完全可以表征系统。
当我们处理有限的离散数据时,线形系统的响应(包括对冲击的响应)也是有限的。
若线性系统仅是一个空间滤波器,则通过简单地观察它对冲击的响应,我们就可以完全确定该滤波器。
通过这种方式确定的滤波器称为有限冲击响应(FIR)滤波器。
FIR滤波器是在数字信号处理(DSP)中经常使用的两种基本的滤波器之一。
FIR 滤波器具有严格的相位特性,对于信号处理和数据传输是很重要的。
目前FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。
常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。
用窗函数设FIR 滤波器的基本思路:从时域出发设计h(n)逼近理想hd(n)。
设理想滤波器的单位响应在时域表达为hd(n),则Hd(n) 一般是无限长的,且是非因果的,不能直接作为FIR 滤波器的单位脉冲响应。
要想得到一个因果的有限长的滤波器单位抽样响应h(n)最直接的方法是先将hd(n)往右平移,再进行截断,即截取为有限长因果序列:h(n)=hd(n)w(n),并用合适的窗函数进行加权作为FIR 滤波器的单位脉冲响应。
MATLAB 设计FIR 滤波器有多种方法和对应的函数。
窗函数设计法不仅在数字滤波器的设计中占有重要的地位,同时可以用于功率谱的估计,从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs现象所带来的影响。
一 MATLAB程序设计的基本方法MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
它集图示和精确计算于一身,在应用数学、物理、化工、机电工程、医药、金融和其他需要进行复杂数值计算的领域得到广泛应用。
它不仅是一个在各类工程设计中便于使用的计算工具,而且也是一个在数学、数值分析和工程计算等课程教学中的优秀的教学工具,在世界各地的高等院校中十分流行,在各类工业应用中更有不俗的表现。
MATLAB可以在几乎所有的PC机和大型计算机上运行,适用于Windows、UNIX等各种系统平台。
总的来说,该软件有三大特点。
一是功能强大。
具有数值计算和符号计算、计算结果和编程可视化、数学和文字统一处理、离线和在线计算等功能;二是界面友善、语言自然。
MATLAB 以复数处理作为计算单元,指令表达与标准教科书的数学表达式相近;三是开放性强。
当学好MATLAB的同时,会更好的帮助自己去就解决一些难题,而且MATLAB拥有非常好的发展前途,对我们未来的帮助也是不可限量的。
二数字信号处理的基本理论与方法2.1 设计理论依据图2.1 原理示意图2.1.1 采样定理在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中,最高频率fmax的2倍时,即:fs.max>=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍;采样定理又称奈奎斯特定理: 理想低通信道的最高大码元传输速率=2W*log2 N (其中W是理想低通信道的带宽,N是电平强度)2.1.2 采样频率采样频率(也称为采样速度或者采样率)定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。
采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时间间隔。
采样频率只能用于周期性采样的采样器,对于非周期性采样的采样器没有规则限制。
采样频率的常用的表示符号是 f_s。
2.1.3 采样位数与采样频率采样位数可以理解为声卡处理声音的解析度。
这个数值越大,解析度就越高,录制和回放的声音就越真实。
电脑中的声音文件是用数字0和1来表示的,所以在电脑上录音的本质就是把模拟声音信号转换成数字信号。
反之,在播放时则是把数字信号还原成模拟声音信号输出。
采样频率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。
采样位数和采样频率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。
无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。
每增加一个采样位数相当于力度范围增加了6dB。
采样位数越多则捕捉到的信号越精确。
采样率越高,计算机摄取的图片越多,对于原始音频的还原也越加精确。
三利用MATLAB采集语言信号并分析3.1 语音的录入与打开利用MATLAB中的wavread命令来读入(采集)语音信号,将它赋值给某一向量。
再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤波。
对于波形图与频谱图(包括滤波前后的对比图)都可以用MATLAB画出。
我们还可以通过sound 命令来对语音信号进行回放,以便在听觉上来感受声音的变化。
[y,fs,bits]=wavread('Blip',[N1 N2]),用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。
[N1 N2]表示读取从N1点到N2点的值(若只有一个N 的点则表示读取前N点的采样值)。
sound(x,fs,bits); 用于对声音的回放。
向量y则就代表了一个信号(也即一个复杂的“函数表达式”)也就是说可以像处理一个信号表达式一样处理这个声音信号。
3.2 录制语音信号过程打开PC机上的酷狗音乐,用鼠标右击播放列表中的任意一首歌曲,在弹出的下拉列表中单击工具,在工具栏选择制作铃声,然后显示如图3.1所示的界面,点击添加歌曲,选择一首喜欢的歌,设置起点和终点,并将格式转换为WAV格式,最后进行保存且与所写的程序对应,语音录音完成。
图3.1 录制语音信号图3.3时域信号的FFT分析函数的一种调用格式为:y=fft(x) (3.1)其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT。
且和x相同长度。
若x为一矩阵,则y是对矩阵的每一列向量进行FFT。
如果x长度是2的幂次方,函数fft执行高速基-2FFT算法;否则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。
函数FFT的另一种调用格式为:y=fft(x,N) (3.2)式中,x,y意义同前,N为正整数。
函数执行N点的FFT。
若x为向量且长度小于N,则函数将x补零至长度N。
若向量x的长度大于N,则函数截短x使之长度为N。
若x 为矩阵,按相同方法对x进行处理。
经函数fft求得的序列y一般是复序列,通常要求其幅值和相位。
MATLAB提供求复数的幅值和相位函数:abs,angle,这些函数一般和FFT同时使用。
四用MATLAB环境采用窗函数法设计数字滤波器4.1 数字滤波器概念及原理4.1.1 数字滤波器概念数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。
与IIR滤波器相比,FIR的实现是非递归的,总是稳定的;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特性。
因此,它在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。
4.1.2 数字滤波器原理数字滤波器的作用是利用离散时间系统的特性对输入信号波形(或频谱)进行加工处理,或者说利用数字方法按预定的要求对信号进行变换。