DSP实验报告解读.docx

上传人:b****8 文档编号:10152257 上传时间:2023-02-08 格式:DOCX 页数:32 大小:1.34MB
下载 相关 举报
DSP实验报告解读.docx_第1页
第1页 / 共32页
DSP实验报告解读.docx_第2页
第2页 / 共32页
DSP实验报告解读.docx_第3页
第3页 / 共32页
DSP实验报告解读.docx_第4页
第4页 / 共32页
DSP实验报告解读.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

DSP实验报告解读.docx

《DSP实验报告解读.docx》由会员分享,可在线阅读,更多相关《DSP实验报告解读.docx(32页珍藏版)》请在冰豆网上搜索。

DSP实验报告解读.docx

DSP实验报告解读

[《DSP原理及应用》课程实验报告]

(软、硬件实验)

实验名称:

[《DSP原理及应用》实验]

专业班级:

[]

学生姓名:

[]

学号:

[]

指导教师:

[]

完成时间:

[]

 

目录

第一部分.基于DSP系统的实验1

实验3.1:

指示灯实验1

实验3.2:

DSP的定时器4

实验3.5单路,多路模数转换(AD)6

第二部分.DSP算法实验15

实验5.1:

有限冲击响应滤波器(FIR)算法实验15

实验5.2:

无限冲激响应滤波器(IIR)算法20

实验5.3:

快速傅立叶变换(FFT)算法24

第一部分.基于DSP系统的实验

实验3.1:

指示灯实验

一.实验目的

1.了解ICETEK–F2812-A评估板在TMS320F2812DSP外部扩展存储空间上的扩展。

2.了解ICETEK–F2812-A评估板上指示灯扩展原理。

1.学习在C语言中使用扩展的控制寄存器的方法。

二.实验设备

计算机,ICETEK-F2812-A实验箱(或ICETEK仿真器+ICETEK–F2812-A系统板+相关连线及电源)。

三.实验原理

1.TMS320F2812DSP的存储器扩展接口

存储器扩展接口是DSP扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和存储器、寄存器映射的外设。

-ICETEK–F2812-A评估板在扩展接口上除了扩展了片外SRAM外,还扩展了指示灯、DIP开关和D/A设备。

具体扩展地址如下:

C0002-C0003h:

D/A转换控制寄存器

C0001h:

板上DIP开关控制寄存器

C0000h:

板上指示灯控制寄存器

详细说明见第一部分表1.7。

-与ICETEK–F2812-A评估板连接的ICETEK-CTR显示控制模块也使用扩展空间控制主要设备:

108000-108004h:

读-键盘扫描值,写-液晶控制寄存器

108002-108002h:

液晶辅助控制寄存器

2.指示灯扩展原理

3.实验程序流程图

四.实验步骤

1.实验准备

连接实验设备:

请参看本书第三部分、第一章、二。

关闭实验箱上扩展模块和信号源电源开关。

2.设置CodeComposerStudio3.3在硬件仿真(Emulator)方式下运行

请参看本书第三部分、第一章、四、2。

3.启动CodeComposerStudio3.3

请参看本书第三部分、第一章、五、2。

选择菜单Debug→ResetCPU。

4.打开工程文件

工程文件为:

C:

\ICETEK\F2812\DSP281x_examples\Lab0301-LED\LED.pjt

打开源程序LED.c阅读程序,理解程序内容。

5.编译、下载程序。

6.运行程序,观察结果。

7.退出CCS

请参看本书第三部分、第一章、六。

五.实验结果

六.问题与思考

ICETEK–F2812-A评估板上的指示灯控制寄存器是可读可写的,请问用什么办法可以回读指示灯状态?

实验3.2:

DSP的定时器

一.实验目的

1.通过实验熟悉F2812A的定时器;

2.掌握F2812A定时器的控制方法;

3.掌握F2812A的中断结构和对中断的处理流程;

