第二章C语言算法实验_第1页
第二章C语言算法实验_第2页
第二章C语言算法实验_第3页
第二章C语言算法实验_第4页
第二章C语言算法实验_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DSP实验第二章、C语言算法实验语言算法实验实验一实验一 卷积(卷积(Convolve)算法实验)算法实验一、实验目的一、实验目的1、 了解卷积算法的原理。2、 学会编写卷积算法。二、实验原理二、实验原理 若LTI 系统对(n) 的响应为h(n),h(n)称为系统的单位脉冲响应,则由时不变特性可得出系统对 (n-k)的响应为h(n-k);离散时间LTI 系统对输入x(n)的响应为, 此式称为卷积和,通常记为: y(n) = x(n) h(n)( )( ) ()ky nx k h nk开始K=Length1-1i=pOutputk=Outputk+xk-1*yi,i+P+,PLength1-1k

2、= Length1-1I=pOutputk=Outputk+xLength1-1-i*yi Length1-1-p+i,i+p-1END三、实验步骤三、实验步骤1、熟悉卷积的基本原理;2、阅读所提供的样例实验程序;3、运行CCS软件,对样例程序进行跟踪,分析结果;4、填写实验报告;5、本实验所提供的样例子程序操作如下;1)源代码查看:用下拉菜单中Project/Open,打开”convolve.pjt”,双击”Source”可查看源程序,并加载”convolve.out”。2)在程序最后“i=0”处,设置断点;3)单击”Run”运行程序,程序运行到断点处停止。4)用下拉菜单中的View/Gra

3、ph/Time/Frequency打开一个图形观察窗口;(设置该图形观察窗口的变量及参数,采用双踪观察两路输入变量Input及Impulse的波形,波形长度为80,数值类型为32位浮点型;Display Type:Dual TimeStart Address-upper display:Input Start Address-lower display:ImpulseAcquisition Buffer Size:80Display Data Size:80DSP Data Type:32-bit floating point5)再用下拉菜单中的View/Graph/Time/Frequenc

4、y打开一个图形观察窗口,以观察卷积结果波形,该观察窗口的参数设置为:变量为Output,长度为159,数据类型为32位浮点数;Display Type:Single TimeStart Address:Output Acquisition Buffer Size:159Display Data Size:159DSP Data Type:32-bit floating point6)调整观察窗口,观察两路输入波形和卷积结果波形;7)关闭“convolve.pjt”工程文件,关闭各窗口,实验结束;实验二 相关(Correlation)算法实验一、实验目的一、实验目的1、 了解相关算法。2、 学习

5、相关算法的实现方法。二、实验设备三、实验原理三、实验原理 广义平稳随机信号x(n)和y(n)的相关函数的定义为:如果x(n),y(n)是各态遍历的,则上式的集合平均可以由单一样本序列的时间平均来实现,即:如果观察的点数N 为有限值,则求r(m)估计值的一种方法是*( )( ) ()xyrmE x n y nm*1( )lim( ) ()21NxyNnNrmx n y nmN101( )( )()NNNnr mxn xnmN实际计算中,有偏估计为:1 | |01( )( ) ()Nmnr mx n x nmN 无偏估计为:1 | |01( )( ) ()|Nmnr mx n x nmNm 开始k

6、=0Klength?Llength?rlength-1+k=rk+xj*yj+kj+K+K=0Klength?Llength?rlength-1-k=rk+xj+k*yjK+END四、实验步骤四、实验步骤1、熟悉基本原理,阅读实验提供的程序;2、运行CCS软件,记录相关系数;3、填写实验报告;4、实验程序操作说明1)启动CCS2.0,用Project/open打开“cor01.pjt” 工程文件:双击“cor01.pjt”及”Source”可查看各源程序:加载“cor01.out”:2)在程序最后“i=0”处,设置断点;3)单击“Run”运行程序,或按F5运行程序;程序将运行至断点处停止;用下

7、拉菜单中的View/Graph的”Time/Frequency”打开一个图形观察窗口;采用双踪观察输入x_real及y_real的波形,长度为128,数值类型为32位浮点型;Display Type:Dual TimeStart Address-upper display:x_realStart Address-lower display:y_realAcquisition Buffer Size:128Display Data Size:128DSP Data Type:32-bit floating point4)再打开一个图形窗口,以观察相关运算的结果,该观察窗口的参数设置为:变量为r_

