主要内容

fir1

基于windows的FIR滤波器设计

描述

例子

b= fir1(nWn使用汉明窗设计一个n具有线相位的Thround低通,带通或多频带FIR滤波器。过滤器类型取决于元素的数量Wn

例子

b= fir1(nWnFTYPE.根据值设计,设计低通,高通,带通,BandStop或多频带过滤器FTYPE.和元素的数量Wn

例子

b= fir1(___窗户中指定的矢量设计过滤器窗户和以前语法的任何参数。

b = fir1 (___ScaleOpt.另外指定滤波器的幅度响应是否归一化。

注意:使用的故事对于具有任意频率响应的窗口过滤器。

例子

全部收缩

设计带通带的48个阶FIR带通滤波器 0 3. 5 π ω. 0 6 5 π rad /样品。可视化其幅度和相位响应。

B = fir1(48,[0.35 0.65]);freqz (b, 1512)

图中包含2个轴。坐标轴1包含一个类型为line的对象。轴2包含一个类型为line的对象。

加载chirp.mat.该文件包含一个信号,y,它的大部分力量在上面FS / 4.或尼奎斯特频率的一半。采样速率为8192hz。

设计34级FIR高通滤波器,以验证以下信号的组件FS / 4..使用0.48的截止频率和30db纹波的切比雪夫窗。

负载尖声地说t =(0:长度(y)-1)/ fs;bhi = fir1(34,0.48,“高”, chebwin(35、30));freqz(嗨,1)

过滤信号。显示原始和高通滤波的信号。使用相同的y- 两个绘图的轴垢。

Outhi =过滤器(BHI,1,Y);次要情节(2,1,1)情节(t, y)标题('原始信号') ys = ylim;子图(2,1,2)绘图(T,OUTHI)标题(“高通滤波过滤信号”)Xlabel('时间'')ylim(ys)

设计一个相同规格的低通滤波器。对信号进行滤波,并将结果与原信号进行比较。使用相同的y- 两个绘图的轴垢。

鼓风机= fir1(34个,0.48,chebwin(35、30));车辆outlo =过滤器(1,y);次要情节(2,1,1)情节(t, y)标题('原始信号') ys = ylim;次要情节(2,1,2)情节(t, outlo)标题('低通滤波信号')Xlabel('时间'')ylim(ys)

设计一个46级FIR滤波器,可衰减下面的归一频率 0 4 π rad /样本和之间 0 6 π 0 9 π rad /样品。叫它bM

奥德= 46;低= 0.4;BND = [0.6 . 0.9];bM = fir1(ord,[low bnd]);

重新设计bM所以它通过了衰减的频带阻止了其他频率。调用新过滤器bW.使用fvtool显示滤波器的频率响应。

bW = fir1(ord,[low bnd],“DC-1”);hfvt = fvtool (bW bM, 1, 1);传奇(hfvt'bm''bw'

图过滤器可视化工具-幅度响应(dB)包含一个轴和其他类型的uitoolbar, uimenu对象。标题为幅度响应(dB)的轴包含2个线型对象。这些对象代表BM,BW。

重新设计bM使用Hann窗口。(这“DC-0”是可选的。)比较汉明和Hann设计的幅度响应。

HM = FIR1(ORD,[低BND],“DC-0”,损害(奥德+ 1));hfvt = fvtool (bM, 1,嗯,1);传奇(hfvt“汉明”“损害”

图过滤器可视化工具-幅度响应(dB)包含一个轴和其他类型的uitoolbar, uimenu对象。标题为幅度响应(dB)的轴包含2个线型对象。这些物体代表汉明,汉恩。

重新设计bW使用tukey窗口。比较汉明和Tukey设计的幅度响应。

tW = fir1(ord,[low bnd],“DC-1”tukeywin(奥德+ 1));hfvt = fvtool (tW bW, 1, 1);传奇(hfvt“汉明”'tukey'

图过滤器可视化工具-幅度响应(dB)包含一个轴和其他类型的uitoolbar, uimenu对象。标题为幅度响应(dB)的轴包含2个线型对象。这些物品代表汉明,杜克。

输入参数

全部收缩

过滤器订单,指定为整数标量。

对于高通和带阻配置,fir1始终使用偶数过滤器订单。顺序必须是因为奇数阶对称FIR滤波器必须在奈奎斯特频率下具有零增益。如果指定奇数n对于高通或带阻滤波器,那么fir1增量n到1。

数据类型:双倍的

频率约束,指定为标量、二元矢量或多元矢量。所有元素的Wn必须严格大于0并严格小于1,其中1对应于奈奎斯特频率:0 <Wn< 1。奈奎斯特频率是采样率的一半πrad /样品。

  • 如果Wn那是一个标量fir1设计具有截止频率的低通或高通滤波器Wn.截止频率是滤波器归一化增益为- 6db时的频率。

  • 如果Wn是两个元素矢量[W1 W2], 在哪里w1<w2,然后fir1设计具有较低截止频率的带通或带器过滤器w1以及更高的截止频率w2

  • 如果Wn是多元素矢量[w1 w2 ... wn], 在哪里w1<w2<......wn,然后fir1返回A.n带频段0 <ω.<w1w1<ω.<w2,......,wn<ω.< 1。

数据类型:双倍的

过滤类型,指定为以下之一:

  • '低的'指定一个具有截止频率的低通滤波器Wn'低的'是标量的默认值吗Wn

  • “高”指定具有截止频率的高通滤波器Wn

  • '带通'指定带通滤波器IFWn是一个二元向量。'带通'是当Wn有两个元素。

  • '停止'指定带阻滤波器ifWn是一个二元向量。

  • “DC-0”指定多频滤波器的第一频带是一个停车。“DC-0”是当Wn有两个以上的元素。

  • “DC-1”指定多频带滤波器的第一个频带为通频带。

窗口,指定为向量。窗向量必须有n+ 1个元素。如果您未指定窗户,然后fir1使用汉明窗。有关可用窗口的列表,请参阅视窗

fir1不会自动增加长度窗户如果您试图设计一个奇阶高通或带阻滤波器。

例子:Kaiser(n + 1,0.5)指定形状参数为0.5的Kaiser窗口,用于顺序过滤器n

例子:汉明(n + 1)相当于离开窗口未指定。

数据类型:双倍的

归一化选项,指定为'规模'或者“noscale”

  • '规模'归一化系数,使滤波器在通带中心的幅度响应为1 (0 dB)。

  • “noscale”不正常化系数。

输出参数

全部收缩

滤波器系数,作为长度的行向量返回n+ 1。系数在z变换变量的下降功率中排序z

Bz) =b (1)+b (2)z+ ...... +b (n + 1)z- n

算法

fir1使用最小二乘近似来计算滤波器系数,然后平滑脉冲响应窗户

参考

[1]数字信号处理委员会,IEEE声学、语音和信号处理学会主编。数字信号处理程序.纽约:IEEE按,1979年,算法5.2。

扩展功能

C / C ++代码生成
使用MATLAB®Coder™生成C和C ++代码。

在R2006A之前介绍