DIYstompboxes.com
DIY Stompboxes => Building your own stompbox => Topic started by: brett on September 07, 2009, 12:54:53 AM

Hi
Has anybody estaimated SPICE parameters for common Ge PNP devices, such as the AC128 and NKT275 ?
thanks

There are a couple of germanium transistor models floating around on the internet. I've tried one or two and they just don't work like real germanium transistors. The forward voltages on the baseemitter and basecollector junctions are way too high and the transistors won't work in many circuits. That being said, here's a thread on an audio forum where someone claims to have found one: http://www.diyaudio.com/forums/showthread.php?threadid=117257

I saw that one too, and it's good to see someone who knows their smoke pointed out the errors right away.
I found an AC128 model from a college paper on the Fuzz Face:
.model AC128 PNP(Bf=70 Vje=0.2 Is=1.41f Xti=3 Eg=1.11
+ Ne=1.5 Ise=0 Ikf=80m Xtb=1.5 Br=4.977 Nc=2
+ Isc=0 Ikr=0 Rc=2.5 Cjc=9.728p Mjc=0.5776
+ Vjc=0.2 Fc=0.5 Cje=8.063p Mje=0.3677 Tr=33.42n
+ Tf=179.3p Itf=0.4 Vtf=4 Xtf=6 Rb=10)
Can anybody verify this one?
The gain is more or less controlled by the 'Bf' parameter.
I also found a 2N344 model:
.model 2N344 PNP(Is=1e10 bf=11 Vaf=15 Cje=5p Cjc=2.5p Tf=3n
+ Eg=.67 Rb=100 Re=10)
If you're good with the math and can find a decent datasheet, maybe try rolling your own:
http://www.analogservices.com/excel.htm

If you're good with the math and can find a decent datasheet, maybe try rolling your own:
http://www.analogservices.com/excel.htm
I haven't used that before but there are two problems you might run up against. First, that might be geared towards silicon transistors and it might be bad for germanium. Second, it's difficult to find good values for germanium devices because of their huge variability.
I'll check out that model and see what I get.

Hi
thanks for the replies. I thought I hadn't searched the internet sufficiently, but it really does seem that these data are hard to get.
it's difficult to find good values for germanium devices because of their huge variability
To overcome this, I was thinking of building a dozen different models (low/mid/high hFE x mid/high BC capacitance x low/high leakage ??). I am interested in "covering" the classic AC, OC and NKT devices (variable hFE, hugely variable leakage), GT (Russian) devices (consistent hFE, medium to low leakage), and 2SC (Japanese) devices (consistent hFE, low leakage).
.model AC128 PNP(Bf=70 Vje=0.2 Is=1.41f Xti=3 Eg=1.11
+ Ne=1.5 Ise=0 Ikf=80m Xtb=1.5 Br=4.977 Nc=2
+ Isc=0 Ikr=0 Rc=2.5 Cjc=9.728p Mjc=0.5776
+ Vjc=0.2 Fc=0.5 Cje=8.063p Mje=0.3677 Tr=33.42n
+ Tf=179.3p Itf=0.4 Vtf=4 Xtf=6 Rb=10)
This is a great start for me. The parameters that I feel are a bit dodgy include Br (reverse hFE=4.977), which my experience tells me is often as much as half of the forward hFE (Bf=70). So I'd nudge Br up to at least 10 (maybe 20 or 30 ?). Cjc (BC capacitance) seems low at 9.728 pF (and why are there 3 decimal places doing there on a parameter that probably varies by several pF). Would 50pF be more in the ballpark? (Gus once told us that early Ge audio transistors had high capacitance and low Ft) Also, Vje and Vjc (the forward voltage drop on the junctions) are a bit too low at 0.2 V. We usually assume that the voltage drop for Germanium is 0.3 V. Because this can be an important parameter, this might be one where some accuracy would help. I'd use at least 0.26 V and less than 0.3 V (so 0.28 V seems logical).
I'm not familiar with several parameters, so it will take me a while to research them and get back with some models. In the meantime, any help or feedback will be greatly appreciated.
cheers

Hi
I've been doing some research and simulations.
I've got a basic PNP Germanium device model here. Although I've called it AC128, it is generic.
Feel free to "roll your own".
.model AC128hFE50 PNP(Bf=50 Br=5
+ ; Forward and reverse Beta. Set as appropriate.
+ ; 40 to 80 is typical of many early audio devices.
+ ; 80 to 200 for later high quality devices. (esp Japanese and Soviet devices)
+ Is=1f
+ ; forward saturation current
+ Ikf=20m
+ ; Beta falls off above 20 mA (Ikf=current at upper "knee" in Beta)
+ ; assumes a low current early Germanium device such as an AC128
+ ; set to higher value for higher current devices
+ Xti=3.5 Xtb=2.0
+ ; temperature coefficients for effects on Is (Xti) and Beta (Xtb).
+ ; Both coefficients are set larger than for Si devices (where typically Xti=3 and Xtb=1.5)
+ ; !these are guesses
+ VAF=60
+ ; Ge devices have low early voltage (VAF=60 V rather than 100 or 1000 V)
+ ; data for VAF from Ic vs VBE curves for an AC128, taking average of Ib=200uA (VAF=40) and Ib=400uA (VAF=80)
+ Nc=3 Ne=2.5 Br=5
+ ; increased Ne and Nc (ideal diodes have N=1, very poor ones have N >>1)
+ ; Nc is usually larger than Ne
+ ; !these are guesses
+ Isc=1u
+ ; Leakage current (Isc) is much higher for Ge than for Si.
+ ; This value gives 60uA at 9V in the circuit decribes in "Technology of the Fuzzface" at geofex.com
+ ; Adjust according to the particular device (e.g. 5u for a leaky AC128s, OCs, 0.02u for quality Soviet GTs, Japanese 2SBs)
+ ; Si leakage for cheap small signal devices may be ise=20p isc=10p (data for a 2N2222A)
+ Eg=1.11 Vjc=0.28 Vje=0.28
+ ; Energy gap for temperature effect on IS is 1.11 (check if wanting to simulate temperature effects)
+ ; and junction voltage in Germanium devices is approx 0.28 V. Same as forward diode voltage.
+ Rc=10 Rb=50 Re=1
+ ; Collector, base and emitter resistances are all higher than for Si (typically 2, 20 and 0.1, respectively)
+ Cjc=50p Cje=10p
+ ; high junction capacitances due to basic manufacturing processes. Much lower for RF devices.
+ ; educated guesses
+ Mjc=0.4 Mje=0.4
+ ; same expontential factors as for Si devices
+ ; educated guess that they are similar. Might be wrong.
+ Tf=1u Tr=20u Itf=0.4 Vtf=4 Xtf=6)
+ ; Tf is the forward transit time (seconds).
+ ; It is set for Ft=1 MHz. Tr= approx 20xTf (Tf limits high frequency gain at high collector current)
+ ; Junction capacitances (Cjc and Cje, together with Mjc and Mje) limit high frequency gain at low collector current
+ ; These data are educated guesses
It seems to work ok in some very basic simulations where I've tested it for leakage, and gain at high and low bias currents. For "normal" conditions (e.g. simulating RG's transistor tester), theis model gives 60 uA of leakage and gain in the high 40s. I haven't done any frequency/bandwidth testing yet. Some data that I've seen suggests that some Ge devices have low gain at high frequencies, especially at low Ic (e.g. one graph of an AC128 with Ft at 1 MHz around Ic=10 mA, but Ft is about 100 kHz ( :icon_eek: ) at 0.1 mA).
However, there's a strange behaviour in the model above that I can't work out: when I use very low bias currents (like for Q1 of the Fuzzface), the gain can be greater than Bf (which I thought was the maximum Beta ??). My test simulation is simple: 9.0 V DC supply (0=gnd) , a 100k collector resistor, a 2.2M bias resistor (collector to base), and emitter to ground. The AC output is 120 mV pp for a 1 mV pp input (gain of 120, when Bf=50). Huh? How can the gain be higher than Bf?
Any feedback is much appreciated.

