Why consumer digital audio systems have errors
In a previous post titled "Digital Audio: why cd players sound different", I explained why I decided to attach my oscilloscope to the digital audio outputs of four different cd players. In this post, I'll explain what "jitter" is, and how it affects digital audio transmission. In later posts, I'll explain my experimental setup, and highlight the interesting results. You can find all my experimental data, and a hasty write-up, at http://komarix.org/per/computers/spdif.
Consider the following sequence of words:
| let me shoot that duck before I hit you I have a cow hide under rocks at home |
You can change the interpretation of these words by changing where periods go:
| Let me shoot that duck before I hit you. I have a cow hide under rocks at home. |
| Let me shoot that. Duck before I hit you. I have a cow. Hide under rocks at home. |
When we listen to each other speak, we infer where the periods go. When we read text, we know exactly where the periods are. We have the same choices in digital data transmission. We can use protocols that tell us where the periods are, or we can use protocols that make us guess. Consumer digital audio uses the SPDIF protocol, a descendent of the professional AES/EBU standard, and both make us guess where the periods are. If we guess wrong, we misinterpret the audio data in one way or another. For those who understand all this, please excuse my weak analogy.
AES/EBU and SPDIF use biphase-mark-code modulation, which helps the receiver (e.g. a pre-amp) recover the data clock of the sender (e.g. the CD player) just by looking at the data stream. The sender encodes the data using an approximation of an irregular square wave with voltages between -1 volt and +1 volt. Let's define a "zero crossing" to be the time at which the square wave is at zero volts (as it switches between -1v and +1v). In biphase-mark-code modulation, the receiver knows that zero crossings should be separated by one, two, or three ticks of the data clock. For AES/EBU and SPDIF, those ticks should be about 177 nanoseconds apart. Deviations from these rules are called "jitter". See http://www.epanorama.net/documents/audio/spdif.html for more details about these protocols.
The receiver of the digital data stream can take advantage of biphase-mark-code constraints, and only hasto measure voltage of the sender's square wave once every 177 nanoseconds (preferably half-way between clock ticks). If the receiver doesn't sync its clock exactly to the sender's clock, then the receiver will occasionally misread the senders data. Synchronizing one high-quality clock in the receiver to another high-quality clock in the sender isn't very hard.
Unfortunately, most CD players have deplorable low-accuracy clocks, and can't keep a steady "beat". The device you connect your CD player to, maybe a pre-amp, is constantly readjusting its clock as it tries to understand what the CD player is trying to tell it. This causes errors when interpreting the audio data. If the pre-amp has a low-quality digital input circuit, even more errors will occur. If you want to really understand what these errors are, and how they affect sound reproduction in absolute and psycho-acoustic terms, see http://stereophile.com/features/396bits/ and http://www.stereophile.com/features/368/.
Labels: audio, electronics, experiments

0 Comments:
Post a Comment
Links to this post:
Create a Link
<< Home