The sample rate on DAQ cards is not a fixed absolute constant. Like time,
it fluctuates, and it is difficult to measure accurately. Sometimes there
are relationships between the input and output sample rates that can reveal
interesting details about the inner working machinery.
The following table of measurements use a technique described in the
sample rate stability application
note. The rate column is the sample rate value that the collection
hardware is programmed to. The in/out rate and in/out error
columns are absolute measurements of the ADC / DAC clock. The
loop error column uses a tone generator loopback method for a high
accuracy measurement of the relative difference between the ADC and the DAC
clocks. The three errorPPM columns are theoretically
related by the formula: "in_error - out_error = loop_error"
Rate suffix: a = ALSA and j = JACK
The UA-25 has a loop error measurement of +0.0000 PPM which means that
the ADC and DAC clocks are locked.
The USB audio device's input and output jacks are connected with short external
balance (differential) cables and run in full duplex mode. This is a
loopback test and baudline's tone generator is the signal source.
Distortion, noise floor, filter response, and inter channel crosstalk are the
frequency domain measurements of interest in this section.
The signal test sources are a pure sine wave, a linear sine sweep, and
WGN. The sine wave is
used for the distortions and crosstalk measurements. The linear sine
sweep and WGN are used for the filter characterization measurement.
Both are an application of the
swept sine vs. WGN technique
and are equivalent measures of the frequency response.
Since spectral performance is a function of sample rate, each of the sound
card's native rates will be tested. The highest sample rate is usually
the cleanest and this is advantageous because it allows the isolated testing
of the ADC and the
DAC. The matched,
source, and sink sample rate combinations are described below.
The input and output sample rates are the same. This combination tests
the performance of both the ADC and the DAC in a matched mode of
operation. The linear sine sweep signal in the left spectrogram display
and the WGN (orange) in the Average window characterize the in-band filter
response. The sine wave (green) in the Average window is used for
distortion and crosstalk measurements. The sine leakage (purple) is used
for crosstalk measurement
44100a -> 44100a
44100j -> 44100j
48000j -> 48000j
Rate suffix: a = ALSA and j = JACK
Clean looking spectrogram sweeps for all the native rates and ALSA/JACK
modes. The peak-to-peak filter ripple seen in the Average 8X window is
very low and less than 0.5 dB. The 11 strongest distortion peaks seen
in the Average window are all harmonics of the main fundamental Hz test tone.
The following table of measurements were made using the technique described in
the sine distortion application
note. It is a full duplex test that uses a loopback of the tone generator
to measure the various distortion parameters. The stereo crosstalk
column is a measure of channel leakage that uses a sine wave channel and a
silent channel as the signal sources.
Good distortion measurements with consistent performance at both the 44100
and 48000 native sample rates. The UA-25 has a strange warm up behavior
from the idle (off) state that takes about 5 minutes and increases the ENOB
by about 0.6 bits. Also, the best ENOB is difficult to reproduce
since it can vary by almost .1 bits as a function of time.
With the 44100 rate it is interesting that the ALSA performance is slightly
better than the JACK performance. The opposite would be expected since
JACK is running the UA-25 with 24 bit samples and ALSA is running with 16 bit
samples. With JACK, baudline 1.07 is inputing 16 bit samples and
outputing 24 bit samples with the Tone Generator. This hybrid 16/24 bit
operation should be superior to straight 16 bit. This performance
discrepancy could be due to the UA-25 internal Advance mode operation or it
could be due to baudline input dithering. In any case, for the best
performance, it is recommended to run the UA-25 with Advance mode off (16 bit).
This test should be run again in the future when a 24 bit baudline is available
to see if the performance of the UA-25's 24 bit Advance mode improves.
After a warm up period of about 10 minutes it was observed that the UA-25
running at a 44100 sample rate captures a weak wideband spectral glitch.
This glitch is periodic and repeats every 164 seconds after the first
occurance. See the baudline spectro image on the right for an example of
what the glitch looks like. This periodic glitch happens at all sample
rates, happens with both ALSA and JACK, and it affects the left and right
channels equally. Using a pure sine wave test signal the glitch is easily
visible in the frequency domain.
The UA-25 has a very useful digital loopback button that sends the input
channel a pure digital copy of whatever is being output. To engage this
UA-25 feature simply disconnect any optical SPDIF input and press the DIGITAL
IN button. After testing the periodic glitch was still present when the
UA-25 digital loopback was enabled. This signifies that the periodic
glitch problem lives in the digital domain which focuses the attention away
from the UA-25's analog circuitry.
Baudline was reconfigured with a 1575 Hz sine wave which is an even multiple of
the 44100 sample rate. This choice of test signal frequency locks the
sample values and makes it easier to see any transitory sample damage in the
time domain. Below is the Waveform image that shows the glitch at the
9596 ms position (focus on the positive cycle top where the arrows are
pointing). It looks like a single sample was dropped.
This sample dropping glitch could be a USB audio driver problem or it could be
flaw in the UA-25's data path buffering circuitry. So the question is
whether the Linux USB audio driver or the Edirol UA-25 is at fault? A
future investigation should verify if this periodic glitch exists on a computer
with a different USB chip that is using a newer version of the Linux kernel
(USB audio driver).
Note that dropping one sample every 164 seconds at a 44100 sample rate is an
error of -0.14 PPM which is far less than the absolute sample rate errors that
were measured above. So this periodic sample dropping glitch is not a
significant source of that particular rate error. In fact the PPM error
is in the opposite direction.
Update May 27 2008: This periodic glitch problem was verified to also exist
with the Linux 2.6.18 kernel on a computer with a completely different USB
chipset and CPU architecture (PPC).
Update June 17 2008: The sample rate estimation feature of the
windows were used to a measure that the UA-25 input side was roughly 0.14 PPM
lower than the output side. So the periodic glitch appears to be an ADC
Update June 30 2008: An accurate and known good record and playback device
(RME Multiface II) on a different computer was used to test the Edirol's input
and output channels. The periodic glitch was seen on the Edirol UA-25's
input ADC while the output DAC (tone generation) side was clean. This
experiment matches the result from the sample rate estimation test done on
Update June 23 2011: The periodic glitch problem is not present when baudline
runs on Mac OS X 10.6.7 (Snow Leopard). This test result suggests that
the dropped sample glitch is not hardware related but is caused by the Linux
USB audio driver in the kernel. I need to run this test again with a
new Linux kernel and see if this esoteric USB audio bug has been fixed in the
past 3 years.
A white Gaussian noise signal source was generated and captured in full
duplex loopback fashion at each of the standard sample rates. The
Histogram plots below
show a unique sample distribution that is dependent on sample rate.
Clean Gaussian shape with a slight gain mismatch between the left (green) and
right (purple) channels. This gain mismatch can easily be corrected by
adjusting the left and right channel input SENS knobs. The input gain
controls were set to their minimum (counter clockwise) position for these full
Note that the histograms for the different sample rates and the ALSA and JACK
test runs looked identical.
A sine wave signal was generated and captured in full duplex loopback
mode. The time domain response was observed with the
Waveform window where
the green curve represents the left channel and the purple curve represents
the right channel.
The Edirol UA-25 has a zero sample inter channel delay.
The 44100 and 48000 native rates had zero loop error which means that the input
and output convertor clocks are locked. The 195 PPM absolute sample rate
error seems a little high for a semi-pro audio device.
The UA-25's distortion measurements are good but not spectactular. There
is zero inter channel delay and good quantization shape. The UA-25 signal
path is clean and free from any major artifacts.
While minor, the existence of the periodic sample dropping glitch is not good
and the wandering ENOB distortion performance is unsettling. The sample
dropping can be heard with sine wave test signals but it likely is inaudible
with real world signals. The ENOB wandering manifests itself and changing
of the noise floor and modification of the distortion harmonic
products. So both of these artifacts are not as detrimental as they
Good distortion measurements. A step up from in-the-box sound cards but
still far short of the theoretical 16-bit limit.
The UA-25 has some minor quirks and despite the periodic sample dropping
glitch it comparatively but it is a very good performer.
The UA-25 and it is an especially handy device with 24 bit samples, half
duplex 96kHz sampling operation, optical SPDIF in/out, digital loopback option,
balanced inputs, phantom powered XLR mic inputs, headphone jack, MIDI in/out,
and multiple knobs and buttons.