Ir ao conteúdo

Posts recomendados

Postado

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

Postado

@Tiago Lima_709420,

 

Existem alguns truques nos processos butterfly no algoritmo de FFT... o pessoal fala que o que importa é só a parte real, não a imaginária, pois o que voce precisa é calcular apenas a amplitude da frequência, e não a fase.

 

Eu até montei um desses projetos, o autor escreveu em Basic , e conseguia cerca de 20 atualizações do display por segundo. Confesso que por mais que eu lí o programa, não conseguí entender o tal do butterfly ......

 

Pesquise esse algoritmo de FFT com Butterfly.

 

Paulo

  • Curtir 2
Postado
  Em 01/09/2015 às 01:36, aphawk disse:

@Tiago Lima_709420,

 

Existem alguns truques nos processos butterfly no algoritmo de FFT... o pessoal fala que o que importa é só a parte real, não a imaginária, pois o que voce precisa é calcular apenas a amplitude da frequência, e não a fase.

 

Eu até montei um desses projetos, o autor escreveu em Basic , e conseguia cerca de 20 atualizações do display por segundo. Confesso que por mais que eu lí o programa, não conseguí entender o tal do butterfly ......

 

Pesquise esse algoritmo de FFT com Butterfly.

 

Paulo

 

Agradeço ao seu contato Paulo, já ouvi fala desse Butterfly, se não me falhe, trata-se de uma especie de "treliça"(analise gráfica) que se repete muito durante o calculo da FFT.  

 

Esse lance de não calcular a parte complexa é feito pela FHT- transformada rápida de Hartley, que seria perfeita para mim, porém não consigo encontrar o código em C ou algo que não seja assembly.

 

Tiago

Postado

@Tiago Lima_709420,

 

Exatamente, agora que você falou me lembrei do nome. É a Hartley mesmo....

 

Olha, eu procurei bastante isso também.... mas como não entendo nada de C, ficou impossível prá mim fazer isso. Achei em um site uma Lib, mas é para AVR, ela faz o diabo de transformação , é totalmente configurável em numero de pontos, e é todinha escrita em ASM de Avr. Os tempos são muito bons, e ví gente usando ela e falando muito bem. Mas nada de fontes ....

 

O butterfly é isso mesmo, é uma "árvore" que vai mudando os rumos dos cálculos, mas sinceramente, isso é prá matemáticos kkkkk

 

De qualquer maneira, eu brinquei um pouco com um analisador de espectro baseado em software apenas, e os resultados não são perfeitos. É imperativo criar um filtro anti-alias, para evitar erros nas medidas.

 

Acabei montando este aqui, que usa um pequeno filtro, e tive resultados bons com ele :

 

http://mdiy.pl/analizator-widma-akustycznego-v2/

 

O cara amostra o sinal de áudio antes e também depois do filtro, e usa um ou outro conforme a banda a ser calculada.

 

Use o Google site translator, dá uma lida, e baixe o programa fonte , ele está em Basic, e lá tá a rotina que faz o tal butterfly.....

 

Tem alguns comentários no fonte dele também.

 

Mas não vou te enganar... o melhor que eu montei foi usando dois MSEQ7, um deles com oscilador ajustado fora da especificação do fabricante justamente para obter as frequências centrais que faltavam, e consegui com eles as dez bandas tradicionais de um analisador de espectro de áudio, e acionei duas matrizes de Leds, usando dois desses Max 7219, tudo muito baratinho, e o resultado impressiona bastante. Não precisa saber nada de transformada FFT, FHT, BUTTERFLY..... kkkk !

 

Esse projetinho foi publicado aqui no Fórum do CDH.

 

Paulo

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!