Cada amostra ou pulso PAM é transformada em uma quantidade predefinida
de n bits.
Por exemplo, com n = 8 bits é possível representar
256 valores diferentes (0 a 255).
Para facilitar, vamos supor que os pulsos PAM são limitados
entre 0 e 255 Volts.
Um pulso qualquer pode ter como valor real 147,39 V, mas terá
de ser quantizado como tendo 147 V ou 148 V, pois não é possível
representar 147,39 com 8 bits. O valor quantizado (para mais ou para menos)
depende dos valores dos níveis de decisão no projeto
do ADC.
Teremos então um erro, no caso de -0,39 V ou +0,61 V respectivamente,
chamado erro de quantização. Esta falta ou excesso
no valor do sinal provoca o surgimento de um sinal aleatório, chamado
ruído de quantização. Se prova matematicamente
que a máxima relação sinal/ruído de quantização
possível é da ordem de: S/N max = 6n , onde
n é o numero de bits.
Por ex. 8 bits : S/N de quantização max = 48 dB
16 bits : S/N de quantização max = 96 dB
Esta relação só é atingida para um sinal
de valor máximo Vmax. Se o sinal V for menor, por ex. 1/10 do máximo,
a relação S/N será 100 vezes pior ou 20 dB menor,
e assim por diante.
S/N de quantização = 1,76 + 6,02 n - 20 log ( Vmax
/ V )
A figura seguinte mostra o aspecto do erro ou ruído de quantização
para um sinal senoidal :
Como quantizar valores de tensão negativos ? Também existem
varias formas.
O exemplo seguinte mostra o caso para arquivos digitais de sons no
formato *.WAV com 8 bits :
118,135,130,138,151,165,179,179,182,195,179,144,109,78,51,37,39,62,97,123.
O que representa os seguintes valores quantizados de tensão (em V), supondo deltaVmax=255 V.
-10,+7,+2,+10,+23,+37,+51,+51,+54,+67,+51,+16,-19,-50,-77,-91,-89,-66,-31,-5 .
Os valores quantizados precisam ser codificados em seqüências de bits, pois um sinal digital binário só pode ter dois valores diferentes "0" ou "1". Em binário puro, a codificação seria como mostra a figura acima, que é um exemplo de um sinal digital PCM (Pulse Code Modulation), onde cada pulso PAM de amplitude variável é transformado em uma seqüência de bits com amplitude fixa e valores 0 ou 1, com um código tal que representa o valor do pulso PAM original, arredondado pelo erro de quantização.
PCM significa modulação de pulsos por código, pois agora os pulsos são os bits 0 ou 1, com amplitude fixa (ao contrario de PAM), posição fixa determinada pelo relógio (ao contrário de PPM), duração ou largura fixa (ao contrário de PWM). O que é modulado agora é a combinação dos bits 0 e 1, usando um código pre-estabelecido, que pode ser por exemplo binário puro com ou sem off-set, sinal-magnitude, sinal-complemento de 2, etc...O código depende de uma serie de fatores como por exemplo como o sinal digital vai ser transmitido, ou armazenado.
PPM (Pulse Position Modulation) e PWM (Pulse Width Modulation) são formas analógicas de transformar a amplitude do pulso PAM em sinais de amplitude sempre fixa. Em PPM o valor do nível modula analogicamente a posição relativa do pulso (de duração fixa) em relação ao relógio (referencia de tempo). Em PWM o valor do nível modula analógicamente a duração de um pulso cuja posição é fixa em relação ao relógio em PWM.
Em PCM para telefonia, se usa uma notação com sinal-magnitude com 8 bits. O eixo de tensão não é deslocado como no exemplo anterior. São quantizados 127 valores positivos e 127 valores negativos, ou magnitude do sinal, com 7 bits. O oitavo bit (o mais significativo) indica o sinal , 1 = positivo e 0 = negativo. Por ex. 11111111=FFh representa +127 e 01111111=7Fh= -127. Em telefonia, ainda ocorrem outras codificações, como inversão de todos os bits da magnitude (lei Mu), ou inversão dos bits pares da magnitude (lei A). A tabela seguinte ilustra estas duas formas de codificação PCM para telefonia a 64 k bits por segundo (estas codificações permitem evitar longas seqüências de bits zero na ausência de sinal, para facilitar a extração do sinal de sincronismo ou relógio, na recepção) :
Valor decimal | Sinal-magnitude | Lei Mu | lei A |
+127 | 11111111 | 10000000 | 10101010 |
+96 | 11100000 | 10011111 | 10110101 |
+64 | 11000000 | 10111111 | 10010101 |
+32 | 10100000 | 11011111 | 11110101 |
+0 | 10000000 | 11111111 | 11010101 |
-0 | 00000000 | 01111111 | 01010101 |
-32 | 00100000 | 01011111 | 01110101 |
-64 | 01000000 | 00111111 | 00010101 |
-96 | 01100000 | 00011111 | 00110101 |
-126 | 01111110 | 00000001 | 00101011 |
-127 | 01111111 | 00000000 | 00101010 |
A figura seguinte mostra o conteudo hexadecimal e ascii de um pequeno arquivo *.wav :
Um arquivo de som digital PCM no formato *.WAV de 16 bits usa
codificação em sinal-complemento de 2.
Valores positivos são codificados de 0000h=0 até 7FFFh=+32767
e valores negativos são codificados de FFFFh=-1 até 8001h=-32767.
O zero é codificado 0000H=0.
A figura seguinte representa esta codificação (eixo vertical):
A figura seguinte representa a parte inicial de um arquivo *.WAV de 16 bits :