Boa tarde Pessoal.
Ultimamente estive trabalhando em um projeto, um Analisador de espectro de áudio, 20Hz a 20KHz, com display de LED 20 x 20 igual esse monte que tem por ai. Tenho todo o hardware pronto, e software falta o maior detalhe, um bom algoritmo para o calculo da FFT, o que estou usando esta disponível no livro "Numerical Recipes" , porém quando implementei no meu projeto, o mesmo não teve bom desempenho, demora cerca de 120ms para fazer o calculo.
Estou utilizando um microcontrolador da ST rodando a 16MHz reais. Um vídeo que vi no Youtube o cara faz o mesmo processo com um Atmega rodando a 8MHz, diz ele. porém não sei qual algoritmo ele utiliza.
Peço a ajuda de vocês porque preciso de um algoritmo para o calculo da FFT ou FHT em linguagem C, alguém tem algo ?
Obrigado!!
Tags:
Oi TLM, boa noite.
No seu projeto, voce precisa que a FFT seja calculada pelo arduino?
Se nao, em alguns projetos meus, eu usei um CI que faz este trabalho de separar as freqüências.
Seque o link com o datasheet do CI. MSGEQ7
https://www.sparkfun.com/products/10468
https://www.sparkfun.com/datasheets/Components/General/MSGEQ7.pdf
Com ele a FFT 'e calculada em tempo real e nao ocupa o arduino.
Rui
Obrigado Rui
Estou trabalhando com um microcontrolador da ST, e realmente preciso usa-lo para o calculo.
Tiago
Olá,
Tem estas librarys pra arduino (atmega 16Mhz):
http://wiki.openmusiclabs.com/wiki/ArduinoFFT
http://members.shaw.ca/el.supremo/Arduino/fft/ffttest.htm
http://www.divilabs.com/2013/03/fft-library-for-arduino.html
http://www.instructables.com/id/LoL-Shield-Audio-Spectrum-VU-Meter/
O algoritmo está ai implementado em cada uma das bibliotecas, mas tem que estudar o código pra poder adaptar ao seu hardware, coisa que nem sempre é muito fácil.
Boa sorte
Obrigado Wiechert. ajudaria se tivesse algo que não fosse em baixo nível.
Tiago
Amigo,
FFT é um processo crítico, onde é preciso fazer tudo no menor tempo para poder aumentar a banda final...
Por isso se acha que essas libraries em C estão em baixo nivel precisa ver as boas que são escritas em assembly...
Boa sorte
Concordo. Porem estou sem tempo para tamanho estudo, preciso utilizar um micro da ST, onde tudo nele é novo para mim, imagina o assembly.. hehe
Recomendo o uso de Arduino DUE - 84 MHz - melhor performance , ADC e DAC de 12 bits
https://coolarduino.wordpress.com/2014/03/11/fft-library-for-arduin...
https://coolarduino.wordpress.com/2014/09/25/splitradixreal-fft-lib...
https://coolarduino.wordpress.com/2012/03/24/radix-4-fft-integer-math/
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por