当前位置:文档之家› 基于语音信号去噪处理的FIR低通滤波器设计

基于语音信号去噪处理的FIR低通滤波器设计

摘要本次课程设计分析了FIR数字滤波器的基本原理,在MATLAB环境下利用窗函数设计FIR低通滤波器,实现了FIR低通滤波器的设计仿真。

本文根据滤波后的时域图和原始语音信号时域图的比较,以及滤波后信号的频谱图和原始语音信号频谱图的比较,最后回放滤波后语音信号,滤波后的语音信号与原始语音信号一样清晰,仿真结果表明,设计的FIR滤波器的各项性能指标均达到了指定要求,设计过程简便易行。

该方法为快速、高效地设计FIR滤波器提供了一个可靠而有效的途径。

关键词:DSP ;FIR;低通滤波器;语音信号;MATLAB目录第一章引言 (1)1.1 设计目的及意义 (1)1.2 设计任务及要求 (2)1.3 课程设计平台 (2)第二章基本原理 (3)2.1 FIR滤波器的基本概念 (3)2.2 FIR滤波器的特点 (3)2.3 FIR滤波器的种类 (4)第三章FIR数字低通滤波器的设计 (5)3.1 FIR低通滤波器设计原理 (5)3.2 FIR低通滤波器的设计方法 (5)3.2.1 频率采样法 (5)3.2.2 最优化设计 (6)3.2.3 窗函数法 (6)3.3 窗函数法设计步骤 (8)第四章详细设计 (9)4.1 语音信号的采集 (9)4.2 语音信号的读入与打开 (10)4.3 语音信号的FFT变换 (11)4.4 含噪信号的合成 (12)4.5 利用FIR滤波器滤波 (13)4.6 结果分析 (14)总结 (15)参考文献 (16)附录 (17)致谢 (21)第一章引言随着信息科学和计算机技术的不断发展,数字信号处理(DSP,Digital Signal Processing)的理论和技术也得到了飞速的发展,并逐渐成为一门重要的学科,它的重要性在日常通信、图像处理、遥感、声纳、生物医学、地震、消费电子、国防军事、医疗方面等显得尤为突出。

在我们面临的信息革命中,数字信号处理几乎涉及了所有的工程技术领域。

数字信号处理是一种将信号以数字形式进行处理的一种理论和技术,它的目的是将真实世界中的一些信号进行分析并滤波,最后得出其中的有用的信号。

数字滤波器是数字信号处理的一种,一般根据单位脉冲响应h(n)分为无限脉冲响应(IIR)和有限脉冲响应(FIR)系统。

IIR数字滤波器的设计方法简单,特别是采用双线性变换法来设计的数字滤波器不存在频域混叠的现象,但是IIR滤波器存在一个较为明显的缺憾,就是它的相位响应一般都是非线性的,而在传输频带内的相位响应如果不是线性的,就会造成有用信号的传输失真,而FIR数字滤波器不仅可以设计成任意的幅度响应,而且可以设计成在通频带内具有良好的线性相位响应。

FIR数字滤波器的单位脉冲响应h(n)有限长,所以FIR数字滤波器是稳定的,不存在稳定性的问题,且可以通过快速傅里叶变换(FFT)的算法来实现信号滤波,大大的提高的运算效率。

[1]因此,FIR数字滤波器日益引起了人们的关注。

本课程设计是采用kaiser窗设计的FIR滤波器对语音信号进行滤波去噪。

通过课程设计了解FIR滤波器设计的原理和步骤,掌握用Matlab语言设计滤波器的方法,了解DSP对FIR滤波器的设计及编程方法。

通过观察语音信号滤波前后的时域波形的比较,加深对滤波器作用的理解。

通过对比滤波前后波形图的比较和放滤波前后语音信号的对比,可以看出滤波器对有用信号无失真放大具有重大意义。

1.1 设计目的及意义《信号处理》课程设计是现代信号处理技术课程的有效补充部分,通过课程设计,使得学生在设计过程中了解完整的现代信号处理技术的工程实现方法和流程,从而对现代信号处理技术的理论有更深入的认识。

本课程设计的目的是通过学生使用MATLAB等工具,采用窗函数法设计符合一定参数要求的FIR滤波器,并用所设计的滤波器对加噪语音信号进行滤波去噪处理。

1.2 设计任务及要求利用MATLAB语言及其工具箱来完成如下的工作:1、学会MATLAB的使用,掌握MATLAB的程序设计方法;2、录制一段语音信号,完成对信号的采样,画出信号的时域波形和频谱图,确定信号的频谱范围;3、给信号叠加噪声(噪声类型分为如下几种:a白噪声;b单频噪色(正弦干扰);c多频噪声(多正弦干扰);d其它干扰。

),画出受噪声干扰的信号时域波形和频谱图;4、采用窗函数法设计FIR低通滤波器,低通滤波器性能指标fb=1000 Hz,fc=1200 Hz,as=100 dB,ap=1 dB。

画出滤波器的频响特性图;5、用所设计的滤波器对受噪声影响的信号进行滤波,画出滤波后语音信号的时域波形图和频谱图;6、对滤波前后的信号进行对比,分析信号的变化;回放语音信号,并与原始语音信号对比;7、掌握窗函数法设计FIR数字滤波器的方法。

1.3 课程设计平台20世纪70年代后期,时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。

