Pulse-code modulationPulse-code modulation (PCM) is a digital representation of an analog signal. The magnitude of the signal (with respect to a fixed reference) is sampled regularly at a frequency fs. This means the value of the signal, a sample, is captured at uniform intervals of duration T (= 1/fs). Every sample is quantized to a series of symbols in a digital code, which is usually a binary code. PCM is used in digital telephone systems and for digital audio recording on compact discs. In conventional PCM, before being digitized, the analog data may be processed (e.g. compressed), but once digitized, the PCM signal is not subjected to further processing (e.g. digital compaction). In telephony, several PCM streams may be multiplexed into a larger aggregate data stream. Differential (or Delta) pulse-code modulation (DPCM) encodes the PCM values as differences between the current and the previous value. For audio this type of encoding reduces the number of bits required per sample compared to PCM by about 25%. A variant of DPCM, Adaptive DPCM (ADPCM) varies the size of the quantization step, to allow futher reduction of the required bandwidth for a given signal-to-noise ratio. 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. History In the 1930s the necessity to convert analogue data to digital format for computer use was unknown - there were no computers capable of using it. However the idea was seen by Alec Reeves as a means of communicating with perfect fidelity - no errors could arise in a system based on ones and noughts. In 1938 he filed a patent in France that introduced the concept of digital communication which he called Pulse Code Modulation. It is now commonplace for computers, radio, television, CDs, recording and so on. More about Alec Reeves can be found on http://www.alecharleyreeves.com, including on line versions of his writings and lectures. There are also some Active-X online versions of the experiments he performed in PCM.