Reference signals for DRC123 measurements

DRC123 uses a special kind of reference signal to get optimal results. The reference has the following properties:

How does it work?

The reference generator uses Inverse Fourier Transform to synthesize the output. The Fourier Coefficients are calculated as follows:

magnitudei = {
 0,
if f ∉ [20, 20000] ∨ i is even and option is enabled
   f-0.2,   if f ∈ [20, 20000] ∧ i is odd or option is disabled

phasei = random()

In stereo mode additionally every second nonzero magnitude is set to zero alternating for the left and the right channel. So in fact the two channels are measured at slightly different frequencies.

The result from the Inverse Fourier Transform is normalized and then played in an infinite loop until the measurement is stopped.

Random noise with discrete spectrum?

How can a random noise have a discrete spectrum? And why is it that important?

Well, the amount of entropy in the reference signal is limited, because the reference is played in a loop. Every repetitive signal has a discrete spectrum, that only contains frequencies that are multiples of the repetition rate. For the measurement this is important, because not only one cycle of the signal is recorded. In fact every N-th sample of the recording is added before any further processing, with N = FFT length = length until the reference repeats itself (about 2 seconds). This causes any frequency of the recording that does not fit in the reference loop length to be canceled sooner or later. The addition of samples with the same period than the reference length effectively performs a comb filter perfectly adjusted to the spectrum of the reference.

For this to work it is essential, that the phase of the reference playback and the recording is synchronized exactly. In fact the coherence length must exceed the entire measurement. Because of tolerances there is only one option to satisfy this condition: playback and recording must be done by the same physical sound device, controlled by the same crystal oscillator respectively.

What about nonlinearities?

Most transfer systems have more or less nonlinearity. Does this impact the measurement?

Yes and no. Nonlinearities basically introduce harmonics and intermodulation. In the second order (H2) this causes new frequencies to appear that are sums and differences of two other frequencies.
If the reference contains only frequencies that are odd multiples of some base frequency (the repetition rate), whatever you do, if you add or subtract two of them you will always get an even multiple. This frequencies are unused and do not impact the measurement.

However, nonlinearities may also produce intermodulation terms of three frequencies in the signal (i.e. H3). These artifacts will collide with other measurement data. But have a look at the logarithmic scale. If you add some noise at -30 dB or less you will not even notice a change. So in conclusion, the 3rd order distortions will only give any notable impact if their intensity is in the order of the dynamic range of your transfer function to measure. This is unlikely for room responses, since -30 dB is almost silence and you cannot compensate for a loss of this amount anyway.