Models of transistors with thermal parameters

It would be nice to have models of transistors with thermal parameters.
This would allow more plausible modeling of thermal distortion in audio amplifiers. This is especially true for bipolar transistors. What I mean is that the transistor parameters depend on the chip temperature, not directly tied to the global circuit temperature. Chip temperature depends on power and pre-history.
Many audio amplifier designers dream of such a model.
And the availability of such models will attract a whole army of audiophile designers to Qspice.


Do you know of any existing models that incorporate this information?

I think the biggest trouble you will have is a lack of available information from the manufacturers - I don’t see a lot of models with temperature variation (but maybe I’m just not in the right specialization).

You could write a model in C++ pretty easily that tracks the current transistor temperature, starting from the system temp (or some other user-entered initial condition), and increases/decreases based on the device’s thermal resistance value and the power consumed by the device. I expect the hard part would be getting a model that includes accurate data for the different parameters that vary over temperature.

The path there would be to use NXP’s MEXTRAN device equations; e.g., level 504; which include self heating. I do think that thermals impact the THD of those ppm THD designs one finds in some popular DIY culture.

If someone makes models for common bipolar transistors, I’ll include MEXTRAN 504.


Hi, I am interested in making MEXTRAM models for common transistors. Here is one I’ve made already for the KSC1845:

.model KSC1845F_km npn level=504 is=1.075431e-013 bf=362.1
+ bri=1.3565 vef=267 ver=20.6691 ik=0.25 ibf=1e-012 ibr=1e-012 mlf=2 rbv=144.908
+ rbc=12.092 re=1.5 rcc=1 rcv=150 scrcv=225 ihc=1.5m axi=.1 cje=7p
+ cjc=4.525739e-012 pe=0.36 pc=0.3659045 vde=0.6 vdc=0.5 taue=250p taub=2.1e-011 af=1 kf=0 vgb=1.1809
+ vgc=1.1809 vgs=1.1809 vgj=1.1809 exavl=0 wavl=1k Xcje=0.25 Cbeo=2p

Very cool.

As of today, QSPICE support MEXTRAM 504. It’s the current minor revision level, 12. It should be able to properly run that model without the collector current going to zero:


Additionally, self heating is supported. Just make model parameters RTH and CTH positive definite:


If no self heating node is specified, it will make one called Q1.DT. Otherwise you can make a five terminal transistor and connect a thermal network the temperature node.


.plot Q1.DT - error !!!

1 Like


It works fine!
Just add “+Rth=100 Cth=100n” in the “.model” line.


Thank you. That’s what I was doing - adding those two parameters on another line. And then they disappeared. It’s all my inexperience with using Qspice. I apologize.

Thank you so much. The collector current went to zero in my image because those are curves from a real KSC1845 loaded into LTspice using B-sources and the table() function. I matched them with the model. Is there an easier way to import device characteristics in Qspice?

You can overlay Comma Separated Value(.CSV) files. For the format of .CSV file, export a dataset to a .CSV file and inspect it with at text editor.