Andrei Shelkovenko. Uno de los desarrolladores y fundador de Vibromera.
La traducción del artículo puede contener imprecisiones.
- Transformada de Fourier y espectro de la señal
En muchos casos, la tarea de obtener (calcular) el espectro de una señal es la siguiente. Hay un ADC, que con frecuencia de muestreo Fd transforma la señal continua, que llega a su entrada durante el tiempo T, en muestras digitales - N trozos. A continuación, esta matriz de muestras se introduce en algún programa (por ejemplo FourierScope) que produce N/2 algunos valores numéricos.
Para comprobar si el programa funciona correctamente, formamos una matriz de muestras como suma de dos sin(10*2*pi*x)+0,5*sin(5*2*pi*x) y la introducimos en el programa. El programa dibuja lo siguiente:
Hay dos armónicos en el gráfico del espectro - 5 Hz con amplitud de 0,5 V y 10 Hz con amplitud de 1 V, todo es como en la fórmula de la señal original. Todo está bien, el grograma funciona correctamente.
Esto significa que si alimentamos una señal real de una mezcla de dos sinusoides a la entrada del ADC, obtendremos un espectro similar formado por dos armónicos.
Por lo tanto, nuestro real señal medida de 5 seg. de duracióndigitalizado por el ADC, es decir, representado por discreto muestras, tiene un discreto no periódico espectro.
Desde un punto de vista matemático, ¿cuántos errores hay en esta frase?
Ahora vamos a intentar medir la misma señal durante 0,5 seg.
Aquí hay algo que no funciona. El armónico a 10 Hz se dibuja normalmente, y en lugar del armónico a 5 Hz hay algunos armónicos poco claros.
En Internet dicen que es necesario añadir ceros al final de la muestra y el espectro se dibujará normalmente.
No es eso en absoluto. Tendré que ocuparme de la teoría. Vamos a wikipedia - la fuente del conocimiento.
2. Función continua y su representación en serie de Fourier
Matemáticamente, nuestra señal con una duración de T segundos es una función f(x) dada en el intervalo {0, T} (X en este caso es el tiempo). Dicha función siempre se puede representar como una suma de funciones armónicas (seno o coseno) de la forma:
k es el número de la función trigonométrica ( el número del componente armónico, el número del armónico)
T - segmento donde se define la función (la duración de la señal)
Ak- amplitud de la componente armónica k-ésima,
θk- la fase inicial del k-ésimo componente armónico
¿Qué significa "representar la función como la suma de las series"? Significa que sumando los valores de las componentes armónicas de la serie de Fourier en cada punto, obtenemos el valor de nuestra función en ese punto.
(Más estrictamente, la desviación cuadrática media de la serie respecto a la función f(x) tenderá a cero, pero a pesar de la convergencia cuadrática media, la serie de Fourier de una función no tiene por qué converger, en general, a ella punto por punto. )
Esta serie también se puede escribir de la forma:
donde la k-ésima amplitud compleja.
o
La relación entre los coeficientes (1) y (3) se expresa mediante las siguientes fórmulas:
Obsérvese que estas tres representaciones de las series de Fourier son perfectamente equivalentes. A veces, cuando se trabaja con series de Fourier, es más conveniente utilizar exponentes de argumento imaginario en lugar de senos y cosenos, es decir, utilizar la transformada de Fourier en forma compleja. Pero nos conviene utilizar la fórmula (1), donde la serie de Fourier se representa como una suma de cosenos con sus correspondientes amplitudes y fases. En cualquier caso, es erróneo decir que el resultado de la transformada de Fourier de la señal real serán amplitudes armónicas complejas. Como dice correctamente Wiki, "La transformada de Fourier (ℱ) es una operación que mapea una función de una variable real a otra función también de una variable real."
Conclusión:
La base matemática del análisis espectral de señales es la transformada de Fourier.
La transformada de Fourier permite representar una función continua f(x) (señal) definida en el intervalo {0, T} como una suma de un número infinito (serie infinita) de funciones trigonométricas (seno y/o coseno) con amplitudes y fases definidas también consideradas en el intervalo {0, T}. Dicha serie se denomina serie de Fourier.
Observe algunos puntos más, cuya comprensión es necesaria para la correcta aplicación de la transformada de Fourier al análisis de señales. Si consideramos la serie de Fourier (suma de sinusoides) en todo el eje X veremos que fuera del intervalo {0, T} la función de la serie de Fourier repetirá periódicamente nuestra función.
Por ejemplo, en el gráfico de la Fig. 7, la función original está definida en el intervalo {-T\2, +T\2}, y la serie de Fourier representa una función periódica definida en todo el eje x.
Esto se debe a que las propias sinusoides son funciones periódicas, por lo que su suma también será una función periódica.
Así:
Nuestra función original es una función continua no periódica definida en un segmento de longitud T.
El espectro de esta función es discreto, es decir, se representa como una serie infinita de componentes armónicos: una serie de Fourier.
De hecho, las series de Fourier definen alguna función periódica, que coincide con nuestra función en el intervalo {0, T}, pero para nosotros esta periodicidad no es esencial.
Siguiente.
Los periodos de los componentes armónicos son múltiplos del intervalo {0, T}, en el que se define la función inicial f(x). En otras palabras, los periodos de los armónicos son múltiplos de la duración de la medida de la señal. Por ejemplo, el periodo del primer armónico en una serie de Fourier es igual al intervalo T en el que está definida la función f(x). El periodo del segundo armónico de una serie de Fourier es igual al intervalo T/2. Y así sucesivamente (véase la figura 8).
En consecuencia, las frecuencias de los componentes armónicos son múltiplos de 1/T. Es decir, las frecuencias de los componentes armónicos Fk son Fk= k\T, donde k tiene valores de 0 a ∞, por ejemplo, k=0 F0=0; k=1 F1=1\T; k=2 F2=2\T;k=3 F3=3\T;.... Fk= k\T (a frecuencia cero, componente constante).
Sea nuestra función inicial, una señal registrada durante T=1 seg. Entonces el periodo del primer armónico será igual a la duración de nuestra señal T1=T=1 seg y la frecuencia del armónico es igual a 1 Hz. El periodo del segundo armónico será igual a la duración de nuestra señal dividida por 2 (T2=T/2=0,5 seg.) y la frecuencia es igual a 2 Hz. Para el tercer armónico, T3=T/3 seg y la frecuencia es de 3 Hz. Y así sucesivamente.
El paso entre armónicos en este caso es de 1 Hz.
Así, una señal con una duración de 1 segundo puede descomponerse en componentes armónicos (para obtener un espectro) con una resolución de frecuencia de 1 Hz.
Para aumentar la resolución en un factor de 2 a 0,5 Hz, es necesario aumentar la duración de la medición en un factor de 2 a 2 seg. Una señal de 10 segundos puede descomponerse en componentes armónicos (espectro) con una resolución de frecuencia de 0,1 Hz. No hay otras formas de aumentar la resolución de frecuencia.
Existe una forma de aumentar artificialmente la duración de la señal añadiendo ceros a la matriz de muestras. Pero no aumenta la resolución de frecuencia real.
3. Señales discretas y transformada discreta de Fourier
Con el desarrollo de la tecnología digital han cambiado las formas de almacenamiento de los datos de medición (señales). Mientras que antes una señal podía grabarse en un magnetófono y almacenarse en una cinta de forma analógica, ahora las señales se digitalizan y almacenan en archivos en la memoria de un ordenador como un conjunto de números (recuentos).
El esquema habitual de medición y digitalización de señales es el siguiente.
Transductor de medida -- Normalizador de señal -- ADC -- Ordenador
(Fig.9 Esquema del canal de medición)
La señal del transductor de medición pasa al ADC durante un periodo de tiempo T. Las lecturas de la señal (muestreo) recibidas durante el tiempo T se transmiten al ordenador y se guardan en la memoria.
¿Cuáles son los requisitos de los parámetros de digitalización de señales? Un dispositivo que convierte la señal analógica de entrada en un código discreto (señal digital) se denomina convertidor analógico-digital (ADC) (© Wiki).
Uno de los parámetros básicos de los ADC es la frecuencia máxima de muestreo, es decir, la frecuencia de muestreo de una señal continua en el tiempo. La frecuencia de muestreo se mide en hercios. ((© Wiki))
Según el teorema de Kotelnikov, si una señal continua tiene un espectro limitado por la frecuencia Fmax, se puede reconstruir completamente y de forma única a partir de sus muestras discretas tomadas en intervalos de tiempo T = 1/2*Fmax, es decir, con una frecuencia Fd ≥ 2*Fmax, donde Fd - frecuencia de muestreo; Fmax - la frecuencia máxima del espectro de la señal. En otras palabras, la frecuencia de digitalización de la señal (frecuencia de muestreo del ADC) debe ser al menos 2 veces mayor que la frecuencia máxima de la señal que queremos medir.
¿Y qué ocurrirá si tomamos muestras con una frecuencia inferior a la exigida por el teorema de Kotelnikov?
En este caso se produce un efecto de "aliasing" (también conocido como efecto estroboscópico, efecto muaré), en el que una señal de alta frecuencia tras la digitalización se convierte en una señal de baja frecuencia, que en realidad no existe. En la Fig. 11, la onda sinusoidal roja de alta frecuencia es la señal real. La onda sinusoidal azul de baja frecuencia es una señal ficticia, que surge debido al hecho de que durante el tiempo de muestreo tiene tiempo de pasar más de la mitad de un período de la señal de alta frecuencia.
Para evitar el efecto aliasing, antes del ADC se coloca un filtro especial antialiasing (filtro de paso bajo). Pasa las frecuencias inferiores a la mitad de la frecuencia de muestreo del ADC y corta las frecuencias superiores.
Para calcular el espectro de una señal por sus muestras discretas se utiliza la transformada discreta de Fourier (DFT). Obsérvese de nuevo que el espectro de una señal discreta está "por definición" limitado a una frecuencia Fmax menor que la mitad de la frecuencia de muestreo Fd. Por lo tanto, el espectro de una señal discreta puede representarse mediante la suma de un finito número de armónicos, a diferencia de la suma infinita de la serie de Fourier de una señal continua, cuyo espectro puede ser ilimitado. Según el teorema de Kotelnikov, la frecuencia máxima de un armónico debe ser tal que dé cuenta de al menos dos muestras, por lo que el número de armónicos es igual a la mitad del número de muestras de una señal discreta. Es decir, si hay N muestras en la muestra, el número de armónicos en el espectro será N/2.
Consideremos ahora la transformada discreta de Fourier (DFT).
Comparándola con la serie de Fourier
Como vemos, coinciden, salvo por el hecho de que el tiempo en la FFT es discreto y el número de armónicos está limitado a N/2, que es la mitad del número de muestras.
Las fórmulas DFT se escriben en variables enteras adimensionales k, s, donde k es el número de muestras de la señal, s es el número de componentes espectrales.
El valor s indica el número de oscilaciones armónicas completas por periodo T (duración de la medición de la señal). La transformada discreta de Fourier se utiliza para hallar las amplitudes y fases de los armónicos numéricamente, es decir, "en el ordenador".
Como ya se ha dicho anteriormente, al descomponer una función no periódica (nuestra señal) en series de Fourier, la serie de Fourier resultante corresponde en realidad a una función periódica con periodo T (Fig.12).
Como puede verse en la Fig. 12, la función f(x) es periódica con período T0. Sin embargo, debido a que la duración de la muestra de medida T no es igual al periodo de la función T0, la función obtenida como serie de Fourier presenta una discontinuidad en el punto T. Como resultado, el espectro de esta función contendrá un gran número de armónicos de alta frecuencia. Si la duración de la muestra de medición T coincidiera con el período de la función T0, entonces el espectro obtenido tras la transformada de Fourier contendría sólo el primer armónico (una sinusoide con un período igual a la duración de la muestra), porque la función f(x) es una sinusoide.
En otras palabras, el programa DFT "no sabe" que nuestra señal es un "trozo de una onda sinusoidal", sino que intenta representar como una serie una función periódica que tiene una discontinuidad debida a la discontinuidad de trozos separados de la onda sinusoidal.
Como resultado, aparecen armónicos en el espectro que, en total, deberían representar la forma de la función, incluida esta discontinuidad.
Así, para obtener un espectro "correcto" de una señal que es una suma de varias sinusoides con periodos diferentes, es necesario que un número entero de periodos de cada sinusoide debe estar presente en el periodo de medición de la señal. En la práctica, esta condición puede cumplirse con una duración suficientemente larga de la medición de la señal.
A menor duración, la imagen se verá "peor":
En la práctica, puede ser difícil entender dónde están los "componentes reales" y dónde los "artefactos" causados por la incoherencia de los periodos de los componentes y las duraciones de muestreo de la señal o los "saltos y rupturas" en la forma de onda. Por supuesto, las palabras "componentes reales" y "artefactos" se ponen entre comillas por una razón. La presencia de muchos armónicos en el gráfico del espectro no significa que nuestra señal esté realmente formada por ellos. Es como pensar que el número 7 "está formado" por los números 3 y 4. El número 7 puede considerarse la suma de 3 y 4, lo cual es correcto.
Así que también nuestra señal... o más bien ni siquiera "nuestra señal", sino una función periódica compuesta por la repetición de nuestra señal (muestra) puede representarse como una suma de armónicos (ondas sinusoidales) con determinadas amplitudes y fases. Pero en muchos casos importantes para la práctica (véanse las figuras anteriores) es posible relacionar los armónicos obtenidos en el espectro también con procesos reales que tienen carácter cíclico y contribuyen significativamente a la forma de la señal.
Algunos resultados
1. Una señal real medida con una duración de T seg. digitalizada por el ADC, es decir, representada por un conjunto de muestras discretas (N piezas), tiene un espectro discreto no periódico representado por un conjunto de armónicos (N/2 piezas).
2. La señal está representada por un conjunto de valores válidos y su espectro está representado por un conjunto de valores válidos. Las frecuencias de los armónicos son positivas. El hecho de que sea matemáticamente más cómodo representar el espectro en forma compleja utilizando frecuencias negativas no significa que "esto sea correcto" y "así es como hay que hacerlo siempre".
3. La señal medida en el tiempo T se determina sólo en el tiempo T. Lo que ocurrió antes de que empezáramos a medir la señal y lo que ocurrirá después es desconocido para la ciencia. Y en nuestro caso no es interesante. La FFT de la señal limitada en el tiempo da su espectro "real", en el sentido de que en determinadas condiciones permite calcular la amplitud y la frecuencia de sus componentes.