DSP论坛
直播中

jinyi7016

12年用户 6608经验值
擅长:处理器/DSP
私信 关注

【创龙TMS320C6748开发板试用】+ 官方FFT测试与CCS波形查看功能

这几天每天就是到12点才睡,外设功能已经测试的差不多了,都是一些简单的程序,也就没必要再发贴了,最终还是要做自己的项目的。
今天 就先测试一下官方给出的FFT算法的能力 。
首先,导入FFT工程 。
捕获0.PNG
可以看到,工程中多了一个.m的文件 ,这就是matlab的程序文件,既然有,那就运行一下,看看吧。
以下是matlab程序文件。
  1. fs=1000;                                     % 采样频率
  2. N=1024;                                      % 数据点数
  3. n=0:N-1;t=n/fs;                              % 时间序列
  4. x=5*sin(2*pi*150*t)+15*sin(2*pi*350*t);      % 信号
  5. subplot(2,1,1),plot(t,x);                    % 绘制时域信号图
  6. y=fft(x,N);                                  % 对信号进行快速傅里叶变换
  7. mag=abs(y);mag=mag*2/N;                      % 振幅
  8. f=n*fs/N;                                    % 频率序列
  9. subplot(2,1,2),plot(f,mag);                  % 绘制振幅图
  10. xlabel('频率/Hz');
  11. ylabel('振幅');title('N=1024');grid on;
  12. grid on;                                     % 绘制振幅图
可以看到,这个算法是与程序中的c文件是一样的。在matlab中运行一下。可以看到结果
以下是FFT的原始信号。
捕获1.PNG
以下是FFT后的幅值。可以看到在150与350的地方才会有值。这与原始信号的函数是一样的。
  1. x=5*sin(2*pi*150*t)+15*sin(2*pi*350*t);

捕获2.PNG
回来看看一下CCS5.5中的程序仿真结果。
可以看到工程中有两个仿真器配置文件,simulation.ccxml是软件仿真配置文件。默认情况下是有效的。
直接点Debug就可以了。在产生信号后加上断点,查看一下产生信号的波形。
如下图,打开信号查看窗口。
捕获3.PNG
在窗口中设置好相应的参数。点击 OK
捕获4.PNG
会生成如下的信号波形,可以看出,与matl***产生的波形是一样的。
C文件中的程序为
  1. Input[i]=5*sin(2*PI*150*(i/Fs))+15*sin(2*PI*350*(i/Fs));


捕获5.PNG

如上方法,再建一个窗口,查看幅值。一定是与matlab的结果相同的。
捕获6.PNG
以上就是对官方FFT测试的结果,用profile clock测了下,有9416个时钟。效率还是很高的,虽然这根实际运行时的时间有误差,但也能说明问题。

回帖(1)

此号不用

2015-10-26 19:56:00
小弟最近也在做FFT,资料很棒,受益匪浅!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分