vtrx escreveu:Veja se estou errado (estou sem saco para montar um protótipo mas vou acabar fazendo um...),o ruído é o sinal PWM e setando o PWM a uma frequencia inaudível para os humanoides (tipp 3 x 8 = 24Khz)esse 'ruído' não será perceptível,então seria só executar o byte de audio numa relação de 1 por 3.
É! ... Mas pelo que eu entendi, JÁ existe o sinal amostrado a uma taxa de 8kB/s. Então esta frequência (8kHz e seus harmônicos, que variam conforme o Ton do PWM) estarão presentes. Daí a necessidade do filtro.
Não tenho certeza mas se poderia acrescentar dois pontos entre cada dois pontos adjacentes do sinal. O valor desses pontos seria a interpolação entre os valores dos pontos adjacentes. Com isso a taxa de amostragem passaria a 24kB/s e recairia no que o Vtrx escreveu. O problema é que usaria o triplo de memória para gravar o mesmo sinal.
Ops!
Bom continuando com a idéia. Não precisaria de mais memória não!
Imagine que o byte n será o seguinte a ser tratado.
Lê-se o valor do byte n e do byte n+1.
Interpola-se, entre esses dois bytes, dois outros bytes com valores intermediários e que acompanhem a transição entre os dois valores adjacentes originais (n e n+1).
A taxa de amostragem passa a 24kB/s e o número de bytes do sinal permanece o mesmo. Um filtro PB simples (um RC) em 3400Hz atenuaria os 24kHz em cerca de 7 vezes, além de já ser inaldível.
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain