基于FIR的语音信号滤波
目录
1 绪论 ...................................................................................................................................... 1 1.1背景及目的 ....................................................................................................................... 1 1.2 设计步骤 .......................................................................................................................... 1 1.3 设计方案 .......................................................................................................................... 2 2 总体设计 .............................................................................................................................. 3 2.1 滤波器的原理及特点 ...................................................................................................... 3 2.2 MATLAB软件介绍 ......................................................................................................... 5 2.3 FIR滤波器的Matlab设计 .............................................................................................. 6 3 硬件设计 .............................................................................................................................. 7 3.1 语音处理的总框图设计 .................................................................................................. 7 3.2 硬件模块的设计 .............................................................................................................. 7 3.2.1 音频转换模块 ........................................................................................................... 7 3.2.2 存储器和数据通信模块 ........................................................................................... 8 3.3 TMS320VC5402芯片的介绍 .......................................................................................... 8 3.4 主要硬件接口及实现 ...................................................................................................... 9 3.4.1 TMS320VC5402与A/D、D/A芯片的接口 ............................................................ 9 3.5 电源电路设计 ................................................................................................................ 10 4 软件部分 ............................................................................................................................ 11 4.1 软件设计流程图 ............................................................................................................ 11 5 程序调试结果 ...................................................................................................................... 14 5.1 调试结果 ....................................................................................................................... 14 6 总结心得 .............................................................................................................................. 17 参考文献 .................................................................................................................................. 18 附录 源程序 .......................................................................................................................... 19
基于FIR的语音信号滤波
1 绪论
1.1背景及目的
随着微处理技术的快速发展,微处理器芯片的集成度从最早的几千个晶体管发展到现在的上亿个晶体管,字长从4位提高到了64位,正是这些技术的飞速发展引发了一轮又一轮的信息产业革命,而人们的生活、学习和工作方式也在以计算机技术、通信技术为核心的信息技术的影响下发生着前所未有的改变。
然而在这次设计中,比较核心的是数字滤波器,数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域。滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。与IIR滤波器相比,FIR滤波器只有零点,除原点外.在z平面上没有极点,因此总是稳定的和可实现的;更重要的是,FIR滤波器在满足一定的对称条件下,可以获得严格的线性相位特性,这一点是IIR滤波器难以实现的。因此。它在高保真的信号处理.如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。
对于本设计主要是利用一个DSP芯片来进行语音采集系统的设计,而数字信号处理技术的发展使得采用数字化的方法实时的处理语音信号成为可能。早期的语音信号处理均是采用模拟处理,对声音信号最常用的滤波、相关、谱分析等运算,部分采用模拟电路来实现的。这种传统的模拟方法处理语音信号,硬件设备昂贵,不能升级、产品生命周期短,而采用数字处理技术处理语音信号具有抗干扰性强、便于传输和处理等优点,代表着语音处理技术的发展方向。DSP芯片高速、可编程的特点使其非常适合于语音信号处理领域。
1.2 设计步骤
本题目通过DSP处理器控制TLC320AIC23采集音频信号,在CCS软件中分析音频信号的频谱图,使用Matlab设计相应的FIR数字滤波器(低通、带通、带阻等)并得到滤波器H(z)的系数,然后根据这些系数,编写DSP程序(C语言或汇编)对已采
第 1 页 共 21 页
基于FIR的语音信号滤波
集信号进行处理,最后在CCS软件中得到处理后音频信号的频谱图,比较滤波前后信号的频谱图。设计步骤包括:
1、DSP与TLC320AIC23接口电路的原理图绘制; 2、DSP控制TLC320AIC23的程序编写与调试;
3、TLC320AIC23模拟量到数字量的转换,采集声音信号,查看并记录信号频谱; 4、使用Matlab对FIR滤波器的设计;
5、编写FIR滤波处理的DSP程序,查看并记录处理后的信号频谱; 6、用TLC320AIC23实现数字量到模拟量的转换,回放处理后的声音; 7、按要求编写课程设计报告书,正确、完整的阐述设计和实验结果。 8、在报告中绘制程序的流程图,并文字说明。
1.3 设计方案
DSP 与一般的微处理器相比有很大的区别。它所特有的结构和指令集合为解决复杂的数字信号处理问题提供了便利。用DSP芯片C54x实现FIR 滤波器的具体方案是:先用MATLAB的相关滤波器函数设计一个FIR滤波器,将产生的滤波器系数作为DSP芯片实现该FIR滤波器的系数。然后用MATLAB的SIMULINK功能信号源模块产生滤波器的输入数据,并仿真出滤波器的滤波过程,使用Scope模块得到滤波器对所输入的数据产生的滤波结果。也就是,设计的滤波器对所采集的语音信号进行处理。再通过DSP的集成开发环境CCS把SIMULINK所产生的滤波器数据存储在DSP芯片的数据空间中。最后使用汇编语言设计C54x的FIR滤波程序,将MATLAB函数产生的滤波器系数和用C语言产生的输入数据进行运算。输入数据和通过DSP芯片产生的滤波结果可以通过CCS显示出来,这样就可以验证该滤波器的实现。
在硬件设计方面,本设计是一个采用基于TMS320VC5402的语音采集硬件设计方案,叙述和分析了其中的几个主要硬件模块,包括信号采集A/D、D/A模块、存储器模块、UART数据通信模块和电源模块。
第 2 页 共 21 页
基于FIR的语音信号滤波
2 总体设计
2.1 滤波器的原理及特点
数字滤波器有两类:IIR数字滤波器和FIR数字滤波器。FIR滤波器是有限长单位冲激响应滤波器,在结构上是非递归型的。它可以在幅度特性随意设计的同时,保证精确严格的线性相位。线性相位特性在实际应用中非常重要,如在数据通信、图像处理、语音信号处理等领域,往往都要求具有线性相位特性。并且由于FIR 滤波器的单位脉冲响应有限长,系统不存在非稳定现象,我们总能用因果稳定系统来实现FIR 滤波器。FIR 主要的不足在于其较好的性能是以较高的阶数为代价换来的,对于相同的设计指标,FIR 滤波器所要求的阶数比IIR 滤波器高2~5 倍,信号的延迟偏大。因此,在保证相同性能的前提下,尽量降低其阶数是FIR 数字滤波器设计的目标之一。FIR滤波器是有限长单位冲激响应滤波器,它具有以下独特的优点:(1)可以在幅度特性随意设计的同时,保证精确、严格的线性相位;避免被处理的信号产生相位失真,这一特点在宽频带信号处理、阵列信号处理、数据传输等系统中非常重要; (2)由于FIR滤波器的单位脉冲响应h(n)是有限长序列,因此FIR滤波器没有不稳定的问题; (3)由于FIR滤波器一般为非递归的结构,因此在有限精度运算下,不会出现递归结构中极性震荡等不稳定现象,误差较小。
FIR滤波器的数学表达式为:
(2-1)
式中:N为FIR滤波器的抽头数;x(n)为第n时刻的输入样本;h(i)为FIR滤波器第i级抽头系数。
其相应的z变换为:
(2-2)
式中:z-i为N-1阶多项式。
普通的直接型FIR滤波器结构如图2.1所示:
第 3 页 共 21 页
基于FIR的语音信号滤波
图2.1 FIR滤波器的直接型结构
在自适应处理、数据通信等领域中往往要求信号在传输过程中不能有明显的相位失真,FIR滤波器可以做到线性相位满足此要求。F1R滤波器实质上是一个分节的延迟线,把每一节的输出加权累加,得到滤波器的输出。对于FIR滤波器的单位脉冲响应h(i)只要满足以下2个条件之一,则为线性相位滤波器。
(2-3)
线性相位的FIR滤波器具有中心对称的特性,其对称中心在N/2处。
(2-4)
(2-2)由性能指标确定窗函数w(n)和窗口长度N (2-3)求得实际滤波器的单位脉冲响应h(n):
(2-5)
式中,H(z)是的(N-1)次多项式,它在z平面上有(N-1)个零点,其原点z=0是(N-1)阶重极点。因此,H(z)能永远保持稳定。
通常 FIR 数字滤波器设计流程分为2个部分:开发设计和产品实现。在开发设计部分完成方案设计和算法设计与验证,一般用Matlab语言进行仿真,当仿真结果满意时,再进入产品的实现阶段。在实现阶段,将开发设计的阶段的算法用C/C++或者汇编语言实现,在硬件的单片机或DSP 目标板上实现。如果 FIR 滤波器的冲激响应为h(0),h(1),…,h(N-1). x(n)表示滤波器在n 时刻的输入,则n 时刻的输出为:
y(n)=h(0)x(n)+h(1)x(n-1)+… + h(N-1)x[n-(N-1)] (2-6) 使用MAC 或FIRS 指令可以方便地实现上面的计算。图3.1说明了使用循环寻址实现FIR 滤波器的方法。为了能正确使用循环寻址,必须先初始化BK,块长为N。滤波系
第 4 页 共 21 页