由TI公司做好放在CCS\\ cgtools\\ lib中, 源代码TI网站可以下载。添加完成后,编译通过后,下载.out文件,导入.dat文件后运行程序。
采用CCS 的图形显示功能, 分别观察输入信号x ( n)、输出信号y ( n)的时域波形和频域波形, 输入信号波形如图所示。
图 滤波前时域波形
图 滤波前频谱图
经过滤波后,观察输出波形如下
图 滤波后时域波形
图 滤波后频谱图
为了更加直观的观察滤波器的性能和滤波效果,把滤波前后的时域波形和频谱图进行对比和分析,具体如下:
图 滤波前后对比时域和频谱
从上图中可以看出,输入信号明显有高频噪声,波形有很明显的失真。从输入频谱分析,可以看出除了有500Hz的信息信号还有3000Hz和8000Hz的高频噪声。
经过滤波器后,输出的时域波形有了明显改善,几乎接近信息信号。而频谱图中也可以看出3000Hz和8000Hz的高频噪声已经被滤除,而且对原来的信息
信号几乎没有影响。
综上分析,滤波器实现滤除高频噪声,而且保证原信息信号基本不失真的功能,滤波效果较好,性能优越。 (4)硬件仿真
通过CCS的软件仿真调试,发现滤波器性能符合要求,有较好的滤波效果。但是软件仿真过于理想,不过精确,因此在硬件平台上进行仿真调试,观察滤波器性能指标。
本仿真使用的C5509A硬件平台进行仿真,由于C语言的移植性较好,所以本滤波程序可以直接移植到C5509A平台上使用。首先创建工程,添加源文件、.cmd文件、csl5509a.lib和rts55.lib库文件,如下图所示;
图 硬件工程
然后编译,导入数据和运行程序,观察输入输出波形如图:
观察输入输出时域和频域的波形,可以发现滤波器达到滤波效果,而且和软件仿真效果差异不大,从而也可以发现采用C编写的程序通用性较好。