Frequency Response Estimator

Оцените частотные характеристики объекта во время симуляции или в реальном времени

  • Библиотека:
  • Simulink Control Design

  • Frequency Response Estimator block

Описание

Используйте блок Frequency Response Estimator для выполнения основанной на эксперименте оценки в реальном времени с физическим объектом или в Simulink® модель во время симуляции. Чтобы получить оцененную частотную характеристику, блок одновременно:

  • Вводит синусоидальные тестовые сигналы в объект в номинальной рабочей точке

  • Собирает данные отклика из выхода объекта управления

  • Вычисляет расчетную частотную характеристику

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

Вы можете использовать онлайн оценку частотной характеристики с любым стабильным объектом SISO. Для нестабильного объекта онлайн-оценка работает в системе с обратной связью строения при условии, что закрытый цикл внутренне стабильна. Система с обратной связью внутренне устойчива тогда и только тогда, когда корни номинального характеристического уравнения с обратной связью лежат в открытой левой полуплоскости. Для объекта с передаточной функцией G = NG/ DG и контроллером C = NC/ DC, характеристическое уравнение :

DGDC + NGNC = 0.

На практике это условие означает, что никакие нестабильные полюсы в G не стабилизируются удалением нулей-полюсов в GC. Не используйте онлайн-оценку с нестабильным объектом, который не соответствует этому условию.

Можно сгенерировать код и развернуть блок Frequency Response Estimator на оборудовании, чтобы выполнить оценку в реальном времени. Блок поддерживает генерацию кода с Simulink Coder™, Embedded Coder®, и Simulink PLC Coder™. Он не поддерживает генерацию кода с HDL Coder™.

Для получения дополнительной информации об использовании блока Frequency Response Estimator смотрите:

Для получения дополнительной общей информации об оценке частотной характеристики в режиме онлайн, см. «Основы оценки частотной характеристики в режиме онлайн».

Порты

Вход

расширить все

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

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

Типы данных: single | double

Подключите этот порт к выходу объекта.

Типы данных: single | double

Чтобы начать и остановить процесс оценки, предоставьте сигнал в start/stop порт. Когда значение сигнала меняется от:

  • Отрицательный или от нуля до положительного, эксперимент начинается

  • Положительно к отрицательному или нулю, эксперимент останавливается

Обычно можно использовать сигнал, который изменяется от 0 до 1, чтобы начать эксперимент, и от 1 до 0, чтобы остановить его. Когда эксперимент не выполняется, блок не добавляет возмущения в u + Δu или Δu порт. В этом состоянии блок не влияет на поведение объекта.

Запустите эксперимент, когда объект находится в желаемой рабочей точке равновесия. В строении с обратной связью используйте контроллер, чтобы привести объект к рабочей точке. В строении без разомкнутого контура можно использовать исходный блок, соединенный с u, чтобы привести объект в рабочую точку.

Пусть эксперимент продлится достаточно долго, чтобы алгоритм собрал достаточные данные для хорошей оценки на всех зондируемых им частотах. Блок отображает рекомендуемую длину эксперимента в Experiment Length разделе параметров блоков. Это значение основано на режиме эксперимента и частотах, которые вы задаете для эксперимента.

  • Когда Experiment mode Sinestream, рекомендуемая длина эксперимента:

    i2πωi(Nset,i+Nestim,i)+2TsNfreq,

    где:

    • ωi - i-я частота, заданная в параметре Frequencies (в рад/с).

    • Nfreq - количество частот в Frequencies.

    • N set i является соответствующим значением параметра Number of settling periods.

    • N estim i является соответствующим значением параметра Number of estimation periods.

    • Ts - время дискретизации эксперимента, заданное параметром Sample time (Ts).

  • Когда Experiment mode Superposition, рекомендуемая длина эксперимента в шесть раз дольше всего. Если ваша система не требует много времени для распада переходных процессов или для усреднения шума, то можно использовать более короткую длину эксперимента. Для получения дополнительной информации о том, как определить длину эксперимента в режиме суперпозиции, смотрите «Длина эксперимента» и «Окно сбора данных» в режиме суперпозиции.

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

Типы данных: single | double

Задайте значение для параметра Frequencies. Смотрите этот параметр для получения информации о том, как выбрать частоты.

Когда вы поставляете частоты через этот порт, задайте количество частот с параметром Number of frequencies in the excitation signal.

