FIR 过滤器
重要
对机器学习工作室(经典)的支持将于 2024 年 8 月 31 日结束。 建议在该日期之前转换到 Azure 机器学习。
从 2021 年 12 月 1 日开始,你将无法创建新的机器学习工作室(经典)资源。 在 2024 年 8 月 31 日之前,可继续使用现有的机器学习工作室(经典)资源。
ML 工作室(经典)文档即将停用,将来可能不会更新。
创建有限脉冲响应滤波器以进行信号处理
类别: 数据转换/筛选器
模块概述
本文介绍如何使用机器学习 Studio 中的杉树筛选器模块 (经典) ,以定义一种称为有限脉冲响应的筛选器 (杉树) 筛选器。 FIR 过滤器广泛应用于信号处理,并且在需要线性相位响应的应用中最为常用。 例如,可以将筛选器应用于医疗保健中使用的图像,以使整体图像清晰,消除干扰,或将焦点放在映像对象上。
注意
筛选器是一种传输函数,它采用输入信号并基于筛选器特征创建输出信号。 有关数字信号处理中筛选器用户的更多常规信息,请参阅 筛选器。
定义数字信号处理筛选器后,可以通过将数据集和筛选器连接到 " 应用筛选器 " 模块来将筛选器应用于数据。 还可以保存筛选器以便与类似的数据集重复使用。
提示
需要筛选数据集中的数据或删除缺失值? 改为使用这些模块:
如何配置杉树筛选器
向试验中添加 " 杉树筛选器 " 模块。 可以在 "筛选器" 类别中的 "数据转换" 下找到此模块。
对于 " 顺序",请键入一个整数值,该值定义用于影响筛选器响应的活动元素的数目。 筛选器的 顺序 表示筛选器窗口的长度。
对于杉树筛选器,最小顺序为4。
对于 " 窗口",请选择要应用筛选器的数据的形状。 机器学习支持在有限脉冲响应筛选器中使用的以下类型的窗口化函数:
Hamming: 一般化 Hamming 窗口 提供一种类型的加权平均值,它通常用于图像处理和计算机视觉。
Blackman: Blackman 窗口 对信号应用平滑的锥形曲线函数。 Blackman 窗口比其他窗口类型具有更好的阻带衰减。
矩形: 矩形窗口 在指定的时间间隔内应用一致的值,并在其他位置应用无值。 最简单的矩形窗口可能会将数据序列中的 n 替换为零,这使其看起来像是信号突然开启和关闭。
矩形窗口又名车厢窗口或 Dirichlet 窗口。
三角:三角窗口以单步方式应用筛选系数。 当前值显示在三角的尖峰,然后随前面或后面的值一起下降。
无:在某些应用程序中,最好不要使用任何开窗函数。 例如,如果你在分析的信号已呈现出窗口或突增,则应用窗口函数可能会导致信噪比下降。
对于 " 筛选器类型",请选择用于定义筛选器的应用方式的选项。 你可以指定过滤器排除目标值、变更值、拒绝值,或允许值通过。
低通: "低通" 表示筛选器通过较低的值,并删除较高的值。 例如,你可以使用它来消除信号中的高频噪声和数据高峰。
此过滤器类型可对数据产生平滑效应。
高通: "高传递" 表示筛选器通过较高的值并删除较小的值。 您可以使用此来删除信号中的低频数据,例如偏置或偏移量。
此过滤器类型会保留信号中的突变和峰值。
Bandpass: "波段 pass" 表示它将如何指定的值带区,并删除其他值。 您可以使用此筛选器,以在高通和低通筛选器之间具有频率特征的信号中保留数据。
带通过滤器是通过结合高通和低通过滤器进行创建。 高通过滤器截止频率表示下限截止,低通过滤器频率表示上限截止。
此过滤器类型可以很好地消除偏差并平滑化信号。
Bandstop: "波段 stop" 表示它会阻止指定的 sigals。 换句话说,它会删除信号特征被低通和高通过滤器拒绝的信号中的数据。
此过滤器类型是很好地保留信号偏置和突然变化。
根据所选筛选器的类型,必须设置一个或多个截止值。
使用 高截止 值和 低截止 选项来定义值的上限和/或下限阈值。 需要使用这些选项中的一个或两个来指定拒绝或传递的值。 Bandstop或bandpass筛选器要求您设置高低点值和低截止值。 其他筛选器类型(如 低通 筛选器)要求您仅设置低截止值。
如果缩放应应用于系数,请选择 " 缩放 " 选项。否则留空。
连接筛选器应用筛选器并连接数据集。
使用列选择器指定筛选器应应用到的列。 默认情况下," 应用筛选器 " 模块将对所有选定的数值列使用筛选器。
运行试验。
在将数据集连接到 " 应用筛选器 " 模块并运行试验之前,不会执行任何计算。 此时,指定的转换将应用于所选的数字列。
注意
" 杉树筛选器 " 模块未提供创建指示器列的选项。 列值始终就地转换。
示例
有关如何在机器学习中使用筛选器的示例,请参阅 Azure AI 库中的此试验:
- 筛选器:此试验使用经过设计的波形数据集演示所有筛选器类型。
技术说明
本部分包含实现详情、使用技巧和常见问题解答。
实现详细信息
FIR 过滤器具有以下特征:
- FIR 过滤器没有反馈;也就是说,此类过滤器使用的是之前的过滤器输出。
- FIR 过滤器更稳定,因为脉冲响应始终会返回 0。
- 与无限脉冲响应 (IIR) 过滤器相比,FIR 过滤器需要更高的阶数来实现相同的选择性。
- 与其他过滤器一样,可以使用特定的截止频率(保留或拒绝构成信号的频率)来设计 FIR 过滤器。
计算筛选器窗口上的系数
窗口类型决定了如何在选择性(既不完全接受也不完全拒绝频率的过渡带的宽度)和抑制(要拒绝的频率的总衰减)之间进行权衡。 开窗函数应用于要强制对在时段外的零的频率响应的理想的过滤器响应中。 被采样的频率响应在窗口中选择了系数。
FIR 过滤器模块返回的系数个数等于过滤器阶数加一。 系数值由过滤器参数和窗口化方法决定,并且是对称的以保证线性相位响应
系数缩放
对于创建的筛选器," 杉树筛选器 " 模块返回筛选系数,或点击 "权重"。
过滤器根据你输入的参数(如阶数)确定系数。 如果要指定自定义系数,请使用 用户定义的筛选器 模块。
当 Scale 设置为 True 时,将规范化筛选器系数,使筛选器在传递带中心频率的量级响应为 0。 机器学习 Studio (经典) 中的规范化实现与 MATLAB 中的 fir1 函数相同。
你通常使用窗口设计方法设计理想的无限脉冲响应 (IIR) 过滤器。 窗口函数应用于时间域中的波形,并且会将无限脉冲响应与窗口函数相乘。 这将导致正在使用开窗函数的频率响应卷积 IIR 过滤器的频率响应。 但是,对于 FIR 筛选器,应用筛选器时, (或点击权重) 会卷积。
选择性和停止带衰减
下表使用不同的窗口方法比较了选择性和 FIR 过滤器的阻频带衰减(长度为 n):
窗口类型 | 过渡区域 | 最小阻频带衰减 |
---|---|---|
“矩形” | 0.041n | 21 dB |
Triangle | 0.11n | 26 dB |
Hann | 0.12n | 44 dB |
Hamming | 0.23n | 53 dB |
Blackman | 0.2n | 75 dB |
模块参数
名称 | 范围 | 类型 | 默认 | 说明 |
---|---|---|---|---|
顺序 | >=4 | Integer | 5 | 指定过滤顺序 |
窗口 | 任意 | WindowType | 指定要应用的窗口类型 | |
筛选器类型 | 任意 | FilterType | 低通 | 选择要创建的过滤器类型 |
低截止 | [double.Epsilon;.9999999] | Float | 0.3 | 设置低截止频率 |
高截止 | [double.Epsilon;.9999999] | Float | 0.7 | 设置高截止频率 |
缩放 | 任意 | 布尔 | True | 如果为 true,则规范化过滤系数 |
输出
名称 | 类型 | 说明 |
---|---|---|
“筛选器” | IFilter 接口 | 过滤器实现 |
例外
异常 | 描述 |
---|---|
NotInRangeValue | 如果参数不在范围内,将出现异常。 |
有关特定于工作室和经典 (模块) 的列表,请参阅机器学习代码。
有关 API 异常的列表,请参阅机器学习 REST API代码。