В этом примере показано, как линеаризовать модель нелинейной схемы биполярного транзистора и создать Диаграмму Боде для анализа частотного диапазона маленького сигнала.
В зависимости от программного обеспечения вы имеете в наличии, используете соответствующие разделы этого примера, чтобы исследовать различную линеаризацию и аналитические методы.
Чтобы открыть Нелинейную модель Биполярного транзистора в качестве примера, введите ssc_bipolar_nonlinear
в командном окне MATLAB®.
Модель представляет усилитель звука одно транзистора. Транзистор является биполярным элементом NPN, и как таковой имеет нелинейный набор характеристик текущего напряжения. Поэтому полное поведение усилителя зависит от рабочей точки транзистора. Сам транзистор представлен, и эквивалентная схема Эберс-Молл реализовала использование подсистемы маскированной. Схема имеет синусоидальный входной тестовый сигнал с амплитудой 10 мВ и частотой 1 кГц. Осциллограф Напряжения Загрузки отображает получившееся выходное напряжение коллектора после того, как DC будет отфильтрован выходным развязывающим конденсатором.
R1 и R2 устанавливают номинальную рабочую точку, и маленькое усиление сигнала приблизительно установлено отношением R3/R4. Развязывающие конденсаторы C1 и C2 имеют емкость 1uF, чтобы представить незначительный импеданс на уровне 1 кГц.
Модель сконфигурирована для линеаризации. Можно быстро сгенерировать и просмотреть частотную характеристику маленькую сигнала путем нажатия на Linearize circuit
гиперссылка в аннотации модели. Чтобы просмотреть скрипт MATLAB, который генерирует частотную характеристику, кликните по следующей гиперссылке в той аннотации, see code
. Эта документация обеспечивает справочную информацию и альтернативные способы линеаризации на основе программного обеспечения, которое вы имеете.
В общем случае, чтобы получить нетривиальную линеаризовавшую модель ввода - вывода и сгенерировать частотную характеристику, необходимо задать вводы и выводы уровня модели. Модель Nonlinear Bipolar Transistor удовлетворяет это требование двумя способами, в зависимости от того, как вы линеаризуете:
Simulink® требует верхней части - или порты ввода и вывода уровня модели для линеаризации с linmod
. Модель Nonlinear Bipolar Transistor имеет такие порты, отметил u
и y
.
Программное обеспечение Simulink Control Design™ требует, чтобы вы задали сигнальные линии ввода и вывода с точками линеаризации. Заданные линии должны быть линиями Сигнала Simulink, не линиями физического соединения Simscape™. Модели Nonlinear Bipolar Transistor задали такие точки линеаризации. Для получения дополнительной информации об использовании программного обеспечения Simulink Control Design для обрезки и линеаризации, см. документацию для того продукта.
Откройте блок Solver Configuration и смотрите, что флажок Start simulation from steady state устанавливается. Затем откройте осциллограф Напряжения Загрузки и запустите симуляцию, чтобы видеть поведение принципиальной схемы. Транзисторные напряжения начальной буквы емкости перехода собираются быть сопоставимыми с условиями смещения, заданными резисторами. Выход является устойчивой синусоидой с нулевым средним значением, его амплитуда, усиленная схемой смещения и транзистором.
Чтобы видеть, что схема ослабляется от неустойчивого начального состояния в блоке Solver Configuration, снимают флажок Start simulation from steady state и нажимают OK. С открытым осциллографом Напряжения Загрузки симулируйте снова. В этом случае выходное напряжение запускается в нуле, потому что транзисторные емкости перехода запускаются с нулевого заряда.
Можно получить более всестороннее понимание поведения схемы и как оно приближается к устойчивому состоянию долговременной переходной симуляцией. Увеличьте время симуляции до 1 с и повторно выполните симуляцию. Схема начинает со своего начального неустойчивого состояния и транзисторных подходов напряжения коллектора и в конечном счете приспосабливается к устойчивому синусоидальному колебанию.
Откройте блок Solver Configuration, установите флажок Start simulation from steady state (как это было, когда вы сначала открыли модель), и нажмите OK. Возвратите время симуляции к.01 с и повторно выполните симуляцию.
linmod
ФункцияВ этом примере, вас:
Используйте Simscape установившийся решатель, чтобы найти рабочую точку
Линеаризуйте модель с помощью linmod
Simulink функция
Сгенерируйте Диаграмму Боде с помощью серии команд MATLAB
Откройте блок Solver Configuration и убедитесь, что флажок Start simulation from steady state устанавливается. Когда вы симулируете модель с Simscape, установившийся решатель включил, схема инициализируется в состоянии, заданном транзисторными резисторами смещения. Это установившееся решение является рабочей точкой, подходящей для линеаризации.
Также убедитесь, что флажок Use local solver снимается. Линеаризация модели с локальным включенным решателем не поддержана.
Чтобы линеаризовать модель, введите следующее в Окне Команды MATLAB:
[a,b,c,d]=linmod('ssc_bipolar_nonlinear');
Можно альтернативно вызвать linmod
функция с одним выходным аргументом, в этом случае это генерирует структуру с состояниями, входными параметрами, и выходными параметрами, а также моделью линейного независимого от времени (LTI).
Вектор состояния модели Nonlinear Bipolar Transistor содержит 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 Нелинейного окна модели Биполярного транзистора, на вкладке Apps, под Control Systems, нажимают Model Linearizer.
В окне Linear Analysis Tool, на вкладке Linear Analysis, нажимают кнопку графика Bode.
Для получения дополнительной информации об использовании программного обеспечения Simulink Control Design для обрезки и линеаризации, см. документацию Simulink Control Design.
Чтобы работать через этот раздел, у вас должна быть лицензия Control System Toolbox™.
Можно использовать встроенную поддержку анализа и графического вывода программного обеспечения Control System Toolbox анализировать и сравнить Диаграммы Боде различных устойчивых состояний.
Во-первых, используйте linmod
Simulink функция, чтобы получить модель линейного независимого от времени (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. Откройте осциллограф Напряжения Загрузки и симулируйте модель. Напряжение коллектора теперь больше не усиливается относительно источника переменного тока на 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.