Зависимости

Чтобы включить этот порт, в Excitation Signal Source, выберите External ports.

Типы данных: single | double

Задайте значение для параметра Amplitudes. Смотрите этот параметр для получения дополнительной информации.

Зависимости

Чтобы включить этот порт, в Excitation Signal Source, выберите External Ports.

Типы данных: single | double

Выход

расширить все

Вставьте блок в систему так, чтобы этот порт подавал входной сигнал на объект, например, на следующую схему.

  • Когда эксперимент запускается (start/stop положительный), блок вводит тестовые сигналы в объект в этом порту. Если у вас есть какой-либо предел насыщения или скорости, защищающий объект, подайте сигнал от u + Δu в него.

  • Когда эксперимент не запускается (start/stop нулем или отрицательным), блок передает сигналы без изменений от u к u + Δu. В этом состоянии блок не влияет на объект.

Зависимости

Чтобы включить этот порт, в Output Signal Configuration, выберите control action + perturbation.

Типы данных: single | double

Блок генерирует сигнал возмущения в этом порту. Как правило, вы вводите возмущение от этого порта через блок сумм, как показано на следующей схеме.

  • Когда эксперимент запускается (start/stop положительный), блок генерирует сигналы возмущения в этом порту.

  • Когда эксперимент не запускается (start/stop нулем или отрицательным), сигнал в этом порте равен нулю. В этом состоянии блок не влияет на объект.

Зависимости

Чтобы включить этот порт, в Output Signal Configuration, выберите perturbation only.

Типы данных: single | double

Сигнал в этом порту содержит данные, которые блок собирает во время эксперимента по оценке частотной характеристики, включая сигнал возмущения, приложенный к объекту, и измеренную реакцию объекта. Используйте этот порт, когда вы хотите записать данные эксперимента для дальнейшего использования. Например, можно сохранить ресурсы в развёрнутом окружении, зарегистрировав данные и выполнив оценку в автономном режиме (см. Estimation Mode). Существует два способа получить доступ к данным эксперимента с частотной характеристикой.

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

    • Ready - логический сигнал, указывающий, какие временные шаги включены в расчет оценки (1) и которые исключены (0). Для образца, для режима синестрима, этот сигнал является 1 только для данных, которые попадают в периоды, определяемые параметрами Number of settling periods и Number of estimation periods. В режиме суперпозиции сигнал равен 1 только для данных, которые попадают в окно, описанное в Experiment Length and Data-Collection Window в режиме суперпозиции.

    • Perturbation - Синусоидальные возмущения Δu применяется на объекте

    • PlantInput - Входной сигнал объекта u + Δu, где u - сигнал, собранный в порте блока входа y

    • PlantOutput - Выходной сигнал объекта, собранный на входном порту блока y

  • Используйте ведение журнала данных Simulink, чтобы записать данные в рабочую область как Simulink.SimulationData.Dataset объект. В этом случае структура, содержащая четыре сигнала timeseries, сохранена в Values поле получившегося набора данных. Например, предположим, что модель сконфигурирована для сохранения записанных данных в переменную logsout, и data является единственным зарегистрированным портом. В этом случае структура содержится в logsout{1}.Values.

Можно использовать данные из этого порта, чтобы выполнить оценку частотной характеристики в автономном режиме. Например, можно вычислить предполагаемую частотную характеристику в MATLAB, передав структуру в frestimate команда. Для получения дополнительной информации о доступе и использовании данных эксперимента смотрите Сбор данных эксперимента с частотной характеристикой для оценки в автономном режиме.

Типы данных: single | double

Сигнал в этом порту содержит оцененные частотные характеристики объекта управления в векторе с одной записью для каждой частоты, заданной в параметре Frequencies. Можно записать этот сигнал в рабочее пространство MATLAB с помощью блока To Workspace или использовать регистрацию данных Simulink, чтобы записать данные в рабочую область как Simulink.SimulationData.Dataset объект.

Обычно лучшая оценка достигается в конце эксперимента. По этой причине, возможно, вам не потребуется регистрировать все исторические данные на этом порте. Вместо этого можно отменить значения для каждого временного шага, кроме последнего. Например, в блоке To Workspace можно задать параметр Limit data points to last равным 1. Затем, когда эксперимент заканчивается, получившаяся переменная рабочей области содержит вектор комплексных чисел, по одному для каждой частоты, заданной в параметре Frequencies.

