主要内容

replaceFilters

在滤波器分析器中用新滤波器替换现有滤波器

自 R2024a 起

说明

replaceFilters(fa,filt1,...,filtn) 用新滤波器替换滤波器分析器 fa 中的所有滤波器。指定的滤波器的数量必须等于 App 中当前滤波器的总数。如果您只想替换一部分滤波器,请使用 FilterNames 参量来指定要替换哪些滤波器。

示例

除了上述语法中的输入参量之外,replaceFilters(___,Name=Value) 还使用名称-值参量指定选项。

示例

示例

全部折叠

使用一个低通滤波器启动滤波器分析器。

d1 = designfilt("lowpassfir", ...
    PassbandFrequency=0.45,StopbandFrequency=0.55);
fa = filterAnalyzer(d1,FilterNames="LP");

使用一个高通滤波器替换低通滤波器。

d2 = designfilt("highpassfir", ...
    PassbandFrequency=0.55,StopbandFrequency=0.45);
replaceFilters(fa,d2,FilterNames="LP")
renameFilters(fa,"LP","HP")

输入参数

全部折叠

滤波器分析器句柄,指定为 filterAnalyzer 对象。

输入滤波器,指定为以下项之一:

  • 系数矩阵对 - 将 filt 指定为两个参量 B,A,其中 BA 分别是分子系数和分母系数。有关详细信息,请参阅Import Filter Coefficients

  • 元胞数组 - 将 filt 指定为 {B,A,g} 形式的元胞数组,其中 BA 分别是分子系数和分母系数,g 表示滤波器的缩放增益。有关详细信息,请参阅Import Filter Coefficients

  • digitalFilter 对象 - 将 filt 指定为 digitalFilter 对象。要在命令行中基于频率响应设定生成或编辑数字滤波器,请使用 designfilt

示例: B = [1 3 3 1]/6A = [3 0 1 0]/3 一起指定一个归一化 3 dB 频率为 0.5π 弧度/采样点的三阶低通巴特沃斯滤波器。

示例: [B,A] = sos2ctf([2 4 2 6 0 2; 3 3 0 6 0 0])g = [1;1;1] 指定一个三阶低通巴特沃斯滤波器,其归一化 3 dB 频率为 0.5π 弧度/采样点,并具有缩放增益。

示例: d = designfilt("lowpassiir",FilterOrder=3,HalfPowerFrequency=0.5) 用于指定一个归一化 3 dB 频率为 0.5π 弧度/采样点的三阶低通巴特沃斯滤波器。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | cell
复数支持:

名称-值参数

全部折叠

将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。

示例: FilterNames=["LP" "HP"],SampleRates=[150 3e3]

要替换的滤波器的名称,指定为字符串向量。滤波器名称是在 App 的滤波器表中用于标识不同滤波器的名称。

示例: ["LPbutter" "LPelliptic"]

数据类型: char | string

滤波器采样率,指定为以 Hz 为单位的标量或向量值。

  • 如果将 SampleRates 指定为标量,您指定的值将应用于所有滤波器。

  • 如果将 SampleRates 指定为向量,该向量的元素数必须与滤波器数量相等。

指定 SampleRates 时,滤波器表显示指定的采样率。

示例: [150 3e3]

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

版本历史记录

在 R2024a 中推出