Reprodução de som com PWM (como acabar com zumbido agudo?)

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Mensagempor tcpipchip » 04 Abr 2010 23:26

Nao pode ser feito por software o FILTRO ?
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor msamsoniuk » 05 Abr 2010 00:25

eu acho q era para funcionar bem sem muito esforco hein... jah viu esse carinha com AVR?

http://www.rpi.edu/~kouttd/03/Rage_agai ... duino.html

eu nao conheco a musica, mas pareceu funcionar bem! o seu audio de saida se parece com o audio que ele demonstra no video do google q tem ali no site? ele nao parece ter se esforcado muito e a qualidade me parece boa.

tem tb esse outro AN, q indica que o audio tem qualidade comparavel ao de uma radio AM, mas q era o audio dos palm-pilots:

http://sources.ru/palmos/docs/MC68EZ328PWM.pdf
#innovation #poweredby #riscv https://github.com/darklife/darkriscv
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor MOR_AL » 05 Abr 2010 09:27

tcpipchip escreveu:Nao pode ser feito por software o FILTRO ?

Sim!
Eu nunca fiz um filtro digital em um uC, só em um PC ... e ainda não precisava ser em tempo real.
Para se projetar um filtro digital é necessário o conhecimento de Transformada z. Estou um pouco enferrujado com essa transformada, mas seria necessário um uC com processamento matemático e rápido.
Infelizmente, chego neste ponto, ao meu limite. :(
Caso alguém deseje implementar este filtro, segue a expressão em s. Existe uma metodologia para se fazer o filtro (em z) a partir da Transformada de Laplace (em s).
O v0 é o da junção R7C5.
Imagem

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
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor xultz » 05 Abr 2010 14:36

Eu acho que não faz sentido fazer o filtro em software, para isso precisaria ligar a saída do PWM num DSP e desse ligar num conversor DA. Se tivesse isso, não precisava mais do microcontrolador...
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Mensagempor vtrx » 05 Abr 2010 15:07

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.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor MOR_AL » 05 Abr 2010 15:47

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! :idea:
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
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor _blackmore_ » 13 Out 2012 01:37

ivan braga

Deu andamento no projeto? vc fez algo semelhante a este?

http://transistor-man.com/Rage_against_the_arduino.html

gostaria de saber o andamento de seu projeto pois estou interessando em fazer algo semelhante ao que vc fez e logicamente lhe fazer alguns questionamentos.
Abraço!
Ouça mais classic rock
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor ivan braga » 16 Out 2012 02:23

_blackmore_

Na época passei por esta pagina que você cita, porem eles reproduzem em tempo real as informações enviando pela serial.

Não era o que precisava na época, digo, esta reprodução "real time",estava usando um sd card.


E sim, terminei este e outros a partir desta ideia do pwm, no inicio foi meio frustante por causa do zumbido causado pelo modulação. Porem depois de um pouco mais de leitura e mais as dicas que me deram, foi uma beleza.

De uma olhada aqui http://www.romanblack.com/index.htm#elec o cara tem ótimos materiais a respeito e sem "magia negra". :twisted:
"Mesmo o objeto mais inanimado tem movimento suficiente para ficar na sua frente e provocar um acidente."
"Even the most inanimate object has enough movement to stand in your way and cause an accident."
Avatar do usuário
ivan braga
Nibble
 
Mensagens: 60
Registrado em: 15 Dez 2006 18:02
Localização: Rio de Janeiro

Anterior

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x