DSP论坛
直播中

创龙教仪

2年用户 253经验值
擅长:嵌入式技术 EDA/IC设计
私信 关注

4-6 无限冲激响应滤波器(IIR)算法(MATLAB辅助,LCD显示)

4-6 无限冲激响应滤波器(IIR)算法(MATLAB辅助,LCD显示)

4-6 无限冲激响应滤波器(IIR)算法(MATLAB辅助,LCD显示)

实验目的

  1. 本次教程是基于 创龙教仪DSP教学实验箱 :TL6748-PlusTEB完成的
  2. 本节视频的目的是了解IIR滤波器的特点,掌握Matlab辅助设计滤波器系数的方法,并实现IIR滤波器滤除高频信号,并在LCD上显示结果。

实验原理

IIR无限冲激响应数字滤波器(infinite impulse response digital filter)是对单位冲激的输入信号的响应为无限长序列的数字滤波器。可分为一维、二维或多维无限冲激响应数字滤波器。它的输出y(n)由当前的和过去的输入信号x(n)及过去的输出信号共同决定。IIR的幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上。

对于IIR滤波器,冲激响应理论上应会无限持续,其输出不仅取决于当前和过去的输入信号值,也取决于过去的信号输出值。其系统函数如下:

image.png

IIR滤波器的一种结构和差分方程可见图示,由IIR的系统函数出发,可视作两个系统的级联,并且合并了公共的延时支路。

image.png

image.png

无限冲激响应数字滤波器具有以下特性:

(1)系统函数可以写成封闭函数的形式。

(2)采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。

(3)在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。

(4)相位特性不好控制,对相位要求较高时,需加相位校准网络。

MATLAB FIR 滤波器辅助设计,生成滤波器系数:

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

(1)滤波器类型:低通Lowpass;

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

(3)滤波器阶数:Specify order(4+1阶);

(4)采样频率:1000Hz;

(5)通带截止频率:150Hz;

image.png

在CCS5.5 的安装路径安装DSPLIB后,会有相应的文件夹出现,包含组件库、头文件、测试示例和源码等。

image.png

程序使用 DSPLIB 的库来进行IIR滤波,调用的程序源码和使用说明可以安装DSPLIB后查看。调用的IIR滤波函数中,

第一个参数是延迟元素值。

第二个参数是指向输入数组的指针。

第三个参数是指向输出数组的指针。

第四个参数是自回归滤波器系数。

第五个参数是动态平均滤波器系数。

第六个参数是输出样本数。

image.png

程序使用 DSPLIB 的库来进行FFT运算,调用的程序源码和使用说明可以安装DSPLIB后查看。调用的FFT函数中,

第一个参数是样本中 FFT 的长度,

第二个参数是指向数据输入的指针。

第三个参数是指向复杂旋转因子的指针。

第四个参数是指向复杂输出数据的指针。

第五个参数是指向包含 64 个条目的位反转表的指针。如果样本的FFT长度可以表示为 4 的幂,

第六个参数是4,否则第六个参数是2 。

第七个参数是从主FFT开始的样本中的子 FFT偏移索引 。

第八个参数是样本中主FFT的大小。

image.png

程序使用 DSPLIB 的库来进行FFT逆变换,调用的程序源码和使用说明可以安装DSPLIB后查看。调用的IFFT函数中,

第一个参数是样本中 FFT 的长度。

第二个参数是指向数据输入的指针。

第三个参数是指向复杂旋转因子的指针。

第四个参数是指向复杂输出数据的指针。

第五个参数是指向包含 64 个条目的位反转表的指针 。如果样本的FFT长度可以表示为 4 的幂,

第六个参数是4,否则第六个参数是 2 。

第七个参数是从主FFT开始的复杂样本中的子FFT偏移索引 。

第八个参数是样本中主FFT的大小。

image.png

操作现象

硬件设备:

本实验使用的硬件接口为LCD,所需硬件为实验板、仿真器、LCD和电源。

image.png

实验操作:

  1. 导入工程,选择Demo文件夹下的对应工程
  2. 编译工程,生成可执行文件
  3. 将CCS连接实验箱并加载程序
  4. 程序加载完成后点击运行程序
  5. 运行程序后,LCD会显示IIR滤波前后的时域波形,上方为100Hz信号与450Hz噪声组成的混合信号,下方为滤波后得到的结果(保留100Hz信号)。
  6. 点击一下LCD屏幕,会切换频域波形,上方显示原始频域信号+噪声,下方显示滤波后的频域波形,输入波形为一个低频率的正弦波与一个高频的正弦波叠加而成,通过观察频域图可知输入波形中的低频波形通过了滤波器,而高频部分被滤除。

B站封面.png

回帖(1)

dianzi

2023-6-8 13:57:29
有些图太小了 看不清楚
1 举报

更多回帖

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