数字信号处理实验学生.docx
《数字信号处理实验学生.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验学生.docx(30页珍藏版)》请在冰豆网上搜索。
数字信号处理实验学生
——
数字信号处理实验
指导书
电子与信息工程教研室
2006年9月
实验系统介绍1
调试软件安装说明8
硬件安装说明13
实验一卷积(Convovle)算法实验15
实验二快速傅立叶变换(FFT)算法实验18
实验系统介绍
一.实验系统硬件组成
该实验系统其硬件资源主要包括:
●CPU单元
●数字量输入输出单元
●存储器及信号扩展单元
●BOOTLOADER单元
●语音模块和液晶模块
●CPLD接口
●A/D和D/A转换单元
●信号源单元
●温控单元
●步进电机
●直流电机
●键盘接口
●电源模块
系统功能框图
二.主要功能模块介绍
1.CPU单元
CPU单元包括CPU1、CPU2两块可以更换的CPU板,可根据需要,通过按键K10选择不同种类的CPU板。
2.数字量输入输出单元
●8bit的数字量输入(由八个带自锁的开关产生),通过74LS244缓冲;8bit的数字量输出(通过八个LED灯显示),通过74LS273锁存。
数字量的输入输出都映射到CPU的IO空间。
●数字量显示的八个LED数码管,通过HD7279控制。
3.存储器及信号扩展单元
在该实验板上,使用的存储器接口芯片是ISSI公司的IS61C256,它具有以下特点:
●访问速度10、12、15、20、25ns可选;
●低功耗:
400mW(典型);
●低静态功耗
-250μW(典型)CMOS器件;
-55mW(典型)TTL器件;
●全静态操作,无需时钟或刷新;
●输入输出和TTL电平兼容;
●单5V供电。
静态存储器分为两个部分,一部分是32K×16bit的程序存储器(地址为8000H~0FFFFH)芯片序号U20、U21和32K×16bit的数据存储器(地址为0000H~7FFFH)芯片序号U22、U23。
根据选择不同类型的CPU分别映射到相应地址的程序空间和数据空间。
4.语音处理单元
语音CODEC采用TLC320AD50芯片。
该芯片采用sigma-delta技术提供高精度低速信号变换,有两个串行同步变换通道、D/A转换前的差补滤波器和A/D变换后的滤波器。
其他部分提供片上时序和控制功能。
Sigma-delta结构可以实现高精度低速的数模/模数转换。
芯片的各种应用软件配置可以通过串口来编程实现。
主要包括:
复位、节电模式、通信协议、串行时钟速率、信号采样速率、增益控制和测试模式。
最大采样速率22.05kb/s,采样精度16bit。
语音处理单元由语音输入模块、TLC320AD50模块、输出功率模块组成。
语音输入模块采用偏置和差动放大技术,并经过滤波和处理后将输入到语音编解码芯片TLV320AD50,前端输入的电压范围为-2.5V-+2.5V。
经过变换后输入到AD50的芯片的差动信号范围为0-5V。
TLC320AD50C作为主方式,通过DSP的MCBSP0口进行通信。
音频信号通过D/A转换后输出,由于TLC320AD50输出的是差动信号,因此首先经过差动放大,然后可以推动功率为0.4W的板载扬声器,也可以接耳机输出。
语音处理单元原理框图
语音处理单元接口说明:
J14:
音频输入端子,可输入CD、声卡、MP3、麦克风等语音信号。
J15:
音频输出端子,可接耳机、音箱。
J3/J1:
语音处理单元输入/输出信号接口
J6:
地
语音处理单元拨码开关说明:
S1:
拨码开关:
码位
备注
1
ON:
帧同步脉冲接通,缺省设置;OFF:
帧同步脉冲关断;
2
ON:
串口时钟接通,缺省设置;OFF:
缓冲串口时钟关断;
S2:
拨码开关
码位
备注
1
ON:
直流量输入,OFF:
交流量输入,缺省设置
2
ON:
扬声器输出;OFF:
扬声器关闭,缺省设置
语音处理单元可调电位器说明:
“输入调节”:
逆时针
音量变大
顺时针
音量变小
“输出调节”:
逆时针
音量变大
顺时针
音量变小
5.CPLD接口
采用XILINX公司的XC95144XL芯片,完成译码和时序控制。
JTAG4为CPLD下载接口。
可用XILINX公司的软件,通过并口下载电缆对CPLD在线编程。
JTAG4CPLD下载口定义
JTAG1引脚序号
JTAG功能组
相关说明
1
TCK
时钟
2
NC
空脚
3
TMS
模式控制
4
GND
地
5
TDI
数据输入
6
NC
空脚
7
TDO
数据输出
8
GND
地
9
+5V
电源
10
+5V
电源
D2、D3为CPLD工作指示灯,正常工作时D2、D3点亮。
CPU1复位时,D3不亮,CPU2复位时,D2不亮。
6.D/A转换单元
数模转换采用DAC08芯片,分辨率8位,精度1LSB,转换时间可达85ns。
DAC08可以应用在8-bit,1usA/D变换,伺服电机、波形发生、语音编码、衰减器、可编程功率变换器、CRT显示驱动、高速modems以及其他要求低成本、高速等多功能场合。
在本实验系统中,DAC08采用对称偏移二进制输出方式,输出电压范围-5V~+5V。
注:
Vref=+10V
对称偏移二进制输出编码图
底板DAC08参考电压Vref=+5V;输入00h,输出电压-5V;输入ffh,输出电压+5V。
D/A单元原理框图
数模转换单元接口说明:
S24:
拨码开关
码位
备注
2
ON,DA输出给直流电机控制端;OFF,DA输出悬空,缺省设置;
1
ON,DA输出给J4端子;OFF,DA输出悬空,缺省设置;
J4:
DA输出端子
J2:
地
7.A/D转换单元
模数转换芯片选用AD7822,单极性输入,采样分辨率8BIT,并行输出;內含取样保持电路,以及可选择使用內部或外部参考电压源,具有转换后自动Power-Down的模式,电流消耗可降低至5μA以下。
转换时间最大为420ns,SNR可达48dB,INL及DNL都在±0.75LSB以內。
可应用在数据采样、DSP系统及移动通信等场合。
在本实验系统中,参考电压源+2.5V,偏置电压输入引脚Vmid=+2.5V。
模拟输入信号经过运放处理后输入AD7822。
模数单元原理框图
模数转换单元拨码开关说明:
S25:
拨码开关
码位
备注
1
ON,信号源1输出给AD;OFF,AD输入悬空,缺省设置;
2
ON,信号源2输出给AD;OFF,AD输入悬空,缺省设置;
S26:
拨码开关
码位
备注
1
ON,温控单元输出给AD;OFF,AD输入悬空,缺省设置;
2
ON,J12端子输入给AD;OFF,AD输入悬空,缺省设置;
J12:
AD输入端子
J23:
地
拨码开关其它设置状态为非法状态
8.信号源单元
频率、幅值可调双路三角波、方波和正弦波产生电路采用两片8038信号发生器,输出频率范围20~100KHz,幅值范围-10V~+10V。
输出波形、频率范围可通过波段开关来选择。
频率、幅值可独立调节。
两路输出信号可以经过加法器进行信号模拟处理和混叠,作为信号滤波处理的混叠信号源。
混叠后的信号从信号源1输出。
ICL8038原理框图
信号源单元原理框图
信号源单元波段开关说明:
波形选择波段开关拨到底板丝印的相应位置选择对应的波形(正弦、三角、方波),频率选择波段开关拨到底板丝印的相应位置选择对应的频率范围(0~2K、2K~10K、10K~120K)。
信号源单元电位器说明:
“频率调节”
左旋
变小
右旋
变大
“幅值调节”
左旋
变大
右旋
变小
J8:
信号源1输出
J7:
信号源2输出
J5:
地
综上所述,以上介绍了该系统的硬件资源,看完这些内容,应该对实验系统有一个基本的了解,并在实验过程中熟悉每个单元在的具体应用。
调试软件安装说明
一.CCS的安装
利用CCS集成开发环境,用户可以在一个开发环境下完成工程定义、程序编辑、编译链接、调试和数据分析等工作环节。
下图为典型CCS集成开发环境窗口示例。
整个窗口由主菜单、工具条、工程窗口、编辑窗口、图形显示窗口、内存单元显示窗口和寄存器显示窗口等构成。
以安装CCS5000(2.0)为例:
CCS软件安装系统要求
要使用CodeComposerStudio操作平台必须满足以下的要求:
●IBMPC(或兼容机)
●MicrosoftWindow95/98/NT4.0/2000/XP
●32M内存,100M硬盘空间,奔腾处理器,SVGA(800*600)
CodeComposerStudio的安装
(1)安装CCS到系统中。
将CCS安装光盘放入到光盘驱动器中,运行CCS安装程序setup.exe。
出现以下画面。
如果在WindowsNT下安装,用户必须要具有系统管理员的权限。
选择NEXT,按系统提示安装,默认安装路径是“C:
\ti”。
(2)
安装完成后,在桌面上会有“CCS2(‘C5000)”和“SetupCCS2(‘C5000)”两个快捷方式图标。
分别对应CCS应用程序和CCS配置程序。
(3)如果用户的操作系统为Windows95,则可能需要增加环境变量空间。
方法是将语句“shell=c:
\windows\command.com/e:
4096/p”添加到C盘根目录下的CONFIG.SYS文件中,然后重新启动计算机。
这条语句将环境变量空间设置为4096字节。
二.CCS的设置
安装CCS软件与普通的程序安装类似,没有特殊要求。
下面介绍安装完成后如何设置CCS软件。
如果CCS是在硬件目标板上运行,则先要安装目标板驱动程序,然后运行“CCSSetup”配置驱动程序,最后才能执行CCS。
除非用户改变CCS应用平台类型,否则只需运行一次CCS配置程序。
运行CodeComposerStudioSetup软件,即桌面上的SetupCCS2(C5000)图标。
进入以下画面,点击右边的“InstallaDeviceDriver”
弹出对话框,在CCS的安装目录中找到drivers找到相应的设备,这里举例54XX系列。
点击“OK”按钮,会发现在中的框中多了“tixds54X”这个设备,然后点击“AddToSystem”
出现在“BoardProperties”对话框
在Board下面的下拉菜单中选择第二项“Auto-generateboarddatafilewithextraconfiguratic”,这里“ConfiguraticFile”变成可见,点击“Browse…”
在CCS目录中的drivers目录中找到Techusb2.cfg这个文件,选中打开,然后点击“Next>”按钮。
出现下面的对话框后,将I/Oport的Value改成0x280。
点击“Next>”
选中”TMS320C5400”点击旁边的“AddSingle”按钮,在右边的框中会出现“CPU_1”,点击“Next>”
在“startupGEL”中点击右边的小按钮,
在打开对话框中选择你需要的文件。
完成上面的操作后。
出现信息如下
点“File”菜单中的“Save”存盘,然后退出,弹出对话点击是,就会启动CCS软件
硬件安装说明
硬件仿真器是进行系统开发的必备工具,它是采用边界扫描技术和CPU芯片通过JTAG口相连接。
实现了主机对CPU芯片的完全检测和控制。
可以通过JTAG和相应的软件调试环境实现系统的硬件调试和软件的再现调试开发工作。
一.DSP硬件仿真器的安装
第一步取出开发系统,检查是否齐全
●EPP开发系统
A.关闭PC机电源,将专用电缆插入并口中,注意插接要稳固。
B.用+5V稳压电源通过电源插口给仿真器供电。
C.启动PC机,安装新硬件,驱动程序eppdrive.zip
●USB开发系统
A.关闭PC机电源,将专用电缆插入USB口中,注意插接要稳固。
B.启动PC机,安装新硬件,驱动程序usbdrive.zip
●PCI开发系统
A.关闭PC机电源,取下机箱盒,将PCI卡插入PCI插槽中,注意插接要稳固。
B.启动PC机,安装新硬件,驱动程序为pcitfsetup.zip
C.安装好PCI卡后,用37针专用连线,连接PCI卡与连接仿真盒,再将仿真盒另一端,连好JTAG接线。
第二步将以安装好的仿真器JTAG线,插入CPU板上的JTAG接口。
至此,硬件仿真器安装完成。
二.DSP硬件仿真器的使用
硬件仿真器的用法比较简单,只要将JTAG口连接正确,DSP芯片能够正常工作并且软件调试环境配置正确即可以应用。
下面给出JTAG的定义:
注意第六脚是空脚。
接通电源,把实验箱后方的电源开关打到“1”位置,实验箱通电,实验箱电源单元的指示灯LED1、2、3、4指示灯点亮。
双击桌面上的CCS2(‘C5000)图标,进入CCS软件界面,可以开始。
进行程序的开发和调试。
实验一卷积(Convovle)算法实验
一.实验目的
1.了解卷积算法的原理。
2.掌握TMS320汇编程序在CCS环境下的编译和调试方法。
二.实验设备
计算机、DSP硬件仿真机、EXPII实验箱。
三.实验原理
若LTI系统
的响应为h(n),h(n)称为系统的单位脉冲响应,则由时不变特性有,系统对
的响应为h(n-k);又根据齐次性,系统对
的响应为
;再由叠加性,系统对
的响应为
,即离散时间LTI系统对输入x(n)的响应为:
此式称为卷积和,通常记为:
四.实验步骤与内容
1.重新熟悉卷积的基本原理;
2.阅读本实验所提供的样例子程序;
3.运行CCS软件,对样例程序进行跟踪、分析结果、记录必要的参数;
4.填写实验报告。
A.实验前的准备
1)正确完成计算机、DSP仿真器和实验箱的连接后,按键K10,即仿真器连接右边的CPU,系统上电。
2)设置实验板上的拨码开关,其他开关缺省设置:
S25:
输入信号选择S26:
输入信号选择
码位
备注
1
ON,信号源1输给AD
2
OFF
码位
备注
1
OFF
2
OFF
S22:
中断源选择
码位
备注
1ON
CPU中断2给A/D转换
2OFF
单元
S3:
拨码开关
码位
备注
1
OFF:
A/D单元采样时钟为低频,缺省设置;采样频率为250KHz
2
OFF:
也可为ON,信号源输出为信号源1,2路的混频输出
B.实验
启动CCS2.0,Project/Open打开“Algorithm”目录中“exp04_cpu2”子目录下“Exp-CONV-AD.prj”工程文件,双击“Exp-CONV-AD.prj”及其“Source”可查看各源程序;加载“Exp-CONV-AD.out”;在主程序中,在t++及flag=0处分别设置断点;单击“Run”运行程序,程序将运行至第一个断点处停止;
用View/Graph/Time/Frequency打开图形观察窗口;设置图形窗口变量及参数;采用双综观察两路输入变量Input及Impulse的波形,波形长度为128,数值类型为32位浮点型。
将第一个观察窗口命名为Gaphiacal_1。
再打开一个图形观察窗口,以观察卷积结果波形;该窗口的参数设置为:
变量为Output,长度为256,数据类型为32位浮点数;将第二个观察窗口命名为Gaphiacal_2。
调整观察窗口,观察两路输入信号波形和卷积结果波形;这两路信号输入波形是由程序产生,并对这两个信号进行卷积。
(为在同一个窗口中显示卷积的输入和输出信号波形,在Window/中选择cascade窗口显示风格,并选择Graphical_1和Graphical_2进行显示)
单击“Run”,程序运行至第二个断点处,调整图形观察窗口,该部分实验采用实验箱的信号源产生的信号作为卷积的两个输入信号,观察卷积结果。
单击“Animate”运行程序,或按“F10”运行程序;调整观察窗口,并观察卷积结果;改变输入信号的波形、频率、幅值,观察卷积结果,实验结束。
五.Convolve子程序说明
时域表达式:
子程序参数说明:
VoidConvolveok(Input,Impulse,Output,Length)
Input:
原始输入数据序列,浮点型,长度128;
Impulse:
冲激响应序列,浮点型,长度128;
Output:
卷积输出结果序列,浮点型,长度256;
Length:
参与卷积运算的两输入序列的长度;
六.思考题
1、总结在使用CCS中遇到的问题。
2、分析样例中的算法的实现方法。
实验二快速傅立叶变换(FFT)算法实验
一.实验目的
1.加深对DFT算法原理和基本性质的理解。
2.熟悉FFT算法原理和FFT子程序的应用。
3.学习用FFT对连续信号和时域信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实验中正确FFT。
二.实验设备
计算机、DSP硬件仿真器、EXPII实验箱,音频线,音源(电脑音频播放)
三.实验原理
1.离散傅立叶变换DFT的定义:
将时域的采样变换成频域的周期性离散函数,频域的采样也可以变换成时域的周期性离散函数,这样的变换称为离散傅立叶变换,简称DFT。
2.FFT是DFT的一种快速算法,将DFT的N2步运算减少为
步,极大的提高了运算的速度。
3.
,称为蝶形因子式旋转因子,该旋转因子有变换规律。
4.蝶形运算规律。
四.FFT算法
对于旋转因子
来说,有如下的对称性和周期性:
对称性:
周期性:
FFT就是利用了旋转因子的对称性和周期性来减少运算量的。
FFT算法将长序列的DFT分解为短序列的DFT。
N点的DFT先分解为两个N/2点的DFT,每个N/2点的DFT又分解为两个N/4点的DFT等等,最小变换的点数即基数,基数为2的FFT算法的最小变换是2点DFT。
一般而言,FFT算法分为时间抽选(DIT)FFT和频率抽选(DIF)FFT两大类。
时间抽取FFT算法的特点是每一级处理都是在时域里把输入序列依次按奇/偶一分为二分解成较短的序列;频率抽取FFT算法的特点是在频域里把序列依次按奇/偶一分为二分解成较短的序列来计算。
DIT和DIF两种FFT算法的区别是旋转因子
出现的位置不同,DITFFT中旋转因子
在输入端,DIFFFT中旋转因子
在输出端,除此之外,两种算法是一样的。
在本设计中实现的是基2的时间抽取FFT算法。
时间抽取FFT是将N点输入序列按照偶数和奇数分解为偶序列和奇序列两个序列:
偶序列:
x(0),x
(2),x(4),……,x(N-2)
奇序列:
x
(1),x(3),x(5),……,x(N-1)
因此,x(n)的N点FFT可表示为:
上式中,Y(k),Z(k)分别是一个N/2点的DFT。
以同样方式进一步抽取,就可以得到N/4点的DFT,重复这个抽取过程就可以使N点的DFT用一组2点的DFT来计算。
在基数为2的FFT中,设N=2M,则总共有M级运算,每级有N/2个2点DFT蝶形运算,因此,N点FFT共有(N/2)
个蝶形运算。
五.实验步骤与内容
1.复习DFT的定义、性质和用DFT作谱分析的有关内容;
2.复习FFT算法原理与编程思想,并对照DIT-FFT运算流程图和程序框图,了解本实验提供的FFT子程序;
3.阅读本实验所提供的样例子程序;
4.运行CCS软件,对样例程序进行跟踪、分析结果、记录必要的参数;
5.填写实验报告。
A.实验前的准备
1)用音频线连接“语音模块”音频输入端J14与音频源,K10按键弹起即仿真器选择连接左边的CPU:
CPU1;
2)调节音频输入R43调节旋钮至适当位置;
3)“语音模块”的拨码开关位置如下:
S1:
拨码开关S2:
拨码开关
码位
备注
1
ON,帧同步脉冲接通
2
ON:
串口时钟接通
码位
备注
1
OFF:
交流量输入
2
OFF:
扬声器关闭
4)检查:
计算机、DSP仿真器、实验箱是否正确连接位置。
B.实验
启动CCS2.0,Project/Open打开“Algorithm”目录中“exp01_cpu1”子目录下“ExpFFTAD50.prj”工程文件,双击“ExpFFTAD50.prj”及其“Source”可查看各源程序;加载“ExpFFTAD50.out”;在主程序中,在k++处设置断点;单击“Run”运行程序,程序将运行至断点处停止。
用View/Graph/Time/Frequency打开图形观察窗口;设置该观察图形窗口变量及参数;采用双综观察在起始地址分为为0x3000h和0x3080h,长度为128的单元中数值的变化,数值类型长度为16位有符号整型变量,这两段存储单元中分别存放的是经A/D转换后的语音信号和对该信号进行FFT变换的结果。
单击“Animate”运行程序,或按F10运行程序;调整观察窗口,并观察输入信号波形及其FFT变换结果;单击“Halt”暂停程序运行,关闭窗口,本实验结束。
六.FFT子程序说明
Voidkfft(pr,pi,n,k,fr,fi,l,il):
基2FFT子程序,
子程序参数说明:
n:
FFT的变换点数,应为2的整数幂。
k:
幂次
程序所用的存储变量说明:
数组x:
输入信号数组,A/D转换数据存放于地址为3000H~307FH中,转为浮点型后,生成x数组,长度为128。
数组mo:
FFT变换数组,长度为128,浮点型,整型后,写入到3080H~30FFH存储器中
七.思考题
1.FFT变换结果的波形中,谱线为什么集中在左右两旁的位置,这说明音频信号主要分布在什么频段?
2.如果对于不同的N,幅频特性会相同吗?
N增大,频率分辨率是增大还是减小?
3.用FFT进行谱分析,可应用到什么方面?
4.结合实验中所给定典型序列幅频特性曲线,与理论结果比较,并分析说明误差产生的原因以及用FFT作谱分析时有关参数的选择方法。