exponenta event banner

фильтр

Применение многочлена оператора задержки к временному ряду фильтра

Синтаксис

[Y,times] = filter(A,X)
[Y,times] = filter(A,X,'Initial',X0)

Описание

Учитывая полином оператора запаздывания A (L ),[Y,times] = filter(A,X)применяет A (L) к данным временного ряда X (t). Это эквивалентно применению линейного фильтра к X (t) с получением отфильтрованного выходного ряда Y (t) = A (L) X (t).

[Y,times] = filter(A,X,'Initial',X0) применяет A (L) к данным временного ряда X (t) с заданными значениями предварительной выборки входного временного ряда X (t).

Входные аргументы

A

Полиномиальный объект оператора запаздывания, созданный LagOp.

X

numObsоколо-numDims матрица данных временных рядов, к которым относится полином оператора запаздывания A применяется. Последнее наблюдение считается самым последним. numDims - размерность A, если только X - вектор строки, в этом случае X рассматривается как одномерный ряд. Для одномерных X, ориентация выходного сигнала Y определяется ориентацией входа X.

'Initial'

Предварительные значения входного временного ряда X (t). Если'Initial' не указан, или если количество значений предварительной выборки недостаточно для инициализации фильтрации, значения берутся с начала X, уменьшение эффективного размера выборки выходных данных Y. Для удобства расширяются скалярные значения предварительной выборки, чтобы обеспечить все numPresampleObsоколо-numDims значения presample и данные не берутся из X. Если указано больше значений предварительной выборки, чем необходимо, используются только самые последние значения. Для одномерных X, значения предварительной выборки могут быть строкой или вектором столбца.

Выходные аргументы

Y

Отфильтрованный входной временной ряд, Y (t) = A (L) X (t).

times

Вектор относительных временных индексов той же длины, что и Y. Время выражается относительно или как смещение от времени наблюдений 0, 1, 2,...,numObs-1 для входной серии X (t). Для многочлена степени p Y (0) является линейной комбинацией X (t) для времени t = 0, -1, -2,..., -p (данные предварительной выборки). Y (t) для t > 0 - линейная комбинация X (t) для времени t = t, t-1, t-2,..., t-p.

Примеры

развернуть все

Создать LagOp полином и случайный временной ряд:

rng('default')                % Make output reproducible

A = LagOp({1 -0.6 0.08 0.2}, 'Lags', [0 1 2 4]);
X = randn(10, A.Dimension);

Фильтрация входного временного ряда без явных начальных наблюдений, что позволяет filter способ автоматического удаления всех требуемых исходных данных из начала входного временного ряда X (t).

[Y1,T1] = filter(A, X);

Вручную отключите все требуемые наблюдения предварительного образца непосредственно от начала X (t), затем передайте результаты измерений уменьшенной длины X (t) и отсеянного предварительного образца непосредственно в filter способ. В этом случае первые 4 наблюдения X (t) удаляются, потому что степень многочлена оператора запаздывания, созданного ниже, равна 4.

[Y2,T2] = filter(A, X((A.Degree + 1):end,:), ...
     'Initial', X(1:A.Degree,:));

Вручную снять часть требуемых наблюдений предварительного образца с начала X (t) и разрешить filter метод автоматически удаляет оставшиеся наблюдения из X (t).

[Y3,T3] = filter(A, X((A.Degree - 1):end,:), ...
     'Initial', X(1:A.Degree - 2,:));

Отфильтрованные выходные ряды совпадают. Однако связанные векторы времени отсутствуют.

disp([T1 T2 T3])
     4     0     2
     5     1     3
     6     2     4
     7     3     5
     8     4     6
     9     5     7

Алгоритмы

Фильтрация ограничивается одиночными путями, поэтому предполагается, что матричные данные являются одним путем многомерного процесса, и 3-D данные (множественные пути многомерного процесса) не допускаются.

См. также