Pulse code modulation

Pulse code modulation (PCM) is the simplest method of digitally encoding analog signals, in particular audio. The analog signal is sampled as a discrete-time signal, and the amplitude of each discrete sample is quantized in a binary representation and transmitted or stored. Pulse code modulation is encoded using an analog-to-digital converter (ADC) and decoded using a digital-to-analog converter (DAC).

PCM is inherently lossy, since it discretizes an analog signal in both time and amplitude. However, the practical limitations of human hearing (20 kHz bandwidth, 140 dB dynamic range) allow us to theoretically guarantee that the conversion from analog to digital does no perceptual damage if the sampling rate and quantization algorithm are sufficient.

Speaking of the quantization algorithm, there are many possible methods for quantizing signals with tradeoffs between dynamic range, distortion, and bit depth. Examples include linear, µ-law, A-law, and floating point. Other variants of PCM transform the signal before quantizing it, such as DPCM and ADPCM.