主要内容

fir1

基于窗口的数字滤波器设计

描述

例子

b= fir1 (n,Wn)设计一个采用汉明窗n阶低通、带通或多波段冷杉和线性相位滤波器。过滤器类型取决于元素的数量Wn

例子

b= fir1 (n,Wn,ftype)设计一个低通、高通滤波、带通、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标题阶段,包含归一化频率(\ \倍πrad /样本),ylabel阶段(度)包含一个类型的对象。坐标轴对象2级标题,包含归一化频率(\ \倍πrad /样本),ylabel级(dB)包含一个类型的对象。

负载chirp.mat。该文件包含一个信号,y,上面的大部分力量Fs / 4,或者奈奎斯特频率的一半。采样率为8192 Hz。

设计一个34阶冷杉高通滤波器减弱的分量信号Fs / 4。使用0.48的截止频率和切比雪夫窗口30 dB的涟漪。

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

过滤信号。显示原始和highpass-filtered信号。使用相同的y设在情节的规模。

outhi =过滤器(嗨,1,y);次要情节(2,1,1)情节(t, y)标题(原始信号的)y = ylim;次要情节(2,1,2)情节(t, outhi)标题(“高通滤波过滤信号”)包含(“时间(s)”)ylim (y)

设计一个低通滤波器具有相同的规格。筛选和比较结果对原始信号。使用相同的y设在情节的规模。

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

设计一个46阶数字滤波器减弱下面的归一化频率 0 4 π rad /样本和之间 0 6 π 0 9 π rad /样品。叫它bM

奥德= 46;低= 0.4;bnd = (0.6 - 0.9);bM = fir1(奥德(低bnd));

重新设计bM所以它通过乐队其他频率衰减和停止。调用新的过滤器bW。使用fvtool显示过滤器的频率响应。

bW = fir1(奥德(低bnd),“DC-1”);hfvt = fvtool (bW bM, 1, 1);传奇(hfvt“bM”,“bW”)

图1图:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含归一化频率(空白乘以πr d / s m p l e), ylabel级(dB)包含2线类型的对象。这些对象代表bM, bW。

重新设计bM使用一个损害窗口。(“DC-0”是可选的)。比较级响应的汉明和损害的设计。

嗯= fir1(奥德(低bnd),“DC-0”,损害(奥德+ 1));hfvt = fvtool (bM, 1,嗯,1);传奇(hfvt“汉明”,“损害”)

图2图:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含归一化频率(空白乘以πr d / s m p l e), ylabel级(dB)包含2线类型的对象。这些对象代表汉明,损害。

重新设计bW使用图基窗口。比较级响应的汉明和图基设计。

tW = fir1(奥德(低bnd),“DC-1”tukeywin(奥德+ 1));hfvt = fvtool (tW bW, 1, 1);传奇(hfvt“汉明”,“图基”)

图图3:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含归一化频率(空白乘以πr d / s m p l e), ylabel级(dB)包含2线类型的对象。这些对象代表汉明,图基。

输入参数

全部折叠

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

高通滤波和bandstop配置,fir1总是使用筛选器顺序。订单必须甚至因为奇数阶对称的FIR滤波器必须在奈奎斯特频率零增益。如果您指定一个奇数n高通滤波或bandstop过滤器fir1增量n1。

数据类型:

频率限制,指定为一个标量,双元素向量,或多种元素的向量。所有元素的Wn必须严格大于0,严格小于1,1对应的奈奎斯特频率:0 <Wn< 1。奈奎斯特频率的采样率的一半πrad /样品。

  • 如果Wn是一个标量,然后呢fir1设计截止频率的低通和高通滤波器Wn。截止频率是滤波器的归一化得到的频率是6 dB。

  • 如果Wn是二极向量(w1 w2),在那里w1<w2,然后fir1设计一个带通或bandstop滤波器截止频率较低w1和更高的截止频率w2

  • 如果Wn是多元化的向量(w1 w2……wn),在那里w1<w2<…<wn,然后fir1返回一个n阶多频带滤波器与乐队0 <ω<w1,w1<ω<w2、…wn<ω< 1。

数据类型:

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

  • “低”指定了一个低通滤波器截止频率Wn“低”对标量是默认的吗Wn

  • “高”指定一个高通滤波器截止频率Wn

  • “带通”指定一个带通滤波器Wn是一个双元素向量。“带通”是默认的时Wn有两个元素。

  • “停止”指定如果bandstop过滤器Wn是一个双元素向量。

  • “DC-0”指定的第一个乐队多频带滤波器阻带。“DC-0”是默认的时Wn有两个以上的元素。

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

窗口中,指定为一个向量。向量必须的窗口n+ 1的元素。如果你不指定窗口,然后fir1使用一个汉明窗。可用窗口的列表,请参阅窗户

fir1不会自动增加的长度窗口如果你试图设计一个高通滤波或bandstop过滤器奇怪的秩序。

例子:kaiser (n + 1, 0.5)指定一个Kaiser窗形状参数0.5使用一个过滤器n

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

数据类型:

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

  • “规模”规范系数,这样的滤波器的幅度响应在通频带的中心是1(0分贝)。

  • “noscale”没有标准化系数。

输出参数

全部折叠

滤波器系数,返回一个行向量的长度n+ 1。z变换的系数是按照递减的权力变量z:

B(z)=b (1)+b (2)z+…+b (n + 1)z- n

算法

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

引用

[1]IEEE音响、数字信号处理委员会的演讲,和信号处理社会,eds。对数字信号处理程序。纽约:IEEE出版社,1979年,算法5.2。

扩展功能

C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。

版本历史

之前介绍过的R2006a