impulseest

Непараметрическая оценка импульсной характеристики

Синтаксис

sys = impulseest(data)
sys = impulseest(data,N)
sys = impulseest(data,N,NK)
sys = impulseest(___,options)

Описание

sys = impulseest(data) оценивает модель импульсной характеристики, sys, с помощью времени - или данные частотного диапазона, data. Порядок модели (количество ненулевых коэффициентов импульсной характеристики) определяется автоматически с помощью персистентности анализа возбуждения входных данных.

sys = impulseest(data,N) оценивает Nth заказывают модель импульсной характеристики, соответствуя области значений времени 0: Ts : (N –1) *Ts, где Ts шаг расчета данных.

sys = impulseest(data,N,NK) задает транспортную задержку NK выборки в предполагаемой импульсной характеристике.

sys = impulseest(___,options) указывает, что опции оценки с помощью опций устанавливают options.

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

Входные параметры

data

Данные об оценке по крайней мере с одним входным сигналом и ненулевым шагом расчета.

Для оценки области времени, data iddata объект, содержащий значения сигналов ввода и вывода.

Для оценки частотного диапазона, data может быть одно из следующего:

  • Данные о частотной характеристике (frd или idfrd)

  • iddata объект с его свойствами, заданными можно следующим образом:

    • InputData — Преобразование Фурье входного сигнала

    • OutputData — Преобразование Фурье выходного сигнала

    • Domain — 'Частота'

N

Порядок модели FIR. Должно быть одно из следующего:

  • Положительное целое число.

    Для данных, содержащих входные параметры Nu и Ny выходные параметры, можно также задать N как Ny-by-Nu матрица положительных целых чисел, таких, что N(i,j) представляет длину импульсной характеристики от входа j до выхода i.

  • [] — Определяет порядок автоматически с помощью персистентности анализа возбуждения входных данных.

NK

Транспортная задержка предполагаемой импульсной характеристики, заданной как скалярное целое число. Для данных, содержащих входные параметры Nu и Ny выходные параметры, можно также задать Ny-by-Nu матрица.

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

    Можно также использовать NK = 'negative' автоматически выбрать отрицательные задержки для всех каналов ввода-вывода модели.

  • Задайте NK = 0 если задержка неизвестна. Истинная задержка затем быть обозначенной незначительными значениями импульсной характеристики в начале ответа.

  • Задайте NK = 1 создать систему, ведущий коэффициент числителя которой является нулем.

Положительные значения NK больше, чем 1 хранятся в IODelay свойство sys (sys.IODelay = max(NK-1,0)). Отрицательные величины хранятся в InputDelay свойство.

Импульсная характеристика (вход j к выходу i) коэффициенты соответствуют отрезку времени NK(i,j)*Ts : Ts : (N(ij)+NK(i,j)-1)*Ts.

Значение по умолчанию: нули (Ny, Nu)

options

Опции оценки, которые задают следующее:

  • Порядок предварительного фильтра

  • Алгоритм регуляризации

  • Смещения входных и выходных данных

Используйте impulseestOptions создать набор опций.

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

sys

Предполагаемая модель импульсной характеристики, возвращенная как idtf модель, которая инкапсулирует модель FIR.

Информация о результатах оценки и используемых опциях хранится в Report свойство модели. Report имеет следующие поля:

Сообщите о полеОписание
Status

Сводные данные состояния модели, которое указывает, была ли модель создана конструкцией или получена оценкой.

Method

Команда оценки используется.

Fit

Количественная оценка оценки, возвращенной как структура. Смотрите Функцию потерь и Метрики качества Модели для получения дополнительной информации об этих метриках качества. Структура имеет следующие поля:

Поле Описание
FitPercent

Мера по нормированной среднеквадратической ошибке (NRMSE) того, как хорошо ответ модели соответствует данным об оценке, выраженным как процент.

LossFcn

Значение функции потерь, когда оценка завершается.

MSE

Мера по среднеквадратической ошибке (MSE) того, как хорошо ответ модели соответствует данным об оценке.

FPE

Итоговая ошибка прогноза для модели.

AIC

Необработанная мера по Критериям информации о Akaike (AIC) качества модели.

AICc

Маленький объем выборки откорректировал AIC.

nAIC

Нормированный AIC.

BIC

Байесовы информационные критерии (BIC).

Parameters

Ориентировочные стоимости параметров модели.

OptionsUsed

Набор опции используется в оценке. Если никакие пользовательские опции не были сконфигурированы, это - набор опций по умолчанию. Смотрите impulseestOptions для получения дополнительной информации.

RandState

Состояние потока случайных чисел в начале оценки. Пустой, если рандомизация не использовалась во время оценки. Для получения дополнительной информации смотрите rng в документации MATLAB®.

DataUsed

Атрибуты данных используются в оценке, возвращенной как структура со следующими полями:

Поле Описание
Name

Имя набора данных.

Type

Тип данных.

Length

