terça-feira, 24 de julho de 2012

Amostragem x Pedaleiras Digitais (V)

O quarto post da série "Amostragem x Pedaleiras Digitais" era para ser o último abordando a questão sobre conversão AD/DA. Entretanto, achei que mais algumas considerações poderiam ilustrar outros aspectos também interessantes deste tema.

Neste artigo gostaria de abordar o termo "oversampling", que é muito utilizado nas pedaleiras mais modernas.

No último post eu disse que algumas pedaleiras digitais eram ruins por causa do poder de processamento dos processadores mais antigos, limitando a complexidade dos seus algoritmos.

Isso não deixa de ser uma grande verdade, porém deixei de falar na ocasião de outro aspecto muito importante envolvido na conversão AD/DA, que é o projeto dos filtros (antialiasing e reconstrução).

Como um princípio básico da filosofia: "Natura non facit saltus" ou em portugês, "a natureza não dá saltos", não podemos construir um filtro ideal, que deixe passar tudo abaixo de uma determinada frequência e não deixe passar nada acima desta mesma frequência. O que acontece na prática é que temos que achar um meio termo, um ponto onde inevitavelmete teremos que atenuar algumas das frequências que desejamos, e deixar passar alguma coisa das frequências que não desejamos. Isso pode parecer térrivel e alguém pode pensar que então a coisa não tem como funcionar. Na verdade funciona, em engenharia nós trabalhamos sempre pensando no equilíbrio entre custo e qualidade (melhores projetos custam mais, porém em alguns casos abrimos mão para uma qualidade inferior, porém aceitável, em troca de um custo menor).

O que isso tem a ver com o nosso caso? Filtros de melhor qualidade vão atenuar menos o que queremos deixar passar, e atenuar mais o que não queremos deixar passar. Usando termos técnicos, o número de "pólos" é determinante no projeto destes filtros. Quanto mais pólos, melhor é o filtro, porém mais caro. Voltando às pedaleiras digitais, não espere um filtro muito bom pagando pouco.

Tomando nosso exemplo real onde a taxa de amostragem dos CDs é de 44KHz, precisamos de um filtro que barre tudo acima de 22KHz e deixe passar tudo abaixo dos 22KHz. Na prática um filtro que comece atenuar aos 15KHz já precisa ter uma complexidade razoável. Mas e se aumentássemos a frequencia de amostragem para 96KHz? Precisaríamos de um filtro que atenuasse tudo abaixo de 48KHz. Como nossa frequência de audição máxima é em torno dos 15KHz, temos uma faixa que vai dos 15KHz até os 48KHz de folga para projetarmos nosso filtro.  E se aumentássemos em 64x (os 96KHz) nossa frequência de amostragem? Poderíamos usar fitros bem mais simples então, já que a nossa folga aumenta, e muito.

Barateamos o filtro, mas precisamos de mais memória e de processadores mais velozes. Antes tinhámos 96 mil (sampling de 96KHz) amostras do sinal a cada segundo, ou seja, o processador precisa trabalhar fazendo várias contas em 96 mil números para tratar 1 segundo no nosso sinal. Com um oversampling de 64x, vamos precisar de 64 x 96 mil ou seja, algo em torno de 6 milhões. Nosso custo em processamento e armazenamento vai aumentar.

Bem, nem tanto. E se agora fizéssemos um filtro passa-baixas digital e depois jogássemos fora parte dessas amostras do sinal de forma a trabalharmos com as iniciais 96 mil amostras por segundo ? Nada mal né? Basta descartarmos (jogar fora mesmo) 63 de cada 64 amostras. Isso é o que chamamos de oversampling na conversão AD.

E a conversão DA? Idem, inserimos de volta 63 amostras entre cada amostra do nosso sinal processado. Como fazemos isso? Basta adicionar zeros e aplicarmos um filtro passa baixas digital. Isso deteriora o sinal? Não, só "espaçamos" de novo a banda do sinal de forma a baratearmos nosso filtro de reconstrução. Isso é o oversampling na conversão DA.

Bem, espero que a ausência de figuras não tenha complicado demais a explicação. Procurei dar apenas uma idéia geral do que seria o oversampling e sua vantagem nas pedaleiras digitais.

sexta-feira, 13 de julho de 2012

Amostragem x Pedaleiras Digitais (IV)


Finalmente, vamos fazer uma breve explicação do que é a tal quantização, tão falada nos posts anteriores.

Já foi dito que a quantização é a etapa final da conversão A/D, realizada após a amostragem. A quantização nada mais é do que a conversão dos valores analógicos em bits. O problema é que um sinal analógico possui "infinitos" valores que ele pode assumir dentro de um intervalo. Já o domínio digital só comporta valores finitos.

Para facilitar, vamos supor que o sinal amostrado esteja limitado entre 0 e 255 Volts. Uma amostra 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 conversor AD.
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, o tão falado "ruído de quantização". A figura 1 pode ilustrar melhor o que já foi falado aqui. Nela pode-se ver o aspecto do ruído de quantização para um sinal senoidal.


Figura 1

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 )


Para contornar este novo problema, que faz com que sinais fracos tenham baixa S/N, usam-se quantizações não lineares, onde os níveis de quantização não são iguais como na figura acima, mas são muito pequenos para sinais pequenos e maiores para sinais maiores, provocando o efeito de compressão. Por ex., em telefonia digital é usada quantização logarítmica, conhecidas com lei  A  no padrão ITU ou a lei  Mu  no padrão americano, o que piora um pouco a máxima S/N atingível, mas em compensação melhora muito a S/N para sinais fracos.

Trazendo para a nossa realidade, uma Zoom G2 possui um taxa de amostragem de 96KHz, o que significa, pelo critério de Nyquist, que a frequência máxima para se evitar o aliasing seja de 48KHz. Muito, mas muito mesmo, acima da frequência audível.

Essa pedaleira faz uma quantização de 24 bits (16.777.216 níveis - mais de 16 milhões) , dando uma SNR máxima de 144dB. Pra não entrar em detalhes dos cáculos, cada 6dB de um SNR significa que o sinal tem o dobro de amplitude do ruído. 144 dB, signfica que o sinal tem 2 x 2 x 2 x ... x (24 vezes), ou seja o sinal é 16 milhões de vezes maior que o ruído. Influi muito pouco né?

Então vemos que o fato de uma pedaleira ou pedal ser digital não faz a menor diferença como algumas pessoas defendem por aí. Depois que o sinal é convertido para analógico e passa pelo filtro de reconstrução, não existe mais degrau nenhum no sinal. Temos o sinal original (exceto se foi feito outro processamento nele) recuperado. É IMPOSSÍVEL ouvir o degrau do sinal digital!

Mas e aí, por que algumas pedaleiras digitais são boas e outras ruins? Simplesmente pelo poder de processamento (pedaleiras mais baratas têm processadores mais "fuleiros") o faz com que sejam usados algoritmos mais simples. É por isso que os pedais antigos da década de 90 têm aquele som "abelhudo" de distorção.

De resto, deixo pra cada um que leu os 4 artigos desta série tirar suas próprias conclusões.


quinta-feira, 12 de julho de 2012

Amostragem x Pedaleiras Digitais (III)

Continuando a série "Amostragem x Pedaleiras Digitais", vamos falar sobre um tema bastante polêmico que é a questão dos famosos delays "analógicos". Coloquei analógico entre aspas porque vamos ver que os atuais pedais de delay ditos analógicos não são tão analógicos assim.

Antigamente, quando a microeletrônica era menos desenvolvida e os chips eram muito caros, a primeira solução para se fazer uma máquina de eco era utilizando uma fita cassete sem fim onde a cabeça de reprodução ficava separada da cabeça de gravação. Alterando-se a velocidade da fita, o tempo do delay mudava. A figura 1 mostra o esquema geral de um delay de fita (tape echo) e a figura 2 mostra a foto de uma unidade RE-201 da Roland.

Figura 1



Figura 2




Estes tipos de unidade eram grandes e caras. Além do que, com o tempo, a fita se deteriorava exigindo sua troca. Além disso, as fitas ainda tinham uma SNR (relação sinal/ruido) ruim, introduzindo chiados indesejáveis.

Com o passar do tempo surgiram os BBDs (bucket-brigade devices). O termo bucket-brigade surgiu numa época onde os bombeiros ficavam parados e passavam baldes de água de mão em mão para poder apagar um incêndio (figura 3). O termo se popularizou e passou a ser utilizado para transportar outros itens além de baldes. Dada a semelhança, os BBDs são chips onde cargas elétricas são armazenadas em capacitores (semalhante ao balde com água). De tempos em tempos (este tempo é dado por um relógio que gera pulsos em tempos determinados - os geradores de clock) esta carga é passada para o próximo da fila, deste para o próximo e assim por diante (figura 4). Desta forma ficou fácil reproduzir as antigas câmeras de eco de fita. Mudando-se a frequência de clock (de forma semelhante a mudar a velocidade da fita), mexia-se no tempo do delay.

Figura 3


Figura 4



As unidades de eco fabricadas com estes chips não são completamente analógicas. Apesar de as cargas serem armazenadas em capacitores (e desse modo não necessitar de "quantização", que é a segunda etapa da conversão AD), ainda assim é necessário fazer a amostragem do sinal (reler os dois artigos anteriores para entender o que é amostragem). Ou seja, passamos a trabalhar no domínio do tempo, não mais contínuo, mas agora chamado "tempo discreto".

