For our measurements, we use the E-MU0404 USB sound card. Its DACs and ADCs support samples rates up to 192kHz and up to 24bit precision. But how good is the card really? We did a short loopback test with inputs directly connected to the outputs of the card. Unfortunately only unsymmetrical cables were available.
Setup was the following: Windows ASIO driver, 48kHz sample rate. ARTA was used for measurements. Let’s have a look at the noise and distortion figures:
The diagram does not show the noise component, because it is almost non-existent. The datasheet states -117dB. All higher order distortion components (D4+) and D2 are below 0.001%, only D3 is above 0.001% above 1kHz, with a maximum of about 0.003% – very good.
But why didn’t I use 192kHz sampling rate? Most DACs and ADCs have their lowest distortions at the lower sample rates. Does this also happen with the E-MU 0404?
This looks almost as the 48kHz measurements. There is a small glitch, but I’m not sure if it comes from the card or the measurement setup (software?). That means, the card is performing very well at the full range of sampling frequencies – great. Note, that the frequency scale is different – it now goes up to 50kHz.
Here are some noise and distortion measurements of the HiFiBerry Mini DAC. Without the ethernet connected, noise is practically non-existing. But also distortions look good. D2 has the highest level and higher-order noise is decreasing with each order. This is really a nice chip.
At 1kHz we see 0.0037% THD+N (distortions alone only 0.003%). However, the measurement equipment itself (an EMU0404) itself has a THD+N level of 0.002% at this frequency (in- and output together). Therefore the real noise and distortion figure might even be a bit smaller.
We also did tests at other frequencies and they look similar:
Note, that these measurements are a bit flawed, because at higher frequencies there are less harmonics within the measurement frequency range than at lower frequencies. Therefore the distortions go down. Unfortunately I was not able the extract the D2 and D3 levels alone.
There are more good news. The voltage regulation on the board works great. Even with the worst power supply I could find (a Nokia charger), the figures did not change much. THD+N went up from 0.0037% to 0.004% at 1kHz. That means there is no urgent need to upgrade the power supply of your Raspberry Pi.
Update 1.12.2013: We did some THD+N measurements of our production version. They were even lover than the values show here.
Today I did some tests with the HiFiBerry Mini and RaspyFi. I replaced the kernel by the HiFiBerry enabled kernel – and it worked perfectly. The music was played from a cheap USB-Stick. But the most interesting part was the test with 192kHz/24bit FLAC files. And yes – it works! I think, this is the smallest Raspberry-based setup that is able to play 192kHz FLAC music.
It is also nice to see, that RaspyFi also plays MP3 files in 24bit resolution, which means potentially less distortions.
Just a quick update: I did the first tests with HiFiBerry Mini – our high-resolution DAC for the Raspberry Pi. The card is working, sine waves look great on the oscilloscope. More tests have to be done. I will be interesting to see what will be the highest sample rate that I get running on the Raspberry – the DAC supports up to 384kHz!
Today I did some measurement on the HifiBerry USB. The first measurement was the frequency response. Some interesting things happened.
For this basic test I used ARTA. Input and output of the card were directly connected. Therefore the results of these measurements represent the input and the output stage together. If there are any influence between both (e.g. crosstalk), this will have an impact on the measurements.
The frequency response was not very flat. The high frequency starts to roll of at 15kHz and the -3db limit was at about 17kHz – too low for 48kHz sample rate. There are also some glitches at 3kHz and 6kHz. See the frequency response below:
Is the chip really that bad? Or is there a problem with my hardware design? I did the same measurement with a Behringer UCA202. The frequency response was exactly the same. Then I wanted to see what happened to the roll-off if I decrease the sample rate. It should look even worse. But check out, what happens if you use 44.1kHz sample rate:
Much better! The roll-off starts at 19kHz, -3db is above 20kHz. No glitches anymore. What happened here? I guess, that the chip is resampling everything to 44.1kHz. I will contact Texas instruments to find out more about this behavior.
Wow, how did this happen? Intel developed an Arduino compatible microprocessor board! The CPU is a Quark X-1000 processor which is a lot slower than current desktop CPUs, but a lot faster than simple ATMega microcontrollers or low-end ARM chips. It used the Pentium command set and runs at 400 MHz. I don’t know if the Arduino IDE will create low-level machine code for the hardware or there is an operating system running on this board (Linux?). I would suppose, that there is an OS running, otherwise it would be quiet complex to use all the nice onboard interfaces like USB and Ethernet.
I had a quick look in the datasheet and it looks like there are no I2S connection that can be used to connect audio DACs or ADCs. There is an onboard sound connector, but I would expect, that the DAC/ADC on the board are low-end chips. However, USB ports are available to connect USB sound cards. I’m looking forward to the availability and pricing of this module. It could be an interesting alternative to the Raspberry Pi for audio applications.