D to A conversion is a very interesting subject and its implementation can take many forms. Digitally encoded audio or pulse code modulation (PCM) provides a stream of binary numbers which represent the audio signal. No matter what the transmission path and its deficiencies may be, if the binary numbers can be recovered then the audio can be regenerated free of interference.
There are three main types of D to A conversion.
- Multi-bit. This is the original classic design that directly generates an output voltage or current to represent each binary number.
- Bitstream. This was the next design change introduced by Philips. Many similar designs are now available and are often called single bit decoders.
- Pulse Position (sometimes called pulse width decoding). Here the width of a pulse is varied by the digital code.
Multi-Bit decoders contain a cascade of current (or voltage) generators representing each of the bits in a sample. Thus in a 16-bit system, there are 16 generators each of which is switched on or off depending on the values of the respective 0’s and 1’s in the 16-bit word. The outputs of the 16 generators are summed to produce the analogue sample.
With 16-bit PCM, the device must be able to produce 65,536 discrete levels and as music is represented by an ac signal this may be thought of as plus and minus 32,768 levels. These numbers imply a very high degree of accuracy, if the device is to be work properly to the least significant bit. For example, a transition from 0111111111111111 to 1000000000000000 will require a resolution of 1/32,768 as the most significant binary generator takes over and all the others are reset to zero.
To put this problem in context, imagine making a voltage divider to represent the various levels. This is clearly impossible, as you would not be able to produce the necessary degree of component accuracy and even if you could it would drift off calibration very quickly.
The problem was neatly got round by Philips in there respected TDA 1541 by having an on board square wave generator and shift register, this concept allows the output to be dependent upon the accuracy of the square wave rather than the individual binary current sources. A full description of the technique is given in the Philips manual but put simply each binary weighted current source is switched within dividers (4 times per sample) such that an amplitude error results in equal and opposite errors at the output. In ideal conditions these errors are smoothed out by the low pass filter at the output. Hence the linearity is dependent upon the square wave timing and not the accuracy of individual current sources.
Bitstream. The previous description shows how difficult it is to accurately produce the levels needed for each binary number. Bitstream is a solution to this that uses only one bit or pulse. In this device, the output level is represented by a number of pulses. The least significant bit would have a single short pulse and the number of pulses would rise in accordance with the binary code. If this stream of pulses is integrated in a simple filter then the output is an exact copy of the audio, but without any errors due to inaccurate current sources. This is a very neat idea because it makes the output entirely dependent upon the size and amplitude of a single pulse. Even if the pulse parameters change with age the output is still linear over the full code range. There is the disadvantage that the timing of the pulses is important; any inconsistency in timing will result in distortion at the output.
Pulse Position. This uses exactly the same principle as bitstream except that the width of the pulse is varied in accordance with the binary code and the result smoothed by the output filter.
A very recent addition to the previously mentioned converter types is called "continuous calibration". This gets around the original problem by ensuring that each binary current bit generator is repeatedly calibrated against an on board reference. This guarantees good linearity and does not need the high clocking frequencies that bitstream requires.
Ganymede Test & Measurement
1st December 2001