How to 'flip/reverse' the signal?

6 次查看(过去 30 天)
Hi all,
I have a signal like this (attached). This is sensor orientation data in z dimension during human walking.
I am extracting parts of the signal between red vertiical lines (precisely between first 8 and last 8 pairs of the lines).
When I plot all of them over one figure I get this.
hold on
for i = 1:length(S_or_z_cycle)
plot(S_or_z_cycle{i},'r') ;
title('Shank orientation Z'); xlabel('% of movement cycle'); ylabel('degrees')
end
Is there a way to "flip/reverse" the signal below 0 so it aligns with the signal above 0, remaining its shape? When I apply "-" I get this which is not what I want as it changes the shape of the signal.
Wheareas I want something like this:
  1 个评论
Mathieu NOE
Mathieu NOE 2022-3-9
编辑:Mathieu NOE 2022-3-9
hello Tomaszzz
seems you want to apply a vertical shift of the negative data so they overlay with the positive ones
this shift is computed by taking the mean of the negative curves minus the mean of the positive curves

请先登录,再进行评论。

采纳的回答

Voss
Voss 2022-3-11
编辑:Voss 2022-3-11
load('data.mat')
hold on
for i = 1:length(S_or_z_cycle)
if mean(S_or_z_cycle{i}) > 0
plot(S_or_z_cycle{i},'r');
else
plot(S_or_z_cycle{i}+360,'r');
end
title('Shank orientation Z'); xlabel('% of movement cycle'); ylabel('degrees')
end

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Signal Processing Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by