8、real,长度255,数据类型为32位浮点型;Display Type:Single TimeStart Address:r_realAcquisition Buffer Size:255Display Data Size:255DSP Data Type:32-bit floating point5)调整观察窗口,观察两路输入信号相关运算的结果;程序中,可赋0或1,赋0时,完成相关函数无偏估计的计算,赋1时,完成相关函数有偏估计的计算;x_real和y_real为参与相关运算的两路信号,当x_real=y_real时,完成自相关函数的计算,而当x_real不等于y_real时,完成互相关函数

9、的计算。6)修改以上参数,进行“Rebuild All”,并重新加载程序,运行程序可以看到不同的实验结果。7)关闭“cor01.pjt”工程文件,关闭各窗口,实验结束。相关运算:x_real和y_real波形图nMode=0时,r_real波形图nMode=1时,r_real的波形图实验三 FFT 的DSP 实现方法一、实验目的一、实验目的1、 加深对DFT 算法原理和基本性质的理解。2、 熟悉FFT 算法原理和FFT 子程序的应用。3、 学习用FFT 对连续信号和时域信号进行谱分析,了解可能出现的分析误差及其原因。二、实验设备(略)四、实验内容和步骤四、实验内容和步骤1、复习DFT的定义,性

10、质和用DFT作频谱分析的有关内容;2、复习FFT算法原理与编程思想,并对照DIT-FFT运算流程图和程序框图,了解本实验提供的FFT子程序;3、阅读本实验所提供的样例子程序;4、运行CCS软件,对样例程序进行跟踪,分析结果;记录必要的参数。5、填写实验报告。6、提供样例程序操作说明1)实验前准备 在模拟信号产生单元中,一路信号源产生低频正弦信号(S1置“L”),另一路信号源产生高频正弦波信号(S11置“H”), 检查模拟信号输出端口”A” ”B”应短接; 实验箱上电,用示波器分别观测out1和out 2输出的模拟信号,调节电位器SPR1,SPR2(out1输出信号的频率调节和幅值调节)和电位器

11、SPR1,SPR2(out2输出信号的频率调节和幅值调节),直到满意为止; 本样例实验程序建议:低频正弦波信号为1000Hz/1v; 高频正弦波信号为6KHz /1v;实验箱掉电,做以下连接和检查:短接输出端口“A” “B”;短接JAD1的INM,INMF;短接JAD2的INP,INPF;用导线连接out2(模拟信号输出)和JAD3脚(AD_IN);检查JD是否断开。2)实验a)启动CCS2.0,用Project/open打开“ExpFFT01.pjt” 工程文件:双击“ExpFFT01.pjt”及”Source”可查看各源程序:加载“ExpFFT01.out”;b)在主程序中,K+处设置断点

12、;c)单击“Run”运行程序,或按F5运行程序;程序将运行至断点处停止:d)用View/Graph/Time/Frequency打开一个图形观察窗口;设置该观察图形窗口变量及参数;采用双踪观察在启动地址分别为0X3000h和0 x3080h,长度为128的单元中数值的变化,数值类型为16位有效整型变量,这两段存储单元中分别存放的是经A/D转换后的输入信号和对该信号进行FFT变换后的结果;Display Type:Dual TimeStart Address-upper display:0 x3000Start Address-lower display:0 x3080Acquisition B

13、uffer Size:128Display Data Size:128DSP Data Type:16-bit signed integere)单击“Animate”运行程序,或按F10运行;调节观察窗口并观察变换结果;f)单击”Halt”暂停程序运行,关闭窗口,本实验结束;实验结果:在 CCS2.0环境,同步观察输入信号波形及其FFT变换结果;初始化输入数组排序计算第一层中间值计算层数计算对应曾步长计算计算各层中间结果计算层数=0?计算结果输出实验四 FIR 滤波器的DSP 实现方法 一、实验目的一、实验目的1、 掌握用窗函数法设计FIR 数字滤波器的原理和方法。2、 熟悉线性相位FIR 数

14、字滤波器特性。3、 了解各种窗函数对滤波特性的影响。二、实验设备二、实验设备计算机,CCS2.0版软件,DSP硬件仿真器,实验箱。29 1 1FIRFIR滤波器基本概念滤波器基本概念 1. FIRFIR滤波器没有滤波器没有反馈回路,因此它反馈回路,因此它是无条件稳定系统,是无条件稳定系统,其单位冲激响应其单位冲激响应h h(n n)是一个有限)是一个有限长序列。长序列。2. FIRFIR滤波算法实滤波算法实际上是一种乘法累际上是一种乘法累加运算。加运算。要要点点30 2. FIR 2. FIR滤波器中滤波器中z z-1-1的实现的实现 对于对于N N级的级的FIRFIR滤波器,在数据存储器中滤

