DSPWord文档下载推荐.docx
《DSPWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《DSPWord文档下载推荐.docx(27页珍藏版)》请在冰豆网上搜索。
6、样例程序实验操作说明
启动CCS2.0,并加载“exp01.out”;
加载完毕,单击“Run”运行程序;
实验结果:
可见XF灯以一定频率闪烁;
单击“Halt”暂停程序运行,则XF灯停止闪烁,如再单击“Run”,则“XF”灯又开始闪烁;
关闭所有窗口,本实验完毕。
源程序查看:
用下拉菜单中Project/Open,打开“Exp01.pjt”,双击“Source”,双击“exp01.asm”可查看源程序。
实验二数字波形产生
1.了解数字波形产生的基本原理;
2.学习用C54xDSP芯片产生正弦信号的基本方法和步骤;
3.加深对DSPMCBSP多通道缓冲串口的理解。
计算机,CCS2.0版软件,DSP仿真器,实验箱,示波器。
三、基础理论
数字波形信号发生器是利用微处理器芯片,通过软件编程和D/A转换,产生所需要信号波形的一种方法。
在通信、仪器和控制等领域的信号处理系统中,经常会用到数字正弦波发生器。
一般情况,产生正弦波的方法有两种:
1.查表法。
此种方法用于对精度要求不是很高的场合。
如果要求精度高,表就很大,相应的存储器容量也要很大。
2.泰勒级数展开法。
这是一种更为有效的方法。
与查表法相比,需要的存储单元很少,而且精度高。
一个角度为θ的正弦和余弦函数,可以展开成泰勒级数,取其前5项进行近似得:
其中,
为
的弧度值。
本实验用泰勒级数展开法产生一正弦波,并通过D/A转换输出。
四、实验步骤和内容
1.连接好DSP开发系统,运行CCS软件;
2.将示波器探头和输出测试点JAD4的AD50_DAout相连;
3.调入样例程序,按下F5全速运行程序,在示波器可观察到产生的正弦波;
4.填写实验报告。
5.样例程序实验操作说明
启动CCS2.0,用Project/Open打开exp10目录下“exp10.pjt”;
双击“exp10.pjt”及“Source”可查看各源程序;
加载“exp10.out”后;
在“exp10.c”程序中,“InitC5402()”处设置断点;
单击“Run”,程序运行到断点处停止;
用View/Graph/Time/Frequency打开一个图形观察窗口,以观察利用泰勒级数产生的波形;
设置观察变量y,长度2000,32位浮点型数值;
调整图形观察窗口,观察产生波形;
单击“Run”继续运行程序,在JAD4的AD50_DAout,用示波器可观测到产生的正弦波波形;
单击“Halt”暂停程序运行,示波器上正弦波消失;
在“exp10.c”程序中,N值为产生正弦信号一个周期的点数,产生的正弦信号的频率与N数值大小及D/A转换频率
有关,产生正弦波信号频率
的计算公式为:
尝试修改“exp10.c”程序中N值,“Rebuild”及“Load”后,单击“Run”运行程序,观察产生信号频率变化;
关闭“exp10.pjt”工程文件;
六、实验说明
本实验样例程序中,采用泰勒级数展开法,计算-~的sin值,来构造正弦波信号,计算点数为2000点;
然后,经过取整处理后,经TLC320AD50D/A变换后输出。
实验三卷积(Convolve)算法实验
一实验目的
1.了解卷积算法的原理;
2.掌握TMS320程序的编译和调试方法;
3.掌握在CCS环境下,编写和调试程序的方法。
二实验设备
计算机,CCS2.0版软件,DSP仿真器,实验箱。
三实验原理
卷积的基本原理。
四实验步骤
1.熟悉卷积的基本原理;
2.阅读所提供的样例实验程序;
3.运行CCS软件,对样例程序进行跟踪,分析结果;
4.填写实验报告。
5.本实验所提供的样例子程序操作说明
启动CCS2.0,用Project/Open打开“convolve.pjt”工程文件;
双击“convolve.pjt”及“Source”可查看源程序;
并加载“convolve.out”;
在程序最后“i=0”处,设置断点;
单击“Run”运行程序,程序运行到断点处停止;
用View/Graph/Time/Frequency打开图形观察窗口;
设置观察图形窗口变量及参数;
采用双踪观察两路输入变量Input及Impulse的波形,波形长度为80,数值类型为32位浮点型;
再打开一个图形观察窗口,以观察卷积结果波形;
该观察窗口的参数设置为:
变量为Output,长度为159,数据类型为32位浮点数;
调整观察窗口,观察两路输入波形和卷积结果波形;
关闭“convolve.pjt”工程文件,关闭各窗口,实验结束。
五思考题
1.尝试对数据长度、输入波形进行调整,运行程序,观察结果。
2.如果要修改数据的类型,该如何修改该程序。
六实验报告要求
1.简述实验原理及目的;
2.总结在使用CCS中遇到的问题;
3.分析样例中的算法的实现方法。
七Convolve子程序
时域表达式:
程序参数说明:
voidConvolveok(Input,Impulse,Output,Length)
两序列卷积子程序;
Input:
原始输入数据序列,浮点型,长度80;
Impulse:
冲击响应序列,浮点型,长度80;
Output:
卷积输出结果序列,浮点型,长度159;
Length:
参与卷积运算的两输入序列长度;
子程序流程图:
实验四快速傅立叶变换(FFT)算法实验
一.实验目的
1.加深对DFT算法原理和基本性质的理解;
2.熟悉FFT算法原理和FFT子程序的应用;
3.学习用FFT对连续信号和时域信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。
二.实验设备
计算机,CCS2.0版软件,实验箱,DSP仿真器,短接块,导线。
三.基本原理
1.离散傅立叶变换DFT的定义:
将时域的采样变换成频域的周期性离散函数,频域的采样也可以变换成时域的周期性离散函数,这样的变换称为离散傅立叶变换,简称DFT。
2.FFT是DFT的一种快速算法,将DFT的N2步运算减少为(N/2)log2N步,极大的提高了运算的速度。
3.旋转因子的变化规律。
4.蝶形运算规律。
5.基2FFT算法。
四.实验步骤
1.复习DFT的定义、性质和用DFT作谱分析的有关内容;
2.复习FFT算法原理与编程思想,并对照DIT-FFT运算流程图和程序框图,了解本实验提供的FFT子程序;
3.阅读本实验所提供的样例子程序;
4.运行CCS软件,对样例程序进行跟踪,分析结果;
记录必要的参数。
5.填写实验报告。
6.提供样例程序实验操作说明
1)实验前准备
在模拟信号产生单元中,一路信号源产生低频正弦波信号(S1置“L”),另一路信号源产生高频正弦波信号(S11置“H”),检查模拟信号输出端口“A”“B”应断开;
实验箱上电,用示波器分别观测out1和out2输出的模拟信号,调节电位器SPR1、SPR2(out1输出信号的频率调节和幅值调节)和电位器SPR11、SPR12(out2输出信号的频率调节和幅值调节),直至满意为止;
本样例实验程序建议:
低频正弦波信号为100Hz/1V;
高频正弦波信号为6KHz/1V;
实验箱掉电,做以下连接和检查:
短接输出端口“A”与“B”;
短接JAD1的INM、INMF;
短接JAD2的INP、INPF;
用导线连接out2(模拟信号输出)和JAD31脚(MIC_IN);
检查:
JD是否断开。
有关以上连接的说明,可参见第八章中语音接口跳线接输出接口配置使用说明以及信号产生单元配置说明。
正确完成计算机、DSP仿真器和实验箱的连接后,系统上电。
2)实验
启动CCS2.0,用Project/Open打开“ExpFFT01.pjt”工程文件;
双击“ExpFFT01.pjt”及“Source”可查看各源程序;
加载“ExpFFT01.out”;
在主程序中,k++处设置断点;
单击“Run”运行程序,或按F5运行程序;
程序将运行至断点处停止;
用View/Graph/Time/Frequency打开一个图形观察窗口;
设置该观察图形窗口变量及参数;
采用双踪观察在启始地址分别为0x3000h和0x3080h,长度为128的单元中数值的变化,数值类型为16位有符号整型变量,这两段存储单元中分别存放的是经A/D转换后的输入信号和对该信号进行FFT变换后的结果;
单击“Animate”运行程序,或按F10运行;
调整观察窗口并观察变换结果;
单击“Halt”暂停程序运行,关闭窗口,本实验结束;
在CCS2.0环境,同步观察输入信号波形及其FFT变换结果;
五.思考题
1.对于不同的N,幅频特性会相同吗?
为什么?
2.FFT进行谱分析,可以应用的什么方面?
六.实验报告要求
2.结合实验中所给定典型序列幅频特性曲线,与理论结果比较,并分析说明误差产生的原因以及用FFT作谱分析时有关参数的选择方法。
3.总结实验所得主要结论。
七.程序参数说明
externvoidInitC5402(void)
externvoidOpenMcBSP(void)
externvoidCloseMcBSP(void)
externvoidREADAD50(void)
externvoidWRITEAD50(void)
voidkfft(pr,pi,n,k,fr,fi,l,il):
基2快速傅立叶变换子程序,n为变换点数,应满足2的整数次幂,k为幂次(正整数);
数组x:
输入信号数组,A/D转换数据存放于地址为3000H~307FH存储
器中,转为浮点型后,生成x数组,长度128;
数组mo:
FFT变换输出数组,长度128,浮点型,整型后,写入
3080H~30FFH存储器中。
八.子程序流程图:
实验五有限冲击响应滤波器(FIR)算法实验
1.掌握用窗函数法设计FIR数字滤波器的原理和方法;
2.熟悉线性相位FIR数字滤波器特性;
3.了解各种窗函数对滤波特性的影响。
计算机,CCS2.0版软件,实验箱,DSP仿真器,短接块,导线。
三、实验原理
1.有限冲击响应数字滤波器的基础理论;
2.模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、贝塞尔滤波器);
3.数字滤波器系数的确定方法。
四、实验步骤
1.复习如何设计FIR数字滤波。
阅读本实验原理,掌握设计步骤;
2.阅读本实验所提供的样例子程序;
3.运行CCS软件,对样例程序进行跟踪,分析结果;
在模拟信号产生单元中,一路信号源产生低频正弦波信号(S1置“L”),另一路信号源产生高频正弦波信号(S11置“H”),检查模拟信号输出端口“A”与“B”应断开;
启动CCS2.0,用Project/Open打开“FIRtestN01.pjt工程文件;
双击“FIRtestN01.pjt”和“Source”可查看各源程序;
加载“FIRtestN01.out”;
在主程序,k++处,设置断点;
设置观察图形窗口变量及参数为:
采用双踪观察启始地址分别为0x3000H和0x3100H,长度为256的单元中数值的变化,数值类型为16位有符号整型变量,这两段存储单元中分别存放的是经A/D转换后的输入信号和对该信号进行FIR变换后的结果;
单击“Animate”运行程序,或按F10运行程序;
调整观察窗口并观察滤波结果;
单击“Halt”暂停程序运行,激活“FIRtestN01.c”的编辑窗口;
实验程序说明:
该程序为51阶FIR低通滤波器算法程序,采用矩形窗函数实现,数组h和xmid长度均为51,fs为采样频率,fstop为滤波器截止频率,可以修改以上参数来改变滤波器性能。
重新“RebuildAll”后,并加载“Load”,单击“Animate”,可得到不同的实验结果;
在CCS2.0环境,同步观察输入信号及其FIR低通滤波结果。
五、思考题
1.如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?
写出设计步骤。
2.定性说明本实验中,3dB截止频率的理论值在什么位置?
是否等于理想低通的截止频率?
3.如果要求用窗函数法设计带通滤波器,且给定上下边带截止频率,试求理论带通的单位脉冲响应。
六、实验报告要求
1.简述实验目的及理论。
2.自己设计一串数据应用样例子程序,进行滤波。
3.总结设计FIR滤波器的主要步骤。
4.描绘出输入、输出数组的曲线
七、FIR程序参数说明
系统函数
对应的常系数线性差分方程:
voidfirdes(intm,doublenpass):
输入信号:
输入信号经A/D转换后,写入地址为3000H~30FFH存储器,16位整型;
输出信号:
FIR低通滤波器输出,写入地址为3100H~31FFH存储器,16位整型。
八、程序流程图:
实验六无限冲击响应滤波器(IIR)算法实验
一、实验目的
1.熟悉设计IIR数字滤波器的原理与方法;
2.掌握数字滤波器的计算机仿真方法;
3.通过观察对实际信号的滤波作用,获得对数字滤波的感性认识。
二、实验设备
三、实验原理
1.无限冲击响数字滤波器的基础理论;
3.双线性变换的设计原理。
四、实验步骤
1.复习有关巴特沃斯滤波器设计和用双线性变换法设计IIR数字滤波器的知识;
启动CCS2.0,用Project/Open打开“ExpIIRokLP02.pjt”工程文件;
双击“ExpIIRokLP02.pjt”,双击“Source”可查看各源程序;
加载“ExpIIRokLP02.out”;
在主程序最后,K++处,设置断点;
单击“Run”,程序运行到断点处;
采用双踪观察在启始地址分别为0x3000h和0x3100h,长度为256的单元中数值的变化,数值类型为16位有符号整型变量,这两段存储单元中分别存放的是经A/D转换后的输入信号和对该信号进行IIR低通滤波后的输出信号;
调整观察窗口,并观察滤波结果;
单击“Halt”暂停程序运行,激活“ExpIIRokLP02.c”的编辑窗口;
该IIR低通滤波器滤波性能参数为:
采样频率为16KHz,通带内最大允许衰减3dB,阻带内最小衰减大于30dB,过度带宽度为3.2KHz;
通带上限频率:
1.6KHz;
阻带下限截止频率:
4.8KHz。
可以修改以上参数来改变滤波器性能。
修改“ExpIIRokLP02.c”程序中“nlpass”和“nlstop”参数可改变IIR低通滤波器的滤波性能。
重新“RebuildAll”后,加载,单击“Animate”,可得到不同的结果。
在CCS2.0环境下,同步观察输入信号及其IIR低通滤波结果。
1.试述用双线性变换法设计数字滤波器的过程?
2.实验中,计算每个二阶滤波器的输出序列时,如何确定计算点数?
3.对滤波前后的信号波形,说明数字滤波器的滤波过程与滤波作用。
1.简述IIR滤波器的基本原理;
2.对比FIR滤波器与IIR滤波器的异同;
3.描绘出输入、输出数组的曲线。
七、IIR程序参数说明
系统函数:
voidbiir2lpdes(doublefs,doublenlpass,doublenlstop,doublea[],doubleb[]):
IIR低通滤波器参数设计子程序参数说明:
fs:
采样频率;
nlpass:
通带上限频率参数,nlstop:
阻带下限截止频率参数;
设置时,采样频率对应为1,应使“nlpass”和“nlstop”两参数均要小于0.5,且“nlpass”要比“nlstop”小0.2,否则,将不能满足阻带的最大衰减大于30dB。
数组a:
存放IIR低通滤波器传递函数的极点计算结果,浮点型;
数组b:
存放IIR低通滤波器传递函数的零点计算结果,浮点型;
输入信号经A/D转换后,写入地址3000H~30FFH单元,16位整型;
八、子程序流程图