Скорость оценки управления и память

Способы Ускорить Оценку Частотной характеристики

Самая трудоемкая операция во время оценки частотной характеристики является симуляцией вашей модели Simulink®. Можно попытаться ускорить оценку с помощью любого из следующих путей:

  • Сокращение времени остановки симуляции

  • Определение режима Accelerator

  • Используя параллельные вычисления

Сокращение времени остановки симуляции

Время, которое требуется, чтобы выполнить оценку частотной характеристики, зависит от времени остановки симуляции.

Чтобы получить время остановки симуляции, в Model Linearizer, в Linear Analysis Workspace, выбирают входной сигнал. Время симуляции будет отображено в Variable Preview.

Получить время остановки симуляции из входного сигнала с помощью Кода MATLAB®:

tfinal = getSimulationTime(input) 

где input входной сигнал. Время остановки симуляции, tfinal, служит индикатором длительности оценки частотной характеристики.

Можно уменьшать время симуляции путем изменения свойств сигнала.

Входной сигналДействиеВнимание
Sinestream

Сократите число периодов на частоту, NumPeriods, особенно на более низких частотах.

Вы моделируете, должен быть в устойчивом состоянии, чтобы достигнуть точной оценки частотной характеристики. Сокращение количества периодов не может взволновать вашу модель достаточно долго, чтобы достигнуть устойчивого состояния.

Щебет

Уменьшите шаг расчета сигнала, Ts, или количество выборок, NumSamples.

Разрешение частоты предполагаемого ответа зависит от количества выборок NumSamples. Сокращение числа выборок уменьшает разрешение частоты предполагаемой частотной характеристики.

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

Определение режима Accelerator

Можно попытаться ускорить оценку частотной характеристики путем определения Быстрого Акселератора или Режима Accelerator в Simulink.

Для получения дополнительной информации смотрите то, Что Ускорение?.

Используя параллельные вычисления

Можно попытаться ускорить оценку частотной характеристики с помощью параллельных вычислений в следующих ситуациях:

  • Ваша модель имеет несколько входных параметров.

  • Ваша модель одно входа использует sinestream входной сигнал, где sinestream SimulationOrder свойство имеет значение 'OneAtATime'.

    Для получения информации об установке этой опции смотрите frest.Sinestream страница с описанием.

В этих ситуациях оценка частотной характеристики выполняет несколько симуляций. Если вы установили программное обеспечение Parallel Computing Toolbox™, можно запустить эти несколько параллельных симуляций на нескольких сеансах работы с MATLAB (pool работников MATLAB).

Для получения дополнительной информации об использовании параллельных вычислений смотрите Убыстряющуюся Оценку Используя Параллельные вычисления.

Ускорение оценки Используя параллельные вычисления

Конфигурирование MATLAB для параллельных вычислений

Можно использовать параллельные вычисления, чтобы ускорить оценку частотной характеристики, которая выполняет несколько симуляций. Можно использовать параллельные вычисления с Model Linearizer и frestimate. Когда вы выполняете оценку частотной характеристики с помощью параллельных вычислений, программное обеспечение использует доступный параллельный пул. Если никакой параллельный пул не доступен, и Automatically create a parallel pool выбран в ваших настройках Parallel Computing Toolbox, то программное обеспечение запускает параллельный пул с помощью настроек в тех настройках.

Можно сконфигурировать программное обеспечение, чтобы автоматически обнаружить зависимости моделей и временно добавить их в параллельных рабочих пула. Однако, чтобы гарантировать, что рабочие могут получить доступ к необнаруженному файлу и зависимостям от пути, создайте кластерный профиль, который задает то же самое. Параллельный пул, используемый, чтобы оптимизировать модель, должен быть сопоставлен с этим кластерным профилем. Для получения информации о создании кластерного профиля смотрите, Добавляют и Изменяют Кластерные Профили (Parallel Computing Toolbox).

Чтобы вручную открыть параллельный пул, который использует определенный кластерный профиль, используйте:

parpool(MyProfile)

MyProfile имя кластерного профиля.

Оценка частотной характеристики Используя параллельные вычисления Используя Model Linearizer

После того, как вы сконфигурируете свои настройки параллельных вычислений, как описано в Конфигурировании MATLAB для Параллельных вычислений, можно оценить частотную характеристику модели Simulink с помощью Model Linearizer.

  1. В Model Linearizer, во вкладке Estimation, нажимают More Options.

    Это действие открывает Опции для диалогового окна оценки частотной характеристики.

  2. Во вкладке Parallel Options установите флажок Use the parallel pool during estimation.

  3. (Необязательно) нажмите Add path dependency.

    Диалоговое окно Browse For Folder открывается. Переместитесь и выберите директорию, чтобы добавить к зависимостям от модели path.

    Нажмите OK.

    Совет

    В качестве альтернативы вручную задайте пути в списке зависимостей от Модели path. Можно задать пути, разделенные новой строкой.

  4. (Необязательно) нажмите Sync path dependencies from model.

    Это действие находит зависимости от модели path в вашей модели Simulink и добавляет их в поле списка Model path dependencies.