4.学会C语言中断程序设计,以及运用中断程序控制程序流程。

二.实验设备

计算机,ICETEK-F2812-A实验箱(或ICETEK仿真器+ICETEK–F2812-A系统板+相关连线及电源)。

三.实验原理

1.通用定时器介绍及其控制方法(详见spru078a.pdf)

TMS320F2812A内部有三个32位通用定时器(TIMER0/1/2),定时器1和2被保留给实时操作系统(DSPBIOS)用,只有定时器0可以提供给用户使用。

2.中断响应过程(详见spru078a.pdf)

a.接受中断请求。

必须由软件中断(从程序代码)或硬件中断(从一个引脚或一个基于芯片的设备)提出请求去暂停当前主程序的执行。

b.响应中断。

必须能够响应中断请求。

如果中断是可屏蔽的,则必须满足一定的条件,按照一定的顺序去执行。

而对于非可屏蔽中断和软件中断,会立即作出响应。

c.准备执行中断服务程序并保存寄存器的值。

d.执行中断服务子程序。

调用相应得中断服务程序ISR,进入预先规定的向量地址,并且执行已写好的ISR。

3.中断类别

可屏蔽中断:

这些中断可以用软件加以屏蔽或解除屏蔽。

不可屏蔽中断:

这些中断不能够被屏蔽,将立即响应该类中断并转入相应的子程序去执

行。

所有软件调用的中断都属于该类中断。

4.中断的优先级

如果多个中断被同时激发,将按照他们的中断优先级来提供服务。

中断优先级是芯片内部已定义好的,不可修改。

4.实验程序流程图

 

5.实验程序分析

本实验设计的程序是在上实验3.1基础上修改得来,由于实验3.1控制指示灯闪烁的延时控制是用循环计算方法得到的,延时不精确也不均匀,采用中断方式可以实现指示灯的定时闪烁,时间更加准确。

四.实验步骤

1.实验准备

连接实验设备:

请参看本书第三部分、第一章、二。

关闭实验箱上扩展模块和信号源电源开关。

2.设置CodeComposerStudio3.3在硬件仿真(Emulator)方式下运行

请参看本书第三部分、第一章、四、2。

3.启动CodeComposerStudio3.3

请参看本书第三部分、第一章、五、2。

选择菜单Debug→ResetCPU。

4.打开工程文件

打开菜单“Project”的“Open”项;选择C:

\ICETEK\F2812\DSP281x_examples\Lab0303-Timer目录中的“Timer.pjt”。

在项目浏览器中,双击time.c,激活time.c文件,浏览该文件的内容,理解各语句作用。

5.编译、下载程序。

6.运行程序,观察结果。

7.改变“CpuTimer0Regs.PRD.all=0xffff;”函数里的值;重复步骤5,6观察实验现象。

8.退出CCS

五.实验结果

-指示灯在定时器的定时中断中按照设计定时闪烁。

-使用定时器和中断服务程序可以完成许多需要定时完成的任务,比如DSP定时启动A/D转换,日常生活中的计时器计数、空调的定时启动和关闭等。

-在调试程序时,有时需要指示程序工作的状态,可以利用指示灯的闪烁来达到,指示灯灵活的闪烁方式可表达多种状态信息。

实验3.5单路,多路模数转换(AD)

一.实验目的

1.通过实验熟悉F2812A的定时器。

2.掌握F2812A片内AD的控制方法。

二.实验设备

计算机,ICETEK-F2812-A实验箱(或ICETEK仿真器+ICETEK–F2812-A系统板+相关连线及电源)。

三.实验原理

1.TMS320F2812A芯片自带模数转换模块特性

-12位模数转换模块ADC,快速转换时间运行在25mhz,ADC时钟或12.5MSPS。

-16个模拟输入通道(AIN0—AIN15)。

-内置双采样-保持器

-采样幅度:

0-3v,切记输入ad的信号不要超过这个范围,否则会烧坏2812芯片的。

