viernes, 17 de marzo de 2023

Calculo FFT

 Hice un algoritmo FFT buscando velocidad pese a existir otros...

No funciona bien así que voy a rehacerlo.

La idea es dividir la muestra del FFT en secciones cada vez mas pequeñas y recorrerlas sumando las pares y restando las impares.

El tamaño de las secciones sería la mitad de la frecuencia de la onda de la banda de la sección.

La desviación sobre lonque sería el ruido blanco debería mostrar si hay ondas en esa banda de frecuencia.

Para esto habría que calcular la entropía. 

La entropía del ruido blanco (comoletamente aleatorio) sería muy alta y si hay información es más baja.

Sumando y restando trozos pares e impares las bandas que contengan frecuencias en ellas darán medidas mas extremas.

Si sumas la parte positiva o negativa de la onda y restas la negativa, estás incrementando.

Pues restar algo negativo...

El valor se convierte en entero sin signo con(abs)

Pues el resultado podría ser tanto negativo como positivo dependiendo desde donde midamos.

Si hay alguna frecuencia debería mostrar un valor mayor y estable.

Son valores de 0 a 1024 lo que mide arduino por las entradas analógicas (10 bit) habría que introducir el valor entre 0 y 1024 que consideremos neutro, aunque mejor si es la mitad de la media  de toda la muestra FFT obtenida introduciendo ruido blanco.

El ruido blanco se puede conseguir con mediciones de las entradas analógicas sin conectar a nada como semilla y la función de números aleatorios.

El propio fft se puede probar generando ondas y midiendolas en el propio arduino.

Habría que calibrar conectando una salida con la onda generada a la entrada analógica que estemos usando para medir.

(Actualizaré esto)

No hay comentarios:

Publicar un comentario