Pulse-code modulation (PCM) is a modulation technique. It is a digital representation of an analog signal where the magnitude of the signal is sampled regularly at uniform intervals of duration . Every sample is quantized to a series of symbols in a digital code, which is usually a binary code. Nyquist's theorem states that frequencies higher than half the sample frequency () cannot be reconstructed. PCM is used in digital telephone systems and for digital audio recording on compact discs.
In telephony, several PCM streams may be multiplexed into a larger aggregate data stream.
Table of contents |
2 Encoding the bitstream as a signal 3 History of PCM 4 See also |
In conventional PCM, before being digitized, the analog signal may be processed (e.g. by amplitude compression), but once digitized, the PCM signal is not subjected to further processing (e.g. digital data compression).
Some forms of PCM combine signal processing with coding. Older versions of these systems applied the processing in the analog domain as part of the A/D process, newer implementations do so in the digital domain. These simple techniques have been largely rendered obsolete by modern transform-based signal compression techniques.
Where circuit costs are high and loss of voice quality is acceptable, it sometimes makes sense to compress the voice signal even further. An ADPCM algorithm is used to map a series of 8 bit PCM samples into a series of 4 bit ADPCM samples. In this way, the capacity of the line is doubled. There is a standard G.726 which describes how this is done.
Later it was found that even further compression was possible and additional standards were published.
Some of these international standards describe systems and ideas which are covered by privately owned patents and thus to use these standards requires payments to the patent holders.
Some of the ADPCM techniques are used in Vo/IP (Voice over IP) communications. IP stands for Internet Protocol, the protocol used to communicate over the internet, as well as most modern networks. (See 802.3)
Pulse-code modulation can be either return-to-zero (RZ) or non-return-to-zero (NRZ). For a NRZ system to be synchronized using in-band information, there must not be long sequences of identical symbols, such as ones or zeroes. For binary PCM systems, the density of 1-symbols is called 'ones-density'.
Ones-density is often controlled using precoding techniques where the PCM code is expanded into a slightly longer code with a guaranteed bound on ones-density before modulation into the channel. In other cases, extra 'framing' bits are added into the stream which guarantee at least occasional symbol transitions.
Another technique used to control ones-density is the use of a 'scrambler' polynomial on the raw data which will tend to turn the raw data stream into a stream that looks pseudo-random, but where the raw stream can be recovered exactly by reversing the effect of the polynomial. In this case, long runs of zeroes or ones are still possible on the output, but are considered unlikely enough to be within normal engineering tolerance.
In other cases, the long term DC value of the modulated signal is important, as building up a DC offset will tend to bias detector circuits out of their operating range. In this case special measures are taken to keep a count of the cumulative DC offset, and to modify the codes if necessary to make the DC offset always tend back to zero.
Many of these codes are bipolar codes, where the pulses can be positive, negative or absent. Typically, non-zero pulses alternate between being positive and negative. These rules may be violated to generate special symbols used for framing or other special purposes.
to be written - topics to be covered:
Digitization as part of the PCM process
The default encoding on a DS0 is either mu-law PCM (North America) or a-law PCM (Europe and most of the rest of the world). These are logrithmic compression systems where a 12 or 13 bit linear PCM sample number is mapped into an 8 bit value. This system is described by international standard G.711.Encoding the bitstream as a signal
History of PCM
See also