15、波器,在数据存储器中开辟一个称之为滑窗的开辟一个称之为滑窗的N N个单元的缓冲个单元的缓冲区,存放最新的区,存放最新的N N个输入样本;从最老个输入样本;从最老的样本开始,每读一个样本后,将此样的样本开始,每读一个样本后,将此样本向下移位,读完最后一个样本后,输本向下移位,读完最后一个样本后,输入最新样本至缓冲区的顶部。入最新样本至缓冲区的顶部。用线性缓冲区实现用线性缓冲区实现z z-1-1的优点是,新老数的优点是,新老数据在存储器中存放的位置直接明了。据在存储器中存放的位置直接明了。特特点点 (1)(1)用线性缓冲区法实现用线性缓冲区法实现z z-1-1 31C54xC54x片内没有片内没有

16、I/OI/O资源,资源,CPUCPU通过外部译码可以通过外部译码可以寻址寻址64K64K的的I/OI/O单元。单元。有两条实现输入和输出的指令:有两条实现输入和输出的指令:PORTR PA,Smem PORTR PA,Smem ;将为;将为PAPA的端口内容送的端口内容送 ;数据存储器;数据存储器SmemSmemPORTW Smem,PA PORTW Smem,PA ;将地址为;将地址为SmemSmem的数据的数据 ;存储器内容送端口;存储器内容送端口PAPA这两条指令至少需要这两条指令至少需要2 2个字和个字和2 2个机器周期。如个机器周期。如果果I/OI/O设备是慢速器件,则需要插入等待状

17、态。设备是慢速器件,则需要插入等待状态。数据的输入数据的输入/ /输出输出 32N=6N=6的线性缓冲区存储器图的线性缓冲区存储器图50ii) in(xa)n(y33在数据存储器中开辟一个称之为滑窗的在数据存储器中开辟一个称之为滑窗的N N个单元个单元的缓冲区,滑窗中存放最新的的缓冲区,滑窗中存放最新的N N个输入样本;每个输入样本;每次输入新样本时,以新样本改写滑窗中的最老的次输入新样本时,以新样本改写滑窗中的最老的数据,而滑窗中的其它数据不作移动;利用片内数据,而滑窗中的其它数据不作移动;利用片内BKBK(循环缓冲区长度)寄存器对滑窗进行间接寻(循环缓冲区长度)寄存器对滑窗进行间接寻址,循

18、环缓冲区地址首尾相邻。址,循环缓冲区地址首尾相邻。利用循环缓冲区实现利用循环缓冲区实现Z Z-1-1的优点是不需要移动数据,的优点是不需要移动数据,不存在一个机器周期中要求能一次读和一次写的不存在一个机器周期中要求能一次读和一次写的数据存储器,因而可以将循环缓冲区定位在数据数据存储器,因而可以将循环缓冲区定位在数据存储器的任何位置(线性缓冲区要求定位在存储器的任何位置(线性缓冲区要求定位在DARAMDARAM,因为需要同时读和同时写)。,因为需要同时读和同时写)。 特特点点 (2 2)用循环缓冲区法实现)用循环缓冲区法实现z z-1-134N=6N=6的循环缓冲区存储器图的循环缓冲区存储器图5

19、0ii) in(xa)n(y初始化输入低通滤波器各频率参数构建滤波器频域特性波形调用FIR滤波器参数计算子程序计算各参数构建FIR滤波器进行滤波END四、实验内容和步骤四、实验内容和步骤1、复习如何设计FIR数字滤波。阅读本实验,掌握设计步骤;2、阅读本实验所提供的样例子程序;3、运行CCS软件,对样例子进行跟踪,分析结果;4、填写实验报告;1)实验前准备在模拟信号产生单元中,一路信号源产生低频正弦信号(S1置“L”),另一路信号源产生高频正弦波信号(S11置“H”), 检查模拟信号输出端口”A” ”B”应断开;实验箱上电,用示波器分别观测out1和out 2输出的模拟信号,调节电位器SPR1