2.模数模块介绍

ADC模块有16个通道,可配置为两个独立的8通道模块以方便为事件管理器A和B服务。

两个独立的8通道模块可以级连组成16通道模块。

虽然有多个输入通道和两个序列器,但在ADC内部只有一个转换器,同一时刻只有1路ad进行转换数据。

3.模数转换的程序控制

模数转换相对于计算机来说是一个较为缓慢的过程。

一般采用中断方式启动转换或保存结果,这样在CPU忙于其他工作时可以少占用处理时间。

设计转换程序应首先考虑处理过程如何与模数转换的时间相匹配,根据实际需要选择适当的触发转换的手段,也要能及时地保存结果。

关于TMS320F2812ADSP芯片内的A/D转换器的详细结构和控制方法,请参见文档spru060a.pdf。

4.实验程序流程图

四.实验步骤

1.实验准备

(1)连接实验设备:

请参看本书第三部分、第一章、二。

(2)准备信号源进行AD输入。

①取出2根实验箱附带的信号线(如右图,两端均为双声道语音插头)。

②用1根信号线连接实验箱左侧信号源的波形输出A端口和“A/D输入”模块的“ADCIN0”插座注意插头要插牢、到底。

这样,信号源波形输出A的输出波形即可送到ICETEK–F2812-A板的AD输入通道0。

③用1根信号线连接实验箱左侧信号源的波形输出B端口和“A/D输入”模块的“ADCIN1”插座注意插头要插牢、到底。

这样,信号源波形输出B的输出波形即可送到ICETEK–F2812-A板的AD输入通道1。

图3.2.3.3

④设置波形输出A:

-向内侧按波形频率选择旋钮,直到标有正弦波的指示灯点亮。

-上下调节波形频率选择旋钮,直到标有1KHz-10KHz的指示灯点亮。

-调节幅值调整旋钮,将波形输出A的幅值调到最大。

⑤设置波形输出B:

-向内侧按波形频率选择旋钮,直到标有三角波的指示灯点亮。

-上下调节波形频率选择旋钮,直到标有1KHz-10KHz的指示灯点亮。

-调节幅值调整旋钮,将波形输出B的幅值调到最大。

2.设置CodeComposerStudio3.3在硬件仿真(Emulator)方式下运行

请参看本书第三部分、第一章、四、2。

3.启动CodeComposerStudio3.3

请参看本书第三部分、第一章、五、2。

选择菜单Debug→ResetCPU。

4.打开工程文件

-工程目录:

C:

\ICETEK\F2812\DSP281x_examples\Lab0305-AD\ADC.pjt。

-在项目浏览器中,双击adc.c,打开adc.c文件,浏览该文件内容,理解各语句作用。

5.编译、下载程序。

6.打开观察窗口

-选择菜单“View”、“Graph”、“Time/Frequency…”做如下设置,然后单击“OK”按钮;

图3.2.3.4观察窗口设置1

-选择菜单“View”、“Graph”、“Time/Frequency…”做如下设置,然后单击“OK”按钮;

图3.2.3.4观察窗口设置2

-在弹出的图形窗口中单击鼠标右键,选择“ClearDisplay”。

通过设置,我们打开了两个图形窗口观察两个通道模数转换的结果。

7.设置信号源

由于模数输入信号未经任何转换就进入DSP,所以必须保证输入的模拟信号的幅度在0-3V之间。

必须用示波器检测信号范围,保证最小值0V最大值3V,否则容易损坏DSP芯片的模数采集模块。

8.运行程序观察结果

-单击“Debug”菜单,选择“Real–timeMode”,然后选择ContinuousRefresh再单击“Run”项,运行程序;

-停止运行,观察“ADCIN0”、“ADCIN1”窗口中的图形显示;

-适当改变信号源,按F5健再次运行,停止后观察图形窗口中的显示。

注意:

