Difference between revisions of "Pulse-code modulation"

From Sega Retro

 
m (Categorization)
Line 1: Line 1:
 
 
From Wikipedia:
 
From Wikipedia:
  
Line 36: Line 35:
 
Ones-density is often controlled using precoding techniques such as [[Run Length Limited encoding]], 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.
 
Ones-density is often controlled using precoding techniques such as [[Run Length Limited encoding]], 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
+
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.
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.
 
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.

Revision as of 10:53, 27 June 2006

From Wikipedia:

Pulse-Code Modulation

Pulse-code modulation (PCM) is a modulation technique invented by the British Alec Reeves in 1937. It is a digital representation of an analog signal where the magnitude of the signal is sampled regularly at uniform intervals. 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. It is also the standard form for digital audio in computers and various compact disc formats.

Several PCM streams may be multiplexed into a larger aggregate data stream. This technique is called Time-Division Multiplexing, or TDM. TDM was invented by the telephone industry, but today the technique is an integral part of many digital audio workstations such as Pro Tools.


Digitization as part of the PCM process

In conventional PCM, the analog signal may be processed (e.g. by amplitude compression) before being digitized. Once the signal is 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.

* Differential (or Delta) pulse-code modulation 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 by about 25% compared to PCM.

* Adaptive DPCM is a variant of DPCM that varies the size of the quantization step, to allow further reduction of the required bandwidth for a given signal-to-noise ratio.

In telephony, a standard audio signal for a single phone call is encoded as 8000 analog samples per second, of 8 bits each, giving a 64 kbit/s digital signal known as DS0. The default encoding on a DS0 is either μ-law PCM (mu-law PCM) (North America) or a-law PCM (Europe and most of the rest of the world). These are logarithmic 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.

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. The technique is detailed in the G.726 standard.

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 use of these standards requires payments to the patent holders.

Some ADPCM techniques are used in Voice over IP communications.


Encoding the bitstream as a signal

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 such as Run Length Limited encoding, 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.

From: Wikipedia Article([1])