




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计 报 告课程设计名称: DSP原理与应用 系 : 学生姓名: 班 级: 通信 学 号: 成 绩: 指导教师: 开课时间: 学年 学期基于TMS320VC5509 DSP的FIR滤波器设计一、实践的目的和要求 1、实践的目的 (1)了解TMS320055x DSP汇编语言的特点,掌握TMS320C55x DSP常用的开发工具,掌握集成开发环境CCS的使用及利用CCS进行程序开发的一般过程。(2)熟悉FIR滤波器工作原理及编程。 (3)掌握汇编语言程序的编写方法,汇编器和链接器的用法,利用汇编指令实现高速数字信号处理器。(4)学习使用CCS图形观察窗口观察和分析语音波形及其频谱。通过该课程的学习为今后从事使用DSP技术在通讯、控制等相关领域的应用、研究和开发打下良好的基础,为进入社会增加一种工作技能。 2、实践的要求设计要求:已知信号的采样频率为8000hz,设计一个29阶的低通滤波器,滤波器的通带截止频率为2800hz,阻带截止频率为3100hz。(1)学生首先自己参照指导书完FIR算法实验,认真阅读实验中的源程序,深刻理解FIR滤波的原理及具体实现方法,包括含噪信号的生成,滤波后信号的输出重点理解FIR滤波器的实现(循环寻址的实现)。(2)在理解原理的基础上,设计自己的滤波器。设计一定参数的滤波器用MATLAB设计滤波器,使用fir2函数设计滤波器,注意,在函数中,其截止频率均用归一化频率表示。得到滤波器的系数后,按照循环寻址的原理,参照给出的实验程序,编写具体的滤波器实现程序。调试程序,测试平台的性能。观察相应得含噪信号波形及去噪后的信号波形,滤波器的波形。经反复调试,使滤波器达到预计的结果。二、实践原理:1、DSP芯片 数字滤波是语音处理、图像处理、模式识别、频谱分析等应用中的基本处理算法。用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响等优点外,还具有灵活性好等特点。如图2-1为c5509引脚图。 2-1 VC5509引脚图2、设计:过渡带宽度=阻带边缘频宽-通带边缘频率采样频率:f1=通带边缘频率+(过渡带宽度)/2理想低通滤波器脉冲响应:h1n=sin(n1)/n/根据要求,选择布莱克曼窗,窗函数长度为:N=5.98fs/过渡带宽度选择N=30wn=0.42+0.5cos(2n/30)+0.8cos(4n/24)滤波器脉冲响应为:hn=h1nwn|n|12根据上面计算,各式算出hn,然后将脉冲响应值移位为因果序列。完成的滤波器的差分方程为:yn=-0.001xn-2-0.002xn-3-0.002xn-4+0.01xn-5-0.009xn-6-0.018xn-7-0.049xn-8-0.02xn-9+0.11xn-10+0.28xn-11+0.64xn-12+0.28xn-13-0.11xn-14-0.02xn-15+0.049xn-16-0.018xn-17-0.009xn-18+0.01n-19-0.002xn-20-0.002xn-21+0.001xn-223、 程序流程图初始化工作变量调用波形发生子程序产生混叠的波形(高频+低频)调用FIR滤波子程序计算当前输出开始结束波形发生FIR滤波返回波形值返回计算结果计算步长用标准C的sin函数和cos函数计算当前波形值用滤波器系数乘以保存的N-1个输入值和当前输入值并求和开始初始化语音缓冲区和工总变量读取语音数据等待McBSP通道0传送结束保存于左声道缓冲区调用fir2计算FIR滤波输出滤波结果保存于右声道缓冲区原声音送左声道,滤波结束结果送右声道,输出到McBSP0三、实践步骤1、设计一定参数的滤波器 编写滤波器程序,首先要算出各个所需要的系数,然后编译程序,完成滤波的功能。用MATLAB设计滤波器,使用fir2函数设计滤波器,注意,在函数中,其截止频率均用归一化频率表示。已知信号的采样频率为8000hz,设计一个29阶的低通滤波器,滤波器的通带截止频率为2800hz,阻带截止频率为3100hz。在函数中,其截止频率均用归一化频率表示。归一化频率的计算方法:f=实际频率/(采样频率/2),则将截止频率归一化后的截止频率值为0.7、0.775。 程序代码: f=0 0.7 0.775 1;m=1 1 0 0;b=fir2(28,f,m)结果: b= 0.0010 -0.0015 0.0011 0.0013 -0.0059 0.0092 -0.0047 -0.01070.0306 -0.0372 0.0101 0.0578 -0.1501 0.2307 0.7373 0.2307-0.1501 0.0578 0.0101 -0.0372 0.0306 -0.0107 -0.0047 0.0092-0.0059 0.0013 0.0011 -0.0015 0.00102滤波器的设计程序include myapp.h#include ICETEK-VC5509-EDU.h#include scancode.h#include #define FIRNUMBER 29#define SIGNAL1F 2800#define SIGNAL2F 3100#define SAMPLEF 8000#define PI 3.1415926float InputWave();float FIR();float fHnFIRNUMBER= b= 0.0010 -0.0015 0.0011 0.0013 -0.0059 0.0092 -0.0047 -0.01070.0306 -0.0372 0.0101 0.0578 -0.1501 0.2307 0.7373 0.2307-0.1501 0.0578 0.0101 -0.0372 0.0306 -0.0107 -0.0047 0.0092-0.0059 0.0013 0.0011 -0.0015 0.0010 ;float fXnFIRNUMBER= 0.0 ;float fInput,fOutput;float fSignal1,fSignal2;float fStepSignal1,fStepSignal2;float f2PI;int i;float fIn256,fOut256;int nIn,nOut;main()nIn=0; nOut=0;f2PI=2*PI;fSignal1=0.0;fSignal2=PI*0.1;fStepSignal1=2*PI/30;fStepSignal2=2*PI*1.4;while ( 1 )fInput=InputWave();fInnIn=fInput;nIn+; nIn%=256;fOutput=FIR();fOutnOut=fOutput;nOut+;/* break point */if ( nOut=256 )nOut=0;float InputWave()for ( i=FIRNUMBER-1;i0;i- )fXni=fXni-1;fXn0=sin(double)fSignal1)+cos(double)fSignal2)/6.0;fSignal1+=fStepSignal1; if ( fSignal1=f2PI )fSignal1-=f2PI;fSignal2+=fStepSignal2;if ( fSignal2=f2PI )fSignal2-=f2PI;return(fXn0);float FIR()float fSum;fSum=0;for ( i=0;i spcr1, 0); Write(pMCBSP0 - spcr2, 0); / Config frame parameters (32 bit, single phase, no delay) Write(pMCBSP0 - xcr1, XWDLEN1_32); Write(pMCBSP0 - xcr2, XPHASE_SINGLE | XDATDLY_0); Write(pMCBSP0 - rcr1, RWDLEN1_32); Write(pMCBSP0 - rcr2, RPHASE_SINGLE | RDATDLY_0); / Disable int frame generation and enable slave w/ext frame signals on FSX / Frame sync is active high, data clocked on rising edge of clkx Write(pMCBSP0 - pcr, PCR_CLKXP); / Bring transmitter and receiver out of reset SetMask(pMCBSP0 - spcr2, SPCR2_XRST); SetMask(pMCBSP0 - spcr1, SPCR1_RRST); void AIC23_Init() I2C_Init(); / Reset the AIC23 and turn on all power AIC23_Write(AIC23_RESET_REG, 0); AIC23_Write(AIC23_POWER_DOWN_CTL, 0); AIC23_Write(AIC23_ANALOG_AUDIO_CTL, ANAPCTL_DAC | ANAPCTL_INSEL);/ 使用麦克风音源 AIC23_Write(AIC23_DIGITAL_AUDIO_CTL, 0); / Turn on volume for line inputs AIC23_Write(AIC23_LT_LINE_CTL,0x000); AIC23_Write(AIC23_RT_LINE_CTL,0x000); / Configure the AIC23 for master mode, 44.1KHz stereo, 16 bit samples / Use 12MHz USB clock AIC23_Write(AIC23_DIGITAL_IF_FORMAT, DIGIF_FMT_MS | DIGIF_FMT_IWL_16 | DIGIF_FMT_FOR_DSP); AIC23_Write(AIC23_SAMPLE_RATE_CTL, SRC_SR_44 | SRC_BOSR | SRC_MO); / Turn on headphone volume and digital interface AIC23_Write(AIC23_LT_HP_CTL, 0x07f); / 0x79 for speakers AIC23_Write(AIC23_RT_HP_CTL, 0x07f); AIC23_Write(AIC23_DIG_IF_ACTIVATE, DIGIFACT_ACT); / Set McBSP0 to be transmit slave McBSP0_InitSlave();void AIC23_Disable() PC55XX_MCSP pMCBSP0 = (PC55XX_MCSP)C55XX_MSP0_ADDR; I2C_Disable(); / Put the MCBSP in reset Write(pMCBSP0 - spcr1, 0); Write(pMCBSP0 - spcr2, 0);#define AUTIODATALEFT 0x0d000#define AUTIODATARIGHT 0x17000int *pAudioLeft,*pAudioRight;int www=0; void AIC23_Mixer() PC55XX_MCSP pMCBSP0 = (PC55XX_MCSP)C55XX_MSP0_ADDR; int left, right; int *pl,*pr,nAudioCount; int i; pAudioLeft=pl=(int *)AUTIODATALEFT;pAudioRight=pr=(int *)AUTIODATARIGHT;nAudioCount=0; for ( i=0;iNX;i+) xi=0; for ( i=0;i spcr2, SPCR2_XRDY);/ 等待数据传输完成 (*pl)=left = Read(pMCBSP0 - ddr1);/ 读入左声道数据 right = Read(pMCBSP0 - ddr2);/ 读入右声道数据 xNX-1=left/16;/ 防止滤波时数据溢出 fir2(x, h, r, db, NX, NH);/ 调用滤波程序计算当前输出(*pr)=rNX-1;/ 数组r的最后一个单元为当前输出 Write(pMCBSP0 - dxr1, left);/ 将原始数据送左声道输出 /Write(pMCBSP0 - dxr1, rNX-1);/ 将原始数据送左声道输出 Write(pMCBSP0 - dxr2, rNX-1);/ 将经过滤波后的数据送右声道输出 nAudioCount+; pl+; pr+;/ 循环使用缓冲区 if ( nAudioCount=1024 ) nAudioCount=0;/ break point pl=pAudioLeft; pr=pAudioRight; for ( i=0;iNX-1;i+ )/ 重新调整输入序列(供fir2使用) xi=xi+1; 实验结果四、心得体会这次课程设计实现了一个简单的FIR滤波器的设计。通过这一个星期的课程设计,我学到了很多的东西,不仅巩固了我以前所学过的知识, 还让我学到很多在书本上所没有学到过的知识。 同时通过这次课程设计,我了解了FIR滤波器的原理,熟练掌握了MATLAB的操作,不仅是我学到了知识,更锻炼了我的动手能力。也进一步认识了CCStudio软件的使用,了解了各种
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甲状腺肿瘤课件及讲义
- 甲状腺癌CT课件
- 田径裁判基础知识培训
- 人生与哲学教学课件
- 8减几课件教学
- 河南省南阳市九师联盟2024-2025学年高二下学期6月期末考试化学试题(含答案)
- 新解读《GB-T 35019-2018全断面隧道掘进机 泥水平衡盾构机》
- 用气安全知识培训课件记录
- 用心陪伴-静待花开课件
- 生物安全知识培训目的课件
- MRI练习题库及参考答案
- 酒店员工接待礼仪培训
- 2024-2025学年高三上学期《为什么要上一个好大学?》主题班会课件
- 管道cctv检测方案
- 职业技术学校物联网应用技术专业调研报告
- GB/T 43934-2024煤矿土地复垦与生态修复技术规范
- 2023年某技术有限公司技术规范
- 秋季传染病预防课件幼儿园
- 江苏农牧科技职业学院单招《英语》考试参考题库(含答案)
- 心得报告模板
- 义务教育数学新课程标准2022年版变化与解读解读课件
评论
0/150
提交评论