A manipulação de sinais digitais é fascinante, mas para que a leitura não fique chata demais, precisarei incluir uma série de ilustrações que irão ajudar na compreensão do tema. Tentarei tratá-lo de forma simplificada, omitindo vários aspectos que julgo omissíveis sem prejudicar a compreensão básica da coisa. Também não farei um resgate histórico sobre os métodos usados nas comunicações empreendidas pela humanidade no decorrer da história. Isto tornaria este escrito cansativo, além de tratarem-se de informações já difundidas o bastante. Farei apenas uma espécie de comparativo com o que tínhamos no passado e o que temos hoje para contextualizar.
Você muito provavelmente está careca de saber que nos primórdios da humanidade, a comunicação era lenta e restrita. Quer seja limitada pela barreira da linguagem ou da tecnologia inexistente na época, assim o era. Hoje, você dirige seu carro há algumas dezenas de quilômetros por hora e, ainda assim, pode conversar com qualquer pessoa que esteja em qualquer ponto do planeta. Já é real, inclusive, a possibilidade de comunicar-se com quem sequer esteja nele, mas manteremos o foco no cotidiano.
A palavra-chave para tal realidade é "onda". Se você quer enviar uma mensagem, seja ela escrita ou falada, você o faz por meio da transmissão de ondas. Quando criança, eu contava quantos segundos levava para que meus gritos chegassem ao fim da rua e ecoar de volta. Era impressionante demais pensar que em poucos segundos algo podia percorrer tanta distância! Eu devaneava sobre o que eu faria se eu tivesse essa velocidade! É claro que, como veremos, essa velocidade é fajuta comparada a outros meios de programação além do ar.
Transmissor versus receptor
Um canal de comunicação só existe quando há um objeto capaz de enviar sinais e outro capaz de recebê-los, assim como o jovem nando que ouvia sua própria voz ecoar. Apesar do vislumbre, a qualidade da voz refletida era muito débil e muito lenta, na verdade. Imagine se você quisesse se comunicar com alguém do outro lado do planeta limitado à velocidade de propagação das ondas sonoras no ar? É, você iria querer um canal mais rápido.
O microfone é o cara capaz de converter ondas sonoras em sinais elétricos - é claro que podemos substituir o microfone por um sensor ou transdutor caso queiramos transmitir outra informação além de áudio, mas vamos focar nele. Apesar de não ser o responsável pela digitalização de fato, ele coloca o fio de cobre no páreo. Dado que a velocidade de propagação do som no ar a 25°C de 346,3 m/s (1 246,7O km/h) é mais de 664 mil de vezes mais lenta frente à propagação elétrica a assombrosos 2,3 × 10^8 m/s do cobre, se eu tiver um receptor na outra ponta desse fio eu estaria reinventando a comunicação. É claro que o fio não é usado para transmitir massa sonora, mas sim sinais elétricos. O que nos leva ao par modulador-demodulador, ou simplesmente "modem". Adiante.
O modem converte ondas senoidais, na forma Acos(B(pi)+(t)) (lê-se A vezes o cosseno do produto de B e pi somado a t). Não se deixe intimidar pela expressão. Apenas acredite em mim: ao substituir (t) por um intervalo de tempo qualquer e A por um numero constante qualquer, você obtém uma equação que descreve o movimento de uma onda analógica real. Se pudesse vê-la sem a ajuda de um osciloscópio, ela teria essa carinha:
A equação descreve B(pi) indicando B/2 revoluções no círculo trigonométrico. Ter esta noção é importante para entender como um modem funciona. Tenha em mente que, no decorrer da linha azul, existem infinitos números reais, que são imagem da função cosseno variando de -1 até 1, típico de funções senoidais, multiplicada por um coeficiente A e somada a um (t) qualquer.
CONVERSORES A/D, D/A E MODEM
Trata-se de uma família de dispositivos que basicamente irão criar uma nova onda discreta a partir dos sinais de tensão recebidos para que seja possível a posteriori manipulá-los digitalmente. Em cada ponta do canal de comunicação deverá existir um dispositivo ora convertendo sinais analógicos em digitais, ora digitais em analógicos. Aqui cabe um parêntese: embora exista tecnicamente um canal de comunicação entre um microfone e uma caixa de som sem a necessidade de um dispositivo conversor, o foco deste escrito está na nossa comunicação cotidiana. Por exemplo, ainda que as mensagens de áudio que você ouve e fala no celular para enviar via "WhatsApp" sejam só ondas senoidais analógicas, em algum momento elas tiveram de ser apenas zeros e uns para que pudessem ser armazenadas em seu celular até que você e seu contato pudessem finalmente ouvi-las. Não é possível armazenar ondas senoidais analógicas, a menos que você tenha gravador de discos de vinil ou qualquer outra forma de armazenar ondas fisicamente. Coloquei este parêntese só para lembrar mesmo. Agora, antes de prosseguirmos, observe a seguinte figura:
Quando o conversor recebe um senoide, ele precisa de antemão delimitar duas coisas: a amostragem e a quantização. Observe:
Acrescentamos duas novas informações: a amostragem, delimitada pelas linhas verdes e a quantização, pelas linhas azuis.
Pense em cada linha verde como um momento em que o conversor coleta dados da onda senoidal para análise, observa o valor da onda naquele instante e o registra. É intuitivo pensar que, quanto mais vezes ele faz isso por um instante de tempo, mais informações ele terá sobre a onda e, por outro lado, mais bits serão necessários para armazenar ou transmitir digitalmente as informações. Em outras palavras, quanto maior for a taxa de amostragem, melhor a qualidade das informações, mas também mais espaço de armazenamento será necessário ou mais lenta será a transmissão pelo canal de comunicação. Visualizando, seria isso:
Certo, e sobre a quantização? O que ela é?
Falamos sobre o primeiro aspecto da conversão. Agora é preciso definir o que fazer com as amostras. Por hora, vamos pensar nas linhas azuis como 'zonas'. Cada zona tem um valor numérico atribuído e todos os integrantes desta zona assumem esse valor. Vamos entender isso:
Novamente, tome as linhas verdes como as amostragens dentro de uma zona. A quantização está agora definida pela única linha azul, em 2,5. E repare: as diversas amostragens nessa zona tem seus valores decrescendo de 3 a 2,5. A função da quantização é dizer que, apesar disso, todas essas amostras serão tratadas com um mesmo valor binário para então iniciar a etapa final da codificação.
DE VALORES REAIS PARA VALORES BINÁRIOS
Esta é a etapa final e a qualidade do arquivo/sinal digital está contando com ela. Dependendo da quantização, haverá mais ou menos informações no binário final. Haverá então um limite, em bits, que definirá a quantidade máxima de níveis que a quantização terá. Seria como ter uma peneira mais fina ou grossa. Esse número é definido pela função 2^n. Isto é, com dois bits, podemos quantizar em quatro níveis. Observe:
Primo, vamos estabelecer que os valores reais na zona laranja variam de 2,25 a 3,0; na zona amarela variam de 1,5 a 2,25; na zona cinza variam de 0,75 a 1,5 e na zona branca variam de 0 a 0,75; portanto, cada zona escala em 0,75. Observe que, em se tratando de números do conjunto Real, existem infinitos números entre, digamos, 0 e 0,1! Secondo, se queremos converter valores reais em binários, devemos agrupá-los de modo que os infinitos números existentes em cada zona sejam tratados por um computador como sendo o mesmo número. Como nesta quantização temos apenas quatro níveis, deveremos agrupá-los nos seguintes códigos binários: 00, 01, 10 e 11. A tabela a seguir ilustrará essa organização:
Juntando as informações da última imagem e desta tabela, a leitura das infinitas informações no trecho de onda que ocorreu entre t=0 e t=pi pode ser traduzida na seguinte codificação binária: 11100100. Desse modo, o computador que a processará não terá dificuldades em transmitir ou armazenar a informação contida na onda e, posteriormente, usando séries de Fourier, poderá recriar a onda novamente (lembra do áudio do WhatsApp, não?). Obviamente que, com quantização de apenas 2 bits, muita informação é perdida e, portanto, é inapropriada para lidar com áudio. A quantização típica suficiente para ouvir música de alta qualidade é de 24 bits, com amostragens em 44,1 kHz (44.100 amostras por segundo), por apresentar qualidade bastante satisfatória para o ouvido humano ao mesmo tempo que não suprime a velocidade de transmissão ou extrapola o limite considerado aceitável de espaço para armazenamento. Para telefonia, a qualidade é bastante inferior: tipicamente 8 kHz de amostragem e 8 bits de quantização. Um cálculo elementar mostra que 64 kbps (64.000 bits por segundo) de largura de banda (velocidade de transmissão) já é teoricamente suficiente para manter uma conversação nesta qualidade de amostragem!
Vamos observar agora como ficaria, após a digitalização, a representação da onda senoidal digitalizada num gráfico com escala equivalente. Observe as barras azuis e seus novos valores, agora digitais, expressos eu seus rótulos:
Uma outra forma de representar visualmente a saída digitalizada:
E é isso. Embora possa ser dito que a onda real foi transformada numa "onda" digital, o ideal é admitir que a onda simplesmente deixou de existir e, posteriormente - se essa onda transmitir áudio, por exemplo - precisará ser recriada.
RECRIANDO AS ONDAS SENOIDAIS
A imagem acima mostra um cone de um autofalante ligado a um ímã. Isso já nos intui do funcionamento do aparato, mas não façamos confusão aqui: ele não é capaz de entender binários. Apesar dos fios, ele é um equipamento completamente analógico! Primeiro o conversor recupera as informações a partir dos binários, e em seguida, para cada valor aplica uma tensão elétrica. O papel das séries de Fourier aqui é recriar valores de números Reais a partir dos códigos binários. Estes números reais são tratados como valores de tensão elétrica aplicada em cada instante de tempo e então essa tensão passará pela bobina elétrica acoplada ao ímã, criando um campo magnético cuja força é fiel à tensão elétrica aplicada, excitando o cone. Finalmente, a movimentação do cone cria o mesmo tipo de ondas que as suas cordas vocais e a onda senoidal é recuperada. A essa altura você já intuiu que o caminho reverso depende de um microfone em vez de um autofalante e que a ideia de funcionamento é exatamente a mesma. Na seção "Transmissor versus receptor" já havia citado o microfone, e agora que você já tem entendido a quantização, vai pegar melhor a ideia: se um microfone faz com que um sinal ou uma voltagem (o termo ideal é tensão, mas não vamos criar atrito desnecessário com bobagens assim...) oscile de 0,2V a 2V, o conversor irá interpretar isso. Ele poderá, por exemplo, assumir como "zero" qualquer valor de sinal entre 0V até 0,5V e assumir como "1" qualquer valor de sinal entre 1,5V a 2V. E os valores 0,5V e 1,5V? Bem, aqui caímos novamente no já explicado processo de amostragem, quantização e transformação em binário.
A matemática é mesmo deslumbrante, huh?