Зависимости

Чтобы включить этот порт, установите Estimation Mode равным Online.

Типы данных: single | double

Параметры

расширить все

Блок является блоком в дискретном времени, который запускается в фиксированном шаге расчета, заданном этим параметром. Самая большая частота, которую вы можете оценить, является частотой Найквиста, π/ Ts рад/с. Лучшая практика состоит в том, чтобы использовать время дискретизации, по крайней мере, в пять раз быстрее, чем частота Найквиста ,

Ts = π/( 5 ωmax) ≅ 0,6/ ωmax или 0,1/ fmax,

где, где ωmax - самая высокая частота в Frequencies в рад/с, а fmax - самая высокая частота в Гц. Шаг расчета должно быть достаточно маленьким, чтобы оценить самую быструю желаемую частоту, но не таким маленьким, чтобы ввести ненужную вычислительную нагрузку.

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

Совет

Если вы хотите запустить развернутый блок с различными шагами расчета в вашем приложении, установите этот параметр равным -1 и поместите блок в Triggered Subsystem. Затем инициируйте подсистему в требуемый шаг расчета. Если вы не планируете изменять шаг расчета после развертывания, задайте фиксированный и конечный шаг расчета.

Программное использование

Параметры блоков: DiscreteTs
Тип: скаляр
Значение положительная скалярная величина | -1
По умолчанию: 0.1

По умолчанию блок принимает управляющий сигнал как вход и обеспечивает управляющий сигнал плюс возмущение эксперимента в u+Δu порта. Затем вы подаете этот сигнал на вход объекта управления, как показано на следующей схеме.

Это строение по умолчанию требует вставки блока между контроллером и объектом. Если вы хотите добавить сигнал возмущения к управляющему сигналу самостоятельно, выберите perturbation only. В этом строении блок выводит только сигнал возмущения в порт Δu. Вы вводите этот сигнал возмущения в объект, используя, например, блок суммы, как на следующей схеме.

В этом строении, поскольку Frequency Response Estimator не является частью замкнутого цикла, вы можете опционально закомментировать его, не нарушая строение цикла.

Задайте точность с плавающей точкой на основе среды симуляции или требований к оборудованию.

Программное использование

Параметры блоков: BlockDataType
Тип: Вектор символов
Значения: 'double' | 'single'
По умолчанию: 'double'

Задайте, подавать ли частоты и амплитуды сигнала возмущения эксперимента через параметры блоков или через внешние порты.

  • Block parameters - Выберите, чтобы включить параметры Frequencies и Amplitudes.

  • External ports - Выберите, чтобы включить w и amp входные порты. Используйте эту опцию, если вы хотите изменить частоты и амплитуды сигнала возмущения после развертывания.

Программное использование

Параметры блоков: SineSource
Тип: Вектор символов, строка
Значения: 'Block parameters' | 'External ports'
По умолчанию: 'Block parameters'

Частоты, на которых можно оценить частотную характеристику объекта. Блок вводит возмущение на каждой из этих частот, либо одновременно (когда Experiment mode Superposition), либо последовательно (Experiment mode Sinestream). Самая высокая частота, которую вы можете оценить, ограничена частотой Найквиста, π/ Ts рад/с, где Ts является значением, которое вы задаете для параметра Sample time (Ts).

Когда Experiment mode Superposition:

  • Для поддержания разумной скорости сходимости и точности оценки типично использовать для оценки около 20-30 частот. Лучшая практика состоит в том, чтобы указать не более, чем о 50 частотах.

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

  • Попытка линеаризации модели, содержащей блок Frequency Response Estimator с помощью режима суперпозиции и более 50 частот, может сгенерировать ошибку. Ошибка состояний "Модель содержит слишком много элементов для линеаризации. Уменьшите размер модели ". Чтобы завершить линеаризацию, вы должны либо прокомментировать блок оценки частотной характеристики, либо уменьшить количество частот.

Когда Experiment mode Sinestream, нет рекомендуемого предела на количество или область значений частот. Однако из-за последовательной природы возмущения синестрейма каждая добавляемая вами частотная точка увеличивает необходимое время эксперимента (подробнее см. start/stop входной порт). Кроме того, слишком широкая область значений частот требует, чтобы вы использовали быстрый шаг расчета для высоких частот, которое неэффективно для более низких частот.

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

