ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:53.28KB ,
资源ID:17581357      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17581357.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于DSP的语音信号FIR低通滤波器设计Word文档下载推荐.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于DSP的语音信号FIR低通滤波器设计Word文档下载推荐.docx

1、可以调试、运行程序。但一般软件无法构造DSP中的外设,所以软件仿真通常用于调试纯软件的算法和进行效率分析等,本次设计将使用硬件仿真(Emulator)。在使用软件仿真方式工作时,无需连接板卡和仿真器等硬件。双击桌面上图标:进入CCS设置窗口。在出现的窗口中按标号顺序进行如下设置:图 2-1 Emulator选项图接着在下面的窗口中按标号顺序进行如下选择:图 2-2 Emulator配置图在出现的窗口中按标号顺序进行如下设置:图 2-3 Emulator配置完成图在出现的窗口中按标号顺序进行如下设置:图 2-4 配置完成图以上设置完成后,CCS已经被设置成Emulator的方式(用仿真器连接硬件

2、板卡的方式),并且指定通过ICETEK-5100USB 仿真器连接ICETEK-VC5509-A 2.1.3 语音编解码芯片TLV320AIC23原理ICETEK-VC5509-A 评估板上有一个语音编解码芯片 TLV320AIC23。TLV320AIC23内置耳机输出放大器,支持MIC和LINE IN两种输入方式(二选一),且对输入和输出都具有可编程增益调节。AIC23的模数转换(ADCs)和数模转换(DACs)部件高度集成在芯片内部,采用了先进的Sigmadelta过采样技术,可以在8K到96K的频率范围内提供16bit、20bit、24bit和32bit的采样,ADC和DAC的输出信噪比

3、分别可以达到90dB和100dB。图 2-5 TMS320VC5509与TLV320AIC23的连接示意图 系统中AIC23的主时钟12MHz直接由外部的晶振提供。MODE接数字地,表示利用I2C控制接口对AIC23传输控制数据。CS接数字地,定义了I2C总线上AIC23的外设地址,通过将CS接到高电平或低电平,可以选择AIC23作为从设备在I2C总线上的地址。SCLK和SDIN是AIC23控制端口的移位时钟和配置数据输入端,分别与VC5509的I2C模块端口SCL和SDA相连。收发时钟信号CLKX1和CLKR1由AIC23的串行数据输入时钟BCLK提供,并由AIC23的帧同步信号LRCIN、

4、LRCOUT启动串口数据传输。DX0和DR0分别与AIC23的DIN和DOUT相连,从而完成VC5509与AIC23间的数字信号通信。2.1.4 FIR滤波器原理 对于一个FIR滤波器系统,它的冲击响应总是又限长的,其系统函数可记为: (2-a)其中N-1是FIR的滤波器的阶数,为延时结,h(n)为端口信号函数。最基本的FIR滤波器可用下式表示: (2-b)其中x(n-k)输入采样序列,h(k)是滤波器系数,N是滤波器的阶数Y(N)表示滤波器的输出序列,也可以用卷积来表示输出序列y(n)与x(n)、h(n)的关系,如下: (2-c)2.1.5 滤波器系数的生成在Matlab的Start菜单中选

5、择Toolboxes - Filter Design - Filter Design &Analysis Tools(fdatool),或者在命令行中输入fdatool来启动滤波器设计分析器。启动成功后界面如图所示。图 2-6 fdatool界面图 在选项中选择或输入滤波器参数,然后点击“Design Filter”按钮,完成滤波器的设计。具体参数及设计成功后的结果如图图 2-7 滤波器图图 2-8 系数生成图2.1.5 FIR滤波器的DSP实现 FIR滤波器的输出表达式为 (2-d)式中为滤波器系数 x(n)表示滤波器在n时刻的输入 y(n)为n时刻的输出。它的基本算法是一种乘法-累加运算

6、即不断地输入样本x(n) 经过延时后,再进行乘法-累加,最后输出滤波结果y(n)。 该次设计中采用的是循环缓冲法设计FIR低通滤波器,循环缓冲区法的特点如下: (1)对于N级FIR滤波器在数据存储器中开辟一个N单元的缓冲区滑窗用来存放最新的N个输入样本。(2)从最新样本开始取数(3)读完最后一个样本最老样本后,输入最新样本来代替最老样本而其他数据位置不变。图 2-9 FIR滤波器循环缓冲示意图2.2软件设计2.2.1系统分析通过麦克风利用芯片AIC23进行带噪声的语音信号采集,由于AIC本身自带A/D转化,采集得到的数据传输保存于MCBSP数据接收寄存器DDR。DSP对MCBSP中的数据进行F

7、IR滤波,并送给MCBSP中的数据发送寄存器DXR。DXR中数据回传给AIC23,并利用它带的D/A转换进行输出,从而能听到滤波后的信号。2.2.2系统流程图主程序流程图:2.2.2 实现代码主程序:/ 测试时音频插孔J5接音源,J7接扬声器。#include 5509.hutil.hvoid wait( unsigned int cycles );void EnableAPLL( );extern int fir(int *,int *,unsigned int,int );void main() SDRAM_init(); EnableAPLL(); PLL_Init(40); AIC23

8、_Init(); PLL_Init(120); for(;) AIC23_Mixer(); AIC2323_Mixer(); void wait( unsigned int cycles ) int i; for ( i = 0 ; i cycles ; i+ ) void EnableAPLL( ) /* Enusre DPLL is running */ *( ioport volatile unsigned short* )0x1f00 = 4; wait( 25 ); *( ioport volatile unsigned short* )0x1f00 = 0; / MULITPLY

9、*( ioport volatile unsigned short* )0x1f00 = 0x3000; / COUNT *( ioport volatile unsigned short* )0x1f00 |= 0x4F8; /*( ioport volatile unsigned short* )0x1f00 |= 0x800 / MODE *( ioport volatile unsigned short* )0x1f00 |= 2; wait( 30000 ); / APLL Select *( ioport volatile unsigned short* )0x1e80 = 1;

10、/ DELAY wait( 60000 );子程序1:#define AUTIODATALEFT 0x0d000#define AUTIODATARIGHT 0x17000int *pAudioLeft,*pAudioRight;int www=0;int left, right;int *pLeft,*pRight;int lft, rgt;void AIC23_Mixer() PC55XX_MCSP pMCBSP0 = (PC55XX_MCSP)C55XX_MSP0_ADDR; int *pl,*pr,nAudioCount; pAudioLeft=pl=(int *)AUTIODATAL

11、EFT; pAudioRight=pr=(int *)AUTIODATARIGHT; nAudioCount=0; for ( i=0;i spcr2, SPCR2_XRDY);/等待数据传输完成 left=(*pl)= Read(pMCBSP0 - ddr1); / 读入左声道数据 right = Read(pMCBSP0 - ddr2); / 读入右声道数据 xNX-1=left/16;/ 防止滤波时数据溢出 rNX-1=lowpassfir(); (*pr)=rNX-1; / 数组r的最后一个单元为当前输出 Write(pMCBSP0 - dxr1, left); / 将原始数据送左声道

12、输出 dxr2, rNX-1); / 将经过滤波后的数据送右声道输出 nAudioCount+; pl+; pr+; / 循环使用缓冲区 if ( nAudioCount=1024 ) nAudioCount=0; / break point pl=pAudioLeft; pr=pAudioRight;NX-1;i+ ) / 重新调整输入序列(供fir2使用) xi=xi+1;int lowpassfir() int i,y_out=0; for(i=0;i+) y_out+=(xNX-i+hi); return (y_out);子程序2:void AIC2323_Mixer() int *p

13、ll,*prr,nCount,i; pLeft=pll=(int *)AUTIODATALEFT; pRight=prr=(int *)AUTIODATARIGHT; nCount=0;i+) ini=0;/等待数据传输完成 lft=(*pll)= Read(pMCBSP0 - rgt = Read(pMCBSP0 - / 读入右声道数据 inNX-1=lft/16; fir2(in, h, out, db, NX, NH); / 调用滤波程序计算当前输出 (*prr)=outNX-1; dxr1, lft); dxr2, outNX-1);/将经过滤波后的数据送右声道输出 nCount+;

14、pll+; prr+; if ( nCount nCount=0; pll=pLeft; prr=pRight; ini=ini+1;2.2.3 仿真结果在View的Graph中单击Time/frequency出现graph property dialog框。将显示类型,图形名称,起始地址,抽样点数,数据类型等分别进行设置,输出各种波形。输出滤波前的信号时域波形语音输入波形图: 图 2-10 语音输入(时域) 图 2-11 语音输入(频域) 图 2-12 滤波语音输出(时域) 图 2-13 滤波语音输出(频域) 图 2-14 滤波器(时域) 图 2-15 滤波器(频域) 图 2-16 库函数滤

15、波语音输出(时域) 图 2-17 库函数滤波语音输出(时域) 图 2-18 库函数与自编函数滤波对比图通过分析仿真图可知,自己编写的函数基本与库函数中FIR算法没有差异,该滤波器性能较好。3、项目设计总结在这次课程设计中,我了解到了数字滤波是信号处理技术中的重要部分,研究了数字滤波器的基本理论知识以及它实现方法。学习了数字滤波器的结构、设计理论,掌握了各种数字滤波器的原理和特性。并且复习了MATLAB的相关知识,并且利用MATLAB与CCS设计了低通滤波器以及高通滤波器,还研究了如何在定点DSP中实现数字滤波器的算法,掌握了CCS环境下的程序开发方法、调试工具的使用及优化级别的选择等。学会利用

16、MATLAB软件编程实现FIR滤波器设计。利用DSP来快速设计FIR数字滤波器的方法。在今后的工作和学习生活中,综合运用模拟电子、数字电子和DSP基本原理等课程中所学的理论知识去独立完成一个项目的设计。不仅要完善以上的MATLAB设计方法,更要学会利用多种途径设计各种DSP最小系统,熟练C语言编程。4、参考文献1戴明桢等编着.TMS320C54X DSP 结构原理及应用. 北京:航空航天大学出版社,第2版,2007;2彭启琮编着.DSP技术的发展与应用.北京:高等教育出版社,2002;3胡广书编着.数字信号处理理论、算法与实现.北京:清华大学出版社,2005;4王秀芳,关凌涛.基于MatLab与DSP的滤波器的快速设计方法期刊文章.现代计算机,2008,总第二七七期:97-995赵秀玲.基于定点DSP的FIR数字滤波器的研究与设计硕士论文.曲阜师范大学,2007.15-32课程设计评 语成 绩指导教师(签字) 年 月 日注:此表必须在同一页面。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1