[原创] TMS320C6678开发例程使用手册(8)
390 查看
1 回复
 楼主 | 发布于 2020-06-28 | 只看楼主
分享到:

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

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

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

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

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

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

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

MatlabIIR滤波器辅助设计

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

滤波器类型:低通Lowpass;

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

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

采样频率:1000Hz;

通带截止频率:150Hz;

如下图所示:

点击"Filter Designed & Analaysis Tool"工具菜单"Target->Generate C Header",在弹出的窗口中修改"Export as"参数为"Single-precision float"(单精度浮点型),其他设置按照下图所示:

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

备注:

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

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

3.3 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"选择单时域信号图,如下图所示:

按照下图进行设置:

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

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

MATLAB图表如下图:

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

(1 ) (1 )
回复 举报

回复于 2020-06-28 沙发

感谢分享
(0 )
评论 (0) 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部