IIR 过滤器

重要

对机器学习工作室(经典)的支持将于 2024 年 8 月 31 日结束。 建议在该日期之前转换到 Azure 机器学习

从 2021 年 12 月 1 日开始,你将无法创建新的机器学习工作室(经典)资源。 在 2024 年 8 月 31 日之前,可继续使用现有的机器学习工作室(经典)资源。

ML 工作室(经典)文档即将停用,将来可能不会更新。

创建无限脉冲响应滤波器以进行信号处理

类别: 数据转换/筛选器

注意

仅适用于机器学习 Studio (经典)

可在 Azure 机器学习设计器中获取类似的拖放模块。

模块概述

本文介绍如何在 机器学习 Studio (经典) 中使用 IIR 筛选器模块来创建无限脉冲响应 (IIR) 筛选器。

筛选器是数字信号处理中的重要工具,用于改进图像或语音识别的结果。 通常,筛选器是一个传输函数,该函数采用输入信号,并根据筛选器特征创建输出信号。 有关数字信号处理中筛选器用户的详细信息,请参阅 筛选器

IIR 筛选器是特定类型的筛选器;IIR 筛选器的典型用途是简化周期性数据,该数据包括随机干扰,以稳步增加或减少的趋势。 使用此模块创建的 IIR 筛选器定义了一组常量, (或系数) 来更改传递的信号。 名称中的无限一词指的是输出与序列值之间的反馈。

定义满足需求的筛选器后,可以通过将数据集和筛选器连接到 “应用筛选器 ”模块,将筛选器应用于数据。

提示

筛选器是一个传输函数,它采用输入信号,并根据筛选器特征创建输出信号。 有关数字信号处理中筛选器用户的详细信息,请参阅 筛选器

定义满足需求的筛选器后,可以通过将数据集和筛选器连接到 “应用筛选器 ”模块,将筛选器应用于数据。

提示

需要筛选数据集中的数据或删除缺失值? 请改用以下模块:

  • 清理缺失数据:使用此模块删除缺失值或将缺失值替换为占位符。
  • 分区和示例:使用此模块按日期范围、特定值或正则表达式等条件划分或筛选数据集。
  • 剪辑值:使用此模块设置范围,并仅保留该区域内的值。

如何配置 IIR 筛选器

  1. IIR 筛选器 模块添加到试验中。 可以在“筛选器”类别的“数据转换”下找到此模块。

  2. 对于 Order,请键入一个整数值,该值定义用于影响筛选器响应的活动元素数。 筛选器 的顺序 表示筛选器窗口的长度。

    对于 IIR 筛选器,最小顺序为 4。

  3. 对于 筛选器类型,请选择用于计算筛选器系数的算法。 筛选器类型指定控制频率响应和频率抑制的数学传输函数。 机器学习支持在数字信号处理中常用的此类筛选器:

    巴特沃思:巴特沃思筛选器也称为 最大平级筛选器 ,因为它限制了信号) 传递带和停止带的响应 (变化。

    Chebyshev 类型 1:Chebyshev 筛选器旨在最大程度地减少理想化和实际筛选器特征之间的错误范围。 类型 1 Chebyshev 筛选器在传递带中留下更多的波纹。

    Chebyshev 类型 2:第 2 种类型的 Chebyshev 筛选器具有与第 1 型切比舍夫筛选器相同的常规特征,但它们在停止带中留下更多的波纹。

  4. 对于 筛选器类型,请选择定义筛选器如何影响输入信号中的值的选项。 可以指定筛选器排除在断点上方或下方的值,或指定筛选器拒绝或传递指定频率范围内的值。

    LowPass:允许低频率值 (关闭值以下) 传递和衰减其他值。

    HighPass:允许在截止值上方 (高频率值,) 传递和衰减其他值。

    带通:允许低、高截止值指定的范围内的信号传递和衰减其他值。

    BandStop:允许在低、高截止值指定的范围之外传递信号并衰减区域内的值。

  5. 将高或低截止值指定为介于 0 和 1 之间的值,表示规范化频率。 对于 高截止,请键入一个值,该值表示频率上限。 对于 低截止,请键入一个表示较低频率边界的值。

  6. 对于 波纹,指定定义筛选器时要容忍的 波纹 量。 波纹是指定期发生的一个小变化。 波纹通常被视为不需要的效果,但可以通过调整其他筛选器参数(如筛选器长度)来补偿波纹。 并非所有筛选器都产生波纹。

  7. “应用筛选器” 模块添加到试验中,并连接你设计的筛选器,数据集包含要修改的值。

    使用列选择器指定应向其应用筛选器的数据集的列。 默认情况下, “应用筛选器” 模块将使用所有所选数值列的筛选器。

  8. 运行试验以应用转换。

注意

IIR 筛选器模块不提供创建指示器列的选项。 列值始终就地转换。

示例

有关如何在机器学习中使用筛选器的示例,请参阅 Azure AI 库中的此试验:

  • 筛选器:此试验使用工程的波形数据集演示了所有筛选器类型。

技术说明

本部分包含实现详情、使用技巧和常见问题解答。

实现详细信息

IIR 滤波器返回前馈和后馈系数,这些系数通过传递函数进行表示。 下面是一个示例表示法:

transfer function for IIR filters

其中:

  • N:筛选器顺序

  • bi:源转发筛选器系数

  • ai:源向后筛选器系数

  • x[n]:输入信号

  • y[n]:输出信号

模块参数

名称 范围 类型 默认 说明
顺序 [4;13] Integer 5 指定过滤顺序
过滤器类型 Any IIRFilterKind 选择要创建的 IIR 过滤器类型
筛选器类型 Any FilterType 选择过滤频带类型
低截止 [double.Epsilon;.9999999] Float 0.3 设置低截止值
高截止 [double.Epsilon;.9999999] Float 0.7 设置高截止值
波纹 >=0.0 Float 0.5 指定过滤器中的波纹量

输出

名称 类型 说明
“筛选器” IFilter 接口 过滤器实现

例外

异常 描述
NotInRangeValue 如果参数不在范围内,将出现异常。

有关特定于 Studio (经典) 模块的错误列表,请参阅机器学习错误代码

有关 API 异常的列表,请参阅机器学习 REST API 错误代码

另请参阅

Filter
应用筛选器
A-Z 模块列表