Совет

Этот параметр не настраивается. Чтобы обеспечить частоты после развертывания, установите Excitation Signal Source, чтобы External ports и использовать w входной порт. Для получения дополнительной информации смотрите Развертывание Алгоритма Оценки Частотной Характеристики для Использования в реальном времени.

Зависимости

Чтобы включить этот параметр, установите Excitation Signal Source равным Block parameters.

Программное использование

Параметры блоков: Frequencies
Тип: вектор
Значения: положительные реальные значения
По умолчанию: '[0.5 1 2]'

Укажите, находятся ли значения параметра Frequencies в радианах в секунду или Hertz.

Чтобы включить этот параметр, установите Excitation Signal Source равным Block parameters.

Программное использование

Параметры блоков: FreqUnits
Тип: строка, вектор символов
Значения: 'rad/s', 'Hz'
По умолчанию: 'rad/s'

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

Амплитуды должны быть:

  • Достаточно большое, что возмущение преодолевает любой тупик в приводе объекта и генерирует ответ выше уровня шума

  • Достаточно маленькая, чтобы сохранить работу объекта в пределах приблизительно линейной области около номинальной рабочей точки и избежать насыщения входного или выходного сигнала объекта

Когда Experiment mode Superposition, синусоидальные сигналы накладываются без сдвига фазы. Таким образом, максимальное возмущение может превысить амплитуду любого отдельного компонента, вплоть до суммы всех амплитуд. Убедитесь, что самое большое возмущение находится в области значений вашего объекта привода. Насыщение привода может внести ошибки в расчетную частотную характеристику.

Совет

Этот параметр не настраивается. Чтобы обеспечить амплитуды после развертывания, установите Excitation Signal Source на External ports и используйте amp входной порт. Для получения дополнительной информации смотрите Развертывание Алгоритма Оценки Частотной Характеристики для Использования в реальном времени.

Зависимости

Чтобы включить этот параметр, установите Excitation Signal Source равным Block parameters.

Программное использование

Параметры блоков: Amplitudes
Тип: скаляр, вектор
По умолчанию: '1'

Когда вы предоставляете частоты эксперимента через внешний порт w, задайте количество частот (длину векторного сигнала в w) с этим параметром.

Зависимости

Чтобы включить этот параметр, установите Excitation Signal Source равным External ports.

Программное использование

Параметры блоков: NumOfFreq
Тип: скаляр
По умолчанию: '3'

Задайте, применяется ли возмущение на каждой частоте последовательно (Sinestream) или одновременно (Superposition).

  • Sinestream - В этом режиме возмущение применяется на каждой частоте отдельно. Вы задаете, сколько периодов на каждой частоте, чтобы позволить системе рассчитаться, используя параметр Number of settling periods. Задайте, сколько периодов измерить ответ с помощью параметра Number of estimation periods. Для получения дополнительной информации о сигналах синестрейма для оценки, см. Sinestream Input Signals.

  • Superposition - В этом режиме сигнал возмущения включает все заданные частоты сразу. Для оценки частотной характеристики в векторе частот ω = [ω 1,..., ωN] при амплитудах A = [A 1,..., AN], сигнал возмущения:

    Δu=iAisin(ωit).

    Лучшая практика состоит в том, чтобы использовать не более чем около 50 частот в сигнале суперпозиции.

Sinestream режим может быть более точным и включать более широкую область значений частот, чем Superposition режим (см. параметр Frequencies). Sinestream режим также может быть менее интрузивным, потому что общий размер возмущения никогда не будет больше значений, заданных параметром Amplitudes. Однако из-за последовательной природы возмущения синестрейма каждая добавленная вами частотная точка увеличивает рекомендуемое время эксперимента (для получения дополнительной информации см. start/stop входной порт). Таким образом, эксперимент оценки обычно намного быстрее в Superposition режиме с удовлетворительными результатами.

Совет

Попытка линеаризации модели, содержащей блок Frequency Response Estimator с помощью режима суперпозиции и более 50 частот, может сгенерировать ошибку. Ошибка состояний "Модель содержит слишком много элементов для линеаризации. Уменьшите размер модели ". Чтобы завершить линеаризацию, вы должны либо прокомментировать блок оценки частотной характеристики, либо уменьшить количество частот.

Программное использование

