exponenta event banner

frestimate

Оценка частотной характеристики моделей Simulink

Описание

пример

sysest = frestimate(model,io,input) оценивает частотную характеристику модели Simulink ® с использованием указанного входного сигнала, рабочей точки, определенной начальными условиями модели, и точек анализа, указанных вio.

sysest = frestimate(model,op,io,input) инициализирует модель в рабочей точке op перед оценкой частотной характеристики. Если исходные условия модели не находятся в устойчивом состоянии или не являются интересующей рабочей точкой, используйте этот синтаксис для указания другой рабочей точки.

пример

[sysest,simout] = frestimate(model,op,io,input) также возвращает выходные данные моделируемой модели. Этот синтаксис используется при проверке результатов оценки с помощью средства просмотра результатов моделирования (frest.simView).

[___] = = frestimate(___,options) вычисляет частотную характеристику с помощью дополнительных опций. Этот синтаксис можно использовать с любой из предыдущих комбинаций входных и выходных аргументов.

sysest = frestimate(data,freqs,units) оценивает частотную характеристику с использованием данных моделирования, полученных с использованием блока оценки частотной характеристики в режиме автономной оценки. Этот синтаксис используется только для данных, зарегистрированных с помощью этого блока.

Примеры

свернуть все

Оценить отклик с разомкнутым контуром установки в watertank модель. Откройте модель.

model = 'watertank';
open_system(model);

Чтобы оценить отклик установки с разомкнутым контуром, определите набор операций ввода-вывода линеаризации, который задает эту часть модели с точками анализа. Определите точку входного анализа на выходе контроллера и точку вывода с разомкнутым контуром на выходе установки.

io(1)=linio('watertank/PID Controller',1,'input');
io(2)=linio('watertank/Water-Tank System',1,'openoutput');

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

watertank_spec = operspec(model);
opOpts = findopOptions('DisplayReport','off');
op = findop(model,watertank_spec,opOpts);

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

input = frest.Sinestream('Frequency',logspace(-3,2,30));

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

sysest = frestimate(model,op,io,input);
size(sysest)
FRD model with 1 outputs, 1 inputs, and 30 frequency points.

Проверьте измеренную частотную характеристику.

bode(sysest,'*')

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

Откройте окно watertank модель.

model = 'watertank';
open_system(model);

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

io(1)=linio('watertank/PID Controller',1,'input');
io(2)=linio('watertank/Water-Tank System',1,'openoutput');

watertank_spec = operspec(model);
opOpts = findopOptions('DisplayReport','off');
op = findop(model,watertank_spec,opOpts);

syslin = linearize(model,op,io);

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

input = frest.Sinestream('Frequency',logspace(-3,2,20));
sysest = frestimate(model,op,io,input);

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

bode(syslin,'b-',sysest,'r*')
legend('Exact linearization','Estimation')

Средство просмотра результатов моделирования позволяет исследовать результаты оценки частотной характеристики по частоте. Вы открываете средство просмотра с помощью frest.simView команда. Для этого сохраните данные моделирования с помощью simout выходной аргумент frestimate.

Оценить отклик с разомкнутым контуром установки в watertank модель. Сначала откройте модель.

model = 'watertank';
open_system(model);

Определите набор операций ввода-вывода линеаризации, который определяет установку, и найдите установившуюся рабочую точку для оценки.

io(1)=linio('watertank/PID Controller',1,'input');
io(2)=linio('watertank/Water-Tank System',1,'openoutput');

watertank_spec = operspec(model);
opOpts = findopOptions('DisplayReport','off');
op = findop(model,watertank_spec,opOpts);

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

input = frest.Sinestream('Frequency',logspace(-3,2,10));
[sysest,simout] = frestimate(model,op,io,input);

Откройте окно «Просмотр результатов моделирования».

frest.simView(simout,input,sysest)

Зритель показывает стационарный временной отклик и БПФ этого отклика для всех частот в диапазоне, выбранном в разделе Бодовая диаграмма зрителя. Эти графики помогают определить, когда ответ отклоняется от ожидаемого ответа. Дополнительные сведения об использовании средства просмотра результатов моделирования см. в разделе Анализ расчетной частотной характеристики.

При наличии линейной модели оцениваемой системы можно использовать модель в качестве ответа базовой линии для сравнения в средстве просмотра. Например, можно сравнить модель, полученную точной линеаризацией, с расчетной частотной характеристикой. Используйте набор ввода/вывода линеаризации и рабочую точку для вычисления точной линеаризации watertank растение.

syslin = linearize(model,io,op);

Откройте средство просмотра результатов моделирования еще раз, на этот раз syslin в качестве входного аргумента.

frest.simView(simout,input,sysest,syslin)

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

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

свернуть все

Модель Simulink, заданная как строковый или символьный вектор. Модель должна находиться в текущей рабочей папке или в пути MATLAB ® .

Набор точек анализа, содержащий входы, выходы и проемы контура, заданные как объект ввода/вывода линеаризации. Набор точек анализа определяет подмножество модели Simulink, чью частотную характеристику необходимо оценить. Создать io:

  • Определите входы, выходы и отверстия с помощью linio.

  • Если входные, выходные и проемы заданы в модели Simulink, извлеките эти точки из модели с помощью getlinio.