Vamos fazer uma conta rápida para entendermos porque não conseguimos tempos muito grandes de delay com estes BBDs. Falando de áudio, para realizarmos uma amostragem satisfatória, precisamos de uma taxa de 44KHz, ou seja 44000 amostras por segundo (lembram? Critério de Nyquist -> 44KHz = 2 x 22KHz que é a frequência máxima audível). Significa que para termos um delay de 1 segundo, precisamos de 44000 "baldes". Estes chips normalmete têm 4000, ou seja, 10 vezes menos, o que daria um delay de apenas 100 milisegundos. Utilizando-se 4 chips em série, dá mais ou menos 400 milisegundos (a maioria dos delays "analógicos" chega nessa faixa). Na saída utiliza-se um filtro de reconstrução para recuperar o sinal original (veja o post anterior).

E os delays digitais? As memórias e o poder de processamento baratearam muito nos últimos anos. Fica então muito fácil quantizar e guardar estas amostras do sinal numa memória (não mais em "baldes"). O processador então aguarda um tempo programado e faz a conversão DA do que está na memória. De novo, fazendo uma conta rápida, 1 segundo de delay necessita de 44Kbytes de memória (muito barato hoje em dia onde um pente de 4Mbytes custa menos de 100 reais). Os delays digitais têm então a vantagem de poder produzir tempos de atraso maiores. Na saída, o mesmo filtro de reconstruçaõ para recuperar o sinal original.

Qual a diferença entre estes dois delays? Apenas que o último possui uma etapa a mais que é a quantização. Será que a quantização influi tanto no timbre de um instrumento a ponto de muitos "abominarem" o uso dos delays digitais e preferirem os "analógicos"? Será que dá pra ouvir os "degraus" do sinal  digital? Vamos desmistificar no próximo post onde vamos explicar finalmente o que é a quantização.



quarta-feira, 11 de julho de 2012

Amostragem x Pedaleiras Digitais (II)

Bem, continuando o tema anterior, vamos mostrar uma situação real.

Todos sabem que a taxa de amostragem do CD é de 44KHz (44 mil Hertz). Por que este valor? Porque a frequência máxima de audição de um ser humano vai até 22KHz (22 mil Hertz). Bem, há controvérsias. Talvez a maioria de nós não escute nem 15KHz direito, mas para se manter a fidelidade do sistema estipulou-se os 22KHz. Observando o critério de Nyquist falado anteriormente, a taxa de amostragem deve ser no mínimo 2 vezes a frequência máxima do sinal a ser amostrado. Então, 22KHz x 2 = 44KHz.

Beleza, o sinal já foi convertido pra digital (não vou falar de quantização agora, mas para gravar um CD isso certamente aconteceu) e agora precisamos passar para analógico. O que fazer? Lembram que o sinal amostrado tinha uma transformada de Fourier (a partir de agora vou falar de espectro do sinal) com várias cópias do sinal original espalhadas em múltiplos da frequência de amostragem (pra relembrar vejam a figura  1)?




Figura 1

Para recuperar o sinal original basta filtrar (veja figura 2). Algumas pessoas dizem que este filtro é para suavizar a onda quadrada (digital). De certa forma não está errado este conceito, mas o que acontece realmente é que eliminamos as componentes de mais alta frequência que são caracteristicas do nosso sinal digital "quadrado". Esta recuperação é feita sem perdas. Reparem que depois da filtragem temos o espectro do nosso sinal original antes da amostragem. Não é parecido, é o mesmo sinal!!! Isso precisa ficar bem claro. Então, o processo de amostragem do sinal não o deteriora, desde que obedecido o critério de Nyquist.


Figura 2

E o nosso filtro, será que ele é tão perfeito que não vai deixar passar um resquício das frequências mais altas? Bem, claro que não, mas em se tratando de áudio nosso próprio ouvido vai filtrar tudo acima de 15KHz.

Tudo perfeito até aqui então. O mundo digital não fez nada demais com o sinal da nossa guitarra e nem modificou o seu timbre. Imagina o camarada gravar a guitarra no estúdio e o nosso CD player mudar o timbre... Realmente isso não acontece.

E o filtro anti-aliasing? Nada demais também. É só um filtro que é aplicado no sinal a ser amostrado que vai garantir que não vai passar nenhuma frequência mais alta que possa provocar o aliasing. No caso do CD, este filtro tem que barrar tudo acima dos 22KHz.

No próximo post vamos falar finalmente dos primeiros efeitos que podemos gerar com processamento digital, os delays digitais. Pretendo fazer uma comparação com os delays ditos "analógicos" e os delays de fita.

terça-feira, 10 de julho de 2012

Amostragem x Pedaleiras Digitais (I)

