Линеаризация электронной схемы

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

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

Исследуйте модель

Чтобы открыть модель примера Нелинейного Биполярного Транзистора, введите ssc_bipolar_nonlinear в MATLAB® Командное окно.

Модель представляет однотранзисторный усилитель звука. Транзистор является NPN биполярным устройством и как таковой имеет нелинейный набор характеристик тока-напряжения. Поэтому полное поведение усилителя зависит от рабочей точки транзистора. Сам транзистор представлен и эквивалентной схемой Эберса-Молла, реализованной с помощью маскированной подсистемы. Схема имеет синусоидальный входной тестовый сигнал с амплитудой 10 мВ и частотой 1 кГц. Область возможностей Load Voltage отображает полученное выходное напряжение коллектора после того, как DC отфильтрован выходным конденсатором развязки.

R1 и R2 установите номинальную рабочую точку, и малый коэффициент усиления сигнала приблизительно установлен на R3/R4 отношения. Конденсаторы развязки C1 и C2 имеют емкость 1uF, для обеспечения незначительного импеданса на 1 кГц.

Модель сконфигурирована для линеаризации. Вы можете быстро сгенерировать и просмотреть частотную характеристику малого сигнала, нажав на Linearize circuit гиперссылка в аннотации модели. Чтобы просмотреть скрипт MATLAB, который генерирует частотную характеристику, щелкните следующую гиперссылку в этой аннотации, see code. Эта документация содержит справочную информацию и альтернативные способы линеаризации на основе имеющегося программного обеспечения.

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

  • Simulink® требует верхней части - или порты входа и выхода уровня модели для линеаризации с linmod. Нелинейная модель Биполярного Транзистора имеет такие порты, отмеченные u и y.

  • Программа Simulink Control Design™ требует, чтобы вы задавали входные и выходные сигнальные линии с точками линеаризации. Заданные линии должны быть сигнальными линиями Simulink, а не Simscape™ линиями физического соединения. Нелинейная модель Биполярного Транзистора имеет такие заданные точки линеаризации. Для получения дополнительной информации об использовании программного обеспечения Simulink Control Design для обрезки и линеаризации, смотрите документацию для этого продукта.

Откройте блок Solver Configuration и убедитесь, что установлен флажок Start simulation from steady state. Затем откройте возможности Load Voltage и запустите симуляцию, чтобы увидеть поведение основной цепи. Начальные напряжения транзисторного соединения устанавливаются соответствующими условиям смещения, заданным резисторами. Выход является установившейся синусоидой с нулевым средним значением, ее амплитуда усилена транзистором и схемой смещения.

Чтобы увидеть ослабление цепи из нестационарного начального состояния, в блоке Solver Configuration снимите флажок Start simulation from steady state и нажмите OK. Когда Напряжение нагрузки возможностей открыто, моделируйте снова. В этом случае выход напряжение начинается с нуля, потому что транзисторные соединительные емкости начинаются с нулевого заряда.

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

Откройте блок Solver Configuration, установите флажок Start simulation from steady state (как это было при первом открытии модели) и нажмите OK. Измените время симуляции назад на .01 с и снова запустите симуляцию.

Линеаризация с помощью статического решателя и linmod Функция

В этом примере вы:

  1. Используйте статический решатель Simscape, чтобы найти рабочую точку

  2. Линеаризация модели с помощью Simulink linmod функция

  3. Сгенерируйте диаграмму Боде с помощью ряда команд MATLAB

Откройте блок Solver Configuration и убедитесь, что установлен флажок Start simulation from steady state. Когда вы симулируете модель с включенным статическим решателем Simscape, схема инициализируется в состоянии, заданном транзисторными сопротивлениями смещения. Это установившееся в установившемся состоянии решение является рабочей точкой, подходящей для линеаризации.

Примечание

Также убедитесь, что флажок Use local solver снят. Линеаризация модели с включенным локальным решателем не поддерживается.

Чтобы линеаризировать модель, введите следующее в Командном окне MATLAB:

[a,b,c,d]=linmod('ssc_bipolar_nonlinear');

Можно также вызвать linmod функция с одним выходным аргументом, в этом случае она генерирует структуру с состояниями, входами и выходами, а также линейную инвариантную по времени (LTI) модель.

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

  • a 17 на 17

  • b 17 на 1

  • c 1 на 17

  • d 1 на 1

Чтобы сгенерировать диаграмму Боде, введите следующее в Командном окне MATLAB:

npts = 100; f = logspace(-2,10,npts); G = zeros(1,npts);
for i=1:npts                                                       
    G(i) = c*(2*pi*1i*f(i)*eye(size(a))-a)^-1*b +d;                
end
subplot(211), semilogx(f,20*log10(abs(G)))                         
grid                                                               
ylabel('Magnitude (dB)')                                           
subplot(212), semilogx(f,180/pi*unwrap(angle(G)))                  
ylabel('Phase (degrees)')                                          
xlabel('Frequency (Hz)')                                           
grid  

Линеаризация с помощью программного обеспечения Simulink Control Design

Примечание

Для работы с этим разделом необходимо иметь лицензию Simulink Control Design.

Программное обеспечение Simulink Control Design имеет инструменты, которые помогают вам найти рабочие точки и возвращает объект модели пространства состояний, который задает имена состояний. Это рекомендуемый способ линеаризации моделей Simscape.

  1. В Панель инструментов Simulink Нелинейного Биполярного Транзистора окна модели на вкладке Apps под Control Systems нажмите Model Linearizer.

  2. В окне Model Linearizer, на вкладке Linear Analysis, нажмите кнопку Bode график.

Для получения дополнительной информации об использовании программного обеспечения Simulink Control Design для обрезки и линеаризации, смотрите документацию Simulink Control Design.

Используйте программное обеспечение Control System Toolbox для анализа бодов

Примечание

Для работы с этим разделом необходимо иметь лицензию Control System Toolbox™.

Можно использовать встроенные возможности анализа и графического изображения программного обеспечения Control System Toolbox для анализа и сравнения диаграмм Боде с различными устойчивыми состояниями.

Во-первых, используйте Simulink linmod функция для получения линейной инвариантной по времени модели (LTI).

[a,b,c,d]=linmod('ssc_bipolar_nonlinear');

Не все состояния модели LTI, выведенные в этом примере, являются независимыми. Подтвердите это, вычислив определяющего матрицы a, det(a). Определяющий исчезает, что подразумевает одно или несколько нулевых собственных значений. Чтобы проанализировать модель LTI, уменьшите матрицы LTI до минимальной реализации. Получите минимальную реализацию с помощью minreal функция.

[a0,b0,c0,d0] = minreal(a,b,c,d);

13 states removed.

Извлечение минимальной реализации исключает 13 зависимых состояний из модели LTI, оставляя четыре независимых состояния. Анализируйте управляющие характеристики редуцированного a0, b0, c0, d0 Модель LTI с использованием диаграммы Боде.

bode(a0,b0,c0,d0) % Creates first Bode plot

Схема с R1, измененной с 47 до 15 кОм, имеет другое устойчивое состояние и ответ. Дважды кликните R1 блок, измените значение Resistance на 15 кОм и нажмите OK. Откройте возможности Load Voltage и симулируйте модель. Напряжение коллектора теперь больше не усиливается относительно источника переменного тока 10 мВ, а ослабляется.

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

[a_R1,b_R1,c_R1,d_R1]=linmod('ssc_bipolar_nonlinear');
[a0_R1,b0_R1,c0_R1,d0_R1] = minreal(a_R1,b_R1,c_R1,d_R1); % 13 states removed.
hold on % Keeps first Bode plot open
bode(a0_R1,b0_R1,c0_R1,d0_R1) % Superposes second Bode plot on first

Для получения дополнительной информации об использовании программного обеспечения Control System Toolbox для анализа Bode, смотрите документацию Control System Toolbox.

Похожие примеры

Подробнее о