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:
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.
2. Trace la señal compuesta.
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.
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.
5. Guarde el contorno resultante como imagen BMP.
(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.
7. Guarde el contorno resultante como imagen BMP.
(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.
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.
3. Calcule la STFT y el espectrograma.
4. Guarde el contorno resultante como imagen BMP.
(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.