Наиболее трудоемкой операцией при оценке частотного отклика является моделирование модели Simulink ®. Вы можете попытаться ускорить оценку одним из следующих способов:
Сокращение времени остановки моделирования
Задание режима ускорителя
Использование параллельных вычислений
Время, необходимое для выполнения оценки частотного отклика, зависит от времени остановки моделирования.
Чтобы получить время остановки моделирования, в линеаризаторе модели в рабочем пространстве линейного анализа выберите входной сигнал. Время моделирования отображается в окне «Предварительный просмотр переменных».

Для получения времени остановки моделирования из входного сигнала с помощью кода MATLAB ®:
tfinal = getSimulationTime(input)
где input - входной сигнал. Время остановки моделирования, tfinal, служит индикатором длительности оценки частотной характеристики.
Можно сократить время моделирования, изменив свойства сигнала.
| Входной сигнал | Действие | Внимание |
|---|---|---|
| Sinestream |
Уменьшение количества периодов на частоту, |
Для получения точной оценки частотной характеристики модель должна находиться в устойчивом состоянии. Уменьшение количества периодов может не вызвать возбуждения модели достаточно долго, чтобы достичь устойчивого состояния. |
| Щебет |
Уменьшите время выборки сигнала, |
Частотное разрешение расчетной характеристики зависит от количества выборок |
Сведения об изменении входных сигналов см. в разделе Изменение входных сигналов оценки.
Можно попытаться ускорить оценку частотной характеристики, указав режим ускорителя или ускорителя в Simulink.
Дополнительные сведения см. в разделе Что такое ускорение?.
Вы можете попытаться ускорить оценку частотной характеристики с помощью параллельных вычислений в следующих ситуациях:
Модель имеет несколько входных данных.
Модель с одним входом использует синестрименный входной сигнал, где синестрим SimulationOrder свойство имеет значение 'OneAtATime'.
Сведения о настройке этого параметра см. в разделе frest.Sinestream справочная страница.
В этих ситуациях оценка частотной характеристики выполняет многократное моделирование. Если установлено программное обеспечение Parallel Computing Toolbox™, можно выполнять эти несколько имитаций параллельно на нескольких сессиях MATLAB (пул работников MATLAB).
Дополнительные сведения об использовании параллельных вычислений см. в разделе Ускорение оценки с помощью параллельных вычислений.
Можно использовать параллельные вычисления для ускорения оценки частотного отклика, которая выполняет несколько моделирований. Можно использовать параллельные вычисления с линеаризатором модели и frestimate. При выполнении оценки частотного отклика с использованием параллельных вычислений программное обеспечение использует доступный параллельный пул. Если параллельный пул недоступен и в настройках панели инструментов Parallel Computing Toolbox выбран параметр Автоматически создавать параллельный пул, программа запускает параллельный пул, используя настройки этих настроек.
Можно настроить программное обеспечение для автоматического обнаружения зависимостей модели и временного добавления их в параллельный пул работников. Однако для обеспечения доступа работников к неопознанным зависимостям файлов и путей создайте профиль кластера, который определит его. С этим профилем кластера должен быть связан параллельный пул, используемый для оптимизации модели. Сведения о создании профиля кластера см. в разделе Добавление и изменение профилей кластера (панель инструментов параллельных вычислений).
Чтобы вручную открыть параллельный пул с определенным профилем кластера, используйте следующие действия.
parpool(MyProfile)
MyProfile - имя профиля кластера.
После настройки параметров параллельных вычислений, как описано в разделе Настройка MATLAB для параллельных вычислений, можно оценить частотную характеристику модели Simulink с помощью линеаризатора модели.
На вкладке Оценка (Estimation) Линеаризатора модели (Model Linearizer) щелкните Дополнительные опции (More Options).
Это действие открывает диалоговое окно Опции оценки частотного отклика.
На вкладке Параллельные опции установите флажок Использовать параллельный пул во время оценки.

(Необязательно) Щелкните Добавить зависимость пути.
Откроется диалоговое окно Обзор папки (Browse For Folder). Выполните навигацию и выберите папку для добавления зависимостей пути модели.
Нажмите кнопку ОК.
Совет
Либо вручную укажите пути в списке Зависимости пути модели (Model path dependencies). Можно задать пути, разделенные новой линией.
(Необязательно) Щелкните Синхронизировать зависимости путей от модели.
Это действие находит зависимости пути модели в модели Simulink и добавляет их в список Зависимости пути модели.
После настройки параметров параллельных вычислений, как описано в разделе Настройка MATLAB для параллельных вычислений, можно оценить частотную характеристику модели Simulink.
Найдите пути к файлам, которые требуется запустить модели Simulink, называемые зависимостями путей.
dirs = frest.findDepend(model)
dirs представляет собой массив ячеек символьных векторов, содержащих зависимости пути, такие как ссылочные модели, файлы данных и S-функции.
Дополнительные сведения об этой команде см. в разделе frest.findDepend.
Дополнительные сведения о зависимостях модели см. в разделе Анализ зависимостей модели и области и ограничений анализатора зависимостей.
(Необязательно) Проверьте, что dirs включает все зависимости путей. Добавить все отсутствующие пути к dirs:
dirs = vertcat(dirs,'\\hostname\C$\matlab\work')(Необязательно) Убедитесь, что все работники имеют доступ к путям в dirs.
Если какой-либо путь находится на локальном диске, укажите, что все работники могут получить доступ к локальному диску. Например, эта команда преобразует все ссылки на диск C в эквивалентный сетевой адрес, доступный всем работникам:
dirs = regexprep(dirs,'C:/','\\\\hostname\\C$\\')
Включение параллельных вычислений и определение зависимостей пути модели путем создания options с использованием frestimateOptions команда:
options = frestimateOptions('UseParallel','on','ParallelPathDependencies',dirs)
Совет
Чтобы включить параллельные вычисления для всех оценок, выберите глобальную настройку Использовать параллельный пул при использовании флажка «frestimate» в настройках MATLAB. Если модель имеет зависимости путей, необходимо создать собственный объект опций частотного отклика, который задает зависимости путей перед началом оценки.
Оцените частотную характеристику:
[sysest,simout] = frestimate('model',io,input,options)Пример использования параллельных вычислений для ускорения оценки см. в разделе Ускорение оценки частотного отклика с помощью параллельных вычислений.
Оценка частотного отклика завершается, когда данные моделирования превышают доступную память. Недостаточная память возникает в следующих ситуациях:
Модель выполняет ведение журнала данных во время длительного моделирования. Входной сигнал синестрима с четырьмя периодами на частоте 1e-3 рад/с запускает симуляцию Simulink для 25000. Если вы регистрируете сигналы с помощью блоков To Workspace, этот промежуток времени симуляции может вызвать проблемы с памятью.
Модель с дискретным временем выборки выходной точки 1e-8 с, которая моделируется на 5-Hz частоте (0,2 s моделирования за период), приводит к 8 = 2 млн выборок данных за период. Обычно этот объем данных требует более 300 МБ памяти.
Чтобы избежать проблем с памятью при оценке частотной характеристики:
Отключите регистрацию любого сигнала в модели Simulink.
Сведения о том, как определить, какие компоненты модели регистрируют сигналы, и отключить регистрацию сигналов, см. в разделе Регистрация сигналов.
Попробуйте выполнить одно или несколько действий, перечисленных в следующих разделах:
Повторите оценку.
Чтобы избежать проблем с памятью, попробуйте выполнить одно или несколько действий, перечисленных в следующей таблице, в зависимости от типа модели.
| Тип модели | Действие |
|---|---|
| Модели с быстрым временем дискретной выборки, заданным в точке вывода |
Вставьте блок Rate Transition в выходной точке, чтобы снизить частоту дискретизации, что уменьшает количество записанных данных. Переместите точку вывода линеаризации на выход блока Rate Transition перед оценкой. Убедитесь, что расположение исходной выходной точки не имеет псевдонима в результате преобразования скорости.
Сведения об определении частоты выборки см. в разделе Просмотр информации о времени выборки. Если оценка выполняется медленно, см. раздел Способы ускорения оценки частотного отклика. |
| Модели с несколькими точками ввода и вывода (модели MIMO) |
|
Чтобы избежать проблем с памятью, попробуйте выполнить одно или несколько действий, перечисленных в следующей таблице, в зависимости от типа входного сигнала.
| Тип входного сигнала | Действие |
|---|---|
| Sinestream |
|
| Щебет | Создание отдельных входных сигналов, разделяющих диапазон частот развертки исходного сигнала на меньшие секции с помощью |
| Случайный | Уменьшение количества выборок в случайном входном сигнале путем изменения NumSamples перед оценкой. Смотрите раздел Реакция на время шумит. |