For certain kinds of circuits, notably (to us) exponential current converters and transistor ladder filters, you need matched transistor pairs. The gold standard is pairs of transistors fabricated on a common die and packaged as, say, an SSM2212; a notch below that are packages containing two similar transistors but not ones on the same die. But the cheapest option is to do it the old fashioned way: Get a bag of TO-92 transistors and find pairs that match.
Kassutronics discusses the theory and explains a circuit for doing it so I won’t. You put a reference transistor on one side of the circuit and leave it there. Then put a transistor to check on the other side and measure voltage between the two emitters, waiting a few minutes each time for the reading to stabilize. Then you pair off transistors that give nearly the same measurement.
What you’re measuring is a voltage difference ∆V corresponding to ∆I/R where ∆I is the difference between the two emitter currents and R is 100k. Each current is about 11.4 V / 100k = 114 µA. Measuring ∆V to a precision 0.1 mV corresponds to measuring ∆I to ~1 nA, or a relative difference in emitter currents of about 1 part in 100,000. Not bad for a multimeter and a piece of stripboard! Note, though, that the emitter voltages also differ, so the underlying quantity of interest, IS, isn’t directly proportional to the emitter current. If my CircuitLab simulation is correct, it looks as though an emitter current difference of 1 part in 100,000 corresponds to a difference in IS of something like half a percent.
I spent a while messing with this recently. At first I built the matching circuit on a solderless breadboard and spent some time trying out an idea for expediting the process and generally trying to get consistent and sensible results. I ended up deciding the breadboard was not the way to go, especially after one discovery: Each transistor’s base was connected to ground via a jumper, and if I moved that jumper from one spot on the ground rail to another, the reading would change! (It was one of those breadboards where the rails are divided in the middle, so you connect one half to the other with a short jumper, and I’d see a change if I moved the jumper to base from the leftmost hole of the right half of the rail to the rightmost hole of the left half.)
So I built the circuit on stripboard, abandoned trying to improve the method, and just got on with it. Resistors were matched to 0.1%, 100.5k each, though, per my simulation, a 0.1k difference corresponds to only a 24 µV change in the measurement and I can only measure to a precision of 0.1 mV. Power is connected via a Eurorack style power header. I placed the transistors, resistors, and diode symmetrically to reduce systematics.
I used SIP sockets for the transistors. You want the two transistors to be at the same temperature, so I put them 0.1″ apart. I’ve read about people having trouble when their air conditioning turned on and off. Fortunately I don’t have air conditioning. Running a small fan next to the circuit to circulate air reportedly helps, but I forgot about that and didn’t seem to need it.
With the stripboard, results seemed to be consistent and stable at the ~0.2 mV level. Out of 23 transistors tested, all were within 2.5 mV of my reference transistor (and all read higher than it, apparently I picked a very atypical transistor for my reference). For making matched pairs, it’s the difference in measurements that matters. According to what Kassutronics has read, 2 mV difference is acceptable, so if you have two transistors that read 2.0 mV and 2.1 mV, then either is a marginal match to the reference transistor, but they’re very good matches to each other. I was able to pair off 20 of my 23 transistors with measurements differing by ≤ 0.1 mV.