20、,SPR2(out1输出信号的频率调节和幅值调节)和电位器SPR1,SPR2(out2输出信号的频率调节和幅值调节),直到满意为止;本样例实验程序建议:低频正弦波信号为100Hz/1v; 高频正弦波信号为6KHz /1v;实验箱掉电,做以下连接和检查:短接输出端口“A” “B”;短接JAD1的INM,INMF;短接JAD2的INP,INPF;用导线连接out2(模拟信号输出)和JAD3脚(AD_IN);检查JD是否断开。2)实验a)启动CCS2.0,用Project/open打开“FIRtestN01.pjt” 工程文件:双击“FIRtestN01.pjt”及”Source”可查看各源程序:加

21、载“FIRtestN01.out”:b)在主程序中,K+处设置断点:单击“Run”运行程序,或按F5运行程序;程序将运行至断点处停止:c)用View/Graph/Time/Frequency打开一个图形观察窗口;设置该观察图形窗口变量及参数;采用双踪观察在启动地址分别为0X3000h和0 x3100h,长度为256的单元中数值的变化,数值类型为16位有效整型变量,这两段存储单元中分别存放的是经A/D转换后的输入信号和对该信号进行Fir变换后的结果;Display Type:Dual TimeStart Address-upper display:0 x3000Start Address-low

22、er display:0 x3100Acquisition Buffer Size:256Display Data Size:256DSP Data Type:16-bit signed integerd)单击“Animate”运行程序,或按F10运行;调节观察窗口并观察变换结果;e)单击”Halt”暂停程序运行,激活“FIRtestN01.c的编辑窗口;实验程序说明:该程序为51阶FIR低通滤波器算法程序,采用矩形函数实现,数组h和xmid长度均为51,fs为采样频率,fstop为滤波器截止频率,可以修改以上参数来改变滤波器性能。 f)重新“Rebuild All”后,并加载“load”,单

23、击”Animate”.可得到不同的实验结果;实验五 IIR 滤波器的DSP 实现方法 n一、实验目的一、实验目的n1、 熟悉设计IIR 数字滤波器的原理与方法。n2、 掌握数字滤波器的计算机仿真方法。n3、 观察对实际信号的滤波作用,获得对数字滤波器的感性认识。n二、实验设备二、实验设备n计算机,CCS2.0版软件,DSP硬件仿真器,实验箱。n三、实验原理三、实验原理n1、 IIR 滤波器的设计原理,可以参见相关书籍。n2、 使用Matlab 的Filter Deslgn& Anlysis Tool(FDATool)工具设计IIR 滤波器的参数,可以参见相关书籍。n3、 IIR 算法的设计,可

24、以参见相关书籍。n4、IIR 与FIR 数字滤波器的比较n1)在相同技术指标下,IIR 滤波器由于存在着输出对输入的反馈,因而可用比FIR滤波器较少的阶数来满足指标的要求。n2)FIR 滤波器可得到严格的线性相位,而IIR 滤波器选择性愈好,相位的非线性愈严重。n3)FIR 滤波器主要采用非递归结构,因而从理论上以及从实际的有限精度的运算中,都是稳定的。IIR 滤波器必须采用递归结构,极点必须在z 平面单位圆内,才能稳定,这种结构,运算中的四舍五入处理,有时会引起寄生振荡。四、实验内容和步骤四、实验内容和步骤1、复习有关巴特沃斯滤波器设计和用双线性变换法设计FIR数字滤波器的知识;2、阅读本实

25、验所提供的样例子程序;3、运行CCS软件,对样例子程序进行跟踪,分析结果;4、填写实验报告;5、对样例程序实验操作说明1)实验前准备在模拟信号产生单元中,一路信号源产生低频正弦信号(S1置“L”),另一路信号源产生高频正弦波信号(S11置“H”), 检查模拟信号输出端口”A” ”B”应断开;实验箱上电,用示波器分别观测out1和out 2输出的模拟信号,调节电位器SPR1,SPR2(out1输出信号的频率调节和幅值调节)和电位器SPR1,SPR2(out2输出信号的频率调节和幅值调节),直到满意为止;本样例实验程序建议:低频正弦波信号为100Hz/1v;高频正弦波信号为6KHz /1v;实验箱掉电,做以下连接和检查:短接输出端口“A” “B”;短接JAD1的INM,INMF;短接JAD2的INP,INPF;用导线连接out2(模拟信号输出)和JAD3脚(AD_IN);检查JD是否断开。注:有关以上连接的说明,可参见第八章中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论