DIY soundcard intended for measuring amplifiers

Attachments

  • FR.JPG
    FR.JPG
    173.1 KB · Views: 411
The high gain preamp

As already said this is Rod Elliott's P158. All info is there. The layout is mine, hopefully performing close to the original. It applies only to the left input and it is SE. So, unbal input mode should be selected to make it work. Also the input of this preamp is DC coupled, no input capacitor. It is engaged with NEC UC2-4,5NU relays. They are supplied from the unused usb Vbus. For the DIYINHK I2S converter here is an easy hack: close to the usb port there is a provision for a three pin connector. I guess this was for selecting usb or external psu with a jumper. Conveniently, this can be used to take the Vbus and also to power the module with 3,3V using a proper gauge wire. See pic. Attached noise floor measurements with input floating free and attenuator full open. The orange line is the basic floor of the input for reference.
 

Attachments

  • DIYINHK USB to I2S.JPG
    DIYINHK USB to I2S.JPG
    553.8 KB · Views: 412
  • x10.JPG
    x10.JPG
    192 KB · Views: 424
  • x100.JPG
    x100.JPG
    191.8 KB · Views: 409
  • x1000.JPG
    x1000.JPG
    189.7 KB · Views: 405
Vcom comes from a voltage divider to a DC buffer. Do not use the Vcom from the CS4272 for this job. It doesn't like it at all! Bypass this with 1μF and leave it alone.


Hi, I am following your design to make a similar thing. I can't understand why you emphasis not to use Vcom from CS4272. Is it due to noise issue or driving capability? Will a DC buffer be helpful?
 
I just came across this thread, having a similar interest in low-level distortion measurements. I have mostly been following and participating in the thread titled "Howto - Distortion Measurements with REW" here.

I have been using an old EMU 0404 interface for my experiments.

One thing that occurred to me is that you could improve on the differential stage by using Bill Whitlock's very clever (and patented) bootstrap technique to greatly increase the input impedance and CMRR of the stage. The EMU used this technique.

See the attached schematic - the technique sums the common-mode signal at the outputs of the input buffer pair and feeds it back into the inputs. Of course, component matching and trimming are critical to making this work properly.

Rod Elliott posted an excellent article here, mainly written by Bill Whitlock, which covers balanced systems in general.

Cheers
 

Attachments

  • balanced-2-f9.gif
    balanced-2-f9.gif
    5.1 KB · Views: 142
Thanks for the links! No doubt the input buffer scheme I used is not the very best out there. But I feel it already took the digital converter to its limits. Lower THD+N perhaps would be good only to reveal its weakness.

Regarding input impedance and CMRR, I also tried another scheme based on an INA, AD8130 in particular. Unlike the majority of INAs, this one has an exceptional CMRR at the MHz region together with very high Zin. It was the only thing that accepted 100k potensiometer wired in "U" shape without sweat. The problem was its poor THD+N, nowhere close to OPA1656. Diff in/SE out of this buffer does not take advantage of the differential input of the ADC driver OPA1632 which sets the limits more or less. All that said, the scheme you posted maybe address these issues. Good to know there is an all opamp version!
 
  • Like
Reactions: 1 user
Actually, there is an IC version of Whitlock's scheme. It is made by thatcorp.com. Whitlock licensed the patent to them. Check out the 1200 series.

I have not tried this (yet) but I am thinking you could build an all opamp version of this with, say, OPA1656s and VERY carefully tweaked low noise resistors.

Cheers
 
On a quick datasheet comparison, the THAT chip seems superior to AD8130. I was looking for something like this for another project, thanks! As for this project, I still have my reservations. The opamps have much lower distortion and CMRR of OPA1632 is very good as well. The only thing that the THAT could do better is very high Zin, but as is now it's 100k SE, 200k diff.
 
Member
Joined 2002
Paid Member
I was amazed to see an amateur courageous and capable enough to try diying a soundcard!
After reading this thread, I was intringued by the low THD numbers achieved at 0dBFS.
It so happens that I live in the same city with Magic Bus.
I PMed Magic Bus. We had a coffee meeting (same benigh live experience as that through reading his posts) and I was honoured to have his soundcard on my test bench for a while.
It's operation versatility is superb. It has everything one needs to test anything, low and high output level devices.
DAC: 0dBFS max out:3.736Vrms
ADC (x1 gain, no input attenuation): 1.5137Vrms for 0dBFS

