FFT2 a saga continua.

Para "abobrinhas" use o " Boteco"

Moderadores: andre_luis, 51, guest2003, Renie

FFT2 a saga continua.

Mensagempor fabim » 16 Nov 2009 16:31

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
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 _blackmore_ » 16 Nov 2009 17:55

Se alguém quiser dar uma zoiada, eu jogo o exemplo no site para o pessoal dar uma sapiada.

eu quero ...
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor proex » 16 Nov 2009 18:37

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.

.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor fabim » 16 Nov 2009 19:16

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 :( ...
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 proex » 16 Nov 2009 20:10

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.

.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor Djalma Toledo Rodrigues » 16 Nov 2009 21:57

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. _ :D :D :D
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor fabim » 17 Nov 2009 08:58

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
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 proex » 17 Nov 2009 09:38

Nao sei, precisa medir.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor fabim » 17 Nov 2009 09:44

http://www.ep.com.pl/antoniak/index.php?id=arm_de

quem quiser brincar, ta muito bem comentado e exemplificado..
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 Djalma Toledo Rodrigues » 17 Nov 2009 12:05

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.
.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor Jozias del Rios » 17 Nov 2009 14:17

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
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor fabim » 17 Nov 2009 15:01

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
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 Djalma Toledo Rodrigues » 17 Nov 2009 17:42

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 ?

.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor Jozias del Rios » 17 Nov 2009 19:35

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.
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor Djalma Toledo Rodrigues » 17 Nov 2009 22:22

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.
.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22


Voltar para Assuntos Gerais

Quem está online

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

x