如何从频域角度理解FIR和IIR滤波器
理解傅里叶变换
首先理解傅里叶变换的正交性:
即若f(t) = 1,则经过傅里叶变换后,其结果为2*pi*单位脉冲响应。
其次,理解欧拉公式:
即exp(i*2*pi*x*t) = cos(2*pi*x*t) + i*sin(2*pi*x*t)
傅里叶变换的公式为:
其逆变换为:
得对函数进行傅里叶变换的本质为:将函数在频域上按正弦和余弦函数展开。
傅里叶级数的多项式展开为同样的道理,需要满足狄利克雷条件,同时可以理解下幂级数的多项式展开。
理解拉普拉斯变换
傅里叶变换需要函数在积分域内收敛,拉普拉斯变化则不需要,其在傅里叶变换的基础上乘上了一个指数的衰减系数,如下公式:
引用拉普拉斯变换的好处是对微积分表示可以变成代数方程的表示,从而对微分方程的表示更加的简单。在自动控制领域,一般都用拉普拉斯变换表示系统的传递函数。
其次拉普拉斯变换在分析系统的稳定性和频率特性响应时具有很大的优势。
理解Z变换
Z变换,即将拉普拉斯变换用固定的采样周期进行离散化,即如下:
于是Z变换的表达式可以表示为:
其中Z -n表示延时单元,在FPGA的程序上的实现为时序逻辑下的寄存器表示。
理解Z变换的差分方程表示
我们以IIR滤波器的闭环传递函数来表示的:
其中的分子为前向通道的传递函数,(分母 - 1)为反馈通道的传递函数。
则可得到其差分方程的表示为:
将差分方程表示转换为框图
将上面的差分方程转换为框图表示如下:
对应的差分方程为:
由Z变换求传递函数的BODE图和根轨迹
sys=tf([1,-1],[1,-2,1],Ts);
bode(sys)
Ts为采样周期