3 基于创龙TMS320C665x算法Demo例程演示

1 基于创龙TMS320C665x算法Demo例程演示

所有工程均位于光盘"Demo\Algorithm\Application"文件夹内,本章节例程仅演示算法功能,算法与平台和系统无关,如需使用SYS/BIOS请自行移植。根据2.3节"CCS工程导入和编译步骤"导入例程。

备注:本节提供的例程为广州创龙TMS320C6655/TMS320C6657系列开发板共用,由于各个开发板之间存在硬件资源的差异,测试结果仅供参考。

3.1TMS320C665x FIR——有限长单位冲激响应滤波器

此程序的作用是进行FIR有限长单位冲激响应滤波器测试。

按照工程导入步骤加载FIR.out文件,然后点击程序运行按钮,程序会在断点处停下来。

点击CCS菜单"Tools->Graph->Single Time",在弹出的界面中按下图数值设置参数。

图92

图93

点击CCS菜单"Tools->Graph->Single Time",在弹出的界面中按下图数值设置参数。

图94

点击OK,即可查看滤波后时域信号波形,如下图所示:

图95

点击CCS菜单"Tools->Graph->FFT Magnitude",在弹出的界面中按下图数值设置参数。

图96

点击OK,即可查看原始频域信号+噪声波形,如下图所示:

图97

点击CCS菜单"Tools->Graph->FFT Magnitude",在弹出的界面中按下图数值设置参数。

图98

点击OK,即可查看滤波后频域信号波形,如下图所示:

图99

MatlabFIR滤波器辅助设计

打开Matlab软件,并打开"Filter Designed&Analaysis Tool"工具,在弹出的界面中按照所需滤波器修改以下参数:

滤波器类型:低通Lowpass;

滤波方式:等纹波FIR(Equiripple);

滤波器阶数:Specifyorder(31+1阶);

采样频率:1000Hz;

通带截止频率:150Hz;

阻带截止频率:350Hz ;

如下图所示:

图100

点击"FilterDesigned&AnalaysisTool"工具菜单"Target->GenerateCHeader",在弹出的窗口中修改"Exportas"参数为"Single-precisionfloat"(单精度浮点型),其他设置按下图所示:

图101

最后点击Generate生成包含滤波器系数的.H头文件。此头文件的数据用于FIR函数,如下图所示:

图102

备注:

信号频率100Hz,噪声频率450Hz;

若采用TIC6000DSP库开发,请选用实数FIR非优化滤波函数。

3.2TMS320C665x IIR——无限脉冲响应数字滤波器

此程序的作用是进行IIR无限脉冲响应数字滤波器测试。

按照工程导入步骤加载IIR.out文件,然后点击程序运行按钮,程序会在断点处停下来。

点击CCS菜单"Tools->Graph->SingleTime",在弹出的界面中点击Import按钮,选择II R工程下的"Configure\IIR_In_Time.graphProp"后点击OK,出现如下原始时域信号+噪声波形:

图103

点击CCS菜单"Tools->Graph->SingleTime",在弹出的界面中点击Import按钮,选择II R工程下的"Configure\IIR_Out_Time.graphProp"后点击OK,出现如下原始时域信号波形:

图104

点击CCS菜单"Tools->Graph->FFTMagnitude",在弹出的界面中点击Import按钮,选择IIR工程下的"Configure\IIR_In_FFT.graphProp"后点击OK,出现如下滤波后频域信号+噪声波形:

图105

点击CCS菜单"Tools->Graph->FFTMagnitude",在弹出的界面中点击Import按钮,选择IIR工程下的"Configure\IIR_OuT_FFT.graphProp"后点击OK,出现如下滤波后频域信号波形:

MatlabIIR滤波器辅助设计

打开Matlab软件,并打开"FilterDesigned&AnalaysisTool"工具,在弹出的界面中按照所需滤波器修改以下参数:

滤波器类型:低通Lowpass;

滤波方式:巴特沃斯IIR(Butterworth);

滤波器阶数:Specifyorder(4+1阶);

采样频率:1000Hz;

通带截止频率:150Hz;

如下图所示:

图106

点击"FilterDesigned&AnalaysisTool"工具菜单"Target->GenerateCHeader",在弹出的窗口中修改"Exportas"参数为"Single-precisionfloat"(单精度浮点型),其他设置按照下图所示:

图107

最后点击Generate生成包含滤波器系数的.H头文件。此头文件的数据用于IIR函数,如下图所示:

图108

备注:

信号频率100Hz,噪声频率450Hz;

若采用TI C6000DSP库开发,请选用实数IIR非优化滤波函数。

