写在前面:初学者学习这部分内容,要直接上手写代码可能会感到比较困难,我这里推荐一种高效快速的设计IIR,FIR滤波器的方法——MATLAB工具箱:filterDesigner。打开的方法很简单,就是在命令行键入:filterDesigner,就可以打开了。打开以后,界面是这样的:

直接输入设计的参数,想要的类型就可以很快的设计出滤波器了。点击“文件”,还可以生成MATLAB代码。

还有一个很值得介绍的是:MATLAB FTVTool(滤波器可视化工具)
示例:(可视化工具会打卡下面这个窗口)
b = firls(80,[0 0.11 0.19 1],[1 1 0 0],[1 100]); % Design an FIR filter
hd = dfilt.dffir(b); % Create the direct-form FIR filter.
set(hd,'Arithmetic','fixed'); % Quantize filter using 16-bit
% fvtool(b,hd); % Compare the fixed-point filter with reference
h1 = copy(hd); % Copy hd to h1
set(h1,'CoeffWordLength',12); % Use 12 bits for coefficients
fvtool(hd, h1); % Compare 12-bit & 16-bit filters

本文介绍了初学者如何通过MATLAB的filterDesigner工具设计IIR和FIR滤波器,包括FIR滤波器的高效设计方法,以及如何通过模拟滤波器的预畸变和双线性变换将设计从模拟域映射到数字域,以IIR滤波器设计案例为例进行详细说明。
2万+

被折叠的 条评论
为什么被折叠?



