ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:552.39KB ,
资源ID:25814817      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25814817.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DSP实验报告.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DSP实验报告.docx

1、DSP实验报告 实验名:对模拟信号进行A/D转换和FFT变换 专业班级:电子信息工程0802 姓名: 学号: 指导老师: 信息科学与工程学院二零一 一年六月目录1 实验目的 32 实验开发环境 33 实验设备 34 实验原理 45 实验源程序 56 实验结果及分析 107 实验总结 13一、 实验目的在数字信号处理系统中,FFT作为一个非常重要的工具经常使用,甚至成为DSP运算能力的一个考核因素。FFT是一种高效实现离散傅里叶变换算法。离散傅式变换的目的是吧信号由时域变换到频域,从而在频域分析处理信息,得到的结果再由傅式变换到时域。 本实验的目的在于学习FFT算法,及其在TMS320C55X上

2、的实现,并通过编程掌握C55X的存储管理、辅助寄存器的使用、位倒序寻址方式等技巧,同时联系使用CCS的探针和图形工具,你可以使用DSP/BIOS提供的分析工具评估FFT代码执行情况。本实验通过AD转换把信号进行转换,对转换的信号进行FFT处理。 1.掌握 VC5509A 片内 AD的控制方法。 2.掌握用窗函数法设计 FFT 快速傅里叶的原理和方法。 3.熟悉 FFT 快速傅里叶特性。 4.了解各种窗函数对快速傅里叶特性的影响。二、 实验开发环境1通用 PC机一台,安装 Windows2000 或 WindowsXP 操作系统且已安装常用软件(如:WinRAR 等)。 2TMS320C55xx

3、 评估板及相关电源。本实验采用ICETEK-VC5509-A评估板。 3通用 DSP 仿真器一台及相关连线。本实验采用ICETEK-5100USB仿真器。 4控制对象(选用)。本实验采用ICETEK-CTR控制板。 5TI的 DSP 开发集成环境 Code Composer Studio。本实验采用CCS2.21 for C5000。 6仿真器驱动程序。 7实验程序及相关文档。三、 实验设备通用计算机一台,ICETEK-VC5509-EDU 实验箱。四、 实验原理1. 将从信号源获取的模拟信号经过A/D转换后,再进行FFT变换,然后输出。2. TMS320VC5509A 模数转换模块特性: 内

4、置采样和保持的10位模数转换模块ADC,最小转换时间为500ns,最大采样率为21.5kHz。 有2个模拟输入通道(AIN0AIN1)。 采样和保持获取时间窗口有单独的预定标控制。3. 模数转换工作过程: 模数转换模块接到启动转换信号后,开始转换第一个通道的数据。 经过一个采样时间的延迟后,将采样结果放入转换结果寄存器保存。 转换结束,设置标志。 等待下一个启动信号。 4. 模数转换的程序控制: 模数转换相对于计算机来说是一个较为缓慢的过程。 一般采用中断方式启动转换或保存结果,这样在 CPU 忙于其他工作时可以少占用处理时间。设计转换程序应首先考虑处理过程如何与模数转换的时间相匹配,根据实际

5、需要选择适当的触发转换的手段,也要能及时地保存结果。 由于 TMS320VC5509A DSP芯片内的 A/D转换精度是10位的,转换结果的低10位为所需数值,所以在保留时应注意将结果的高6位去除,取出低10位有效数字。5. FFT 的原理和参数生成公式: FFT 并不是一种新的变换,它是离散傅立叶变换(DFT)的一种快速算法。由于我们在计算 DFT 时一次复数乘法需用四次实数乘法和二次实数加法; 一次复数加法则需二次实数加法。每运算一个 X(k)需要 4N次复数乘法及 2N+2(N-1)=2(2N-1)次实数加法。所以整个 DFT运算总共需要 4N2 次实数乘法和 N*2(2N-1)=2N(

6、2N-1)次实数加法。如此一来,计算时乘法次数和加法次数都是和 N2 成正比的,当 N很大时,运算量是可观的,因而需要改进对 DFT 的算法减少运算速度。 根据傅立叶变换的对称性和周期性,我们可以将 DFT 运算中有些项合并。 我们先设序列长度为 N=2L,L 为整数。将 N=2L 的序列 x(n)(n=0,1,,N-1),按N的奇偶分成两组,也就是说我们将一个 N点的 DFT 分解成两个 N/2 点的 DFT,他们又重新组合成一个如下式所表达的 N点 DFT: 一般来说,输入被假定为连续的。当输入为纯粹的实数的时候,我们就可以利用左右对称的特性更好的计算DFT。 我们称这样的 RFFT 优化

7、算法是包装算法:首先 2N 点实数的连续输入称为“进包”。其次N点的 FFT 被连续运行。最后作为结果产生的 N点的合成输出是“打开”成为最初的与 DFT 相符合的 2N点输入。 使用这一思想,我们可以划分 FFT 的大小,它有一半花费在包装输入O(N)的操作和打开输出上。这样的 RFFT 算法和一般的 FFT 算法同样迅速,计算速度几乎都达到了两次 DFT的连续输入。6. 程序流程图:A/D转换模型流程图FFT变换流程图五、 实验源程序实验相关文档处有以下文件的源代码:5509.h、C5509.h、c55xxdefs.h、func.h、myapp.h、ICETEK-VC5509-EDU.h、

8、peripherals.h、scancode.h、util.h、sdram_init.c 、util.c、ICETEK-VC5509-A.cmd。ad.h的源代码:void InitADC();void wait(unsigned int cycles);void InitADC() ADCCLKCTL=0x23; / 4MHz ADCLK ADCCLKDIV=0x4f00;void wait( unsigned int cycles ) int i; for ( i = 0 ; i cycles ; i+ ) AD_FFT.h的源代码#include #define PI 3.1415926

