Many hobbyists like to do "Opamp Rolling", by changing the different opamps in audio gear. There's much discussion on the internet audio forums about the best opamp to use. However, many just read about a specific opamp that is the current flavour of the month and change it willy nilly. When an engineering team designs a product, they (hopefully) first do simulations, then measures and listen to the prototype and compare prices before deciding which opamps to use. There are a lot of different kinds of opamps for a specific purpose, and some of the examples of changing opamps on the forums are plain crazy.
So let's see if we can measure the difference by changing opamps by measuring instead of waffling about how much more air the sound has, or better bass response you get by using more expensive opamps.
To be able to do this, I've decided to use a well known and most importantly, well-documented headphone amplifier. I chose to use the JD Labs O2 headphone amplifier because it's a good design, but also because there is a schematic available. I also had one laying around. The face on the device adds an airiness to the sound, trust me.
The O2 headphone amplifier was designed by a guy who was known on the internet as NwAvGuy. He entered the audio arena, writing about audio design and made the O2 headphone amplifier to prove to people that you don't need a lot of fancy and expensive boutique items to create a transparent headphone amplifier. He released it as an Open Source hardware design and didn't want any money for it. JD Labs took the design and started to manufacture and sell it. Then NwAvGuy disappeared. My uneducated guess is that he worked for an audio company, and didn't want to take the risk of conflict of interest. However, that's just my guess. If you want to learn a lot about how audio equipment works, his blog is still online. By using the O2 amplifier as a test mule, we can make some decisions based on the design instead of just throwing in a fast opamp meant for instrumentation or something similarly crazy one you've just read about on an internet forum post.
The O2 amplifier has an NJM2068D as it's gain opamp. It's a good performing and cheap bipolar junction transistor based opamp. So if we are going to change it, we should stick with a bipolar opamp. MOSFET based opamps have very high input impedance, vanishingly low bias current, but has higher voltage noise at the input than a bipolar opamp. They both have their places, but that's a design decision when making the amplifier, so it's best to stick to the same opamp type if you feel the need to swap. You don't want the output offset to be all wonky, do you?
The output buffer opamps used in the O2 amp is the NJM4556A, an opamp that can deliver ±70mA but by adding two outputs together, you get twice the output power. That's why there are two dual channel opamps on the output. However, there's another benefit of paralleling the output of an opamp. Every time you double the number of outputs, you lower the noise by approximately -3 dB. Quite handy! Yes, you can add together 256 opamp outputs and try to measure gravity waves!
I've decided to change the gain opamp to the venerable OPA1612. It's a VERY good bipolar junction opamp with incredible specs. If changing the opamp to this one doesn't make a difference, nothing will.
The OPA1612 comes in a SOIC-8 package, and the NJM2068D is old-school DIL package, so I first used a small PCB to convert it to DIL. I also added decoupling and bulk capacitors on the PCB, to make sure that there was both noise filtering and power available for it. I did measure it, and it didn't make any difference to the measurements, but generally, it's good practice to have decoupling and bulk capacitors as close as you can to the IC. The IC socket doesn't make it easier to have capacitors close to the opamp. I wired the ground wire from the small PCB to the nearest GND I could find (the volume control.)
First, let us do a base measurement of the amplifier as it comes from JD Labs. I used the amplifier at full volume on high gain setting. 1 Volt input.
Ok, let's swap out the gain opamp to the OPA1612 and see if there's a difference.
Well, that was a disappointment! A 0.6 dB lower THD at 1kHz isn't much to write home about. However, we have to consider the stuff that comes after, in this case, the unity gain output buffers. If they are the limitations of the THD measurement, we wouldn't see any benefit of replacing the gain opamp.
The output buffers on the O2 amplifier are reasonably grunty opamps. The only opamps I had at hand that could deliver ±70 mA per channel was the OPA1622 which can provide even more. Unfortunately, the OPA1622 in a 5x5mm square package and is highly specialized. They even have a ground connection for god's sake! So I was left with a handful of opamps that I had laying around, and the ones with the highest output power were the LME49860. They have outstanding specs when it comes to THD and noise, but can only deliver ±30 mA. But as we are testing this swap without any load, it shouldn't be a problem. So here's the measurement with the LME49860 as output buffers.
Well, we got an improvement of -2dB THD. However, if you have a look at the frequency span between 0 to 1kHz, you can see what looks like the start of oscillation. Not all opamps are playing nice when they are summed at the output. You can rectify this by adding an output resistor to each output, but then you increase the output impedance, something you would like to avoid. There are 1 Ω resistors on the PCB, but that's for the original opamps. So here we see a typical example of why you shouldn't just replace opamps without testing. Another type of opamp could oscillate much worse. Yes, they can even self destruct if you're unlucky.
Edit: To summarize, yes, you can improve on a design. Sometimes they have to keep the cost down and use less capable opamps.
So what is the next step? I need to find a better replacement for the output opamps. They need to be able to handle the same amount of output current as the NJM4556 but have better specs. If you have any suggestions, I'm all ears. It could be fun to see if there are further gains (pun intended) to be had with another opamp.
Then it's time to test under actual load. Stay tuned...
So let's see if we can measure the difference by changing opamps by measuring instead of waffling about how much more air the sound has, or better bass response you get by using more expensive opamps.
To be able to do this, I've decided to use a well known and most importantly, well-documented headphone amplifier. I chose to use the JD Labs O2 headphone amplifier because it's a good design, but also because there is a schematic available. I also had one laying around. The face on the device adds an airiness to the sound, trust me.
The O2 headphone amplifier was designed by a guy who was known on the internet as NwAvGuy. He entered the audio arena, writing about audio design and made the O2 headphone amplifier to prove to people that you don't need a lot of fancy and expensive boutique items to create a transparent headphone amplifier. He released it as an Open Source hardware design and didn't want any money for it. JD Labs took the design and started to manufacture and sell it. Then NwAvGuy disappeared. My uneducated guess is that he worked for an audio company, and didn't want to take the risk of conflict of interest. However, that's just my guess. If you want to learn a lot about how audio equipment works, his blog is still online. By using the O2 amplifier as a test mule, we can make some decisions based on the design instead of just throwing in a fast opamp meant for instrumentation or something similarly crazy one you've just read about on an internet forum post.
The O2 amplifier has an NJM2068D as it's gain opamp. It's a good performing and cheap bipolar junction transistor based opamp. So if we are going to change it, we should stick with a bipolar opamp. MOSFET based opamps have very high input impedance, vanishingly low bias current, but has higher voltage noise at the input than a bipolar opamp. They both have their places, but that's a design decision when making the amplifier, so it's best to stick to the same opamp type if you feel the need to swap. You don't want the output offset to be all wonky, do you?
The output buffer opamps used in the O2 amp is the NJM4556A, an opamp that can deliver ±70mA but by adding two outputs together, you get twice the output power. That's why there are two dual channel opamps on the output. However, there's another benefit of paralleling the output of an opamp. Every time you double the number of outputs, you lower the noise by approximately -3 dB. Quite handy! Yes, you can add together 256 opamp outputs and try to measure gravity waves!
I've decided to change the gain opamp to the venerable OPA1612. It's a VERY good bipolar junction opamp with incredible specs. If changing the opamp to this one doesn't make a difference, nothing will.
The OPA1612 comes in a SOIC-8 package, and the NJM2068D is old-school DIL package, so I first used a small PCB to convert it to DIL. I also added decoupling and bulk capacitors on the PCB, to make sure that there was both noise filtering and power available for it. I did measure it, and it didn't make any difference to the measurements, but generally, it's good practice to have decoupling and bulk capacitors as close as you can to the IC. The IC socket doesn't make it easier to have capacitors close to the opamp. I wired the ground wire from the small PCB to the nearest GND I could find (the volume control.)
First, let us do a base measurement of the amplifier as it comes from JD Labs. I used the amplifier at full volume on high gain setting. 1 Volt input.
Ok, let's swap out the gain opamp to the OPA1612 and see if there's a difference.
Well, that was a disappointment! A 0.6 dB lower THD at 1kHz isn't much to write home about. However, we have to consider the stuff that comes after, in this case, the unity gain output buffers. If they are the limitations of the THD measurement, we wouldn't see any benefit of replacing the gain opamp.
The output buffers on the O2 amplifier are reasonably grunty opamps. The only opamps I had at hand that could deliver ±70 mA per channel was the OPA1622 which can provide even more. Unfortunately, the OPA1622 in a 5x5mm square package and is highly specialized. They even have a ground connection for god's sake! So I was left with a handful of opamps that I had laying around, and the ones with the highest output power were the LME49860. They have outstanding specs when it comes to THD and noise, but can only deliver ±30 mA. But as we are testing this swap without any load, it shouldn't be a problem. So here's the measurement with the LME49860 as output buffers.
Well, we got an improvement of -2dB THD. However, if you have a look at the frequency span between 0 to 1kHz, you can see what looks like the start of oscillation. Not all opamps are playing nice when they are summed at the output. You can rectify this by adding an output resistor to each output, but then you increase the output impedance, something you would like to avoid. There are 1 Ω resistors on the PCB, but that's for the original opamps. So here we see a typical example of why you shouldn't just replace opamps without testing. Another type of opamp could oscillate much worse. Yes, they can even self destruct if you're unlucky.
Edit: To summarize, yes, you can improve on a design. Sometimes they have to keep the cost down and use less capable opamps.
So what is the next step? I need to find a better replacement for the output opamps. They need to be able to handle the same amount of output current as the NJM4556 but have better specs. If you have any suggestions, I'm all ears. It could be fun to see if there are further gains (pun intended) to be had with another opamp.
Then it's time to test under actual load. Stay tuned...
Attachments
Last edited: