Notes from the Test Bench
By Bruce Hofer, Chairman & Co-Founder, Audio Precision
We’re all preparing for the upcoming AES convention in New York on October 20–23. AES is a great event, and as always I’m looking forward to seeing old friends and learning about new audio test applications.
AP is a co-sponsor of the Product Design Track this year, and I have been asked to lead the session on “Building Analog in the 2010s” on Saturday at 9 AM. Competitors need not bother to attend, because I will not be revealing the best of our trade secrets as they apply to state-of-the-art test and measurement equipment. However, I will be discussing a wide variety of factors and considerations that are relevant for high performance analog design.
I’m also proud to announce that our new Technical Support engineer Krithika Rajagopal will be presenting a paper for which she was first author, “Automatic Soundscape Classification via Comparative Psychometrics and Machine Learning,” during the Auditory Perception paper session on Sunday at 3 PM.
Please welcome Krithika next time you call Tech Support, or stop by our booth #526 at AES to say hello (get a complimentary exhibit pass courtesy of AP).
Output: Measuring Jitter with APx
AP’s 2700 Series analyzers feature a macro for J-Test jitter analysis. Now, the new APx Jitter Measurement Utility adds this capability to the APx Series.
Jitter is any undesirable fluctuation in timing from an expected clock rate. When a digital audio signal with jitter enters a D/A (Digital to Analog) converter, any jitter the converter is unable to correct will manifest itself as defects in the reconstructed analog audio waveform. Therefore, under certain conditions, it is possible to measure the effect of jitter in the physical digital transport stream by analyzing the analog audio signal at the converter output.
The late Julian Dunn developed a special digital test signal for this purpose called J-test, which stimulates worse-case jitter over an AES3 digital audio connection. AES3 includes balanced and unbalanced pro formats, as well as the coaxial and optical SPDIF consumer variants.
The J-test signal has two components. The first is an undithered sine wave at 1/4 the digital sample rate (12 kHz for a 48 kHz sample rate), with an amplitude of one half of full scale. The second component is an undithered low-frequency square wave with an amplitude of 1 LSB (least significant bit). The frequency is not critical, but for a sample frequency of 48 kHz, a rate of 250 Hz is normally used, as that makes the signal synchronous with the AES3 channel status block of 192 samples. At only 1 LSB, the 250 Hz signal is extremely small and only apparent when jitter is present.
J-Test and AES3 / SPDIF
AES3 formats do not have a separate clock line, so therefore the receiver has to reconstruct the clock from the edge transitions of the audio data. This is significant, because any variation in the arrival of each transition can affect the recovered clock rate. Due to resistive-capacitive effects which limit the rise-time of the signal, the waveform at any instant is a function of what’s currently being put on the line by the transmitter, and any history from what was sent previously. This is known as intersymbol interference.
Intersymbol interference (see large view with input waveforms).
In the J-test signal, almost all the bits change at the same time, from all 0’s to all 1’s and back again, at a rate of 250 Hz. The waveform edges in the all-0s bits are slightly displaced from the those of the all-1s bits, due to the intersymbol interference. This low-frequency coherent alternation in the bit values produces strong jitter spectral components at 250 Hz and at odd multiples of that frequency, as well as sidebands around the high frequency tone. These artifacts can clearly be seen and measured using FFT analysis. In the examples made with the APx utility below, D/A converter #2 shows far more jitter (935.1ps) than D/A converter #1 (51.0 ps).
J-test FFT result for D/A converter #1.
J-test FFT result for D/A converter #2.
J-test jitter spectra result for D/A converter #1.
J-test jitter spectra result for D/A converter #2.
HDMI, Disc Players
J-test does not induce jitter over HDMI. Like AES3, HDMI does not have an audio clock line and the clock must therefore be reconstructed. But audio over HDMI is sent in packets between the video frames, and not as a continuous synchronous stream. HDMI uses the video clock to reconstruct the audio clock. Although there is possibility for jitter in HDMI, the content of the test signal has no effect on its frequency or magnitude. Because we can’t stimulate jitter at a particular frequency, unless there is a specific coherent interference source causing it, any jitter that is present may very likely be random and will just cause an increase in the noise floor with no visible spikes in the FFT.
The same situation occurs in a disc player. A disc player pickup transmits data internally over I2S, which contains a separate audio clock line, and not over AES3. Therefore, the J-test signal can not induce jitter into the signal.
APx J-Test Measurement Utility
The APx J-Test Measurement Utility lets you measure jitter on an APx analyzer using the J-test signal. It displays graphs showing the FFT spectrum, the jitter spectral density, and the integrated jitter, in addition to a total jitter value. Tools are included for manipulating the graphs, and exporting graphic images and data.
APx J-Test Measurement Utility, FFT Spectrum view (see larger view).
If APx500 is not running when you start the utility, it will load. A prompt will ask if you want to open the default project file that comes with the utility. We suggest that you start out using it, as it is already preconfigured with the correct settings. Change the input and output configuration in the project’s signal path setup if necessary. The utility also has controls that allow you to load your own project and specify the signal path and measurement name.
Set the desired Output Sample Rate (44.1, 48, 96, or 192 kHz) and then click Start to begin the acquisition. The FFT will average 16 times to reduce noise, and results will be displayed when it completes. You may then switch between the FFT Spectrum and Jitter Spectra graphs and utilize the toolbox located below for setting cursors, zooming, and moving. The Channel Selector control lets you choose to display either the left or right channel.
Sound Advice: Controlling APx with Python
How can I control my APx analyzer using the Python programming language?
Pure Python cannot interface with .NET Assemblies. IronPython, however, can and was developed just for that reason. As a bonus, scripts written in earlier versions of Python will seamlessly work in IronPython. Both Python and IronPython can simultaneously be installed on the same computer.
We have written sample code in IronPython which loads the APx500 measurement software, makes the APx500 application visible, loads a sample project, runs the sequence to make a measurement, and produces a report.
The associated download, APx Python Sample Code, includes two files: APxControl.py and SampleProject.approjx. Unzip the download and place the two files into a convenient folder.
Before running APxControl.py, you will need to create a file association to the IronPython interpreter, and make sure that the references in the code are correct. To make the file association, right-click on the file, select Open With… and click Browse…. Then locate C:\Program Files\IronPython 2.7\ipy.exe and click Open. Check Always use… and then click OK. The exact steps may vary depending on your version of Windows.
The explicit paths to the Python libraries and the APx API are in lines 2 and 3 of APxControl.py. Change these as needed to point to the correct locations and versions.
Now double click on APxControl.py. The UI will open, as shown above. Click the first button to load APx500 v2.8. Then, click the second to load the example project. Click the third button to run the Frequency Response measurement and produce a report. The example project file is configured for analog unbalanced loopback on the APx515 and 525 family analyzers, or Analog Unbalanced Output and Analog Unbalanced Input on the APx585 family (connect external loopback cables).
Test Results: AP News & Events
Audio Precision has one open position (more details):
Senior Software Engineer: Senior software development of extremely high performance digital audio test and measurement instrumentation and applications. Individual contributor as well as providing technical leadership to the software team.
This job is at the factory in Beaverton, Oregon. Competitive salary and benefits. Audio Precision is an Equal Opportunity Employer. See our Careers page for more details.
©2011 Audio Precision, Inc.