包络谱。(Envelope Spectrum ):对信号进行hilbert变换之后,然后取极值,然后对取极值之后得到的一维数据取包络,对包络信号进行FFT变换得到的数据。
横坐标为频率,纵坐标为幅值。包络谱对冲击事件的故障比较敏感。包络谱图中各频率幅值的分布与的频谱图有所区别。
频谱图中故障特征频率幅值较小,包络谱图中故障特征频率的幅值很高,容易辨认。因此,相对对于频谱分析,包络谱分析剔除了不必要的频率干扰,更能够凸显故障特征频率。根据包络谱图能更容易地对滚动轴承的故障种类进行判断。
希尔伯特谱:Hilbert变换只是单纯地求信号的瞬时振幅,频率和相位,有可能出现没有意义的负频率;HHT变换先将信号进行EMD分解,得到的是各个不同尺度的分量,对每一个分量进行Hilbert变换后得到的是有实际意义的瞬时频率;傅里叶变换不能得到瞬时频率,即不能得到某个时刻的频率值。Hilbert变换是求取瞬时频率的方法,但如果只用Hilbert变换求出来的瞬时频率也不准确。
频谱与包络谱的频率分布没有多大关系:①包络谱峰值较高的地方表示原始信号在该频率处有对应的频率分量;频谱峰值高的地方表示在整个信号里和在整个时间范围内,有一个含有此频率的三角函数组分。②频谱是直接对原信号做fft;包络谱是对原信号做hilbert变换之 后的曲线取的包络线进行fft,得到的频域曲线理应不同。
matlab链接: https://www.mathworks.com/help/signal/ref/envspectrum.html.
python链接:
https://stackoverflow.com/questions/61915838/envelope-spectrum
--user
option or check the permissions.解决办法中间加个—user
pip install --user --upgrade pip # 更新pip
解决:更新pip
https://pyspectrum.readthedocs.io/en/latest/tutorial_front_image.html.
https://blog.csdn.net/weixin_44791964/article/details/100000373
np.clip是一个截取函数,用于截取数组中小于或者大于某值的部分,并使得被截取部分等于固定值。函数如下:
该函数的作用是将数组a中的所有数限定到范围a_min和a_max中。
部分参数解释:
a:输入矩阵;
a_min:被限定的最小值,所有比a_min小的数都会强制变为a_min;
a_max:被限定的最大值,所有比a_max大的数都会强制变为a_max;
out:可以指定输出矩阵的对象,shape与a相同
错误提示:operands could not be broadcast together with shapes
矩阵相乘 a*b (a与b对应元素相乘,a的维数需与b的维数相同)
矩阵点乘 numpy.dot(a,b) (真正意义上的矩阵相乘,a的行数需与b的列数相同)
plt.savefig("E:\机器学习\日月光华_Pytorch实战_参考代码\第19-28课时参考代码和数据集\CWRU/1730_12k_0.007-Ball.jpg")
plt.savefig(‘存储路径+图片名字.jpg’)
## 方法1
a = ()
if len(a) ==0:
print(‘this is an empty tuple’)
else:
print(‘not an empty tuple’)
>>> this is an empty tuple
## 方法2
a = ()
if not a:
print(‘this is an empty tuple’)
else:
print(‘not an empty tuple’)
>>> this is an empty tuple
当 tuple dict list 为空时,返回None,也为False。
池化层—>Relu---->pooling—>全连接层
plt.axis("off")
plt.gca().xaxis.set_major_locator(plt.NullLocator())
plt.gca().yaxis.set_major_locator(plt.NullLocator())
plt.subplots_adjust(top=1,bottom=0,left=0,right=1,hspace=0,wspace=0)
plt.margins(0,0)
plt.savefig("E:\机器学习\日月光华_Pytorch实战_参考代码\第19-28课时参考代码和数据集\CWRU", bbox_inches="tight", pad_inches=0.0)
# 去除图像周围的白边
plt.axis("off")
plt.gca().xaxis.set_major_locator(plt.NullLocator())
plt.gca().yaxis.set_major_locator(plt.NullLocator())
plt.subplots_adjust(top=1,bottom=0,left=0,right=1,hspace=0,wspace=0)
plt.margins(0,0)
plt.savefig("E:\机器学习\日月光华_Pytorch实战_参考代码\第19-28课时参考代码和数据集\CWRU", bbox_inches="tight", pad_inches=0.0)
z-score使用原始数据的均值和标准差进行归一化,使得处理后的数据符合正态分布,即均值为0,标准差为1.
其z-score变换公式如下:
其中
又叫分类结果统计矩阵,可以直观看出分类模型结果的好坏。
假设有一个用来对猫(cats)、狗(dogs)、兔子(rabbits)进行分类的系统,混淆矩阵就是为了进一步分析性能而对该算法测试结果做出的总结。假设总共有 27 只动物:8只猫, 6条狗, 13只兔子。结果的混淆矩阵如下图:
在这个混淆矩阵中,实际有 8只猫,但是系统将其中3只预测成了狗;对于 6条狗,其中有 1条被预测成了兔子,2条被预测成了猫。从混淆矩阵中我们可以看出系统对于区分猫和狗存在一些问题,但是区分兔子和其他动物的效果还是不错的。所有正确的预测结果都在对角线上,所以从混淆矩阵中可以很方便直观的看出哪里有错误,因为他们呈现在对角线外面。
EMD是根据极值(极大值、极小值)分别形成的包络线,得到其均值线,分解成一系列曲线(IMF)特征模式函数。这些模式函数相加后为原曲线。
公式 : x ( t ) = ∑ i = 1 N c i + r n ( t ) {\rm{x}}(t) = \sum\limits_{i = 1}^N {{c_i}} + {r_n}(t) x(t)=i=1∑Nci+rn(t)
原始信号
C2
在anoconda中执行conda install scikit-learn
a = {'inner1':[[1,2,3,1,4],'IF','1'],
'inner2':[[2,5,1,2,3],'IF','1']}
a. keys()
>>>dict_keys(['inner1', 'inner2'])
list(a.keys())
>>>['inner1', 'inner2']
List本身是不支持加减乘除运算的,需转换为array类型。
a = {'inner1':[[1,2,3,1,4],'IF','1'],
'inner2':[[2,5,1,2,3],'IF','1']}
np.array(a['inner1'][0])-np.array(a['inner2'][0])
>>>array([-1, -3, 2, -1, 1])
Locals()函数是python自带的库函数,其以字典类型存储了当前的局部变量及其对象。
def get_variable_name(variable):
callers_local_vars = inspect.currentframe().f_back.f_locals.items()
return [var_name for var_name, var_val in callers_local_vars if var_val is variable]
c = get_variable_name(43).pop()
Import scipy.scio.savemat
Savemat(filename,dict)
https://csegroups.case.edu/bearingdatacenter/pages/download-data-file
[https://www.mfpt.org/fault-data-sets/](https://www.mfpt.org/fault-data-sets/]
https://mb.uni-paderborn.de/en/kat/main-research
先保存在list里,再把list转换为array
https://www.pythonf.cn/read/120964
Python计算离散序列的自相关函数_liulicuican的博客-CSDN博客_python自相关函数
离散时间序列的自相关函数其实就是若干阶自相关系数的组合,其中,自相关系数的计算公式如下:
其中 h 为阶数,μ为序列的均值,比如计算离散时间序列 :
[2, 3, 4, 3, 7] 的自相关函数
首先计算 0 阶自相关系数为 1,然后计算 1 阶自相关系数,均值
μ = (2 + 3 + 4 + 3 + 7) / 5 = 3.8,则分母
1 阶自相关系数为
import statsmodels.tsa.api as smt
time_series = [2, 3, 4, 3, 7]
acf = smt.stattools.acf(time_series)
print(acf)
链接: https://www.cnblogs.com/yifdu25/p/9399047.html.
链接: https://blog.csdn.net/tsinghuahui/article/details/73611128
一个是torch,一个是torchvision,torch是主模块,用来搭建神经网络。torchvision是辅模块,有数据库,还有一些已经训练好的神经网络等着你直接用比如(VGG,AlexNet,ResNet)
链接: https://www.cnblogs.com/yifdu25/p/8975250.html
https://www.tensorflow.org/tutorials/keras/save_and_load?hl=zh-cn
model.save(model,'‘my_model’)
new_model = tf.keras.models.load_model(‘my_model’)
https://blog.csdn.net/qq_37555071/article/details/107532319?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&utm_relevant_index=2
https://blog.csdn.net/weixin_39588679/article/details/111294399
https://www.cnblogs.com/nnzhang/p/10495070.html
https://zhuanlan.zhihu.com/p/68555964?app=zhihulite
https://blog.csdn.net/c9Yv2cf9I06K2A9E/article/details/121413057?utm_source=app&app_version=4.18.0&code=app_1562916241&uLinkId=usr1mkqgl919blen
https://blog.csdn.net/FrankieHello/article/details/105818457?utm_source=app&app_version=4.18.0&code=app_1562916241&uLinkId=usr1mkqgl919blen
https://blog.csdn.net/weixin_44839513/article/details/103869840
https://blog.csdn.net/qq_37555071/article/details/107532319?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&utm_relevant_index=2
https://blog.csdn.net/Caesar6666/article/details/109824498?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_ecpm_v1~rank_v31_ecpm-2-109824498.pc_agg_new_rank&utm_term=tensor%E7%BB%B4%E5%BA%A6%E4%BA%A4%E6%8D%A2+torch&spm=1000.2123.3001.4430
https://blog.csdn.net/qq_39435411/article/details/108935728
https://www.cnblogs.com/yinxiangnan-charles/p/5928689.html
https://www.cnblogs.com/timotong/p/9678490.html
https://blog.csdn.net/jenyzhang/article/details/52047999
https://blog.csdn.net/qq_33434901/article/details/78536950
https://blog.csdn.net/Gsdxiaohei/article/details/81701957
https://blog.csdn.net/qq_45154565/article/details/109113838
https://www.cnblogs.com/linyfeng/p/11832237.html
https://www.office26.com/visio/visio_16569.html
https://blog.csdn.net/Poul_henry/article/details/82590392
https://www.cnblogs.com/luyaoblog/p/6775342.html
https://blog.csdn.net/qq_30967115/article/details/85053415
https://blog.csdn.net/huangguohui_123/article/details/103592169
https://www.jb51.net/article/225919.htm
https://blog.csdn.net/mouday/article/details/87936476
https://yanguan02.gitee.io/yanguan/2021/12/04/MINIST%E6%95%B0%E6%8D%AE%E9%9B%86%E8%81%9A%E7%B1%BB/
https://blog.csdn.net/lanluyug/article/details/80002273
https://blog.csdn.net/Fate_mt/article/details/104728797
https://blog.csdn.net/chongbaikaishi/article/details/109105934
https://blog.csdn.net/sinat_41617280/article/details/104889713?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&utm_relevant_index=1
https://blog.csdn.net/jkx521/article/details/100714226?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_paycolumn_v3&utm_relevant_index=2
https://blog.csdn.net/helunqu2017/article/details/78641290
https://blog.csdn.net/weixin_41888257/article/details/109023819
https://zhuanlan.zhihu.com/p/343667804
https://blog.51cto.com/u_15242250/2870227
https://blog.csdn.net/shuyueliang1/article/details/89855588
https://zhuanlan.zhihu.com/p/351677092
https://segmentfault.com/a/1190000017320801
https://blog.csdn.net/colourful_sky/article/details/82082854
https://blog.51cto.com/u_14320361/2478891
https://blog.csdn.net/qq_45261963/article/details/118162715
https://www.jianshu.com/p/2fe73baa09b8
https://www.1024sou.com/article/538336.html
https://www.w3cschool.cn/tensorflow_python/tensorflow_python-rjsp2opw.html
https://blog.csdn.net/czyt1988/article/details/84995295
https://www.mathtype.cn/jiqiao/huifu-fangfa.html
https://github.com/liguge?tab=stars
https://blog.csdn.net/weixin_42782150/article/details/106854349
Variable可以实现求导,而tensor不行
https://www.cnblogs.com/vincent1997/p/10901875.html
https://blog.csdn.net/happyday_d/article/details/88974361
https://blog.csdn.net/r709651108/article/details/88344030
https://blog.csdn.net/panhaoxuan/article/details/123765096
https://zhuanlan.zhihu.com/p/144487165
https://blog.csdn.net/weixin_44108468/article/details/102309471
https://www.jb51.net/article/178209.htm
公众号、B站:故障诊断与python学习