Sidebar 3: Measurements
I measured the Volumio Primo with my Audio Precision SYS2722 system (see the January 2008 "As We See It"). I used test-tone WAV and AIFF files on a USB stick inserted into one of the four USB Type A ports on the Primo's rear. I selected the appropriate directory on that stick with the Volumio Settings page that appeared on my iPad mini after I logged on to the Volumio Wi-Fi network. The Primo is specified as being able to decode PCM data with sample rates up to 768kHz. I don't have any test tones encoded at that sample rate, but the Primo worked correctly with files with sample rates up to 384kHz that I did have.
As I didn't have access to something like the GeerFab D-BOB format converter that Kal Rubinson reviewed in May 2020, I couldn't examine the behavior of the Primo's HDMI output. I did look at the coaxial S/PDIF output, which, according to the interior photo on the Volumio website, is taken from the stock ASUS Tinker Board SBC that is the Primo's platform. This outputs data with sample rates up to 192kHz but with relatively high jitter: 2.733ns with data representing the 16-bit Miller/Dunn J-Test signal sampled at 44.1kHz. This jitter can be seen in fig.1, which shows an "eye pattern" plotted over one "unit cycle." Using the Audio Precision's digital oscilloscope function, I overlaid successive snapshots of the Primo's S/PDIF output taken over a 60-second time window. With an ideal transmission system, all the pulse transitions in the datastream will overlay one another to produce an image of a wide-open "eye," with just one trace visible. This is not the case in fig.1, which has visible variation in the beginnings and endings of the waveform.
I performed a complete set of measurements on the Primo's single-ended analog outputs, which are taken from Volumio's custom DAC board. The maximum output level at 1kHz with a high 100k ohm load was slightly lower than the CD Standard of 2V, at 1.72V, sourced from a low impedance of 99 ohms at all audio frequencies. The analog outputs preserved absolute polarity (ie, were noninverting).
The Volumio Primo offers a choice of three FIR (finite impulse response) reconstruction filters, labeled Fast Rolloff (FR), Slow Rolloff (SR), and Minimum Phase (Min). (There is also an IIR—Infinite Impulse Response—filter, which I left set at 47kHz, as used by KR for his auditioning.) Fig.2 shows the FR filter's impulse response with 44.1kHz data. It is typical of a conventional linear-phase filter with a symmetrical ringing before and after the single full-scale sample. The SR filter's impulse response (fig.3) is actually that of a classic minimum-phase filter, with all the ringing following the single high sample. This is not what I was expecting, and neither was the Min filter's impulse response, which featured a small amount of pre-ringing (fig.4). This response is identical to that of the "Hybrid, Fast Rolloff, Minimum Phase" filter offered by the Okto dac8 Stereo D/A processor that I review elsewhere in this issue and that I believe uses the same ESS ES9038 DAC chip. I suspect that the Volumio's SR and Min filters are mislabeled.
The Volumio Primo produced very low levels of harmonic distortion with full-scale data even with the punishing 600 ohm load (fig.10). The second harmonic is the highest in level, at just above –110dB (0.0003%), with the third harmonic almost equal in level in the left channel (blue trace) but 9dB lower in the right channel (red trace). Intermodulation distortion (fig.11) was also very low and below the levels of the aliased images at 24.1kHz and 25.1kHz.
Fig.12 shows the spectrum of the Volumio Primo's analog outputs decoding high-level, 16-bit J-Test data. All the odd-order harmonics of the undithered low-frequency, LSB-level squarewave lie at the correct levels, indicated by the sloping green line. However, the central spike that represents the high-level tone at one-quarter the sample rate is slightly broadened at its base, which implies the existence of random low-frequency jitter. This can also be seen with 24-bit J-Test data (fig.13).
The Volumio Primo offered superb measured performance from its analog outputs, which is even more commendable when you consider that this extremely affordable product is also a full-function music streamer.—John Atkinson
Fig.1 Volumio Primo, eye pattern of coaxial S/PDIF data output carrying 16-bit, 44.1kHz J-Test data (±800mV vertical scale, 175ns horizontal scale).
Fig.2 Volumio Primo, FR filter, impulse response (one sample at 0dBFS, 44.1kHz sampling, 4ms time window).
Fig.3 Volumio Primo, SR filter, impulse response (one sample at 0dBFS, 44.1kHz sampling, 4ms time window).
Fig.4 Volumio Primo, Min filter, impulse response (one sample at 0dBFS, 44.1kHz sampling, 4ms time window).
The three filters behaved almost identically in the frequency domain. The ultrasonic rolloff with 44.1kHz data (fig.5, magenta and red traces) indicates that the filters are all apodizing types, reaching full stop-band attenuation at half the sample rate, which is shown by the vertical green line in this graph. The aliased image at 25kHz of a full-scale tone at 19.1kHz (cyan, blue) is suppressed by more than 80dB, with some higher-order images present. The harmonics associated with the 19.1kHz tone are all very low in level.
Fig.5 Volumio Primo, FR filter, wideband spectrum of white noise at –4dBFS (left channel red, right magenta) and 19.1kHz tone at 0dBFS (left blue, right cyan) into 100k ohms with data sampled at 44.1kHz (20dB/vertical div.).
Fig.6 shows the Primo's frequency response with data sampled at 44.1, 96, and 192kHz. There is a very small amount of passband ripple at each sample rate. Channel separation at 1kHz was excellent, at 98dB, L–R, and 96dB, R–L, and power supply–related spuriae in the Primo's low-frequency noise floor were extremely low in level (fig.7). With dithered data representing a 1kHz tone at –90dBFS, an increase from 16-bit data to 24-bit data lowered the Volumio's noise floor by close to 18dB (fig.8). This implies a resolution of 19 bits, and when I played undithered data representing a tone at exactly –90.31dBFS, the waveform was symmetrical, with negligible DC offset and the three DC voltage levels described by the data clearly defined (fig.9).
Fig.6 Volumio Primo, FR filter, frequency response at –12dBFS into 100k ohms with data sampled at: 44.1kHz (left channel green, right gray), 96kHz (left cyan, right magenta), and 192kHz (left blue, right red) (1dB/vertical div.).
Fig.7 Volumio Primo, spectrum with noise and spuriae of dithered 1kHz tone at 0dBFS with 24-bit data (left channel blue, right red) (20dB/vertical div.).
Fig.8 Volumio Primo, spectrum with noise and spuriae of dithered 1kHz tone at –90dBFS with: 16-bit data (left channel cyan, right magenta), 24-bit data (left blue, right red) (20dB/vertical div.).
Fig.9 Volumio Primo, waveform of undithered 1kHz sinewave at –90.31dBFS, 16-bit data (left channel blue, right red).
Fig.10 Volumio Primo, 24-bit data, spectrum of 50Hz sinewave, DC–1kHz, at 0dBFS into 100k ohms (left channel blue, right red; linear frequency scale).
Fig.11 Volumio Primo, FR filter, 24-bit data, HF intermodulation spectrum, DC–30kHz, 19+20kHz at 0dBFS into 100k ohms, 44.1kHz data (left channel blue, right red; linear frequency scale).
Fig.12 Volumio Primo, high-resolution jitter spectrum of analog output signal, 11.025kHz at –6dBFS, sampled at 44.1kHz with LSB toggled at 229Hz: 16-bit data (left channel blue, right red). Center frequency of trace, 11.025kHz; frequency range, ±3.5kHz.
Fig.13 Volumio Primo, high-resolution jitter spectrum of analog output signal, 11.025kHz at –6dBFS, sampled at 44.1kHz with LSB toggled at 229Hz: 24-bit data (left channel blue, right red). Center frequency of trace, 11.025kHz; frequency range, ±3.5kHz.















