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

Moving Variance

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

moving variance

Описание

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

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

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

Порты

Вход

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 — вывод скользящего среднего
вектор | матрица

Скользящее среднее, возвращаемое в виде вектора или матрицы. Блок вычисляет скользящее среднее на основе настроек параметра 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 — указать коэффициент забывания через входной порт
выключено (по умолчанию) | включено

При установке этого флажка коэффициент забывания вводится через порт λ. Если снять этот флажок, коэффициент забывания задается через параметр 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 входных выборки, чтобы вычислить первую выборку выходного сигнала. После генерации первого выходного сигнала он генерирует последующие выходные выборки для каждого количества входных выборок размером в скачок.

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

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

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

,

,

где

  • — cкользящее среднее по текущей выборке.

  • — текущая выборка ввода данных.

  • — скользящее среднее по предыдущей выборке.

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

  • — весовой коэффициент, применяемый к текущей выборке данных.

  • — влияние предыдущих данных на среднее значение.

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

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