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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

DSP课程设计报告11.docx

1、DSP课程设计报告11课 程 设 计 报 告课程设计名称: DSP原理与应用 系 部: 三 系 学生姓名: 班 级: 学 号: 成 绩: 指导教师: 开课时间: 2010-2011 学年 2 学期目录一、设计的要求 1二、设计原理 12.1、FIR滤波器的特点 12.2、FIR滤波器的基本结构 12.3、FIR滤波器的窗函数设计法 2三、设计步骤 33.1语音采集的采集与分析 33.2 用MATLAB给原始信号加噪声 5四、设计一定参数的滤波器 74.1 用MATLAB设计滤波器 74.2、用FIR滤波器滤除高频 11五、设计体会 17六、参考文献 17基于TMS320VC5509 DSP的F

2、IR滤波器设计一、设计的要求1、 系统地理解和掌握高速数字信号处理器的特点和基本概念。2、 了解TMS320054x DSP汇编语言的特点,掌握TMS320C54x DSP常用的开发工具,掌握集成开发环境CCS的使用,熟练掌握利用CCS进行程序开发的一般过程。3、 掌握汇编语言程序的编写方法,汇编器和链接器的用法,能利用汇编指令实现高速数字信号处理器的一些典型用法。4、 在DSP应用方面得到系统锻炼,通过该课程的学习为今后从事使用DSP技术在通讯、控制等相关领域的应用、研究和开发打下良好的基础,为进入社会增加一种工作技能。5、 要求认真查阅所需资料,按照选题编制程序框图,编写源代码程序,并在D

