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

Модель представляет собой однотранзисторный аудиоусилитель. Транзистор является биполярным устройством NPN и как таковой имеет нелинейный набор характеристик ток-напряжение. Поэтому общее поведение усилителя зависит от рабочей точки транзистора. Сам транзистор представлен эквивалентной схемой Эберса-Молля, реализованной с использованием маскированной подсистемы. Схема содержит синусоидальный входной тестовый сигнал с амплитудой 10 мВ и частотой 1 кГц. В области Напряжение нагрузки (Load Voltage) отображается результирующее выходное напряжение коллектора после фильтрации постоянного тока конденсатором развязки выхода.
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 steading state). Затем откройте область «Напряжение нагрузки» и запустите моделирование, чтобы увидеть основные характеристики цепи. Начальные напряжения емкости транзисторного перехода устанавливаются соответствующими условиям смещения, определяемым резисторами. Выходной сигнал представляет собой устойчивую синусоиду с нулевой средней амплитудой, усиленную транзистором и схемой смещения.

Чтобы увидеть ослабление цепи из нестойкого начального состояния, в блоке «Конфигурация решателя» снимите флажок «Начать моделирование из стационарного состояния» и нажмите кнопку «OK». Снова смоделируйте область «Напряжение нагрузки». В этом случае выходное напряжение начинается с нуля, поскольку емкости транзисторного перехода начинаются с нулевого заряда.

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

Откройте блок Конфигурация решателя (Solver Configuration), установите флажок Начать моделирование из устойчивого состояния (Start simulation from steading state) (как это было при первом открытии модели) и нажмите кнопку OK. Измените время моделирования обратно на .01 s и запустите моделирование повторно.
linmod ФункцияВ этом примере выполняется следующее:
Поиск рабочей точки с помощью стационарного решателя Simscape
Линеаризация модели с помощью Simulink linmod функция
Создание графика Бода с помощью ряда команд MATLAB
Откройте блок Конфигурация решателя (Solver Configuration) и убедитесь, что установлен флажок Начать моделирование из устойчивого состояния (Start simulation from steading 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 имеет инструменты, которые помогают находить рабочие точки и возвращают объект модели пространства состояний, определяющий имена состояний. Это рекомендуемый способ линеаризации моделей Simscape.
В окне модели нелинейного биполярного транзистора Simulink Toolstrip на вкладке Apps (Приложения) в разделе Control Systems (Системы управления) щелкните Model Linearizer (Модель линеаризатора).
В окне Линеаризатор модели (Model Linearizer) на вкладке Линейный анализ (Linear Analysis) нажмите кнопку График модели (Bode plot).

Дополнительные сведения об использовании программного обеспечения Simulink Control Design для обрезки и линеаризации см. в документации Simulink Control Design.
Примечание
Для работы в этом разделе необходимо иметь лицензию на Toolbox™ системы управления.
Для анализа и сравнения графиков Боде различных стационарных состояний можно использовать встроенные функции анализа и печати программного обеспечения панели инструментов системы управления.
Сначала используйте Simulink linmod для получения линейной инвариантной по времени (LTI) модели.
[a,b,c,d]=linmod('ssc_bipolar_nonlinear');Не все состояния модели LTI, полученные в этом примере, независимы. Подтвердите это путем вычисления определителя матрицы, 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, измените значение сопротивления на 15 кОм и нажмите кнопку «ОК». Откройте область «Напряжение нагрузки» и смоделируйте модель. Напряжение коллектора теперь больше не усиливается относительно источника переменного тока 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 для анализа бодов см. в документации Control System Toolbox.