Test and measurement: USB noise measurements
I recently performed some noise tests on a USB DAC driven from various USB devices.The Raspberry Pi was the quietest when running on mains power, but even quieter when powered from a linear PSU and quieter still on battery.
It should be noted that the noisiest scenario was from a mains powered PC into another PC (via the sound card) which is to be expected as a ground loop is formed (the Pi has no ground reference).
Given that most HiFi equipment is isolated from ground, this is unlikely to be an issue - however I plan to measure using the DAC from PC USB into a (grounded) HiFi preamp to see if the problem still exists.
11/02/21 Update: I attached the D10 to a PC and connected it to my HiFi system (the preamp has a ground connection). There was a slight increase in noise. I then connected the PC to my home build DAC (PCM1794 with Amanero USB->i2s interface) and the noise was reduced a lot, but still not as quiet as going directly from the DAC. So as expected, ground loops do raise the noise floor.
I also tried an older Intel NUC (Celeron CPU) and that too was noisier than the Pi.
UPDATE I tested the NUC using a linear bench PSU and it was as quiet as the Pi.
The best scenario would be to use a Raspberry Pi or NUC with a linear PSU. A laptop running on battery would also be a good option but not very practical. When using a Pi - *beware of ground noise* when using the official (or any mains -> USB type) PSU, as clearly some noise was injected, but this will vary according to your individual ground arrangements in your HiFi.
The other alternative would be to use a USB isolator, however if your DAC requires USB3 an isolator won't be cheap.
Unless your music player uses a lot of CPU, the Pi (or the NUC on a linear PSU) is the ultimate player here.
...
Hardware used for tests:
Raspberry Pi4 Model B 2gb RAM / Intel NUC Celeron CPU (DN2820FYK) / PC: Amd FX6100 / 16GB / Nvidia GFX / Asus Xonar Essence STX sound card / Altor Audio Olivine 2 isolated USB ADC
The linear PSU used to power the Pi is custom built using a toroidal transformer and LM350 3A regulator.
Software used:
WaveSpectra, Sox (for generating tones on Linux), Virtins Multi Instrument (SNR/SINAD measurements)
Conclusion: The USB bus (and its power supply) is not typically noisy - any noise is created by earth / ground loops between the connected equipment and the DAC caused by unequal ground potentials. In some cases it also appears that the ground of a sound card in a typical PC is at a slightly different potential to the USB ground, which then results in PSU / motherboard noise being injected into the resulting analogue signal - this caused a great deal of noise in the loopback test as shown in the images below. However this is probably a rare scenario in a typical computer playback / streamer setup.
*NOTE the isolated USB ADC I'm using has slightly inferior noise figures to my internal sound card - hence the disparity in noise measurements.
Each of the graphs below is annotated with the specific scenario.
Computer | Power source | THD+N | SINAD | SNR | Noise |
---|---|---|---|---|---|
Raspberry Pi 4B | Official PSU | -102.75dB | 102.75dB | 103.86dB | -106.85dBFS |
Raspberry Pi 4B | Linear PSU | -104.23dB | 104.23dB | 105.71dB | -108.69dBFS |
Raspberry Pi 4B | Battery | -104.52dB | 104.52dB | 106.19dB | -109.17dBFS |
Laptop | Battery | -104.63dB | 104.63dB | 106.32dB | -109.30dBFS |
PC (isolated ADC*) | Mains | -98.49dB | 98.49dB | 98.97dB | -101.97dBFS |
PC (ground loop) | Mains | -70.32dB | 70.32dB | 70.41dB | -73.39dBFS |