主要内容

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代码在命令行上。设计的过滤器是保存到工作区。

designfilt (d)可以编辑现有的数字滤波器,d。它打开一个滤波器设计助理填充过滤器的规格,您可以修改。这是唯一你可以编辑digitalFilter对象。它的属性是只读的。

例子

全部折叠

设计一个最小订单与归一化低通滤波器通带频率 0 2 5 π rad /样本,阻带频率 0 3 5 π rad /样本,通带波纹0.5 dB,阻带衰减65分贝。使用Kaiser窗设计滤波器。想象它的大小反应。用它来过滤随机数据的向量。

lpFilt = designfilt (“lowpassfir”,“PassbandFrequency”,0.25,“StopbandFrequency”,0.35,“PassbandRipple”,0.5,“StopbandAttenuation”,65,“DesignMethod”,“kaiserwin”);fvtool (lpFilt)

数字滤波器可视化工具——级响应(dB)包含一个轴uitoolbar类型的对象和其他对象,uimenu。坐标轴对象2级响应(dB)包含标题行类型的对象。

dataIn =兰德(1000 1);dataOut =过滤器(lpFilt dataIn);

设计一个低通滤波器与订单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)

数字滤波器可视化工具——级响应(dB)包含一个轴uitoolbar类型的对象和其他对象,uimenu。坐标轴对象2级响应(dB)包含标题行类型的对象。

使用过滤器用来过滤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

设计一个最小订单高通的冷杉滤波器与规范化的阻带频率 0 2 5 π rad /样本,通频带的频率 0 3 5 π 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)

数字滤波器可视化工具——级响应(dB)包含一个轴uitoolbar类型的对象和其他对象,uimenu。坐标轴对象2级响应(dB)包含标题行类型的对象。

dataIn = randn (1000 1);dataOut =过滤器(hpFilt dataIn);

设计一个与订单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)

数字滤波器可视化工具——级响应(dB)包含一个轴uitoolbar类型的对象和其他对象,uimenu。坐标轴对象2级响应(dB)包含标题行类型的对象。

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)

数字滤波器可视化工具——级响应(dB)包含一个轴uitoolbar类型的对象和其他对象,uimenu。坐标轴对象2级响应(dB)包含标题行类型的对象。

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

设计一个20阶带通IIR滤波器3-dB较低频率500赫兹和更高的3-dB频率560赫兹。采样率为1500 Hz。可视化滤波器的频率响应。用它来过滤1000 -样本随机信号。

bpFilt = designfilt (“bandpassiir”,“FilterOrder”,20岁,“HalfPowerFrequency1”,500,“HalfPowerFrequency2”,560,“SampleRate”,1500);fvtool (bpFilt)

数字滤波器可视化工具——级响应(dB)包含一个轴uitoolbar类型的对象和其他对象,uimenu。坐标轴对象2级响应(dB)包含标题行类型的对象。

dataIn = randn (1000 1);dataOut =过滤器(bpFilt dataIn);

设计一个20阶bandstop冷杉滤波器较低的截止频率500赫兹和更高的截止频率560赫兹。采样率为1500 Hz。可视化滤波器的幅度响应。用它来过滤1000样本的随机数据。

bsFilt = designfilt (“bandstopfir”,“FilterOrder”,20岁,“CutoffFrequency1”,500,“CutoffFrequency2”,560,“SampleRate”,1500);fvtool (bsFilt)

数字滤波器可视化工具——级响应(dB)包含一个轴uitoolbar类型的对象和其他对象,uimenu。坐标轴对象2级响应(dB)包含标题行类型的对象。

dataIn = randn (1000 1);dataOut =过滤器(bsFilt dataIn);

设计一个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)

数字滤波器可视化工具——级响应(dB)包含一个轴uitoolbar类型的对象和其他对象,uimenu。坐标轴对象2级响应(dB)包含标题行类型的对象。

dataIn = randn (1000 1);dataOut =过滤器(bsFilt dataIn);

设计一个full-band区分订单7的过滤器。显示其零相位响应。用它来过滤1000 -样本向量的随机数据。

dFilt = designfilt (“differentiatorfir”,“FilterOrder”7);fvtool (dFilt“MagnitudeDisplay”,“零”)

数字滤波器可视化工具——零相位响应包含一个坐标轴对象和其他对象类型的uitoolbar, uimenu。坐标轴对象与标题零相位响应包含2线类型的对象。

dataIn = randn (1000 1);dataOut =过滤器(dFilt dataIn);

