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

В этом примере показано, как идентифицировать модель частотного диапазона использование псевдослучайной двоичной последовательности (PRBS) для системы силовой электроники, смоделированной в Simulink® с помощью компонентов Simscape™ Electrical™. Этот пример обращается к процессу оценки частотной характеристики в рабочем процессе проектирования контроллера с помощью PRBS в качестве входного сигнала.

Как правило, системы силовой электроники не могут линеаризоваться, потому что они используют высокочастотные компоненты переключения, такие как генераторы модуляции длительности импульса (PWM). Однако большинство настраивающих инструментов Simulink® Control Design™ PID проектирует коэффициенты ПИД на основе линеаризовавшей модели объекта управления. Чтобы получить такую модель для модели силовой электроники, которая не может линеаризоваться, можно оценить частотную характеристику объекта в области значений частот как показано в этом примере. Чтобы собрать данные о частотной характеристике, вы можете:

  • Оцените частотную характеристику объекта в командной строке.

  • Оцените частотную характеристику объекта с помощью приложения Model Linearizer.

Повысьте модель конвертера

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

mdl = 'scdboostconverter';
open_system(mdl)

В этой модели MOSFET, управляемый сигналом модуляции длительности импульса (PWM), используется для переключения. Выходное напряжение$Vout$ должно быть отрегулировано к ссылочному значению$Vref$. Цифровой ПИД-регулятор настраивает рабочий цикл PWM$Duty$, на основе сигнала ошибки напряжения. В данном примере вы оцениваете частотную характеристику от рабочего цикла PWM до напряжения загрузки$Vout$.

Программное обеспечение Simscape Electrical содержит предопределенные блоки для многих систем силовой электроники. Эта модель содержит различную подсистему с двумя версиями модели конвертера повышения:

  • Повысьте схему конвертера, созданную с помощью компонентов электроэнергии. Параметры элементов схемы основаны [1].

  • Повысьте блок конвертера, сконфигурированный, чтобы иметь те же параметры как схема конвертера повышения. Для получения дополнительной информации об этом блоке смотрите Конвертер Повышения (Simscape Electrical).

Чтобы использовать версию блока Boost Converter подсистемы, в модели, нажимают Boost Converter Block или используют следующую команду.

set_param([bdroot '/Simscape Power Systems Boost Converter'],...
    'OverrideUsingVariant','block_boost_converter');

Найдите рабочую точку модели

Чтобы оценить частотную характеристику для конвертера повышения, необходимо сначала определить установившуюся рабочую точку, в которой вы хотите, чтобы конвертер действовал. Для получения дополнительной информации о нахождении рабочих точек смотрите, Находят Установившиеся Рабочие точки для Моделей Simscape. В данном примере используйте рабочую точку, оцененную из снимка состояния симуляции в 0.045 секунды.

opini = findop(mdl,0.045);

Инициализируйте модель вычисленной рабочей точкой.

set_param(mdl,'LoadInitialState','on','InitialState','getstatestruct(opini)');

Создайте псевдослучайный двоичный сигнал

Псевдослучайный двоичный сигнал (PRBS) является периодическим, детерминированным сигналом со свойствами "белый шум как", который переключает между двумя значениями. PRBS является по сути периодической длиной периода имеющей сигнала 2^n-1, где n порядок PRBS.

Создайте PRBS со следующей настройкой.:

  • Чтобы использовать апериодический PRBS определяет номер периодов к 1.

  • Используйте порядок PRBS 12, создание сигнала длины 4095. Чтобы получить точную оценку частотной характеристики, длина PRBS должна быть достаточно большой.

  • Установите инжекционную частоту PRBS к 200 кГц совпадать с шагом расчета в модели.

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

in_PRBS = frest.PRBS('Order',12,'NumPeriods',1,'Amplitude',0.05,'Ts',5e-6);

Соберите данные о частотной характеристике

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

io = getlinio(mdl);

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

op = operpoint(mdl);

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

srcblks = frest.findSources(mdl,io);

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

opts = frestimateOptions;
opts.BlocksToHoldConstant = srcblks;

Оцените частотную характеристику с помощью входного сигнала PRBS.

sysest_prbs = frestimate(mdl,io,op,in_PRBS,opts);

Сравните данные о частотной характеристике с результатами Sinestream FRE

Сравните результаты оценки при использовании сигнала PRBS к найденным использованием sinestream входного сигнала. Сравните сигналы через 15 логарифмически распределенные частоты используются для sinestream в пределах от 50 Hz к 5 kHz.

load frdSinestream
wbode = estsysSinestream.Frequency;
bode(sysest_prbs,'b-');
hold on
bode(estsysSinestream,'ro--',wbode(1:end-2));
legend('PRBS estimation result','Sinestream estimation result',...
    'Location','northeast')
grid on

Соберите данные о частотной характеристике Используя Model Linearizer

В качестве альтернативы можно использовать приложение Model Linearizer, чтобы собрать данные о частотной характеристике из той же модели с помощью входного сигнала PRBS. Чтобы собрать данные о частотной характеристике для сигнала PRBS, в Model Linearizer, на вкладке Estimation, под Входным сигналом, выбирают PRBS Pseudorandom Binary Sequence.

В диалоговом окне входа Create PRBS сконфигурируйте параметры PRBS.

Нажать ОК. Программное обеспечение добавляет сигнал PRBS в Линейную Аналитическую Рабочую область.

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

В Model Linearizer можно также сравнить данные о частотной характеристике с результатом, полученным с помощью сигнала sinestream. Следующая фигура выдерживает сравнение, система оценила использование входного сигнала PRBS (estsys1) результатом, полученным с помощью сигнала sinestream (estsysSinestream).

Улучшите результат частотной характеристики

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

И для блока Constant и для блока Rate Transition, используйте шаг расчета 5e-5 s, который в десять раз медленнее, чем исходный шаг расчета 5e-6 s.

Создайте входной сигнал PRBS с помощью нового шага расчета.

in_PRBS = frest.PRBS('Order',12,'NumPeriods',1,'Amplitude',0.05,'Ts',5e-5);

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

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

Закройте модель.

close_system(mdl,0)