输入信号的频率不能大于10KHz,否则会引起混叠失真,而无法观察到波形,如果有兴趣,可以试着做一下,观察采样失真后的图形。

9.选择菜单File→workspace→saveworkspacsAs…,输入文件名SY.wks。

10.退出CCS

请参看本书第三部分、第一章、六。

五.实验结果

10-100Hz

 

 

 

100-1KHz

 

 

 

 

六.问题与思考

编写一个程序,实现下面的内容:

要求:

在触发1(定时器下溢)来到时开始1个自动转换,触发2(定时器周期匹配)来到时开始另外1个自动转换。

触发事件1、2在时间上是差25us,由事件管理器A提供。

这里仅用到SEQ1。

第二部分.DSP算法实验

实验5.1:

有限冲击响应滤波器(FIR)算法实验

一.实验目的

1.握用窗函数法设计FIR数字滤波器的原理和方法。

2.熟悉线性相位FIR数字滤波器特性。

3.了解各种窗函数对滤波器特性的影响。

二.实验设备

PC兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为Windows2000),安装CodeComposerStudio3.3软件。

三.实验原理

1.有限冲击响应数字滤波器的基础理论(请参考相关书籍)。

2.模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。

3.数字滤波器系数的确定方法。

4.根据要求设计低通FIR滤波器

要求:

通带边缘频率10kHz,阻带边缘频率22kHz,阻带衰减75dB,采样频率50kHz。

设计:

-过渡带宽度=阻带边缘频率-通带边缘频率=22-10=12kHz

-采样频率:

f1=通带边缘频率+(过渡带宽度)/2=10000+12000/2=16kHz

Ω1=2πf1/fs=0.64π

-理想低通滤波器脉冲响应:

h1[n]=sin(nΩ1)/n/π=sin(0.64πn)/n/π

-根据要求,选择布莱克曼窗,窗函数长度为:

N=5.98fs/过渡带宽度=5.98*50/12=24.9

-选择N=25,窗函数为:

w[n]=0.42+0.5cos(2πn/24)+0.8cos(4πn/24)

-滤波器脉冲响应为:

h[n]=h1[n]w[n]|n|≤12

h[n]=0|n|>12

-根据上面计算,各式计算出h[n],然后将脉冲响应值移位为因果序列。

-完成的滤波器的差分方程为:

y[n]=-0.001x[n-2]-0.002x[n-3]-0.002x[n-4]+0.01x[n-5]

-0.009x[n-6]-0.018x[n-7]-0.049x[n-8]-0.02x[n-9]

+0.11x[n-10]+0.28x[n-11]+0.64x[n-12]

+0.28x[n-13]-0.11x[n-14]-0.02x[n-15]

+0.049x[n-16]-0.018x[n-17]-0.009x[n-18]+0.01x[n-19]

-0.002x[n-20]-0.002x[n-21]+0.001x[n-22]

5.程序流程图:

 

四.实验步骤

1.实验准备

-设置软件仿真模式,参看:

第三部分、四、1。

-启动CCS,参看:

第三部分、五、1。

2.打开工程,浏览程序:

工程目录为C:

\ICETEK\F2812\DSP281x_examples\lab0501-FIR

3.编译并下载程序

4.打开观察窗口

*选择菜单View->Graph->Time/Frequency…,进行如下设置:

图3.2.5.1观察窗口设置1

*选择菜单View->Graph->Time/Frequency…,进行如下设置:

图3.2.5.2观察窗口设置2

在弹出的图形窗口中单击鼠标右键,选择“ClearDisplay”。

5.设置断点

在有注释“/*请在此句上设置软件断点*/”的语句设置软件断点。

6.运行并观察结果

⑴选择“Debug”菜单的“RUN”项,或按F12键运行程序。

⑵观察“fin”、“fout”窗口中时域图形;观察滤波效果。

