Página 1 de 1
FFT2 a saga continua.

Enviado:
16 Nov 2009 16:31
por fabim
Eis que consegui fazer o exemplo que eu achei, funcionar para o hw que eu tenho, e agora vem a porca torcer o rabo.
Não lembro nem a purretada como funciona abaixo.
40KHZ sample rate 10 bits.
256 amostras
"64 resultados"
Como funciona o calculo para saber a frequencia de tederminada posição das 64 casas de resultados de amplitude?
Lembro que dependendo do algoritmo, eu podia dar um zoom digamos assim de determinada faixa para os 64 resultados de amplitudes. mais não consigo lembrar nem achar onde encontro algo sobre isto.
O que eu estou fazendo na verdade, é um passa tempo para o meu irmão.
quando eu vou preenchendo os 64 resultados das 64 amostras eu tenho um trigger que guarda a posição do maior valor de amplitude, teoricamente aquela posição seria a frequencia fundamental"terá ajustes".
Fabim um afinador para PC é de gratis, e portatil tem a preço de banana de 80 contos... Eu sei, mais se eu comprar pronto, não vou aprender porcaria nenhuma..
Se alguém quiser dar uma zoiada, eu jogo o exemplo no site para o pessoal dar uma sapiada.
Abraços
Fabim

Enviado:
16 Nov 2009 17:55
por _blackmore_
Se alguém quiser dar uma zoiada, eu jogo o exemplo no site para o pessoal dar uma sapiada.
eu quero ...

Enviado:
16 Nov 2009 18:37
por proex
Tem coisa estranha ai, se são 256 amostras, porque 64 resultados?
Após passar a amostra pela função FFT vc dividiu o resultado por 64?
Mas continuando:
Com 40Khz de Samplig, vc terá 20Khz de banda.
Dividindo a banda de 20Khz por 256 (quantidade de pontos da FFT) vc terá
78,125Hz.
Isso significa que cada resultado de sua tabela terá uma distancia de 78,125Hz um do outro sendo:
O primeiro valor da tabela representará a energia do sinal entre Zero e 78,125 hz.
O segundo valor da tabela representará a energia do sinal entre 78,125Hz e 156,25Hz.
O terceiro valor da tabela representará a energia do sinal entre 156,25Hz e 234,37Hz.
E assim sucessivamente, com diferença de 78,125Hz entre cada item da tabela.
.

Enviado:
16 Nov 2009 19:16
por fabim
proex escreveu:Tem coisa estranha ai, se são 256 amostras, porque 64 resultados?
Após passar a amostra pela função FFT vc dividiu o resultado por 64?
Mas continuando:
Com 40Khz de Samplig, vc terá 20Khz de banda.
Dividindo a banda de 20Khz por 256 (quantidade de pontos da FFT) vc terá
78,125Hz.
Isso significa que cada resultado de sua tabela terá uma distancia de 78,125Hz um do outro sendo:
O primeiro valor da tabela representará a energia do sinal entre Zero e 78,125 hz.
O segundo valor da tabela representará a energia do sinal entre 78,125Hz e 156,25Hz.
O terceiro valor da tabela representará a energia do sinal entre 156,25Hz e 234,37Hz.
E assim sucessivamente, com diferença de 78,125Hz entre cada item da tabela.
.
putz,,,,, exatamente isso que eu queria ler, intão realmente...

vou ter que mexer na resolução pra diminuir a distancia entre postos. 78hz ta muito longo

...

Enviado:
16 Nov 2009 20:10
por proex
Bom, quem vai mandar agora será a velocidade da CPU que estiver usando.
Com FFTde 512 pontos vc terá 39Hz de espaçamento.
Com FFT de 1024 pontos vc terá 19,5Hz de espaçamento.
Dai vem aquela necessidade de rodar o FFT na Ram do ARM.
POr outro lado, Vc pode diminuir a banda e manter os 256 pontos.
Para um Sampling de 10Khz, a banda será 5Khz.
Dividindo 5Khz por 256 temos 19,53 Hz.
Assim vc melhora a resolução para uma banda mais estreita.
.

Enviado:
16 Nov 2009 21:57
por Djalma Toledo Rodrigues
O ADC 12 Bits do XMEGA atinge 2 Mega Samples
http://asm51.eng.br/phpbb/viewtopic.php?t=8738
-------------------------
Fabim eu só vou ver quando houver "quando hover uma comunicação ampla , geral, irrestrita" ,
como disse o TIM MAIA , que funcionou. _


Enviado:
17 Nov 2009 08:58
por fabim
Putex, você tem alguma noção de qual seria a minima frequencia aceitavel para instrumentos de corda ?
no caso do meu irmão, ele toca baixo, guitarra, violão.
O violão dele que é um takamine sei lá como se escreve, tem aquele compartimento que fica a bateria e os potenciometros de pré etc.
vou colocar um bargraph, e dois micro displays de 7 seguimentos. para indicar a nota e se é sustenido etc.
Conforme a tabela que eu achei na net.
Abraços

