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!!

Exibições: 2285

Responder esta

Respostas a este tópico

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

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço