TODOPIC
FORO TÉCNICO => Foro Técnico => Mensaje iniciado por: antoniof 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
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
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
.
Un saludo.
-
Programar una rutina de FFT es una alternativa válida, pero compleja.
Sobre todo cuando ya está hecha 
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...
-
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.
-
¿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!!
-
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 probar
. 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