Оценка частотной характеристики Используя параллельные вычисления (код MATLAB)

После того, как вы сконфигурируете свои настройки параллельных вычислений, как описано в Конфигурировании MATLAB для Параллельных вычислений, можно оценить частотную характеристику модели Simulink.

  1. Найдите пути к файлам, которых ваша модель Simulink требует, чтобы запуститься, названный зависимостями от пути.

    dirs = frest.findDepend(model)

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

    Для получения дополнительной информации об этой команде, смотрите frest.findDepend.

    Чтобы узнать больше о зависимостях моделей, смотрите, Анализируют Зависимости моделей и Зависимость Осциллограф Анализатора и Ограничения.

  2. (Необязательно) Проверка, что dirs включает все зависимости от пути. Добавьте любые недостающие пути к dirs:

    dirs = vertcat(dirs,'\\hostname\C$\matlab\work')
  3. (Необязательно) Проверка, что у всех рабочих есть доступ к путям в dirs.

    Если какой-либо из путей находится на вашем локальном диске, укажите, что все рабочие могут получить доступ к вашему локальному диску. Например, эта команда преобразует все ссылки на диск C к эквивалентному сетевому адресу, который доступен для всех рабочих:

    dirs = regexprep(dirs,'C:/','\\\\hostname\\C$\\')

  4. Включите параллельные вычисления и задайте зависимости от модели path путем создания options объект с помощью frestimateOptions команда:

    options = frestimateOptions('UseParallel','on','ParallelPathDependencies',dirs)

    Совет

    Чтобы включить параллельные вычисления для всех оценок, установите глобальный флажок Use the parallel pool when you use the "frestimate" command настройки в настройках MATLAB. Если ваша модель имеет зависимости от пути, необходимо создать собственный объект опций частотной характеристики, который задает зависимости от пути перед начинающейся оценкой.

  5. Оцените частотную характеристику:

    [sysest,simout] = frestimate('model',io,input,options)

Для примера использования параллельных вычислений, чтобы ускорить оценку, смотрите, Ускоряют Оценку Частотной характеристики Используя Параллельные вычисления.

Память управления во время оценки частотной характеристики

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

  • Ваша модель выполняет регистрацию данных во время долгой симуляции. sinestream входной сигнал с четырьмя периодами на частоте 1e-3 рад/с запускает симуляцию Simulink в течение 25 000 с. Если вы регистрируете сигналы с помощью блоков To Workspace, эта длина времени симуляции может вызвать проблемы памяти.

  • Модель с выходной точкой дискретный шаг расчета 1e-8 s, который симулирует на частоте на 5 Гц (0,2 с симуляции на период), приводит к 0.21e8=2 миллион выборок данных на период. Как правило, этот объем данных требует более чем 300 Мбайт устройства хранения данных.

Избегать проблем памяти при оценке частотной характеристики:

  1. Отключите любой сигнал, входящий в систему ваша модель Simulink.

    Чтобы изучить, как можно идентифицировать, какие логарифмические сигналы компонентов модели и отключают логгирование сигнала, смотрите Логгирование Сигнала.

  2. Попробуйте один или несколько действий, перечисленных в следующих разделах:

  3. Повторите оценку.

Способы модели специфичные избежать проблем памяти

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

Тип моделиДействие
Модели с быстрым дискретным шагом расчета, заданным в выходной точке

Вставьте блок Rate Transition в выходной точке, чтобы понизить частоту дискретизации, которая уменьшает сумму записанных данных. Переместите выходную точку линеаризации в выход блока Rate Transition, прежде чем вы оцените. Убедитесь, что местоположение исходной выходной точки не имеет искажения в результате преобразования уровня.

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

Модели с несколькими точками ввода и вывода (модели MIMO)

Определенные для входного сигнала способы избежать проблем памяти

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

Тип входного сигналаДействие
Sinestream
  • Удалите низкие частоты из своего входного сигнала, для которого вам не нужна частотная характеристика.

  • Измените сигнал sinestream оценить каждую частоту отдельно путем установки SimulationOrder опция к OneAtATime. Затем оцените использование a frestimate синтаксис, который не запрашивает симулированных выходных данных ответа времени, например, sysest = frestimate(model,io,input).

  • Используйте параллельные вычисления, чтобы запустить независимые параллельные симуляции на различных компьютерах. Смотрите Убыстряющуюся Оценку Используя Параллельные вычисления.

  • Разделите входной сигнал на нескольких использование сигналов fselect. Оцените частотную характеристику для каждого сигнала отдельно с помощью frestimate. Затем использование результатов объединения fcat.

Щебет

Создайте отдельные входные сигналы, которые делят развернутый частотный диапазон исходного сигнала в меньшее использование разделов frest.Chirp. Оцените частотную характеристику для каждого сигнала отдельно с помощью frestimate. Затем использование результатов объединения fcat.

СлучайныйСократите число выборок в случайном входном сигнале путем изменения NumSamples перед оценкой. Смотрите, что Ответ Времени Является Шумным.