Quiero hacer un FFT con algo de música, encontré una placa electret para conectarme directamente al puerto ADC, pero me preguntaba si es posible usar un micrófono de computadora normal. ¿Alguien sabe un tutorial o algo así? o como hacerlo?
Quiero hacer un FFT con algo de música, encontré una placa electret para conectarme directamente al puerto ADC, pero me preguntaba si es posible usar un micrófono de computadora normal. ¿Alguien sabe un tutorial o algo así? o como hacerlo?
El electreto requiere un circuito de polarización, no se puede conectar directamente al PIC. La señal sería muy pequeña, por lo que necesitará un amplificador de instrumentación. El PIC ADC carece de la sensibilidad para la señal sin procesar (vea el # 2 a continuación). También tendrá problemas con el alias, por lo que necesitará un filtro de paso bajo analógico.
Algunas otras cosas a considerar:
La mejor frecuencia de muestreo que puede obtener es de 10 a 12 kHz, lo que significa que solo puede obtener de 5 a 6 kHz debido a Nyquist, que no es suficiente para la música. La mayoría de los audífonos son de 16 kHz, y eso es para las personas mayores que ya han perdido la mayor parte de su audición de alta frecuencia.
La mejor resolución que probablemente puedas obtener es de 10 a 12 bits. Lo que significa que tendrá un piso de alto ruido, por lo que solo los sonidos muy fuertes lo lograrán. O si amplifica mucho, los sonidos fuertes saturarán la entrada.
FFT es un cálculo exigente, tendría que usar una FFT de 8 puntos o de 16 puntos que probablemente no sea la resolución que esperaba. Tal vez sus dsPIC33s pueden manejar más, pero la transmisión de los cálculos de FFT está fuera de la cuestión para la mayoría de sus PIC.
Necesitas más carne, considera hacerlo con un Rasberry Pi o algo con Linux y un conector de audio. Hacer eso en tiempo real será bastante desafiante en sí mismo, sin tener las limitaciones de hardware de un PIC. No me malinterpretes Me encantan los PIC, pero no son adecuados para el audio, y mucho menos para la música.
por supuesto que puedes. Pero hay cosas pequeñas a tener en cuenta.
Tenga en cuenta siempre la tensión de entrada máxima de ADC. Superando eso dañará la MCU. También tenga en cuenta que no puede conectar directamente el MIC al ADC. Simplemente porque el micrófono necesita estar sesgado. Lleve el punto de inactividad del MIC a un lugar como 2.5 voltios y luego intente muestrear desde el ADC. Esto se debe a que obtienes una onda AC del micrófono. Por lo tanto, el sesgo se asegurará de obtener tanto la parte inferior como la mitad superior de lo que habla. ¡Y! Asegúrese de que todos los motivos comunes.
Ya que eres un principiante, recomiendo usar algo como Micro C. No te dejes engañar. No es un lenguaje. Solo el nombre del compilador. Para su caso se llama Micro C para PIC. Así que sí, es específicamente para su aplicación. Recuerdo, ¡así es como empecé también!
No es realmente un buen compilador de C, pero te ayudará a comenzar. También necesitarás encontrarte un buen depurador.
Lo bueno de Micro C es que tienen todas las bibliotecas configuradas para ti. Solo tiene que ir al ejemplo (menú de ayuda) y comenzar a llamar a las funciones de la biblioteca que ya están integradas de forma predeterminada al compilador. Pero ten cuidado, no aprenderás mucho al usar de esta manera. Pero esto lo preparará todo para hacerlo de la manera correcta, con un entendimiento.
FFT no es realmente una cosa simple de hacer. Así que asegúrate de saber todas las matemáticas detrás de la misma. De lo contrario, estarás confundido en cuanto a por qué estás haciendo ciertas cosas.
Lea otras preguntas en las etiquetas microcontroller pic microphone fft