
Este é o terceiro artigo da série sobre processamento digital de sinais de áudio para a internet. Nos dois primeiros artigos, você foi apresentado há alguns conceitos fundamentais relacionados ao tema, a saber: sinais, grandezas matemáticas, sinais unidimensionais, sinais multidimensionais, sinais discretos e analógicos e sinais periódicos e a-periódicos. Estes conceitos são chave para o entendimento dos assuntos que virão a seguir, inclusive o de hoje.
Relembrando…
No artigo anterior, você teve a oportunidade de saber um pouco mais sobre a classificação dos sinais. Naquela oportunidade, você pôde aprender que um dos parâmetros utilizados para classificar sinais é a “continuidade”. Neste contexto, um sinal pode assumir uma entre duas classificações: “contínuo” ou “discreto”.
Trazendo este cenário para um nível mais alto, se um sinal é dito contínuo, ele pode ser dito também analógico. Isto se dá por um fato em específico: ambas as denotações fazem menção ao número infinito de amostras presentes em um sinal, fato este que implica na precisão máxima do mesmo. A Figura 1 apresenta um sinal de áudio contínuo.
Figura 1. Exemplo de sinal contínuo
Se um sinal pode ser reproduzido em sua forma ótima, ele deve ser reproduzido em estado analógico/contínuo. Existe entretanto, uma grande limitação: sinais contínuos não podem ser tratados computacionalmente. Isto porque estes sinais trazem consigo a ideia de “infinitas amostras” e, como computadores executam processos de forma numérica (se você chegou a estudar métodos numéricos para a resolução de problemas, está familiarizado com esta ideia), tal tratamento torna-se impossível de ser realizado.
É de fundamental importância entender também que, para certos tipos de aplicações manipuladoras de sinais, apenas algoritmos computacionais resolvem os problemas. Um exemplo clássico de operação que só pode ser realizada através de tratamento computacional é o processo de compressão de sinais (áudio, imagem ou vídeo). Seria impossível, por exemplo, gerar um arquivo de áudio como o MP3 (um dos formatos resultantes de um forte processo de compactação) de um sinal analógico/contínuo apenas com circuitos elétricos no estado analógico. Lógico, compactação exige “perda consciente de informação” enquanto sinais analógicos. exigem naturalmente resolução máxima.
A pergunta que pode surgir aqui é: “Fabrício, se computadores não entendem sinais com infinitas amostras (como um sinal de áudio em seu estado original na natureza), como podemos reproduzi-lo através dos computadores?”
O teorema da amostragem ou Nyquist
Existe um teorema matemático que “dita” uma regra simples para a discretização de sinais: o teorema da amostragem ou Nyquist (ambos os nomes são aceitos na literatura).
Segundo este teorema, se é fato que para que um sinal possa ser tratado computacionalmente ele precisa ser discreto, logo, este deve ser submetido há um processo de discretização, seguindo a seguinte regra:
- Deve-se saber qual a maior frequência que compõe o sinal que se pretende discretizar
- As amostras deve estar igualmente espaçadas
- O número de amostras preservadas deve ser o dobro da máxima frequência mencionada no ítem 1
Para que esta ideia possa ficar mais clara, considere um sinal de áudio. Sabe-se de que o ouvido humano é um sensor de áudio com capacidade máxima de reprodução em 22.050 hertz (ou 22 Khz). A informação sobre a capacidade máxima de reprodução é importante, pois dá a ideia de que, quaisquer valores acima deste patamar, podem no mínimo ser irrelevantes e no máximo gerar problemas na reprodução. Veremos este conceito (aliasing) em um artigo mais adiante nesta série. Seguindo o teorema, se 22050 Hz é a frequência máxima em um sinal de áudio, o número de amostras a ser preservado no sinal é 44100 (2 x 22050) amostras por segundo (am/s).
Assim, o sinal apresentado pela Figura 1, assumiria um novo aspecto visual, semelhante à aquele apresentado pela Figura 2.
Figura 2. O sinal apresentado pela Figura 1 discretizado pelo teorema de Nyquist
Como é possível perceber analisando a Figura 2, o teorema da amostragem atua no eixo do tempo. Entretanto, existe também, a continuidade em relação às amplitudes e evidentemente, uma discretização deve ocorrer também nesta esfera. Neste caso, como proceder? A metodologia a ser aplicada aqui é conhecida como “quantização”.
Quantização
Assim como é impossível armazenar todas as amostras no tempo para um sinal de áudio, é impossível também armazenar todos os infinitos valores de amplitudes. Para discretizar (quantizar) o eixo das amplitudes, são utilizados como padrão números inteiros que representam números de bits. Confuso?
Consideremos o mesmo exemplo do sinal de áudio apresentado anteriormente. No eixo das amplitudes (vertical), este sinal armazenará infinitas amostras, uma vez que o teorema de Nyquist atua apenas no eixo do tempo. Assim, pode-se utilizar os seguintes padrões:
- 2^8 = 256 amostras
- 2^12 = 4096 amostras
- 2^14 = 16384 amostras
- 2^16 = 65536 amostras
- 2^n = dependendo da necessidade do sistema
É importante observar que, quanto maior o número de amostras preservadas no eixo das amplitudes, maior a resolução do sinal, entretanto, maior será também o sinal de áudio resultante (em bytes).
Bom pessoal, por hoje é isso. Não esqueça de deixar seu comentário.
Facebook
Twitter
Instagram
LinkedIn
RSS