Для оценки частотной характеристики точки ввода-вывода не могут находиться в сигналах шины. io должен соответствовать модели Simulink model или ссылка на модель в обычном режиме в иерархии модели. (Если вы используете frestimate при выходной точке анализа в ссылке модели общее число экземпляров, разрешенных для каждого параметра конфигурации модели верхнего уровня ссылочной модели, должно быть равно 1.)

Указание точек ввода-вывода для оценки аналогично определению их для линеаризации. Дополнительные сведения о задании входных, выходных и проемов линеаризации см. в разделе Задание части модели для линеаризации.

Входной сигнал для возмущения модели, указанный как один из следующих:

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

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

  • operpoint

  • findop с одной спецификацией операционной точки или с одним временем снимка

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

Параметры оценки, указанные как frestimateOptions объект. Доступные варианты включают в себя включение параллельных вычислений для оценки (требуется Parallel Computing Toolbox™).

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

  • Структура, полученная путем записи данных из порта вывода данных блока в рабочую область MATLAB с помощью блока «В рабочую область». Параметр «Сохранить формат» блока «В рабочую область» должен иметь значение Timeseries.

  • A Simulink.SimulationData.Dataset объект, полученный с помощью регистрации данных Simulink для записи данных через порт данных в рабочую область MATLAB.

Дополнительные сведения см. в описании порта данных на справочной странице блока Оценка частотного отклика или Сбор данных эксперимента частотного отклика для автономной оценки.

Частоты для автономной оценки, заданные как вектор положительных значений. При сборе данных отклика с помощью блока Оценка частотного отклика (Frequency Response Estimator) задаются частоты для эксперимента оценки с помощью параметра Частота (Frequences) блока. Использовать один и тот же вектор частот для freqs при выполнении оценки в автономном режиме с использованием зарегистрированных данных.

Единицы частот для оценки в автономном режиме, указанные как одна из строк "rad/s" или "Hz" или один из векторов символов 'rad/s' или 'Hz'. При сборе данных отклика с помощью блока Оценка частотного отклика (Frequency Response Estimator) задаются единицы частот для эксперимента по оценке с помощью параметра Блок частотных единиц (Frequency units block). При выполнении оценки в автономном режиме с записанными данными укажите те же единицы измерения.

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

свернуть все

Расчетный частотный отклик, возвращаемый как частотный отклик (frd) объект модели. frd модель имеет столько входов и выходов, сколько определено в точках анализа линеаризации io.

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

  • Если используется сигнал синестрима, созданный с помощью frest.Sinestream, частоты в sysest - частоты, указанные в сигнале синестрима.

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

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

Данные моделирования, собранные в процессе оценки, возвращенные в виде массива ячеек Simulink.Timeseries объекты. Массив ячеек имеет размеры mоколо-n, где m - количество выходных точек в наборе ввода-вывода io, и n - количество входных точек. Эти данные могут быть полезны для:

Ограничения

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

Совет

  • Для систем с несколькими входами и несколькими выходами (MIMO) frestimate вводит сигнал на каждом входном канале отдельно для моделирования соответствующих выходных сигналов. Алгоритм оценки использует входы и моделируемые выходы для вычисления частотного отклика MIMO. Если требуется ввести различные входные сигналы в точки ввода линеаризации системы с несколькими входами, следует рассматривать систему как отдельные системы с одним входом. Выполнение независимых оценок частотной характеристики для каждой входной точки линеаризации с использованием frestimateи объедините результаты частотной характеристики.

Алгоритмы

свернуть все

frestimate вводит заданный входной сигнал (uest (t)) во входные точки анализа. Он моделирует модель и собирает ответный сигнал (yest (t)) в точках анализа выхода, как показано ниже для входа синестрима.

В общем, frestimate оценивает частотную характеристику путем вычисления отношения быстрого преобразования Фурье выходного сигнала и входного сигнала:

Resp = FFT (yest (t)) FFT (uest (t)).

  • Для входных сигналов синестрима функция отбрасывает данные, собранные в течение заданных периодов установки сигнала на каждой частоте. (См. раздел Входные сигналы синестрима.) Если опция фильтрации синестрименного сигнала активна, функция затем применяет полосовой фильтр к оставшемуся сигналу на соответствующей частоте и отбрасывает еще один период для удаления любых оставшихся переходных сигналов. Функция использует БПФ результирующего сигнала для вычисления Resp. Получающееся frd модель содержит все частоты в синестриме.

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

  • Для других входных сигналов результат frd содержит все частоты в преобразовании Фурье.

Оценка с использованием данных из блока оценки частотного отклика

Вы можете использовать frestimate(data,freqs,units) синтаксис для выполнения оценки в автономном режиме с данными из блока оценки частотного отклика. В этом случае frestimate использует Ready поле структуры данных, чтобы определить, какие точки данных включать в себя FFT вычисление Resp.

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

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

frestimate интерполирует Resp для создания результирующего frd , которая содержит частоты, указанные в параметрах блочного эксперимента. Дополнительные сведения см. на странице ссылок блока «Оценка частотного отклика».

Альтернативная функциональность

Расширенные возможности

Представлен в R2009b