Количество выборок данных.

Ts

'SampleTime' .

InterSample

Введите междемонстрационное поведение, возвращенное как одно из следующих значений:

  • 'zoh' — Нулевой порядок содержит, обеспечивает кусочно-постоянный входной сигнал между выборками.

  • 'foh' — Хранение первого порядка обеспечивает кусочно-линейный входной сигнал между выборками.

  • 'bl' — Ограниченное полосой поведение указывает, что входной сигнал непрерывного времени имеет нулевую силу выше частоты Найквиста.

InputOffset

Возместите удаленный из входных данных временного интервала во время оценки. Для нелинейных моделей это - [].

OutputOffset

Возместите удаленный из выходных данных временного интервала во время оценки. Для нелинейных моделей это - [].

Для получения дополнительной информации об использовании Report, см. Отчет Оценки.

Примеры

свернуть все

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

load dry2
ze = dry2(1:500);
sys = impulseest(ze);

ze iddata объект, который содержит данные временного интервала. sys, идентифицированная непараметрическая модель импульсной характеристики, idtf модель.

Анализируйте импульсную характеристику идентифицированной модели со времени от 0 до 1.

h = impulseplot(sys,1);

Щелкните правой кнопкой по графику и выберите Characteristics> Confidence Region, чтобы просмотреть статистически область нулевого ответа. В качестве альтернативы можно использовать showConfidence команда.

showConfidence(h);

Первое значительно ненулевое значение ответа происходит в 0,24 секунды, или, третья задержка. Это подразумевает, что транспортная задержка является 3 выборками. Чтобы сгенерировать модель, где задержка с 3 выборками наложена, устанавливает транспортную задержку с 3:

sys = impulseest(ze,[],3)

Загрузите данные об оценке

load iddata3 z3;

Оцените 35-й порядок модель FIR.

sys = impulseest(z3,35);

Оцените модель импульсной характеристики с транспортной задержкой 3 выборок.

Если вы знаете о присутствии задержки данных о вводе/выводе заранее, используйте значение в качестве транспортной задержки оценки импульсной характеристики.

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

u = rand(100,1);
sys = idpoly([1 .1 .4],[0 0 0 4 -2],[1 1 .1]);
opt = simOptions('AddNoise',true);
y = sim(sys,u,opt);
data = iddata(y,u,1);

Оцените 20-ю модель порядка с транспортной задержкой с 3 выборками.

model = impulseest(data,20,3);

Получите упорядоченные оценки модели импульсной характеристики использование опции оценки ядра упорядочивания.

Оцените модель с помощью регуляризации.

load iddata3 z3;
sys1 = impulseest(z3);

По умолчанию, настроенное и коррелируемое ядро ('TC') используется в регуляризации.

Оцените модель без регуляризации.

opt = impulseestOptions('RegularizationKernel','none');
sys2 = impulseest(z3,opt);

Сравните импульсную характеристику обеих моделей.

h = impulseplot(sys1,sys2,70);

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

Постройте доверительный интервал.

showConfidence(h);

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

Загрузка данных.

load regularizationExampleData eData;

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

trueSys = idtf([0.02008 0.04017 0.02008],[1 -1.561 0.6414],1);

Получите упорядоченную модель (FIR) импульсной характеристики.

opt = impulseestOptions('RegularizationKernel','DC');
m0 = impulseest(eData,70,opt);

Преобразуйте модель в модель в пространстве состояний и уменьшайте порядок модели.

m1 = balred(idss(m0),15);

Получите вторую модель в пространстве состояний с помощью упорядоченного сокращения модели ARX.

m2 = ssregest(eData,15);

Сравните импульсные характеристики истинной системы и предполагаемых моделей.

impulse(trueSys,m1,m2,50);   
legend('trueSys','m1','m2');

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

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

load iddata3 z3;
opt = impulseestOptions('pw',4,'RegularizationKernel','none');
sys = impulseest(z3,[],'negative',opt);

sys непричинная модель, содержащая значения ответа в течение отрицательного времени.

Анализируйте импульсную характеристику идентифицированной модели.

h = impulseplot(sys);

Просмотрите статистически область нулевого ответа путем щелчка правой кнопкой по графику и выбора Characteristics> Confidence Region. В качестве альтернативы можно использовать showConfidence команда.

showConfidence(h);

Большое значение ответа в t=0 (нулевая задержка), предполагает, что данные прибывают из процесса, содержащего сквозное соединение. Таким образом, вход влияет на выход мгновенно. Мог также быть прямой эффект обратной связи (пропорциональное управление без некоторой задержки, что u(t) определяется частично y(t)).

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

Вычислите модель импульсной характеристики для данных о частотной характеристике.

load demofr;
zfr = AMP.*exp(1i*PHA*pi/180);
Ts = 0.1;
data = idfrd(zfr,W,Ts);
sys = impulseest(data);

Идентифицируйте параметрические и непараметрические модели для набора данных и сравните их переходной процесс.

Идентифицируйте (непараметрическую) модель импульсной характеристики и (параметрическая) модель в пространстве состояний, на основе набора данных.

load iddata1 z1;
sys1 = impulseest(z1);
sys2 = ssest(z1,4);

sys1 идентифицированная модель передаточной функции дискретного времени. sys2 идентифицированная модель в пространстве состояний непрерывного времени.

Сравните переходной процесс для sys1 и sys2.

step(sys1,'b',sys2,'r');
legend('impulse response model','state-space model');

Советы

  • Просмотреть импульсную характеристику или переходной процесс sys, используйте любой impulseplot или stepplot, соответственно.

  • Значительное значение импульсной характеристики sys поскольку отрицательные временные стоимости указывают на присутствие обратной связи в данных.

  • Чтобы просмотреть область незначительной импульсной характеристики (статистически нулевой) в графике, щелкните правой кнопкой по графику и выберите Characteristics> Confidence Region. Закрашенная фигура, изображающая область нулевого ответа, появляется на графике. Импульсная характеристика в любое время оценивает, является значительным, только если она находится за пределами нулевой области ответа. Уровень значения зависит от количества стандартных отклонений, заданных в showConfidence или опции в редакторе свойств. Общим выбором являются 3 стандартных отклонения, который дает значение на 99,7%.

Алгоритмы

Correlation analysis обращается к методам, которые оценивают импульсную характеристику линейной модели без определенных предположений о порядках модели.

Импульсной характеристикой, g, является выход системы, когда вход является импульсным сигналом. Выходной ответ на общий вход, u (t), получен как свертка с импульсной характеристикой. В непрерывное время:

y(t)=tg(τ)u(tτ)dτ

В дискретное время:

y(t)=k=1g(k)u(tk)

Значениями g (k) является discrete time impulse response coefficients.

Можно оценить значения из наблюдаемых данных ввода - вывода несколькими различными способами. impulseest оценивает первые коэффициенты n с помощью метода наименьших квадратов, чтобы получить модель конечной импульсной характеристики (FIR) порядка n.

Несколько важных опций сопоставлены с оценкой:

  • При предварительном отбеливании — вход может быть предварительно побелен путем применения белящего вход фильтра порядка PW к данным. Это минимизирует эффект заброшенного хвоста (k > n) из импульсной характеристики.

    1. Фильтр порядка PW применяется таким образом, что это белит входной сигнал u:

      1/A = A(u)e, где A полином и e белый шум.

    2. Вводы и выводы отфильтрованы с помощью фильтра:

      uf = Au, yf = Ay

    3. Отфильтрованные сигналы uf и yf используются в оценке.

    Можно задать предварительное отбеливание с помощью PW аргумент пары "имя-значение" impulseestOptions.

  • Регуляризация — оценка наименьших квадратов может быть упорядочена. Это означает что предшествующая оценка затухания и взаимной корреляции среди g(k) формируется и используется, чтобы объединить с информацией о g из наблюдаемых данных. Это дает оценку с меньшим отклонением по цене некоторого смещения. Можно выбрать одно из этих нескольких ядер, чтобы закодировать предшествующую оценку.

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

    Можно задать ядро упорядочивания с помощью RegularizationKernel Аргумент пары "имя-значение" impulseestOptions.

  • Авторегрессивные Параметры — основная базовая модель FIR может быть дополнена NA авторегрессивные параметры, делая его моделью ARX.

    y(t)=k=1ng(k)u(tk)k=1NAaky(tk)

    Это дает оба лучших результата для маленького n и позволяет объективные оценки, когда данные сгенерированы в замкнутом цикле. impulseest использование NA = 5 для t> 0 и NA = 0 (никакой авторегрессивный компонент) для t <0.

  • Непричинные эффекты — Ответ для отрицательных задержек. Это может произойти, что данные были сгенерированы частично выходной обратной связью:

    u(t)=k=0h(k)y(tk)+r(t)

    где h (k) является импульсной характеристикой регулятора, и r является термином воздействия или заданным значением. Существование и символ такой обратной связи h могут быть оценены таким же образом как g, просто путем торговли местами между y и u в вызове оценки. Используя impulseest с индикацией относительно отрицательных задержек, ми = impulseest(data,nk,nb), nk<0, возвращает модель mi с импульсной характеристикой

    [h(-nk),h(-nk-1),...,h(0),g(1),g(2),...,g(nb+nk)]

    выровненный так, чтобы это соответствовало задержкам [nk,nk+1,..,0,1,2,...,nb+nk]. Это достигается потому что входная задержка (InputDelay) из модели mi nk.

Поскольку мультивход мультивывел систему, импульсная характеристика, g (k) является ny-by-nu матрица, где ny является количеством выходных параметров, и nu является количеством входных параметров. ij элемент матричного g (k) описывает поведение i th выход после импульса в j th вход.

Представленный в R2012a