⑶鼠标右键单击“Input”和“Output”窗口,选择“Properties…”项,设置“DisplayType”为“FFTMagitude”,再单击“OK”按钮结束设置。

⑷观察“Input”、“Output”窗口中频域图形;理解滤波效果。

注意:

由于实验运算复杂,需要等一会才能看到运行完结果。

7.退出CCS

请参看本书第三部分、第一章、六。

五.实验结果

输入波形为一个低频率的正弦波与一个高频的正弦波叠加而成。

通过观察频域和时域图,得知:

输入波形中的低频波形通过了滤波器,而高频部分则大部分被滤除。

 

 

 

六.问题与思考

试选用合适的高通滤波参数滤掉实验的输入波形中的低频信号。

实验5.2:

无限冲激响应滤波器(IIR)算法

一.实验目的

1.掌握设计IIR数字滤波器的原理和方法。

2.熟悉IIR数字滤波器特性。

3.了解IIR数字滤波器的设计方法。

二.实验设备

PC兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为Windows2000),安装CodeComposerStudio3.3软件。

三.实验原理

1.无限冲激响应数字滤波器的基础理论。

2.模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。

3.数字滤波器系数的确定方法。

4.根据要求设计低通IIR滤波器

要求:

低通巴特沃斯滤波器在其通带边缘1kHz处的增益为-3dB,12kHz处的阻带衰减为30dB,采样频率25kHz。

设计:

-确定待求通带边缘频率fp1Hz、待求阻带边缘频率fs1Hz和待求阻带衰减-20logδsdB。

模拟边缘频率为:

fp1=1000Hz,fs1=12000Hz

阻带边缘衰减为:

-20logδs=30dB

-用Ω=2πf/fs把由Hz表示的待求边缘频率转换成弧度表示的数字频率,得到Ωp1和Ωs1。

Ωp1=2πfp1/fs=2π1000/25000=0.08π弧度

Ωs1=2πfs1/fs=2π12000/25000=0.96π弧度

-计算预扭曲模拟频率以避免双线性变换带来的失真。

由w=2fstan(Ω/2)求得wp1和ws1,单位为弧度/秒。

wp1=2fstan(Ωp1/2)=6316.5弧度/秒

ws1=2fstan(Ωs1/2)=794727.2弧度/秒

-由已给定的阻带衰减-20logδs确定阻带边缘增益δs。

因为-20logδs=30,所以logδs=-30/20,δs=0.03162

-计算所需滤波器的阶数:

因此,一阶巴特沃斯滤波器就足以满足要求。

-一阶模拟巴特沃斯滤波器的传输函数为:

H(s)=wp1/(s+wp1)=6316.5/(s+6316.5)

由双线性变换定义s=2fs(z-1)/(z+1)得到数字滤波器的传输函数为:

因此,差分方程为:

y[n]=0.7757y[n-1]+0.1122x[n]+0.1122x[n-1]

5.程序流程图:

四.实验步骤

1.实验准备

-设置软件仿真模式,参看:

第三部分、四、1。

-启动CCS,参看:

第三部分、五、1。

2.打开工程,浏览程序,工程目录为C:

\ICETEK\F2812\DSP281x_examples\lab0502-iir\iir.pjt

3.编译并下载程序

4.打开观察窗口:

*选择菜单View->Graph->Time/Frequency…,进行如下设置:

图3.2.5.4观察窗口设置1

*选择菜单View->Graph->Time/Frequency…,进行如下设置:

图3.2.5.5观察窗口设置2

5.清除显示:

在以上打开的窗口中单击鼠标右键,选择弹出式菜单中“ClearDisplay”功能。

6.设置断点:

在程序iir.c中有注释“/*请在此句上设置软件断点*/”的语句上设置软件断点。

7.运行并观察结果

⑴选择“Debug”菜单的“RUN”项,或按F5键运行程序。

⑵观察“IIR”窗口中时域图形;观察滤波效果。

注意:

由于实验运算复杂,需要等一会才能看到运行完结果。

8.退出CCS

请参看本书第三部分、第一章、六。

五.实验结果

输入波形为一个低频率的正弦波与一个高频的余弦波叠加而成。

如图:

通过观察频域和时域图,得知:

输入波形中的低频波形通过了滤波器,而高频部分则被衰减。

六.问题与思考

试微调(±0.0001)改变程序中fU的取值,观察步长因子μ在自适应算法中所起的作用。

实验5.3:

快速傅立叶变换(FFT)算法

一.实验目的

1.掌握用窗函数法设计FFT快速傅里叶的原理和方法;

2.熟悉FFT快速傅里叶特性;

3.了解各种窗函数对快速傅里叶特性的影响。

二.实验设备

PC兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为Windows2000),安装CodeComposerStudio3.3软件。

三.实验原理

1.FFT的原理和参数生成公式

公式

(1)FFT运算公式

FFT并不是一种新的变换,它是离散傅立叶变换(DFT)的一种快速算法。

由于我们在计算DFT时一次复数乘法需用四次实数乘法和二次实数加法;一次复数加法则需二次实数加法。

每运算一个X(k)需要4N次复数乘法及2N+2(N-1)=2(2N-1)次实数加法。

所以整个DFT运算总共需要4N^2次实数乘法和N*2(2N-1)=2N(2N-1)次实数加法。

如此一来,计算时乘法次数和加法次数都是和N^2成正比的,当N很大时,运算量是可观的,因而需要改进对DFT的算法减少运算速度。

根据傅立叶变换的对称性和周期性,我们可以将DFT运算中有些项合并。

我们先设序列长度为N=2^L,L为整数。

将N=2^L的序列x(n)(n=0,1,……,N-1),按N的奇偶分成两组,也就是说我们将一个N点的DFT分解成两个N/2点的DFT,他们又从新组合成一个如下式所表达的N点DFT:

一般来说,输入被假定为连续的。

当输入为纯粹的实数的时候,我们就可以利用左右对

称的特性更好的计算DFT。

我们称这样的RFFT优化算法是包装算法:

首先2N点实数的连续输入称为“进包”。

其次N点的FFT被连续被运行。

最后作为结果产生的N点的合成输出是“打开”成为最初的与DFT相符合的2N点输入。

使用这战略,我们可以划分FFT的大小,它有一半花费在包装输入O(N)的操作和打开输出上。

这样的RFFT算法和一般的FFT算法同样迅速,计算速度几乎都达到了两次DFT的连续输入。

下列一部分将描述更多的在TMS320C54x上算法和运行的细节。

5.程序流程图:

四.实验步骤

1.实验准备

-设置软件仿真模式,参看:

第三部分、四、1。

-启动CCS,参看:

第三部分、五、1。

2.打开工程,浏览程序,工程目录为C:

\ICETEK\F2812\DSP281x_examples\lab0503-FFT

3.编译并下载程序

4.打开观察窗口:

选择菜单View->Graph->Time/Frequency…进行如下图所示设置。

图3.2.5.7观察窗口设置1

选择菜单View->Graph->Time/Frequency…进行如下图所示设置。

图3.2.5.8观察窗口设置2

选择菜单View->Graph->Time/Frequency…进行如下图所示设置。

图3.2.5.9观察窗口设置3

5.清除显示:

在以上打开的窗口中单击鼠标右键,选择弹出式菜单中“ClearDisplay”功能。

6.设置断点:

在程序FFT.c中有注释“breakpoint”的语句上设置软件断点。

7.运行并观察结果

⑴选择“Debug”菜单的“Animate”项,或按F12键运行程序。

⑵观察“FFT”窗口中时域和频域图形。

注意:

由于实验运算复杂,需要等一会才能看到运行完结果。

8.退出CCS

请参看本书第三部分、第一章、六。

五.实验结果

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

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

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