JFE2140 Diff Amp

TI recently came out with some low-noise FETs that are useful in measuring the noise floor of a state-of-the-art PC DAC such as the Topping E70 Velvet. A schematic of the circuit is shown below. The circuit is very similar to the circuit in the JFE2140 data sheet in figure 9-10.

JFET2140 Diff Amp.pdf (42.2 KB)

There are a few circuit differences to discuss. First, the circuit as-built from runs from 5V instead of +/-5V. This will impact the swing, obviously, but the main curiosity here is the output noise of the E70. Next, there’s a processor on the schematic. That has a single job: Monitor a button, and turn the power on for 20 minutes whenever the button is pressed. And each subsequent button press will increase the on-time by another 20 minutes. This circuit runs from 2 CR2032 coin cells, and the active current of about 2mA (dominated by JFET bias set by the TLV9151 opamp). The CR2032 cells have about 235 mAH of capacity, suggesting about 170 hours of use. When the circuit is off, the lower CR2023 will see about 1uA of draw (MSP430 in power state 3.5), while the upper CR2023 will see about 100nA of draw (LDO off current). So, it’s not perfect that the cells deplete at different rates, and that could be improved. But for now, the aim is an amp that can sit in a drawer for weeks or months, be used for an hour or two, and then go back into the drawer with batteries always at the ready. The TPS7A2025 also spends a bit of time above the absolute max input voltage rating when the CR2032 are first installed. Not good, but fine for the task.

Can’t an Opamp do this?

Some loose requirements for a preamp are:

  1. Fully differential. This is because differential output, working with CMRR, is key to getting solid performance out of a modern PC DAC. If you take a single leg of the balanced DAC output, it will be very disappointing.
  2. High input impedance. The input impedance doesn’t need to be super high–probably 2K ohm or so. This is because the DAC will probably have an differential output Z of 100-200 ohms or so. Loading down the DAC will artificially suppress the measured noise.
  3. High CMRR. Modern DACs use a balanced output, and there are complementary common mode signals inherent in the DAC output that must be carefully added to be fully cancelled. In order for this to work well, you need good Common Mode Rejection Ratio (CMRR) from the diff amp.
  4. Low noise.

Aside from a discrete differential amplifier, the requirements above suggest either a fully differential amp, such as the OPA1632 or an instrumentation amp such as the INA849.

Using SPICE, we can quickly learn an OPA1632 with 2K input impedance and 20 dB of gain (2K series and 20k feedback) has 12.09 uV of output noise (20 kHz), which is -118.35 dB RTI. And an INA849 with 20 dB of gain(Rg = 665) has 8.05 uV, which is -121.88 dB RTI. Both fall short of what the JFET can do.

What specs are we looking to measure?

The aim here is to really learn the noise performance of the Topping E70 Velvet PC DAC. This DAC is based on the AK4499EQ, which offers the following specs:


The THD and THD+N are best measured with a notch, and the upcoming QA455 can help there. But for today, let’s look into Dynamic Range and S/N (aka SNR).

Dynamic Range

Dynamic Range (DR) is usually measured as THD+N with the DAC signal set to -60 dBFS. And then, whatever THD+N you measure, you can subtract another 60 dB from that and invert the sign to arrive at DR. What the -60 dBFS measurement does is ensure the converter is actively playing a signal and that noise gating hasn’t turned off the output stages, for example. The low level also ensures that harmonics aren’t much of an issue

When measuring DR, it can be done with or without A Weighting. In the case above, AKM have specified A-Weighting. The A-Weighting will usually make the measurement better by 2-3 dB, and it will help you overlook any 50/60 hum issues that might be present. And at these low levels, hum can be an issue. So, if you are looking to show the converter in the most favorable light, you’d specify A-Weighting. Otherwise, use no weighting.


Signal To Noise Ratio (SNR or S/R) is a ratio of the signal to the noise. But keep in mind that noise doesn’t include the distortion components (SINAD does, as does THD+N). Generally, SNR can be measured at any level. But when talking about PC DACs (that is, DACs that plug into your PC for rendering audio), SNR usually means the ratio of the maximum sine amplitude (0 dBFS) relative to the level out when sending all zeros to the ADC.

What renders this measurement mostly useless is that the noise when sending all zeros is largely pointless because when a DAC sees a stream of zeros for a period of time, it will usually turn off the output stages. And so, the noise you are measuring is the noise when the output is switched off.

