# What specifically does PCM refer to?

What specifically is PCM? I've seen it refer to:

1. the sampling and quantisation of an analogue domain signal into digital samples

2. those sample quantisations alone in the digital domain i.e. in memory or storage i.e. .pcm files

3. the transmission of quantisations or indeed any bitstream as a digital signal with a digital line code through a DAC into the analogue domain

4. the process of 1+2

5. the process of 1+3

• well, if you've seen it refer to multiple things, then it means all these things. Context is key in any form of human communication (i.e. the spoken or written word) – Marcus Müller Oct 22 '20 at 7:37
• @MarcusMüller Well I just thought that the term 'modulation' was a bit of a misnomer for 1), same for Digital PAM, because it's not really 'modulation',because there's no carrier to modulate. It's like how digital PAM only becomes APSK when a carrier is involved. Digital pam is a bit like saying modulating a series of pulses with a binary sequence, whereas PCM seems to be 'modulation that transforms into a binary sequence' which seems to be loosely, 'modulation with a Dirac comb' or in the case of 3, 'modulation with a binary sequence ' again – Lewis Kelsey Oct 22 '20 at 10:34
• en.wikipedia.org/wiki/Pulse-code_modulation – Hilmar Oct 22 '20 at 12:29
• Well, obviously I've seen that. The general consensus I'm arriving at is that it's mainly 5), the 'modulation' word being as if it were the modulation of the analogue signal with another signal in the analogue domain to give the digital signal output – Lewis Kelsey Oct 22 '20 at 12:34
• It have not seen it to refer to line coding of a generic bit stream tbh, but instead that it consists of the samples of the analogue signal. So my final consensus is that it mainly refers to line coding of a serialisation of samples from an analogue signal. There is a terminological confusion on this in the literature and I have to know exactly what a surface level classification refers to, which can often actually be a difficult task even when you know the low level details – Lewis Kelsey Oct 22 '20 at 12:43

I like this paper a lot: The philosophy of PCM. It explains PCM very clearly, includes references to some of the earliest papers on it, and you can hardly argue with the qualifications of the authors :)

PCM was conceived as a three-step process. First, sampling (at frequency $$f_s$$ sufficiently above Nyquist). Second, quantizing (with enough resolution $$\Delta$$ to obtain the required quantization SNR). Third, coding, or mapping the quantized samples to $$M=2^k$$ pulse amplitudes, with $$M$$ chosen to obtain the required line pulse rate.

PCM, then, has parameters $$f_s$$, $$\Delta$$ and $$M$$. Each of these affect system performance in different ways.

Why use the term "modulation"? In communications, "modulation" is very general, and is used almost as a synonym to "mapping" or "converting elements from an input set to an output set". In fact, what you understand as "modulation" (multiplying by a carrier) is often called "upconversion" and "downconversion", to avoid confusion.

• I just saw the line coding part being called 'baseband modulation' as opposed to the optional 'bandpass modulation' so it seems like modulation in the former case is data -> waveform and in the second case carrier waveform -> modified waveform – Lewis Kelsey Oct 23 '20 at 11:02

I think it's helpful to derive the literal meaning of PCM.

The process of multiplying two signals is Amplitude Modulation—AM. If one signal is a constant 1, the other passes though. If 0, no signal passes, just a constant 0 value. In between values modulate the amplitude of the other input—amplitude modulation.

Analog sampling—taking a measurement at a regular interval—is equivalent to AM of the signal with a pulse train. Another term for this is Pulse Amplitude Modulation—PAM:

Since the pulse train is 1 for an instant, we get the signal value at that instant, but 0 at all other times.

For digital audio, we save only those instantaneous values, the only information we need to reconstruct that PAM signal, since it's zero at all other times. We encode the instantaneous values into a numerical values. That's the C, "Code", that replaces the Amplitude in PAM, resulting in Pulse Code Modulation—PCM.

So, whether you stream it or hold it in memory, those sample values represent the pulse-code-modulated signal. As long as you have a series of digital values that represent the amplitudes of the pulses emitted from the PAM process, it's a PCM signal.

• So PCM is just the sampling and quantising part? That's a bit weird doesn't that theoretically make all signals in the digital domain PCM, as they're just discrete sets of samples. I think the emphasis is on that it's an analogue rather than digital waveform being sampled – Lewis Kelsey Oct 23 '20 at 7:51
• Good question. I'd say that PCM is the starting point. You can see that in the name "adaptive differential PCM", for instance. The sample values no longer directly represent sampled levels. Same with mp3, AAC. They all started with PCM, though. Theoretically, you could obtain the analog sample (fundamentally PAM), do analog processing (differential, etc.), they digitize it and never truly be PCM, but starting with PCM and applying such techniques is more practical. Offhand, I can't think of any case where the data weren't at least derived from PCM, for audio at least, maybe someone else can. – Nigel Redmon Oct 23 '20 at 21:22
• it's a bit like how you could call modulating an OFDM symbol with a carrier 'AM', because this appears as a continuous level continuous-time analogue waveform multiplied by a carrier in the analogue domain—I don't think I would, same with how if this were sampled it wouldn't be PCM, because it's still ultimately a digital signal. I think you're right: PCM is a function that multiplies a signal with a Dirac comb and maps amplitudes to samples. Analogue PAM is a function that multiplies with a Dirac comb and line coding (which includes digital PAM)... – Lewis Kelsey Oct 24 '20 at 8:28
• ... is a function that serialises discrete samples and maps to amplitudes. – Lewis Kelsey Oct 24 '20 at 8:28
• Well, line coding in general is actually the mapping of an already serialised bitstream to amplitudes. Like MBaz says, PCM traditionally encompasses that outcome of the samples – Lewis Kelsey Oct 24 '20 at 8:40