Analizador de espectro con PIC

Segun don nyquist, para cubrir el rango de frecuencia audible se debería samplear a 40KHz. (me gustaría hacerlo a 44100 como las placas de audio) Lamentablemente mis conocimientos actuales llegan hasta ahi no mas.

Obviamente usar un PIC... tal vez el 16F873.


Los invito a colaborar con cualquier aporte, yo estoy dispuesto a ir ensayandolos a todos en multisim y mplab. Una vez listo hacer el PCB.

No les parece mas lindo poner eso de vumetro? que una linea de leds que prenden a media asta dando un aspecto no muy agradable.

Saludos
 
Perfecto Lucas... Tambien eh visto que lo hacen con DFT (Discrete Fourier Transform) peeero, que es en si? yo tengo una vaga idea, sin embargo creo que debemos saber bien que es eso antes de meter mano en algun algoritmo

Alguien nos da una mano explicandonos que es FFT y DFT ?
 
La transformadorrmada de furier solo se aplica a ecuaciones matematicas en señales que se repiten con el tiempo, cosa practicamente imposible en una aplicacion de la vida real, asi que algun matematico encontro una solucion para poderlo aplicar en sistemas "discretos" asumiendo que la forma de onda se repetiria en algun momento en el infinito, con esto nacio la transformadorrmada discreta de fourier

La transformadorrmada rapida de fourier es una adaptacion para que un microprocesador pueda hacer el calculo de forma rapida y precisa en el analisis de señales, practicamente todas las aplicaciones que requieren de una transformadorrmada usan la transformadorrmada rapida

http://es.wikipedia.org/wiki/Transformada_rápida_de_Fourier
 
Estoy en lo cierto si digo que transformadorrmada de Fourier es lo mismo, o similar, a la busqueda binaria?

La busqueda binaria, segun tengo entendido, conciste mas o menos en ir dividiendo en dos un grupo de N elementos, e ir quedandose por el grupo que SI tiene nuestra posicion de interes. Asi hasta obtener un grupo de 2 elementos y por ultimo obtener nustra posicion deseada. Este proceso reduce las cantidades de "preguntas" al minimo que debo hacer para encontrar la posicion deseada.

Ahora lo que no logro entender, es como se aplica el proceso de FFT , DFT ( si es valido tambien busqueda binaria ) a buscar los armonicos de una señal de audio.

Mi cerebro sigue pensando que hay aplicar filtros, y sobre estos filtros averiguar la magnitud.

Filtros digitales?
 
Yo todabia no entiendo como funciona un pic jajaj... es algo que me supera, me pongo a pensar como funcionan y ni atras ni pa delante. Me descargue el manual del PIC16f84 y no entiendo ni J.
Si alguien me puede explicar lo basico del pic, y algunas funciones y todo eso, tengo mucha caeza para pensar el programa para flashearlo. Lo unico que necesito es alguien que me de el empujon.
 
soschorni dijo:
Yo todabia no entiendo como funciona un pic jajaj... es algo que me supera, me pongo a pensar como funcionan y ni atras ni pa delante. Me descargue el manual del PIC16f84 y no entiendo ni J.
Si alguien me puede explicar lo basico del pic, y algunas funciones y todo eso, tengo mucha caeza para pensar el programa para flashearlo. Lo unico que necesito es alguien que me de el empujon.

Yo tengo un libro en castellano, que ahora ahora no me acuerdo bien el nombre, pero explica re bien todo.
Ni bien llego a mi casa te paso el nombre asi te lo bajas. Seguro debe estar por ahi dando vueltas.
 
soschorni dijo:
Yo todabia no entiendo como funciona un pic jajaj... es algo que me supera, me pongo a pensar como funcionan y ni atras ni pa delante. Me descargue el manual del PIC16f84 y no entiendo ni J.
Si alguien me puede explicar lo basico del pic, y algunas funciones y todo eso, tengo mucha caeza para pensar el programa para flashearlo. Lo unico que necesito es alguien que me de el empujon.

Intenta leer estos temas:

https://www.forosdeelectronica.com/f24/asm-desde-0-asm-desde-cero-16898/
https://www.forosdeelectronica.com/f24/curso-completo-microcontroladores-pic-10113/
https://www.forosdeelectronica.com/f24/curso-programacion-c-microcontroladores-pic-10796/
 
le dejo 2 links sobre FFT

http://cactus.fi.uba.ar/6617/clases/fft.pdf

http://ipdps.cc.gatech.edu/1996/PAPERS/S19/HE/HE.PDF

El primero es la clase que se preparo un profesor mio para explicar el algortimo FFT, la idea era implementarlo en VHDL, el segundo es un paper sobre radix 2^2 para implementar la FFT.
Me parece mas facil la radix2 que es la se implementa en el primer link. Siempre tene en cuenta que la cantidad de puntos que tenes que tomar para implementar radix2 debe ser potencia de 2.
Saludos
 
