Funciones > Procesamiento de señales > Análisis de frecuencia temporal conjunta > Ejemplo: transformada de Fourier de corto plazo
  
Ejemplo: transformada de Fourier de corto plazo
Utilice la función stft para calcular la transformada de Fourier de corto plazo (STFT) de una señal cuyas características espectrales cambian con el tiempo.
La función devuelve una matriz cuyas columnas contienen la transformada de Fourier de la señal de entrada en tiempos separados por muestras de s. Para una señal x(t), la STFT se define en tiempo continuo como:
Pulse aquí para copiar esta expresión
donde w(t) es una inclinación de ventana deslizante con valores reales que sirve para localizar la influencia de la transformada en un tiempo específico.
Señal de dos tonos
La señal siguiente se compone de dos sinusoides de frecuencias diferentes que se producen en tiempos diferentes.
1. Defina los componentes de la señal.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
2. Trace la señal compuesta.
Pulse aquí para copiar esta expresión
La STFT contiene información sobre el contenido de frecuencia de la señal y el tiempo en que la frecuencia está presente.
3. Calcule la STFT con 100 muestras de frecuencia, un paso de tiempo de 30 y una ventana de Hanning.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Se trata de una matriz 100 x 56 (hay 56 pasos de tiempo de 30 en la señal de longitud L)
4. Calcule la magnitud cuadrática.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
5. Guarde el contorno resultante como imagen BMP.
Pulse aquí para copiar esta expresión
(v_spec_rotated.bmp)
Además de las dos frecuencias, la imagen muestra el tiempo en que se producen. No obstante, el espectrograma presenta lo que se conoce como compensación de localización. Para conseguir la localización temporal (es decir, que la STFT indique cuándo están activas las sinusoides), se necesita una ventana corta en el dominio del tiempo. En cambio, una buena localización de frecuencias requiere una ventana larga. Esta compensación depende más del tipo de ventana utilizado, la señal que se está estudiando, el tiempo y la frecuencia.
6. A modo de ejemplo, calcule la STFT y el espectrograma de la misma señal que arriba, pero con una longitud de ventana de frecuencia de 300 en vez de 100.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
7. Guarde el contorno resultante como imagen BMP.
Pulse aquí para copiar esta expresión
(v_nbspec_rotated.bmp)
La STFT calculada con una ventana alargada tiene una mejor resolución de frecuencias, pero su resolución temporal no es tan buena. Esta compensación tiempo-frecuencia se puede evitar al utilizar otras funciones de tiempo-frecuencia, tal como timefreq y timecorr.
Creación de ventanas personalizadas
La ventana de frecuencia de este ejemplo se ha rellenado con ceros hasta alcanzar la longitud de la transformada de Fourier.
1. Defina la longitud de la ventana y el porcentaje de coseno elevado.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
La longitud de la ventana no puede ser superior a la longitud de la transformada de Fourier.
2. Vuelva a aplicar una escala a los coeficientes de la ventana para que la ventana tenga energía de unidad.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
3. Calcule la STFT y el espectrograma.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
4. Guarde el contorno resultante como imagen BMP.
Pulse aquí para copiar esta expresión
(v_spec2_rotated.bmp)
Intente cambiar los parámetros de la función stft o las frecuencias de las sinusoides de la señal de entrada y observe cómo cambian los gráficos.