MATLAB 帮助中心
向滤波器分析器添加新滤波器
自 R2024a 起
addFilters(fa,filt1,...,filtn)
addFilters(___,Name=Value)
dispnum = addFilters(___)
addFilters(fa,filt1,...,filtn) 将指定的滤波器导入到滤波器分析器 fa 并在活动显示画面中绘制它们的响应。如果没有活动显示画面,滤波器分析器会添加一个新的显示画面并在其上绘制滤波器。
fa
filt
除了上述语法中的输入参量之外,addFilters(___,Name=Value) 还使用名称-值参量指定选项。
Name=Value
示例
dispnum = addFilters(___) 返回与新添加的显示画面对应的标识号。如果已经有显示画面,addFilters 会返回一个空数组。
dispnum
addFilters
全部折叠
设计一个低通滤波器,并在滤波器分析器中显示它。
d1 = designfilt("lowpassfir", ... PassbandFrequency=0.45,StopbandFrequency=0.55); fa = filterAnalyzer(d1,FilterNames="LP1");
在显示画面中添加另一个低通滤波器。
d2 = designfilt("lowpassfir", ... PassbandFrequency=0.25,StopbandFrequency=0.35); addFilters(fa,d2,FilterNames="LP2")
filterAnalyzer
滤波器分析器句柄,指定为 filterAnalyzer 对象。
digitalFilter
输入滤波器,每个滤波器都指定为一对系数矩阵、一个元胞数组或一个 digitalFilter 对象。
有关详细信息,请参阅滤波器分析器页面上的导入滤波器。
示例: b = [1 3 3 1]/6 和 a = [3 0 1 0]/3 一起指定一个归一化 3 dB 频率为 0.5π 弧度/采样点的三阶低通巴特沃斯滤波器。
b = [1 3 3 1]/6
a = [3 0 1 0]/3
示例: sos2ctf([2 4 2 6 0 2; 3 3 0 6 0 0]) 指定一个归一化 3 dB 频率为 0.5π 弧度/采样点的三阶低通巴特沃斯滤波器。
sos2ctf([2 4 2 6 0 2; 3 3 0 6 0 0])
示例: d = designfilt("lowpassiir",FilterOrder=3,HalfPowerFrequency=0.5) 指定一个归一化 3 dB 频率为 0.5π 弧度/采样点的三阶低通巴特沃斯滤波器。
d = designfilt("lowpassiir",FilterOrder=3,HalfPowerFrequency=0.5)
您可以使用滤波器分析器来分析指定为分子系数和分母系数的滤波器。如果将系数指定为 L 行矩阵
B=[b11b12⋯b1,m+1b21b22⋯b2,m+1⋮⋮⋱⋮bL1bL2⋯bL,m+1], A=[a11a12⋯a1,n+1a21a22⋯a2,n+1⋮⋮⋱⋮aL1aL2⋯aL,n+1],
则滤波器分析器假设您已将滤波器指定为一系列 L 级联传递函数 (CTF),使得滤波器的完整传递函数为
H(z)=b11+b12z−1+⋯+b1,m+1z−ma11+a12z−1+⋯+a1,n+1z−n×b21+b22z−1+⋯+b2,m+1z−ma21+a22z−1+⋯+a2,n+1z−n×⋯×bL1+bL2z−1+⋯+bL,m+1z−maL1+aL2z−1+⋯+aL,n+1z−n,
其中 m ≥ 0 是滤波器的分子阶数,n ≥ 0 是分母阶数。
如果 L = 1,则 B 和 A 是指定 IIR 滤波器传递函数的行向量。
如果将 B 和 A 都指定为列向量,则滤波器分析器假设它们表示 IIR 滤波器的传递函数。
如果 B 是标量,则滤波器分析器假设您将滤波器指定为所有极点 IIR 滤波器的级联,每个节的缩放增益等于 B。
如果 A 是标量,则滤波器分析器假设您将滤波器指定为 FIR 滤波器的级联,每个节的缩放增益等于 1/A。
注意
要将二阶节矩阵转换为级联传递函数,请使用 sos2ctf 函数。
sos2ctf
要将零极点增益滤波器表示转换为级联传递函数,请使用 zp2ctf 函数。
zp2ctf
如果您有独立于系数值的缩放增益,可以使用“导入滤波器”对话框在滤波器分析器中输入该增益。在命令行中,您可以将系数和增益指定为 {B,A,g} 形式的元胞数组,其中 B 和 A 如“滤波器系数”节中所定义。
{B,A,g}
增益可以是标量整体增益或节增益向量。
如果增益是标量,则滤波器分析器会将该值均匀地应用于所有级联滤波器节。
如果增益是向量,则它必须比级联中的滤波器节数多一个元素。滤波器分析器将一个尺度值应用于每个滤波器节,并将最后一个值均匀地应用于所有滤波器节。
如果将系数矩阵和增益向量指定为
B=[b11b12⋯b1,m+1b21b22⋯b2,m+1⋮⋮⋱⋮bL1bL2⋯bL,m+1], A=[a11a12⋯a1,n+1a21a22⋯a2,n+1⋮⋮⋱⋮aL1aL2⋯aL,n+1], g=[g1g2⋯gLgS],
则滤波器分析器使用传递函数
H(z)=gS(g1b11+b12z−1+⋯+b1,m+1z−ma11+a12z−1+⋯+a1,n+1z−n×g2b21+b22z−1+⋯+b2,m+1z−ma21+a22z−1+⋯+a2,n+1z−n×⋯×gLbL1+bL2z−1+⋯+bL,m+1z−maL1+aL2z−1+⋯+aL,n+1z−n).
您可以使用滤波器分析器来分析 digitalFilter 对象。使用 designfilt 根据频率响应设定生成或编辑数字滤波器。
designfilt
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | cell 复数支持: 是
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
cell
将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。
Name1=Value1,...,NameN=ValueN
Name
Value
示例: addFilters(fa,filt1,filt2,FilterNames=["LP" "HP"],SampleRates=[150 3e3]) 向指定的滤波器分析器实例 fa 添加名为 "LP" 和 "HP" 的滤波器,它们的采样率分别为 150 Hz 和 3 KHz。
addFilters(fa,filt1,filt2,FilterNames=["LP" "HP"],SampleRates=[150 3e3])
"LP"
"HP"
DisplayNums
要在其上绘制滤波器的显示画面,指定为显示画面编号的向量。如果不指定此参量,滤波器分析器将使用活动画面。使用其他滤波器分析器函数时,使用显示画面标识号来定位显示。标识号出现在 App 绘图区域的上方,在对应于不同显示画面的选项卡上。
示例: [1 4]
[1 4]
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
FilterNames
滤波器名称,指定为字符串向量或字符向量元胞数组。滤波器名称是在滤波器分析器的滤波器表中标识不同滤波器的名称。如果不指定此参量,则会出现以下情况:
如果已将滤波器指定为分子系数和分母系数,则滤波器分析器使用 num_den 作为滤波器名称,其中 num 是指定滤波器分子系数的变量,den 是指定对应分母系数的变量。
num_den
num
den
如果滤波器已指定为元胞数组或对象,则滤波器分析器使用将每个元胞数组或对象指定为滤波器名称的变量。
否则,滤波器分析器将使用由 Filter_n 组成的名称,其中 n 是编号,表示该滤波器添加到滤波器表中的顺序:Filter_1、Filter_2,依此类推。
Filter_
n
Filter_1
Filter_2
滤波器分析器中的滤波器名称必须唯一。如果名称已存在,App 会在名称后追加后缀数字。滤波器表显示 App 会话中已存在的名称。
示例: ["LPbutter" "LPelliptic"]
["LPbutter" "LPelliptic"]
数据类型: cell | string
string
SampleRates
1
滤波器采样率,指定为以 Hz 为单位的标量或向量值。
如果将 SampleRates 指定为标量,您指定的值将应用于所有滤波器。
如果将 SampleRates 指定为向量,该向量的元素数必须与滤波器数量相等。
指定 SampleRates 时,滤波器表显示指定的采样率。
示例: [150 3e3]
[150 3e3]
显示标识号,以整数或整数向量形式返回。如果 addFilters 添加一个以上的显示画面,则 dispnum 是向量。如果滤波器分析器使用当前显示画面,则 dispnum 是一个空数组。
在 R2024a 中推出
filterAnalysisOptions
freqz
impz
zplane
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处