Ayer estaba hablando con un ing. Electronico amigo y me dijo:
"Yo tambien estaba armando eso, estube 1 semana con la rutina de DFT... es bastante lio. Al otro dia me baje la implementacion AN542 lo adapte.. y en 1 dia lo tenia andando. jajaja. Usa eso que anda perfecto, con un micro a 20MHz podia hacerle muestreos alrededor de 40ms"

Estoy hasta las manos con el laburo.
Lo voy a tener que postergar un tiempito.
Saludos.
 
Tios, y que paso con el proyecto, parecia interesante pero nadie lo sigue.
Bueno de mi parte tuve revisando un poco la FFT y la TDF y buscando en mis cuadernos viejos encontre q la la FFT sirve para determinar los coeficiente de la TDF, luego comence a aplicar un poco de matematica y toda esa vaina, y me tope con un gran dilema, yo solo quiero determinar la TDF para ciertas frecuencias ( las 10 de un espectrograma o 20 ya hasta 30) pero en la parte de la TDF solo se determina k y k no recuerdo como relacionarlo con f en tiempo continuo, aparte de eso encontre q la mejor forma para hacer un espectrograma es con la TF de tiempo reducido pero ya ahi entra un poco de wavelets y no se si el procesador sera capaz de eso,

Bueno si alguien tiene algo un poco mas definido y por ahi talvez uno codigo para determinar la amplitud de una frecuencia, de una senial muestreada (audio) se los agradeceria muxo

Fhrozen
 
bueno yo estuve haciendo hace un buen tiempo un analizador
q ya lo termine, acordadodeme utilice el 16f877a q en su tiempo fue muy bueno
pero creo q en un determinado tiempo se quedo muy escazo de memoria y de velocidad, lo mejore implementando un 18f4550 mucho mejor pero aun no me convencio, despues implemente un dspic 30f q ese si es para hombres muy bueno la verdad, y con una pequea ventaja q ya tiene la trasformada de fourier ademas un tiempo de oscilacion muy superioir es decir excelente para esta aplicacion
se los dejo a su consideracion dspic
 
Hola?... se puede?

Me interesa el tema que estan desarrollando; primero las definiciones...

"Los analizadores de eléctricos utilizan generalmente la transformada rápida de Fourier (FFT) como método para transformar una forma de onda determinada, en sus componentes dentro del espectro de frecuencias." (wikipedia)

Dudas

- Que ancho de banda deberia cubrir?
- Que tipo de acondicionamiento requiere la señal a analizar?
- Tasa de muestreo de la señal?
- Representacion del espectro en tiempo real?
- Como debe mostrar el espectro analizado? Matriz de leds, display LCD
- Es necesario conocer el proceso matematico FFT o nos buscamos algun algoritmo ya implementado?

Saludos
 
A mi tambien me interesa. Y segun lo que leo, se trata de un analizador de espectro para audio y doy las siguientes sugerencias:

- Que ancho de banda deberia cubrir? R= 20Hz a 20kHz
- Que tipo de acondicionamiento requiere la señal a analizar? R= No estoy seguro
- Tasa de muestreo de la señal? R= 44100 Hz
- Representacion del espectro en tiempo real? R= Si
- Como debe mostrar el espectro analizado? Matriz de leds, display LCD R= Matriz de leds
- Es necesario conocer el proceso matematico FFT o nos buscamos algun algoritmo ya implementado? R= De preferencia conocer el processo para comprender lo que se haga.

Son mis sugerencias.
No soy experto en procesamiento digital, pero estoy dispuesto a colaborar con algoritmos y circuitos.
¿Que dicen ustedes?
 
Hola DSP

He estado pensando y creo que deberiamos optar por un display LCD, el espectro resultante creo que necesita un poco de resolucion, con matriz de led limitariamos en mucho la presentación. Me gustaria conocer tu opinion.

He estado leyendo algunos articulos sobre FFT y parece ser que a mayor numero de muestras se logran mejores resultados; si muestreamos a 44100hz necesitaremos una buena cantidad de memoria en donde guardar los datos, se guardan en formato radix (esto aun no lo he estudiado), en un segundo de muestreo obtendremos 44,100 valores; aplicar el algoritmo FFT y mostrar el resultado en el exhibidor y repitir nuevamente.

tareas a desarrollar (sugerencia):

1. Describir a manera de algoritmo el proceso FFT para entenderlo
2. Diseñar el acondicionador de una señal de audio, es decir, hacerl un circuito basado en amplificador operacional para que la señal tenga los niveles utiles para ser procesada por un proceso DAQ (A/D)
3. Analizar los datos obtenidos y ver como se usaran en el algoritmo FFT
4. Cuanta memoria necesitamos para almacenar los datos?
5. Se necesita memoria temporal para los calculos?
6. Analizar los PIC en el mercado, de acuerdo a sus prestaciones, seleccionar uno que permita realizar el proceso de FFT

Que mas?

Saludos
 
Atrás
Arriba