Muitos guitarristas com quem tenho conversado ultimamente, seja através de foruns ou pessoalmente, têm um certo preconceito em relação às chamadas pedaleiras digitais. O objetivo deste tópico é dar uma desmistificada neste tema e mostrar que, na verdade, um bom timbre está ligado diretamente à qualidade do projeto (e consequentemente ao preço), e não ao fato de um pedal ser analógico ou digital.

Todo sinal analógico, para ser processado no domínio digital, precisa ser convertido para um sinal digital. A este processo chamamos "conversão AD", ou seja, conversão analógico-digital. Da mesma forma o sinal digital, depois de processado, precisa ser convertido novamente para um sinal analógico (lembrar que este post está explicitamente falando de sinais de áudio - guitarra, voz, etc). Esta conversão do digital para o analógico é chamada "conversão DA".

Vamos falar inicialmente sobre a conversão AD. A primeira etapa da conversão AD é a "amostragem". Para entendermos o que é uma amostragem e as suas consequências no sinal da guitarra precisamos entender primeiro o que é a Transformada de Fourier.



A TRANSFORMADA DE FOURIER

Os sinais que ora estamos tratando (voz, guitarra, baixo, etc), comumente são descritos como sinais no domínio do "tempo". O que significa isso? Significa que a cada valor de tempo t, teremos um valor y que é função de t (mais uma vez no nosso caso, são sinais elétricos e, portanto, y é um valor de tensão). 

Em algumas situações especiais, é interessante observar um sinal, não no domínio do tempo, mas no domínio da frequência. É isso que faz a transformada de Fourier. Converte "a visão" de um sinal que estava no domínio do tempo para o domínio da frequência. A grosso modo, o que a transformada de Fourier faz é mostrar o sinal como uma soma de senos e cossenos. Aqui peço desculpas aos "puristas", já que existem diferenças entre a "Série de Fourier" e a "Transformada de Fourier". Mas para os fins propostos isso não importa.

Falei no parágrafo anterior de "algumas situações especiais". Que situações seriam essas? Entender o que acontece com a amostragem de um sinal fica mais fácil se olharmos pelo domínio da frequencia.

Então vamos imaginar um sinal de áudio qualquer (figura 1).

Figura 1

Sua transformada hipotética seria algo do tipo (figura 2):

Figura 2


Essa transformada é hipotética porque, como o sinal é aleatório, não podemos definir exatamente como seria esta transformada. Porém é importante ressaltar que este sinal tem uma frequência máxima Wm, ou seja é limitado em frequência. Este fato é importante quando falarmos da amostragem propriamente dita.




A TRANSFORMADA DE FOURIER DE UM TREM DE IMPULSOS

Um trem de impulsos, no domínio do tempo, seria algo do tipo mostrado na figura 3.



Figura 3

Explicando melhor, um trem de impulsos é um sinal periódico (que se repete) a cada T segundos, onde seu valor nestes momentos é I. Estes impulsos têm duração "quase zero" (dizemos que tende a zero). Por que estamos falando deste trem de impulsos? Porque uma amostragem é tão somente a multiplicação (podemos dizer de outra forma, modulação) deste trem de impulsos pelo sinal original. Após a multiplicação, teremos então "pedaços" ou "amostras" do sinal original coincidentes com os impulsos. Entre estes impulsos o valor é zero.  Perdemos informação por causa disso? Vamos falar disso mais tarde.

A transformada de Fourier deste trem de impulsos é tão somente outro trem de impulsos (desta vez no domínio da frequência) separadas por uma distância 2*pi/T (este valor não é mais em segundos, estamos no domínio da frequência!!!!). Veja a figura 4.

Figura 4




A AMOSTRAGEM PROPRIAMENTE DITA

Como falado anteriormente, a amostragem nada mais é que modular (multiplicar) o sinal original de áudio pelo trem de impulsos. Ou seja, vamos ter "fatias" do sinal original que assumem o mesmo valor do sinal original quando ocorre o impulso a cada tempo T. No restante do tempo, este valor é zero. Seria algo parecido com a figura 5.

Figura 5


E sua transformada? É o mesmo sinal original "repetido" em torno das frequências da transformada do trem de impulsos. Complicado? Melhor olhar a figura 6.

Figura 6

Fica fácil ver que, se o trem de impulsos não tiver sua transformada com "largura" suficiente, haverá sobreposição entre "as cópias" do sinal original. Pra ser mais exato, é necessário que a frequência de amostragem seja pelo menos 2 vezes a frequência máxima do sinal original. Este é o famoso critério de Nyquist. A esta "sobreposição" chamamos de aliasing (Figura 7).

Figura 7

Bem, já é tarde e vou parar por aqui. Depois eu continuo o tema. Pra não me perder, vou registrar aqui que o objetivo é a recuperação do sinal original sem perdas (conversão DA) , o que é o filtro anti-aliasing e tratar do que ocorre na prática numa pedaleira (taxa de amostragem 48KHz e 96KHz).