版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京邮电大学数字信号处理硬件实验学院:班级:学号:姓名:班内序号实验一:常用指令实验一、实验目的1.熟悉DSP开发系统的连接2.了解DSP开发系统的组成和结构和应用系统构成3.熟悉常用C54X系列指令的用法(程序寻址,寄存器,I/O口,定时器,中断控制)。二、实验设备计算机,CCS2.0版软件,DSP仿真器,实验箱。三、实验操作方法1、系统连接进行DSP实验之前,先必须连接好仿真器、实验箱及计算机,连接方法如下所示:在硬件安装完成后,接通仿真器电源或启动计算机,此时,仿真盒上的“红色小灯”应点亮,否则DSP开发系统与计算机连接有问题。2、运行CCS程序先实验箱上电,然后启动CCS,此时仿真器上的“绿色小灯”应点亮,并且CCS正常启动,表明系统连接正常;否则仿真器的连接、JTAG接口或CCS相关设置存在问题,掉电,检查仿真器的连接、JTAG接口连接,或检查CCS相关设置是否正确。四、实验步骤与内容(一)简单指令程序运行实验1、实验使用资源实验通过实验箱上的XF指示灯观察程序运行结果2、实验过程启动CCS2.0,并加载“exp01.out”;加载完毕后,单击“Run”运行程序;实验结果:可见XF灯以一定频率闪烁;单击“Halt”暂停程序运行,则XF灯停止闪烁,如再单击“Run”,则“XF”灯又开始闪烁;关闭所有窗口,本实验完毕。源程序查看:用下拉菜单中Project/Open,打开“Exp01.pjt”双击“Source”,双击“exp01.asm”可查看源程序。源程序注释如下: .mmregs .global_main_main: stm #3000h,sp ssbx xf;将XF置1 call delay;调用延时子程序,延时 rsbx xf;将XF置0 call delay;调用延时子程序, b _main;程序跳转到"_MAIN" nop nop;延时子程序 delay: stm 270fh,ar3;设置辅助寄存器ar3loop1: ;循环开始 stm 0f9h,ar4 ;设置辅助寄存器ar4loop2: banz loop2,*ar4-;跳转指令ar4做自减,在减到零之前一直做loop2 banz loop1,*ar3- ;跳转指令,ar3做自减,在ar3减到零之前,一直做loop1 ret ;返回指令 nop nop .end实验截图(二)资料存储实验1、实验使用资源本实验指导书是以TMS32OVC5410为例,介绍相关的内部和外部内存资源。对于其它类型的CPU请参考查阅相关的资料手册。下面给出TMS32OVC5410的内存分配表:对于存储空间而言,映像表相对固定。值得注意的是内部寄存器与存储空间的映像关系。因此在编程应用时这些特定的空间不能作其它用途。对于程序存储空间而言,其映像表和CPU的工作模式有关。当MP/MC引脚为高电平时,CPU工作在微处理器模式;当MP/MC引脚低电平时,CPU工作在为计算机模式。具体的内存映像关系如上如所示。内存实验主要了解内存的操作和DSP的内部双总线结构。并熟悉相关的指令代码和执行过程等。2、实验过程连接好DSP开发系统,运行CCS软件;a)在CCS的Memory窗口中查找C5410各个区段的数据存储器地址,在可以改变的存储器内容的地方,选定地址随意改变其中内容并观察结果;b)在CCS中装载实验示范程序,单步执行程序,程序中写入和读出的数据存储地址的变化;c)改变其它寻址方式,进行观察数据存储器地址与写入和读出数据的的变化。本实验说明:本实验程序将对0x1000开始的8个地址空间,填写入0xAAAA的数值,然后读出,并存储到0X1008开始的8个地址空间。在CCS中可以观察DATA内存空间地址0X1000~0X100F值的变化。样例程序实验操作说明:启动CCS2.0,并加载“exp02.out”,用“View”下拉菜单中的“Memory”查看内存单元,输入要查看的内存单元地址,本实验要查看0x1000H~0x100FH单元的数值变化,输入地址0x1000H,查看0x1000H~0x100FH单元的初始值,单击“Run”运行程序,也可以“单步”运行程序,单击“Halt”暂停程序运行,查看0x1000H~0x100FH单元内数值的变化关闭各窗口,本实验完毕。源程序注释:;getsomeknowledgeofthecmdfile;theprogramiscompiledatnoautoinitializationmode .mmregs .global_main_main:;storedata stm 1000h,ar1;addressofinternalmemory rpt #07h st 0aaaah,*ar1+;将数据"0AAAAH"存放到以地址1000H~1007H的八个存储单元中.;readdatathenre-store stm 7h,ar3 stm 1000h,ar1 stm 1008h,ar2loop:;循环的将1000H~1007H的八个单元中的数据COPY到1008H~100F的;八个存储单元中. ld *ar1+,t;将辅助寄存器ar1的值赋给t,且ar1地址加1
st t,*ar2+;存储T寄存器的值.将t的值存储在ar2所对应内存中,且ar2地址加1 banz loop,*ar3-here:;寄存器ar3地址减1,当其值不为0时跳转到loop无条件转移至herebhere .end实验截图(三)I/O实验1、实验使用资源数字量输入信号全部拓展出来,数字量输入接口主要由两个,D_Exp与扳东开关连接,PX4和PX5与电平转换芯片(74LVC245)连接,其功能分别为:D_Exp—数字量输入扩展接口123456789I0I1I2I3I4I5I6I7VCC电平转换扩展接口1234PX4—5VIN0IN1IN2IN3PX5—3.3VOUT3OUT2OUT1OUT0通过PORTR,PORTW指令可以实现I/O口的输入输出功能,如数字量采集实验。实验说明:实验中采用简单的一一映像关系来对I/O口进行验证,目的是使实验者能够对I/O有一目了然的认识。在本实验系统中,提供的IO空间分配如下:CPU1:0x0000 switchinput(X)80x0001 LEDoutput(X)8CPU2: 0x0001 DAC0x0004 Read_Key0x0006 Write_Key0x000F Write_LCD0x8000 HPIC00x8001 HPIC10x8002 HPID0(AUTO)0x8003 HPID1(AUTO)0x8004 HPIA00x8005 HPIA10x8006 HPID0(NOAUTO)0x8007 HPID1(NOAUTO)实验程序框图注意:电平转换接口主要考虑应用3.3V的中央处理器时,系统的电平兼容问题,用来保护CPU不受损坏。系统采用74LVC245电平兼容转换器件。2、实验过程运行CCS程序,装载示范程序,调整K0~K7的开关,观察LP1~LP7LED亮灭的变化,以及输入和输出状态是否一致。(注意:输出为0时点亮灯)例程序实验操作说明启动CCS2.0,并加载“exp03.out”,单击“Run”运行程序,任意调整K0~K7开关,可以观察到对应LP0~LP7灯“亮”或“灭”;单击“Halt”,暂停持续运行,开关将对灯失去控制。关闭所有窗口,本实验完毕。源程序查看:用下拉菜单中Project/Open,打开“Exp03.pjt”,双击“Source”,双击“exp03.asm”可查看源程序。代码如下:.mmregs .global _main .text_main: stm 3100h,sp stm 1000h,ar1 portr 8000h,*ar1;读入I/O8000H数据,将其存储到数据空间的1000H nop ;NOP为空操作,起延时作用. nop portw *ar1,8001h;将数据空间的1000H单元的数据,写出到I/O8000H nop nopb _main;程序跳转到"_MAIN"执行.nopnop.end实验截图(四)定时器实验1、实验使用资源定时器实验时要用到C54芯片的定时器控制寄存器,定时器时间常数寄存器,定时器中断响应,寄存器定义详见C54芯片资料。C54的定时器是一个20位的减法计数器,可以被特定的状态位实现停止、重新启动、重设置或禁止,可以使用该定时器产生周期性的CPU中断,控制定时器中断频率的两个寄存器是定时周期寄存器PRD和定时减法寄存器TDDR定时器实验通过LED(LP1~LP7)来显示。在本系统中,时钟频率为20MHZ,令PRD=0x4e1f,这样得到每1/1000秒中断一次,通过累计1000次,就能定时1秒钟。2、实验过程调入样例程序,装载并运行;例程序实验操作说明启动CCS2.0,并加载“exp04.out”,单击“Run”运行,可观察到LED灯(LP0~LP7)以一定的间隔时间不停摆动,单击“Halt”,暂停程序运行,LED灯停止闪烁,单击“Run”,运行程序,LED灯又开始闪烁。关闭所有窗口,本实验完毕。exp04.c 函数、子程序声明与定义voidsys_ini()//系统初始化子程序asm("ssbxINTM");//全局禁止所有可屏蔽中断PMST&=0x00FF;//(DRAM映射到程序空间和数据空间)向量表映射到0x0080空间SWWSR=0x7000;//io空间7个等待周期,程序与数据空间0个等待周期CLKMD=0x17FA;//CLKOUT=2*CLKIN=2*10M=20M,自动延时最长时间voidtimer0_ini()//定时器0初始化子程序TCR|=0x0010;//停止定时器0PRD=0x2710;//PRD=10000(D)TCR|=0x000A;//TDDR=10(D),所以定时器时钟=1/(20M/10/10000)=5msIMR=0x0008;//使能定时器0中断IFR=0xFFFF;//清除所有中断标志位asm("rsbxINTM");//全局使能可屏蔽中断TCR&=0xFFEF;//开始定时器0TCR|=0x0020;//复位定时起0中断服务子程序声明与定义interruptvoidtimer0()//定时器0中断子程序if(num==200)//记200次定时器中断,时间=200*5ms=1sshow=~show;//取反num=0;elsenum++;return;主程序voidmain(void)sys_ini();timer0_ini();for(;;)port8001=show;vectors.asm.global_c_int00,_timer0.sect".vecs";自定义向量表
reset:;复位中断时跳转到c程序主函数(branch
to
C
entry
point延迟分支到c程序,默认入口地址c_int00)
开辟堆栈空间
b_c_int00;nopnopnmi:rete;NMI
非屏蔽外部中断输入引脚,不可屏蔽中断时,返回并允许产生该中断nopnopnopsin17:.space4*16;保留中断向量的地址空间sin18:.space4*16sin19:.space4*16sin20:.space4*16sin21:.space4*16sin22:.space4*16sin23:.space4*16sin24:.space4*16sin25:.space4*16sin26:.space4*16sin27:.space4*16sin28:.space4*16sin29:.space4*16sin30:.space4*16int0:retenopnopnopint1:rete;中断寄存器设置为rete返回,允许中断外部产生中断,并且直接返回
nopnopnopint2:retenopnopnoptint0:b_timer0;检测到定时器产生中断时,返回到c程序中的timer()nopnopbrint0:retenopnopnopbxint0:retenopnopnopdmac0:retenopnopnoptint1_dmac1:retenopnopnopint3:retenopnopnophpint:retenopnopnopbrint1_dmac2:retenopnopnopbxint1_dmac3:retenopnopnopdmac4:retenopnopnopdmac5:retenopnopnop实验截图(五)INT2中断实验1、实验使用资源本实验是进行C54芯片的INT2中断练习,C54芯片中断INT2是低电平单脉冲触发;实验采用导线一端连接D_Exp—数字量输入扩展接口I0,经PX4的IN3,到PX5的OUT0电平转换,再与另一端连接INT2插孔;拨动开关K0一次,就产生一个低电平单脉冲;运行示范程序,观察LP1~LP7LED灯的输出变化;可观察到每拨动开关K0一次LP1~LP7灯亮灭变化一次;2、实验过程样例程序实验操作说明启动CCS2.0,并加载“exp05.out”,单击“Run”运行程序,反复拨动开关K0,观察LP1~LP7LED灯亮灭变化,单击“Halt”暂停程序运行,反复拨动开关K0,LP1~LP7LED灯亮灭不变化;关闭所有窗口,本实验完毕。源程序查看:用下拉菜单中Project/Open,打开“Exp05.pjt”,双击“Source”,双击“int2.c”、“initial.asm”、“port.asm”以及“vectors.asm”可查看各源程序。int2.cinterruptvoidint2c();externvoidinitial();externvoid porta();externvoidportb();intflag=0,i=0;main() initial();//初始化 while(1)//死循环 ;//空语句interruptvoidint2c()//中断子程序i=i+1;if(i==1);当i为1时,让灯点亮,否则让i为零
if(flag==0) flag=1;;当flag为1时,执行portb(),让ar1的值为aaaah,即第二四六八个灯亮orta();i=0; else flag=0;当flag为0时,执行porta(),让ar1的值为5555h,即第一三五七个灯亮
portb(); i=0; else i=0; return;initial.asm .mmregs .global_initial.text_initial: NOP LD#0,DP ;将0装入数据页指针(DP)中
STM#0,CLKMD STM#0,CLKMD;设置pll为div分频模式
TstStatu1:LDMCLKMD,AAND#01b,A;将A中数据和01b求与之后存入A中BCTstStatu1,ANEQ ;
ANEQ,A不等于0时程序跳转到TstStatu1
STM#0xF7FF,CLKMD;设置C5402DSP时钟到10MHz STM0x3FA0,PMST;vectorsat3F80hARAM映射到数据和程序存储空间
ssbx1,11;设置ST1.INTM=1,停止所有的中断
stm#00h,imr ;停止所有的中断 stm#0ffffh,ifr ;清除所有中断的标志位 stm#04h,imr ;开启int2的外部中断 rsbx1,11 ;开启所有中断 ret .endport.asm .mmregs .global _porta .global _portb _porta:;
stm 304h,ar1;将304h赋值给辅助寄存器ar1 st 5555h,*ar1;将内存304h的内容赋值给5555h,2468灯亮 portw *ar1,8001h;将内存304h的值写入8001h端口
ret _portb: stm 304h,ar1 st 0aaaah,*ar1;将内存304h的内容赋值给0aaaah,1257灯亮 portw *ar1,8001h;将内存304h的值写入8001h端口
retVector.asm.sect".vectors".ref_c_int00;引用函数c_int100.ref_int2c.align0x80;
页边界排列RESET:;复位中断响应BD_c_int00;延迟分支到C程序默认入口地址c_int00是C程序的入口STM#200,SP;将堆栈寄存器SP的值设为200nmi:RETE;中断屏蔽置为0,响应中断,不可屏蔽中断是,是中断屏蔽取消后返回。
NOPNOPNOPsint17.space4*16;
保留中断向量的地址空间sint18.space4*16sint19.space4*16sint20.space4*16sint21.space4*16sint22.space4*16sint23.space4*16sint24.space4*16sint25.space4*16sint26.space4*16sint27.space4*16sint28.space4*16sint29.space4*16sint30.space4*16int0:;
中断寄存器设置rete返回并允许中断外部中断产生时,直接返回。 RETENOPNOPNOPint1: RETENOPNOPNOPint2: b_int2c;定时器产生中断时,返回到C程序中的timer函数。
NOPNOPtint: RETENOPNOPNOPrint0:;同步串口0(McBSP0)接受的中断,直接返回
RETENOPNOPNOPxint0:;同步串口0(McBSP0)发送的中断,直接返回
RETENOPNOPNOPrint1:;
同步串口1(McBSP1)接受的中断,直接返回
RETENOPNOPNOPxint1:;同步串口1(McBSP1)发送的中断,直接返回RETENOPNOPNOPint3: RETENOPNOPNOP实验截图(六)A/D采样实验一、实验目的1.掌握利用TLV320AD50实现A/D转换的技术基本原理和常用方法。2.学会DSP的多信道缓冲串口的应用方法。3.掌握并熟练使用DSP和AD50的接口及其操作。4.通过实验加深对DSP系统频谱混叠认识。二、实验设备计算机,CCS2.0软件,DSP仿真器,实验箱,示波器,连接导线。三、实验步骤和内容1.实验连线用短接块短接SS1的1,2脚,设置输出低频信号;短接S2的Sin脚,设置输出正弦波信号,这时模拟信号产生单元SP1输出为低频正弦波。JD跳线断开,设置语音处理单元输入信号为交流;并用导线连接SP1脚和JAD3的1脚,将模拟低频正弦波信号接入语音处理单元。用导线连接JAD1的INP和INPF,以及JAD2的INM和INMF,将语音处理单元输出的差动模拟信号接入AD50输入端。2.运行CCS2.0软件,装入“exp06.pjt”工程文件,双击“exp06.pjt”及“Source”3.加载“exp06.out”示范程序,在“exp06.c”中“READAD50()”处,设置断点,运行程序,通过用下拉菜单中的View/Graph的“Time/Frequency”打开一个图形观察窗口,调节输入信号的频率或幅值,观察图形情况(幅值和频率),设置该图形观察窗口的参数,观察起始地址为0x1000H,长度为256的内存单元内的数据,该资料为输入信号经A/D转换之后的数据,数据类型为16位整型,击“Animate”运行程序,在图形观察窗口观察A/D转换后的采样波形。在图形观察窗口观察A/D转换后的采样波形;源程序查看exp06.c#include"tms320uc5402.h";文件预处理ioportunsignedport8008;;全局变量定义与初始化//ad7822的地址unsignedintdata_buff[256];unsignedintj=0;函数、子程序声明与定义voidsys_ini()//系统初始化子程序//全局禁止所有可屏蔽中断asm("ssbxINTM");//(DRAM映射到程序空间和数据空间)向量表映射到0x0080空间PMST&=0x00FF;//io空间7个等待周期,程序与数据空间0个等待周期SWWSR=0x7000;//设置pll为div模式CLKMD=0x0000;//等待设置完成while(CLKMD==0x0001);//CLKOUT=(3+1)*CLKIN=40M,自动延时最长时间CLKMD=0x37FA;//CLKOUT=(1+1)*CLKIN=20M,自动延时最长时间//CLKMD=0x17FA;voidint1_ini()IMR=0x0002;//使能外部中断1IFR=0xFFFF;//清除所有中断标志位asm("rsbxINTM");//全局使能可屏蔽中断中断服务子程序声明与定义interruptvoidint1()//int1中断子程序data_buff[j]=port8008&0x00FF;//读取ad7822转换数据j++;if(j==255)j=0;return;主程序voidmain(void)sys_ini();int1_ini();for(;;)vector.asm.global_main,_int1.sect".vecs";
自定义向量表
reset:b_main;复位中断时跳转到c程序主函数(branch
to
C
entry
point延迟分支到c程序,默认入口地址c_int00)nopnopnmi:rete;NMI
非屏蔽外部中断输入引脚,不可屏蔽中断时,返回并允许产生该中断nopnopnop;保留中断地址的空间
sin17:.space4*16sin18:.space4*16sin19:.space4*16sin20:.space4*16sin21:.space4*16sin22:.space4*16sin23:.space4*16sin24:.space4*16sin25:.space4*16sin26:.space4*16sin27:.space4*16sin28:.space4*16sin29:.space4*16sin30:.space4*16int0:retenopnopnopint1:b_int1;跳转int1中断子程序nopnopint2:rete;中断寄存器设置为rete返回,允许中断外部产生中断,并且直接返回nopnopnoptint0:rete;TIMER0INTERRUPTnopnopnopbrint0:rete;BcBSP0RECEIVEINTERRUPTnopnopnopbxint0:rete;BcBSP0TRANSMITINTERRUPTnopnopnopdmac0:rete;RESERVEDORDMACHANNEL0INTERRUPTnopnopnoptint1_dmac1:rete;TIMER1INTERRUPTORDMACHANNEL1INTERRUPTnopnopnopint3:rete;EXTERNALINT3nopnopnophpint:rete;HPIINTERRUPTnopnopnopbrint1_dmac2:rete;McBSP1RECEIVEINTERRUPTORDMACHANNEL2INTERRUPTnopnopnopbxint1_dmac3:rete;McBSP1TRANSMITINTERRUPTORDMACHANNEL3INTERRUPTnopnopnopdmac4:rete;DMACHANNEL4INTERRUPTnopnopnopdmac5:rete;DMACHANNEL5INTERRUPTnopnopnop.end实验七:D/A转换实验一、实验目的1.掌握利用TLV320AD50实现D/A转换的技术基本原理和常用方法。2.进一步学习DSP的多信道缓冲串口的应用方法。3.掌握并熟练使用DSP和AD50的输出接口及其操作。二、实验设备计算机,CCS2.0版软件,DSP仿真器,实验箱,示波器。三、实验步骤与内容1.不需联机,通过示波器观测输出波形情况;2.运行CCS软件,加载示范源程序,了解实验程序;3.加载示范程序“exp07.out”,并通过File/Data/Load装载波形数据sin.dat。4.按F5运行程序,用示波器检测JAD4的3脚AD50_DAout输出一个正弦波;5.在程序中,改变相应资料来实现改变波形和周期;得到的波形如下所示:查看源程序vector.asm .def Interrupt_Vectors; .refnNMI_SINT16; .refSINT17; .refSINT18; .refSINT19; .refSINT20; .refSINT21; .refSINT22; .refSINT23; .refSINT24; .refSINT25; .refSINT26; .refSINT27; .refSINT28; .refSINT29; .refSINT30; .ref_ExtInt0; .ref_ExtInt1; .ref_Tint0; .refBRINT0_SINT4; .refBXINT0_SINT5; .ref_Tint1; .ref_ExtInt3; .ref_mcbsp1_read; .ref_mcbsp1_write;.ref _ExtInt2 .ref _c_int00STACK_LEN.set100STACK .usect"STK",STACK_LEN.sect".vectors".align0x80;mustbealignedonpageboundary;theInterrutptableseespru13lg:P182Interrupt_Vectors:nRS_SINTR: ;ResetInterruptvector(vector_base+0x00)stm #STACK+STACK_LEN,SPb _c_int00nNMI_SINT16: ;Non-maskableInterruptVector(vector_base+0x04);b nNMI_SINT16 retenopnop ;nop ;SINT17: ;SoftwareInterrupt17Vector(vector_base+0x08);b SINT17 ;contextswitchretenopnop ;nop ;SINT18: ;SoftwareInterrupt18Vector(vector_base+0x0C);b SINT18retenopnop ;nop ;SINT19:;SoftwareInterrupt19Vector(vector_base+0x10);b SINT19retenopnop ;nop ;SINT20:;SoftwareInterrupt20Vector(vector_base+0x14);b SINT20retenopnop;nop ;SINT21:;SoftwareInterrupt21Vector(vector_base+0x18);b SINT21retenopnop ;nop;SINT22:;SoftwareInterrupt22Vector(vector_base+0x1C);b SINT22retenopnop ;nop ;SINT23:;SoftwareInterrupt23Vector(vector_base+0x20);b SINT23retenopnop ;nop ;SINT24:;SoftwareInterrupt24Vector(vector_base+0x24);b SINT24retenopnop ;nop ;SINT25:;SoftwareInterrupt25Vector(vector_base+0x28);b SINT25retenopnop ;nop ;SINT26:;SoftwareInterrupt26Vector(vector_base+0x2C);b SINT26retenopnop ;nop ;SINT27:;SoftwareInterrupt27Vector(vector_base+0x30);b SINT27retenopnop ;nop ;SINT28:;SoftwareInterrupt28Vector(vector_base+0x34);b SINT28retenopnop ;nop ;SINT29:;SoftwareInterrupt29Vector(vector_base+0x38);b SINT29retenopnop ;nop ;SINT30:;SoftwareInterrupt30Vector(vector_base+0x3C);b SINT30retenopnop ;nop ;nINT0_SINT0: ;ExternalInterrupt0Vector(vector_base+0x40) ;b_ExtInt0 rete nopnop ;nop nINT1_SINT1: ;ExternalInterrupt1Vector(vector_base+0x44);b_ExtInt1retenopnopnopnINT2_SINT2: ;ExternalInterrupt2Vector(vector_base+0x48) ;b_ExtInt2 rete nop nop nop TINT0_SINT3: ;TimerInterruptVector(vector_base+0x4C) ;b_Tint0 rete nop nop nopBRINT0_SINT4: ;McBSP#0receiveInteruptVector(vector_base+0x50);b BRINT0_SINT4retenopnop;nopBXINT0_SINT5: ;McBSP#0transmitInteruptVector(vector_base+0x54);b BXINT0_SINT5retenopnop;nopDMAC0_SINT6: ;DMAchannel0InteruptVector(vector_base+0x58)rete nop nop nopTINT1_DMAC1_SINT7: ;Timer1orDMAchannel1InteruptVector(vector_base+0x5C) ;b_Tint1 rete nop nop nopnINT3_SINT8: ;ExternalInterupt3Vector(vector_base+0x60) ;b_ExtInt3 rete nop nopnopHPINT_SINT9: ;HPIinterruptretenopnopnopBRINT1_DMAC2_SINT10: ;McBSP#1receiveorDMA2interruptretenopnopnop ;b _mcbsp1_read BXINT1_DMAC3_SINT11: ;McBSP#1transmitorDMA3interruptretenopnopnop;b _mcbsp1_writeDMAC4_SINT12: ;DMAchannel4 rete nop nop nopDMAC5_SINT13: rete nop nop nopRESERVED.space8*16 .end快速傅里叶变换(FFT)算法实验实验目的加深对DFT算法原理和基本性质的理解;熟悉FFT算法原理和FFT子程序的应用;学习用FFT对连续信号和时域信号进行谱分析,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。实验设备计算机,CCS3.1版软件,实验箱,DSP仿真器。基本原理离散傅里叶变换DFT的定义:将时域的采样变换成频域的周期性离散函数,频域的采样也可以变换成时域的周期性离散函数,将这样的变换称为离散傅里叶变换,简称DFT。FFT是DFT的一种快速算法,将DFT的N2步运算减少为(N/2)log2N步,极大地提高了运算的速度。旋转因子的变化规律。蝶形运算规律。基2FFT运算。四、实验步骤1.学习DFT的定义、性质和用DFT作谱分析的有关内容;2.学习
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高考物理一轮复习之万有引力与宇宙航行
- 2024年航空安全员安全检查及相关法规知识试题库与答案
- 2024年煤气试题库附答案
- 创意作品著作权保护合同(2篇)
- 2024物流实习工作总结个人(30篇)
- 2024年计算机专业学习心得体会
- 2024年福建省《辅警招聘考试必刷500题》考试题库含答案【综合卷】
- 易错点15 现代史的四个阶段-备战2023年中考历史考试易错题(解析版)
- 2024年度天津市公共营养师之三级营养师考前冲刺模拟试卷A卷含答案
- 2024年度四川省公共营养师之四级营养师能力提升试卷A卷附答案
- ISO 56001-2024《创新管理体系-要求》专业解读与应用实践指导材料之15:“6策划-6.4创新组合”(雷泽佳编制-2025B0)
- 广东省广州市天河区2022-2023学年七年级上学期期末语文试题(含答案)
- 标准厂房施工方案
- DBJT45T 037-2022 高速公路出行信息服务管理指南
- 港口码头租赁协议三篇
- 浙江省绍兴市柯桥区2023-2024学年高一上学期期末教学质量调测数学试题(解析版)
- 项目部实名制管理实施措施
- 颞下颌关节疾病试题
- 福建省厦门市2023-2024学年高二上学期期末考试质量检测化学试题 附答案
- 非甾体抗炎药围术期镇痛专家共识(2024 版)解读
- 安全使用文具班会课
评论
0/150
提交评论