Moving Standard Deviation
移动标准偏差。
类型: MovingStandardDeviation
图书馆中的路径:
|
说明
Moving Standard Deviation 程序块计算每个通道输入信号随时间变化的移动标准偏差。为了计算移动标准偏差,程序块使用了滑动窗口法或指数加权法。在滑动窗口法中,程序块根据在数据样本上移动的给定长度窗口中的数据计算标准偏差。在指数加权法中,程序块计算指数加权移动偏差,并提取该值的平方根。
端口
输入
x - 数据输入
矩阵
该代码块计算 Input 输入端口指定数据的移动标准偏差。程序块接受维数为 至 的多通道输入数据,其中 和 为实数或复数。
如果*允许固定尺寸输入信号的任意帧长度*参数已显示但未选择,且输入信号为固定尺寸,则帧长度必须是跳转尺寸的倍数,跳转尺寸定义为窗口长度与重叠长度之差。在所有其他情况下,输入帧的长度可以是任意的。
程序块接受大小可变的输入信号(帧长在建模过程中会发生变化)。当输入大小可变的信号时,信号帧的长度可以是任意的。
除非 Method 参数设置为 "指数加权 "并启用 Specify forgetting factor from input port 参数,否则该端口没有名称。
数据类型: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, Int128
, UInt8
, UInt16
, UInt32
, UInt64
, UInt128
*支持复数:是
λ - 遗忘因子
从 0 到 1 的正实数标量
遗忘系数决定了过去数据的权重。遗忘系数为 0.9 时,旧数据的权重比遗忘系数为 0.1 时要高。遗忘率为 1.0 意味着无限记忆—所有以前的样本具有相同的权重。
依赖关系
如果 Method 参数设置为 "指数加权 "且 Specify forgetting factor from input port 参数启用,则会出现此端口。
数据类型: Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
输出
端口_1 - 移动标准偏差输出
vector
| matrix
以向量或矩阵形式返回的移动标准差。该代码块根据 Method 参数的设置,使用滑动窗口法或指数加权法计算移动标准差。
表格提供了输出维度的详细信息。
输入信号 | 输入信号尺寸 | 输出信号尺寸,允许固定尺寸输入信号的任意帧长 显示 | 输出信号尺寸,允许固定尺寸输入信号的任意帧长 未显示 |
---|---|---|---|
固定尺寸信号 |
在 ,其中 是跳转尺寸(窗口长度 - 重叠长度)的倍数 |
(跳转尺寸)在 |
在 |
固定大小信号 |
在 ,其中 不是跳转大小的倍数(窗口长度-板块长度) |
如果参数 *允许固定大小输入信号的任意帧长度 * 已启用,则将 ceil( 跳转大小) 设为 。如果关闭该参数,程序块将在以下位置出错 |
在 |
可变大小信号 |
在 |
ceil( 跳转大小) |
于 |
当输出在 的 ceil( 跳转大小) 的大小有一个上限时,在模拟过程中,第一个维度的大小在这个上限内变化,而第二个维度的大小保持不变。
数据类型: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, Int128
, UInt8
, UInt16
, UInt32
, UInt64
, UInt128
*支持复数:是
参数
主要参数
方法 - 移动标准偏差的计算方法
滑动窗口(默认) | 指数加权
-
滑动窗口"- 沿每个通道在输入数据上移动*窗口长度*的窗口。对于窗口移动过的每个样本,程序块都会计算窗口中数据的标准偏差。
-
指数加权"--程序块计算指数加权移动标准偏差并提取平方根。随着数据年龄的增加,权重值会以指数形式递减,但权重值永远不会为零。
指定窗口长度 - 指定窗口长度
On(默认)` | Off
。
如果选中该复选框,滑动窗口长度将等于 Window length 参数中指定的值。如果未选中,则滑动窗口长度为无限长。在此模式下,程序块将计算通道中当前采样与之前所有采样的标准偏差。
依赖关系
要启用此参数,请将 Method 参数设置为 "滑动窗口"。
窗口长度 - 滑动窗口长度
4(默认)` |正整数
。
指定样本中滑动窗口的长度。
依赖关系
要启用此参数,请将 Method 参数设置为 "滑动窗口",并选择 Specify window length 复选框。
重叠长度 - 窗口之间的重叠长度
3(默认值)"|"非负整数"。
以非负整数形式指定窗口间的重叠长度。重叠长度范围为 0 到 窗口长度-1。
依赖关系
要启用此参数,请将 Method 参数设置为 "滑动窗口",并选中 Specify window length 复选框。
允许固定大小输入信号的任意帧长度 - 允许固定大小输入信号的任意帧长度
关闭(默认)` | 开启
指定固定大小的输入信号(其大小在仿真过程中不会改变)是否可以有任意帧长,帧长不必是跳变大小的倍数。跳变大小定义为 Window length 和 Overlap length 参数值之差。程序块仅对固定大小的输入信号使用该参数,如果输入信号大小可变,则忽略该参数。
当输入信号大小可变时,信号可以有任意的帧长,即帧长不能是跳转大小的倍数。
对于固定大小的输入信号
-
如果选择 "允许固定大小输入信号的任意帧长 "*,则信号的帧长不一定是跳变大小的倍数。如果输入信号不是跳转大小的倍数,输出通常是可变大小的信号。因此,要支持任意输入信号大小,程序块还必须支持可变大小操作,可通过选择*允许固定大小输入信号的任意帧长*来启用可变大小操作。
-
如果禁用*允许固定大小输入信号的任意帧长度*,则输入帧长度必须是跳转大小的倍数。
依赖关系
要启用此参数,请将 Method 参数设置为 "滑动窗口",并选择 Specify window length 复选框。
从输入端口指定遗忘因子 - 从输入端口指定遗忘因子
已禁用(默认) | 已启用
选中该复选框时,遗忘因数将通过 lambda 端口输入。未选中时,遗忘因子通过 Forgetting factor 参数设置。
依赖关系
要启用此参数,请将 Method 参数设置为 "指数加权"。
忽略因子 - 指数加权因子
0.9(默认)"|"小于或等于 1.0 的正标量"。
遗忘系数决定了过去数据的权重。遗忘系数为 0.9 时,旧数据的权重高于遗忘系数为 0.1 时的权重。遗忘率为 1.0 意味着无限记忆—所有以前的样本具有相同的权重。
依赖关系
要启用此参数,请将 Method 参数设置为 "指数加权",并取消选中 Specify forgetting factor from input port 参数。
算法
滑动窗口法
在滑动窗口法中,当前样本的输出是当前样本相对于窗口中数据的标准偏差。为了计算第一个输出样本,算法会等待,直到获得具有跳跃大小的输入样本数。跳跃大小的定义是窗口长度与板块长度之差。窗口中的其余样本视为零。例如,如果窗口长度为 5,重叠长度为 2,算法会等到收到 3 个输入样本后才计算第一个输出样本。生成第一个输出样本后,算法会为每一个跳跃大小的输入样本生成后续的输出样本。
如果没有指定窗口长度,算法会选择无限窗口长度。在这种模式下,输出是当前样本相对于通道中所有先前样本的移动标准偏差。
下图是使用滑动窗口法计算流输入数据移动标准差的示例。该算法使用的窗口长度为 4,重叠长度为 3。每输入一个输入样本,窗口长度 4 就会沿着数据移动。
指数加权法
在指数加权法中,移动标准差是通过以下公式递归计算得出的:
其中
-
- 是当前数据样本相对于其他数据的移动标准偏差。 -
- 每个数据样本与数据平均值之差的平方。 -
- 是每个数据样本与数据均值之差的平方乘以遗忘因子。所有平方项相加。 -
- 加权因子应用于总和。λ -
- 遗忘因子。
随着数据年龄的增加,加权因子值呈指数下降,永远不会为零。换句话说,近期数据对当前标准偏差的影响大于旧数据。
遗忘系数决定了过去数据的权重。遗忘系数为 0.9 时,旧数据的权重大于遗忘系数为 0.1 时的权重。遗忘率为 1.0 意味着无限记忆—所有以前的样本具有相同的权重。
下图是使用指数加权法计算移动标准差的示例。遗忘系数为 0.9。