短时傅里叶变换(简称STFT)是傅里叶变换在时频域的扩展,它是为分析频域随时间变化的非平稳信号。本文模拟一个啁啾信号(一个线性调频的信号),借助matlab的短时傅里叶变换函数stft,分析其时频特性并绘制时频图,同时复现了matlab的stft函数的计算过程,供大家参考。
1.具体案例
啁啾信号一般是指调频信号,即随着时间的变化,信号的主频在不断发生变化(或增加、或减少)。当这种信号当做音频输出时,听起来会像鸟的唧唧声,所以叫啁啾。
利用matlab的chirp函数生成了一个1s内从100Hz到5000Hz的线性调频信号(啁啾信号),采样频率为24000Hz,具体如下:
从啁啾信号的局部细节图能发现,随着时间的增长,信号波形越来越密集,即信号的频率逐渐增大。在啁啾信号频谱中,低频占据信号的主频,无法发现信号频率的时变特征。
采用stft函数,设置矩形窗,窗长256,滑动步长设置为128,FFT分析的信号长度与窗长一致,均为256,设置stft函数的FrequencyRange为onesided,即仅分析信号的傅里叶变换的单边频谱,获得的短时傅里叶变换结果见下图。