Параметры блоков: ExperimentMode
Тип: Вектор символов, строка
Значения: 'Sinestream' | 'Superposition'
По умолчанию: 'Sinestream'

В режиме эксперимента с синестримом блок вводит отдельные возмущения на каждой частоте, заданной вами Frequencies. Используйте Number of settling periods, чтобы задать, сколько времени ждать на каждой частоте, прежде чем начинать оценку на этой частоте. Ожидание позволяет любым переходным процессам в объект реакции распадаться, улучшая точность оцененной частотной характеристики. Ожидание большего количества периодов может улучшить точность оценки, но также увеличивает время эксперимента.

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

Для получения дополнительной информации о сигналах синестрейма для оценки, см. Sinestream Input Signals.

Настраиваемый: Да

Зависимости

Чтобы включить этот параметр, в Experiment Mode, выберите Sinestream.

Программное использование

Параметры блоков: NumOfSetPeriod
Тип: целое число, вектор из целых чисел
По умолчанию: '2'

В режиме эксперимента с синестримом блок вводит отдельные возмущения на каждой частоте, заданной вами Frequencies. Используйте Number of estimation periods, чтобы задать, сколько периодов инъекционного сигнала использовать для оценки на каждой частоте. Использование большего количества периодов может улучшить точность оценки, но также увеличивает время эксперимента.

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

Для получения дополнительной информации о сигналах синестрейма для оценки, см. Sinestream Input Signals.

Настраиваемый: Да

Зависимости

Чтобы включить этот параметр, в Experiment Mode, выберите Sinestream.

Программное использование

Параметры блоков: NumOfEstPeriod
Тип: целое число, вектор из целых чисел
По умолчанию: '4'

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

Зависимости

Чтобы включить этот параметр, в Experiment Mode, выберите Superposition.

Программное использование

Параметры блоков: NumOfSlowestPeriod
Тип: целое число
По умолчанию: '3'

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

  • Online - блок собирает данные эксперимента и вычисляет предполагаемую частотную характеристику во время эксперимента. Полученную расчетную частотную характеристику можно получить в frd порте (для получения дополнительной информации см. описание этого порта).

  • Offline - блок собирает только данные эксперимента и не вычисляет предполагаемую частотную характеристику. Вы можете получить данные эксперимента в data порту (смотрите описание этого порта для получения дополнительной информации). Затем можно выполнить оценку частотной характеристики в автономном режиме. Например, можно использовать данные в MATLAB, чтобы вычислить предполагаемую частотную характеристику с frestimate команда. Для получения дополнительной информации смотрите Сбор данных эксперимента с частотной характеристикой для оценки в автономном режиме.

Программное использование

Параметры блоков: EstimationMode
Тип: Вектор символов, строка
Значения: 'Online' | 'Offline'
По умолчанию: 'Online'

Выберите, чтобы сгенерировать диаграмму Боде, показывающий предполагаемую частотную характеристику. График периодически обновляется во время оценочного эксперимента. Если у вас есть модель LTI, представляющая ожидаемый ответ объекта или другой релевантный базовый уровень, включите его в график для ссылки с помощью параметра Baseline модель объекта управления.

Совет

  • Чтобы ускорить обрезку или линеаризацию модели, содержащей блок Frequency Response Estimator, очистите этот параметр.

Программное использование

Параметры блоков: UseBodePlot
Тип: Вектор символов, строка
Значения: 'off' | 'on'
По умолчанию: 'off'

Задайте базовую модель, чтобы построить график с предполагаемой частотной характеристикой. Используйте модель LTI, такую как tf, ss, или frd модель.

Пример: tf(10,[1 10 1000])

Зависимости

Чтобы включить этот параметр, выберите Display Bode plot.

Программное использование

Параметры блоков: BaselinePlant
Тип: модель LTI
По умолчанию: '[]'

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

Зависимости

Чтобы включить этот параметр, выберите Display Bode plot.

Программное использование

Параметры блоков: PlotRefreshFactor
Тип: целое число
По умолчанию: '100'

Подробнее о

расширить все

Алгоритмы

расширить все

Ссылки

[1] Устье скважины, P.E. Технический отчет 10: Анализ частотной характеристики. Фарнборо, Хэмпшир, Великобритания: Solartron Instruments, 1997.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.

Генерация кода ПЛК
Сгенерируйте структурированный текстовый код с помощью Coder™ Simulink ® PLC

.
Введенный в R2019a