frestimate

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

Синтаксис

sysest = frestimate(model,io,input)
sysest = frestimate(model,op,io,input)
[sysest,simout] = frestimate(model,op,io,input)
[___] = = frestimate(___,options)
sysest = frestimate(data,freqs,units)

Описание

пример

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)

Средство просмотра показывает вам установившийся ответ времени и БПФ того ответа для всех частот в области значений, которую вы выбираете на разделе 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-by-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,units), чтобы выполнить оффлайновую оценку с данными из блока 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.

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

Приложение

Linear Analysis Tool

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

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