Autor Tema: Código FFT  (Leído 1532 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado antoniof

  • Moderadores
  • PIC24F
  • *****
  • Mensajes: 729
Código FFT
« en: 25 de Marzo de 2005, 13:01:00 »
Bueno, en primer lugar queria saludaros a tod@s y felicitar a los moderadores por este foro del que he aprendido mucho. Sin duda mientras mas se cree uno que sabe de algo, mas se da cuenta de que no sabe de nada.

Y después del peloteo Rebotado vamos a la cuestión:

Estoy intentando hacerme un analizador lógico con el que sale en el winamp, para mi equipo Home Cinema. Como pantalla usaré una de un Nokia 3310 que ya tengo dominada Sonrisa Gigante y ahora viene lo bueno... y es que no encuentro un solo código para calcular la FFT para un PIC y me niego a pensar que no lo hay o que los PIC no son lo suficientemente potentes.

Estaba pensando en hacerlo con cualquier 16F87X o bien con un 18F458.

He encontrado códigos en C por ahy pero me gustaría hacerlo en ASM, entre otras cosas, porque nunca programé un PIC en C, aunque si no hay más remedio habrá que tragar.

Si alguien me puede ayudar se lo agradecerñia mucho Sonrisa Gigante.

Un saludo.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17670
    • MicroPIC
RE: Código FFT
« Respuesta #1 en: 25 de Marzo de 2005, 13:37:00 »
Programar una rutina de FFT es una alternativa válida, pero compleja.
Sobre todo cuando ya está hecha Muchas risas

Mira en C30, el comando FFTComplex, de la librería dsp.h

Estaría bien ver alguna foto de tu proyecto cuando lo tengas. Suena bien...
Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado antoniof

  • Moderadores
  • PIC24F
  • *****
  • Mensajes: 729
RE: Código FFT
« Respuesta #2 en: 28 de Marzo de 2005, 20:26:00 »
Vale Norturno.

Creo que lo voy a hacer al final con una FPGA, que las controlo mejor. Así aprendo un poco de VHDL con Elena.

Gracias de todas formas.Sonrisa Gigante

Desconectado cHiPmAn

  • PIC16
  • ***
  • Mensajes: 110
RE: Código FFT
« Respuesta #3 en: 29 de Marzo de 2005, 00:53:00 »

¿Que tal es lo de hacer una FFT con una FPGA? Me parece un tema muy interesante. De todas maneras, me imagino que vas a necesitar una FPGA con un montón de registros o macrocélulas verdad?

A ver si me puedes poner un par de links para ver la idea.

Por cierto, a ver si puedes pasarme los códigos en C de las FFT para PIC.
Mi email es: emailchipman (arrobaa) hotmail punto com.

Saludos!!

Desconectado antoniof

  • Moderadores
  • PIC24F
  • *****
  • Mensajes: 729
RE: Código FFT
« Respuesta #4 en: 29 de Marzo de 2005, 09:18:00 »
Buenas.

Hacer una FFT para FPGA es muy fácil porque el propio programa (Xilin ISE 6.3i), que es el soft que yo uso, te la genera automáticamente. Tu puedes configurar el número de puntos que quieres, así como la resolución de las muestras, etc.. Tiene un montón de parámetros para configurar el módulo como si quieres que se optimize por recursos (menor número de puertas pero más lenta) o por eficiencia del algoritmo (lo contrario a lo anterior).

Aqui te dejo un enlace de la IP de xilinx:

http://www.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?sGlobalNavPick=PRODUCTS&sSecondaryNavPick=Design+Tools&category=&iLanguageID=1&key=FFT

Yo utilizaré una Spartan 3 XC3S200, pero no creo que me ocupe más del 10% de la FPGA, por lo que si tienes una más pequeña puede que te quepa, todo es probarGiño. No olvidemos que la FFT sólo es una parte de mis pretensiones. Luego tendré que escojer los puntos correspondientes a las frecuencias que quiero mostrar en mi analizador (100, 300, 1K, 3K y 10K) y calcular el módulo, puesto que los datos de salida son imaginarios, etc. etc...

Ya os ire contando como va saliendo. Por ahora estoy intentando mostrar cinco barras estáticas en la pantalla y me esta constando un huevor por que no tengo ni idea de VHDL.

Con respecto a los PIC, aqui te pongo un enlace del código FFT que he encontrao en Mircochip para un PIC 17C42:

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011084