I confined myself to a few tests and only SE loopback x1 gain
George
 

Attachments

  • DSCN6922.JPG
    DSCN6922.JPG
    596.4 KB · Views: 68
  • FR .jpg
    FR .jpg
    172.1 KB · Views: 66
  • FR settings.jpg
    FR settings.jpg
    91.3 KB · Views: 61
Member
Joined 2002
Paid Member
0.5dB gain linearity goes to 17bits (good for 16bit data).
Jitter test is very clean.
step freq THD@-6dBFS very good
Multitone test is clean down to 21-22 bits, very good.
step level THD @1kHz very good
 

Attachments

  • level step settings.jpg
    level step settings.jpg
    56.9 KB · Views: 29
  • step level.jpg
    step level.jpg
    51.1 KB · Views: 29
  • multitone settings.jpg
    multitone settings.jpg
    90.7 KB · Views: 33
  • multitone.jpg
    multitone.jpg
    271.9 KB · Views: 32
  • step freq settings.jpg
    step freq settings.jpg
    55 KB · Views: 33
  • step freq@48k.jpg
    step freq@48k.jpg
    136.6 KB · Views: 35
  • J-test.jpg
    J-test.jpg
    216.1 KB · Views: 41
  • linearity SR 44k1.jpg
    linearity SR 44k1.jpg
    218 KB · Views: 36
Last edited:
Member
Joined 2002
Paid Member
1kHz THD @ 48kHz SR
 

Attachments

  • -146dBFS.jpg
    -146dBFS.jpg
    102.5 KB · Views: 34
  • -24dBFS.jpg
    -24dBFS.jpg
    113.9 KB · Views: 38
  • -18dBFS.jpg
    -18dBFS.jpg
    113.4 KB · Views: 38
  • -12dBFS.jpg
    -12dBFS.jpg
    113.4 KB · Views: 33
  • -6dBFS.jpg
    -6dBFS.jpg
    114.3 KB · Views: 38
  • -3dBFS.jpg
    -3dBFS.jpg
    113.8 KB · Views: 37
  • -1dBFS.jpg
    -1dBFS.jpg
    114.1 KB · Views: 37
  • -0.20dBFS.jpg
    -0.20dBFS.jpg
    115.2 KB · Views: 34
  • idle.jpg
    idle.jpg
    261.3 KB · Views: 33
  • preferences.jpg
    preferences.jpg
    88.2 KB · Views: 36
Member
Joined 2002
Paid Member
I lowered the apparent noise floor by increasing FFT length (4M) and averaging (x32) to "see" for any low level glitches (*).
The card works cleanly at all sampling rates (attachments 1 to 6).

(*) These two settings increase the FFT execution time tremendously.
The target of a specific apparent noise floor can be achieved by a lot of combinations btn sample rate, FFT length and number of averages.
But there are no short cuts (attachments 7, 8).
For to reach the same apparent noise floor level, any such combination, takes the same FFT execution time .
Well, FFT execution time also depends on the configuration and strengths of the PC. My PC is nothing special.
 

Attachments

  • (1) 44k1_FFT4M_avg32 .jpg
    (1) 44k1_FFT4M_avg32 .jpg
    246.4 KB · Views: 34
  • (2) 48k_FFT4M_avg32 .jpg
    (2) 48k_FFT4M_avg32 .jpg
    246.5 KB · Views: 27
  • (3) 88k2_FFT4M_avg32.jpg
    (3) 88k2_FFT4M_avg32.jpg
    246.4 KB · Views: 26
  • (4) 96k_FFT4M_avg32 .jpg
    (4) 96k_FFT4M_avg32 .jpg
    289.1 KB · Views: 31
  • (5) 176k4_FFT4M_avg32.jpg
    (5) 176k4_FFT4M_avg32.jpg
    247.7 KB · Views: 26
  • (6) 192k_FFT4M_avg32.jpg
    (6) 192k_FFT4M_avg32.jpg
    247.7 KB · Views: 32
  • (7) 44.1k & multiples.jpg
    (7) 44.1k & multiples.jpg
    256.9 KB · Views: 32
  • (8) 48k & multiples.jpg
    (8) 48k & multiples.jpg
    235.7 KB · Views: 33
Last edited: