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

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Mensagempor vtrx » 31 Mar 2010 22:03

Ivan,se voce tem capacidade de programar em ASM,tem uma 'brincadeirinha' aqui neste link...
http://home.alphalink.com.au/~derekw/pictalker/main.htm
Use o filtro usado neste circuito.
EXISTE O PROTOCOLO DO ARQUIVO .WAV JUNTO COM A AMOSTRA, ISSO PODERIA GERAR RUIDOS

Bolha,vou te passar um programa meu de um kit que ja grava pra voce só os bytes de audio em formato hex para voce gravar direto na eeprom com o PonyProg e afins.
É uma versão 'capada',só gera arquivos hex até 1 mega de dados de audio,assim voce faz parte do 'beta test'.
Imagem
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor msamsoniuk » 01 Abr 2010 00:04

ou entao usa esse cara aqui, ele gera um "sr. pwm":

http://focus.ti.com/lit/ds/sles017/sles017.pdf

fabim escreveu:
BolhaDigital escreveu:Outra coisa, eu concordo com o raciocinio do marcelão...

A idéia dele de fazer o pwm em 78 kilo é mais adquada, quanto maior a frequencia da portadora menor será o possibilidade do sinal interferir no audio...

Vem cá explica de novo como vc esta fazendo o processo, vou testar aquí..ok,

ca7te.. porque ideia do marcelo samsonite ?
Quer dizer que eu sou um inutil é ? Eu escrevi a mesma coisa que o sam, só que explicando como proceder, aí o japa vem fala o mesmo que eu , e tu concorda com ele?
Por essa e outras que eu só faço zuação mesmo .. hehehe sou um inutil mesmo..
Depois se eu falar que tenho um 1766 com pwm a 10 bits e 100khz+/-.. e saindo para um buffim de 12V e 2.5A da uXip alimentado, que vai para um LC.. Q o proex me explicou algumas coisas que eu desconhecia. cuja são detalhes... tipo se for usar um DAC com samples comerciais, a frequencia do pwm deve ser multiplo positivo do sample rate, para evitar batimentos.. etc

á sei lá, o mundo é muito cruel, e eu com essa mania de fazer 10 coisas e aprender 10000.. é F***.

Licensa, cansei do assunto..
#innovation #poweredby #riscv https://github.com/darklife/darkriscv
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor vtrx » 02 Abr 2010 10:19

Bolha,se quiser 'brincar' aqui está o link;
http://www.mandeibem.com.br/?cod=4420101422195405
Como sempre,Windows XP Até o 7,talvez precise executar com privilégios de ADM para ativar a saída paralela,caso use um DAC em tempo real pelo PC.
Editado pela última vez por vtrx em 04 Abr 2010 14:23, em um total de 1 vez.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor BolhaDigital » 02 Abr 2010 12:34

Oi marcelo e Vtrx, tudo bem!

Cara que DAC doido da t.i. é esse, o que mais me interessou nesse datasheet foi a explicação bem detalhada do protocolo IIs...

Gostei do seu programa Vtrx, parabens, vou sim fazer testes com ele e te reportarei os resultados...

Eu carreguei um arquivo .wav que continha uma extenção de 65k e ao impotar através do seu software "wavememo" para o formato .hex esse arquivo ficou com uma extenção de 175k...será que isso foi porque junto com o arquivo esta o cabeçalho intel hex?

De qualquer forma parabens...

O fabim, não queima no golpe não, cara vc tá extressado, tem mais paciência...olha só eu era um cara extressado a inda sou um pouquinho, um dia parei para pensar que não vale a pena ficar irritado atôa, só dá prejuizo para nós mesmos...vc é um cara legal e tem um conhecimento enorme e nós precisamos e queremos vc aquí por muuuuuito tempo, nós gostamos de vc cara!

Um dia desses eu acordei de manhã e veio na minha cuca? porque perder tempo com mcus de 8 bits (é que eu tava querendo aprender avr por causa da velocidade) se eu posso ir direto para o arm 7...oras bolas, então decidi mesmo pegar de leve na moral os arms pôr enquanto...

O mais complicado da situação é o tal da inicialização destes chips...

Ivan, vc conseguir resolver a parada do pwm..?

muito obrigado
BolhaDigital
Bit
 
Mensagens: 47
Registrado em: 07 Mar 2010 12:20

Mensagempor vtrx » 02 Abr 2010 12:45

Eu carreguei um arquivo .wav que continha uma extenção de 65k e ao impotar através do seu software "wavememo" para o formato .hex esse arquivo ficou com uma extenção de 175k...será que isso foi porque junto com o arquivo esta o cabeçalho intel hex?

Sim,o Arquivo Hex contem dados de endereço de memoria,tamaho dos bytes e checksum.
Qualquer programa que abra o formato hex vai apenas carregar os dados apenas.
Tenho uma versão 'completa' que abre padrão hex,bin e2p e outros e edita ja gravando direto na eeprom ou bios,pic etc mas precisa da placa do kit e ainda não terminei.
Pode usar o programa free PonyProg que ele vai te mostrar apenas os dados válidos.Com o PonyProg voce pode gravar numa Eeprom (que ele aceitar) e espetar no soquete de uma placa para teste ou final.
O mais complicado da situação é o tal da inicialização destes chips...

Acho muito importante estudar(pelo menos a literatura)os Processadores e Micro ja passados (mais antigos)pois evita certas coisas como estranhar a inicialização ,por exemplo,do AVR que na prática é o mesmo conceito do 68000.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor BolhaDigital » 02 Abr 2010 15:57

É isso mesmo Vtrx, eu fiz um teste e funcionou beleza, incluseve pude notar na edição do arquivo .hex gerado pelo seu software que a extenção realmente é igual a original PCM e o resto é mesmo o protocolo da intel HEX como vc mesmo disse.

Parabens novamente,

É o que eu estou fazendo, lendo bastante a respeito, no meu caso é o lpc2138 que estou focando, e comprei um kit da mosaico, um bem baratinho startkit que além de gravar incircuit também possibilita efetuar testes no proprio gravador...

muito obrigado e se precisar de ajuda estamos aí...
BolhaDigital
Bit
 
Mensagens: 47
Registrado em: 07 Mar 2010 12:20

Mensagempor vtrx » 02 Abr 2010 16:20

Como disse,essa versão do Soft só salva em formato Hex,optei Hex pois é padronizado e garante a integridade dos dados pois se tiver um erro o arquivo não carregará,ja o formato Bin,não é padronizado,mas geralmente é do tamanho dos bytes apenas.
Esse Soft é uma demo simples,aliás ja mudei o Layout dele para se adequar com a placa kit que vai ser bem completa em termos de edição,gravação de memória e afins.
Não liberei edição do bytes para esse demo pois como ele só trabalha com arquivos wav,acho difícil alterar algo na 'mão' :) .
Boa sorte e parabéns a voce que está 'botando a mão na massa' independente de dificuldades encontradas.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor fabim » 03 Abr 2010 09:39

ai minha cabeça...
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor vtrx » 03 Abr 2010 10:48

ai minha cabeça...

Parabéns pra voce tambem fabim...

_______________________
"Quando o cotovelo dói muito,a cabeça tambem dói..."hehe.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor fabim » 03 Abr 2010 11:18

vtrx escreveu:
ai minha cabeça...

Parabéns pra voce tambem fabim...

_______________________
"Quando o cotovelo dói muito,a cabeça tambem dói..."hehe.


ou meo, qué isso. 6´s ainda estão falando sobre isso?
Putz, ultimamente esse forum ta so pra zoação mesmo. Uma simples pergunta que pode ser respondida por uma simples resposta, acaba virando compo minado, e com monte de dor de cotovelo..
Então, ai minha cabeça;;;;;;
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor vtrx » 03 Abr 2010 12:05

Ivan,conseguiu resultado satisfatório?
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor ivan braga » 04 Abr 2010 17:23

Primeiro, desculpem a demora.

Vamos aos acontecimentos.
Este assunto de som por pwm e pic, tem diversos pontos a se levar em consideração, mais como me falta conhecimento técnico vou me abster para não falar m... .

Consegui fazer com que o pic reproduzisse os dados que queria, próximo ao que esperava.

Depois de diversas tentativas, fiz esse programinha de teste.

Código: Selecionar todos

#include <18F2620.h>
//#device adc=8

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES WDT128                   //Watch Dog Timer uses 1:128 Postscale
#FUSES INTRC_IO                 //Internal RC Osc, no CLKOUT
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NOIESO                   //Internal External Switch Over mode disabled
#FUSES NOBROWNOUT               //No brownout reset
#FUSES BORV21                   //Brownout reset at 2.1V
#FUSES PUT                      //Power Up Timer
#FUSES NOCPD                    //No EE protection
#FUSES STVREN                   //Stack full/underflow will cause reset
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOWRT                    //Program memory not write protected
#FUSES NOWRTD                   //Data EEPROM not write protected
#FUSES NOEBTR                   //Memory not protected from table reads
#FUSES NOCPB                    //No Boot Block code protection
#FUSES NOEBTRB                  //Boot block not protected from table reads
#FUSES NOWRTC                   //configuration not registers write protected
#FUSES NOWRTB                   //Boot block not write protected
#FUSES FCMEN                    //Fail-safe clock monitor enabled
#FUSES NOXINST                  //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
#FUSES NOPBADEN                 //PORTB pins are configured as digital I/O on RESET
#FUSES NOLPT1OSC                //Timer1 configured for higher power operation
#FUSES MCLR                     //Master Clear pin enabled

#use delay(clock=32000000)

#define TIME 64536   // seta o timer1 para overflow a cada 125us
#define MAX_BUFFER "NUMERO DE BYTES DO BUFFER"

const unsigned int som[MAX_BUFFER] = {XXXXX DADOS A PROCESSAR XXXXXXX};


short term        = FALSE;
long  increment   = 0;
int   x           = 0;
int   cont_T      = 0;
int   cont        = 0;

/*O timer foi configurado para que o overflow ocorra a cada 1seg / 8khz = 125us, sendo assim a cada 125us o dado do pino PWM será atualizado*/   

#int_timer1
void timer1_isr(void)
{   
   output_high(PIN_A1);                   //    apenas para controle
   if(increment < MAX_BUFFER){       //    para percorrer do inicio ao termino do buffer
      x = som[increment++];            //   o proximo byte
      set_pwm1_duty(x);                  //   atualiza o duty_cicle
   }else{
      set_pwm1_duty(0);                  //   coloca a zero pois terminou o buffer
      disable_interrupts(INT_TIMER1); //    para evitar uma reentrada
      increment = 0;                        //    zera o contador
      term = TRUE;                          //  coloca a flag de termino como verdadeira
   }
   set_timer1(TIME);
   output_low(PIN_A1); // apenas para controle
}

void aux(void){

   while(cont < cont_T){
   output_high(PIN_A3);
   delay_ms(500);
   output_low(PIN_A3);
   delay_ms(500);
   cont++;
   }
   cont = 0;     
}


void main()
{

   setup_adc_ports(NO_ANALOGS|VSS_VDD);
   setup_adc(ADC_CLOCK_DIV_2|ADC_TAD_MUL_0);
   setup_wdt(WDT_OFF);
   setup_timer_0(RTCC_INTERNAL);
//!   setup_timer_1(T1_DISABLED);
   setup_timer_1 ( T1_INTERNAL | T1_DIV_BY_1 );
   setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   

   setup_timer_2(T2_DIV_BY_4,249,1);   // 8khz
//!   setup_timer_2(T2_DIV_BY_4,124,1);   // 16khz
//!   setup_timer_2(T2_DIV_BY_4,82,1);    // 24khz
//!   setup_timer_2(T2_DIV_BY_1,249,1);   // 32khz
//!   setup_timer_2(T2_DIV_BY_1,199,1);   // 40khz
//!   setup_timer_2(T2_DIV_BY_1,124,1);   // 64khz
//!   setup_timer_2(T2_DIV_BY_1,99,1);    // 80khz
   setup_ccp1(CCP_PWM);
   set_pwm1_duty(0);
   
   clear_interrupt(INT_TIMER1);
   enable_interrupts(INT_TIMER1);
   enable_interrupts(GLOBAL);
 
   set_timer1(TIME);      // seta o timer1 para overflow a cada 125us
   
   output_low(PIN_A3);      //   apenas para controle

   while(TRUE){
      if(term){
          cont_T++;
          switch (cont_T) {
           
            case 1:
               aux();               
               setup_timer_2(T2_DIV_BY_4,124,1); // 16khz
               setup_ccp1(CCP_PWM);
               break;
               
            case 2:
               aux();             
               setup_timer_2(T2_DIV_BY_4,82,1); // 24khz
               setup_ccp1(CCP_PWM);
               break;
               
            case 3:
               aux();             
               setup_timer_2(T2_DIV_BY_1,249,1); // 32khz
               setup_ccp1(CCP_PWM);
               break;
               
             case 4:
               aux();               
               setup_timer_2(T2_DIV_BY_1,199,1); // 40khz
               setup_ccp1(CCP_PWM);
               break;
               
             case 5:
               aux();             
               setup_timer_2(T2_DIV_BY_1,124,1); // 64khz
               setup_ccp1(CCP_PWM);
               break;
               
             case 6:
               aux();
               setup_timer_2(T2_DIV_BY_1,99,1); // 80khz
               setup_ccp1(CCP_PWM);
               break; 
               
            default:
               aux();
               setup_timer_2(T2_DIV_BY_4,249,1); // 8khz
               setup_ccp1(CCP_PWM);
               cont_T = 0;
               break;
          }

          output_toggle(PIN_A0); 
          delay_ms(1000);
          enable_interrupts(INT_TIMER1);
          clear_interrupt(INT_TIMER1);
          term = FALSE;
          set_timer1(TIME);
      }
   } 
}



Fatos que aconteceram:
1- Com a taxa de amostragem igual a 8khz. Consegue se ouvir a informação porem como disse no inicio do tópico com intenso chiado agudo.
2- Com a taxa de amostragem igual a 16khz. Só ruído.
3- Com a taxa de amostragem igual a 24khz. Só ruído.
4- Com a taxa de amostragem igual a 32khz. Ouço quase que da mesma forma, quando reproduzo a amostra com o Sound Forgt, porém com o volume um baixo e pouco mais grave.
5- Com a taxa de amostragem igual a 40khz. Foi parecido com o nº 4 com uma pequena melhora no volume e nitidez.
6- Com a taxa de amostragem igual a 64khz. Só ruído.
7- Com a taxa de amostragem igual a 80khz. Só ruído.

O filtro usado nos testes foi um passa-baixa com resistor 1k e capacitor 100nf, o que dá uma FC de aproximadamente 16khz, sei que não é o correto, mais como era necessário uma variedade de capacitores para os teste, então mantive esta configuração.

MOR_AL escreveu: Se este chiado tivesse uma frequência fundamental superior à frequência máxima do seu sinal, e você pudesse medi-la, além da amplitude média deste chiado e a amplitude média do seu sinal, talvez eu pudesse projetar um Filtro Passa-Baixas (FPB) para você.
Obs.:
Considerar que o seu sinal seja de voz (+/- de 300Hz a 3400Hz).
Como o seu sinal PWM possui apenas valores positivos, e o seu sinal possui valores positivos e negativos, seria necessário incluir um Filtro Passa-Altas (FPA) também.

Responda às minhas três perguntas que vamos ver o que se pode fazer.


Gostaria muito de te responder estas perguntas, mais pela minha falta de conhecimento e um osciloscópio, não sei como te responder.
Quanto ao FILTRO, gostaria muito de sua ajuda.

Marcelo Samsoniuk escreveu:vc nao pode configurar para o pic gerar continuamente a saida pwm independente de vc atualizar ou nao o valor do contador?

por exemplo, seta ele para gerar a saida na freqüência.....

Estou fazendo praticamente isso, porem alternado a freqüência para poder escutar e entender melhor o conceito.

BolhaDigital escreveu:HÁ RAPAZ, ACABOU DE PASSAR PELA MINHA CUCA UMA POSSÍVEL COISA PARA ESSE RUIDO, PODE SER, LÍ EM ALGUM LUGAR ISSO: É O SEGUINTE, QUANDO VC JOGA UMA WAVE COM O FORMATO .WAV DIRETAMENTE NUM DAC SEJA ELE PWM OU R2R OU CHIPADO, EXISTE O PROTOCOLO DO ARQUIVO .WAV JUNTO COM A AMOSTRA, ISSO PODERIA GERAR RUIDOS! LEVE ESSA OBSERVAÇÃO EM CONSIDERAÇÃO ANTES DE FAZER ALTERAÇÕES NO SEU SISTEMA, EXPERIMENTE PASSAR O SER ARQUIVO DO FORMATO .WAV PARA O FORMATO .PCM E REPRODUZA O TREM, VEJA SE O RUIDO NÃO SOME!

MAIS UMA VÊZ ESTA A SUA DISPOSIÇÃO ESSE PROGRAMINHA DA ACONAS É SÓ ME ENVIAR UM EMAIL QUE TE ENVIO O CARINHA...


Faço da seguinte maneira, gravo uma amostra com o SoundForge, há 8khz, 8bits, unsigned e mono e salvo com .RAW.

vtrx escreveu:Ivan,se voce tem capacidade de programar em ASM,tem uma 'brincadeirinha' aqui neste link...


Um dia ainda chego lá, irei me esforçar.

vtrx escreveu:Ivan, conseguiu resultado satisfatório?


Neste momento está do jeito que descrevi acima.

Quero agora entender como calcular o filtro e se possivel aumentar um pouco mais o que seria o "volume" do som

Mais uma vez, obrigado a todos.
"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

Mensagempor MOR_AL » 04 Abr 2010 19:15

ivan braga escreveu:Primeiro, desculpem a demora...

Fatos que aconteceram:
1- Com a taxa de amostragem igual a 8khz. Consegue se ouvir a informação porem como disse no inicio do tópico com intenso chiado agudo.
O filtro usado nos testes foi um passa-baixa com resistor 1k e capacitor 100nf, o que dá uma FC de aproximadamente 16khz, sei que não é o correto, mais como era necessário uma variedade de capacitores para os teste, então mantive esta configuração.

MOR_AL escreveu: Se este chiado tivesse uma frequência fundamental superior à frequência máxima do seu sinal, e você pudesse medi-la, além da amplitude média deste chiado e a amplitude média do seu sinal, talvez eu pudesse projetar um Filtro Passa-Baixas (FPB) para você.
Obs.:
Considerar que o seu sinal seja de voz (+/- de 300Hz a 3400Hz).
Como o seu sinal PWM possui apenas valores positivos, e o seu sinal possui valores positivos e negativos, seria necessário incluir um Filtro Passa-Altas (FPA) também.

Responda às minhas três perguntas que vamos ver o que se pode fazer.


Gostaria muito de te responder estas perguntas, mais pela minha falta de conhecimento e um osciloscópio, não sei como te responder.
Quanto ao FILTRO, gostaria muito de sua ajuda....
Quero agora entender como calcular o filtro e se possivel aumentar um pouco mais o que seria o "volume" do som

Mais uma vez, obrigado a todos.


Bom. Vamos lá:

1 - O seu filtro PB tem uma frequência de corte superior de 1592Hz. Começando a cortar o seu sinal. Se com ele, parte do seu sinal já é cortado e ainda há muito ruído, não há solução com um filtro simples.
2 - Perguntei qual seria a frequência da fundamental do ruído para saber onde, no espectro de frequências, deveria colocar a frequência de corte superior. Sei que deve estar entre 3400Hz e 8000Hz.
3 - Perguntei qual é o nível de sinal e de ruído para saber quanto atenuar esse ruído. Certamente não daria para fazer com um filtro PB simples. Teria que ser mais complexo. Quão complexo, essa relação me orientaria.
4 - Você quer um ganho no seu sinal. Isso poderia ser feito, desde que você informasse o quanto.
5 - Sem essas informações, projetar um filtro, seria quase que dar um "tiro no escuro". Sem previsão de melhoria substancial. Eu poderia chutar alguns parâmetros e projetar o filtro, mas é o que lhe infomei.
Como você estava pensando em colocar um FPB, se ativo (com operacional), em princípio vou projetar um com o LM324 (com 4 operacionais dentro do chip). Fica apenas como sugestão, uma vez que faltam informações mais precisas.

Caro Ivan.
Sem querer lhe desmerecer e considerando o que você informa em sua postagem, sinceramente, eu não acho que este tipo de filtro, mais complexo, seria compreencível para você.
Acho que você poderia testar e apresentar suas conclusões, do mesmo jeito que você tem feito.
Um abraço.
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 ivan braga » 04 Abr 2010 19:38

MOR_AL escreveu:Sem querer lhe desmerecer e considerando o que você informa em sua postagem, sinceramente, eu não acho que este tipo de filtro, mais complexo, seria compreencível para você.


Da maneira que você responde aos participantes deste forum, tenho certeza que não estas me desmerecendo, e muito provalvemente tambem não compeenderia de fato todo o circuito que você pode propor.

Mas faremos o seguinte. No momento o resultado que tenho me satisfaz, então deixemos assim, porém em um momento mais oportuno voltarei a este assunto, pois o achei muito interessante e se possivel solicitarei sua ajuda, e como você já escreveu em um outro post seu "Lembre-se que o ótimo é inimigo do bom" então fico com o razoável.

Mais uma vez obrigado.
"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

Mensagempor MOR_AL » 04 Abr 2010 21:28

Você pode tentar esse filtro. Ele usa apenas um chip LM324.
Lembrando que é uma simulação. Não foram consideradas variações de valores encontradas nos componentes comerciais.
Não foi montado e testado.
O filtro é um passa baixa Chebyshev de 4º ordem com atenuação de 3dB em 3400Hz e 40dB em 8kHz. Com um ripple na banda passante de 0,5dB. Seguido de um estágio de ganho e um filtro passa-altas.

Imagem
Imagem
[]'s
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

AnteriorPróximo

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Google [Bot] e 1 visitante

x