您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 基于FIR语音信号的滤波
基于FIR的语音信号滤波第1页共22页1.课程设计目的、内容和要求一、课程设计目的:通过本次课程设计,要求学生对DSP这门课程所学的基础知识、理论加以理解,学以致用。初步培养学生对工程设计的独立工作能力,掌握电子系统设计的一般方法。培养学生的动手能力,以及团队合作能力。二、课程设计内容:通过DSP处理器通过A/D采集音频信号,在CCS软件中分析音频信号的频谱图,使用Matlab设计相应的FIR数字滤波器(低通)并得到滤波器H(z)的系数,然后根据这些系数,编写DSP程序(C语言或汇编)对已采集信号进行处理,最后在CCS软件中得到处理后音频信号的频谱图,比较滤波前后信号的频谱图。三、课程设计要求:1、使用Matlab对FIR滤波器的设计;2、编写FIR滤波处理的DSP程序,查看并记录处理后的信号频谱;3、通过D/A实现数字量到模拟量的转换,回放处理后的声音;4、正确、完整的阐述设计和实验结果;5、绘制程序的流程图,并文字说明。基于FIR的语音信号滤波第2页共22页2设计基本原理及软件简介2.1设计总体方案本题目通过DSP处理器通过A/D采集音频信号,在CCS软件中分析音频信号的频谱图,使用Matlab设计相应的FIR数字滤波器(低通)并得到滤波器H(z)的系数,然后根据这些系数,编写DSP程序(C语言或汇编)对已采集信号进行处理,最后在CCS软件中得到处理后音频信号的频谱图,比较滤波前后信号的频谱图。其中语音信号的采集与回放是采用TLV320AIC23芯片,对语音信号进行A/D,D/A转换,从而实现对语音信号的数字处理与回放。DSP芯片主要是将转化成数字信号的语音信号用DSP算法对其进行处理,并将处理后的信号传送到输出端。如下图1所示为本题目的系统总体设计框图。图1系统总体设计框图2.2FIR滤波器的原理及特点数字滤波器有两类:IIR数字滤波器和FIR数字滤波器。FIR滤波器是有限长单位冲激响应滤波器,在结构上是非递归型的。它可以在幅度特性随意设计的同时,保证精确严格的线性相位。FIR滤波器是有限长单位冲激响应滤波器,它具有以下独特的优点:语音信号的采集与输入对采集的语音信号A/D转换DSP信号处理器设计FIR滤波器编写DSP程序对滤波后的语音信号D/A转换回放语音信号基于FIR的语音信号滤波第3页共22页(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阶多项式(2-2)普通的直接型FIR滤波器结构如下图2所示:图2FIR滤波器的直接型结构2.3窗函数的设计原理FIR滤波器通常采用窗函数方法来设计。窗设计的基本思想是,首先选择一个适当的理想选频滤波器(它总是具有一个非因果,无限持续时间脉冲响应),然后街区(加窗)它的脉冲响应得到线性相位和因果FIR滤波器。我们用)(jweHd表示理想的选频滤波器,它在通带上具有单位增益和线性相位,在阻带上具有零响应。为了从hd(n)得到一个FIR滤波器,必须同时在两边截取hd(n)。而要得到一个因果的线性相位滤波器,它的hd(n)长度为N,必须满足公式2-3)1()(nNhnh(2-3)h(n)可以看做是hd(n)与窗函数w(n)的乘积,如公式2-4所示h(n)=hd(n)w(n)(2-4)基于FIR的语音信号滤波第4页共22页这种操作叫做加窗,其中根据w(n)的不同定义,可以得到不同的窗结构在频域中,因果FIR滤波器响应)(jweH由)(jweHd和窗响应)(jwew的周期卷积得到,公式如下:)(jweH=)(jweHd)(jwew(2-5)常用的窗函数有矩形窗、三角形(Bartlett)窗、汉宁(Hanning)窗、哈明(Hamming)窗、布莱克曼(Blackman)窗、凯泽(Kaiser)窗等。2.4设计软件简介:1、MATLAB介绍:MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB应用非常之广泛。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户直接进行下载就可以用。2、CCS介绍:CCS是一种针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面,提供环境配置、源文件编辑、程序调试、跟踪分析等工具。CCS有两种工作模式:即软件仿真器模式和硬件在线编程模式,其软件仿真器模式可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制用于前期算法的实现和调试;其硬件在线编程模式,可以实时运行在DSP芯片上,与硬件开发板组合在线编程和调试应用程序。CCS功能十分强大,其主要功能如下:1、具有集成可视化代码编程界面,用户可通过其界面编写C、汇编、CMD文件等;2、含有集成代码生成工具包括汇编器,和链接器等将代码的编辑、编译、链接、和调试等诸多功能集成到一个软件中;3、高性能编辑器支持汇编文件的动态语法加亮显示使用户很容易阅读代码,发现语法错误;4、提供GEL工具,利用GEL扩展语言,用户可以编写自己的控制面板/菜单设置GEL菜单选项,方便直观的修改变量配置参数等。基于FIR的语音信号滤波第5页共22页3设计的步骤和过程3.1语音信号的录放在选择模转换芯片型号时,需要考虑A/D的转换精度、采样速率以及芯片的工作电压和接口电压。声音信号经ADC转换后得到的数字信号,输入到数据缓冲区中,TMS320F2812从中提取数据,在系统内部由各种处理算法将录进的音频信号进行快速运算和处理,经处理后的数字信号再输入到输出缓冲区中,经DAC转换器还原成模拟的声音信号。根据这次设计要求,选择的芯片是TI公司的TLV320AIC23芯片。利用缓冲区的目的是进行语音信号的实时处理,系统中各模块是并行运行的,一部分信号正在ADC中进行转换,而另一部分信号则在DSP处理器中进行算法处理,整个系统是以流水线的方式进行工作的。通过实验箱和仿真软件CCS2.0编程来实现语音的录放,并采集语音信号。通过采集得到一组输入信号。3.2FIR滤波器的Matlab设计fir1就是采用经典窗函数法设计线性相位FIR数字滤波器的函数,且具有标准低通,带通,高通,带阻等类型。函数调用格式为:b=fir1(n,wn[,'ftype',window])(3-1)式中,n为FIR滤波器的阶数,对于高通,带阻滤波器,n需取偶数;wn为滤波器截止频率,范围为0~1(归一化频率)。常用的窗函数有矩形窗、三角形(Bartlett)窗、汉宁(Hanning)窗、哈明(Hamming)窗、布莱克曼(Blackman)窗、凯泽(Kaiser)窗等。本课程设计采用的是用矩形窗来设计低通滤波器。其具体操作流程为:1、把Hd(je)展成Fs,得Hd(n);2、对Hd(n)自然截短到所需的长度;3、将截短后Hd(n)的右移M个采样间隔,得h(n);4、将h(n)乘以合适的窗口,即得所要滤波器的冲击响应,窗函数以n=M对称。利用所求得的单位抽样响应,即可用硬件构成滤波器的转移函数H(z)。如下公式W(ej)为矩形窗频谱函数,:w()为矩形窗幅度函数存在如下关系;W(ej)=w()ej式中:w()=sin(2/N)/sin(2/)2/1N(3-2)基于FIR的语音信号滤波第6页共22页3.3FIR滤波器的DSP实现方案图3DSP系统构成的滤波器如上图3所示DSP系统构成的滤波器,其中的输入信号可以是麦克风输出的语音信号、电话线的已调数据信号,可以是编码后在数字链路上传输或存储在计算机里的摄像机图像信号等输入号。首先进行带限滤波和抽样,然后进行A/D转换成数字比特流,由耐奎斯特样定理可知为了保证信息完整抽样频率至少是输入带限信号最高频率的2倍。之后输入DSP芯片的是以抽样形式表示的数字信号,DSP芯片对输入信号行处理,如进行一系列的累乘累加操作,最后经过处理后的数字样值经D/A换成为模拟样值再经过内插和平滑滤波就得到了连续的模拟波形。FIR滤波器的DSP软件实现方法有两种,一种是用C语言实现,一种是用汇编语言实现,本次课程设计采用用C语言来实现,其软件流程图如下图4所示图4C语言程序流程图开始滤波结束输入语音信号数据定义滤波器系数为原始信号和数据指定寄存器做滤波算法基于FIR的语音信号滤波第7页共22页3.4TMS320F2812芯片介绍TMS320F2812是TI公司的一款用于控制的高性能、高性价比的32位定点DSP芯片。该芯片兼容TMS320LF2407指令系统最高可在150MHz主频下工作,并带有18K×16位0等待周期片上SRAM和128K×16位片上FLASH。其片上外设主要包括2×8路12位ADC(最快80ns转换时间)、2路SCI、1路SPI、1路McBSP、1路eCAN等,并带有两个事件管理模块(EVA、EVB),分别包括6路PWM/CMP、2路QEP、3路CAP、2路16位定时器(或TxPWM/TxCMP)。另外,该器件还有3个独立的32位CPU定时器,以及多达56个独立编程的GPIO引脚,可外扩大于1M×16位程序和数据存储器。TMS320F2812采用哈佛总线结构,具有密码保护机制,可进行双16×16位乘加和32×32位乘法加操作,因而可兼顾控制和快速运算的双重功能。TMS320F2812芯片具有如下功能;(1)在一个指令周期内可完成一次乘法和一次加法;(2)程序和数据空间分离,可以同时访问指令和数据;(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;(4)具有低开销或大开销循环及跳转的硬件支持;(5)具有在单周期内操作的多个硬件地址产生器可以并行执行多个操作;(6)支持流水线操作,使取值、译码、和执行等操作可重叠执行3.5TLV320AIC23芯片介绍TLV320AIC23是TI公司推出的一款高性能立体声音频编解码器,内置耳机输出放大器,支持mic和linein二选一的输入方式。输入和输出都具有可编程的增益调节功能。TLV320AIC23的模/数转换器(ADC)和数/模转换器(DAC)集成在芯片内部.采用先进的--过采样技术.可以在8kHz至96kHz的采样率下提供16bit、20bit、24bit和32bit的采样数据。ADC和DAC的输出信噪比分别可达90dB和100dB。同时。TLV320AIC23还具有很低的功耗(回放模式为23mW。节电模式为15μw)。上述优点使得TLV320AIC23成为一款非常理想的音频编解码器,与TI的DSP系列相配合更是相得益彰。基于FIR的语音信号滤波第8页共22页4.程序调试结果及结果分析4.1程序调试结果启动CCS,输入实验程序代码,进行编译并加载到DSP中。采用单步运行或执行到光标处,或全速运行,并打开波形观察窗口,跟踪观察其执行过程和滤波效果。先打开项目,然后编译、加载实验程序,然后点击菜单debug—Gomain就进入预先编译的实验程序然后打开波形观察窗
本文标题:基于FIR语音信号的滤波
链接地址:https://www.777doc.com/doc-8570277 .html