import scipy.io as sio
import numpy as np
import matplotlib.pyplot as plt
import scipy
from scipy import signal
HA1 = sio.loadmat('H-A-1.mat')
HA1
{'__header__': b'MATLAB 5.0 MAT-file, Platform: PCWIN64, Created on: Tue Oct 09 15:18:50 2018',
'__version__': '1.0',
'__globals__': [],
'Channel_1': array([[-0.00219944],
[-0.0018706 ],
[-0.00154175],
...,
[ 0.00963905],
[ 0.0093102 ],
[ 0.00898136]]),
'Channel_2': array([[4.18876708],
[4.20060302],
[4.20816487],
...,
[0.03700339],
[0.03634584],
[4.14010822]])}
Channel1 = HA1['Channel_1']
canal1 = Channel1.T[0]
t = np.linspace(0, 9, len(canal1))
plt.plot(t, canal1)
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2)
fig.set_size_inches(18,9.5)
fig.suptitle('Comparison of window functions', fontsize = 15)
ax1.plot(t, canal1, alpha = 0.5)
ax1.plot(t, scipy.signal.windows.hann(len(canal1)) * canal1, 'tab:blue')
ax1.set_xlabel('Time')
ax1.set_ylabel('Amplitude')
ax1.set_title('Hann window')
ax2.plot(t, canal1, 'tab:orange', alpha = 0.5)
ax2.plot(t, scipy.signal.windows.hamming(len(canal1)) * canal1, 'tab:orange')
ax2.set_xlabel('Time')
ax2.set_ylabel('Amplitude')
ax2.set_title('Hamming window')
ax3.plot(t, canal1, 'tab:green', alpha = 0.5)
ax3.plot(t, scipy.signal.windows.flattop(len(canal1)) * canal1, 'tab:green')
ax3.set_xlabel('Time')
ax3.set_ylabel('Amplitude')
ax3.set_title('Flattop window')
ax4.plot(t, canal1, 'tab:red', alpha = 0.5)
ax4.plot(t, scipy.signal.windows.blackman(len(canal1)) * canal1, 'tab:red')
ax4.set_xlabel('Time')
ax4.set_ylabel('Amplitude')
知乎学术咨询:
https://www.zhihu.com/consult/people/792359672131756032?isMe=1
ax4.set_title('Blackman window')
工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。