Matlab基于连续小波变换(CWT),将一维信号批量生成时频图的源代码。此示例中,原始信号data是30*1280的格式,一共30条信号,信号长度为1280。最终生成30张时频图,生成的图像可用于后续的深度学习网络或其他处理。
程序参考的是Matlab官网:
使用小波分析和深度学习对时间序列分类- MATLAB & Simulink- MathWorks 中国
基础好的话可以看看,花点时间也能弄懂。这里是用自己的数据整理了一下,做了简化,和写了一下注释。
程序工作如下:
1、加载信号,定义好采样频率;
2、画出一个信号的时频图,这个是为了看一个信号时频图长什么样,以及方便放在论文里;
3、构建结构体,存放信号和类别,这里假设所有信号均是Normal类别;
4、批量生成时频图,存放于文件夹中。
注:需要Matlab2020及以上版本。在改为自己的信号时,只需要照样子整理好数据的格式,然后更改采样频率和存放时频图的路径即可。程序不用大幅修改。主程序main.m中代码仅30多行,注释详细,方便看懂。两个子函数helperCreateECGDirectories.m和helperCreateRGBfromTF.m分别为创建空文件夹和批量生成时频图的函数,替换信号时只需要修改其中的采样频率即可。原始程序运行出问题可远程帮助调通,时间关系仅解答简单问题,不帮助替换数据哈,谢谢理解。
整理不易,价格29,唯一渠道为闲鱼售卖,谨防盗版高价转卖~~
【闲鱼链接】:https://m.tb.cn/h.5sAq1Vd?tk=mxDTW9fZn3v MF6563
如果链接失效的话,可在闲鱼搜索:耐心的等待5283,然后点用户名即可找到个人主页下的程序。