math - señales - transformada rapida de fourier en matlab ejemplos
Unidades de una Transformada de Fourier(FFT) al hacer un Análisis espectral de una señal (5)
tomar una señal, una tensión variable en el tiempo v (t)
las unidades son V , los valores son reales.
tírelo en una FFT - vale, recupera una secuencia de números complejos
las unidades siguen siendo V , los valores son complejos (no V / Hz - la señal FFT a DC se convierte en un punto en el nivel CC, no una función dirac delta que se aleja hasta el infinito)
ahora toma el módulo (abs)
las unidades siguen siendo V , los valores son reales: la magnitud de los componentes de la señal
y cuadrar el resultado, es decir | fft (v) | ^ 2
las unidades ahora son V 2 , los valores son reales - cuadrado de magnitudes de componentes de señal
¿Llamaré a estos coeficientes espectrales?
Está más cerca de una densidad de potencia en lugar del uso habitual del coeficiente espectral. Si su fregadero es una resistencia perfecta, será potencia, pero si su fregadero depende de la frecuencia, es "el cuadrado de la magnitud de la FFT de la tensión de entrada".
EN ESTE PUNTO, usted tiene un espectro de frecuencias g (w): frecuencia en el eje x, y ... ¿QUÉ UNIDADES FÍSICAS en el eje y?
Las unidades son V 2
La otra razón por la que las unidades importan es que los coeficientes espectrales pueden ser pequeños y enormes, por lo que quiero usar una escala de dB para representarlos. Pero para hacer eso, tengo que hacer una elección: ¿uso la conversión de 20log10 dB (correspondiente a una medición de campo, como el voltaje)? ¿O utilizo la conversión 10log10 dB (correspondiente a una medida de energía, como la potencia)?
Ya ha cuadrado los valores de voltaje, dando una potencia equivalente a una resistencia de 1 ohmio perfecta, así que use 10log10.
log (x 2 ) es 2 log (x) , entonces 20log10 | fft (v) | = 10log10 (| fft (v) | 2 ) , por lo que alternativamente, si no cuadraste los valores, podrías usar 20log10.
Mi pregunta tiene que ver con el significado físico de los resultados de hacer un análisis espectral de una señal, o de arrojar la señal en una FFT e interpretar lo que sale usando un paquete numérico adecuado,
Específicamente:
- tomar una señal, digamos un voltaje variable en el tiempo v (t)
- Tíralo en una FFT (obtienes una secuencia de números complejos)
- ahora tome el módulo (abs) y cuadre el resultado, es decir | fft (v) | ^ 2.
Entonces ahora tienes números reales en el eje y - ¿Llamaré a estos coeficientes espectrales?
- utilizando la resolución de muestreo, sigue una receta de libro de cocina y asocia los coeficientes espectrales a las frecuencias.
- EN ESTE PUNTO, usted tiene un espectro de frecuencia g (w) con frecuencia en el eje x, pero ¿QUÉ UNIDADES FÍSICAS en el eje y?
Mi entendimiento es que este espectro de frecuencia muestra qué parte de las diversas frecuencias están presentes en la señal de voltaje; son coeficientes espectrales en el sentido de que son los coeficientes de los senos y cosenos de las diversas frecuencias requeridas para reconstituir la señal original.
Entonces la primera pregunta es, ¿cuáles son las UNIDADES de estos coeficientes espectrales?
La razón por la que esto importa es que los coeficientes espectrales pueden ser pequeños y enormes, por lo que quiero usar una escala de dB para representarlos.
Pero para hacer eso, tengo que hacer una elección:
- O utilizo la conversión 20log10 dB, correspondiente a una medición de campo, como el voltaje.
- O utilizo la conversión 10log10 dB, que corresponde a una medida de energía, como la potencia.
La escala que uso depende de lo que sean las unidades.
¡Cualquier luz arrojada sobre esto sería muy apreciada!
Bueno, la respuesta tardía lo sé. Pero solo tenía motivos para hacer algo como esto, en un contexto diferente. Mis datos brutos eran valores de latencia para las transacciones en una unidad de almacenamiento; lo remuestré a un intervalo de tiempo de 1 ms. Entonces, los datos originales y eran "latencia, en microsegundos". Tenía 2 ^ 18 = 262144 puntos de datos originales, en pasos de tiempo de 1 ms.
Después de que hice la FFT, obtuve un componente 0 (DC) de tal manera que los siguientes tuvieron:
FFT [0] = 262144 * (promedio de todos los datos de entrada).
Entonces me parece que FFT [0] es N * (promedio de datos de entrada). Ese tipo de sentido tiene sentido: cada punto de datos posee ese promedio de DC como parte de lo que es, así que los agregas todos.
Si miras la definición de FFT, eso también tiene sentido. Todos los otros componentes implicarían términos de seno y coseno también, pero realmente la FFT es solo una suma. El promedio es el único que está presente en todos los puntos por igual, porque tiene cos (0) = 1.
El eje y es complejo (en oposición a real). La magnitud es la amplitud de la señal original en las unidades en las que se encontraban las muestras originales. El ángulo es la fase de esa componente de frecuencia.
Esto es lo que he podido proponer hasta ahora:
¡El eje y parece estar en unidades de [Energía / Hz]!
Así es como estoy obteniendo esto (comentarios bienvenidos!):
la señal v (t) está en voltios
entonces, después de tomar la integral de Fourier: integral e ^ iwt v (t) dt, deberíamos tener unidades de [voltios * segundos], o [voltios / Hz] (e ^ iwt no tiene unidades)
tomar la magnitud al cuadrado debería dar entonces unidades de [voltios ^ 2 * s ^ 2], o [v ^ 2 * s / Hz]
sabemos que la potencia es proporcional a voltios ^ 2, por lo que esto nos lleva a [potencia * s / Hz]
pero el poder es la tasa de cambio de energía en el tiempo, es decir, potencia = energía / s, por lo que también podemos escribir Energía = potencia * s
esto nos deja con la conclusión del candidato [Energía / Hz]. (Julios / Hz?!)
... que sugiere el significado "Contenido de energía por Hz", y sugiere como un uso integrando bandas de frecuencia y viendo el contenido de energía ... que sería muy bueno si fuera cierto ...
Continuando ... asumiendo que lo anterior es correcto, entonces estamos tratando con una medición de Energía, por lo que esto sugeriría usar la conversión de 10log10 para entrar en escala de dB, en lugar de 20log10 ...
...
La potencia en una resistencia es v^2/R
watts. El poder de una señal x(t)
es una abstracción de la potencia en una resistencia de 1 Ohm
. Por lo tanto, la potencia de una señal x(t)
es x^2
(también llamada potencia instantánea), independientemente de las unidades físicas de x(t)
.
Por ejemplo, si x(t)
es temperatura, y las unidades de x(t)
son grados C
, entonces las unidades para la potencia x^2
de x(t)
son C^2
, ciertamente no vatios.
Si toma la transformada de Fourier de x(t)
para obtener X(jw)
, entonces las unidades de X(jw)
son C*sec
o C/Hz
(de acuerdo con la integral de la transformada de Fourier). Si usa (abs(X(jw)))^2
, entonces las unidades son C^2*sec^2=C^2*sec/Hz
. Como las unidades de potencia son C^2
, y las unidades de energía son C^2*sec
, entonces abs(X(jw)))^2
da la densidad espectral de energía, por ejemplo E/Hz
. Esto es consistente con el teorema de Parseval, donde la energía de x(t)
viene dada por (1/2*pi)*int(abs(X(jw)))^2*dw) > (1/2*pi)*(C^2*sec^2)*2*pi*Hz > (1/2*pi)*(C^2*sec/Hz)*2*pi*Hz > E
(1/2*pi)
multiplicada por la integral de abs(X(jw)))^2
con respecto a w
, es decir, (1/2*pi)*int(abs(X(jw)))^2*dw) > (1/2*pi)*(C^2*sec^2)*2*pi*Hz > (1/2*pi)*(C^2*sec/Hz)*2*pi*Hz > E
La conversión a una escala de dB (escala logarítmica) no cambia las unidades.
Si toma la FFT de muestras de x(t)
, escritas como x(n)
, para obtener X(k)
, entonces el resultado X(k)
es una estimación de los coeficientes de la serie de Fourier de una función periódica, donde un período más de T0
segundos es el segmento de x(t)
que se muestreó. Si las unidades de x(t)
son grados C
, entonces las unidades de X(k)
también son grados C
Las unidades de abs(X(k))^2
son C^2
, que son las unidades de poder. Por lo tanto, un gráfico de abs(X(k))^2
versus frecuencia muestra el espectro de potencia (no densidad espectral de potencia) de x(n)
, que es una estimación de la potencia de un conjunto de componentes de frecuencia de x(t)
a las frecuencias k/T0 Hz
.