Наиболее длительной операцией во время оценки частотной характеристики является симуляция вашего Simulink® модель. Можно попытаться ускорить оценку любым из следующих способов:
Сокращение времени остановки симуляции
Установка режима Accelerator
Использование параллельных вычислений
Время, необходимое для выполнения оценки частотной характеристики, зависит от времени остановки симуляции.
Чтобы получить время остановки симуляции, в Model Linearizer, в Linear Analysis Workspace, выберите входной сигнал. Время симуляции будет отображено в Variable Preview.
Чтобы получить время остановки симуляции из входного сигнала с помощью MATLAB® Код:
tfinal = getSimulationTime(input)
где input
- входной сигнал. Время остановки симуляции, tfinal
, служит индикатором длительности оценки частотной характеристики.
Можно уменьшить время симуляции, изменив свойства сигнала.
Входной сигнал | Действие | Внимание |
---|---|---|
Sinestream |
Уменьшите количество периодов на частоту, |
Вы модель должна быть в установившемся состоянии, чтобы достичь точной оценки частотной характеристики. Уменьшение количества периодов может не возбуждать вашу модель достаточно долго, чтобы достичь устойчивого состояния. |
Щебет |
Уменьшите шаг расчета сигнала, |
Разрешение частоты предполагаемой характеристики зависит от количества выборок |
Для получения информации об изменении входных сигналов смотрите Modify Estimation Input Signals.
Можно попытаться ускорить оценку частотной характеристики, задав Rapid Accelerator или Режим Accelerator в Simulink.
Для получения дополнительной информации смотрите Что такое ускорение?.
Можно попытаться ускорить оценку частотной характеристики с помощью параллельных вычислений в следующих ситуациях:
Ваша модель имеет несколько входов.
Ваша модель с одним входом использует входной сигнал sinestream, где sinestream SimulationOrder
свойство имеет значение 'OneAtATime'
.
Для получения информации об установке этой опции смотрите frest.Sinestream
страница с описанием.
В этих ситуациях оценка частотной характеристики выполняет несколько симуляций. Если вы установили программное обеспечение Parallel Computing Toolbox™, можно запустить эти многочисленные параллельные симуляции на нескольких сеансах работы с MATLAB (pool работников MATLAB).
Для получения дополнительной информации об использовании параллельных вычислений см. Раздел «Ускорение оценки с помощью параллельных вычислений».
Можно использовать параллельные вычисления, чтобы ускорить оценку частотной характеристики, которая выполняет несколько симуляций. Можно использовать параллельные вычисления с Model Linearizer и frestimate
. Когда вы выполняете оценку частотной характеристики с помощью параллельных вычислений, программное обеспечение использует доступный параллельный пул. Если параллельный пул не доступен и Automatically create a parallel pool выбран в настройках Parallel Computing Toolbox, то программа запускает параллельный пул с помощью настроек в этих настройках.
Можно сконфигурировать программное обеспечение, чтобы автоматически обнаружить зависимости модели и временно добавить их к работникам параллельного пула. Однако, чтобы убедиться, что работники могут получить доступ к необнаруженным зависимостям файла и пути, создайте профиль кластера, который задает то же самое. Параллельный пул, используемый для оптимизации модели, должен быть связан с этим профилем кластера. Дополнительные сведения о создании профиля кластера см. в разделе Добавление и изменение профилей кластера (Parallel Computing Toolbox).
Чтобы вручную открыть параллельный пул, который использует определенный профиль кластера, используйте:
parpool(MyProfile)
MyProfile
- имя профиля кластера.
После настройки параметров параллельных вычислений, как описано в Настройке MATLAB для параллельных вычислений, можно оценить частотную характеристику модели Simulink с помощью Model Linearizer.
В Model Linearizer, на вкладке Estimation, нажмите More Options.
Это действие открывает диалоговое окно Опции для оценки частотной характеристики.
На вкладке Parallel Options установите флажок Use the parallel pool during estimation.
(Необязательно) Нажмите Add path dependency.
Откроется диалоговое окно Обзор папки (Browse For Folder). Перейдите и выберите директорию, который будет добавлен в зависимости пути модели.
Нажмите OK.
Совет
Кроме того, вручную задайте пути в списке Зависимости пути модели. Можно задать пути, разделенные новой линией.
(Необязательно) Нажмите Sync path dependencies from model.
Это действие находит зависимости пути модели в модели Simulink и добавляет их в Model path dependencies окно списка.
После настройки параметров параллельных вычислений, как описано в Настройке 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)
Совет
Чтобы включить параллельные вычисления для всех оценок, установите флажок < reservedrangesplaceholder0 > глобальных выборов в настройках MATLAB. Если ваша модель имеет зависимости пути, необходимо создать свой собственный объект опций частотной характеристики, который задает зависимости пути перед началом оценки.
Оцените частотную характеристику:
[sysest,simout] = frestimate('model',io,input,options)
Для примера использования параллельных вычислений для ускорения оценки, смотрите Скорость Повышения Частотной Характеристики Оценка с Использованием Параллельных Вычислений.
Оценка частотной характеристики заканчивается, когда данные моделирования превышают доступную память. Недостаточная память возникает в следующих ситуациях:
Ваша модель выполняет регистрацию данных во время долгой симуляции. Входной сигнал sinestream с четырьмя периодами на частоте 1e-3 рад/с запускает симуляцию Simulink на 25 000 с. Если вы регистрируете сигналы, используя блоки To Workspace, эта продолжительность времени симуляции может вызвать проблемы с памятью.
Модель с выходной точкой дискретного шага расчета 1e-8 с, которая симулирует с 5-Hz частотой (0,2 с симуляции за период), приводит к миллион выборок данных за период. Как правило, такой объем данных требует более 300 МБ памяти.
Чтобы избежать проблем с памятью при оценке частотной характеристики:
Отключите регистрацию сигналов в модели Simulink.
Чтобы узнать, как можно идентифицировать, какие компоненты модели регистрируют сигналы и отключают логгирование сигналов, смотрите Журнал сигналов.
Попробуйте одно или несколько действий, перечисленных в следующих разделах:
Повторите оценку.
Чтобы избежать проблем с памятью, попробуйте одно или несколько действий, перечисленных в следующей таблице, соответственно для вашего типа модели.
Тип модели | Действие |
---|---|
Модели с быстрым дискретным шагом расчета, заданным в выходной точке |
Вставьте блок Rate Transition в выходную точку, чтобы снизить частоту дискретизации, что уменьшает количество записанных данных. Переместите выходную точку линеаризации в выход блока Rate Transition перед оценкой. Убедитесь, что местоположение исходной выходной точки не имеет псевдонимов в результате преобразования скорости. Для получения информации об определении частоты дискретизации, смотрите Просмотр информации о шаге расчета. Если ваша оценка является медленной, см. Способы ускорить оценку частотной характеристики. |
Модели с несколькими входными и выходными точками (модели MIMO) |
|
Чтобы избежать проблем с памятью, попробуйте одно или несколько действий, перечисленных в следующей таблице, согласно типу входного сигнала.
Тип входного сигнала | Действие |
---|---|
Sinestream |
|
Щебет | Создайте отдельные входные сигналы, которые разделяют свит частотной области значений исходного сигнала на меньшие секции, используя |
Случайный | Уменьшите количество выборок в случайном входном сигнале путем изменения NumSamples перед оценкой. Смотрите, что временная характеристика шумит. |