3、SP开发环境中进行调试,最终实现课题所要求的功能。二、设计原理在数字信号处理中,滤波占有极其重要的地位。数字滤波是语音处理、图像处理、模式识别、频谱分析等应用中的基本处理算法。用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响等优点外,还具有灵活性好等特点。2.1、FIR滤波器的特点(1)系统的单位冲激响应h(n)在有限个n值处不为零;(2)系统函数H(z)在|z|0处收敛,在|z|0处只有零点,有限z平面只有零点,而全部极点都在z=0处(因果系统);(3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构(例如频率抽样结构)中也包含有反馈的递归结构。2.2、FIR滤波器的

4、基本结构数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列。一个线性位移不变系统的输出序列y(n)和输入序列x(n)之间的关系,应满足常系数线性差分方程: (1)x(n): 输入序列,y(n): 输出序列,ai、bi : 滤波器系数, N: 滤波器的阶数。在式(1)中,若所有的ai均为0,则得FIR滤波器的差分方程: (2) 对式(2)进行z变换,可得FIR滤波器的传递函数: FIR滤波器的基本结构是一个分节的延时线,把每一节的输出加权累加,得到滤波器的输出。FIR滤波器的结构图如图2.1所示 : 图2.1 FIR滤波器的结构图FIR滤波器的单位冲激响应h(n)为有限长

5、序列。 若h(n)为实数,且满足偶对称或奇对称的条件,则FIR滤波器具有线性相位特性。 偶对称:h(n)= h(N-1-n); 奇对称:h(n)= -h(N-1-n)。在数字滤波器中,FIR滤波器具有如下几个主要特点: FIR滤波器无反馈回路,是一种无条件稳定系统; FIR滤波器可以设计成具有线性相位特性。 2.3、FIR滤波器的窗函数设计法常用的FIR滤波器的设计方法有窗函数设计法和频率抽样设计法。窗函数法设计的基本思想是设计一个有限长滤波器频率响应来逼近理想滤波器的频率响应。设理想滤波器的频率响应为Hd(ejw),其单位抽样响应用hd(n)表示。通常选择Hd(ejw)为具有分段常数特性的理

6、想滤波器,因此hd(n)是无限长非因果的,不能直接作为FIR数字滤波器的单位抽样响应。窗函数设计法就是截取hd(n)的一段为有限长因果序列,并选择合适的窗函数进行加权作为FIR数字滤波器的单位抽样响应。窗函数法设计线性相位FIR滤波器的一般步骤为:(1)首先是给定所要求的频率响应函数Hd(ejw);(2)求理想滤波器的单位抽样响应(3)由过渡带带宽及阻带最小衰减的要求,选定窗函数w(n),并估计窗口长度N;(4)求得所设计的FIR滤波器的单位抽样响应 (5)求FIR滤波器的系统函数三、设计步骤3.1语音信号的采集与分析 (1)录制语音,并命名为“wjj”,保存在相应的位置(C盘)。 单击开始菜

7、单程序附件娱乐录音机,然后设计属性:单击文件属性,在弹出的文本框中单击立即转换设计格式(PCM)属性(8000KHz 16位 单声道 16KB/秒,然后点击确定。开始录音。(2)用MATLAB对原始语音信号进行分析,画出它的时域波形和频谱。程序如下:fs=22050;x1 =wavread(C:wjj.wav ) ;sound(x1,22050); %播放语音信号y1=fft(x1,1024); %对信号做1024点FFT变换f=fs*(0:511)/1024;figure(1)plot(x1) %做原始语音信号的时域图形title(原始语音信号);xlabel(time n);ylabel(

8、fuzhi n);figure(2)freqz(x1) %绘制原始语音信号的频率响应图title(频率响应图)figure(3)subplot(2,1,1);plot(abs(y1(1:512) %做原始语音信号的FFT频谱图title(原始语音信号FFT频谱)subplot(2,1,2);plot(f,abs(y1(1:512);title(原始语音信号频谱)xlabel(Hz);ylabel(幅值);图3.1 原始语音信号图图3.2 频率响应图图3.3 原始语音信号FFT频谱和信号频谱图3.2 用MATLAB给原始信号加噪声给原始的语音信号加上一个高频余弦噪声,频率为(56Khz任选),形

9、成噪声文件。再对加噪后的语音进行分析,并画出其信号时域和频谱图。程序如下:fs=22050;x1=wavread(C:wjj.wav );f=fs*(0:511)/1024;t=0:1/fs:(length(x1)-1)/fs;Au=0.03;d=Au*cos(2*pi*5500*t);x2=x1+d;sound(x2,22050);y2=fft(x2,1024);figure(4);plot(t,x2)title(加噪后的信号);xlabel(time n);ylabel(fuzhi n);figure(5)subplot(2,1,1);plot(f,abs(y1(1:512);title(

10、原始语音信号频谱);xlabel(Hz);ylabel(fuzhi);subplot(2,1,2);plot(f,abs(y2(1:512);title(加噪后的信号频谱);xlabel(Hz);ylabel(fuzhi);wavwrite(x2,8000,16,C:wjj1.wav ) ; %用于生成噪声语音图3.4 加噪后的信号通过比较图1和图4,可以看出,加噪声后的信号的幅值明显比原始信号的幅值高。图3.5 原始语音和加噪后的信号频谱对比图四、设计一定参数的滤波器4.1 用MATLAB设计滤波器使用fir2函数设计一个35阶低通滤波器,信号的采样频率为8000Hz,滤波器的通带截止频率为

11、3100Hz,阻带截止频率为3500Hz。在函数中,其截止频率均用归一化频率表示。归一化频率的计算方法:f=实际频率/(采样频率/2),则将截止频率归一化后的截止频率值为0.775、0.875。4.1.1用matlab求fir2的参数:运行下列程序:f=0 0.775 0.875 1m=1 1 0 0b=fir2(34,f,m)得到的数据f = 0 0.7750 0.8750 1.0000m = 1 1 0 0b = Columns 1 through 7 0.0000 -0.0003 0.0007 -0.0013 0.0017 -0.0012 -0.0012 Columns 8 throug

12、h 14 0.0059 -0.0121 0.0170 -0.0164 0.0058 0.0175 -0.0528 Columns 15 through 21 0.0950 -0.1356 0.1650 0.8242 0.1650 -0.1356 0.0950 Columns 22 through 28 -0.0528 0.0175 0.0058 -0.0164 0.0170 -0.0121 0.0059 Columns 29 through 35 -0.0012 -0.0012 0.0017 -0.0013 0.0007 -0.0003 0.00004.1.2、FIR滤波器的程序流程图4.1.

13、3、滤波程序:#include myapp.h#include ICETEK-VC5509-EDU.h#include scancode.h#include #define FIRNUMBER 35#define SIGNAL1F 3100#define SIGNAL2F 3500#define SAMPLEF 8000#define PI 3.1415926float InputWave();float FIR();float fHnFIRNUMBER=0.0000,-0.0003,0.0007,-0.0013,0.0017,-0.0012,-0.0012,0.0059,-0.0121,0.

14、0170,-0.0164,0.0058,0.0175,-0.0528,0.0950,-0.1356,0.1650,0.8242,0.1650,-0.1356,0.0950,-0.0528,0.0175,0.0058,-0.0164,0.0170,-0.0121,0.0059,-0.0012,-0.0012,0.0017,-0.0013,0.0007,-0.0003,0.0000;float fXnFIRNUMBER= 0.0 ;float fInput,fOutput;float fSignal1,fSignal2;float fStepSignal1,fStepSignal2;float f

15、2PI;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; fl

16、oat 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); W

17、rite(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 sla

18、ve 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 an

19、d 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_

20、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 di

21、gital 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 -

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

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