MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   在Matlab中扭曲信号片段 (https://www.labfans.com/bbs/showthread.php?t=24097)

poster 2019-12-10 20:48

在Matlab中扭曲信号片段
 
使用我构建的自定义传感器,我从一个人的右脚收集了一个人的步态周期(一个人走路时压力如何变化)的压力传感器信息。我要做的一件事是将每个信号分解成右脚采取的各个步骤。我在脚掌上有几个传感器,但是最重要的是脚后跟传感器,因为我将它用作理解每个步骤的开始和结束的方法。这是通过查看脚后跟传感器的所有峰值来完成的(因为在我的案例中,一个台阶定义为两次连续的脚跟撞击之间发生的碰撞)。但是,由于很难以相同的速度连续走动每个步骤,因此某些步骤往往会比其他步骤稍长或更短。

这使我想到了手头的问题。我想扭曲每个步骤,以使它们的长度完全相同(即,我希望扭曲每个步骤以花费相同的时间),但是我不确定确切的最佳方法是什么。任何人都可以建议我如何处理该单个信号,并修改每个步骤,使它们的长度相等。



[B]回答:[/B]

听起来像重采样将是您最好的选择。假设您定义了一个参考数量的样本,例如1024,并且每个步骤都希望长度为1024的向量(或者,它们可以是高度为1024的矩阵中的列)。然后,对于每个输入向量x ,您可以使用以下命令

resample(x, 1024, length(x)) 您需要具有足够高的原始采样率,插值才能正常工作。您也可以使用resample参数;看一下[URL="http://www.mathworks.com/help/toolbox/signal/resample.html"]文档[/URL] 。希望这可以帮助!



[url=https://stackoverflow.com/questions/4140745]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 23:20

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.