A PLACA DE SOM e sua função EM SSTV
 
 
O PC (Personal Computer) é um equipamento que só trabalha com sinais Digitais, ou seja, sinais  que só assumem valores discretos, como 0 ou 1 (com 1 bit) ou -128 a +127 (com 8bits em SC2, sinal complemento de 2, e assim por diante). E estes valores não são contínuos no tempo, mas dependem de um sinal de temporização ou relógio.
O som ou audio é um sinal Analógico, que assume uma infinidade de valores e é continuo no tempo.
A placa de som, no mínimo, atua como conversor analógico para digital A/D e digital para analógico D/A, sendo os Conversores ADC e DAC componentes fundamentais, dentre outros não menos importantes.

Descrição simplificada da placa de som :

A figura seguinte representa uma placa de som típica, com seus principais componentes :

Além dos DAC e ADC já citados, a placa contem um Processador Digital de Sinais DSP, sintetizadores de sons com tecnologia Síntese FM e outra com WaveTable ( tabela de sons reais memorizados), interfaces MIDI, SPDIF e outras, como por exemplo IDE para CD.
Algumas placa possuem amplificador de áudio com baixa impedância de saída para alto falantes, com saída em Spk out. Algumas não tem este amplificador, devendo ser usadas caixa amplificadas ligadas em Line out.
Alem destas duas saídas, a placa costuma ter duas entradas, uma para microfone Mic in (com polarização DC para eletreto), e outra para uso geral Line in.
Todas estas entradas/saídas podem ser monofônicas, 1 canal, ou estereofônicas, 2 canais)

A placa de som é controlada via comandos em linguagem de máquina, ou de forma mais amigável com as interfaces do Windows, uma para a reprodução de sons (volume control e a outra para gravação (recording control), como pode ser visto na figura seguinte, (junto com um diagrama elétrico básico da parte analógica e a correspondência dos controles com os componentes, em vermelho) :

Alguns controles de volume são comuns à gravação e reprodução, por exemplo Mic, Line in, CD e MIDI.
Observe também a correspondência entre as caixas Sem áudio e Selecionar com as respectivas chaves, abertas ou fechadas. O diagrama anterior é típico de placas de som antigas (no caso uma SB 16).

A figura seguinte mostra o diagrama simplificado de placa de som mais moderna, caso típico dos circuitos de som "On-board". Observe as principais diferenças:

- na parte de gravação, agora só pode ser fechada uma chave por vez, ou seja, somente pode ser selecionada uma única fonte de sinal, e por isso não tem mais o somador.

- ainda na gravação, agora não tem mais o controle de volume geral (recording control)

- ainda na gravação, agora tem novos circuitos: MIX mono e MIX stereo, que permitem gravar uma mistura (mix) dos sinais selecionados na tela de reprodução, ou ainda, fazer retornar os sinais selecionados na reprodução de volta para o circuito de gravação (loop-back).

- na parte de reprodução, temos agora potenciômetros SEPARADOS na parte de gravação e na parte de reprodução ( e não apenas um, comum à gravação e à reprodução)

- não tem mais o amplificador de potencia e nem a saída SPKR out. Agora o amplificador deve ser externo, geralmente incorporado aos alto-falantes.

 

A placa contem um oscilador a cristal que serve de referencia para obter as diversas taxas de amostragem usadas nos ADC/DAC, como 44100 Hz, 22050 Hz, 11025 Hz que são valores padronizados em áudio, e outras ainda . Normalmente uma boa placa permite taxas desde 4000 Hz até 48000 Hz.

No conversor analógico/digital ADC, dois parâmetros fundamentais são :

a taxa de amostragem ou freqüência de amostragem : quantidade de amostras por segundo. Amostragem : divisão do eixo horizontal de tempo do sinal em amostras PAM discretas, ou pulsos modulados em amplitude, que representam valores instantâneos da amplitude do sinal.
a resolução de quantização destas amostras PAM em bits (divisão do eixo vertical ou amplitude em valores discretos, o que introduz um erro ou ruído de quantização, ou ainda, distorção harmônica)

De acordo com o teorema de Nyquist, a taxa de amostragem deve ser maior  que o dobro da maior freqüência contida no sinal, para que este possa ser reproduzido sem distorção de aliasing.
Por isso o padrão de 44100 Hz usado no CD , que permite reproduzir sinais de audio de até pouco mais de 20 kHz. Em telefonia basta uma taxa de 8 kHz para reproduzir sinais de até 3,4 kHz.

Quanto a resolução, os ADC/DAC podem operar com 8 ou 16 bits, de acordo com a qualidade desejada em termos de relação sinal/ruído de quantização ou distorção harmônica :
 8 bits : permitem 256 valores discretos e uma relação sinal ruído de quantização S/N teórica de no max. 48 dB (com quantização linear) , o que equivale a uma distorção harmônica total THD não menor que 0,4%. (suficiente para audio telefônico e SSTV)
 16 bits : permitem 65536 valores discretos) e no max. 96 dB de S/N ou 0,0016% de THD. (necessário para HiFi, mas geram arquivos maiores...Há um compromisso prático entre qualidade e tamanho dos arquivos de som ou taxa de transmissão destes arquivos)
Obs.: para cada bit adicional, ganhamos 6 dB na S/N de quantização e a THD de quantização cai pela metade.
Placas mais recentes também funcionam em 18, 20 ou 24 bits, e taxas de amostragem de 96 kHz. (padrão de som de DVD : taxa 96 kHz e quantização com 24 bits).

O sinal digitalizado pelo DAC pode ser enviado por acesso direto à memória DMA para a CPU da placa mãe ou pode ser processado pelo DSP, aliviando assim a CPU, dependendo do software usado. A função básica do DSP é transformar as amostras digitais do sinal no domínio do tempo (forma de onda) para o domínio da freqüência (espectro) usando rotinas FFT, ou transformadas rápidas de Fourier. É muito mais fácil analisar e processar um sinal complexo no domínio da freqüência do que no tempo, e se necessário, voltar depois ao domínio do tempo, por FFT inversa.

Em SSTV, na recepção, o DSP permite, via FFT, fazer a demodulação FM do sinal de audio de SSTV, geralmente por simulação de um elo amarrado em fase, PLL ou outro tipo de discriminador de freqüência. Com 8 bits por exemplo, o sinal de vídeo em 1500 Hz vira 0, e 2300 Hz vira 255, valores dos bytes representantes do nível de cada cor em R-G-B ou de Y-C. Na transmissão, o DSP processa a modulação FM do sinal de audio SSTV, ou seja , transforma o valor de cada byte de cor em um sinal senoidal de freqüência análoga : 0 vira 1500 Hz , 1 vira 1503,13 Hz e assim por diante até 255 que vira 2300 Hz.
Portanto, a placa de som em SSTV funciona como um simples modulador/demodulador FM.
Adicionalmente, o DSP pode aplicar outros processamentos ao sinal,  como filtros de todos os tipos. Consegue assim filtrar ruídos fora da banda ocupada pelo sinal SSTV, extrair o sinal de sincronismo em 1200 Hz e os bits do VIS em 1100 e 1300 Hz. O sinal no domínio da freqüência também pode ser usado para fazer um  display do espectro do sinal para sintonia, e a representação deste espectro no tempo, trocando amplitude por luminosidade ou cores, vira um espectrograma (eixo de tempo na horizontal) ou waterfall (eixo de tempo na vertical).

Características importantes de uma placa de som :

-  Capacidade ou não de operar em Full-duplex (ou seja gravar e reproduzir simultaneamente).

-  Nível máximo de entrada Ve max : valor eficaz do maior sinal senoidal aplicável na entrada  que não é distorcido (ceifado), ou seja, que produz o maior valor quantizável no pico da senoide do sinal. (medida em Volts ou mV).

-  Dinâmica : Relação entre Ve max  e o  ruído de fundo da placa sem sinal (entrada terminada com impedância nominal). (medida em dB). ( não confundir com S/N).

Distorção harmônica total THD : É a porcentagem da soma RMS (raiz da média dos quadrados) das tensões dos sinais harmônicos espúrios gerados em relação a tensão do sinal de teste. É uma forma de medir o ruído de quantização e outros gerados por distorções não lineares.

-  Relação sinal/ruído S/N : relação entre Ve max  e o ruído presente simultaneamente com este sinal. (N = ruído de fundo + THD) (medida em dB). Somente o  sinal estando presente é que pode existir o ruído de quantização. Sem sinal, existe apenas o ruído de fundo, com característica de ruído branco (aleatório).

-  Resposta em freqüência : desvio do nível (em dB) do sinal dentro da faixa de freqüência nominal em relação a 1 kHz. O limite superior da faixa de freqüências é a freqüência de Nyqist que é igual a metade da freqüência de amostragem usada.