设计一个希尔伯特变换器的18岁。指定一个规范化过渡的宽度 0 2 5 π rad /样品。显示在线性滤波器的幅度响应单位。用它来过滤1000 -样本向量的随机数据。

hFilt = designfilt (“hilbertfir”,“FilterOrder”,18岁,“TransitionWidth”,0.25);fvtool (hFilt“MagnitudeDisplay”,“级”)

图过滤可视化工具-级响应包含一个坐标轴对象和其他对象类型的uitoolbar, uimenu。坐标轴对象2级响应包含标题行类型的对象。

dataIn = randn (1000 1);dataOut =过滤器(hFilt dataIn);

你给出一个信号采样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)

数字滤波器可视化工具——级响应(dB)包含一个轴uitoolbar类型的对象和其他对象,uimenu。坐标轴对象2级响应(dB)包含标题行类型的对象。

dataIn = randn (1000 1);dataOut =过滤器(mbFilt dataIn);

输入参数

全部折叠

滤波器响应和类型,指定为一个特征向量或字符串标量。

选择这种方式来设计一个有限脉冲响应(杉木)低通滤波器。下面的例子使用了第五规范从表中设置。

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赫兹。

选择这个选项设计无限脉冲响应(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(最小订单设计)

“PassbandFrequency”

“StopbandFrequency”

“PassbandRipple”

“StopbandAttenuation”

“黄油”(默认)

“MatchExactly”

“cheby1”

“MatchExactly”

“cheby2”

“MatchExactly”

“ellip”

“MatchExactly”

“FilterOrder”

“HalfPowerFrequency”

N /一个

“黄油”

N /一个

“FilterOrder”

“PassbandFrequency”

“PassbandRipple”

“cheby1”

N /一个

“FilterOrder”

“PassbandFrequency”

“PassbandRipple”

“StopbandAttenuation”

“ellip”

N /一个

“FilterOrder”

“StopbandFrequency”

“StopbandAttenuation”

“cheby2”

N /一个

“NumeratorOrder”

“DenominatorOrder”

“HalfPowerFrequency”

N /一个

“黄油”

N /一个

选择这种方式来设计一个有限脉冲响应(杉木)高通滤波器。这个示例使用从表中第一个规范集。

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赫兹。

选择这个选项设计无限脉冲响应(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(最小订单设计)

“StopbandFrequency”

“PassbandFrequency”

“StopbandAttenuation”

“PassbandRipple”

“黄油”(默认)

“MatchExactly”

“cheby1”

“MatchExactly”

“cheby2”

“MatchExactly”

“ellip”

“MatchExactly”

“FilterOrder”

“HalfPowerFrequency”

N /一个

“黄油”

N /一个

“FilterOrder”

“PassbandFrequency”

“PassbandRipple”

“cheby1”

N /一个

“FilterOrder”

“PassbandFrequency”

“StopbandAttenuation”

“PassbandRipple”

“ellip”

N /一个

“FilterOrder”

“StopbandFrequency”

“StopbandAttenuation”

“cheby2”

N /一个

“NumeratorOrder”

“DenominatorOrder”

“HalfPowerFrequency”

N /一个

“黄油”

N /一个

选择这种方式来设计一个有限脉冲响应(杉木)带通滤波器。下面的例子使用了从表中第四规范设置。

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赫兹。

选择这个选项设计无限脉冲响应(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赫兹。

选择这种方式来设计一个有限脉冲响应(杉木)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赫兹。

选择这个选项设计无限脉冲响应(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赫兹。

选择这种方式来设计一个有限脉冲响应(杉木)微分滤波器。这个示例使用第二个规范从表中设置。

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”参数值 设计选项参数名称

“FilterOrder”

N /一个

N /一个

“equiripple”(默认)

N /一个

“ls”

N /一个

“FilterOrder”

“PassbandFrequency”

“StopbandFrequency”

N /一个

“equiripple”(默认)

“PassbandWeight”

“StopbandWeight”

“ls”

N /一个

选择这种方式来设计一个有限脉冲响应(杉木)希尔伯特变换器过滤器。下面的例子使用了规范从表中设置。

d = designfilt (“hilbertfir”,%响应类型“FilterOrder”12%过滤器订单“TransitionWidth”,400,%频率约束“DesignMethod”,“ls”,%设计方法“SampleRate”,2000)%采样率

  • 如果您省略“FilterOrder”“TransitionWidth”,designfilt抛出一个错误。

  • 如果您省略“DesignMethod”,designfilt使用默认的希尔伯特变压器的设计方法。

  • 如果您省略“SampleRate”,designfilt将其设置为2赫兹。

过滤器订单参数名称 频率约束参数名称 级约束参数名称 “DesignMethod”参数值 设计选项参数名称

“FilterOrder”

“TransitionWidth”

N /一个

“equiripple”(默认)

N /一个

“ls”

N /一个

选择这种方式来设计一个有限脉冲响应(杉木)任意级响应的滤波器。这个示例使用第二个规范从表中设置。

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”参数值 设计选项参数名称

“FilterOrder”

“频率”

“振幅”

“freqsamp”(默认)

“窗口”

“equiripple”

“重量”

“ls”

“重量”

“FilterOrder”

“NumBands”

“BandFrequencies1”

“BandFrequenciesN”

“BandAmplitudes1”

“BandAmplitudesN”

“equiripple”(默认)

“BandWeights1”

“BandWeightsN”

“ls”

“BandWeights1”

“BandWeightsN”

数据类型:字符|字符串

数字滤波器,指定为一个digitalFilter生成的对象designfilt。使用这个改变现有的规范的输入digitalFilter

名称-值参数

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

例子:“CutoffFrequency”“FilterOrder”, 20日,0.4可以指定一个低通滤波器。

并不是所有的名称组合是有效的。有效组合取决于您需要的滤波器响应的频率和大小的限制,您的设计。

过滤器订单

全部折叠

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

数据类型:

分子秩序的IIR设计,指定为一个正整数标量。

数据类型:

分母秩序的IIR设计,指定为一个正整数标量。

数据类型:

频率约束

全部折叠

通频带的频率,指定为一个积极的标量。必须在奈奎斯特频率值范围。

“PassbandFrequency1”是低通带频率带通或bandstop设计。

“PassbandFrequency2”是一个带通或bandstop通带频率越高的设计。

数据类型:

阻带频率,指定为一个积极的标量。必须在奈奎斯特频率值范围。

“StopbandFrequency1”是低阻带频率带通或bandstop设计

“StopbandFrequency2”是高阻带频率带通或bandstop设计。

数据类型:

6分贝的频率,指定为一个积极的标量。必须在奈奎斯特频率值范围。

“CutoffFrequency1”6分贝较低频率带通或bandstop设计。

“CutoffFrequency2”是6分贝更高频率带通或bandstop设计。

数据类型:

3-dB频率,指定为一个积极的标量。必须在奈奎斯特频率值范围。

“HalfPowerFrequency1”是降低3-dB频率带通或bandstop设计。

“HalfPowerFrequency2”3-dB越高频率带通或bandstop设计。

数据类型:

宽通带和阻带之间的过渡区希尔伯特变压器,指定为一个积极的标量。

数据类型:

响应频率,指定为一个向量。使用这个变量列表任意大小的一个过滤器的频率反应所需的振幅。频率必须单调递增,躺在奈奎斯特的范围之内。向量的第一个元素必须是0或- - - - - -f年代/ 2,在那里f年代是采样率,它的最后一个元素必须f年代/ 2。如果你不指定采样率,designfilt使用的默认值2赫兹。

数据类型:

乐队在多波段设计,指定为一个正整数标量不大于10。

数据类型:

多波段响应频率,指定为数字向量。“BandFrequenciesi”,在那里从1到“NumBands”,包含的频率是一个矢量th乐队的多波段设计所需的值,“BandAmplitudesi”“NumBands”可以最多10。必须躺在奈奎斯特频率范围,必须指定在单调递增的顺序。相邻频率乐队必须有相同的振幅结。

数据类型:

大小限制

全部折叠

通带波纹,指定为一个积极的标量用分贝表示。

“PassbandRipple1”是lower-band bandstop设计通带波纹。

“PassbandRipple2”是higher-band bandstop设计通带波纹。

数据类型:

阻带衰减,指定为一个积极的标量用分贝表示。

“StopbandAttenuation1”是lower-band阻带衰减带通设计。

“StopbandAttenuation2”是higher-band阻带衰减带通设计。

数据类型:

任意大小的期望响应振幅响应滤波器,指定为一个向量。表达的振幅线性单元。向量必须具有相同的长度“频率”

数据类型:

多波段响应振幅,指定为数字向量。“BandAmplitudesi”,在那里从1到“NumBands”,是一个向量包含所需的振幅乐队的多波段设计。“NumBands”可以最多10。表达的振幅线性单元。“BandAmplitudesi”必须有相同的长度吗“BandFrequenciesi”。相邻频率乐队必须有相同的振幅结。

数据类型:

设计方法

全部折叠

设计方法,指定为一个特征向量或字符串标量。设计方法的选择取决于您指定的频率和大小约束集。

  • “黄油”设计巴特沃斯IIR滤波器。巴特沃斯滤波器有一个光滑单调最大平坦的通带频率响应。他们牺牲滚边陡度平坦。

  • “cheby1”切比雪夫型IIR滤波器的设计。切比雪夫型滤波器的频率响应equiripple在通带和阻带的最大平坦。其通带波纹增加而增加滚边陡度。

  • “cheby2”切比雪夫II型IIR滤波器的设计。切比雪夫II型过滤器的频率响应最大平坦的通带和阻带equiripple。

  • “cls”设计一个冷杉过滤器使用约束最小二乘法。方法之间的差异最小化指定任意分段线性函数和滤波器的幅度响应。同时,它允许您设置限制通带波纹和阻带衰减。

  • “ellip”设计一个椭圆IIR滤波器。椭圆滤波器的频率响应在通带和阻带equiripple。

  • “equiripple”设计一个equiripple冷杉过滤器使用Parks-McClellan算法。Equiripple过滤器的频率响应最小化最大纹波大小乐队。

  • “freqsamp”设计抽样冷杉的任意大小的响应滤波器的频率响应一致,以傅里叶反变换。

  • “kaiserwin”设计一个冷杉过滤器使用Kaiser窗方法。截断的方法理想滤波器的脉冲响应,并使用Kaiser窗减弱产生的截断振荡。

  • “ls”设计一个冷杉过滤器使用最小二乘法。方法之间的差异最小化指定任意分段线性函数和滤波器的幅度响应。

  • “maxflat”设计最大限度地平冷杉过滤器。这些过滤器有一个光滑单调最大平坦的通带频率响应。

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

数据类型:字符|字符串

设计方法的选择

全部折叠

最低订购量的平价“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|细胞

乐队完全匹配,指定为阻带的,“通频带”,或“两个”“两个”是椭圆形设计方法,只能默认。阻带的是默认的吗“黄油”“cheby2”方法。“通频带”是默认的“cheby1”

数据类型:字符|字符串

通频带抵消,指定为一个积极的标量用分贝表示。“PassbandOffset”指定滤波器通带增益。

例子:“PassbandOffset”, 0结果在一个过滤器单元获得的通频带。

例子:“PassbandOffset”, 2导致滤波器通带增益为2 dB或1.259。

数据类型:

通频带范围内,指定为一个逻辑标量。当您设置“ScalePassband”真正的,通频带扩展窗口后,使得滤波器有单位增益频率为零。

例子:{@kaiser, 0.1}‘窗口’,‘ScalePassband’,真的帮助指定一个过滤器,它的反应为零级频率正是0分贝。当你指定情况并非如此“ScalePassband”,假的。验证、可视化过滤器fvtool和放大。

数据类型:逻辑

零相位,指定为逻辑标量。当您设置“ZeroPhase”真正的,的零相位响应结果过滤总是正的。这允许您执行光谱分解结果,得到一个最小相位滤波器。

数据类型:逻辑

通频带优化重量,指定为一个积极的标量。

“PassbandWeight1”是lower-band通频带bandstop冷杉设计优化重量。

“PassbandWeight2”是higher-band通频带bandstop冷杉设计优化重量。

数据类型:

阻带优化重量,指定为一个积极的标量。

“StopbandWeight1”是lower-band阻带带通冷杉设计优化重量。

“StopbandWeight2”是higher-band阻带带通冷杉设计优化重量。

数据类型:

优化权重,指定为一个积极的标量或矢量的长度相同“振幅”

数据类型:

多波段权重,指定为积极的标量或矢量。“BandWeightsi”,在那里从1到“NumBands”,是一个标量或包含的优化权重向量乐队的多波段设计。如果指定为一个向量,“BandWeightsi”必须有相同的长度吗“BandAmplitudesi”

数据类型:

采样率

全部折叠

采样率,指定为一个积极的标量用赫兹。与归一化频率,设置“SampleRate”2,或者干脆省略它。

数据类型:

输出参数

全部折叠

数字滤波器,作为一个返回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代码。点击点击这里你的屏幕上的滤波器设计助理。

高通的IIR滤波器设计助理对话框的设计

你看到的问题:您没有指定频率约束。你也忘了设置一个采样率。试验后,你发现你可以指定频率的单位作为赫兹,通带频率等于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选项。

兼容性的考虑

全部展开

行为改变R2021b

介绍了R2014a