代码实现功能
FFT(Fast Fourier Transformation),即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。
代码实现了通过Visual DSP++ 软件的BTC(Background Telemetry Channels)功能进行后台监测,FFT算法产生一个输入的波形数据,经计算后产生输出的波形数据,然后将输入和输出波形数据由BTC控制,通过视图实时输出显示。
硬件平台
开发板:ADSP-EDU-BF518F 淘宝链接:http://item.taobao.com/item.htm?spm=a1z10.3.17.33.5317f8&id=14449990649
仿真器:AD-HP510ICE-FULL 淘宝链接:http://item.taobao.com/item.htm?spm=a1z10.3.17.17.4561b&id=8842330668
实验步骤
1. 编译代码后,按下图,选择“Restore”菜单。
2. 在弹出会话框上找到工程路径下fft_in.vps文件,打开。
3. 用同样的方法打开工程路径下fft_out.vps文件。
4.打开后在Visual DSP++软件下可以看到两个波形窗口。
5. 打开BTC Memory窗口
BTC Memory 窗口必须采用AD-HP560ICE仿真器和ADI原厂的HP-ICE仿真器时,才能使用。AD-HP510ICE-FULL仿真器不支持该功能,该选项为灰色。
6. 打开后 BTC Memory如图
7. 选中FFT OUT波形视图框,按鼠标右键,选择“Auto Refresh Settings..”选项。
8. 在弹出会话框中,按如下设置,完后后点“OK”
9. 再次调出鼠标右键菜单,选择“Auto Refresh”
10. 用同样的方法,对FFT IN波形视图框进行设置。
11. 选中BTC Memory窗口,鼠标右键调出菜单,选择格式为“Hex32”
12. 选中后BTC Memory窗口以32bit显示。
13. 选中BTC Memory下拉菜单,选择“FREQ STEP SIZE”。
14. 在下面的地址中输入10~100任意数据,来设置改变波形和数据刷新的频率。
15. 全速运行代码。
实验结果
运行代码后,在两个波形窗口中可以看到变化的波形图像
BTC窗口检测到的FFT_INPUT的数据:
BTC窗口检测到的FFT_OUTPUT的数据: