MATLAB函数fir1
ir1
基于窗函数的fir滤波器设计;
主要形式:
b = fir1(n,Wn)
b = fir1(n,Wn,ftype)
b = fir1(___,window)
b = fir1(___,scaleopt)
系数的含义
n — 滤波器阶数。
Wn — 截止频率, 0≤Wn≤1,
Wn=1 对应于采样频率的一半。
数字角频率w、模拟角频率Ω之间的关系为 w=Ω/Fs,所以 w = 2*pi*f/Fs ,f为模拟频率;
例如截止频率为300HZ,采样频率为1000HZ,(这里的频率都是模拟频率)换算成数字角频率为 截止频率为 0.6pi rad/sample 而Wn就是0.6;
当设计带通和带阻滤波器时, Wn=[W1 W2],W1≤ω≤W2。
ftype — 当指定 ftype 时,可设计高通和带阻滤波器。ftype = high 时,设计高通 FIR 滤波器;
ftype=stop 时设计带阻 FIR 滤波器。低通和带通 FIR滤波器无需输入 ftype 参数。
Window — 窗函数。窗函数的长度应等于FIR 滤波器系数个数,即阶数 n+1。
n — 滤波器阶数,默认为汉明窗。
b为生成的滤波器系数,、。
解释:
b = fir1(n,Wn)使用汉明窗来设计具有线性相位的n阶低通,带通或多频FIR滤波器。滤波器类型取决于Wn的元素数量。
b = fir1(n,Wn,ftype)设计低通,高通,带通,带阻或多频带滤波器,取决于ftype的值和Wn的元素数量。
b = fir1(___,window)使用window中指定的向量和先前语法中的任何参数设计过滤器。
b = fir1(___,scaleopt)另外指定滤波器的幅度响应是否被归一化。
注意:对于具有任意频率响应的窗口滤波器,请使用fir2。
设计一个48阶FIR带通滤波器,通带为0.3π≤ω≤0.6π rad/ sample。
其幅度和相位响应。如下所示:
b = fir1(48,[0.3 0.6]);
freqz(b,1,512)
- 点赞
- 收藏
- 关注作者
评论(0)