> I'm not familiar with several parameters
http://www.diodes.com/zetex/?ztx=3.0/310#bipolar
IS and NF control Icbo and the value of Ic at medium bias levels.
ISE and NE control the fall in hFE that occurs at low Ic.
BF controls peak forward hFE and XTB controls how it varies with temperature.
BR controls peak reverse hFE i.e. collector and emitter reversed.
IKF and NK control the current and the rate at which hFE falls at high collector currents.
IKR controls where reverse hFE falls at high emitter currents.
ISC and NC controls the fall of reverse hFE at low currents.
RC, RB and RE add series resistance to these device terminals.
VAF controls the variation of collector current with voltage when the transistor is operated in its linear region.
VAR is the reverse version of VAF.
CJC, VJC and MJC control Ccb and how it varies with Vcb.
CJE, VJE and MJE control Cbe Ccb and how it varies with Veb.
TF controls Ft and switching speeds.
TR controls switching storage times.
RCO, GAMMA, QUASIMOD control the quasisaturation region.
Reverse beta is mostly meaningless, even in highly overdriven amplifiers. (It comes up in choppers, also in one of R.G.'s clever power switches.)
> Ge devices have low early voltage
Some later ones were quite high; OTOH going way back VAF could be close to 20V. 60V is probably a reasonable ballpark.
> Leakage current (Isc) is much higher for Ge than for Si.
IS is perhaps the key to Ge leakiness. "saturation current" is actually the current which flows in a junction with no voltage pushing it, just thermal agitation. I'd have to root for clues, but I suspect 1 femto Amp is orders of magnitude too low for Ge.
RB is often rubberstamped as 10. I bet for older Ge it may be closer to 100200 and this may be part of the higher voltage actual versus physical theory.
> The AC output is 120 mV pp for a 1 mV pp input (gain of 120, when Bf=50). Huh?
Current gain is _NOT_ voltage gain ! ! !
For a zero impedance (simple simulated) driver, for voltage gain you have 100K/rE, where rE is the internal emitter impedance. For Si this is 27 ohms at 1mA; IIRC this has a factor of 2 which Ge lacks(?). You are working near 0.05mA, Si rE would be 540 ohms, voltage gain would be 185.
This is true for ANY hFE. BUT source impedance must be zero. If the hFE is 100, input impedance is like 54K which may work with gitar. If hFE were unity, the input impedance is 540 ohms, and no guitar will drive it well (but a simulator will, and not even complain).

Sorry to bump this older topic, but I tried the AC128 SPICE model from "brett" (2 posts up), using 5Spice, but in a Fuzz Face simulation it does not bias correctly:
Collector of Q1 is around 8.3V and the Collector of Q2 is around 0V in the transient analysis.
Does anyone have a correct AC128 SPICE model that actually works in a Fuzz Face simulation?
Or has someone verified that the model is correct, which means I am doing something wrong?
Thanks for your input!

I've found one that seems to works fine. I'm on my phone now but I can post it soon.

http://www.diyaudio.com/forums/solidstate/117257ac128pnpgermaniumtransistorspicemoderare6.html#post2428881

Thanks for that link.
I've also found and tried that AC128 model, but still my Fuzz Face 5Spice model does not bias correctly at all in 5Spice.
Did anyone try that AC128 model in a Fuzz Face simulation and made it work?
I did found the following Fuzz Face LTSpice model that I'm currently trying in LTSpice:
http://www.electricchili.com/pedaldevelopment/ltspicefuzzfacemodel/
http://www.electricchili.com/wpcontent/uploads/2010/06/FuzzFace.asc
It seems to work at first sight but:
 the transistor model is a 2N5771 which is nothing like a AC128 transistor.
 the base of Q1 sets at 0,6V DC which is typical for silicium but not for a germanium transistor.
 even with the Gain set low, it distorts the input signal a lot.
So it does not really look good to me. :(

I have just substituted that "diyaudio" AC128 SPICE model for the 2N5571, into the LTSpice Fuzz Face from "electricchili" and it biases correctly now: :)
Base Q1 = 0.2V DC.
Base Q2, Collector Q1 = 0.74V DC.
Collector Q2 = 4.6V DC.
Emitter Q2 = 0.51V DC.
Seems that 5Spice was just not up to it, or I made a mistake in my Fuzz Face model.
LTSpice looks like a good SPICE simulation program and I wanted to start using it for a while anyway, so it's ok to leave 5Spice behind...
But the signal still completely distorts even with the "Gain" at minimum and the input sin signal at 10mV amplitude, which is a realistic average guitar signal strength imo.
With an input signal set at 2mV amplitude, the visible distortion is gone, so it seems to work on smaller signals than I thought.
Around 3mV input amplitude, at minimum Gain, Q1 collector starts to distort only the bottom side of the signal.
With max Gain, at 2mV input amplitude, Q1 Collector distorts only the bottom side of the signal but a lot more. Q2 Collector now shows both signal sides distorted.
At max Gain, Q2 Collector starts distorting second signal side at around 1.3mV input signal amplitude.
Well, it seems to be working so I'll try this Fuzz Face LTSpice model with the "diyaudio" AC128 SPICE model some more.
@CynicalMan: Thanks for your help!
And thanks to the people that created LTSpice! :)

(Modified since first post and replies ... )
I have been experimenting with a Germanium Transistor Spice Model:
SPICE Model:
.MODEL GEPNP PNP(IS=1U BF=100 VAF=25 CJC=10P CJE=5P VJC=0.2 VJE=0.2 TF=10N TR=100N EG=0.67)
PSPICE Model (requires the + sign for each line break):
.MODEL GEPNP PNP(IS=1U BF=100 VAF=25
+ CJC=10P CJE=5P VJC=0.2 VJE=0.2
+ TF=10N TR=100N EG=0.67)
.END
Simple Formula for TF and TR Transit Time Calculation: 1/(2*Pi*fT)
where: Pi = approximately 3.14 and fT = High Frequency Limit
This is a very basic SPICE Model Filename: GEPNP.MOD
It can be renamed to whatever Transistor desired.
Some most commonly used are: AC128, NKT275, OC71, ASX12D ...
NOTE: eCAD SPICE Simulation 'Run' of Fuzz Face or similar Circuitry with Germanium Transistors provides more stable results with a 1000 Meg Ohm resistor from Collector to Base if there is no actual biasing resistance employed. The resistor is not required for the actual physical build.
I utilize TINA "The Complete Electronics Lab" (Versions 10 and 11 BasicPlus) Commercial Software.

