【机器学习笔记32】短时傅里叶变换
【参考资料】
【1】 https://wenku.baidu.com/view/9c142e21941ea76e59fa04c3.html
傅里叶变换的局限性
1 需要利用信号的全部时域信息;
2 没有反应频率随时间变换的信号情况;
短时傅里叶变换
1964年Gabor提出了短时傅里叶变换(有叫Gabor变换),即在传统的傅里叶变换的基础上加了一个时间窗。如下:
python 程序
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import math
if __name__ == '__main__':
df = pd.read_csv('./data/test.csv', sep=',')
data = df['std_value'].astype(float)
#在时序51、52、52加入毛刺型号,该窗口傅里叶变换增加了高频信号
data[51] = 10
data[52] = 11
data[53] = 15
# 设置对话框大小
fig = plt.gcf()
fig.set_size_inches(12, 7)
for j in range(0, 5):
plt.subplot(int('23' + str(j + 1)))
plt.plot(np.fft.fft(data[20 * j :20*(j + 1)]))
plt.title(' time windows' + str(20*j) + '-' + str(20*(j + 1)))
plt.show()