3.3TMS320C665x FFT_Real——快速傅里叶变换/逆变换

此程序的作用是实现FFT处理功能,但是没有打开缓存。

按照工程导入步骤加载FFT_Real.out文件,然后点击程序运行按钮。

CCS支持绘制多种类型的图表时域图、频域图、瀑布图等等。待测试信号为原始信号做1K采样频率进行1024个点抽样得到。

信号源公式:y=5*sin(2*pi*150*t)+15*sin(2*pi*350*t)

该信号含有150Hz和350Hz两种频率分量。

演示步骤现象

点击"Tools->Graph->SingleTime"选择单时域信号图,如下图所示:

图109

按照下图进行设置:

图110

点击OK,CCS界面底部弹出如下界面:

图111

MATLAB代码FFT.m文件位于"FFT_Real\Configure"程目录下,程序如下图:

图112

MATLAB图表如下图:

图113

经对比可以看出经过DSP C665x计算的结果与MATLAB计算结果一致。

3.4TMS320C665x FFT_Real_Benchmark——一维FFT性能测试

此程序的作用是评估DSP C66x数字信号函数库一维FFT计算性能,测试16~262144个实数点FFT性能。程序默认使用软件仿真测试(不计内存延迟),也可使用硬件禁用缓存及使能缓存测试。

按照工程导入步骤加载FFT_Real_Benchmark.out文件,然后点击程序运行按钮。

软件仿真(不计内存延迟)

操作步骤参考文档1.8节软件仿真。

[TMS320C66x_0]

Test signal

-Include 2V DC Component

-Include 3V AC Component,Frequency:50Hz Phase:-30 Degree

-Include 1.5V AC Component,Frequency:75Hz Phase:90 Degree

-Formula:y=2+3cos(2pi*50t-(30/180)pi)+1.5cos(2pi*75t+*(90/180)pi)

--------------------------- Cache Disabled ---------------------------

----------------------------------------------------------------------

1: 16 Point FFT Test

-Sampling Period:1s Sampling Frequency:16Hz Frequency Resolution:1Hz

-Forward Transformation Execution Cycle is 263

-Forward Transformation Execution Time is 0.2630000 us (CPU Frequency:1000MHz)

-Inverse Transformation Execution Cycle is 288

-Inverse Transformation Execution Time is 0.2880000 us (CPU Frequency:1000MHz)

16 Point FFT Test End

----------------------------------------------------------------------

2: 32 Point FFT Test

-Sampling Period:1s Sampling Frequency:32Hz Frequency Resolution:1Hz

-Forward Transformation Execution Cycle is 295

-Forward Transformation Execution Time is 0.2950000 us (CPU Frequency:1000MHz)

-Inverse Transformation Execution Cycle is 297

-Inverse Transformation Execution Time is 0.2970000 us (CPU Frequency:1000MHz)

32 Point FFT Test End

----------------------------------------------------------------------

3: 64 Point FFT Test

-Sampling Period:1s Sampling Frequency:64Hz Frequency Resolution:1Hz

-Forward Transformation Execution Cycle is 396

-Forward Transformation Execution Time is 0.3960000 us (CPU Frequency:1000MHz) -Inverse Transformation Execution Cycle is 394

-Inverse Transformation Execution Time is 0.3940000 us (CPU Frequency:1000MHz) 64 Point FFT Test End

----------------------------------------------------------------------

4: 128 Point FFT Test

-Sampling Period:1s Sampling Frequency:128Hz Frequency Resolution:1Hz

-Forward Transformation Execution Cycle is 581

-Forward Transformation Execution Time is 0.5810000 us (CPU Frequency:1000MHz) -Inverse Transformation Execution Cycle is 576

-Inverse Transformation Execution Time is 0.5760000 us (CPU Frequency:1000MHz) 128 Point FFT Test End

----------------------------------------------------------------------

5: 256 Point FFT Test

-Sampling Period:1s Sampling Frequency:256Hz Frequency Resolution:1Hz

-Forward Transformation Execution Cycle is 1138

-Forward Transformation Execution Time is 1.1380000 us (CPU Frequency:1000MHz) -Inverse Transformation Execution Cycle is 1112

-Inverse Transformation Execution Time is 1.1120000 us (CPU Frequency:1000MHz) 256 Point FFT Test End

----------------------------------------------------------------------

6: 512 Point FFT Test

-Sampling Period:1s Sampling Frequency:512Hz Frequency Resolution:1Hz

-Forward Transformation Execution Time is 2.0270000 us (CPU Frequency:1000MHz) -Inverse Transformation Execution Cycle is 1974

