Testing the RIAA Curve

Normally one would consider the topic of the RIAA equalization characteristic used to record Vinyl Records as relegated to the dust bin of history. But vinyl is making a comeback and I thought that revisiting the recording and playback process as a signal processing exercise using the ADALM1000, and to showcase a new feature in the ALICE desktop software, might be interesting.

Vinyl records are recorded with lower amplitudes for low frequencies ( bass ) and higher amplitudes for high frequencies ( treble ). For the same sound level, a low frequency requires a larger groove which has two drawbacks. The wider groove spacing results in less recording time per side and difficulties for the cartridge to track it resulting in higher distortion. At the high frequency end of the spectrum, the contact between the stylus and the groove makes high frequency noise. By increasing the level at high frequencies during recording a better signal/noise ratio can be obtained as the noise is reduced by the playback equalization curve.


The RIAA (Recording Industry Association of America) introduced the original RIAA equalization characteristic during the 1960’s. Before this became available several other curves did exist, but since the RIAA curves’ introduction they have fallen into disuse and have been universally replaced the RIAA curve.

To obtain the original RIAA curve the following equation is used:

t1=treble time constant, 75uS
t2=medium time constant, 318uS
t3=bass time constant, 3180uS

The test setup in figure 1 shows how the ADALM1000 can be connected to one channel of a phono pre-amp. RCA cables were modified with male header pins to easily connect to a solderless breadboard. The output of Channel A is AC coupled through a big capacitor C1 to a voltage attenuator R1 and R2. This reduces the amplitude of the signal to a small enough level to not cause the pre-amp to chip. The pre-amp output is AC coupled to the Channel B input through another big capacitor C2. The DC level is centered on 2.5 V to match the input range of the ADALM1000 by resistor R3.

Figure 1 Test circuit.

You could just sweep the phono pre-amp with a constant amplitude input signal, as most Bode plotting software would do, plot the resultant output frequency response and try to fit it to the ideal equation. However, it might actually be simpler to sweep the input with varying amplitude that follows the inverse of the ideal playback response. The response seen at the output will then ideally be a flat line. A new feature has recently been added to the ALICE Bode Plotter (versions as of 2-23-2017) that allows the user to specify a list of frequency and amplitude steps to be plotted. CSV files generated from the ideal RIAA curve and its inverse are attached to the end of this blog.

Figure 2 Screen shot of test results plot

The inverse RIAA curve is imported by clicking on the new "Sweep From File" check box. After the program reads in the list of test frequency / amplitude combinations the max amplitude ( in dB ) is reported and the user is asked for a new amplitude to normalize the curve to. In the case of the ADALM1000 the maximum output signal level in dBV is 4.75 dB, so to maximize the dynamic range of the measurement we want to normalize the curve to near this value. As we can see in the Bode plot of figure 2 the frequency is swept from 20 Hz to 21 KHz. The input amplitude from Channel A is plotted in green and as we see follows the inverse of the well known RIAA curve. It is a little hard to see but the output response of the Left and Right pre-amp channels are plotted in orange, and dark orange. This pre-amp I used, which was made back in the late 1960's, has a little problem at the low end around 50 Hz but follows the ideal curve well, within a fraction of a dB over the rest of the sweep.

This feature of varying the amplitude as the frequency is swept could be useful in other channel equalization / signal processing test cases. In conclusion we can see that the versatile hardware of the ADALM1000 and the ALICE desktop software can be used in many testing and measurement applications.

As always I welcome comments and suggestions from the user community out there.