Tabla de contenido:
- Paso 1: Cómo funciona (concepto):
- Paso 2: Cómo funciona (en código):
- Paso 3: uso de código para el análisis de frecuencia:
- Paso 4: Salida:
- Paso 5: Verificación de varios tamaños de muestra y ventana:
- Paso 6: Ejemplo:
Video: Arduino: Transformación de frecuencia (DFT): 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
este programa es para calcular la transformación de frecuencia en arduino con el control de la batería sobre los parámetros. Se resuelve usando la transformación de profanar cuatro.
esto no es FFT
FFT es un algoritmo que se utiliza para resolver DFT en menos tiempo.
El código para FFT se puede encontrar aquí.
Paso 1: Cómo funciona (concepto):
El programa dado para la transformación de frecuencia proporciona un gran control sobre la salida que necesita. este programa evalúa el rango de frecuencia dado por el usuario en una entrada dada para el conjunto de datos.
- En la figura, un conjunto de datos compuesto por dos frecuencias denominadas f2 y f5 dadas las cuales necesitan ser probadas. f2 y f5 son nombres aleatorios para dos frecuencias, un número más alto para una frecuencia relativamente más alta. aquí la frecuencia menor f2 tiene mayor amplitud y f5 tiene menor amplitud.
- Se puede demostrar matemáticamente que la suma de la multiplicación de dos conjuntos de datos armónicos que tienen una frecuencia diferente tiende a cero (un número mayor de datos puede conducir a un resultado de rebozo). En nuestro caso, si estas dos frecuencias de multiplicación tienen la misma frecuencia (o muy cercana), la suma de la multiplicación es un número distinto de cero donde la amplitud depende de la amplitud de los datos.
- Para detectar una frecuencia específica, el conjunto de datos se puede multiplicar por varias frecuencias de prueba y el resultado puede dar un componente de esa frecuencia en los datos.
Paso 2: Cómo funciona (en código):
para esos datos dados (f2 + f5) uno por uno, f1 a f6 se multiplica y se anota el valor de la suma. esa suma final representa el contenido de esa frecuencia. El resto (no coincidente) de frecuencia debería ser idealmente cero, pero no es posible en el caso real. para hacer la suma cero se requiere tener un tamaño infinito de conjuntos de datos.
- como se puede mostrar en la figura f1 a f6, se muestra la frecuencia de prueba y su multiplicación con el conjunto de datos en cada punto.
- en la segunda figura se traza la suma de esa multiplicación en cada frecuencia. dos picos en 1 y 5 son identificables.
por lo tanto, utilizando el mismo enfoque para datos aleatorios, podemos evaluar tantas frecuencias y analizar el contenido de frecuencia de los datos.
Paso 3: uso de código para el análisis de frecuencia:
para un ejemplo, usemos este código para encontrar DFT de onda cuadrada.
primero pegue el código adjunto (función dft) después del bucle como se muestra en la imagen
8 TÉRMINOS QUE DEBEN SER ESPECIFICADOS
- una matriz de la cual se debe tomar dft
- tamaño de una matriz
- intervalo de tiempo entre 2 lecturas en matriz en milisegundos
- valor más bajo del rango de frecuencia en Hz
- valor superior del rango de frecuencia en Hz
- tamaño de los pasos para el rango de frecuencia
- repetición de una señal (mínimo 1) mayor precisión de número de bateadores pero mayor tiempo de solución
-
función de ventana:
0 para sin ventana 1 para ventana plana 2 para ventana Hann 3 para ventana Hamming
(si no tiene idea de cómo seleccionar la ventana, mantenga el valor predeterminado 3)
ejemplo: dft (a, 8, 0.5, 0, 30, 0.5, 10, 3); aquí hay una matriz de elemento de tamaño 8 que se debe verificar para 0 Hz a 30 Hz con 0.5 pasos (0, 0.5, 1, 1.5,…, 29, 29.5, 30) 10 repetición y ventana de hamming
aquí es posible usar una matriz de mayor tamaño tanto como arduino puede manejar.
Paso 4: Salida:
si comentas
Serial.print (f); Serial.print ("\ t");
a partir del código, el trazador en serie dará la naturaleza del espectro de frecuencia y, si no, el monitor en serie dará la frecuencia con su amplitud.
Paso 5: Verificación de varios tamaños de muestra y ventana:
en la figura, la frecuencia de la onda sinusoidal se mide utilizando diferentes ajustes.
Paso 6: Ejemplo:
en la figura se compara la transformación de datos usando SciLab y arduino.
Recomendado:
Contador de frecuencia simple usando Arduino: 6 pasos
Contador de frecuencia simple usando Arduino: En este tutorial aprenderemos cómo hacer un contador de frecuencia simple usando Arduino. ¡Mira el video
Sensor de latido con Arduino (monitor de frecuencia cardíaca): 3 pasos
Sensor de latido con Arduino (monitor de frecuencia cardíaca): el sensor de latido es un dispositivo electrónico que se utiliza para medir la frecuencia cardíaca, es decir, la velocidad de los latidos del corazón. Monitorear la temperatura corporal, la frecuencia cardíaca y la presión arterial son las cosas básicas que hacemos para mantenernos saludables. La frecuencia cardíaca puede ser mon
Cómo utilizar el generador de señales de frecuencia Arduino DDS AD9850: 7 pasos
Cómo usar el generador de señal de frecuencia Arduino DDS AD9850: En este tutorial aprenderemos cómo hacer un generador de señal de frecuencia usando un módulo AD9850 y Arduino.¡Mire el video! peor con las frecuencias más altas
Estetoscopio espectral de transformación rápida de Hartley: 22 pasos
Estetoscopio espectral de transformación rápida de Hartley: en este instructivo, aprenderá cómo hacer un estetoscopio espectral utilizando la transformación rápida de Hartley. Esto se puede utilizar para visualizar los sonidos cardíacos y pulmonares
Medir su frecuencia cardíaca está en la punta de su dedo: Enfoque de fotopletismografía para determinar la frecuencia cardíaca: 7 pasos
Medir su frecuencia cardíaca está en la punta de su dedo: Enfoque de fotopletismografía para determinar la frecuencia cardíaca: Un fotopletismógrafo (PPG) es una técnica óptica simple y de bajo costo que se usa a menudo para detectar cambios en el volumen de sangre en un lecho de tejido microvascular. Se utiliza principalmente de forma no invasiva para realizar mediciones en la superficie de la piel, normalmente