> Vbe of approximately 300350mV (Typical of a Small Signal Germanium Transistor).
Most Ge, working at smallaudio current, show Vbe nearer 150mV, sometimes less.
*AC127 PNP Germanium Transistor Spice Model
*alternate: NF=0.5 Is=10EE8
.MODEL AC127_XP PNP (
IS=10u
NF=1
NR=1
ISE=0.5u
ISC=1u
NC=1.5
NE=1.5
BF=90
BR=5
VAF=40
VAR=40
RB=100
Rc=10
EG=0.67
CJC=10p
CJE=8p
VJC=0.25
VJE=0.25 )
*$
This shows Vbe of 80mV @ 0.2mA, 180mV @ 8mA, which is inline with what I remember of the bad old days.
This model shows 0.117mA of current with 3V Vce and base "open" (1000Meg dummy resistor to emitter to foil SPICE complaint about unused pins), which is broadly reasonable for small vintage Ge devices. I do not know what parameter(s) make this happen.
The "unbiased" emitter current rises 10X for every 20 deg C of temperature rise. I am not sure this is right, but at least a tempsweep will tell you if things go blooey much too easily.
This IS is significantly different from yours and goes to the root of Vbe. The other different and extra parameters, maybe not so much.
Obviously PSpice syntax is different from TINA.
We do now have a section for SPICE topics but it is well hidden.
(https://s8.postimg.cc/jtuhdbclt/Ge_SPICEmodel_AC127.gif) (https://postimg.cc/image/jtuhdbclt/)

> a 1 Meg Ohm resistor from Collector to Base if there is no actual biasing resistance employed.
No base feed resistor is just a Bad Idea. Yet it was often done, and a robust model should do something reasonable.
Here's the model above with 'open' base, and Rc selected(!) for about midway bias at some moderate temperature. At 2021 deg C, yes it does biasup just about center! But for this choice of values (parameters and resistor), by 25 deg C the maximum output is way down, while past 27 deg C it is just slammed and making halfwaves at best. Past that it only fartsout the loud strums. The coldside looks better; at 10C (50F) it is doing better than my fingers would. So we might select a smaller Rc to favor warmer temperatures. But clearly it can't (with bad bias) do New Years outside in NYC *and* 4 July in Arizona sunlight.
Plenty of ways to stabilize transistors, even crummy Ge parts. You come then to such as the BBC OBC preamps which had lovely stable clean sound in the worst weather, frostbite or heatstroke. But they were too elaborate for mere stompboxes.
(https://s8.postimg.cc/aft56wqtt/Ge_SPICEmodelleakbias.gif) (https://postimg.cc/image/aft56wqtt/)

Hello all,
Last year, I dedicated some of my spare time to a long pending project: the development of reliable SPICE models for several once widelyused germanium bipolar transistors. Besides my personal interest in this ‘historical’ subject, this work was also inspired by the obvious demand for such simulation models, for example, in this forum as well as in several other places:
– http://www.guitarscience.net/index.htm (http://www.guitarscience.net/index.htm)
– https://www.electrosmash.com/fuzzface (https://www.electrosmash.com/fuzzface)
– https://www.diyaudio.com/forums/solidstate/117257ac128pnpgermaniumtransistorspicemodelrare.html (https://www.diyaudio.com/forums/solidstate/117257ac128pnpgermaniumtransistorspicemodelrare.html)
In fact, it was Jarmo Lähdevaara's fascinating book The Science of Electric Guitars and Guitar Electronics (first link above) which had brought this topic back onto my agenda…
Initially, I had tried to follow a more formal strategy similar to that described in Jarmo's book, with some, yet somewhat limited success. Therefore, I finally gave up these theoretical attempts and decided to go back to the roots, so to say, of this whole problem and perform a global optimization on all relevant model parameters using the entire datasheets as references for the respective objective functions.
For this, I took the Valvo and Mullard datasheets, digitized all relevant curves, added a couple of explicitly given characteristics, and put everything into a giant optimization. I used the squared relative deviations from all characteristics (one value per characteristic) plus the mean squared deviations from all digitized curves (one accumulated value per curve) as error function elements—and then let the MacSpice optimizer do most of the job.
I have been using MacSpice for years for such demanding research purposes because this freeware tool combines a higherlevel programming language (the MacSpice frontend) with an enhanced, highly reliable SPICE 3f5 circuit simulator, plus numerous useful builtin functions (see http://www.macspice.com (http://www.macspice.com)). Without such a powerful research tool, this whole project would have been impossible, or at least much harder, to do for me. One minor caveat particularly for novice users, however, might be that programming skills are indispensable for using MacSpice in this way most effectively.
Owing to the complexity of the above objective functions, roughly 300 lines of code were needed merely for the function evaluations, plus another 600–800 lines for controlling the corresponding optimizations. For the AC128, for example, each evaluation involved
– 53 OP analyses (2×25 for operatingpoint iterations)
– 15 AC sweeps for various frequency characteristics
– 8 DC sweeps for static curve characteristics
– 1 DC TEMP sweep for the leakagecurrent characteristics
and required roughly one second of CPU time on my older Mac—for each one of the hundreds of thousands function calls needed to reach my final results!
Everyone who has ever attempted such a complex, nonlinear optimization of a function of so many variables might have observed that such optimizations often tend to converge merely to some local optima instead of the ‘true’ global optimum. To overcome this as far as possible, I picked ten randomized starting points in the vicinity of my initial guess, performed the corresponding ten independent optimizations, and then took the averaged results from these optimizations as the new starting point for the next round. This basic procedure was repeated until no further (significant) improvement could be obtained.
A few weeks (!) of CPU time later, I finally had really good SPICE models for seven Valvo/Mullard germanium transistors at hand: for the AC125, AC126, AC127, AC128, AC132, OC44, and OC45. The two OC models were mainly developed for the simulation of one of the first highquality RIAA phono preamplifiers, published in 1965 by J. Dinsdale (Wireless World, January 1965); see also http://www.douglasself.com/ampins/discrete/2QRIAA/2QRIAA.htm (http://www.douglasself.com/ampins/discrete/2QRIAA/2QRIAA.htm).
And here are my finally obtained BJT models for the above five AC transistors:
*
* AC125 Spice model
* Germanium PNP transistor in TO1 metal case
* Copyright (c) 2020 by Gert Willmann
*
.model AC125 pnp (
+ is=25.1u
+ bf=122 nf=0.957 vaf=30 ikf=0.42 ise=0.3u ne=1.78
+ br=12.2 nr=0.957 var=30 ikr=0.42 isc=3.03u nc=2.07
+ rc=1.58 re=0.327 rb=93.4 rbm=13.5 irb=0.153m
+ cje=130p vje=0.3 mje=0.5
+ cjc=173p vjc=0.3 mjc=0.5
+ tf=86.2n tr=862n
+ eg=0.67 xti=8.27 xtb=1.5 fc=0.5
+ kf=4.25f af=1
+ tnom=25 )
*
* AC126 Spice model
* Germanium PNP transistor in TO1 metal case
* Copyright (c) 2020 by Gert Willmann
*
.model AC126 pnp (
+ is=25.7u
+ bf=178 nf=0.949 vaf=26 ikf=0.229 ise=0.3u ne=1.78
+ br=17.8 nr=0.949 var=26 ikr=0.229 isc=3.51u nc=1.8
+ rc=1.34 re=0.382 rb=91.2 rbm=19.1 irb=0.174m
+ cje=130p vje=0.3 mje=0.5
+ cjc=173p vjc=0.3 mjc=0.5
+ tf=62.8n tr=628n
+ eg=0.67 xti=9.93 xtb=1.5 fc=0.5
+ kf=4.9f af=1
+ tnom=25 )
*
* AC127/AC127K Spice model
* Germanium NPN transistor in TO1 metal case
* Copyright (c) 2020 by Gert Willmann
*
.model AC127 npn (
+ is=10.4u
+ bf=165 nf=0.875 vaf=50 ikf=0.383 ise=0.252u ne=1.22
+ br=16.5 nr=0.875 var=50 ikr=0.383 isc=5.58u nc=1.79
+ rc=0.94 re=0.271 rb=70.4 rbm=14.4 irb=1.33m
+ cje=220p vje=0.3 mje=0.5
+ cjc=294p vjc=0.3 mjc=0.5
+ tf=65.5n tr=655n
+ eg=0.67 xti=13.9 xtb=1.5 fc=0.5
+ kf=3.5f af=1
+ tnom=25 )
*
* AC128/AC128K Spice model
* Germanium PNP transistor in TO1 metal case
* Copyright (c) 2020 by Gert Willmann
*
.model AC128 pnp (
+ is=29.4u
+ bf=146 nf=1.095 vaf=39 ikf=5.7 ise=0.356u ne=1.29
+ br=14.6 nr=1.095 var=39 ikr=5.7 isc=1.38u nc=2.8
+ rc=0.299 re=0.061 rb=25.1 rbm=2.67 irb=2.37m
+ cje=315p vje=0.3 mje=0.5
+ cjc=420p vjc=0.3 mjc=0.5
+ tf=108n tr=1080n
+ eg=0.67 xti=5.08 xtb=1.5 fc=0.5
+ kf=5.7f af=1
+ tnom=25 )
*
* AC132 Spice model
* Germanium PNP transistor in TO1 metal case
* Copyright (c) 2020 by Gert Willmann
*
.model AC132 pnp (
+ is=34.9u
+ bf=154 nf=1.036 vaf=30 ikf=0.171 ise=0.595u ne=2.48
+ br=15.4 nr=1.036 var=30 ikr=0.171 isc=2.5u nc=1.74
+ rc=0.546 re=0.311 rb=90.8 rbm=10.9 irb=0.649m
+ cje=126p vje=0.3 mje=0.5
+ cjc=168p vjc=0.3 mjc=0.5
+ tf=72.7n tr=727n
+ eg=0.67 xti=7.26 xtb=1.5 fc=0.5
+ kf=4.7f af=1
+ tnom=25 )
The two OC models are a little bit simpler:
*
* OC44 Spice model
* Germanium PNP transistor in allglass case
* Copyright (c) 2020 by Gert Willmann
*
.model OC44 pnp (
+ is=2.54u
+ bf=111 nf=0.977 vaf=11.5 ise=56.9n ne=1.23
+ br=11.1 nr=0.977 var=11.5 isc=194n nc=2.21
+ rc=1.45 re=0.504 rb=109
+ cje=28.2p vje=0.3 mje=0.5
+ cjc=47p vjc=0.3 mjc=0.5
+ tf=8.69n tr=86.9n
+ eg=0.67 xti=8.26 xtb=1.5 fc=0.5
+ kf=27f af=1
+ tnom=25 )
*
* OC45 Spice model
* Germanium PNP transistor in allglass case
* Copyright (c) 2020 by Gert Willmann
*
.model OC45 pnp (
+ is=1.23u
+ bf=76 nf=1.066 vaf=21 ise=62.6n ne=1.3
+ br=7.6 nr=1.066 var=21 isc=268n nc=1.33
+ rc=0.246 re=1.19 rb=75.8
+ cje=28.3p vje=0.3 mje=0.5
+ cjc=47.2p vjc=0.3 mjc=0.5
+ tf=25.7n tr=257n
+ eg=0.67 xti=7.07 xtb=1.5 fc=0.5
+ kf=15.5f af=1
+ tnom=25 )
Due to the lack of available data for the reverse mode of operation (which is of little practical importance anyway) and several other characteristics, I used the following simplifying, yet not quite unrealistic assumptions:
BR = BF/10 (from measurements made by Benjamin Holmes)
NR = NF (a reasonable assumption)
VAR = VAF (VAR may even be somewhat higher, according to Benjamin Holmes)
IKR = IKF (an estimate which is better than the default value infinity)
CJE = 0.75*CJC (for the AC models, borrowed from ASY76/77/80 datasheets)
CJE = 0.60*CJC (for the OC models, borrowed from ASY26/27 datasheets)
VJE = VJC = 0.3 (0.25–0.35 are typical values for lowpower germanium BJTs)
MJE = MJC = 0.5 (typical value for abrupt, alloy junctions)
TR = 10*TF (a reasonable firstorder estimate)
EG = 0.67 (the default value for germanium)
XTB = 1.5 (extracted from some other germanium BJT datasheets)
FC = 0.5 (SPICE default)
AF = 1 (SPICE default)
Note that ‘TNOM’, the parameter measurement temperature, is 25°C according to the datasheets instead of the SPICE default of 27°C; this can make a nonnegligible difference for such leaky germanium transistors. Unfortunately, as far as I know, these genuine SPICE models may not be correctly understood by some other simulators. For instance, ‘TNOM’ is called ‘T_MEASURED’ in PSpice and ‘TREF’ in HSpice.
Three example plots for the above AC128 model (emitter current vs. baseemitter voltage, collectorbase leakage current vs. temperature) are attached just for your information. Note, however, that any verification of the above models requires that the respective operating conditions are reproduced precisely as specified in the datasheets. With this, all seven models ought to reflect the relevant datasheet characteristics very well—and much better than any other models I've found elsewhere!
Finally, as regards the relatively high baseemitter and basecollector depletion capacitances (model parameters ‘CJE’ and ‘CJC’) particularly of the AC transistors, it is important to note that these are highly nonlinear, voltagedependent capacitances which can have a significant impact on the transient behavior at higher audio frequencies. This may be of particular interest in connection with effect devices based on such transistors.
(https://i.postimg.cc/gxBTn5DG/AC128IevsUbe1.png) (https://postimg.cc/gxBTn5DG)
(https://i.postimg.cc/GHMCxXQ5/AC128IevsUbe2.png) (https://postimg.cc/GHMCxXQ5)
(https://i.postimg.cc/0Mmkt7QJ/AC128IcbovsTemp.png) (https://postimg.cc/0Mmkt7QJ)

Last year, I dedicated some of my spare time to a long pending project: the development of reliable SPICE models for several once widelyused germanium bipolar transistors. Besides my personal interest in this ‘historical’ subject, this work was also inspired by the obvious demand for such simulation models, for example, in this forum as well as in several other places:
You have a done a really great job. The best effort I've seen coming up with a good set of models. I liked your whole approach. It should produce some very reasonable results. Good models for germanium transistors is something which has been missing for years. So your efforts are much appreciated.
I put a lot of stuff through optimizers so I get what you have done here. For some problems I'll use 500 or more random start points with large deviations then take that result and do another 500 with more smaller deviations. It does make a difference. Totally impractical unless you are running native code like compiled C.
The only thing I could add is to have high and low leakage versions of the models. The leakage can vary widely even for the same part number. It's something that needs to be set more than extracted from the datasheet. In the past I created some ge models like this. What isn't clear is the best way to do it. Changing the IS is a simple way but it affects both junctions. It also changes the VBE which may be valid to some degree but I always thought a separate leakage current, outside of the model, might represent surface leakage better. It's something which is hard to find physically realistic models for.

Yes; a stunningly useful contribution.
.....
Due to the lack of available data for the reverse mode of operation (which is of little practical importance anyway)
BR = BF/10 (from measurements made by Benjamin Holmes)....
FWIW: in many of the oldest transistors, making a junction was so awkward, that both junctions were essentially the same. A clue is that the emitter breakdown voltage is sameas the collector. Later they had ways to process differently, and ended up near 7V emitter breakdown for bets gain. I would assume that in a Symmetrical device BR==BF within process tolerance.
Some of these typenumbers ran for manymany years and may have been made both ways.
And as you say it rarely matters. We used this fact in switches and a few stranger things best forgotten.

And as you say it rarely matters. We used this fact in switches and a few stranger things best forgotten.
It's nice to have a model with a reasonable BR. If you run it in reverse at least is behaves half OK. There's plenty of models for common silicon transistor from large manufactures with very dismal reverse modelling. I've seen eyebrow raising weird results from saturating BJTs  terrible!
I can't say I've verified the BR = BF/10 for germaniums but it looks reasonable. I'd be happy to use it mainly because the narrow range of gains for ge devices endsup with a reasonable BR value. Most BR's endup between say 1 and 10.
For silicon's I have seen some correlation between BR and BF but I'm still slightly reluctant to assign a BR which is a scaling of BF. You might be safer just to assign a value of 4.0, at least for collector currents around 100uA to 1mA. A confounding factor is BR can be a fairly strong function of collector current. It would be nice to get a reverse beta measurement for BJT with a gain of 800 to 1000. As weak evidence, take this 2N5088 model from Fairchild (who's models are OK),
NPN (Is=5.911f Xti=3 Eg=1.11 Vaf=62.37 Bf=1.122K Ne=1.394 Ise=5.911f Ikf=14.92m Xtb=1.5 Br=1.271 Nc=2
Isc=0 Ikr=0 Rc=1.61 Cjc=4.017p Mjc=.3174 Vjc=.75 Fc=.5 Cje=4.973p Mje=.4146 Vje=.75 Tr=4.673n Tf=821.7p
Itf=.35 Vtf=4 Xtf=7 Rb=10)
This model has BF=1122 and BR = 1.271
You see BR = 1.2 or so in 2N3904's which have BF's of 120 or so. So the deriving BF from BR by scaling would have a 1:10 error as the scale factor can only be correct for one or the other.

I've got a Fairchild PN4355 (PNP Silicon transistor) in my junk tray. It measured BR = 104 and BR=9.7.
So,
2N5088 spice model BF/BR = 882, BR = 1.3
PN4355 measurement BF/BR = 10.7, BR = 9.7
2N3904 measurement BF/BR = 65, BR = 1.6
The BF/BR ratio varies by a factor of 100 (approx). Whereas assuming a range of BR from 1 to 10 we only vary by a factor 10.
So assigning a value of BR = 4 has a lot less error, which was the point I made earlier.
Not the mention the current dependency. For the 2N3904 the BR drops to the 0.25 to 0.5 region at low currents.
Keep in mind these results are for silicon transistors.
In the past I have seen correlation between BF and BR. Where using a ratio of BF vs BR might be useful (not verified) is when you have the same transistor part number with different forward gains (BF). As shown above the correlation doesn't work across different parts. Where it might be possible to extend the correlation to different parts is if the transistors are made under the same process. If you look at the older National semiconductor and Fairchild documents and datasheets you will see different transistors part numbers are made under the same process.

..............these results are for silicon transistors...............
Not that it is is material related, but "all" Silicon will have refined junction processing, heavier on Collector.
Same for late Germanium.
Back in the beginning there were several crude ways to make transistors, and some of them made Collectors and Emitters the same. One is to pull a crystal from the melt while alternating N and P dopants so you get a zebrastripe sausage. Then saw between alternate N stripes so you get PNP slices. Another is to put two P pills on a slice of N and bake the whole thing until it almost diffusesthrough. Such techniques give no or some control of the two junctions.
And since the "reverse" properties were rarely interesting, they were not specified (don't promise more than the customer demands). And as the processes improved a given device may have different actual parameters in different eras.
I think if it matters to your designs you need to measure the devices you can get and work them into *your* copy of the model. BR is trivial. In a 9V world there may be little need to specify a reverse Early voltage but that's not hard.

Same for late Germanium.
I suspect that's the case for the common parts.
The Ben Holmes articles actually give some numbers,
doc 16 (https://www.researchgate.net/profile/Ben_Holmes5/publication/307964653_Physical_model_parameter_optimisation_for_calibrated_emulation_of_the_Dallas_Rangemaster_Treble_Booster_guitar_pedal/links/57d3db6408ae0c0081e56811/PhysicalmodelparameteroptimisationforcalibratedemulationoftheDallasRangemasterTrebleBoosterguitarpedal.pdf?origin=publication_detail)
doc 17 (http://www.dafx17.eca.ed.ac.uk/papers/DAFx17_paper_28.pdf)
Doc Result
16 Extracted/measured OC44: BF = 46 to 175, BR = 2 to 12
Pairing min/max: BF/BR ~ 23 and 14.6
Taking the average BF = 111, BR = 7; BF/BR = 15.8
17 Extracted/measured OC44 BF/BR = 12.6, AC128 BF/BR = 15.6
So a BF/BR of 15 is in the ballpark
A very leaky OC74 on my desk measured BF=43, BR=3.7, BF/BR = 11.6.
And since the "reverse" properties were rarely interesting, they were not specified (don't promise more than the customer demands). And as the processes improved a given device may have different actual parameters in different eras.
I don't recall it ever being published. It might have appeared on one or two obscure datasheets.
I think if it matters to your designs you need to measure the devices you can get and work them into *your* copy of the model. BR is trivial. In a 9V world there may be little need to specify a reverse Early voltage but that's not hard.
That's always the case. For spice models you don't want to be measuring stuff *unless* you are making an effort to match measurements on your desk. It's always nice to have some representative behaviour "out of the box". The biggest practical issue for spice models for germanium is the leakage. If varies a lot and it does affect many circuits.
You have to be careful tinkering the gains of spice models. Sometimes the effective gain in the simulation does not match the gain in the BF parameter. The number in the BF parameter can be much higher. The issue arises because the parameters which set the current dependent gain cause a reduction in the simulated gain compared with the BF number. It's extremely difficult to tinker with those parameters by hand.

I put a lot of stuff through optimizers so I get what you have done here. For some problems I'll use 500 or more random start points with large deviations then take that result and do another 500 with more smaller deviations. It does make a difference.
I have to admit that my description was perhaps a bit too concise; I did not want to overload my post with background information. In fact, my ‘initial guess’ was already the result of numerous manual or partly automated simulations which I had performed to get a clearer picture of where to search for the respective optimum. And of course, I also reduced the random deviations in the course of my successive optimization rounds.
Another point I had found out was that picking only the best solutions from the preceding optimization round for determining the next starting point was usually counterproductive because any such strategy tended to converge to a local optimum instead of the (supposedly) ‘true’ global optimum.
By the way: The MacSpice optimizer uses a refined version of the NelderMead simplex method, which proved to be relatively robust with respect to the specific requirements occurring in the context of electrical and electronic circuits.
The only thing I could add is to have high and low leakage versions of the models.
The biggest practical issue for spice models for germanium is the leakage. It varies a lot and it does affect many circuits.
I've made a few heuristical studies in this direction. For the AC128, the maximum values of the collectorbase leakage current can indeed be found in the Valvo datasheet; minimum values are not specified, though. The specified maximum is about 2.5 times the average leakage current for all temperatures. For other models, a slightly different factor might apply.
Changing IS accordingly, however, is not a particularly good idea as this parameter affects not only the leakage currents of both junctions, but also the 'Ie vs. Ube' characteristics—and this would inevitably violate my entire optimization!
Without going into details of the corresponding Spiceinternal equations, a reasonable firstorder heuristic might be to change only the leakagecurrentrelated parameters ISC (and probably ISE accordingly) and XTI so that the red curve in my third plot is shifted upwards by the above amount. Some manual trials revealed that the following parameter changes would be appropriate for my AC128 model:
ISC := ISC * x
XTI := XTI * ³√x
Here, x=6 turned out to be a good choice. The other models will probably require slightly smaller values, but I haven't verified this explicitly. Note, however, that the third root of x might only be valid under the given circumstances, because the corresponding Spiceinternal equations also contain XTB and 1/NC as exponents in this same context.
Incidentally, the above changes to the AC128 model didn't affect the other AC128 characteristics significantly, so this might even be a useful generalpurpose strategy.
The leakage can vary widely even for the same part number.
This is true, of course, but it's not only the leakage current that can vary widely. For example, the current gain of the AC128 can vary by a factor of two (or even somewhat more) when taking the average value as reference. However, the primary purpose of my Spice models, and of many other Spice models as well, is to reflect the average behavior sufficiently well. Extreme values are better treated in specific simulations.
For this, I'm using Monte Carlo analyses with at least 1000 random samples, plus optionally extremevalue analyses when the number of parameters (i.e., variable component values) is not much greater than n=10. In the latter case, all 2^n feasible combinations of minimum/maximum parameter values are taken into account in separate simulations, and the minimum and maximum of the resulting curves is evaluated. These two extreme curves are then plotted together with the average curve.

I would assume that in a symmetrical device BR==BF within process tolerance.
There were indeed some symmetrical bipolar transistors on the market these days, for example, the AC130 from Valvo; and in this case, BR=BF would indeed be the right choice. I'm not quite a specialist in semiconductor manufacturing technology of the 1960s, but the measurements of relatively small batches of AC128 and OC44 transistors performed by Benjamin Holmes suggest that even these old transistors were quite asymmetrical in this respect; see:
– http://www.dafx17.eca.ed.ac.uk/papers/DAFx17_paper_28.pdf (http://www.dafx17.eca.ed.ac.uk/papers/DAFx17_paper_28.pdf)
On the other hand, owing to their internal construction, these alloyjunction transistors should not be too far from symmetrical devices, theoretically. And because I hesitated to rely on just a few measured samples (at least several hundred samples from different production batches would normally be required for truly reliable results), I decided to go a bit more towards symmetrical devices and to use somewhat smaller values for the BF/BR ratios (10 instead of Benjamin Holmes' measurements of around 15). I considered this as a reasonable compromise between theoretical expectations and practical measurements.
Besides, many online available images of the internals of such germanium transistors clearly show that the baseemitter region is generally smaller than the basecollector region, which in turn substantiates the assumption that these transistors were not quite symmetrical. See, for example:
– https://www.thegearpage.net/board/index.php?threads/xrayviewofgermaniumtransistorsoc44mullardblackglass.935900 (https://www.thegearpage.net/board/index.php?threads/xrayviewofgermaniumtransistorsoc44mullardblackglass.935900)

It's nice to have a model with a reasonable BR. If you run it in reverse at least it behaves half OK. […] I can't say I've verified the BR = BF/10 for germaniums but it looks reasonable.
In my opinion, any BF/BR ratio between, say, 5 and 20 would seem to be a more or less reasonable choice for my models. In fact, I simply decided to use a value around the geometric mean of these two extremes.
According to the respective Spiceinternal equations, however, the various BJT model parameters are interwoven with each other in a rather complex way. Changing the above basic relation would therefore render my entire modelparameter optimization invalid, thus making it necessary to repeat at least the last few optimization rounds to obtain new sets of optimum parameter values—even if the resulting differences ought to be relatively small in the end.
But once more: The reverse mode of operation is of little practical importance for almost all circuits of interest.
Not the mention the current dependency. For the 2N3904 the BR drops to the 0.25 to 0.5 region at low currents.
In Spice, the currentdependency of both the forward and reverse current gain is modeled via the IKF and IKR parameters (forward/reverse highcurrent rolloff corners). Unfortunately, I could do this reliably only for the forward current gain, simply because the datasheets don't contain any information about the reverse mode of operation.

If you want to see how Ge transistors were constructed, there are some closeup pix on my site:
http://www.muzique.com/news/insidegetransistors/
One way to make the connections to the base wafer asymmetrical is to use a larger dopant pellet for the collector than the emitter. (Two to three times as large would be common.)
regards, Jack

Another point I had found out was that picking only the best solutions from the preceding optimization round for determining the next starting point was usually counterproductive because any such strategy tended to converge to a local optimum instead of the (supposedly) ‘true’ global optimum.
Yes, that can be true. You need to use a wide spread on the "first pass" and have many start points then the best from all that is as good as you can expect in terms of not getting stuck on a local minima. The second phase is more about refining the accuracy of the estimate. Some optimums are very shallow and the algorithms will not find the parameters very accurately (due to rounding).
By the way: The MacSpice optimizer uses a refined version of the NelderMead simplex method, which proved to be relatively robust with respect to the specific requirements occurring in the context of electrical and electronic circuits.
I've had problems with NelderMead converging to a true optimum. Filter problems have the most problems because they have a lot of product terms (x1*x2) so the function is the opposite of a separable function. Random starts helps it a lot. I haven't spend a lot of time with the refinements which have come about over the last 15 to 20 years  there's so many! Most of the time I use QuasiNewton type algorithms.
Changing IS accordingly, however, is not a particularly good idea as this parameter affects not only the leakage currents of both junctions, but also the 'Ie vs. Ube' characteristics—and this would inevitably violate my entire optimization!
I understand where you are coming from here. The datasheets present a typical Ie vs Ube, however, on real device the Ube for a given Ie varies from device to device. For silicon devices the datasheets often indicate Ube variations of +/ 50mV for a given Ie. If we were to fit Ie vs Ube to these extreme Ube cases the model IS values are just under a decade below and above nominal! For silicon this the change in leakage has minimal practical effect. If we have the same Ube variations for germanium the change in Is has a noticeable effect on leakage because the leakage is high enough.
The tolerance in Ie vs Ube cause an IS change which change the leakage compared to the baseline in the optimized model. The other component comes directly as leakage which are the ISC, XTI parameters you mentioned. We really need to measure Ube vs Ie to determine IS, then measure leakage. The ISC, XTI values would be tweaked to take up the difference between the measured leakage and the leakage due to IS. Not very convenient for a model. That's why I was saying it's not clear how to handle the leakage. If we accept an erroneous Ube then we can bundle the leakage in ISC, XTI.

FWIW, here's an overview of the components of leakage. The main point is it's made up of two parts which behave differently with voltage and temperature.
(https://i.postimg.cc/p5Zstrn6/TransistorComponentsofLeakage.png) (https://postimg.cc/p5Zstrn6)

SPICE, Flicker Noise, and Leakage Current
There is one point which should be mentioned in connection with my SPICE models of the seven germanium bipolar transistors: the flicker noise parameters KF and AF. These two parameters control the flicker noise characteristics of the respective transistor, commonly denoted as 1/f noise.
This noise phenomenon is observed in semiconductor devices under biasing and becomes evident towards lower frequencies. It is characterized by a power spectral density which is typically inversely proportional to frequency. The frequency where this noise component is equal in magnitude to the inherent white noise in a semiconductor is known as the 1/f corner frequency.
For the AC127, one of the rare NPN transistors of that era, I had obtained the following parameters from my optimizations, yet still without 1/f noise:
.model AC127_V1 npn (
+ is=10.4u
+ bf=165 nf=0.875 vaf=50 ikf=0.383 ise=0.252u ne=1.22
+ br=16.5 nr=0.875 var=50 ikr=0.383 isc=5.58u nc=1.79
+ rc=0.94 re=0.271 rb=70.4 rbm=14.4 irb=1.33m
+ cje=220p vje=0.3 mje=0.5
+ cjc=294p vjc=0.3 mjc=0.5
+ tf=65.5n tr=655n
+ eg=0.67 xti=13.9 xtb=1.5 fc=0.5
+ tnom=25 )
As regards noise, little can be found in such old datasheets. Nevertheless, I wanted to include at least some reasonable estimates for the 1/f noise characteristics of these BJTs. This, however, turned out to become the very root of a fundamental SPICE issue…
For the AC127, one just finds the following information in the Valvo datasheet:
Rauschzahl bei Ucb = 5V, −Ie = 0.5mA, Rg = 500 Ohm, f = 1kHz, B = 200Hz: F = 4dB (≤ 10dB)
‘Rauschzahl’ is the German term for noise figure. After all I could find out with reasonable effort, the 1/f corner frequency of such germanium BJTs at emitter currents in the order of 1 mA ought to lie in the lower kHz range, in which case the above operating point would lie in a frequency range where 1/f noise already plays a more or less dominant role.
For my noise simulation, I firstly trimmed the operating point of the AC127 under test in commonbase configuration towards the above conditions. With a noisefree load resistance of 500 ohm (at −273.15°C) and a supply voltage of +5.25 V, the resulting collector and emitter voltages were +4.99998 V and −84.832964 mV, respectively; the base was (indirectly) connected to ground. The trimmed DC component of VG1 was −334.832964 mV. The corresponding SPICE netlist without this final trimming was as follows:
**
** Basic test circuit for the AC127_V2 model...
**
** RL1 ____
** +____o +5.25V
** 
** ____ RG1 
** +____+ +o out
**  \ /
** __ e \ / c
** / ~ \  o gnd
** \___/ VG1  Q1 (npn) 
**   
**   
** === === ===
**
VX1 x1 0 DC 5.25V
VB1 b1 0 DC 0V
VG1 g1 0 DC 0V AC 1V
Q1 c1 b1 e1 AC127_V2
RG1 g1 e1 500 RMOD temp=25
RL1 x1 c1 500 RMOD temp=273.15
.model RMOD r ( )
.model AC127_V2 npn (
+ is=10.4u
+ bf=165 nf=0.875 vaf=50 ikf=0.383 ise=0.252u ne=1.22
+ br=16.5 nr=0.875 var=50 ikr=0.383 isc=5.58u nc=1.79
+ rc=0.94 re=0.271 rb=70.4 rbm=14.4 irb=1.33m
+ cje=220p vje=0.3 mje=0.5
+ cjc=294p vjc=0.3 mjc=0.5
+ tf=65.5n tr=655n
+ eg=0.67 xti=13.9 xtb=1.5 fc=0.5
+ kf=854f af=1
+ tnom=25 )
The resistor model ‘RMOD’ is needed to specify operating temperatures for the two resistors, at least in MacSpice. I then obtained the following values for the (external) terminal currents of the above AC127:
Ic = 500.039 μA
Ib = −39.0182 nA
Ie = −500.000 μA
The reference direction of all three currents is into the terminals, that is, the base and emitter currents here flow out of the transistor. Besides the fact that the base current flows in the wrong direction (the AC127 is an NPN transistor), the absolute value of this current is significantly smaller than expected. Even for a modern silicon transistor, one would expect a base current in the order of 1 μA. But let me nonetheless continue.
For a noise figure of 4 dB at 1 kHz, and assuming AF=1 (i.e., genuine 1/f noise), a value of KF=854f was needed—provided that I haven't made a severe mistake in my noise simulation. The corresponding plot is attached (first plot below). From this plot, the 1/f corner frequency can be estimated to be a bit higher than 1 kHz, which is at least not unrealistic.
Yet another suspicious observation was that, following the same basic procedure as for the AC127, the finally obtained KF values for all my other germanium BJTs were significantly smaller, merely in the 15f to 40f range instead of the above 854f. To clarify this mismatch, I made a few more experiments with this otherwise seamlessly working AC127 model. And indeed, for a slightly higher emitter current of 503.571873 μA, MacSpice computed virtually no 1/f noise at all (second plot below).
After some further research, I was able to identify the reason behind this abnormal behavior: the base current of the AC127 at this particular operating point was virtually zero (Ib < 1 fA). It is well known that the leakage currents of germanium transistors are generally several orders of magnitude higher than for silicon transistors. And exactly this collectorbase leakage current had completely overtaken the purpose of determining the operating point here. Thus, no additional external base current was required any more—and consequently, the respective SPICE equations didn't compute any 1/f noise!
From a physical point of view, however, such a behavior is not quite plausible. I am well aware that the noise figure of a BJT reaches a minimum for a certain emitter current under given circumstances (operating conditions, generator resistance, etc.), but it cannot really be that the 1/f noise vanishes completely at this operating point; otherwise, it would be relatively easy to construct amplifiers that are virtually free of 1/f noise.
To clarify this, I had to dive deeper into the respective SPICE equations. In the last attachment, you find excerpts from The SPICE Book (by Andrei Vladimirescu, John Wiley & Sons, 1994, pp. 381–384) where the underlying equations are explicitly given. Section A.2.1 contains the set of equations used internally by SPICE to calculate the collector and the base current of a BJT, whereas Section A.2.4 contains the set of equations for noise calculations.
Using the above AC127 model parameters and highaccuracy values of ‘Vbe’ and ‘Vbc’ from a separate operatingpoint analysis, I was able to reproduce the above ‘Ic’, ‘Ib’, and ‘Ie’ values with an absolute accuracy of better than 1 nA by explicitly applying the corresponding equations (A.8), (A.9), and (A.10) from The SPICE Book. Thus, these equations seem to be correct and also correctly implemented in MacSpice. The minor differences are most likely due to internally used older values for the physical constants and are therefore negligible.
According to equation (A.22), the 1/f noise calculation is exclusively based on the external base current I_{B}. The collector current I_{C} does not contribute to the 1/f noise as equation (A.23) does not contain a corresponding term.
It should be noted that the notation used in equations (A.22) and (A.23) is a bit imprecise with respect to the currents I_{B} and I_{C}. Since the actual direction of these currents (i.e., their sign) does not matter in connection with noise calculations, only the absolute values are relevant. Hence, a more precise notation here would be I_{B} and I_{C}, respectively.
I_{B}, in turn, is calculated according to equation (A.9) and consists of four distinct components:
I_{B,1} = (IS/BF) ⋅ (e^{qVBE/NFkT} − 1)
I_{B,2} = (IS/BR) ⋅ (e^{qVBC/NRkT} − 1)
I_{B,3} = ISE ⋅ (e^{qVBE/NEkT} − 1)
I_{B,4} = ISC ⋅ (e^{qVBC/NCkT} − 1)
I_{B,1} and I_{B,3} are currents flowing from the base to the emitter, whereas I_{B,2} and I_{B,4} are currents flowing from the base to the collector. The resulting external base current, which is later used in the 1/f noise calculation, is the sum of these four components:
I_{B} = I_{B,1} + I_{B,2} + I_{B,3} + I_{B,4}
This may sound plausible, at least at first glance. When the operating point of the transistor is fully determined by its internal leakage currents, however, I_{B} becomes zero, and this inevitably reduces the calculated 1/f noise to zero, too.
Therefore, let us look a bit closer at the above four current components. In the first instance, these are purely mathematical quantities appearing in equation (A.9), which need not necessarily have direct physical counterparts. In particular, I_{B,1} and I_{B,3} traverse the same junction, namely the baseemitter junction, whereas I_{B,2} and I_{B,4} traverse the basecollector junction. The internal charge transport across a junction in one or the other direction, however, cannot be distinguished in this way; only the resulting current is of interest here. Therefore, the above components can be pairwise combined as follows:
I_{B,13} = I_{B,1} + I_{B,3}
I_{B,24} = I_{B,2} + I_{B,4}
Furthermore, as I_{B,13} and I_{B,24} can be considered as independent, the resulting ‘effective base current’ for 1/f noise calculations—and perhaps for noise calculations in general—ought to be as follows:
I_{B,eff} = √(I_{B,13}² + I_{B,24}²)
I'm not really specialized in noise calculations, but this straightforward refinement would seem to be a simple, yet reasonable fix for the described 1/f noise issue. The attached plot illustrates this, here for a fixed Uce = 5 V (third plot below). In order to use a logarithmical yscale, I had to plot the ‘IB’ curve in two parts: blue for negative values, green for positive values. The zerocrossing near 85 mV is clearly visible. The red ‘IB_eff’ curve illustrates my proposed fix for the described issue, revealing no abnormal behavior whatsoever.
As can be clearly seen from this plot, SPICE primarily fails in the vicinity of the zerocrossing of the external base current, in which case the computed 1/f noise comes out much too low; in some distance from this critical operating point, SPICE nicely converges to my proposed solution. I therefore decided to derive the 1/f noise parameters for my seven germanium transistors on the basis of these ‘corrected’ SPICE equations instead of the current, highly questionable equations. Without this, most of my SPICE models would have totally wrong KF values, up to two orders of magnitude too high.
Some SPICE users may be tempted to say: “Who cares about such old germanium transistors?” However, the same issue can also be observed in connection with silicon transistors, yet at significantly lower currents and/or higher junction temperatures.
So, in conclusion, one can say:
– SPICE fails to correctly compute 1/f noise of leaky BJTs for certain base currents;
– BJT models with specified 1/f noise parameters should therefore be treated with caution;
– this issue currently seems to exist in virtually all SPICEbased implementations;
– the proposed equations would supposedly fix this issue, if implemented…
Unfortunately, the original SPICE code has not been maintained, at least not at Berkeley, since the last official release of 1993 (SPICE 3f5), and an official contact person for such bug reports does not seem to exist nowadays at Berkeley.
Any comments or suggestions are welcome!
(https://i.postimg.cc/14P4zyGn/AC127NoiseFigure1.png) (https://postimg.cc/14P4zyGn)
(https://i.postimg.cc/mhb2s847/AC127NoiseFigure2.png) (https://postimg.cc/mhb2s847)
(https://i.postimg.cc/DmjFKhBK/AC127BaseCurrents.png) (https://postimg.cc/DmjFKhBK)
(https://i.postimg.cc/NKRWLv7F/SpiceBookExcerpts.gif) (https://postimg.cc/NKRWLv7F)

Thanks again for posting. It might take me a while to understand the all details.
One thing that stands out is your noise figure setup. I'm more familiar with Noise Figure in datasheets being quote for a common emitter configuration. The source Rg is the source driving the base. Is there something in the AC127 datasheet which implies a common base configuration?
Unfortunately, the original SPICE code has not been maintained, at least not at Berkeley, since the last official release of 1993 (SPICE 3f5), and an official contact person for such bug reports does not seem to exist nowadays at Berkeley.
I think there's weird bugs and quirks in many of the pre 2000 spice simulators. It makes life hard.
EDIT: Check out these for Noise Figure,
Ambrozy 1971, input base
https://core.ac.uk/download/pdf/236629329.pdf
Toshiba 2018,p20,input base
https://toshiba.semiconstorage.com/info/docget.jsp?did=63511
Hatton 1951, input emitter
https://open.library.ubc.ca/media/download/pdf/831/1.0103240/1

> SPICE primarily fails in the vicinity of the zerocrossing of the external base current, ....
> Some SPICE users may be tempted to say: “Who cares about such old germanium transistors?”
The casual cynic is tempted to say: "the *designers* of SPICE did not want to care about such old germanium transistors". The apparent simplicity (at normal operating points) of good clean Silicon devices inspired development of calculators. And since Silicon was now readily available and clearly better, why muck around with the math of wheezy old devices?
You also have to be real unlucky to hit the base current null. (Unless you have no base resistor at all, which is done, but not in lowhiss amplifiers.)
As a caveman, if I discovered this null in the math but not reliably in real life, I would (as you suggest) plot two points away from the null and sketch a curve between.

One thing that stands out is your noise figure setup.
I have to admit that I had also been a bit irritated by the fact that the Valvo datasheets didn't specify the exact noise measurement setup. Therefore, I simply tried both variants, commonbase and commonemitter, but either setup yielded almost exactly the same results. Some further Internet research confirmed this basic relationship, too.
I chose the commonbase configuration because it was a bit easier to trim these circuits towards the specified operating points. Incidentally, these operating points were identical for all AC transistors for which noise data were explicitly given. For the older OC44 and OC45 transistors, I assumed a somewhat higher noise figure of 10 dB at 1 kHz, borrowed from an OC70 datasheet.
Check out these for Noise Figure, [...]
Thanks for these interesting links. Particularly Hatton's Master Thesis of 1951 might contain some valuable background information on this whole subject. But it will take me a while, too, to go through all these publications.
Another Master Thesis (by Thomas Frederick Brennan, 1967), which I had found useful for my purposes, is available at:
– https://preserve.lib.lehigh.edu/islandora/object/preserve%3Abp12258981 (https://preserve.lib.lehigh.edu/islandora/object/preserve%3Abp12258981)

You also have to be real unlucky to hit the base current null. (Unless you have no base resistor at all, which is done, but not in lowhiss amplifiers.)
This is perhaps not as clearcut as it might seem at first glance. In fact, the operating points specified for noise measurements of all AC transistors (except the AC128, for which no noise figure is given) happened to be not quite far from the zerocrossing of the external base currents. This may just have been a coincidence, but it would have prevented me from deriving correct KF values for all these transistors.
In particular, the KF values of my final SPICE models (i.e., 3.5f to 5.7f for the AC transistors) would have been significantly higher (850f for the AC127, 15f to 40f otherwise) when relying exclusively on genuine SPICE noise simulations. With such KF values, however, the majority of ‘arbitrary’ noise simulations with SPICE would have overestimated the 1/f noise by one or two orders of magnitude.
There are two different aspects, namely model creation and model usage:
The first, obvious aspect is that I wanted to derive reliable generalpurpose KF values for all transistor models. For this, I had to take the given noise data, together with the specified measurement conditions, for granted, no matter whether SPICE was able to treat the corresponding operating conditions correctly in its builtin noise simulations. And because it had turned out that this was not the case, I could use SPICE here merely for the underlying operating point analyses. The actual noise calculations had to be performed explicitly, using the corrected SPICE equations; this required some nontrivial code implemented in the MacSpice frontend.
My finally derived KF values should therefore yield mostly correct results in all SPICE noise simulations—except when the operating conditions are too close to the zerocrossing of the external base current.
This leads us to the second aspect, the practical usage of these models. The main problem here is that it is virtually impossible to decide a priori whether the finally resulting operating conditions of a given circuit are sufficiently far from the zerocrossing of the external base current.
Let me take the test circuit for the intermediate ‘AC127_V2’ model from my original post as an illustrating example. Obviously, the operating conditions for the AC127 in commonbase configuration are welldefined by the voltage sources VG1 (after adjustment) and VX1 and by the resistors RG1 and RL1: Ucb = 5V and −Ie = 0.5mA, thus not quite abnormal conditions. And as the base is connected to ground, the actual external base current does not have a noticeable effect on these operating conditions, right?
However, as already outlined in my post, this external base current is a priori undefined because it depends on the actual collectorbase leakage current of the transistor. In this particular case, it just happens that the internal leakage current is almost equal to the external base current that would normally be observed without any leakage current. This is not easily predictable from the circuit itself, not even when taking the transistormodel parameters approximately into consideration.
In principle, at room temperature, the external base current in this particular circuit could assume any value between, say, 10 μA flowing into the base terminal and several μA flowing out of the base terminal. Hence, SPICE could compute almost correct 1/f noise values in some cases, but it could also underestimate the true 1/f noise by several orders of magnitude in some other cases. This is not quite a satisfactory situation in my opinion.

I have to admit that I had also been a bit irritated by the fact that the Valvo datasheets didn't specify the exact noise measurement setup. Therefore, I simply tried both variants, commonbase and commonemitter, but either setup yielded almost exactly the same results. Some further Internet research confirmed this basic relationship, too.
I chose the commonbase configuration because it was a bit easier to trim these circuits towards the specified operating points. Incidentally, these operating points were identical for all AC transistors for which noise data were explicitly given. For the older OC44 and OC45 transistors, I assumed a somewhat higher noise figure of 10 dB at 1 kHz, borrowed from an OC70 datasheet.
Not long after I posted I started to come to the same conclusion. I have read a lot of papers on noise and I've never noticed that result before. Figure 7 of this 1954 RCA paper clearly shows the result,
RCA 1954,
http://216.92.159.216/Archives/RCA/RCALB/LB964%20RCA%20Labs%201954%20Investigations%20of%20Noise%20in%20AF%20Amplifiers%20Using%20Junction%20Transistors.pdf