Документация Engee

Moving Standard Deviation

Скользящее стандартное отклонение.

moving standard deviation

Описание

Блок Moving Standard Deviation вычисляет скользящее стандартное отклонение входного сигнала по каждому каналу независимо по времени. Для вычисления скользящего стандартного отклонения блок использует либо метод скользящего окна, либо метод экспоненциального взвешивания. В методе скользящего окна блок вычисляет стандартное отклонение по данным в окне заданной длины, которое перемещается по выборке данных. В методе экспоненциального взвешивания блок вычисляет экспоненциально взвешенное скользящее отклонение и извлекает из этого значения квадратный корень.

Порты

Вход

x — ввод данных
вектор | матрица

Блок вычисляет скользящее стандартное отклонение данных, указанных на входном порту Input. Блок принимает многоканальные входные данные размерностью на , где и , с вещественными или комплексными значениями.

Если параметр Allow arbitrary frame length for fixed-size input signals показан, но не выбран, и входной сигнал имеет фиксированный размер, то длина кадра должна быть кратна размеру скачка, который определяется как разница между длиной окна и длиной перекрытия. Во всех остальных случаях длина входного кадра может быть произвольной.

Блок принимает входные сигналы переменного размера (длина кадра изменяется в процессе моделирования). При подаче сигнала переменного размера длина кадра сигнала может быть произвольной.

Этот порт не имеет названия, пока параметр Method не установлен в значение Exponential weighting и не включен параметр 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 имеет значение Exponential weighting и включен параметр Specify forgetting factor from input port.

Типы данных: Float64 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32

Выход

Port_1 — вывод скользящего стандартного отклонения
вектор | матрица

Cкользящее стандартное отклонение, возвращаемое в виде вектора или матрицы. Блок вычисляет скользящее стандартное отклонение на основе настроек параметра Method, используя либо метод скользящего окна, либо метод экспоненциального взвешивания.

В таблице приведены подробные сведения о размерах выходного сигнала.

Входной сигнал Размеры входного сигнала Размеры выходного сигнала, параметр Allow arbitrary frame length for fixed-size input signals показан Размеры выходного сигнала, параметр Allow arbitrary frame length for fixed-size input signals не показан

Сигнал фиксированного размера

на , где кратно размеру скачка (длина окна - длина перекрытия)

(размер скачка) на

на

Сигнал фиксированного размера

на , где не кратно размеру скачка (длина окна - длина перекрытия)

ceil( размер скачка) на в случае, если включен параметр Allow arbitrary frame length for fixed-size input signals. Если этот параметр выключен, то блок выдает ошибку

на

Сигнал переменного размера

на

ceil( размер скачка) на

на

Когда выход имеет верхнюю границу размера ceil( размер скачка) на , во время моделирования размер первого измерения изменяется в пределах этой границы, а размер второго измерения остается постоянным.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128

Поддержка комплексных чисел: Да

Параметры

Main

Method — метод вычисления скользящего стандартного отклонения
Sliding window (по умолчанию) | Exponential weighting
  • Sliding window — окно длиной Window length перемещается по входным данным вдоль каждого канала. Для каждой выборки, по которой перемещается окно, блок вычисляет стандартное отклонение по данным в окне.

  • Exponential weighting — блок вычисляет экспоненциально взвешенное скользящее стандартное отклонение и извлекает квадратный корень. Величина весовых коэффициентов экспоненциально уменьшается по мере увеличения возраста данных, но величина никогда не достигает нуля.

Specify window length — указать длину окна
включено (по умолчанию) | выключено

Если установить этот флажок, длина скользящего окна будет равна значению, указанному в параметре Window length. Если снять этот флажок, длина скользящего окна будет бесконечной. В этом режиме блок вычисляет стандартное отклонение текущей выборки и всех предыдущих выборок в канале.

Зависимости

Чтобы включить этот параметр, установите для параметра Method значение Sliding window.

Window length — длина скользящего окна
4 (по умолчанию) | целое положительное число

Указывает длину скользящего окна в выборках.

Зависимости

Чтобы включить этот параметр, установите для параметра Method значение Sliding window и установите флажок Specify window length.

Overlap length — длина перекрытия между окнами
3 (по умолчанию) | целое неотрицательное число

Указывает длину перекрытия между окнами как целое неотрицательное число. Значение длины перекрытия варьируется в диапазоне от 0 до Window length-1.

Зависимости

Чтобы включить этот параметр, установите для параметра Method значение Sliding window и установите флажок Specify window length.

Allow arbitrary frame length for fixed-size input signals — разрешить произвольную длину кадра для входных сигналов фиксированного размера
выключено (по умолчанию) | включено

Укажите, могут ли входные сигналы фиксированного размера (размер которых не меняется во время моделирования) иметь произвольную длину кадра, где длина кадра не обязательно должна быть кратна размеру скачка. Размер скачка определяется как разница значений параметров Window length и Overlap length. Блок использует этот параметр только для входных сигналов фиксированного размера и игнорирует его, если входной сигнал имеет переменный размер.

Когда входной сигнал имеет переменный размер, сигнал может иметь произвольную длину кадра, то есть длина кадра не должна быть кратна размеру скачка.

Для входных сигналов фиксированного размера:

  • Если выбрать параметр Allow arbitrary frame length for fixed-size input signals, длина кадра сигнала не обязательно должна быть кратна размеру скачка. Если входной сигнал не кратен размеру скачка, то на выходе обычно получается сигнал переменного размера. Поэтому для поддержки произвольного размера входного сигнала блок должен также поддерживать операции с переменным размером, что можно включить, выбрав параметр Allow arbitrary frame length for fixed-size input signals.

  • Если параметр Allow arbitrary frame length for fixed-size input signals выключен, то длина входного кадра должна быть кратна размеру скачка.

Зависимости

Чтобы включить этот параметр, установите для параметра Method значение Sliding window и установите флажок Specify window length.

Specify forgetting factor from input port — указать коэффициент забывания через входной порт
выключено (по умолчанию) | включено

При установке этого флажка коэффициент забывания вводится через порт lambda. Если снять этот флажок, коэффициент забывания задается через параметр Forgetting factor.

Зависимости

Чтобы включить этот параметр, установите для параметра Method значение Exponential weighting.

Forgetting factor — экспоненциальный весовой коэффициент
0.9 (по умолчанию) | положительный скаляр меньше или равный 1.0

Коэффициент забывания определяет, какой вес имели прошлые данные. При коэффициенте забывания 0.9 старые данные имеют больший вес, чем при коэффициенте забывания 0.1. Коэффициент забывания 1.0 означает бесконечную память — все предыдущие выборки имеют одинаковый вес.

Зависимости

Чтобы включить этот параметр, установите для параметра Method значение Exponential weighting и снимите флажок с параметра Specify forgetting factor from input port.

Алгоритмы

Метод скользящего окна

В методе скользящего окна выходной сигнал на текущей выборке — это стандартное отклонение текущей выборки по отношению к данным в окне. Чтобы вычислить первую выходную выборку, алгоритм ждет, пока не получит количество входных выборок размером в скачок. Размер скачка определяется как разница длины окна и длины перекрытия. Оставшиеся выборки в окне считаются нулевыми. Например, если длина окна равна 5, а длина перекрытия – 2, то алгоритм ждет, пока не получит 3 выборки входного сигнала, чтобы вычислить первую выборку выходного сигнала. После генерации первого выходного сигнала он генерирует последующие выходные выборки для каждого количества входных выборок размером в скачок.

Если длина окна не указана, то алгоритм выбирает бесконечную длину окна. В этом режиме выходом является скользящее стандартное отклонение текущей выборки по отношению ко всем предыдущим выборкам в канале.

На схеме приведен пример вычисления скользящего стандартного отклонения потоковых входных данных с помощью метода скользящего окна. Алгоритм использует длину окна 4 и длину перекрытия 3. С каждым поступающим входным образцом окно длиной 4 перемещается вдоль данных.

moving standard deviation 1

Метод экспоненциального взвешивания

В методе экспоненциального взвешивания скользящее стандартное отклонение вычисляется рекурсивно по следующим формулам:



где

  • — cкользящее стандартное отклонение текущей выборки данных по отношению к остальным данным.

  • — квадрат разницы между каждой выборкой данных и средним значением данных.

  • — разница между каждой выборкой данных и средним значением данных, возведенная в квадрат и умноженная на коэффициент забывания. Все возведенные в квадрат члены складываются.

  • λ — весовой коэффициент, применяемый к сумме.

  • — коэффициент забывания.

По мере увеличения возраста данных величина весового коэффициента уменьшается экспоненциально и никогда не достигает нуля. Другими словами, последние данные оказывают большее влияние на текущее стандартное отклонение, чем более старые данные.

Коэффициент забывания определяет, какой вес имели прошлые данные. При коэффициенте забывания 0.9 старые данные имеют больший вес, чем при коэффициенте забывания 0.1. Коэффициент забывания 1.0 означает бесконечную память — все предыдущие выборки имеют одинаковый вес.

На схеме приведен пример вычисления скользящего стандартного отклонения с использованием метода экспоненциального взвешивания. Коэффициент забывания равен 0.9.

moving standard deviation 2