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

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

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)

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

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

syslin = linearize(model,io,op);

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

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

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

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

свернуть все

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

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

  • Задайте входы, выходы и открытия, используя linio.

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

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

Установка точек ввода-вывода для оценки аналогична установке их для линеаризации. Для получения дополнительной информации об указании входов, выходов и открытий линеаризации, см. Раздел «Задание фрагмента модели для линеаризации».

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

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

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

  • operpoint

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

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

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

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

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

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

Для получения дополнительной информации смотрите описание data порта в Frequency Response Estimator block страницы с описанием или Collect Frequency Response Experiment Data for Offline Estimation.

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

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

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

свернуть все

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

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

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

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

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

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

Ограничения

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

Совет

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

Алгоритмы

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

Приложение

Model Linearizer

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

Введенный в R2009b