designfilt
设计数字滤波器
designfilt
不再协助纠正在脚本中调用函数或函数。有关更多信息,请参见兼容性的考虑。
描述
设计一个d
= designfilt (分别地
,名称,值
)digitalFilter
对象,d
,响应类型分别地
。的例子分别地
是“lowpassfir”
和“bandstopiir”
。指定过滤进一步使用一组名称-值对的观点。允许规范集依赖分别地
和包含的组合:
频率约束对应的频率滤波器展览所需的行为。例子包括
“PassbandFrequency”
和“CutoffFrequency”
。您必须指定频率约束。大小限制描述了过滤器的行为在特定的频率范围。例子包括
“PassbandRipple”
和“StopbandAttenuation”
。designfilt
提供的默认值大小约束仍然模棱两可。在arbitrary-magnitude设计您必须指定所需的振幅的向量。过滤器订单。一些设计方法允许您指定的顺序。其他人产生最小订单设计。也就是说,他们产生最小的过滤器满足指定的约束。
设计方法该算法用于设计滤波器。例子包括约束最小二乘(
“cls”
)和Kaiser窗口(“kaiserwin”
)。对于一些规范集,有多种可供选择的设计方法。在其他情况下,您可以只使用一个方法来满足所需的规范。设计方法的选择是特定于给定的参数设计方法。例子包括
“窗口”
为“窗口”
方法和优化“重量”
对于arbitrary-magnitude equiripple设计。designfilt
提供设计选项的默认值仍然模棱两可。采样率是过滤操作的频率。
designfilt
有一个默认2赫兹的采样率。使用这个值相当于与归一化频率。
请注意
如果您指定一个不完整的或不一致的组名称在命令行参数,designfilt
提供开滤波器设计助理。助理帮助你纠正MATLAB设计过滤器和贴®在命令行代码。
如果你叫designfilt
从一套脚本或函数与一个不正确的规格,designfilt
问题与一个链接打开一条错误消息滤波器设计助理。助理帮助你设计过滤器和贴纠正MATLAB代码在命令行上。设计的过滤器是保存到工作区。
使用
过滤器
在表单中dataIn dataOut =过滤器(d)
过滤的一个信号digitalFilter
,d
。IIR滤波器,过滤器
第二函数使用一个直接形式实现。您还可以使用filtfilt
和fftfilt
功能与digitalFilter
对象。使用FVTool想象一个
digitalFilter
,d
。类型
d.Coefficients
得到的系数digitalFilter
,d
。IIR滤波器的系数表示为二阶部分。看到
digitalFilter
列表过滤和分析功能的使用digitalFilter
对象。
designfilt (
可以编辑现有的数字滤波器,d
)d
。它打开一个滤波器设计助理填充过滤器的规格,您可以修改。这是唯一你可以编辑digitalFilter
对象。它的属性是只读的。
例子
低通滤波器
设计一个最小订单与归一化低通滤波器通带频率 rad /样本,阻带频率 rad /样本,通带波纹0.5 dB,阻带衰减65分贝。使用Kaiser窗设计滤波器。想象它的大小反应。用它来过滤随机数据的向量。
lpFilt = designfilt (“lowpassfir”,“PassbandFrequency”,0.25,…“StopbandFrequency”,0.35,“PassbandRipple”,0.5,…“StopbandAttenuation”,65,“DesignMethod”,“kaiserwin”);fvtool (lpFilt)
dataIn =兰德(1000 1);dataOut =过滤器(lpFilt dataIn);
低通滤波器IIR滤波器
设计一个低通滤波器与订单8 IIR滤波器,通带频率35 kHz,和通带波纹0.2 dB。指定一个200 kHz的采样率。可视化滤波器的幅度响应。
lpFilt = designfilt (“lowpassiir”,“FilterOrder”8…“PassbandFrequency”35岁的e3,“PassbandRipple”,0.2,…“SampleRate”200年e3);fvtool (lpFilt)
使用过滤器用来过滤1000 -样本随机信号。
dataIn = randn (1000 1);dataOut =过滤器(lpFilt dataIn);
输出滤波器系数,表示为二阶部分。
sos = lpFilt.Coefficients
sos =4×60.2666 0.5333 0.2666 1.0000 -0.8346 0.9073 0.1943 0.3886 0.1943 1.0000 -0.9586 0.7403 0.1012 0.2023 0.1012 1.0000 -1.1912 0.5983 0.0318 0.0636 0.0318 1.0000 -1.3810 0.5090
高通的冷杉过滤器
设计一个最小订单高通的冷杉滤波器与规范化的阻带频率 rad /样本,通频带的频率 rad /样本,通带波纹0.5 dB,阻带衰减65分贝。使用Kaiser窗设计滤波器。想象它的大小反应。用它来过滤1000样本的随机数据。
hpFilt = designfilt (“highpassfir”,“StopbandFrequency”,0.25,…“PassbandFrequency”,0.35,“PassbandRipple”,0.5,…“StopbandAttenuation”,65,“DesignMethod”,“kaiserwin”);fvtool (hpFilt)
dataIn = randn (1000 1);dataOut =过滤器(hpFilt dataIn);
高通的IIR滤波器
设计一个与订单8高通的IIR滤波器,通带频率75 kHz,和通带波纹0.2 dB。指定一个200 kHz的采样率。可视化滤波器的幅度响应。过滤器适用于1000 -样本向量的随机数据。
hpFilt = designfilt (“highpassiir”,“FilterOrder”8…“PassbandFrequency”75年e3,“PassbandRipple”,0.2,…“SampleRate”200年e3);fvtool (hpFilt)
dataIn = randn (1000 1);dataOut =过滤器(hpFilt dataIn);
带通滤波器
设计一个20阶带通数字滤波器截止频率较低的500赫兹和更高的截止频率560赫兹。采样率为1500 Hz。可视化滤波器的幅度响应。用它来过滤包含1000个样本的随机信号。
bpFilt = designfilt (“bandpassfir”,“FilterOrder”,20岁,…“CutoffFrequency1”,500,“CutoffFrequency2”,560,…“SampleRate”,1500);fvtool (bpFilt)
dataIn = randn (1000 1);dataOut =过滤器(bpFilt dataIn);
输出滤波器系数。
b = bpFilt.Coefficients
b =1×21-0.0113 0.0067 0.0125 -0.0445 0.0504 0.0101 -0.1070 0.1407 -0.0464 -0.1127 0.1913 -0.1127 -0.0464 0.1407 -0.1070 0.0101 0.0504 -0.0445 0.0125 0.0067 -0.0113
带通IIR滤波器
设计一个20阶带通IIR滤波器3-dB较低频率500赫兹和更高的3-dB频率560赫兹。采样率为1500 Hz。可视化滤波器的频率响应。用它来过滤1000 -样本随机信号。
bpFilt = designfilt (“bandpassiir”,“FilterOrder”,20岁,…“HalfPowerFrequency1”,500,“HalfPowerFrequency2”,560,…“SampleRate”,1500);fvtool (bpFilt)
dataIn = randn (1000 1);dataOut =过滤器(bpFilt dataIn);
Bandstop冷杉过滤器
设计一个20阶bandstop冷杉滤波器较低的截止频率500赫兹和更高的截止频率560赫兹。采样率为1500 Hz。可视化滤波器的幅度响应。用它来过滤1000样本的随机数据。
bsFilt = designfilt (“bandstopfir”,“FilterOrder”,20岁,…“CutoffFrequency1”,500,“CutoffFrequency2”,560,…“SampleRate”,1500);fvtool (bsFilt)
dataIn = randn (1000 1);dataOut =过滤器(bsFilt dataIn);
Bandstop IIR滤波器
设计一个20阶bandstop IIR滤波器3-dB较低频率500赫兹和更高的3-dB频率560赫兹。采样率为1500 Hz。可视化滤波器的幅度响应。用它来过滤1000样本的随机数据。
bsFilt = designfilt (“bandstopiir”,“FilterOrder”,20岁,…“HalfPowerFrequency1”,500,“HalfPowerFrequency2”,560,…“SampleRate”,1500);fvtool (bsFilt)
dataIn = randn (1000 1);dataOut =过滤器(bsFilt dataIn);
冷杉的区别
设计一个full-band区分订单7的过滤器。显示其零相位响应。用它来过滤1000 -样本向量的随机数据。
dFilt = designfilt (“differentiatorfir”,“FilterOrder”7);fvtool (dFilt“MagnitudeDisplay”,“零”)
dataIn = randn (1000 1);dataOut =过滤器(dFilt dataIn);
冷杉希尔伯特变压器
设计一个希尔伯特变换器的18岁。指定一个规范化过渡的宽度 rad /样品。显示在线性滤波器的幅度响应单位。用它来过滤1000 -样本向量的随机数据。
hFilt = designfilt (“hilbertfir”,“FilterOrder”,18岁,“TransitionWidth”,0.25);fvtool (hFilt“MagnitudeDisplay”,“级”)
dataIn = randn (1000 1);dataOut =过滤器(hFilt dataIn);
Arbitrary-Magnitude冷杉过滤器
你给出一个信号采样1 kHz。设计一个滤波器,停止频率100赫兹到350赫兹和频率大于400赫兹。指定一个过滤器的顺序60。可视化滤波器的频率响应。用它来过滤1000 -样本随机信号。
mbFilt = designfilt (“arbmagfir”,“FilterOrder”现年60岁的…“频率”0:50:500,“振幅”[1 1 1 0 0 0 0 1 1 0 0),…“SampleRate”,1000);fvtool (mbFilt)
dataIn = randn (1000 1);dataOut =过滤器(mbFilt dataIn);
输入参数
分别地
- - - - - -滤波器响应和类型
“lowpassfir”
|“lowpassiir”
|“highpassfir”
|“highpassiir”
|“bandpassfir”
|“bandpassiir”
|“bandstopfir”
|“bandstopiir”
|“differentiatorfir”
|“hilbertfir”
|“arbmagfir”
滤波器响应和类型,指定为一个特征向量或字符串标量。
“lowpassfir”
——FIR低通滤波器
响应类型
选择这种方式来设计一个有限脉冲响应(杉木)低通滤波器。下面的例子使用了第五规范从表中设置。
d = designfilt (“lowpassfir”,…%响应类型“FilterOrder”25岁的…%过滤器订单“PassbandFrequency”,400,…%频率约束“StopbandFrequency”,550,…“DesignMethod”,“ls”,…%设计方法“PassbandWeight”,1…%设计方法的选择“StopbandWeight”2,…“SampleRate”,2000)%采样率
如果您省略
“FilterOrder”
(在需要时),或任何频率的限制,designfilt
抛出一个错误。如果您省略大小限制,
designfilt
使用默认值。如果您省略
“DesignMethod”
,designfilt
使用默认的规范设计方法。如果您省略了设计方法的选择,
designfilt
使用默认选择的设计方法。如果您省略
“SampleRate”
,designfilt
将其设置为2赫兹。
过滤器订单参数名称 | 频率约束参数名称 | 级约束参数名称 | “DesignMethod” 参数值 |
设计选项参数名称 |
---|---|---|---|---|
N / A(最小订单设计) |
|
N /一个 |
||
|
||||
N /一个 |
|
N /一个 |
||
N /一个 |
|
|||
|
||||
N /一个 |
|
|||
|
“lowpassiir”
——IIR低通滤波器
响应类型
选择这个选项设计无限脉冲响应(IIR)低通滤波器。这个示例使用从表中第一个规范集。
d = designfilt (“lowpassiir”,…%响应类型“PassbandFrequency”,400,…%频率约束“StopbandFrequency”,550,…“PassbandRipple”4…%大小限制“StopbandAttenuation”现年55岁的…“DesignMethod”,“ellip”,…%设计方法“MatchExactly”,“通频带”,…%设计方法的选择“SampleRate”,2000)%采样率
如果您省略
“FilterOrder”
(在需要时),或任何频率的限制,designfilt
抛出一个错误。如果您省略大小限制,
designfilt
使用默认值。如果您省略
“DesignMethod”
,designfilt
使用默认的规范设计方法。如果您省略了设计方法的选择,
designfilt
使用默认选择的设计方法。如果您省略
“SampleRate”
,designfilt
将其设置为2赫兹。
过滤器订单参数名称 | 频率约束参数名称 | 级约束参数名称 | “DesignMethod” 参数值 |
设计选项参数名称 |
---|---|---|---|---|
N / A(最小订单设计) |
|
|||
|
||||
|
||||
|
||||
N /一个 |
|
N /一个 |
||
|
N /一个 |
|||
|
N /一个 |
|||
|
N /一个 |
|||
N /一个 |
|
N /一个 |
“highpassfir”
- - - - - -冷杉高通滤波器
响应类型
选择这种方式来设计一个有限脉冲响应(杉木)高通滤波器。这个示例使用从表中第一个规范集。
d = designfilt (“highpassfir”,…%响应类型“StopbandFrequency”,400,…%频率约束“PassbandFrequency”,550,…“StopbandAttenuation”现年55岁的…%大小限制“PassbandRipple”4…“DesignMethod”,“kaiserwin”,…%设计方法“ScalePassband”假的,…%设计方法的选择“SampleRate”,2000)%采样率
如果您省略
“FilterOrder”
(在需要时),或任何频率的限制,designfilt
抛出一个错误。如果您省略大小限制,
designfilt
使用默认值。如果您省略
“DesignMethod”
,designfilt
使用默认的规范设计方法。如果您省略了设计方法的选择,
designfilt
使用默认选择的设计方法。如果您省略
“SampleRate”
,designfilt
将其设置为2赫兹。
过滤器订单参数名称 | 频率约束参数名称 | 级约束参数名称 | “DesignMethod” 参数值 |
设计选项参数名称 |
---|---|---|---|---|
N / A(最小订单设计) |
|
N /一个 |
||
|
||||
N /一个 |
|
|||
|
||||
N /一个 |
|
|||
|
“highpassiir”
——IIR高通滤波器
响应类型
选择这个选项设计无限脉冲响应(IIR)高通滤波器。这个示例使用从表中第一个规范集。
d = designfilt (“highpassiir”,…%响应类型“StopbandFrequency”,400,…%频率约束“PassbandFrequency”,550,…“StopbandAttenuation”现年55岁的…%大小限制“PassbandRipple”4…“DesignMethod”,“cheby1”,…%设计方法“MatchExactly”,阻带的,…%设计方法的选择“SampleRate”,2000)%采样率
如果您省略
“FilterOrder”
(在需要时),或任何频率的限制,designfilt
抛出一个错误。如果您省略大小限制,
designfilt
使用默认值。如果您省略
“DesignMethod”
,designfilt
使用默认的规范设计方法。如果您省略了设计方法的选择,
designfilt
使用默认选择的设计方法。如果您省略
“SampleRate”
,designfilt
将其设置为2赫兹。
过滤器订单参数名称 | 频率约束参数名称 | 级约束参数名称 | “DesignMethod” 参数值 |
设计选项参数名称 |
---|---|---|---|---|
N / A(最小订单设计) |
|
|||
|
||||
|
||||
|
||||
N /一个 |
|
N /一个 |
||
|
N /一个 |
|||
|
N /一个 |
|||
|
N /一个 |
|||
N /一个 |
|
N /一个 |
“bandpassfir”
——FIR带通滤波器
响应类型
选择这种方式来设计一个有限脉冲响应(杉木)带通滤波器。下面的例子使用了从表中第四规范设置。
d = designfilt (“bandpassfir”,…%响应类型“FilterOrder”,86,…%过滤器订单“StopbandFrequency1”,400,…%频率约束“PassbandFrequency1”,450,…“PassbandFrequency2”,600,…“StopbandFrequency2”,650,…“DesignMethod”,“ls”,…%设计方法“StopbandWeight1”,1…%设计方法的选择“PassbandWeight”2,…“StopbandWeight2”3,…“SampleRate”,2000)%采样率
如果您省略
“FilterOrder”
(在需要时),或任何频率的限制,designfilt
抛出一个错误。如果您省略大小限制,
designfilt
使用默认值。如果您省略
“DesignMethod”
,designfilt
使用默认的规范设计方法。如果您省略了设计方法的选择,
designfilt
使用默认选择的设计方法。如果您省略
“SampleRate”
,designfilt
将其设置为2赫兹。
过滤器订单参数名称 | 频率约束参数名称 | 级约束参数名称 | “DesignMethod” 参数值 |
设计选项参数名称 |
---|---|---|---|---|
N / A(最小订单设计) |
|
N /一个 |
||
|
||||
N /一个 |
|
|||
|
||||
N /一个 |
|
|||
|
“bandpassiir”
——IIR带通滤波器
响应类型
选择这个选项设计无限脉冲响应(IIR)带通滤波器。这个示例使用从表中第一个规范集。
d = designfilt (“bandpassiir”,…%响应类型“StopbandFrequency1”,400,…%频率约束“PassbandFrequency1”,450,…“PassbandFrequency2”,600,…“StopbandFrequency2”,650,…“StopbandAttenuation1”现年40岁的…%大小限制“PassbandRipple”,1…“StopbandAttenuation2”,50岁,…“DesignMethod”,“ellip”,…%设计方法“MatchExactly”,“通频带”,…%设计方法的选择“SampleRate”,2000)%采样率
如果您省略
“FilterOrder”
(在需要时),或任何频率的限制,designfilt
抛出一个错误。如果您省略大小限制,
designfilt
使用默认值。如果您省略
“DesignMethod”
,designfilt
使用默认的规范设计方法。如果您省略了设计方法的选择,
designfilt
使用默认选择的设计方法。如果您省略
“SampleRate”
,designfilt
将其设置为2赫兹。
过滤器订单参数名称 | 频率约束参数名称 | 级约束参数名称 | “DesignMethod” 参数值 |
设计选项参数名称 |
---|---|---|---|---|
N / A(最小订单设计) |
|
|||
|
||||
|
||||
|
||||
N /一个 |
|
N /一个 |
||
|
N /一个 |
|||
|
N /一个 |
|||
|
N /一个 |
“bandstopfir”
-冷杉bandstop过滤器
响应类型
选择这种方式来设计一个有限脉冲响应(杉木)bandstop过滤器。下面的例子使用了从表中第四规范设置。
d = designfilt (“bandstopfir”,…%响应类型“FilterOrder”32岁的…%过滤器订单“PassbandFrequency1”,400,…%频率约束“StopbandFrequency1”,500,…“StopbandFrequency2”,700,…“PassbandFrequency2”,850,…“DesignMethod”,“ls”,…%设计方法“PassbandWeight1”,1…%设计方法的选择“StopbandWeight”3,…“PassbandWeight2”5,…“SampleRate”,2000)%采样率
如果您省略
“FilterOrder”
(在需要时),或任何频率的限制,designfilt
抛出一个错误。如果您省略大小限制,
designfilt
使用默认值。如果您省略
“DesignMethod”
,designfilt
使用默认的规范设计方法。如果您省略了设计方法的选择,
designfilt
使用默认选择的设计方法。如果您省略
“SampleRate”
,designfilt
将其设置为2赫兹。
过滤器订单参数名称 | 频率约束参数名称 | 级约束参数名称 | “DesignMethod” 参数值 |
设计选项参数名称 |
---|---|---|---|---|
N / A(最小订单设计) |
|
N /一个 |
||
|
||||
N /一个 |
|
|||
|
||||
N /一个 |
|
|||
|
“bandstopiir”
——IIR bandstop滤波器
响应类型
选择这个选项设计无限脉冲响应(IIR) bandstop过滤器。这个示例使用从表中第一个规范集。
d = designfilt (“bandstopiir”,…%响应类型“PassbandFrequency1”,400,…%频率约束“StopbandFrequency1”,500,…“StopbandFrequency2”,700,…“PassbandFrequency2”,850,…“PassbandRipple1”,1…%大小限制“StopbandAttenuation”现年55岁的…“PassbandRipple2”,1…“DesignMethod”,“ellip”,…%设计方法“MatchExactly”,“两个”,…%设计方法的选择“SampleRate”,2000)%采样率
如果您省略
“FilterOrder”
(在需要时),或任何频率的限制,designfilt
抛出一个错误。如果您省略大小限制,
designfilt
使用默认值。如果您省略
“DesignMethod”
,designfilt
使用默认的规范设计方法。如果您省略了设计方法的选择,
designfilt
使用默认选择的设计方法。如果您省略
“SampleRate”
,designfilt
将其设置为2赫兹。
过滤器订单参数名称 | 频率约束参数名称 | 级约束参数名称 | “DesignMethod” 参数值 |
设计选项参数名称 |
---|---|---|---|---|
N / A(最小订单设计) |
|
|||
|
||||
|
||||
|
||||
N /一个 |
|
N /一个 |
||
|
N /一个 |
|||
|
N /一个 |
|||
|
N /一个 |
“differentiatorfir”
-冷杉微分滤波器
响应类型
选择这种方式来设计一个有限脉冲响应(杉木)微分滤波器。这个示例使用第二个规范从表中设置。
d = designfilt (“differentiatorfir”,…%响应类型“FilterOrder”现年42岁的…%过滤器订单“PassbandFrequency”,400,…%频率约束“StopbandFrequency”,500,…“DesignMethod”,“equiripple”,…%设计方法“PassbandWeight”,1…%设计方法的选择“StopbandWeight”4…“SampleRate”,2000)%采样率
如果您省略
“FilterOrder”
,或任何的频率限制在设计partial-band微分器,designfilt
抛出一个错误。如果您省略
“DesignMethod”
,designfilt
使用默认的规范设计方法。如果您省略了设计方法的选择,
designfilt
使用默认选择的设计方法。如果您省略
“SampleRate”
,designfilt
将其设置为2赫兹。
过滤器订单参数名称 | 频率约束参数名称 | 级约束参数名称 | “DesignMethod” 参数值 |
设计选项参数名称 |
---|---|---|---|---|
N /一个 |
N /一个 |
|
N /一个 |
|
|
N /一个 |
|||
N /一个 |
|
|||
|
N /一个 |
“hilbertfir”
-冷杉希尔伯特变换器过滤器
响应类型
选择这种方式来设计一个有限脉冲响应(杉木)希尔伯特变换器过滤器。下面的例子使用了规范从表中设置。
d = designfilt (“hilbertfir”,…%响应类型“FilterOrder”12…%过滤器订单“TransitionWidth”,400,…%频率约束“DesignMethod”,“ls”,…%设计方法“SampleRate”,2000)%采样率
如果您省略
“FilterOrder”
或“TransitionWidth”
,designfilt
抛出一个错误。如果您省略
“DesignMethod”
,designfilt
使用默认的希尔伯特变压器的设计方法。如果您省略
“SampleRate”
,designfilt
将其设置为2赫兹。
过滤器订单参数名称 | 频率约束参数名称 | 级约束参数名称 | “DesignMethod” 参数值 |
设计选项参数名称 |
---|---|---|---|---|
N /一个 |
|
N /一个 |
||
|
N /一个 |
“arbmagfir”
-冷杉任意级响应的滤波器
响应类型
选择这种方式来设计一个有限脉冲响应(杉木)任意级响应的滤波器。这个示例使用第二个规范从表中设置。
d = designfilt (“arbmagfir”,…%响应类型“FilterOrder”,88,…%过滤器订单“NumBands”4…%频率约束“BandFrequencies1”20 [0],…“BandFrequencies2”(25 40),…“BandFrequencies3”(65年45),…“BandFrequencies4”(70 100),…“BandAmplitudes1”(2 - 2),…%大小限制“BandAmplitudes2”[0 0],…“BandAmplitudes3”[1],…“BandAmplitudes4”[0 0],…“DesignMethod”,“ls”,…%设计方法“BandWeights1”[1]/ 10…%设计方法的选择“BandWeights2”(3 - 1),…“BandWeights3”(2 - 4),…“BandWeights4”(5 - 1),…“SampleRate”,200)%采样率
如果您省略
“FilterOrder”
,或任何的频率或大小的限制,designfilt
抛出一个错误。如果您省略
“DesignMethod”
,designfilt
使用默认的规范设计方法。如果您省略了设计方法的选择,
designfilt
使用默认选择的设计方法。如果您省略
“SampleRate”
,designfilt
将其设置为2赫兹。
过滤器订单参数名称 | 频率约束参数名称 | 级约束参数名称 | “DesignMethod” 参数值 |
设计选项参数名称 |
---|---|---|---|---|
|
||||
|
||||
|
||||
… |
… |
|
… |
|
|
… |
数据类型:字符
|字符串
d
- - - - - -数字滤波器
digitalFilter
对象
数字滤波器,指定为一个digitalFilter
生成的对象designfilt
。使用这个改变现有的规范的输入digitalFilter
。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
例子:FilterOrder = 20, CutoffFrequency = 0.4
可以指定一个低通滤波器。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:“CutoffFrequency”“FilterOrder”, 20日,0.4
可以指定一个低通滤波器。
并不是所有的名称组合是有效的。有效组合取决于您需要的滤波器响应的频率和大小的限制,您的设计。
FilterOrder
- - - - - -过滤器订单
正整数标量
过滤器订单,指定为一个正整数标量。
数据类型:双
NumeratorOrder
- - - - - -分子秩序
正整数标量
分子秩序的IIR设计,指定为一个正整数标量。
数据类型:双
DenominatorOrder
- - - - - -分母秩序
正整数标量
分母秩序的IIR设计,指定为一个正整数标量。
数据类型:双
PassbandFrequency
,PassbandFrequency1
,PassbandFrequency2
- - - - - -通带频率
积极的标量
通频带的频率,指定为一个积极的标量。必须在奈奎斯特频率值范围。
“PassbandFrequency1”
是低通带频率带通或bandstop设计。
“PassbandFrequency2”
是一个带通或bandstop通带频率越高的设计。
数据类型:双
StopbandFrequency
,StopbandFrequency1
,StopbandFrequency2
- - - - - -阻带频率
积极的标量
阻带频率,指定为一个积极的标量。必须在奈奎斯特频率值范围。
“StopbandFrequency1”
是低阻带频率带通或bandstop设计
“StopbandFrequency2”
是高阻带频率带通或bandstop设计。
数据类型:双
CutoffFrequency
,CutoffFrequency1
,CutoffFrequency2
- - - - - -6分贝的频率
积极的标量
6分贝的频率,指定为一个积极的标量。必须在奈奎斯特频率值范围。
“CutoffFrequency1”
6分贝较低频率带通或bandstop设计。
“CutoffFrequency2”
是6分贝更高频率带通或bandstop设计。
数据类型:双
HalfPowerFrequency
,HalfPowerFrequency1
,HalfPowerFrequency2
- - - - - -3-dB频率
积极的标量
3-dB频率,指定为一个积极的标量。必须在奈奎斯特频率值范围。
“HalfPowerFrequency1”
是降低3-dB频率带通或bandstop设计。
“HalfPowerFrequency2”
3-dB越高频率带通或bandstop设计。
数据类型:双
TransitionWidth
- - - - - -过渡区宽度
积极的标量
宽通带和阻带之间的过渡区希尔伯特变压器,指定为一个积极的标量。
数据类型:双
频率
- - - - - -响应频率
向量
响应频率,指定为一个向量。使用这个变量列表任意大小的一个过滤器的频率反应所需的振幅。频率必须单调递增,躺在奈奎斯特的范围之内。向量的第一个元素必须是0或- - - - - -f年代/ 2,在那里f年代是采样率,它的最后一个元素必须f年代/ 2。如果你不指定采样率,designfilt
使用的默认值2赫兹。
数据类型:双
NumBands
- - - - - -数量的乐队
正整数标量
乐队在多波段设计,指定为一个正整数标量不大于10。
数据类型:双
BandFrequencies1
,…
,BandFrequenciesN
- - - - - -多波段响应频率
向量
多波段响应频率,指定为数字向量。“BandFrequenciesi”
,在那里我从1到“NumBands”
,包含的频率是一个矢量我th乐队的多波段设计所需的值,“BandAmplitudesi”
。“NumBands”
可以最多10。必须躺在奈奎斯特频率范围,必须指定在单调递增的顺序。相邻频率乐队必须有相同的振幅结。
数据类型:双
PassbandRipple
,PassbandRipple1
,PassbandRipple2
- - - - - -通带纹波
1(默认)|积极的标量
通带波纹,指定为一个积极的标量用分贝表示。
“PassbandRipple1”
是lower-band bandstop设计通带波纹。
“PassbandRipple2”
是higher-band bandstop设计通带波纹。
数据类型:双
StopbandAttenuation
,StopbandAttenuation1
,StopbandAttenuation2
- - - - - -阻带衰减
60(默认)|积极的标量
阻带衰减,指定为一个积极的标量用分贝表示。
“StopbandAttenuation1”
是lower-band阻带衰减带通设计。
“StopbandAttenuation2”
是higher-band阻带衰减带通设计。
数据类型:双
振幅
- - - - - -期望的响应振幅
向量
任意大小的期望响应振幅响应滤波器,指定为一个向量。表达的振幅线性单元。向量必须具有相同的长度“频率”
。
数据类型:双
BandAmplitudes1
,…
,BandAmplitudesN
- - - - - -多波段响应振幅
向量
多波段响应振幅,指定为数字向量。“BandAmplitudesi”
,在那里我从1到“NumBands”
,是一个向量包含所需的振幅我乐队的多波段设计。“NumBands”
可以最多10。表达的振幅线性单元。“BandAmplitudesi”
必须有相同的长度吗“BandFrequenciesi”
。相邻频率乐队必须有相同的振幅结。
数据类型:双
DesignMethod
- - - - - -设计方法
“黄油”
|“cheby1”
|“cheby2”
|“cls”
|“ellip”
|“equiripple”
|“freqsamp”
|“kaiserwin”
|“ls”
|“maxflat”
|“窗口”
设计方法,指定为一个特征向量或字符串标量。设计方法的选择取决于您指定的频率和大小约束集。
“黄油”
设计巴特沃斯IIR滤波器。巴特沃斯滤波器有一个光滑单调最大平坦的通带频率响应。他们牺牲滚边陡度平坦。“cheby1”
切比雪夫型IIR滤波器的设计。切比雪夫型滤波器的频率响应equiripple在通带和阻带的最大平坦。其通带波纹增加而增加滚边陡度。“cheby2”
切比雪夫II型IIR滤波器的设计。切比雪夫II型过滤器的频率响应最大平坦的通带和阻带equiripple。“cls”
设计一个冷杉过滤器使用约束最小二乘法。方法之间的差异最小化指定任意分段线性函数和滤波器的幅度响应。同时,它允许您设置限制通带波纹和阻带衰减。“ellip”
设计一个椭圆IIR滤波器。椭圆滤波器的频率响应在通带和阻带equiripple。“equiripple”
设计一个equiripple冷杉过滤器使用Parks-McClellan算法。Equiripple过滤器的频率响应最小化最大纹波大小乐队。“freqsamp”
设计抽样冷杉的任意大小的响应滤波器的频率响应一致,以傅里叶反变换。“kaiserwin”
设计一个冷杉过滤器使用Kaiser窗方法。截断的方法理想滤波器的脉冲响应,并使用Kaiser窗减弱产生的截断振荡。“ls”
设计一个冷杉过滤器使用最小二乘法。方法之间的差异最小化指定任意分段线性函数和滤波器的幅度响应。“maxflat”
设计最大限度地平冷杉过滤器。这些过滤器有一个光滑单调最大平坦的通带频率响应。“窗口”
使用最小二乘近似计算脉冲响应滤波器系数,然后抚平“窗口”
。
数据类型:字符
|字符串
MinOrder
- - - - - -最低订购量平价
“任何”
(默认)|“甚至”
最低订购量的平价“kaiserwin”
设计、指定为“任何”
或“甚至”
。当您设置“MinOrder”
来“甚至”
,designfilt
返回一个最小订单过滤器甚至秩序。当您设置“MinOrder”
来“任何”
,返回的过滤器可以有奇数还是偶数阶,哪个更小。
数据类型:字符
|字符串
窗口
- - - - - -窗口
数值向量|窗口名称|函数处理|单元阵列
窗口中,指定为一个向量的长度N+ 1,在那里N是过滤器的顺序。“窗口”
也可以搭配一个窗口的函数或函数处理指定名称用于生成窗口。任何此类函数必须采取N+ 1作为第一输入。可以通过指定一个额外的输入单元阵列。默认情况下,“窗口”
是一个空向量的“freqsamp”
设计方法和@hamming
为“窗口”
设计方法。
可用窗口的列表,请参阅窗户。
例子:“窗口”,损害(N + 1)
和“窗口”,(1-cos(2 *π* (0:N) / N)) / 2
指定一个损害窗口都使用一个过滤器的顺序N
。
例子:“窗口”、“汉明”
指定所需的秩序的汉明窗。
例子:“窗口”,@mywindow
允许您定义自己的窗口函数。
例子:“窗口”,{@kaiser, 0.5}
指定一个Kaiser窗所需的形状参数为0.5。
数据类型:双
|字符
|字符串
|function_handle
|细胞
MatchExactly
- - - - - -乐队完全匹配
阻带的
|“通频带”
|“两个”
乐队完全匹配,指定为阻带的
,“通频带”
,或“两个”
。“两个”
是椭圆形设计方法,只能默认。阻带的
是默认的吗“黄油”
和“cheby2”
方法。“通频带”
是默认的“cheby1”
。
数据类型:字符
|字符串
PassbandOffset
- - - - - -通频带抵消
0(默认)|积极的标量
通频带抵消,指定为一个积极的标量用分贝表示。“PassbandOffset”
指定滤波器通带增益。
例子:“PassbandOffset”, 0
结果在一个过滤器单元获得的通频带。
例子:“PassbandOffset”, 2
导致滤波器通带增益为2 dB或1.259。
数据类型:双
ScalePassband
- - - - - -扩展通频带
真正的
(默认)|假
通频带范围内,指定为一个逻辑标量。当您设置“ScalePassband”
来真正的
,通频带扩展窗口后,使得滤波器有单位增益频率为零。
例子:{@kaiser, 0.1}‘窗口’,‘ScalePassband’,真的
帮助指定一个过滤器,它的反应为零级频率正是0分贝。当你指定情况并非如此“ScalePassband”,假的
。验证、可视化过滤器fvtool
和放大。
数据类型:逻辑
ZeroPhase
- - - - - -零相
假
(默认)|真正的
零相位,指定为逻辑标量。当您设置“ZeroPhase”
来真正的
,的零相位响应结果过滤总是正的。这允许您执行光谱分解结果,得到一个最小相位滤波器。
数据类型:逻辑
PassbandWeight
,PassbandWeight1
,PassbandWeight2
- - - - - -通频带优化重量
1(默认)|积极的标量
通频带优化重量,指定为一个积极的标量。
“PassbandWeight1”
是lower-band通频带bandstop冷杉设计优化重量。
“PassbandWeight2”
是higher-band通频带bandstop冷杉设计优化重量。
数据类型:双
StopbandWeight
,StopbandWeight1
,StopbandWeight2
- - - - - -阻带优化重量
1(默认)|积极的标量
阻带优化重量,指定为一个积极的标量。
“StopbandWeight1”
是lower-band阻带带通冷杉设计优化重量。
“StopbandWeight2”
是higher-band阻带带通冷杉设计优化重量。
数据类型:双
权重
- - - - - -优化权重
1(默认)|积极的标量|向量
优化权重,指定为一个积极的标量或矢量的长度相同“振幅”
。
数据类型:双
BandWeights1
,…
,BandWeightsN
- - - - - -多波段权重
1(默认)|积极的标量|向量
多波段权重,指定为积极的标量或矢量。“BandWeightsi”
,在那里我从1到“NumBands”
,是一个标量或包含的优化权重向量我乐队的多波段设计。如果指定为一个向量,“BandWeightsi”
必须有相同的长度吗“BandAmplitudesi”
。
数据类型:双
SampleRate
- - - - - -采样率
2(默认)|积极的标量
采样率,指定为一个积极的标量用赫兹。与归一化频率,设置“SampleRate”
2,或者干脆省略它。
数据类型:双
输出参数
d
——数字滤波器
digitalFilter
对象
数字滤波器,作为一个返回digitalFilter
对象。
更多关于
滤波器设计助理
如果你指定一个不完整的或不一致的设计参数,designfilt
打开一个过滤器设计助理。
(参数描述分别地
有一个有效的规范集的完整列表所有可用的响应类型。)
如果你打电话给助理的不同行为designfilt
在命令行或脚本或函数。
你给出一个信号采样2千赫。你被要求设计一个低通滤波器,抑制频率成分高于650赫兹。“截止频率”听起来像一个很好的候选规范参数。你输入这个代码在MATLAB命令行。
Fsamp = 2 e3;Fctff = 650;迪= designfilt (“lowpassfir”,“CutoffFrequency”Fctff,…“SampleRate”,Fsamp);
事情似乎不妥,因为这个对话框出现在屏幕上。
你点击是的并得到一个新的对话框,提供来生成代码。你会发现你之前定义的变量插入预期。
探索的一些选项后,你决定测试修正滤波器。你点击好吧这段代码在命令行上。
designfilt (“lowpassfir”,“FilterOrder”10…“CutoffFrequency”Fctff,“SampleRate”,2000);
输入的名称过滤重申信息对话框。
迪
迪= digitalFilter属性:系数(-0.0036 0.0127 -0.0066 -0.0881 0.2595:……0.6521 0.2595 -0.0881 -0.0066 0.0127 -0.0036)规格:FrequencyResponse:“低通”ImpulseResponse:“杉”SampleRate: 2000 CutoffFrequency: 650 FilterOrder: 10 DesignMethod:“窗口”使用fvtool来可视化过滤器使用designfilt编辑过滤器使用过滤器来过滤数据
您调用FVTool并得到一块迪
的频率响应。
fvtool(迪)
截止看起来并不是特别清晰。对于大多数频率响应40分贝以上。你还记得那个助理有一个选项来设置一个“限制级”称为“阻带衰减”。打开助理通过调用designfilt
过滤器的名称作为输入。
designfilt(迪)
单击大小限制
下拉菜单并选择通带纹波和阻带衰减
。你看到的设计方法已经改变了窗口
来冷杉约束最小二乘
。衰减的默认值是60分贝,这是高于40。点击好吧和可视化结果过滤。
迪= designfilt (“lowpassfir”,“FilterOrder”10…“CutoffFrequency”,650,“PassbandRipple”,1…“StopbandAttenuation”现年60岁的“SampleRate”,2000);fvtool(迪)
截止仍然看起来不清晰。衰减确实是60分贝,但频率高于900赫兹。
再次调用designfilt
与你的过滤器作为输入。
designfilt(迪)
助理重新出现。
缩小之间的区别接受和拒绝频率,增加过滤器的顺序或改变频率约束
从截止频率(6 db)
来通带和阻带频率
。如果你改变过滤器订单从10到50,你会得到一个更清晰的过滤器。
迪= designfilt (“lowpassfir”,“FilterOrder”,50岁,…“CutoffFrequency”,650,“PassbandRipple”,1…“StopbandAttenuation”现年60岁的“SampleRate”,2000);fvtool(迪)
实验表明,你可以获得类似的过滤器设置通带和阻带频率分别600 Hz, 700 Hz。
迪= designfilt (“lowpassfir”,“PassbandFrequency”,600,…“StopbandFrequency”,700,“PassbandRipple”,1…“StopbandAttenuation”现年60岁的“SampleRate”,2000);fvtool(迪)
你给出一个信号采样2千赫。你被要求设计一个高通滤波器,停止频率低于700赫兹。你不关心信号的相位,你需要使用一个低阶滤波器。因此一个IIR滤波器似乎足够了。你不确定什么过滤器订单是最好的,你写一个函数,接受订单作为输入。打开MATLAB编辑器并创建该文件。
函数dataIn dataOut = hipassfilt(秩序)hpFilter = designfilt (“highpassiir”,“FilterOrder”N);dataOut =过滤器(hpFilter dataIn);结束
测试功能,创建一个信号由两个正弦信号与频率500和800赫兹和生成样本为0.1 s。一个5阶滤波器作为初始猜测似乎是合理的。创建一个脚本driveHPfilt.m
。
%脚本driveHPfilt.mFsamp = 2 e3;Fsm = 500;光纤光栅= 800;t = 0:1 / Fsamp: 0.1;sgin =罪(2 *π* Fsm * t) +罪(2 *π*光纤光栅* t);N = 5;sgout = hipassfilt (N, sgin);
当你在命令行运行脚本时,你得到一个错误消息。
错误消息给你打开助理的选择正确的MATLAB代码。点击点击这里
你的屏幕上的滤波器设计助理。
你看到的问题:您没有指定频率约束。你也忘了设置一个采样率。试验后,你发现你可以指定频率的单位作为赫兹
,通带频率等于700 Hz,输入Fs等于2000 Hz。的设计方法改变从巴特沃斯
来切比雪夫型
。你点击好吧这在命令行上。
惠普= designfilt (“highpassiir”,“FilterOrder”N…“PassbandFrequency”,700,“PassbandRipple”,1…“SampleRate”,2000);
新digitalFilter
对象惠普
保存工作空间。根据你的设计约束,你可以改变你的规范集。
你可以设置designfilt
不要提供过滤器设计助理。这个动作设置一个MATLAB的偏好,可以设置setpref
:
使用
setpref (‘dontshowmeagain’,‘filterDesignAssistant’,假)
每次提供的助理。使用这个命令,您可以再次获得助理后禁用它。使用
setpref (‘dontshowmeagain’,‘filterDesignAssistant’,真的)
永久禁用助理。您也可以点击不再显示此消息吗在最初的对话框。
你可以设置designfilt
总是纠正错误的规格没有要求。这个动作设置一个MATLAB的偏好,可以设置使用setpref
:
使用
setpref (‘dontshowmeagain’,‘filterDesignAssistantCodeCorrection’,假)
有designfilt
正确的MATLAB代码没有要求确认。您也可以点击总是接受在确认对话框。使用
setpref (‘dontshowmeagain’,‘filterDesignAssistantCodeCorrection’,真的)
以确保designfilt
纠正你的MATLAB代码只有当你确定你想要更改。使用这个命令,您可以撤销有点击的效果总是接受在确认对话框。
故障排除
有一些实例,给出一组无效的规格,designfilt
没有提供一个过滤器设计助理,通过一个对话框或一个链接在一个错误消息。
你不是助理如果使用代码部分的评估,提供从MATLAB将来发布或按按Ctrl + Enter。(见把你的文件分成部分为更多的信息。)
你不提供助理如果代码有多个调用
designfilt
是不正确的,至少其中的一个电话,和你粘贴命令行上的代码,按执行它输入。
您选择的代码编辑器和按执行它F9。
你不是助理如果运行
designfilt
使用一个匿名函数。(见匿名函数为更多的信息。)例如,这个输入提供了一个助理。d = designfilt (“lowpassfir”,“CutoffFrequency”,0.6)
myFilterDesigner = @designfilt;d = myFilterDesigner (“lowpassfir”,“CutoffFrequency”,0.6)
你不是助理如果运行
designfilt
使用eval
。例如,这个输入提供了一个助理。d = designfilt (“lowpassfir”,“CutoffFrequency”,0.6)
myFilterDesigner =…sprintf (“designfilt (“% s”、“CutoffFrequency % f)”,…“lowpassfir”,0.6);d = eval (myFilterDesigner)
过滤器设计助理需要Java®软件和MATLAB桌面运行。它不支持如果你MAT金宝appLAB与运行-nojvm
,-nodisplay
,或-nodesktop
选项。
版本历史
介绍了R2014aR2021b:designfilt
不再协助纠正调用函数designfilt
从R2021b,designfilt
不再协助纠正调用函数designfilt
在一个脚本或函数。在以前的版本中,这个函数自动纠正并在命令行上执行的代码。
你不需要对代码进行任何更改。如果调用designfilt
包含一个错误,函数问题错误的链接打开过滤器设计助理。您可以使用助理来生成一个过滤器和显示在命令行上对应的代码。生成的过滤器对象保存到工作区。
Apri esempio
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
第一MATLAB
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano金宝app comandi MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。