
,将其改为你自己的工程目录,比如,否则会提示错误。并且注意是英文路径。fft算法dsp实现
2、点击打开Simulink,建立模型如下:
3、将CCSv3.3环境设置为C6713硬件仿真(Emulator)方式(保正能用目标板的connect)
设置(simulink--Configuration Parameters)CustomBoard模块的处理器类型为C6713
点击下面的Get from IDE
最终模型如下图所示:
4、各模型设置按从左到由依次介绍
(1)In1 输入序列为128维数组,所以要将In1的Port dimension设为128。fft算法dsp实现
(2)数据的int型变量转为single型变量。设置如图所示:
(3)Magnitude FFT
只是得到信号的幅度谱。
(4)Data TypeConversion
FFT变换得到的幅度谱为single型变量,为方便传给FPGA用于显示,将single型变量转为int型变量。设置如图所示:

(5)Out1
同样的,输入是128维,则输出也应为128维,Portdimensions设为-1就为继承前面数据的维数。设置如图所示:
(6)输入输出线设置如图所示。
5、模型参数设置
确认模型的各项参数:设备类型为TIC6000系列,TLC文件为idelink.tlc,代码语言为C,如图所示。设置simulink--ConfigurationParameters。
设备类型设置:
系统目标文件设置:
Real-Time Workshop→Embedded IDE Link的Buildaction选择Archive_library,如图4.12所示,即创建一个算法库供其他工程调用。
生成方式设置:
6、生成代码
单击模型工具栏的按钮,生成一系列代码文件,如图所示。
7、在随后自动打开的CCS窗口可以看到,归档库文件已经成功生成,保存在当前Matlab目录\CustomMW\fft128.lib中,如图所示。

期间可能出现的错误:
解决方法:因为我们要进行的是硬件仿真,所以必须要链接目标板,我们打开CCSv3.3后通过Debug里的connect链接下目标板,连接上后退出,再重新生成一下就OK了。
8、集成归档库文件。
注意:此时请安装CCSv3.1,CCSv3.3仿真总是出错。以后步骤的操作环境均是针对CCSv3.1,请各自重新安装驱动,将驱动安装在CCSv3.1目录下才可用CCSv3.1仿真。
新建一个工程文件。具体的新建工程的方法,请参考笔者之前的博文《DSP技术笔记4--CCS新建一个工程》以及其他的DSP技术笔记系列博文,里面有详细讲解及各种可能遇到的错误的解决办法。
新建工程DSP_FFT.pjt后,将上部分步骤7生成的rtwtypes.h文件复制到DSP_FFT.pjt所在的文件夹,同时在DSP_FFT.pjt工程下添加步骤7生成的库文件fft128.lib,编译工程时rtwtypes.h会被自动添加到工程。
新建的工程如下所示:
注意 : 添加头文件rtwtypes.h后,必须声明全局变量int32_T in_data、int32_TFFT_out(这两个就是我们之前模型中定义的输入线与输出线的名称,在程序中就代表输入数组(in_data[128])、输出数组(FFT_out[128]));声明子函数voidfft128_step()(fft128_step()即为之前建模所生成的FFT处理函数,其输入数组为in_data[],输出数组为FFT_out[])。
9、目标板仿真
在file--load progrma下载DSP_FFT.out后,在如图所示出打上断点:
然后点击图标,开始跑程序,可以看到程序会暂停且程序指针指向断点处。点击菜单栏的View→Graph→Time/Frequency,设置如图所示,以便查看输入的波形
输入波形与FFT变换后的波形如图所示:
大功告成,FFT就这么简单,无须手工编写FFT算法代码是不是?!
总结:DSP学习过程中切忌浮躁,没有什么东西是一蹴而就的,应当循序渐进,每学完一段课程的时候,应当积极写下技术笔记,不仅对之前的知识点总结,而且对以后学习有很大的帮助(刚开始,CCS新建一个工程对我来说就是一项复杂艰巨的任务,但由于我之前做了笔记,所以后面建工程的时候,几乎没有因为设置错误而报错),CCS编译的时候可能会有一些错误,读者自行参考笔者之前的DSP技术笔记系列博文,有详细讲解。在此也特别感谢唐灏学长的指导。欢迎访问本博客,由于笔者技术水平有限(笔者为大三学生),发现问题请积极提出,帮助笔者学习进步,谢谢大家!
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-46084-1.html
那索罗斯
打
@CYAdol