import numpy as np import math import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号2. 自定义函数
# 一维时序信号赋值归一化 def normalized(origin_signal): y = origin_signal - np.mean(origin_signal) # 消除直流分量 y = y / np.max(np.abs(y)) # 幅值归一化 return y3. 完整代码
import numpy as np import math import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 # 一维时序信号赋值归一化 def normalized(origin_signal): y = origin_signal - np.mean(origin_signal) # 消除直流分量 y = y / np.max(np.abs(y)) # 幅值归一化 return y data = [1,2,4,3,5,2,7,5,2,6,5,9,10,2,5,4,3] origin_signal = np.array(data) normalized_data = normalized(origin_signal) plt.plot(origin_signal) legend = "原始数据" plt.legend(legend) plt.show() plt.plot(normalized_data) legend = "幅值归一化" plt.legend(legend) plt.show()4. 效果展示
原始信号:
幅值归一化信号:



