欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    江苏大学dsp课程设计.docx

    • 资源ID:8206950       资源大小:363.58KB        全文页数:16页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    江苏大学dsp课程设计.docx

    1、江苏大学dsp课程设计 JIANGSU UNIVERSITY 本 科 生 课 程 设 计基于CCS和ICETEK5509实验箱FFT算法的C语言实现与验证学院名称: 计算机科学与通信工程学院 专业班级: 学生姓名: 指导教师姓名: 2014年 7月1、设计目的与意义 1、本课程设计与理论课、实验课一起构成DSP芯片原理与应用完整课程 体系; 2、针对理论课、实验课中无时间和不方便提及内容和需强调重点进行补充与 完善; 3、以原理算法的实现与验证体会DSP技术的系统性,并加深基本原理的体会。2、设计要求 1、系统设计要求: .设计一个以ICETEK5509为硬件主体,FFT为核心算法的频谱分析系

    2、统 方案; .用C语言编写系统软件的核心部分,熟悉CCS调试环境的使用方法, 在CCS IDE中仿真实现方案功能; .在实验箱上由硬件实现频谱分析。 2、具体要求: .FFT算法C语言实现与验证 1) 参考教材14.3节FFT核心算法在CCS软件仿真环境中建立FFT工 程:添加main()函数,更改教材中个别语法错误,添加相应的库文 件,建立正确的FFT工程; 2) 设计检测信号,验证FFT算法的正确性及FFT的部分性质; 3) 运用FFT完成IFFT的计算。 .单路、多路数模转换(A/D) 1) 回顾CCS的基本操作流程,尤其是开发环境的使用; 2) 参考实验指导和示例工程掌握5509芯片A

    3、/D的C语言基本控制流 程; 3) 仔细阅读工程的源程序,做好注释,为后期开发做好系统采集前端 设计的准备。 .系统集成,实现硬件频谱分析 1) 整合前两个工程,实现连续信号的频谱分析工程的构建; 2) 参考A/D转换示例和DSP系统功能自检示例完成硬件连接,并测试 开发系统运行效果; 3) 基于现有系统,对于实时频谱分析给出进一步开发设计和系统改良 方案。三、课程设计原理1、DSP应用系统构成: 注:一般的输入信号首先进行带限滤波和抽样,然后进行模数(A/D)转换,将信号变成数字比特流。根据奈奎斯特抽样定理,对低通信号模拟,为保持信号的不丢失,抽样频率必须至少是输入带限信号的最高频率的2倍,

    4、工程上为带限信号最高频率的3-5倍。 2、快速离散傅里叶变换(FFT)的基本原理:频谱分析系统FFT是一种快速有效地计算离散傅里叶变换(DFT)的方法。它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅里叶变换的算法进行改进获得的。因为需要N次复数乘法和N-1次复数加法,所以计算全部X(k),共需要次复数乘法和N(N-1)次复数加法。实现一次复数乘法需要四次实数乘法和两次实数加法,一次复数加法需要两次实数加法,因此直接计算全部X(k)共需要4次实数乘法和2N(2N-1)次实数加法。为减少运算量,提高运算速度,就必须改进算法。FFT算法就是不断地把长序列的DFT分解成几个短序列的DFT,并利

    5、用的周期性和对称性来减少DFT的运算次数。具有以下固有特性:(1)的周期性: (2)的对称性: (3)的可约性: 另外,。利用的上述特性,将x(n)或X(k)序列按一定规律分解成短序列进行运算,这样可以避免大量的重复运算,提高计算DFT的运算速度。算法形式有很多种,但基本上可以分为两大类,即按时间抽取(Decimation In Time,DIT)FFT算法和按频率抽取(Decimation In Frequency,DIF)FFT算法。 N=8的按时间抽取FFT3、单路、多路模数转换实验原理(AD) TMS320VC5509A模数转换模块特性: 带内置采样和保持的10位模数转换模块ADC,最

    6、小转换时间为500ns, 最大采样率为21.5KHz。 2个模拟输入通道(AIN0-AIN1)。 采样和保持获取时间窗口有单独的预定标控制。 模数转换工作过程: 模数转换模块接到启动转换模块后,开始转换第一通道的数据。 经过一个采样时间的延迟后,将采样结果放入转换结果寄存器保存。 转换结束,设置标志。 等待下一个启动信号。 模数转换的程序控制:模数转换相对于计算机来说是一个较为缓慢的过程。一般采用中断方式启动转换或保存结果,这样在CPU忙于其它工作时可以少占用处理时间。设计转换程序应首先考虑处理过程如何与模数转换的时间相匹配,根据实际需要选择适当的触发转换手段,也要能及时地保存结果。由于TMS

    7、320VC5509A DSP芯片内的A/D转换精度是10位,转换结果的低10位为所需数值,所以在保留时应注意将结果的高6位去除,取出低10位有效数字。 实验程序流程图: 实验程序流程图 四.实验程序和流程图 1、FFT FFT程序:#include #define pi 3.1415926typedef struct float real; float imag; COMPX;/*两个复数相乘*/COMPX EE(COMPX b1,COMPX b2) COMPX b3; b3.real = b1.real*b2.real-b1.imag*b2.imag; b3.imag = b1.real*b

    8、2.imag+b1.imag*b2.real; return(b3);/*变址运算*/void bit_reverse(COMPX* xin, int N) int i, j, term; COMPX tmp; for (i=0,j=0;jN-1;i+) /实现位反转 if (i=term) j-=term; term/=2; j+=term; /* fft */void FFT(COMPX* x,int N) int i,j=0,k; /k表示第k级蝶形 int stage,le,lei,ip; /FFT运算核,使用蝶形运算完成FFT运算 COMPX t; COMPX u,w; /*变址运算

    9、*/ bit_reverse(x, N); j = N; /N点蝶形运算 for(stage=1;(j=j/2)!=1;stage+); /蝶形运算级数 for(k=1;k=stage;k+) / 控制蝶形结级数 /stage为蝶形级总数stage=log(2)N le=2(k-1); /le蝶形结距离,即第k级蝶形的蝶形结相距le点 lei=le/2; /同一蝶形结中参加运算的两点的距离 u.real=1.0; /第一级蝶形运算的因子 u.imag=0.0; w.real=cos(pi/lei); /用于改变蝶形运算因子的中间变量 w.imag=sin(pi/lei); for(j=0;j=

    10、lei-1;j+) /控制计算不同种蝶形结,即计算系数不同的蝶形结 for(i=j;i=N-1;i+=le) /控制同一蝶形结运算,即计算系数相同蝶形结 ip=i+lei; /i,ip分别表示参加蝶形运算的两个节点 t=EE(xip,u); /蝶形运算 xip.real=xi.real-t.real; xip.imag=xi.imag-t.imag; xi.real=xi.real+t.real; xi.imag=xi.imag+t.imag; u=EE(u,w); /改变系数,进行下一个蝶形运算 FFT流程图2.主函数和AD#include myapp.h#include ICETEK-VC

    11、5509-EDU.h#include scancode.h#include math.htypedef struct /创建复数结构体 float real; float imag; COMPX;void InitADC(); void wait( unsigned int cycles );void EnableAPLL( );/struct compx float real,imag;float nADC0256,nADC1256;float input0256,input1256,output0256,output1256;COMPX s0256,s1256;#define N 256#

    12、define pi 3.1415926void FFT(COMPX* x, int);main() int i; unsigned int uWork; EnableAPLL(); SDRAM_init(); InitADC(); PLL_Init(132); while ( 1 ) for ( i=0;i256;i+ ) ADCCTL=0x8000; / 启动AD转换,通道0 do uWork=ADCDATA; /ADCDATA见ICETEK-VC5509-EDU.h while ( uWork&0x8000 ); nADC0i=uWork&0x0fff; input0i=nADC0i; /

    13、通道0输入信号 s0i.real=nADC0i; s0i.imag=0; FFT(s0,256); for ( i=0;i256;i+ ) ADCCTL=0x9000; / 启动AD转换,通道1 do uWork=ADCDATA; while ( uWork&0x8000 ); nADC1i=uWork&0x0fff; input1i=nADC1i; s1i.real=nADC1i; s1i.imag=0; FFT(s1,256); for (i=0;i256;i+) output0i=sqrt(s0i.real*s0i.real+s0i.imag*s0i.imag); output1i=sq

    14、rt(s1i.real*s1i.real+s1i.imag*s1i.imag); asm( nop); / break point void InitADC() ADCCLKCTL=0x23; / 4MHz ADCLK ADCCLKDIV=0x4f00;void wait( unsigned int cycles ) int i; for ( i = 0 ; i cycles ; i+ ) void EnableAPLL( ) /* Enusre DPLL is running */ *( ioport volatile unsigned short* )0x1f00 = 4; wait( 2

    15、5 ); *( ioport volatile unsigned short* )0x1f00 = 0; / MULITPLY *( ioport volatile unsigned short* )0x1f00 = 0x3000; / COUNT *( ioport volatile unsigned short* )0x1f00 |= 0x4F8; wait( 25 ); /*( ioport volatile unsigned short* )0x1f00 |= 0x800 / MODE *( ioport volatile unsigned short* )0x1f00 |= 2; w

    16、ait( 30000 ); / APLL Select *( ioport volatile unsigned short* )0x1e80 = 1; / DELAY wait( 60000 );AD流程图 图5-2 AD流程图五、实验步骤及结果分析实验步骤及结果分析 1、FFT验证的步骤和分析:实验步骤: 参考教材中的FFT核心算法在CCS软件仿真中建立FFT工程:首先更改FFT算法中的个别语法错误,初步理解程序,其次编写main()函数使系统能够找到程序入口地址,由于正余弦信号的频谱为脉冲信号,因此这里采用正余弦及其线性组合作为检测信号,编写检测信号程序时,应注意将采样点放入结构体数组s2

    17、57中。然后添加rts55.lib库文件到工程中,编译、下载,用viewgraphTime/Frequency观察波形,设置观察窗口为: 实验结果截图(软仿真):检测信号为inputi = sin(2*pi*(i%N)/N);FFT输出上图为编码生成的,下图为DSP实验箱自带的FFT算法生成的。可以看到他们的图形是一样的,可证明编码程序的正确性。 2、两通道模数转换(A/D)在开发环境中的调试 通道波形的产生(硬仿真)根据实验指导书中的操作步骤调试出两通道相同的正弦波,使图像在CCS界面中动态变化,调节实验板上的频率、波形控制按钮,图形界面输出相应的波形,图6-2-1为0通道在10KHZ100

    18、KHZ、1通道在10100HZ事的正弦波,图6-2-2为对应生成的频域图:图6-2-1图6-2-2六、实验中遇到的问题1、出现下图问题没开实验箱电源。2、出现下图问题解决方法:重启开发板,重新安装驱动后可以运行。七、课程设计心得本次DSP课程设计针对理论课、实验课中无时间和不方便提及内容和需强调重点进行补充与完善,以原理算法的实现与验证体会DSP技术的系统性,并加深了我对基本原理的体会。在这几天中,我学到了如下几点: 通过对FFT算法进行分析研究,从基础深入研究和学习,掌握FFT 算法的关键; 通过对DSP芯片工作原理以及开发环境的回顾,在DSP芯片上实现对信 号的实时频谱分析; 这次课程设计,虽然不能做到完全理解掌握,但依然让我加深了对各门专 业课之间的联系; 通过与同组成员的互相沟通,不仅使各自的知识得到了扩充,而且从中得 到了很多的启示,增强了团队合作能力;


    注意事项

    本文(江苏大学dsp课程设计.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

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

    收起
    展开