How to 'flip/reverse' the signal?

33 views (last 30 days)
Tomaszzz
Tomaszzz on 9 Mar 2022
Edited: Voss on 11 Mar 2022
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 Comment
Mathieu NOE
Mathieu NOE on 9 Mar 2022
Edited: Mathieu NOE on 9 Mar 2022
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

Sign in to comment.

Accepted Answer

Voss
Voss on 11 Mar 2022
Edited: Voss on 11 Mar 2022
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

More Answers (0)

Community Treasure Hunt

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

Start Hunting!