Enviado:
17 Nov 2009 09:38
por proex
Nao sei, precisa medir.

Enviado:
17 Nov 2009 09:44
por fabim
http://www.ep.com.pl/antoniak/index.php?id=arm_de
quem quiser brincar, ta muito bem comentado e exemplificado..

Enviado:
17 Nov 2009 12:05
por Djalma Toledo Rodrigues
Bonito Fabim.
Há tempo gostaria de ter um para Análise Sinal de Áudio
já que os Medidores de Distorção 'embolam o meio de Campo' Ruido + Distorção . Mas que distorção Par ou Impar ? Não distinguem
E dar prioridade a Redução das Harmônicas Impares, no projeto de Amplificador de Áudio
faz toda a Diferença.
.

Enviado:
17 Nov 2009 14:17
por Jozias del Rios
Bixo, como vc não tá interessado no espectro todo o tempo todo, vc pode fazer um FFT grossa como 256 samples e começar a perseguir a frequencia principal por bissecção de intervalos, calculando rapidamente qual a amplitude para determinadas frequencias pelo algoritmo de goertzel (ou uma de suas variantes mais especializadas)
esse algoritmo é extremamente rapido, simples e calcula a amplitude em uma determinada frequencia.
por exemplo, vc fz FFT a cada 1000ms e vê que a amplitude é grande perto dos 1000Hz por exemplo,
então vc inicia uns 64 goertzel simultaneos envolta de 1000Hz +- 64Hz
e depois vai afinando, até não ter mais precisão por algum outro motivo que não seja análise espectral hehe

Enviado:
17 Nov 2009 15:01
por fabim
VEJA BEM, não vai ser em tempo real...
vai ser tipo um ou dois FFT por segundo, ainda não cheguei a calcular realmente quantas ele faz por segundo,,,
bom, no meu caso.
Descobri que, o passo de notas é 12.5hz.
Como sei que com essa banda passante entre resultados eu consigo descobrir a frequencia, consequentemente a nota.
256 * 12.5hz = 3200
3200hz * 2 = sample rate = 6.4KSPS.
O trigger.
na rotina que vai alocando os possiveis 256 resultados de niveis de energia, eu vou fazendo.
IF novo > anterior
Trigger=casa.
suponha que a 35° casa foi o maior pico, dentro das 256.
Então frequencia fundamental =
12.5 * 35 = 437,5 = lá. porem o tom esta abaixo ou desafinado.
existem alguns outros detalhes que vou implementar que é a FFT fina com 10 hz. etc. estou estudando bastante sobre isso.
Vou igual mineirinho, devagarim e vou.
abraços

Enviado:
17 Nov 2009 17:42
por Djalma Toledo Rodrigues
Jozias del Rios escreveu:Bixo, como vc não tá interessado no espectro todo o tempo todo, vc pode fazer um FFT grossa como 256 samples e começar a perseguir a frequencia principal por bissecção de intervalos, calculando rapidamente qual a amplitude para determinadas frequencias pelo algoritmo de goertzel (ou uma de suas variantes mais especializadas)
esse algoritmo é extremamente rapido, simples e calcula a amplitude em uma determinada frequencia.
Então excitando o Amplificador com 1 kHz posso analizar em torno de 3 kHz direto, já que sei que esta é a 3ª Harmônica ?
.

Enviado:
17 Nov 2009 19:35
por Jozias del Rios
Sim.
O algoritmo de goertzel original eh um filtro de segunda ordem, que é uma ordem baixa, porém ele é um filtro IIR e quanto mais tempo "rodando", melhor sua precisão. Há formas de alterá-lo e deixá-lo mais preciso por iteração.
Ele é bastante usado em DTMF para detectar a dupla de tons das teclas, porém também é usado para detectar a segunda harmônica de todos os tons do DTMF e analisar (a partir de um limiar) para distinguir entre um tom DTMF real ou apenas uma voz que parece um tom DTMF.
Então ele será util sim em lhe estimar a n-ésima harmônica, estando ciente, é claro, que o cálculo do ruido e da banda passante nestas frequencias tambem deve ser feito, para que o resultado possa ser validado.

Enviado:
17 Nov 2009 22:22
por Djalma Toledo Rodrigues
Obrigado Josias
Quando me refiro a Amplificador Audio estou supondo de Alta Qualidade
Ocorre o Seguinte:
No Amplificador com Estágio de Saída em Push Pull a Distorção de Segunda Ordem
do Estágio de Saída se cancela, isto em virtude da caracteristica do próprio circuito.
E no entanto pouco, ou nada, se percebe na melhoria na qualidade
de Audio,
isto em razão de que essa distorção é harmônica ( aqui no sentido musical )
Já 3ª e 5ª Harmonicas, são extremanente irritantes ao ouvido.
(As introduzidas pelo Amplificador já que há instrumentos que as possuem)
Então o meu objetivo é ir em cima destas especificamente.
Ajustar, otimizar, o ponto de Operação de cada Estágio
As demais tem geralmente amplitude muito reduzida.
.