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

Примеры

свернуть все

Оцените ответ разомкнутого цикла объекта в 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);

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

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

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

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);

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

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)

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

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

syslin = linearize(model,io,op);

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

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

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

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

свернуть все

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

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

  • Задайте входные параметры, выходные параметры и открытия с помощью linio.

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

Для оценки частотной характеристики точки ввода-вывода не могут быть на сигналах шины. io должен соответствовать модели Simulink model или модель - ссылка режима normal mode в иерархии модели. (Если вы используете frestimate с выходной аналитической точкой в модели - ссылке параметр конфигурации Total number of instances allowed per top model модели, на которую ссылаются, должен быть 1.)

Определение точек ввода-вывода для оценки похоже на определение их для линеаризации. Для получения дополнительной информации об определении входных параметров линеаризации видят выходные параметры и открытия, Задают Фрагмент Модели, чтобы Линеаризовать.

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

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

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

  • operpoint

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

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

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

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

  • Структура, полученная путем записи данных из выходного порта data блока к рабочему пространству MATLAB с помощью блока To Workspace. Параметром Save format блока To Workspace должен быть Timeseries.

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

Для получения дополнительной информации см. описание порта data на странице с описанием блока Frequency Response Estimator или Соберите Данные об Эксперименте Частотной характеристики для Оффлайновой Оценки.

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

Единицы частот для оффлайновой оценки в виде одной из строк "rad/s" или "Hz" или один из векторов символов 'rad/s' или 'Hz'. Когда вы собираете данные об ответе с помощью блока Frequency Response Estimator, вы задаете единицы частот для эксперимента оценки с помощью параметров блоков единиц частоты. Задайте те же модули, когда вы выполните оффлайновую оценку с записанными данными.

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

свернуть все

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

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

  • Если вы используете сигнал sinestream, созданный с frest.Sinestream, частоты в sysest частоты, заданные в сигнале sinestream.

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

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

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

Ограничения

  • Если вы используете frestimate с выходной аналитической точкой в модели - ссылке параметр конфигурации Total number of instances allowed per top model модели, на которую ссылаются, должен быть 1.

Советы

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

Алгоритмы

свернуть все

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

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

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

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

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

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

Оценка Используя данные из блока средства оценки частотной характеристики

Можно использовать frestimate (data, freqsМодули) синтаксис, чтобы выполнить оффлайновую оценку с данными из блока Frequency Response Estimator. В этом случае, frestimate использует Ready поле структуры данных, чтобы определить, который точки данных включать расчет БПФ Resp.

  • Для sinestream режима этот сигнал указывает который периоды отбросить на каждой частоте, определенной параметрами блоков Number of settling periods.

  • Для режима суперпозиции этот сигнал указывает, какие данные находятся в пределах окна сбора данных, определенного параметром Number of periods of the lowest frequency used for estimation.

frestimate интерполирует Resp, чтобы сгенерировать получившийся frd модель, которая содержит частоты, которые вы задали в параметрах эксперимента блока. Для получения дополнительной информации смотрите страницу с описанием блока Frequency Response Estimator.

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

Приложение

Model Linearizer

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

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