Самая трудоемкая операция во время оценки частотной характеристики является симуляцией вашей модели Simulink®. Можно попытаться ускорить оценку с помощью любого из следующих путей:
Сокращение времени остановки симуляции
Определение режима Accelerator
Используя параллельные вычисления
Время, которое требуется, чтобы выполнить оценку частотной характеристики, зависит от времени остановки симуляции.
Чтобы получить время остановки симуляции, в инструменте Linear Analysis, в Linear Analysis Workspace, выбирают входной сигнал. Время симуляции будет отображено в Variable Preview.
Получить время остановки симуляции из входного сигнала с помощью Кода MATLAB®:
tfinal = getSimulationTime(input)
где input
входной сигнал. Время остановки симуляции, tfinal
, служит индикатором длительности оценки частотной характеристики.
Можно уменьшать время симуляции путем изменения свойств сигнала.
Входной сигнал | Действие | Внимание |
---|---|---|
Sinestream |
Сократите число периодов на частоту, |
Вы моделируете, должен быть в устойчивом состоянии, чтобы достигнуть точной оценки частотной характеристики. Сокращение количества периодов не может взволновать вашу модель достаточно долго, чтобы достигнуть устойчивого состояния. |
Щебет |
Уменьшите шаг расчета сигнала, |
Разрешение частоты предполагаемого ответа зависит от количества выборок |
Для получения информации об изменении входных сигналов смотрите, Изменяют Входные сигналы Оценки.
Можно попытаться ускорить оценку частотной характеристики путем определения Быстрого Акселератора или Режима Accelerator в Simulink.
Для получения дополнительной информации смотрите то, Что Ускорение? (Simulink).
Можно попытаться ускорить оценку частотной характеристики с помощью параллельных вычислений в следующих ситуациях:
Ваша модель имеет несколько входных параметров.
Ваша модель одно входа использует sinestream входной сигнал, где sinestream SimulationOrder
свойство имеет значение 'OneAtATime'
.
Для получения информации об установке этой опции смотрите frest.Sinestream
страница с описанием.
В этих ситуациях оценка частотной характеристики выполняет несколько симуляций. Если вы установили программное обеспечение Parallel Computing Toolbox™, можно запустить эти несколько параллельных симуляций на нескольких сеансах работы с MATLAB (pool работников MATLAB).
Для получения дополнительной информации об использовании параллельных вычислений смотрите Убыстряющуюся Оценку Используя Параллельные вычисления.
Можно использовать параллельные вычисления, чтобы ускорить оценку частотной характеристики, которая выполняет несколько симуляций. Можно использовать параллельные вычисления с Linear Analysis Tool и frestimate
. Когда вы выполняете оценку частотной характеристики с помощью параллельных вычислений, программное обеспечение использует доступный параллельный пул. Если никакой параллельный пул не доступен, и Automatically create a parallel pool выбран в ваших настройках Parallel Computing Toolbox, то программное обеспечение запускает параллельный пул с помощью настроек в тех настройках.
Можно сконфигурировать программное обеспечение, чтобы автоматически обнаружить зависимости моделей и временно добавить их в параллельных рабочих пула. Однако, чтобы гарантировать, что рабочие могут получить доступ к необнаруженному файлу и зависимостям от пути, создайте кластерный профиль, который задает то же самое. Параллельный пул, используемый, чтобы оптимизировать модель, должен быть сопоставлен с этим кластерным профилем. Для получения информации о создании кластерного профиля смотрите, Добавляют и Изменяют Кластерные Профили (Parallel Computing Toolbox).
Чтобы вручную открыть параллельный пул, который использует определенный кластерный профиль, используйте:
parpool(MyProfile)
MyProfile
имя кластерного профиля.
После того, как вы сконфигурируете свои настройки параллельных вычислений, как описано в Конфигурировании MATLAB для Параллельных вычислений, можно оценить частотную характеристику модели Simulink с помощью Linear Analysis Tool.
В Linear Analysis Tool, во вкладке Estimation, нажимают More Options.
Это действие открывает Опции для диалогового окна оценки частотной характеристики.
Во вкладке Parallel Options установите флажок Use the parallel pool during estimation.
(Необязательно) нажмите Add path dependency.
Диалоговое окно Browse For Folder открывается. Переместитесь и выберите директорию, чтобы добавить к зависимостям от модели path.
Нажмите OK.
В качестве альтернативы вручную задайте пути в списке зависимостей от Модели path. Можно задать пути, разделенные новой строкой.
(Необязательно) нажмите Sync path dependencies from model.
Это действие находит зависимости от модели path в вашей модели Simulink и добавляет их в поле списка Model path dependencies.
После того, как вы сконфигурируете свои настройки параллельных вычислений, как описано в Конфигурировании MATLAB для Параллельных вычислений, можно оценить частотную характеристику модели Simulink.
Найдите пути к файлам, которых ваша модель Simulink требует, чтобы запуститься, названный зависимостями от пути.
dirs = frest.findDepend(model)
dirs
массив ячеек из символьных векторов, содержащий зависимости от пути, такие как модели, на которые ссылаются, файлы данных и S-функции.
Для получения дополнительной информации об этой команде, смотрите frest.findDepend
страница с описанием.
Чтобы узнать больше о зависимостях моделей, смотрите то, Что Зависимости моделей? (Simulink) и Осциллограф Анализа зависимостей (Simulink).
(Необязательно) Проверка, что dirs
включает все зависимости от пути. Добавьте любые недостающие пути к dirs
:
dirs = vertcat(dirs,'\\hostname\C$\matlab\work')
(Необязательно) Проверка, что у всех рабочих есть доступ к путям в dirs
.
Если какой-либо из путей находится на вашем локальном диске, укажите, что все рабочие могут получить доступ к вашему локальному диску. Например, эта команда преобразует все ссылки на диск C к эквивалентному сетевому адресу, который доступен для всех рабочих:
dirs = regexprep(dirs,'C:/','\\\\hostname\\C$\\')
Включите параллельные вычисления и задайте зависимости от модели path путем создания options
объект с помощью frestimateOptions
команда:
options = frestimateOptions('UseParallel','on','ParallelPathDependencies',dirs)
Чтобы включить параллельные вычисления для всех оценок, установите глобальный флажок Use the parallel pool when you use the "frestimate" command настройки в настройках MATLAB. Если ваша модель имеет зависимости от пути, необходимо создать собственный объект опций частотной характеристики, который задает зависимости от пути перед начинающейся оценкой.
Оцените частотную характеристику:
[sysest,simout] = frestimate('model',io,input,options)
Для примера использования параллельных вычислений, чтобы ускорить оценку, смотрите, Ускоряют Оценку Частотной характеристики Используя Параллельные вычисления.
Оценка частотной характеристики завершает работу, когда данные моделирования превышают доступную память. Недостаточно память происходит в следующих ситуациях:
Ваша модель выполняет регистрацию данных во время долгой симуляции. sinestream входной сигнал с четырьмя периодами на частоте 1e-3 рад/с запускает симуляцию Simulink в течение 25 000 с. Если вы регистрируете сигналы с помощью блоков To Workspace, эта длина времени симуляции может вызвать проблемы памяти.
Модель с выходной точкой дискретный шаг расчета 1e-8 s, который симулирует на частоте на 5 Гц (0,2 с симуляции на период), приводит к миллион выборок данных на период. Как правило, этот объем данных требует более чем 300 Мбайт устройства хранения данных.
Избегать проблем памяти при оценке частотной характеристики:
Отключите любой сигнал, входящий в систему ваша модель Simulink.
Чтобы изучить, как можно идентифицировать, какие логарифмические сигналы компонентов модели и отключают логгирование сигнала, смотрите Сигнал Регистрировать (Simulink).
Попробуйте один или несколько действий, перечисленных в следующих разделах:
Повторите оценку.
Чтобы избежать проблем памяти, попробуйте один или несколько действий, перечисленных в следующей таблице, как подходящий для вашего типа модели.
Тип модели | Действие |
---|---|
Модели с быстрым дискретным шагом расчета, заданным в выходной точке |
Вставьте блок Rate Transition в выходной точке, чтобы понизить частоту дискретизации, которая уменьшает сумму записанных данных. Переместите выходную точку линеаризации в выход блока Rate Transition, прежде чем вы оцените. Убедитесь, что местоположение исходной выходной точки не имеет искажения в результате преобразования уровня. Для получения информации об определении частоты дискретизации, информация о Шаге расчета вида на море (Simulink). Если ваша оценка является медленной, смотрите Способы Ускорить Оценку Частотной характеристики. |
Модели с несколькими точками ввода и вывода (модели MIMO) |
|
Чтобы избежать проблем памяти, попробуйте один или несколько действий, перечисленных в следующей таблице, как подходящий для вашего типа входного сигнала.
Тип входного сигнала | Действие |
---|---|
Sinestream |
|
Щебет |
Создайте отдельные входные сигналы, которые делят развернутый частотный диапазон исходного сигнала в меньшие разделы с помощью |
Случайный | Сократите число выборок в случайном входном сигнале путем изменения NumSamples перед оценкой. Смотрите, что Ответ Времени Является Шумным. |