我有以下性质的(爬楼梯的人的)信号。这是一个在 6 分钟的楼梯上升期间价值 38K + 样本的信号。有一些低频噪音的部分是人们转弯到达下一段楼梯的时间(因此不计入楼梯上升。)
图1
这就是为什么我需要为只接受楼梯上升数据的深度学习模型摆脱它。本质上,我只需要这个人爬楼梯的高频区域。我可以手动消除它,但由于有 58 个这样的信号,这将花费我很多时间。
我解决这个问题的方法是用方波调制这个信号,低频区域为 0,高频区域为 1,然后将信号相乘。但问题是如何创建这样一个可以自行检测高频和低频区域的方波信号?
我尝试对信号进行包络(使用 MATLAB 的包络 rms 函数),得到以下结果:
图 2
如您所见,包络 rms 信号很好地遵循了函数。但我不知道如何从中创建调制方波函数(本质上是我要求的可变脉冲宽度调制波形。)
PS:我考虑过使用高通滤波器,但这不起作用,因为在高频爬楼梯区域有一些低频信号我无法去除。我还考虑过使用某种形式的上升/下降沿检测(用于包络 rms 函数),但没有找到实现它的实用方法。)请告知。
提前感谢您的帮助,Shreya
感谢 David 在我的数据集上所做的阈值化建议,我得到了这些结果......尽管我再次陷入试图摆脱零之间的冗余峰值(见下图)接下来我该怎么做?
图 3
我想我已经能够解决我的问题,即能够使用以下过程成功地将波形的“有趣”部分从整个原始波形中分离出来(供读者将来参考:)
如图 1 所示的非均匀波形可以应用“envelope(rms)” MATLAB 函数来获得如图 2 中的橙色函数。随后,我使用 MATLAB 自己的“idfilt”函数过滤了这个enveloperms 波形。这使我能够摆脱波形“有趣”部分之间发生的不需要的尖峰(零之间)。然后,使用阈值处理,我将此波形在“有趣”部分转换为 1,在“不感兴趣”部分转换为 0,从而给我一个脉宽调制方波形,它仅遵循原始波形的“有趣部分(在图 1)然后我将我的方波与原始函数相乘,并能够过滤掉“无趣”
图 4
谢谢大家的帮助!该线程现已解决!