Программное обеспечение System Identification Toolbox™ позволяет вам использовать данные частотного диапазона, чтобы идентифицировать линейные модели в командной строке и в приложении System Identification. Можно оценить и непрерывное время и дискретное время линейные модели с помощью данных частотного диапазона. Эта тема представляет обзор оценки модели тулбокс с помощью данных частотного диапазона. Для примера оценки модели с помощью данных частотного диапазона смотрите Идентификацию Частотного диапазона: Оценка Моделей Используя Данные о Частотном диапазоне.
Данные частотного диапазона могут иметь два типа:
Данные ввода - вывода частотного диапазона — Вы получаете данные путем вычисления преобразований Фурье входа временного интервала, u (t), и выводите, y (t), сигналы. Данные являются набором входа, U (ω), и выход, Y (ω), сигнализирует в частотном диапазоне. В тулбоксе данные ввода - вывода частотного диапазона представлены с помощью iddata
объекты. Для получения дополнительной информации смотрите Данные Частотного диапазона Представления в Тулбоксе.
Данные частотной характеристики — Также вызвали функцию частоты или функцию частотной характеристики (FRF), данные состоят из измерений передаточной функции, G (iω), из системы в дискретном наборе частот ω. Данные частотной характеристики на частоте, которую ω говорит вам, как линейная система отвечает на синусоидальный вход той же частоты. В тулбоксе данные частотной характеристики представлены с помощью idfrd
объекты. Для получения дополнительной информации смотрите Данные Частотного диапазона Представления в Тулбоксе. Можно получить данные частотной характеристики следующими способами:
Измерьте значения данных частотной характеристики непосредственно, такой как при помощи спектра анализатор.
Выполните спектральный анализ временного интервала или данных ввода - вывода частотного диапазона (iddata
объекты) использование команд, таких как spa
и spafdr
.
Вычислите частотную характеристику идентифицированной линейной модели с помощью команд, таких как freqresp
, bode
, и idfrd
.
Рабочий процесс для оценки модели с помощью данных частотного диапазона совпадает с этим для оценки с помощью данных временного интервала. В случае необходимости вы сначала готовите данные к идентификации модели путем удаления выбросов и фильтрации данных. Вы затем оцениваете линейную параметрическую модель из данных и подтверждаете оценку.
Используя частотный диапазон данные имеют следующие преимущества:
Сжатие данных — можно сжать длинные записи данных, когда вы преобразуете данные временного интервала в частотный диапазон. Например, можно использовать логарифмически распределенные частоты.
Не однородность — данные Частотного диапазона не должны быть расположены равными интервалами. Ваши данные могут иметь зависимое частотой разрешение так, чтобы больше точек данных использовалось в необходимых областях частоты. Например, частоты интереса могли быть областью значений пропускной способности системы, или около резонансов системы.
При предварительной фильтрации — Предварительная фильтрация данных в частотном диапазоне становится простой. Это соответствует присвоению различных весов к различным частотам данных.
Сигнал непрерывного времени - можно представлять сигналы непрерывного времени с помощью данных частотного диапазона и использовать данные в оценке.
Прежде, чем выполнить оценку модели, вы задаете данные частотного диапазона как объекты в тулбоксе. Можно задать и данные частотного диапазона непрерывного времени и дискретного времени.
Данные ввода - вывода частотного диапазона — Задают как iddata
объект. В объекте вы храните U (ω), Y (ω) и вектор частоты ω. Область
свойством объекта является 'Frequency'
, указывать, что объект содержит сигналы частотного диапазона. Если U (ω), Y (ω) является преобразованиями Фурье дискретного времени сигналов дискретного времени, произведенных с интервалом выборки Ts
, обозначьте интервал выборки в iddata
объект. Если U (ω), Y (ω) является преобразованиями Фурье сигналов непрерывного времени, задает Ts
как 0
в iddata
объект.
Чтобы отобразить данные на графике в командной строке, используйте plot
команда.
Например, можно построить фазу и величину данных ввода - вывода частотного диапазона.
Загрузите данные ввода - вывода временного интервала.
load iddata1 z1
Временной интервал вводит u
и выходные параметры y
хранятся в z1
, iddata
возразите чей Domain
свойство установлено в 'Time'
.
Преобразование Фурье данные, чтобы получить данные ввода - вывода частотного диапазона.
zf = fft(z1);
Область
свойство zf
установлен в 'Frequency'
, указание, что это - данные частотного диапазона.
Постройте величину и фазу данных ввода - вывода частотного диапазона.
plot(zf)
Данные частотной характеристики — Задают как idfrd
объект. Если у вас есть программное обеспечение Control System Toolbox™, можно также задать данные как frd
объект.
Чтобы отобразить данные на графике в командной строке, используйте bode
команда.
Например, можно построить частотную характеристику модели передаточной функции.
Создайте модель передаточной функции своей системы.
sys = tf([1 0.2],[1 2 1 1]);
Вычислите частотную характеристику модели передаточной функции, sys
, в 100 точках частоты. Укажите диапазон частот как от 0,1 рад/с до 10 рад/с.
freq = logspace(-1,1,100); frdModel = idfrd(sys,freq);
Постройте частотную характеристику модели.
bode(frdModel)
Для получения дополнительной информации о типах данных частотного диапазона и как задать их, смотрите Представление данных Частотного диапазона.
Можно также преобразовать между частотным диапазоном и типами данных временного интервала с помощью следующих команд.
Исходный формат данных | К данным временного интервала ( iddata объект | К данным частотного диапазона ( iddata объект | К данным частотной характеристики ( idfrd объект |
---|---|---|---|
Данные временного интервала ( iddata объект | Нет данных | Используйте fft | |
Данные частотного диапазона ( iddata объект | Используйте ifft (работает только на равномерно расположенные с интервалами данные частотного диапазона). | Нет данных | |
Данные частотной характеристики ( idfrd объект | Не поддерживаемый | Используйте iddata . Программное обеспечение создает частотный диапазон iddata объект, который имеет то же отношение между выходом и входом как исходный idfrd объектные данные частотной характеристики. |
|
Для получения дополнительной информации о преобразовании между типами данных в приложении или в командной строке, смотрите страницу категории Данных о Преобразовании.
В отличие от данных временного интервала, шаг расчета Ts
из частотного диапазона данные могут быть нулем. Данные частотного диапазона с нулевым Ts
называется данными непрерывного времени. Данные частотного диапазона с Ts
больше, чем нуль называется данными дискретного времени.
Можно получить данные частотного диапазона непрерывного времени (Ts
= 0) следующими способами:
Сгенерируйте данные с известного непрерывного времени аналитические выражения.
Например, предположите, что вы знаете, что частотная характеристика вашей системы , где b является константой. Также примите, что входные параметры временного интервала к вашей системе, , где a является константой, больше, чем нуль, и u (t) является нулем навсегда t меньше, чем нуль. Можно вычислить преобразование Фурье u (t), чтобы получить
Используя U (ω) и G (ω) можно затем получить выражение частотного диапазона для выходных параметров:
Можно теперь выполнить аналитические выражения для Y (ω) и U (ω) по сетке значений частоты , и получите вектор значений данных ввода - вывода частотного диапазона . Можно группировать данные ввода - вывода как непрерывное время iddata
объект путем определения нулевого шага расчета, Ts
.
Ts = 0;
zf = iddata(Ygrid,Ugrid,Ts,'Frequency',wgrid)
Вычислите частотную характеристику линейной системы непрерывного времени в сетке частот.
Например, в следующем коде, вы генерируете данные частотной характеристики непрерывного времени, FRDc
, из модели передаточной функции непрерывного времени, sys
для сетки частот, freq
.
sys = idtf(1,[1 2 2]); freq = logspace(-2,2,100); FRDc = idfrd(sys,freq);
Измерьте амплитуды и фазы из синусоидального эксперимента, где система измерения использует фильтры сглаживания. Вы измеряете ответ системы к синусоидальным входным параметрам на различных частотах и группируете данные как idfrd
объект. Например, данные частотной характеристики, измеренные со спектром анализатор, являются непрерывным временем.
Можно также провести эксперимент при помощи периодического, сигналы непрерывного времени (несколько синусоид) как входные параметры к системе и измерению ответа системы. Затем можно группировать входные и выходные данные как iddata
объект.
Можно получить данные частотного диапазона дискретного времени (Ts
> 0) следующими способами:
Преобразуйте измеренные значения временного интервала с помощью дискретного преобразования Фурье.
Например, в следующем коде, вы вычисляете дискретное преобразование Фурье данных временного интервала, y
, это измеряется в дискретных моментах времени с шагом расчета 0,01 секунды.
t = 0:0.01:10; y = iddata(sin(2*pi*10*t),[],0.01); Y = fft(y);
Вычислите частотную характеристику линейной системы дискретного времени.
Например, в следующем коде, вы генерируете данные частотной характеристики дискретного времени, FRDd
, из модели передаточной функции дискретного времени, sys
. Вы задаете ненулевой шаг расчета для создания модели дискретного времени.
Ts = 1; sys = idtf(1,[1 0.2 2.1],Ts); FRDd = idfrd(sys,logspace(-2,2,100));
Можно использовать данные частотного диапазона непрерывного времени, чтобы идентифицировать только модели непрерывного времени. Можно использовать данные частотного диапазона дискретного времени, чтобы идентифицировать и дискретное время и модели непрерывного времени. Однако идентификация моделей непрерывного времени из данных дискретного времени требует знания междемонстрационного поведения данных. Для получения дополнительной информации смотрите Оценку Моделей непрерывного и дискретного времени.
Для данных дискретного времени программное обеспечение игнорирует данные частотного диапазона выше частоты Найквиста во время оценки.
После того, как вы представляли свои данные частотного диапазона с помощью iddata
или idfrd
объекты, можно подготовить данные к оценке путем удаления побочных данных и путем фильтрации данных.
Чтобы просмотреть побочные данные, отобразите данные на графике в приложении или используйте plot
(для iddata
объекты) или bode
(для idfrd
объекты) команды. После идентификации побочных данных в графике можно удалить их. Например, если вы хотите удалить точки данных 20–30 из zf
, частотный диапазон iddata
объект, используйте следующий синтаксис:
zf(20:30) = [];
Поскольку данные частотного диапазона не должны быть заданы с универсальным интервалом, вы не должны заменять выбросы.
Вы можете также предварительный фильтр высокочастотный шум в ваших данных. Вы можете данные частотного диапазона предварительного фильтра в приложении, или использовать idfilt
в командной строке. Предварительная фильтрация данных может также помочь удалить дрейфы, которые являются низкочастотными воздействиями. В дополнение к минимизации шума предварительная фильтрация позволяет вам фокусировать свою модель на определенных диапазонах частот. Частотный диапазон интереса часто соответствует полосе пропускания по точкам останова на Диаграмме Боде. Например, если вы моделируете объект для приложений системы управления, вы можете предварительный фильтр данные, чтобы улучшить частоты вокруг желаемой полосы пропускания замкнутой системы.
Для получения дополнительной информации смотрите Данные о Фильтрации.
После того, как вы предварительно обработали данные частотного диапазона, можно использовать их, чтобы оценить модели непрерывного и дискретного времени.
Можно оценить следующие линейные параметрические модели с помощью данных частотного диапазона. Шумовой компонент моделей не оценивается, за исключением моделей ARX.
Прежде, чем выполнить оценку, можно задать опции оценки, такой как, как программное обеспечение обрабатывает начальные условия данных об оценке. Чтобы сделать так в командной строке, используйте набор опции оценки, соответствующий команде оценки. Например, предположите, что вы хотите оценить модель передаточной функции из данных частотного диапазона, zf
, и вы также хотите оценить начальные условия данных. Используйте tfestOptions
набор опции, чтобы задать опции оценки, и затем оценить модель.
opt = tfestOptions('InitialCondition','estimate'); sys = tfest(zf,opt);
sys
предполагаемая модель передаточной функции. Для получения информации об извлечении предполагаемых значений параметров из модели смотрите Данные о Численной модели Извлечения. После выполнения оценки можно подтвердить предполагаемую модель.
Нулевое начальное условие для данных временного интервала не подразумевает нулевое начальное условие для соответствующих данных частотного диапазона. Для данных временного интервала нулевые начальные условия означают, что система принята, чтобы быть в состоянии отдыха перед запуском сбора данных. В частотном диапазоне могут быть проигнорированы начальные условия, только если собранные данные периодические по своей природе. Таким образом, если вам собрали данные временного интервала с нулевыми начальными условиями, и вы преобразуете их в данные частотного диапазона, чтобы оценить модель, необходимо оценить начальные условия также. Вы не можете задать их как нуль.
Вы не можете выполнить следующие оценки с помощью данных частотного диапазона:
Оценка шумового компонента линейной модели, за исключением моделей ARX.
Оценка моделей временных рядов с помощью данных о спектре только. Данные о спектре являются спектром мощности сигнала, обычно хранившегося в SpectrumData
свойство idfrd
объект.
Можно оценить все поддерживаемые линейные модели как модели дискретного времени, за исключением моделей процессов. Модели процессов заданы в непрерывное время только. Для оценки моделей дискретного времени необходимо использовать данные дискретного времени.
Можно оценить все поддерживаемые линейные модели как модели непрерывного времени, за исключением моделей корреляции (см. impulseest
). Можно оценить модели непрерывного времени с помощью и данных непрерывного времени и дискретного времени. Для получения информации о данных непрерывного времени и дискретного времени смотрите Данные Частотного диапазона Непрерывного времени и Дискретного времени.
Если вы оцениваете модель непрерывного времени, использующую данные дискретного времени, необходимо задать междемонстрационное поведение данных. Спецификация междемонстрационного поведения зависит от типа данных частотного диапазона.
Данные ввода - вывода частотного диапазона дискретного времени (iddata
объект) — Задают междемонстрационное поведение входного сигнала временного интервала u (t) что вы Фурье, преобразованный, чтобы получить входной сигнал частотного диапазона U (ω).
Данные частотной характеристики дискретного времени (idfrd
объект) — данные сгенерированы путем вычисления частотной характеристики модели дискретного времени. Задайте междемонстрационное поведение как метод дискретизации, принятый, чтобы вычислить модель дискретного времени из базовой модели непрерывного времени. Для примера смотрите, Задают Междемонстрационное Поведение для Данных Частотной характеристики Дискретного времени.
Можно задать междемонстрационное поведение, чтобы быть кусочной константой (нулевой порядок содержат), линейно интерполированный между выборками (хранение первого порядка), или ограниченный полосой. Если вы задаете данные дискретного времени из своей системы, как ограничено полосой (который не является никакой степенью выше частоты Найквиста), программное обеспечение обрабатывает данные как непрерывное время путем обнуления шага расчета. Программное обеспечение затем оценивает модель непрерывного времени из данных. Для получения дополнительной информации смотрите Эффект Входного Междемонстрационного Поведения на Моделях Непрерывного времени.
Этот пример показывает эффект междемонстрационного поведения на оценке моделей непрерывного времени, использующих данные частотной характеристики дискретного времени.
Сгенерируйте данные частотной характеристики дискретного времени. Для этого первое построение модель передаточной функции непрерывного времени, sys
. Затем преобразуйте его в модель дискретного времени, sysd
, использование c2d
команда и метод хранения первого порядка (FOH). Используйте модель sysd
дискретного времени сгенерировать данные частотной характеристики на заданных частотах,
freq
.
sys = idtf([1 0.2],[1 2 1 1]); sysd = c2d(sys,1,c2dOptions('Method','foh')); freq = logspace(-1,0,10); FRdata = idfrd(sysd,freq);
FRdata
данные дискретного времени. Программное обеспечение устанавливает InterSample
свойство FRdata
к 'foh'
, который является методом дискретизации, который использовался, чтобы получить sysd
от sys
.
Оцените передаточную функцию непрерывного времени третьего порядка из данных дискретного времени.
model1 = tfest(FRdata,3,1)
model1 = s + 0.2 ------------------- s^3 + 2 s^2 + s + 1 Continuous-time identified transfer function. Parameterization: Number of poles: 3 Number of zeros: 1 Number of free coefficients: 5 Use "tfdata", "getpvec", "getcov" for parameters and their uncertainties. Status: Estimated using TFEST on frequency response data "FRdata". Fit to estimation data: 100% FPE: 4.345e-31, MSE: 8.453e-32
model1
модель непрерывного времени, оцененные данные частотной характеристики дискретного времени использования. Базовая динамика непрерывного времени исходной модели sys
третьего порядка получены в
model1
потому что правильное междемонстрационное поведение задано в FRdata
.
Теперь задайте междемонстрационное поведение как хранение нулевого порядка (ZOH) и оцените модель передаточной функции третьего порядка.
FRdata.InterSample = 'zoh';
model2 = tfest(FRdata,3,1)
model2 = -15.49 s - 3.264 --------------------------------- s^3 - 30.03 s^2 - 6.872 s - 17.02 Continuous-time identified transfer function. Parameterization: Number of poles: 3 Number of zeros: 1 Number of free coefficients: 5 Use "tfdata", "getpvec", "getcov" for parameters and their uncertainties. Status: Estimated using TFEST on frequency response data "FRdata". Fit to estimation data: 94.82% FPE: 0.004674, MSE: 0.001557
model2
не получает динамику исходной модели sys
. Таким образом производящие связанные ошибки введены по оценке модели, когда междемонстрационное поведение правильно не задано.
В этом примере показано, как преобразовать модель данных частотной характеристики (FRD) в модель передаточной функции. Вы обрабатываете модель FRD как данные об оценке и затем оцениваете передаточную функцию.
Получите модель FRD.
Например, используйте bode
получить величину и данные о фазовом отклике для следующей системы пятого порядка:
Используйте 100 точек частоты между от 0,1 рад/с до 10 рад/с, чтобы получить модель FRD. Используйте frd
создать объект модели частотной характеристики.
freq = logspace(-1,1,100); sys0 = tf([1 0.2],[1 1 0.8 0.4 0.12 0.04]); [mag,phase] = bode(sys0,freq); frdModel = frd(mag.*exp(1j*phase*pi/180),freq);
Получите лучшее приближение третьего порядка к системной динамике путем оценки передаточной функции с 3 нулями и 3 полюсами.
np = 3; nz = 3; sys = tfest(frdModel,np,nz);
sys
предполагаемая передаточная функция.
Сравните ответ Модели FRD и предполагаемой модели передаточной функции.
bode(frdModel,sys,freq(1:50));
Модель FRD сгенерирована от системы пятого порядка sys0
. В то время как sys
, приближение третьего порядка, не получает целый ответ sys0
, это получает ответ хорошо приблизительно до 0,6 рад/с.
После оценки модели для вашей системы можно подтвердить, воспроизводит ли это поведение системы в приемлемых границах. Рекомендуется, чтобы вы использовали отдельные наборы данных в оценке и проверке вашей модели. Можно использовать временной интервал или данные частотного диапазона, чтобы подтвердить модель, оцененную с помощью данных частотного диапазона. Если вы используете данные о валидации ввода - вывода, чтобы подтвердить предполагаемую модель, можно сравнить симулированный ответ модели на измеренный вывод данных валидации. Если ваши данные о валидации являются данными частотной характеристики, можно сравнить его с частотной характеристикой модели. Например, чтобы сравнить выход предполагаемой модели sys
к измеренным данным о валидации zv
, используйте следующий синтаксис:
compare(zv,sys);
Можно также выполнить остаточный анализ. Для получения дополнительной информации смотрите, Подтверждая Модели После Оценки.
Когда вы оцениваете модель с помощью данных частотного диапазона, алгоритм оценки минимизирует потерю (стоимость) функция. Например, если вы оцениваете SISO линейная модель из данных частотной характеристики f
, алгоритм оценки минимизирует следующую функцию потерь наименьших квадратов:
Здесь W
зависимый частотой вес, который вы задаете, G
линейная модель, которая должна быть оценена, ω является частотой, и Nf является количеством частот, на которых данные доступны. Количество ошибка частотной характеристики. Для данных ввода - вывода частотного диапазона алгоритм минимизирует взвешенную норму ошибки на выходе вместо ошибки частотной характеристики. Для получения дополнительной информации смотрите Функцию потерь и Метрики качества Модели. Во время оценки побочная или неполученная динамика в ваших данных может произвести функцию потерь и привести к неудовлетворительной оценке модели.
Неожиданная, побочная динамика — Обычно наблюдала, когда высокие области величины данных имеют низкое отношение сигнал-шум. Подходящая ошибка вокруг этих фрагментов данных имеет большой вклад в функцию потерь. В результате алгоритм оценки может сверхсоответствовать и присвоить неожиданную динамику шуму в этих областях. Диагностировать эту проблему:
Улучшите отношение сигнал-шум — можно собрать больше чем один набор данных и насчитать их. Если у вас есть данные ввода - вывода частотного диапазона, можно объединить несколько наборов данных при помощи merge
команда. Используйте эти данные в оценке, чтобы получить улучшенный результат. В качестве альтернативы можно отфильтровать набор данных и использовать его в оценке. Например, используйте фильтр скользящего среднего значения по данным, чтобы сглаживать измеренный ответ. Примените фильтр сглаживания только в областях данных, где вы уверены, что негладкость происходит из-за шума, и не из-за системной динамики.
Уменьшайте удар определенных фрагментов данных по функции потерь — можно задать зависимый частотой вес. Например, если вы оцениваете модель передаточной функции, задаете вес в WeightingFilter
опция опции оценки установила tfestOptions
. Задайте маленький вес в областях частоты, где побочные движущие силы существуют. В качестве альтернативы используйте меньше точек данных вокруг этой области частоты.
Неполученная динамика — Обычно наблюдала, когда движущие силы, которые вы хотите получить, имеют низкую величину относительно остальной части данных. Поскольку плохая подгонка к низким данным о величине способствует меньше функции потерь, алгоритм может проигнорировать эти движущие силы, чтобы уменьшать ошибки на других частотах. Диагностировать эту проблему:
Укажите, что зависимый частотой вес — Задает большой вес для области частоты, где требуется получить динамику.
Используйте больше точек данных вокруг этой области.
Для примера этих методов поиска и устранения неисправностей смотрите Идентификацию Частотного диапазона Поиска и устранения неисправностей Моделей Передаточной функции.
Если вы не достигаете удовлетворительной модели с помощью этих методов поиска и устранения неисправностей, попробуйте различную структуру модели или алгоритм оценки.
После оценки модели можно выполнить преобразования моделей, извлечь параметры модели, и симулировать и предсказать ответ модели. Некоторые задачи, которые можно выполнить:
Преобразование между представлениями дискретного времени и непрерывного времени
Преобразовывая Между Линейными Представлениями Модели — Преобразование между линейными параметрическими представлениями модели, такой как между полиномом, пространством состояний и нулевыми полюсными представлениями.
При извлечении Данных о Численной модели — Например, извлеките полюса и нули модели с помощью pole
и zero
команды, соответственно. Вычислите частотную характеристику модели для заданного набора частот с помощью freqresp
.