MATLAB软件包括五大通用功能:数值计算功能(Nemeric);符号运算功能(Symbolic);数据可视化功能(Graphic);数据图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。

其中,符号运算功能的实现是通过请求MAPLE内核计算并将结果返回到MATLAB命令窗口。

该软件有三大特点:一是功能强大;二是界面友善、语言自然;三是开放性强。

目前,Mathworks 公司已推出30多个应用工具箱。

MATLAB在线性代数、矩阵分析、数理统计和随机信号分析、电路与系统、系统动力学、信号和图像处理、建模和仿真、通信系统、以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。

第二章基本原理2.1 FIR滤波器的基本概念数字滤波器从实现的网络结构或者从单位脉冲响应可分为无限脉冲响应(IIR)滤波器和有限脉冲响应(FIR)滤波器。

FIR滤波器是有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。

[2]因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。

从性能上说,IIR滤波器以非线性相位为代价以较低的阶数获得较高的选择性。

而FIR滤波器想要获得相同的选择性阶数是IIR滤波器的5-10倍,结果成本较高、信号时延也较大:从结构上说,IIR采用递归结构,FIR采用非递归结构;从设计工具上说;IIR可以借助于模拟滤波器的成果,FIR滤波器一般采用没有封闭形式的设计公式;从使用场合上来看,在对相位要求不敏感的场合,如语音通讯等,选用IIR较为合适,可以充分发挥经济高效的特点。

对图像处理、数据传输等以波形携带信息的系统,使用FIR较好。

2.2 FIR滤波器的特点有限长单位冲激响应(FIR)滤波器有以下特点:(1) 系统的单位冲激响应在有限个n值处不为零;(2) 系统函数H(z)在|z|>0处收敛,极点全部在z = 0处(因果系统);(3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。

设FIR滤波器的单位冲激响应为一个N点序列,,则滤波器的系统函数为=∑^))(式(2-1)*(H-nzzhn就是说,它有(N—1)阶极点在z = 0处,有(N—1)个零点位于有限z平面的任何位置。

优点:(1)很容易获得严格的线性相位,避免被处理的信号产生相位失真,这一特点在宽频带信号处理、阵列信号处理、数据传输等系统中非常重要;(2)可得到多带幅频特性;(3)极点全部在原点(永远稳定),无稳定性问题;(4)任何一个非因果的有限长序列,总可以通过一定的延时,转变为因果序列,所以因果性总是满足;(5)无反馈运算,运算误差小。

缺点:(6)因为无极点,要获得好的过渡带特性,需以较高的阶数为代价;(7)无法利用模拟滤波器的设计结果,一般无解析设计公式,要借助计算机辅助设计程序完成。

[3]2.3 FIR滤波器的种类(1)数字集成电路FIR滤波器[4]一种是使用单片通用数字滤波器集成电路,这种电路使用简单,但是由于字长和阶数的规格较少,不易完全满足实际需要。

虽然可采用多片扩展来满足要求,但会增加体积和功耗,因而在实际应用中受到限制。

设计数字滤波器的任务就是寻求一个因果稳定的线性时不变系统,使其系统函数H(z)具有指定的频率特性。

(2)DSP芯片FIR滤波器另一种是使用DSP芯片。

DSP芯片有专用的数字信号处理函数可调用,实现FIR滤波器相对简单,但是由于程序顺序执行,速度受到限制。

而且,就是同一公司的不同系统的DSP芯片,其编程指令也会有所不同,开发周期较长。

(3)可编程FIR滤波器还有一种是使用可编程逻辑器件,FPGA/CPLD。

FPGA有着规整的内部逻辑块整列和丰富的连线资源,特别适合用于细粒度和高并行度结构的FIR滤波器的实现,相对于串行运算主导的通用DSP芯片来说,并行性和可扩展性都更好。

第三章 FIR 数字低通滤波器的设计3.1 FIR 低通滤波器设计原理由于FIR 滤波器冲击响应h[n]是有限长序列,因此这种结构可用非递归结构来实现[1]。

FIR 数字滤波器系统函数一般形式为如式(3-1)所示:∑=-=0)()(n n z k h z H 式(3-1)FIR 滤波器数学表达式可用差分方程(3-2)来表示:∑=-=0)()()(k k n x k h n y 式(3-2)式中:y (n )输出序列;h (k )滤波器系数;n 滤波器阶数;x (k )输入序列。

应用Matlab 设计FIR 滤波器的主要任务就是根据给定的性能指标,设计一个H (z ) ,使其逼近这一指标,进而计算并确定滤波器的系数b(n),再将所设计滤波器的幅频响应、相频响应曲线作为输出,与设计要求进行比较,对设计的滤波器进行优化。

3.2 FIR 低通滤波器的设计方法3.2.1 频率采样法频率采样法是从频域出发,根据频域采样定理,对给定的理想滤波器的频率响应()jw H e 加以等间隔的抽样 ,得到()d h k :N k w jw d d e H k H /)2(|)()(π==,k=0,1,…,N -1 式(3-3) 再利用()d H k 可求得FIR 滤波器的系统函数()H Z 及频率响应()jw H e 。

而在各采样点间的频率响应则是其加权内插函数延伸叠加的结果。

但对于一个无限长的序列,用频率采样法必然有一定的逼近误差,误差的大小取决于理想频响曲线的形状,理想频响特性变换越平缓,则内插函数值越接近理想值,误差越小。

相关主题