-Inverse Transformation Execution Time is 1.9740000 us (CPU Frequency:1000MHz) 512 Point FFT Test End

----------------------------------------------------------------------

7: 1024 Point FFT Test

-Sampling Period:1s Sampling Frequency:1024Hz Frequency Resolution:1Hz

-Forward Transformation Execution Cycle is 4520

-Forward Transformation Execution Time is 4.5200000 us (CPU Frequency:1000MHz) -Inverse Transformation Execution Cycle is 4398

-Inverse Transformation Execution Time is 4.3980000 us (CPU Frequency:1000MHz) 1024 Point FFT Test End

----------------------------------------------------------------------

8: 2048 Point FFT Test

-Sampling Period:1s Sampling Frequency:2048Hz Frequency Resolution:1Hz

-Forward Transformation Execution Cycle is 8753

-Forward Transformation Execution Time is 8.7530000 us (CPU Frequency:1000MHz) -Inverse Transformation Execution Cycle is 8508

-Inverse Transformation Execution Time is 8.5080000 us (CPU Frequency:1000MHz) 2048 Point FFT Test End

----------------------------------------------------------------------

9: 4096 Point FFT Test

-Sampling Period:1s Sampling Frequency:4096Hz Frequency Resolution:1Hz

-Forward Transformation Execution Cycle is 20046

-Forward Transformation Execution Time is 20.0460000 us (CPU Frequency:1000MHz) -Inverse Transformation Execution Cycle is 19540

-Inverse Transformation Execution Time is 19.5400000 us (CPU Frequency:1000MHz) 4096 Point FFT Test End

10: 8192 Point FFT Test

-Sampling Period:1s Sampling Frequency:8192Hz Frequency Resolution:1Hz

-Forward Transformation Execution Cycle is 39767

-Forward Transformation Execution Time is 39.7670000 us (CPU Frequency:1000MHz) -Inverse Transformation Execution Cycle is 38754

-Inverse Transformation Execution Time is 38.7540000 us (CPU Frequency:1000MHz) 8192 Point FFT Test End

----------------------------------------------------------------------

11: 16384 Point FFT Test

-Sampling Period:1s Sampling Frequency:16384Hz Frequency Resolution:1Hz

-Forward Transformation Execution Cycle is 90484

-Forward Transformation Execution Time is 90.4840000 us (CPU Frequency:1000MHz) -Inverse Transformation Execution Cycle is 88442

-Inverse Transformation Execution Time is 88.4420000 us (CPU Frequency:1000MHz) 16384 Point FFT Test End

----------------------------------------------------------------------

12: 32768 Point FFT Test

-Sampling Period:1s Sampling Frequency:32768Hz Frequency Resolution:1Hz

-Forward Transformation Execution Cycle is 180605

-Forward Transformation Execution Time is 180.6050000 us (CPU Frequency:1000MHz) -Inverse Transformation Execution Cycle is 176520

-Inverse Transformation Execution Time is 176.5200000 us (CPU Frequency:1000MHz) 32768 Point FFT Test End

----------------------------------------------------------------------

13: 65536 Point FFT Test

-Sampling Period:1s Sampling Frequency:65536Hz Frequency Resolution:1Hz

-Forward Transformation Execution Cycle is 405914

-Forward Transformation Execution Time is 405.9140000 us (CPU Frequency:1000MHz)

-Inverse Transformation Execution Time is 397.7280000 us (CPU Frequency:1000MHz) 65536 Point FFT Test End

----------------------------------------------------------------------

14: 131072 Point FFT Test

-Sampling Period:1s Sampling Frequency:131072Hz Frequency Resolution:1Hz

-Forward Transformation Execution Cycle is 811427

-Forward Transformation Execution Time is 811.4270000 us (CPU Frequency:1000MHz) -Inverse Transformation Execution Cycle is 795054

-Inverse Transformation Execution Time is 795.0540000 us (CPU Frequency:1000MHz) 131072 Point FFT Test End

----------------------------------------------------------------------

15: 262144 Point FFT Test

-Sampling Period:1s Sampling Frequency:262144Hz Frequency Resolution:1Hz

-Forward Transformation Execution Cycle is 1802688

-Forward Transformation Execution Time is 1802.6880000 us (CPU Frequency:1000MHz) -Inverse Transformation Execution Cycle is 1769926

-Inverse Transformation Execution Time is 1769.9260000 us (CPU Frequency:1000MHz) 262144 Point FFT Test End

Test Finished!

硬件测试(禁用缓存及使用缓存)

修改main.c文件中的代码可选择硬件测试模式,如下图所示:

图114

相关主题
相关文档
最新文档