基于C6000的随机信号相关计算程序设计与实现_第1页
基于C6000的随机信号相关计算程序设计与实现_第2页
基于C6000的随机信号相关计算程序设计与实现_第3页
基于C6000的随机信号相关计算程序设计与实现_第4页
基于C6000的随机信号相关计算程序设计与实现_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DSP应用课程设计设计说明书基于C6000的随机信号相关计算程序设计与实现起止日期: 2013年 12 月 2 日 至 2013年 12 月 13 日学生姓名班级学号成绩指导教师(签字)计算机与通信学院2013年 12 月 30 日课题名称基于C6000的随机信号相关计算程序设计与实现人 数9组 长同组人员课题的主要内容和要求一、 基本要求熟悉随机信号相关计算的原理与方法,掌握其DSP程序的设计与实现过程。二、设计任务主要内容:(1) 编写程序。(2)程序要完善、优化与仿真,能演示输入输出数据的完整图形,显示结果,并对程序或相关设计予以解释。主要任务:1、 算法设计; 2、程序设计; 3、程序

2、的调试与各项性能的测试。三、设计工作量2周完成具体任务算法设计时间安排与完成情况12月2日 分组、任务分配、课题理解12月3日-12月6日 功能分析、程序设计、系统设计和实现12月9日-12月13日 实验验证和考核12月16日 总结、书写实验报告一、设计目的通过该设计,熟悉随机信号相关算法的原理,掌握其DSP程序设计与实现过程,以及程序的调试技巧。是对DSP应用技术理论学习的总结和补充,为DSP应用系统的开发设计打下基础。二、设计原理 广义平稳随机信号 x(n)和 y(n)的相关函数的定义为: 如果 x(n),y(n)是各态遍历的,则上式的集合平均可以由单一样本序列的时间平均来实现,即 如果观

3、察的点数 N 为有限值,则求 r(m)估计值的一种方法是由于 x(n)只有 N 个观察值, 因此对于每一个固定的延迟m,可以利用的数据只有 N-1-|m|个,且在 0N-1 的范围内,xN(x)=x(n),所以在实际计算中上式变为的长度为 2N-1,这是有偏估计。无偏估计为三、设计所需仪器与设备1、PC微机1台,安装CCS3.02、DSP仿真器TDS510-USB2.0,1套四、设计内容1、编写程序。 2、程序完善、优化,面向C6000开发调试。3、能演示输入输出数据的完整图形,显示结果,并对程序或相关设计予以解释。五、设计步骤1、开电,运行 CCS 软件,创建项目文件,编译运行并下载。按照以

4、下步骤创建一个新工程:1.1 如果CCS安装在C:CCStudio_v3.1,在C:CCStudio_v3.1myprogects文件下新建一个practice文件夹。1.2. 把C:CCStudio_v3.1tutorialtargetconsultant文件夹下的内容复制到新建的文件夹里。目标与当前CCS的配置有关。在使用CCS前必须进行配置,CCS里没有默认的配置。关于CCS配置的详细介绍请参照第三章。1.3. 选择Project->New。1.4. 在Project Name框里输入工程名:(例如:practice)。1.5. 在Location框里输入或者浏览第一步创建的文件夹

5、。1.6. 工程类型默认为可执行的(.out)文件,目标设置为CCS当前的配置。1.7. 点击 Finish ,CCS创建一个叫做practice.prj的工程文件。文件里存储了工程配置和工程所需要的各种相关文件。1.8. 选择 Project->Add files to Project,把文件加到工程里。你也可以在左边的工程视图窗口里右击工程,选择 Add files to Project。1.9. 从你所创建的文件夹里添加main.c, DoLoop.c, 和lnk.c(映射内存的连接命令文件)。浏览C:CCStudio_v3.1c6000cgtoolslib目录,为所配置的目标添加

6、相应的rts.lib。1.10. 你不必手工添加包含文件到工程里,因为编译程序的时候,程序会自动找到它们。在编译一个工程后,包含文件会出现在工程视图里。2、设置断点,再点击“运行”按钮,如下图所示。这里的相关算法是在程序中编写的。选择Debug->Go main开始Main函数的执行。执行到Main函数出暂停,此时程序指针(黄色箭头)停在Main函数的左边空白处。这个区域被称为选择区域(select margin)。可以在这个区域设置断点(break point),探针(probe)等把光标置于所需行上,按F9设置一个断点。此外,你还可以通过选择Toggle Breakpoint工具条按

7、钮创建断点。设置断点后,一个红色图标将出现在选择空白区。再按F9或Toggle reakpoint按钮将除去断点。main.c中,在DoLoop行设置断点(Input1, Input2, Weights, Output, LOOPCOUNT) 当程序暂停在Main函数处时,通过按F5,选择Debug->Run,或者选择Run工具条来运行程序。一旦程序运行到断点出,程序将挂起。3、点击View>Graph>Time/Frquence打开图形属性对话框,如下设置。采用双综观察2路信号输入变量x_real 和y_real。观察点数为128点,类型为float型。输出窗口默认定位在屏

8、幕下部,也可以通过View->Output Window来访问。默认情况下,printf函数的输出显示在Output窗口,显示Stdout的内容和构建日志之类的信息。4、再设置单综观察 1 路信号的输出 r_real.观察的点数为 255 点,类型为 float 型。内存映射关系可以告诉调试器它能访问内存的哪个区域。内存映射关系可以随具体应用而改变。当一个内存映射关系定义并且内存映射建立,调试器按照内存映射关系挨个检查内存入口。调试器不能进入被设置为保护状态的内存区域。调试器按照软件内存映射关系检查内存入口而非按照硬件。调试器并不能阻止你的程序访问不存在的存储区域。5、点击“OK”后,可

9、以看到如下波形。应用程序代码分析是对影响程序效率因素的数据进行收集和解释的过程。应用程序的调整就是修改代码以此提高程序效率。DSP开发人员可以尽可能的分析和调整应用程序,以此来满足用户、应用区域和硬件所要求的效率。仿真分析工具允许用户对事件、硬件断点进行设定、监视、计数等操作。CCS IDE可以通过各种方法把程序处理到的数据画出来,包括时间/频率,星座图,眼图和图像等。选择View-> Graph,可以得到这些图,然后选择需要的图。这时候可以在图属性(graph property)的对话框中指定图的属性选项。下面的例子展示了一个单时刻(时间/频率)图表属性对话框。六、程序框图和程序con

10、st int MAXN=100;const double pi=acos(-1);const double eps=1e-6;struct C double r, i; C () C(double _r, double _i):r(_r),i(_i) inline C operator +(const C a)const return C(r+a.r, i+a.i); inline C operator - (const C a)const return C(r-a.r, i-a.i); inline C operator * (const C a)const return C(r*a.r-i

11、*a.i, r*a.i+i*a.r); aMAXN, bMAXN;int numMAXN, cntMAXN;int resMAXN, sumMAXN;void brc(C *y,int l) / 二进制平摊反转置换 O(logn) register int i,j,k; for(i=1,j=l>>1;i<l-1;i+) if(i<j) swap(yi,yj); / 交换互为下标反转的元素 / i<j保证只交换一次 k=l>>1; while(j>=k) / 由最高位检索,遇1变0,遇0变1,跳出 j-=k; k>>=1; if(j&l

12、t;k) j+=k; void FFT(C *y,int l,int on) / FFT O(nlogn) / 其中on=1时为DFT,on=-1为IDFT register int h,i,j,k; C u,t; brc(y,l); / 调用反转置换 for(h=2;h<=l;h<<=1) / 控制层数 / 初始化单位复根 C wn(cos(on*2*pi/h),sin(on*2*pi/h); for(j=0;j<l;j+=h) / 控制起始下标 C w(1,0); / 初始化螺旋因子 for(k=j;k<j+h/2;k+) / 配对 u=yk; t=w*yk+

13、h/2; yk=u+t; yk+h/2=u-t; w=w*wn; / 更新螺旋因子 / if(on=-1) for(i=0;i<l;i+) yi.r/=l; / IDFTvoid correl(C *x, C *y, int lx, int ly, double *c)/ c 为相关系数. int len=1;/len>=lx+ly-1 2kwhile(len<lx+ly-1)len<<=1;C *z;z=new Clen;for( int i=lx; i<len; + i )xi=C(0, 0);for( int i=ly; i<len ; + i)

14、yi=C(0, 0);FFT(x, len, 1);FFT(y, len, 1);for( int i=0; i<len; + i )zi=xi*yi;FFT(z, len, -1);for( int i=0;i<lx+ly-1; + i )ci=zi.r;delete z;七、心得体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新月异,时代对于学生的综合素质要求将会越来越高,进行课程设计,将有利于提高学生们综合素质的提高。 从本次课程设计的中心来看,课题是希望通过对随机信号的相关性的算法进行设计,编写这里就是指对程序的编写,调试等。在这里我们只要编写正确的程序,经过调试,仿真硬件调试就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论