# Modulação por código de pulsos

Modulação por Código de Pulso (PCM) ou em inglês Pulse-code modulation (PCM) é um método usado para representar digitalmente amostras de sinais analógicos. É a forma padrão para áudio digital em computadores e em vários formatos de Blu-ray, DVD e Discos Compactos em inglês Compact Disc (CD), também outros usos tal como os sistemas digitais de telefones. Um fluxo de PCM é uma representação digital de um sinal analógico, em que a magnitude do sinal analógico é mostrada regularmente em intervalos uniformes, com cada amostra a ser quantizada para o valor mais próximo dentro de um intervalo de passos digitais. Os fluxos PCM têm duas propriedades básicas que determinam a sua fidelidade ao sinal analógico original: a taxa de amostragem, que é o número de vezes por segundo que amostras são tomadas; e a profundidade de bit, que determina o número de possíveis valores digitais que cada amostra pode tomar.

## História

Na história das comunicações eléctricas, a razão mais antiga para amostragens de sinais foi entrelaçar amostras de fontes diferentes de telegrafia, e transmiti-las por um único cabo de telégrafo. A multiplexação por divisão de tempo de telégrafo, em inglês time-division multiplexing (TDM) foi transmitida tão cedo como 1853, pelo inventor Americano Moses G. Farmer. O engenheiro electrotécnico W. M. Miner, em 1903, usou um comutador electromecânico para a multiplexação por divisão de tempo de múltiplos sinais de telégrafo, e também aplicou esta tecnologia à telefonia. Ele obteve discurso inteligível a partir de amostras de canais com frequências acima 3500-4200 Hz; as frequências mais baixas foram insatisfatórias. Esta foi a TDM, mas a modulação por amplitude de pulso, em inglês pulse-amplitude modulation (PAM) em vez de PCM.
Em 1926, Paul M. Rainey da Western Electric patenteou uma máquina de fax que transmitia o seu sinal usando 5-bit PCM, codificado por um conversor analógico-digital opto-mecânico. A máquina não entrou em produção. O engenheiro Britânico Alec Reeves ignorando o trabalho anterior, concebeu o uso de PCM para comunicação de voz em 1937 enquanto trabalhava para a International Telephone and Telegraph na França. Ele descreveu a teoria e vantagens, mas não resultou em uso prático. Reeves apresentou um patente Francesa em 1938, e a sua patente foi reconhecida nos E.U.A. em 1943.
A primeira transmissão de discurso por técnicas digitais foi o equipamento de encriptação SIGSALY usado em alto nível das comunicações dos Aliados durante a Segunda Guerra Mundial. Em 1943, os investigadores dos Laboratórios Bell (Bell Labs) que projetaram o sistema SIGSALY tornaram-se conscientes do uso do código binário de PCM como já proposto por Alec Reeves. Em 1949 para o sistema DATAR da marinha Canadiana, Ferranti Canadá construiu um sistema de radio PCM funcional que foi capaz de transmitir dados de radar digitados por longas distâncias.
No final dos anos 1940 e princípios dos anos 1950, PCM, usou uma codificação num tubo de raios catódicos com uma placa de eléctrodo tendo em perfurações de codificação. Como num osciloscópio, o feixe foi varrido horizontalmente à taxa de amostra enquanto a deflexão vertical era controlada pela entrada de sinal analógico, fazendo com que o feixe passe através de porções superiores e inferiores de placa perfurada. A placa recebia ou passava o feixe, produzindo variações de corrente em código binário, um bit de cada vez. Em vez de binário natural, a grelha do tubo de Goodall mais tarde foi perfurada para produzir uma falha-livre código cinza, e produziu todos os bits simultaneamente ao usar um feixe de ventilador em vez de feixe de varredura. A National Inventors Hall of Fame homenageou Bernard M. Oliver e Claude Shannon como os inventores do PCM, como descrito em 'Communication System Employing Pulse Code Modulation,' U.S. Patent 2 801 281 apresentado em 1946 e 1952, concedido em 1956. Outra patente com o mesmo título foi apresentada por John R. Pierce em 1945, e emitida em 1948: U.S. Patent 2 437 707. Três deles publicaram "The Philosophy of PCM" em 1948.
A modulação por código de pulso, em inglês Pulse-code modulation (PCM), foi usada no Japão por Denon em 1972 para o domínio e produção de discos fonográficos analógicos, usando um vídeo gravador com formato de duas polegadas Quadruplex para o seu transporte, mas este não foi desenvolvido num produto de consumo.

## Modulação

No diagrama, uma onda sinusoidal (curva vermelha) é amostrada e quantizada para modulação por código de pulso. A onda sinusoidal é amostrada em intervalos regulares, mostrado como tiques no eixo dos xx. Para cada amostra, um dos valores disponíveis (tiques no eixo dos yy) é escolhido por algum algoritmo. Este produz uma representação totalmente discreta do sinal de entrada (área sombreada) que pode ser facilmente codificada como dados digitais para armazenamento ou manipulação. Para a onda sinusoidal à direita, podemos verificar que os valores quantizados em momentos de amostragem são 7, 9, 11, 12, 13, 14, 14, 15, 15, 15, 14, etc. Codificando esses valores em números binários resultaria no seguinte conjunto de nibbles: 0111 (2$^3$.0+2$^2$.1+2$^1$.1+2$^0$.1=0+4+2+1=7), 1001, 1011, 1100, 1101, 1110, 1110, 1111, 1111, 1111, 1110, etc. Estes valores digitais podiam assim ser mais processados ou analisados por um processador de sinais. Vários fluxos PCM podiam também ser multiplexados num maior agregado de fluxo de dados, geralmente para transmissão de múltiplos fluxos numa única ligação física. Uma técnica é chamada de multiplexação por divisão de tempo, em inglês time-division multiplexing (TDM) e largamente usada, notavelmente no moderno sistema de telefone público.
O processo de PCM é geralmente implementado num único circuito integrado e é geralmente referido como um conversor analógico-digital (ADC).

## Demodulação

Para produzir uma saída a partir dos dados de amostragem, o procedimento de modulação é aplicado ao contrário. Depois de cada período de amostragem ter passado, o valor seguinte é lido e o sinal de saída é deslocado para o novo valor. Como resultado destas transições, o sinal terá valor significante de energia de alta frequência. Para atenuar o sinal e remover estas frequências indesejáveis que o constituem, o sinal é passado através filtros analógicos que suprimem a energia fora da gama de frequência prevista (isto é, maior que a frequência de Nyquist). O teorema de amostragem sugere que dispositivos práticos PCM, desde uma frequência de amostragem que é suficientemente maior do que a do sinal de entrada, pode funcionar sem introduzir de distorções significantes dentro das bandas de frequência para que foi concebida.
A eletrônica envolvida na produção de um preciso sinal analógico a partir de dados discretos são similares àqueles usados para gerar sinal digital. Estes dispositivos são conversores digital-analógico (DACs), e funcionam similarmente aos ADCs. Eles produzem na sua saída uma tensão ou corrente (dependendo do tipo) que representa o valor apresentado nas suas entradas digitais. Esta saída seria então geralmente ser filtrada e amplificada para utilização.

## Limitações

Aqui estão as potenciais origens de prejuízo implícito em qualquer sistema PCM:
* Ao escolher um valor discreto próximo do sinal analógico para cada amostra conduz a erro de quantização
* Entre amostras nenhuma medida de sinal é feita; o teorema da amostragem garante representação não-ambígua e a recuperação do sinal apenas se não tem energia à frequência fs/2 ou superior (um meio da frequência de amostragem, conhecida por frequência Nyquist); as frequências superiores geralmente não são corretamente representadas ou recuperadas.
* Como as amostras são dependentes do tempo, um relógio preciso é necessário para a correcta reprodução. Se o relógio da codificação ou da descodificação não for estável, o desvio da sua frequência irá afetar diretamente a qualidade de saída do dispositivo.

## Digitalização como parte do processo PCM

Em PCM convencional, o sinal analógico talvez seja processado (exemplo, por compressão de amplitude) antes de ser digitado. Uma vez que o sinal esteja digitado, o sinal PCM é frequentemente sujeito a processamento adicional (exemplo, Compressão digital de dados).
PCM com quantização linear é conhecido como Linear PCM (LPCM).
Algumas formas de PCM combinam processamento de sinal com codificação. Versões mais antigas desses sistemas aplicaram o processamento no domínio analógico como parte do processo analógico-digital; implementações mais recentes fazem então no domínio digital. Estas técnicas simples têm sido largamente tornadas obsoletas por modernas técnicas de transformação baseadas em compressão de áudio.
* DPCM codifica os valores de PCM como diferenças entre o atual e o previsto. Um algoritmo prevê a amostra seguinte baseado nas amostras anteriores, e o codificador armazena apenas a diferença entre esta previsão e o valor actual. Se a previsão é razoável, menos bits podem ser usados para representar a mesma informação. Para áudio, este tipo de codificação reduz o número de bits necessário por amostra em 25% comparado com PCM.
* Adaptativo DPCM (ADPCM) é uma variante de DPCM que varia o tamanho do passo de quantização, para permitir uma maior redução da largura de banda necessária para uma dada razão de sinal-ruído.
* Modulação Delta é uma forma de DPCM que usa um bit por amostra.
Em telefonia, um sinal áudio padrão para um simples telefonema é codificado em 8.000 (oito mil) amostras analógicas por segundo, de 8 bits cada, dando um sinal digital de 64kbps conhecido como DS0. O padrão de codificação de compressão de sinal num DS0 é μ-law (mu-law) PCM (Na América do Norte e no Japão) ou A-law PCM (Na Europa e na maior parte do resto do mundo). Estes são sistemas de compressão logarítmica onde uma amostra de PCM linear de 12 bits ou 13 bits é mapeada numa de valor 8 bits. Este sistema é descrito pela norma internacional G.711. Uma alternativa proposta para representação de um ponto flutuante, com 5 bits mantissa e 3 bits radix, foi abandonada.
Onde os custos de circuitos são altos e perda de qualidade de voz é aceitável, que por vezes faz sentido para comprimir o sinal de voz sempre mais. Um algoritmo ADPCM é usado para mapear umas séries de amostras de 8 bits µ-law ou A-law em séries de amostras de 4 bits ADPCM. Desta forma, a capacidade da linha é duplicada. A técnica está detalhada na norma G.726.
Mais tarde verificou-se que, mesmo a compressão adicional era possível e normas adicionais foram publicadas. Algumas dessas normas internacionais descrevem sistemas e ideias que são cobertos por patentes de propriedade privada e, portanto o uso dessas normas requer pagamentos aos detentores das patentes.
Algumas técnicas ADPCM são usadas em comunicações Voz sobre IP.

## Codificação para transmissão serial

Modulação por código de pulsos pode ser retorna-a-zero, em inglês return-to-zero, (RZ) ou não–retorna-a-zero, em inglês non-return-to-zero, (NRZ). Para um sistema estar sincronizado usando informação na banda, não deve haver longas sequências de símbolos idênticos tais como uns e zeros. Para sistemas PCM binários, a densidade dos símbolos 1 é chamado densidade de uns, em inglês ones-density.
A densidade de uns, em inglês ones-density, é muitas vezes controlada usando técnicas de pré-codificação tais como codificação de execução por tempo limitado, em inglês Run Length Limited, onde o código PCM é expandido para um código ligeiramente mais longo com uma garantia de que está ligado na densidade de uns antes da modulação para o canal. Noutros casos, bits de enquadramento são adicionados ao fluxo que garantem, pelo menos, transições de símbolos ocasionais.
Outra técnica usada para controlar a densidade de uns é o uso de um misturador polinomial sobre os dados brutos que tenderão a tornar o fluxo de dados em bruto num fluxo que parece pseudo-aleatório, mas onde fluxo em bruto pode ser recuperado exatamente pela inversão do efeito do polinômio. Neste caso, longas execuções de zeros ou uns são ainda possíveis na saída, mas são considerados improváveis o suficiente para estar dentro da tolerância engenharia normal.
Em outros casos, o valor DC de longo prazo do sinal modulado é importante, como construção de um desfasamento de [corrente continua|DC] tenderá a circuitos de polarização do detetor para fora da sua gama de funcionamento. Neste caso são tomadas para manter uma contagem cumulativa de compensador DC, e para modificar os códigos se necessário, para fazer o compensador DC sempre tender a voltar para zero.
Muitos destes códigos são códigos bipolares, onde os pulsos podem ser positivos, negativos ou nulos. Na típica inversão alternada de marcas de código, pulsos não zero, em inglês non-zero, alternam entre ser positivos e negativos. Estas regras podem ser violadas para gerar símbolos especiais usados para enquadramento ou outros propósitos especiais.

## Nomenclatura

A palavra pulso no termo Modulação por Código de Pulso refere-se aos "pulsos" que podem ser encontrados na linha de transmissão. Esta é talvez a consequência natural desta técnica ter evoluído ao lado de dois métodos analógicos, PWM e PPM, em que a informação a ser codificada é, de facto representada por pulsos de sinais discretos de variação de largura ou posição, respectivamente. A este respeito, PCM tem pouca semelhança a estas outras formas de codificação de sinal, excepto que todos podem ser usados em multiplexagem por divisão de tempo, e os números binários dos códigos PCM são representados como pulsos eléctricos. O dispositivo que realiza as funções de codificação e de descodificação num circuito de telefone é chamado um codec.