A few more tests, this time a simple Xonar STX line out -> line in loop back with and without the differential amplifier, and the line output of the onboard Realtek ALC887 codec. First, the same set of RMAA results and graphs as in the previous post:
What these show is that grounding problems with sound card loopback tests can be bad enough that even the noise level of onboard audio is significantly degraded. In the STX->STX loopback, the adapter does not make much difference, other than slightly increasing the noise level, adding the already mentioned low level AC hum, and having somewhat different crosstalk (it depends on the cables and connectors).
Now some graphs created using my sine sweep analysis utility, starting with THD vs. frequency at 0 (ALC887) or -1 (Xonar STX) dB relative to maximum volume, and both channels driven:
Blue: ALC887 without adapter, yellow: ALC887 with adapter, green: STX without adapter, red: STX with adapter; lighter color: left channel, darker color: right channel. Bandwidth = 50 kHz, max. THD order = 3 (ALC887) or 5 (STX).
The ALC887 graphs are very noisy (not too surprisingly for onboard audio), but at the highest frequencies the adapter seems to slightly reduce distortion. In the case of the STX, the left channel interestingly seems to have significantly higher (but still low) distortion; this apparently comes from the DAC, rather than the input. However, the differential amplifier seems to make little difference, it is generally within +/- 1 dB relative to the fairly low distortion of the sound card on both channels.
Since the crosstalk test in RMAA is not reliable, I tested that separately, too. The left graph compares the STX loopback with (blue: L->R, yellow: R->L) and without (green: L->R, red: R->L) the adapter. The right one contains two samples using the adapter, to show the difference that even small random contact changes can make. For 108 dB stereo separation with a 4300 Ω load (Xonar STX line input), a total impedance of about 17 mΩ is needed for the ground connection between the amplifier and the input of the sound card.
Finally, a few more tests of the quality of the differential amplifier:
- top left: frequency response (with adapter: blue: left, yellow: right; without adapter: green: left, red: right)
- top right: THD vs. frequency (-1 dBFS) with only one channel driven, the colors are the same as above. The bottom traces are cross-distortion, but these contain mostly noise, and do not really tell much in practice
- bottom left: 19 + 20 kHz IMD test at almost clipping level (near 2 Vrms), with the differential amplifier in the signal path
- bottom right: same as above, but with direct loopback
The most notable difference here is the 1 kHz (2nd order distortion) signal in the high frequency intermodulation test, but it is still a minor difference (likely in the 0.000x % range from the adapter itself).
The following table shows detailed noise (24 kHz bandwidth) and L/R level values calculated with a script I wrote in an audio programming language:
|-3 dBFS 1 kHz sine, unweighted RMS
|-3 dBFS 1 kHz sine, A-weighted
|-60 dBFS residual, unweighted RMS
|-60 dBFS residual, A-weighted
|Dynamic range, A-weighted:
Note that the dynamic range is consistently about 2.5 dB worse than what is reported by RMAA. Therefore, one program must be wrong, and I suspect it is RMAA again, as I did test my script with synthetic signals that have known levels, and RMAA SNR and dynamic range numbers have already been suspected of being "too good to be true" elsewhere.
How much degradation does the adapter cause to the noise level ? It can be approximated from the above table (assuming uncorrelated noise), but the result is not very accurate for multiple reasons (not sufficiently high precision, the results are not repeatable enough and depend on system activity etc., not exactly matched levels). The dynamic range difference is -120.54 dB on the left channel, and -121.10 dB on the right (A-weighted). The theoretical noise level of the circuit is 120.3 dB A-weighted (ref. 2 Vrms) according to my calculations, and the most significant component is Johnson noise from the 2.7 kΩ resistors. Interestingly, it would only improve by about 1 dB using AD797 op amps.
- when using sound cards with unbalanced inputs and outputs having a common ground for loopback testing, ground loops can be a major problem, and can make the measurements of noise, dynamic range, crosstalk, and distortion (with low impedance loads) very inaccurate; the circuit shown and tested above is one of the possible workarounds. Ideally, one should use audio interfaces with isolated input/output ground
- RMAA (at least the version tested here, but possibly others as well) apparently has bugs that result in incorrect noise, dynamic range, and crosstalk values being printed even if the hardware does allow for reasonably accurate measurements
- it is shown again that "op amp rolling" is rather pointless, and even inexpensive op amps can perform very well in simple and not too demanding applications like a line level buffer or differential amplifier
- the quality of the cable and connectors between the adapter and the input of the sound card does have some effect: a low impedance ground connection reduces AC hum and low frequency crosstalk, while better shielding between the channels improves high frequency crosstalk. Therefore, a short cable, separately shielded channels, low resistance ground wires, and good connectors without contact problems are preferred
- AC hum could be eliminated by powering the circuit with 2x9V batteries; it probably also depends on the type of wall wart used for the power supply
- the 47 ohm output resistors might not be necessary, and removing them could reduce the high frequency crosstalk
- an unbalanced source with very high (well above 100 ohms) output impedance can make the circuit less effective due to the asymmetrical input impedances
- all resistors used were 1% 0.4W metal film ones (the actual variation measured with a DMM was less than 1%); the 150 pF capacitors were also matched
- by changing the 2.7k resistors, the gain could be modified for different input voltages
Edited by stv014 - 7/16/12 at 2:55am