-  Ruído de aliasing : não sei porquê, mas este é um parâmetro importante e omitido pela maioria dos fabricantes. É muito fácil de ser medido ou observado e é provocado pelo projeto incorreto do filtro anti-aliasing, no circuito de gravação da placa (antes do ADC), e com conseqüências desastrosas na qualidade do sinal gravado ou digitalizado, principalmente em programas de analise espectral de sinais, como o Spectrogram (usado nos testes abaixo), o CoolEdit, o audioTester ou qualquer outro. Para esta aplicação e outras ainda, a placa deve ter um excelente filtro anti-aliasing. A maioria das placas de som On-board (para não dizer todas que já testei) ou de baixo custo são péssimas nesse aspecto.
Por exemplo, uma placa com freqüência de amostragem de 22050 Hz não deve responder a um sinal com mais de 11025 Hz. Uma placa ruim, na mesma taxa, gera uma sinal de 9050 Hz quando se injeta um sinal de 13000 Hz, e, se for péssima, também gera 1000 Hz quando se injeta 21050 Hz ou 23050 Hz ou outras mais!... ( Vide Teoria sobre aliasing )

  Obs.: em SSTV particularmente, uma placa com ruído de aliasing não é problema porque o sinal que sai do receptor e entra na placa já é limitado em freqüência pelo próprio receptor (por ex. 3000 Hz max.) e permite usar taxas de amostragem a partir de 6000 Hz. Mas se o RX limitar em 4 kHz devemos usar taxa de no mínimo 8 kHz. Por isso, os softs de SSTV usam geralmente 11025 Hz como taxa de amostragem, que é o valor padronizado mais próximo de 8 kHz que a maioria das placas suporta. E não é vantagem nenhuma amostrar um sinal de SSTV em taxas maiores que 11025 Hz (vide teorema de Nyquist) , o que só tomaria mais tempo do DSP ou da CPU.

As figuras seguintes são resultados de teste de duas placas diferentes, uma péssima e outra boa. Uma forma de fazer o teste para ver se a placa tem um bom filtro anti-aliasing é injetar um sinal quadrado simétrico de boa qualidade, isto é, que só contem harmônicos impares, com freqüência tal que se possa ver por ex. até o harmônico 15, como por ex. na figura seguinte, e tal que as raias de aliasing (por ex. raias 17 a 33) não caiam em cima destes harmônicos (raias 3 a 15) e nem nas próprias raias de aliasig de ordem superior (raias 35 a 45).  (o nível da onda deve ser menor que Ve max para não produzir outros tipos de distorção) Uma outra forma de fazer o teste é injetar um sinal senoidal de boa qualidade e variar a sua freqüência desde fam /4 até 2 fam. A raia do sinal deverá desaparecer assim que a sua freqüência passar acima de fam / 2, que é a freqüência de Nyquist e também a máxima freqüência do eixo horizontal do espectro. (fam = freq. de amostragem). Numa placa de má qualidade, acima de fam /2 , a raia de aliasing aparece baixando em frequencia enquanto a frequencia do sinal sobe até fam. 

Podemos observar que na figura acima o nível do harmônico 33 está 30 dB abaixo do nível da fundamental, o que prova que esta placa de som não tem nenhum filtro anti-aliasing, o que é um absurdo. (o nível do harmônico n impar de uma onda quadrada simétrica em relação a fundamental é, em dB, -20log n)

A placa de boa qualidade apresenta um pequeno defeito de aliasing, porque o filtro anti-aliasing não pode ser perfeito, isto é, atenuar infinitamente sinais acima da freqüência de Nyquist, que é igual a metade da freqüência de amostragem. Quanto menores forem estes resíduos de aliasing, melhor é o filtro da placa. Na figura seguinte, aparecem dois sinais de aliasing bastante atenuados, que são os harmônicos 17 (o maior, e cuja freqüência é 11356 Hz, mas aparece em 10694 Hz) e 19 da onda quadrada de teste (o menor, e cuja freqüência é 12692 Hz, mas aparece em 9358 Hz).

Lembramos que a freqüência de aliasing fal é igual ao valor absoluto da diferença entre a freqüência do sinal  fs e m vezes a freqüência de amostragem fam, onde m é um inteiro tal que 0<(fs-m.fam)< fam / 2.