"Transformación rápida de Fourier"
Enviado por Patricio Lara • 17 de Junio de 2022 • Documentos de Investigación • 2.162 Palabras (9 Páginas) • 195 Visitas
[pic 1][pic 2][pic 3]
Introducción
El sonido es un fenómeno físico que se produce cuando un objeto vibra y se genera una serie de ondas de presión que de forma alternativa comprimen y descomprimen las moléculas del aire, agua o sólido por los que pasan las ondas, esto quiere decir que el sonido solo se puede propagar en espacios libres de vacío. Por otra parte, existen diversas formas de máquinas para detectar sonidos, tales como sensores geófonos, sensores ultrasonido y los mismos aparatos tecnológicos que manejamos día a día, como el teléfono y el computador, que este último fue el que se utilizó para la experiencia.
El programa Matlab cuenta con diversas aplicaciones una de ellas es el Audio Labeler que permite captar un sonido, y analizarlo posteriormente con la aplicación de las matemáticas directamente, como en este caso es la Transformada de Fourier. Este aplica un filtro en el cual se tendrá que generar un código que modifique el volumen de la señal del audio grabado, para posteriormente utilizar el método Simpson ⅓ al audio procesado para poder calcular el nivel de energía existente en un determinado intervalo seleccionado del audio.
Objetivos Generales
- Aplicar la transformada de Fourier a un determinado audio, para la creación de un filtro de audio.
Objetivos específicos
- Comprender cómo funciona la transformada de Fourier y como se aplica en la onda sonora.
- Conocer y entender tipos de sensores, sus funciones y aplicaciones.
- Conocer y entender un sensor geófono, sus tipos y su funcionamiento.
- Conocer y entender un sensor Ultrasonido, sus tipos y su funcionamiento.
- Conocer y entender un sensor acelerómetro, sus tipos y su funcionamiento.
Transformada de Fourier
La "Transformación rápida de Fourier" es un importante método en la tecnología de medición de audio y acústica. Descompone una señal en sus componentes espectrales individuales y así proporciona información sobre su composición. Los FFT se pueden utilizar para:
- Tratamiento de imagen (JPEG) y audio (MP3).
- Reducción de ruido en señales, como el ruido blanco (es una señal aleatoria que se caracteriza por el hecho de que sus valores de señal en dos tiempos diferentes no guardan correlación estadística).
- Análisis en frecuencia de cualquier señal discreta.
- Análisis de vibraciones.
- Análisis de materiales y estadística.
•Métodos espectrales
- Síntesis, mediante la transformada inversa IFFT (es un tipo de servicio web que permite crear y programar acciones para automatizar diferentes tareas).
Estrictamente hablando, la FFT es un algoritmo optimizado para implementar la "Transformación Discreta de Fourier", o DFT para abreviar. En este proceso, una sección limitada en el tiempo de una señal se descompone en sus componentes. Estos componentes son oscilaciones sinusoidales simples a frecuencias discretas, cuya amplitud y fase están determinadas. El FFT permite así la vista de una señal en el dominio de la frecuencia. Por esto es considerado como uno de los algoritmos más importantes en la computación científica
La transformada discreta de Fourier de esta señal se define matemáticamente como:
[pic 4]
Pero para efectos de esta experiencia no será utilizada. Se utilizará un audio grabado previamente del cual se obtiene una gráfica de potencia en función de su frecuencia. Donde los siguientes parámetros serán importes:
Fs: Frecuencia T= 1/𝑓𝑠 : Periodo
[pic 5]t: tiempo del audio utilizado L: largo del vector de la señal
Para generar la gráfica en el programa, se transformará el audio a una matriz, usando así las filas de esta matriz en la señal de audio.
[pic 6]
Posterior a ello, se simplificará la gráfica con el fin de plasmar de una mejor manera las amplitudes asociadas a la señal inicial, usando el comando FFT.}
Filtro
Para esta experiencia se utilizó el filtro digital de Matlab, este filtro es un método que se usa comúnmente para suavizar datos ruidosos mediante el uso de una función de transferencia racional, la función para aplicar el filtro en el software es:
y = filter(b,a,x)
Siendo:
- x: Datos de entrada, puede ser un vector, matriz o una matriz multidimensional.
- b: Coeficiente del numerador de la función racional
- a: Coeficiente del denominador de la función racional.
Por lo tanto, La función filter expresada de por una función de transferencia general sería:
Pero en este laboratorio para suavizar los datos (el audio) se utilizó un filtro de media móvil, una ecuación más sencilla ya que tanto “b” como “a” se tomarán como valores constantes, matemáticamente hablando sería:
[pic 7]
Siendo:
- y(n): Dato de entrada suavizado.
- windowSize: Valor dado para sacar los promedios.
- x(n): Datos entregados para suavizar.
El filtro de media móvil llevado al lenguaje Matlab, a donde nos interesa llegar, sería:
windowSize = *Valor por el cual quieres promediar tus datos*; b = (1/windowSize)*ones(1,windowSize);
a = 1; %(valor recomendado)
En el siguiente gráfico se puede ver el resultado del filtro aplicado:
[pic 8]
Cabe destacar, que el filtro de media móvil a utilizar la variable “b” es la cual se calculará los promedios entre los datos vecinos entregados (Dependerá netamente del valor que se dé a WindowSize) y la variable “a”, en este caso, siempre será 1 ya que como “a” es el coeficiente del denominador (es decir, divide al coeficiente b) si esta variable aumenta o disminuye hará que la suavización del audio varíe demasiado al comparar con el dato ruidoso.
Función de la ventana de deslizamiento
Para este informe se utilizó para el filtro usado en Matlab un deslizamiento de 5, 10, 50 y 100. Siendo la siguiente configuración de código aplicada:
...