9、#define SAMPLENUMBER 128float wSAMPLENUMBER;float sin_tabSAMPLENUMBER,cos_tabSAMPLENUMBER;void FFT(float dataRSAMPLENUMBER,float dataISAMPLENUMBER);void InitForFFT();void FFT(float dataRSAMPLENUMBER,float dataISAMPLENUMBER) int x0,x1,x2,x3,x4,x5,x6,xx; int i,j,k,b,p,L; float TR,TI,temp; /* following

10、 code invert sequence */ for ( i=0;iSAMPLENUMBER;i+ ) x0=x1=x2=x3=x4=x5=x6=0; x0=i&0x01; x1=(i/2)&0x01; x2=(i/4)&0x01; x3=(i/8)&0x01;x4=(i/16)&0x01; x5=(i/32)&0x01; x6=(i/64)&0x01; xx=x0*64+x1*32+x2*16+x3*8+x4*4+x5*2+x6; dataIxx=dataRi; for ( i=0;iSAMPLENUMBER;i+ ) dataRi=dataIi; dataIi=0; /* follow

11、ing code FFT */ for ( L=1;L0 ) b=b*2; i-; /* b= 2(L-1) */ for ( j=0;j0 ) /* p=pow(2,7-L)*j; */ p=p*2; i-; p=p*j; for ( k=j;k128;k=k+2*b ) /* for (3) */ TR=dataRk; TI=dataIk; temp=dataRk+b; dataRk=dataRk+dataRk+b*cos_tabp+dataIk+b*sin_tabp; dataIk=dataIk-dataRk+b*sin_tabp+dataIk+b*cos_tabp; dataRk+b=

12、TR-dataRk+b*cos_tabp-dataIk+b*sin_tabp; dataIk+b=TI+temp*sin_tabp-dataIk+b*cos_tabp; /* END for (3) */ /* END for (2) */ /* END for (1) */ for ( i=0;iSAMPLENUMBER/2;i+ ) wi=sqrt(dataRi*dataRi+dataIi*dataIi); /* END FFT */void InitForFFT() int i; for ( i=0;iSAMPLENUMBER;i+ ) sin_tabi=sin(PI*2*i/SAMPL

13、ENUMBER); cos_tabi=cos(PI*2*i/SAMPLENUMBER); clk_init.c的源代码:#includemyapp.hvoid CLK_init() ioport unsigned int *clkmd; clkmd=(unsigned int *)0x1c00; *clkmd =0x2033; / 0x2033;/0x2413;/ 200MHz=0x2513void SetDSPPLL(unsigned int uPLL) ioport unsigned int *clkmd; clkmd=(unsigned int *)0x1c00; *clkmd =uPL

14、L;void TMCR_reset( void ) ioport unsigned int *TMCR_MGS3=(unsigned int *)0x07FE; ioport unsigned int *TMCR_MM =(unsigned int *)0x07FF; *TMCR_MGS3 =0x510; *TMCR_MM =0x000;FFT.c的源代码:#include myapp.h#include ICETEK-VC5509-EDU.h#include scancode.h#include #include ad.h#include AD_FFT.h#define PI 3.14159

15、26#define SAMPLENUMBER 128/void InitForFFT();/void MakeWave();/void FFT(float dataRSAMPLENUMBER,float dataISAMPLENUMBER);int INPUTSAMPLENUMBER,DATASAMPLENUMBER;float fWaveRSAMPLENUMBER,fWaveISAMPLENUMBER;int nADC0256,nADC1256;float wSAMPLENUMBER;main() int i; int uWork; /EnableAPLL(); /SDRAM_init();

16、 InitADC(); PLL_Init(144); while ( 1 ) for ( i=0;i256;i+ ) ADCCTL=0x8000; / 启动AD转换,通道0 do uWork=ADCDATA; while ( uWork&0x8000 ); nADC0i=uWork&0x0fff; for ( i=0;i128;i+ ) INPUTi=nADC0i;/ INPUTi=(float)INPUTi; /asm( nop); / break point/FFT InitForFFT(); for ( i=0;iSAMPLENUMBER;i+ ) fWaveRi=(float)INPU

17、Ti; fWaveIi=0.0f; wi=0.0f; FFT(fWaveR,fWaveI); for ( i=0;iSAMPLENUMBER;i+ ) DATAi=wi; /while ( 1 ); / break point 六、 实验结果及分析图一 三角波输出波形与FFT变换图 图二 三角波输出波形的FFT输出与FFT变换图对比 这是输入信号,由实验箱中信号源提供,信号源连线是由“波形输出”插座的“3”和“A/D输入”,模块“ADCIN2”插座获得。通过调节我们获得“三角形”波,该波在图一中捕获的可以清楚看到是一个三角形的波,通过FFT原理我们获得图一右,在图二我们把图一作输出改为FFT Magnitude输出进行对比,通过图二左右对比就可发现图形一样。接下来也是按照这个功能逐个测试,会有“方波”,“正弦波”进行测试。图三 方波输出波形的信号输出图四 方波输出波形与FFT变换图图五 方波输出波形的FFT输出与FFT变换图对比图六 正弦波输出波形与FFT变换图 图七 正弦波输出波形的FFT输出与FFT变换图对比 七、 实验总结通过此次实验,不仅令我熟悉了CCS开发环境及步骤,而且使我对DSP硬件系统有了一定的接触和了解,使我掌握及更好地理解了FFT的DSP实现。掌握了用窗函数法设计 FFT 快速傅里叶的原理和方法。

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

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