1、不参加实验或参加实验不提交报告者,该项实验成绩为0分。2 实验成绩计入课程平时成绩表;3 不参加实验及不提交报告达三分之一者,将被取消该课程考核资格。 目 录实验一 卷积(Convolve)算法实验. 4实验二 FFT分析实验.9实验三 有限冲击响应滤波器(FIR)算法实验.8 实验四 无限冲击响应滤波器(IIR)算法实验.12 预习要求:对指导书中所附程序实验前要先预习、分析,达到基本理解,实验中再进一步认识、全部理解。实验一 卷积(Convolve)算法实验一、实验目的1掌握卷积算法的原理;2掌握在CCS环境下,TMS320程序编写、编译和调试程序的方法。二、实验设备计算机、CCS 2.0
2、版软件、DSP仿真器、实验箱三、实验原理及步骤A实验前准备1) 正确完成计算机、DSP仿真器和实验箱的连接后,系统上电;2) 设置模数转换单元的拨动开关,1、5置“ON”,其它置“OFF”;B实验打开PC机界面下的CCS2.软件,用Project/Open打开C:timypjtsDSP54X-1目录下的“ExpConv.pjt”工程文件;双击“expConv.pjt”及“Source”可查看各源程序;并编译加载;在主程序中的两个K+处,设置断点;单击“Run”运行程序,程序运行到第一个断点处停止。用View/Graph/Time/Frequency打开图形观察窗口;设置观察窗口变量及参数;采用
3、双踪观察两路输入变量Input及Impulse的波形,波形长度为128,数组类型为32位浮点型;再打开一个图形窗口,以观察卷积结果波形;该观察窗口的参数设置为:变量为Output,长度为256,数据类型为32位浮点数;调整观察窗口,观察两路输入波形和卷积结果波形;这两路输入波形是由程序产生,并对两个信号进行卷积;单击“Run”,程序运行至第二个断点处停止,调整图形观察窗口,该部分实验用实验箱的信号源产生的信号作为卷积的两个输入信号,观察卷积结果;单击“Animate”运行程序,或按F10运行程序;调整观察窗口,并观察卷积结果;改变输入信号的波形、频率、幅值,观察卷积卷结果。四、实验报告要求1主
4、要实验步骤。2描绘出输入、输出数组的曲线。3简述卷积理论。五、Convolve子程序时域表达式:程序参数说明:Void Convolveok(Input,Impulse,Output,Length)Extern void READAD7822(void)两序列卷积子程序:Input:原始输入数据序列,浮点型,长度128;Impulse:冲击响应序列,浮点型,长度128;Output:卷积输出结果序列,浮点型,长度256;Length:参与卷积运算的两输入序列长度;子程序流程图:extern void InitC5402(void);extern void READAD7822(void);#i
5、nclude stdlib.hstdio.htypedef.hConvolve.hmath.h#define Length 128#define Length3 2*Lengthvoid main() int i,k=0; double InputLength ; double ImpulseLength ; double OutputLength3 ; int xm; int *px = (int*)0x3000; InitC5402(); / 产生随机输入数据以及冲击响应 Input0 = 200; Impulse0 = 100 ; for( i = 1 ; i Length ; i +
6、) if(i Length/2) Inputi = 200; else Inputi=0; if(iLength/2) Impulsei = 100; Impulsei=0; Convolveok( Input, Impulse, Output, Length); k+; for(;) READAD7822(); px = (int*)0x3000; for (i=0; iLength; i+) xm = *px; Inputi = xm; Impulsei = xm; px+; Convolveok( Input, Impulse, Output, Length); k+;/* End of
7、 File ExpConv.c*/void Convolveok( double *Input, / 原始输入数据 double *Impulse, / 冲击响应 double *Output, / 卷积输出结果 Word16 length / 卷积序列长度 int i,k,p; double r; p=0; for (k=0; klength-1) p=length-1; else p=p; p=length-2; for (k=length;=length+length-1; r = Inputlength-1-i*Impulselength-1-p+i; p=p-1; return ;实
8、验二 FFT分析实验1加深对DFT算法原理和基本性质的理解;2熟悉FFT算法原理和FFT子程序的应用;3学习用FFT对连续信号和时域信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。计算机、CCS 2.0版软件、实验箱、DSP仿真器三、基本原理1DFT的定义:将时域的采样变换成频域的周期性离散函数,频域的采样也可以变换成时域的周期性离散函数,这样的变换称为离散傅立叶变换,简称DFT。2FFT是DFT的一种快速算法,将DFT的N2步减少为(N/2)log2N步,极大地提高了运算的速度。四、实验步骤2) 设置模数转换单元的拨动开关,1、5、6置“ON”,其它置“OF
9、F”;打开PC机界面下的CCS2.软件,Project/Open打开C:timypjts DSP54X-2目录下的“ExpFFT.pjt”工程文件;双击“ExpFFT.pjt”及“Source”可查看各源程序;在主程序”k+”处设置断点;单击“Run”运行程序,程序将运行到断点处停止;用View/Graph/Time/Frequency打开一个图形观察窗口;设置该观察图形及参数;采用双踪观察启始地址分别为0x3000H和0x3080h,长度为128单元中数模变化,数值类型为16位有符号整型变量,这两段存储单元中分别存放的是经过AD782转换的混叠信号(信号源单元产生)和对该信号进行FFT变换的
10、结果;单击“Animate”运行程序,或按F10运行;调整观察窗口并观察输入信号波形及其FFT变换结果;调节信号源单元中两路信号的波形选择调节、频率调节、幅值调节,观察混叠信号以及其FFT变换结果如何变化;单击“Halt”暂停程序运行,关闭窗口,本实验结束。五、思考题1对于不同的N,幅频特性会相同吗?为什么?六、实验报告要求1简述FFT理论。2主要实验步骤。3描绘出输入、输出数组的曲线。4回答思考题。程序参数说明Extern void initial(void);Extern void READAD7822(void);Void kfft(pr,pi,n,k,fr,fi,l,il);基2快速傅
11、立叶变换子程序,n为变换点数,应满足2的整数次幂,k为幂次(正整数);数组x:输入信号数组,A/D转换数据存放于地址为3000H307FH存储器中,转为浮点型后,生成x数组,长度128;数组mo:FFT变换数组,长度28,浮点型,整型后,写入3080h30FFH存储器中。实验三 有限冲击响应滤波器(FIR)算法实验1掌握用窗函数法设计FIR数字滤波器的原理和方法;2熟悉线性相位FIR数字滤波器特性;3了解各种窗函数对滤波特性的影响。三、实验原理1有限冲击响应数字滤波器的基础理论;2模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、贝塞尔滤波器);3数字滤波器系数的确定方法。1) 正确完成计算机、DSP仿真器和实验箱的连接后,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1