But, it’s a common spec for PC DACs and quoted because the numbers are so huge. In this case, AKM is showing a spec of 135 dB, with A-weighting. And 138 when in mono mode. Mono mode gives the 3 dB improvement because it’s summing the noise and signals from the left and right channel. The noise is uncorrelated, and thus increase by just 3 dB, while the signals are correlated and increase by 6 dB. The net improvement to SNR is 3 dB.

SPICE Performance

This circuit was built in spice:

As noted on the schematic PDF, SPICE reported a gain of 23.17 dB and 3.32uVrms (20 kHz bandwidth) of total output noise, which is -109.6 dBV. Referenced to input, this is -109.6 - 23.17 = -132.77 dBV. This is about 11 dB better than the INA849.

First Board

Two boards were built. The first board is shown below. The JFE2140 is in the SO8 package. The BNC inputs and outputs are stacked BNC with two connectors on each side, even though the it looks like a single BNC on each side.

Measured Circuit Performance

The QA403 generator was set to -56 dBV, and a differential output was used, meaning the actual output level was (measured differentially) -50 dBV. The gain was measured as below on Unit 2. Note that the gain is reported as 26.43 dB, but this doesn’t know we’re using a differential connection. So, we need to subtract 6 from that. We can confirm this by noting that -50 dBV is going into the board, and -29.58 dBV is coming out of the board, which is 26.43-6 = 20.43 dB of gain. Recall SPICE indicated 23.17 dB of gain. But the gain is directly dependent on MOSFET transconductance gm, which will have some variation.

A second device was measured and reported a nearly identical gain of 26.42 dB. Much closer to the first unit than expected. Not sure if just lucky or if in fact the transconductance is this tight…

A plot of diff amp input level versus distortion was run to see where the THD sweet spot would be. The single-supply rail ensured the range probably wouldn’t be huge. And from the plot below, we can see the sweet spot for THD is around -25 dBV out of the amp, which means about -45 dBV into the amp. Remember, we’re not too concerned with harmonic distortion. Noise is what we’re after.

Next, let’s measure the CMRR, because a diffamp should be really good for CMRR and the CMRR is an important parameter for getting the full performance out of a differential DAC. Let’s put in a -20 dBV signal into both inputs (using a BNC-T to ensure they are identical). From the plot below, we can see the output is about -100 dBV. And we know there is 20 dB of gain. So, this suggests that absent the gain the level would be -120 dBV, and thus the diffamp suppressed the common mode signal about 100 dB, which is quite good. You can repeat this measurement using a single leg output of the diffamp board, and see much of the CMRR comes from the diffamp board and not the QA403 analyzer.

Next, let’s look at the noise. To measure this, we simply short the inputs to the amp with 0 ohm shorting blocks (50 or 75 ohm would probably degrade the measurements on an amp with this much gain).

Board 1 shows -109.49 dBV of noise (20-20 kHz):

And Board 2 shows -108.31 dBV of noise (20-20 kHz)

On Board 2, there’s more noise at lower frequencies, but the higher noise looks to be present at 1 kHz too. So, board 2 is about 1 dB noisier overall.

The -109.49 dBV noise is in a 20 kHz bandwith, without any weighting. Given the 20.43 dB of gain, this suggests the input noise is -109.49 - 20.43 = -129.92 dBV. Note the SPICE simulation indicated -109.6 dBV of noise with 23.17 dB of gain, suggesting -132.77 dBV input referred noise. So, we’re about 3 dB out there (not sure if bias current NMOS and opamp might play a roll there). However, we’re about (121.88 - 129.92 = ) 8 dB better than the INA849. Now, make no mistake, the INA849 would crush the diffamp on distortion and a lot of other factors.

But is the noise performance good? Indeed it is.

While SPICE predicted 121.88 dB on an INA849 with 20 dB of gain, the upcoming QA472 uses the INA849 had has a 20 dB gain option. It’s delivering -101.13 dBV of noise, which suggests an input noise -121.13. This is very close to the SPICE prediction, and as noted above, the JFET diffamp is about 8 dB better.

PC DAC Noise

So, we have a new tool with the differential amp that let’s us measure the noise of a differential output that we’ve not been able to measure before. How does this relate to the DAC?

To get a sense for the problem, let’s take the Topping E70 and go straight into the QA403, while playing a very, very small tone of -160 dBFS (to make sure the output stages don’t turn off)

Note the total RMS is -115.1 dBV, which is pretty close to the -117 dBV noise floor of the QA403. Generally, we’d like our measuring equipment to be about 10 dB better than the DUT. Next, keep in mind that the full scale output level of the E70 is nearly 12 dBV, so the -115 we see here, relative to the full scale output, suggests a dynamic range of at least 127 dB or so.

But now let’s insert the 20.43 dB diff amp. This gives us -97.12, which means is -117.55 dBV input referred. This is about 2.5 dB better than going straight into the QA403.

Just to check, we can short the inputs to the diffamp and verify we drop substantially below the -97.12 dBV we just measured. And we do. So, without the diffamp, we had about 2 dB of margin. And with the diffamp we have more than 10 dB of margin…

And reverting again to measuring the E70, we can apply A-weighting. Again, with the 20.43 dB of gain, this takes the noise to -119.74 dBV.

With the output set to 0 dBFS, the max output is measured at 12.43 dBV:

From this, we can compute SNR, both unweighted and weighted

SNR with -165 dBFS being sent to DAC

Measurement Result
SNR (Unweighted) 12.43+ 117.55 = 129.98 dB
SNR (A Weighted) 12.43 + 119.74 = 132.16 dB

But note this was with a tiny signal (-165 dBFS) going into the DAC. If we try again with all zeros being sent to the DAC (disable GEN1), then the results improve by another 1.2 dB.

SNR with zeros being sent to DAC

Measurement Result
SNR (Unweighted) 12.43 + 118.75 = 131.18 dB
SNR (A Weighted) 12.43 + 120.94 = 133.37 dB

The nominal spec for the AKM reference board in stereo mode was 135 dB, so we’re about 1.4 dB away from that. Given our measurement margin, we can be certain this is likely the E70 falling just a short of the AKM reference design.

Next, let’s turn to Dynamic Range. Disabling the weighting, and increasing the signal level to -60 dBFS, we get the following plot. The THD+N measured here is -69.32 dB, and adding 60 dB to that (reflecting full scale output) would yield the dynamic range, which would be 129.32 dB.

With out the diffamp (E70 straight into the QA403) we measured THD+N of -67.13. Thus, the pre improved our N+D by 2.2 dB.

With A-Weighting enabled and again using the diffamp, THD+N is -72.19 at -60 dBFS, which takes us to 72.19 + 60 = 132.19 dB for THD+N A-weighted. Going back to the AKM spec on the evaluation board, the nominal was -135 dB, and so we’re measuring about 2.8 dB shy of that. However, we can see from the plot that the harmonics are 95 dB below the carrier, meaning the 72.2 dB figure is dominated by noise. And we know the noise margin here is around 10 dB. So, this 2.8 dB is very likely the E70 falling a bit short of the AKM reference design and not measurement limitations.


Diff amps are easy to build, and can extend your measurement range by many dB when using the latest crop of low-noise JFET such as the JFE2140. And this is particularly important when evaluating a modern PC DAC.

Would it be worth considering modifying the input circuit a bit to provide some better CMRR potential?

Since 2K input impedance is your target, place two 1K resistors in series between the gates of the JFETs. Then, use a 1 Meg or even higher resistor from the junction of those two resistors to ground for the gate current bias return.

This approach reduces the effects of imperfect source impedance matching between the two inputs and imperfect gate bias resistor matching for better CMRR.

Just a thought…

Hi BKDad
I’m afraid series resistors will add additional noise. The noise density of a 1k resistor is 4.1nv/sqrt Hz, 12dB more than the JFET.

That would be true if they resistors were in series with the signal. In parallel with the source, as I suggested, they’d add no more noise than the present configuration.

See Figure 5. (In this case, Remi1 and Remi2 are part of the input filtering for RF rejection, and they would add thermal noise to the input. But, what you might choose for those two resistors is up to you. It could even be zero Ohms, which is pretty low noise. With JFETs there, you might be ok doing that.) Note that a resistor has to be connected between the COM pin and ground for the input devices to be biased properly.

I’m suggesting using 1K resistors for what TI calls RBIAS1 and RBIAS2. That would give a differential input impedance of 2K, which Matt suggested would be OK. You can obviously change that up or down. Then use 1Meg or even higher for the resistor they call RCOM. The higher the better, keeping in mind the JFET gate currents.

If you think about it, the source resistances and the bias resistors between the gate and ground form voltage dividers. If they are not precisely equal, common mode signals will be converted to differential mode signals right there. How often are the source impedances precisely matched?

You can easily simulate this in whatever your favorite flavor of SPICE might be.

Hi @BKDad, thanks very much for sharing this paper. I first had read about this technique in the INA1651 spec, and almost used that part in the QA455. But I’d not seen it elaborated on further.

@matt I tried to duplicate some of your numbers using a cosmos scaler @20db gain and a cosmos adc with the e70 velvet. The numbers were oddly close.
For example, with the scaler shorted into the cosmos adc, I get -107.8dbv.
With the dac directly into the adc @-165dbfs I get -117dbv and with the scaler in the chain @20db gain I get -98.3 -20db gain=-118.3.
So the scaler adds only 1.3db of improvement.

On A weight, @-165dbfs with the dac into the scaler into the adc A weighted, I get -100.2dbvA -20db gain=-122.2.

On dynamic range, @-60dbfs, dac into scaler into adc, I get thd+n=-69.5db

Same measure but dac directly into the adc, I get -67.1db. Oddly close to your numbers.

You end up needing one more resistor, but the tolerances needed aren’t nearly as daunting. Plus, the arrangement really helps with the unmatched source impedance issue, which you can’t control anyway.

Hi @Moto

For example, with the scaler shorted into the cosmos adc, I get -107.8dbv.

Which gives -127.8 dBV RTI. The JFET board I built was -129.92. BUT! The spice says -132.77. And spice is very good at predicting noise, which means something got screwed up in the implementation.

I suspect it’s the JFET power supply. A JFET amp has a PSRR of around 0 dB. I thought on this test board that using two CR2032 batteries might relax the noise issue a bit, but the LDO for the 4.5V rail is probably the culprit here. So, I’d expect the noise to get closer to the -132 mark if I correct that.

With the dac directly into the adc @-165dbfs I get -117dbv and with the scaler in the chain @20db gain I get -98.3 -20db gain=-118.3.
So the scaler adds only 1.3db of improvement.

Yes, so the scaler has about 2 dB worse noise than the JFET amp, though both are much better than the E70. And so, I saw a -117.55 dBV noise floor while playing a small tone, and you saw -117 dB. And the amp noise in both cases contributed some. I’ll guess the half dB better that I saw was probably a combination of DAC-to-DAC variations and the 2 dB better JFET noise.

But in both cases, I think we are zooming in on the real noise of the E70, and it’s very impressive!

1 Like

Isn’t it a bit of a misleading idea? There definetly cant be any 50/60Hz (only pickup) from the source but the noise is generated in the LDO regardless of whats at the input or am I wrong here?

This board is a great idea tho, because i have some JFE2140 laying around here :smiley:

but the noise is generated in the LDO regardless of whats at the input or am I wrong here?

Yes, you are correct correct. Normally, when the LDO is fed from a DCDC there’s a lot of other junk input to the LDO (usually at well defined frequencies, though). But, as I learned on the QA472, the PSRR of a JFET amp is 0 dB, and so I should have been thinking more about the fact that the LDO noise would be directly reflected in the diffamp output. I don’t know if I’ll do another version of the JFE2140 diffamp board or not since I have two boards now and they work well. But if I do, I will fix the LDO noise issue using the same approach used on the QA472.

i have some JFE2140 laying around here

If you build, please share details if you can! I think a generation or two of engineers have been so blessed by the thousands of opamps available off the shelf that we’ve lost sight of what state-of-the-art discretes can do. Guys like Bob Cordell can write an appnote for JFETs and I page through the circuits he presents and wonder where all this knowledge came from and why it’s not more widely known. I think through the 70’s and 80’s, application of of discretes was widely understood by your average engineer (Widlar has noted that the first opamps never contemplated audio, so discrete designs still had to rule the day back then). But increasingly the discrete knowledge is concentrated in the brains of folks designing the opamps. And kudos to TI for revisiting this space too. Their specs and app notes on the JFE parts are extremely good too.

I completely agree with what you write! Currently, engineers who are experts in discrete-component analog circuits are becoming increasingly rare because everyone uses integrated circuits now and thinks they solve everything with those. I personally am an engineer of the old school, used to trying to solve problems with discrete components, and even when I use integrated circuits I always try to figure out which scheme they adopt, although it is not always easy to know because it is not always published.

I think it’ll be the next project I do.
Do you think it’s mandatory to go for SMD parts to achieve the best performance?
I mean if I use a quarter watt THT resistor I have about 10mm spacing between the legs so the loop area which is created (if there’s a loop/feedback of course) is quite a bit larger and some traces will be longer.