Resampling two signals to the same frequency

5 views (last 30 days)
Louise
Louise on 12 Nov 2020
Edited: per isakson on 13 Nov 2020
Hi guys,
I've attached two matrix.
Force data were collected at 2000 Hz and acceleration data at 2222 Hz.
My goal is to sample these two signals to the same frequency. I guess that the best method is to resample the acceleration data at 2222 Hz ?
I'm quite lost between the Matlab functions interp, resample, etc...
Could you help me please ?
Thanks in advance for your help,

Accepted Answer

per isakson
per isakson on 13 Nov 2020
Edited: per isakson on 13 Nov 2020
Comments
  • The letter "A" as the name of the variable, which holds the force data, is a poor choice.
  • There is half a second more acceleration data than force data.
  • interp1() is older than resample().
  • to use resample() requires more reading of the documentation
To use interp1() (or resample()) time data is needed.
Try this script to see if it does what you want.
%%
A = load('Acceleration_Data.mat');
F = load('Force_Data.mat');
%%
A.time = linspace( 0, numel(A.B)/2222, numel(A.B) );
F.time = linspace( 0, numel(F.A)/2000, numel(F.A) );
%%
F.resample = interp1( F.time, F.A, A.time, 'linear', nan );
"I guess that the best method is to resample the acceleration data at 2222 Hz ?" I'm not sure what this means.
Do you want to resample acceleration?
A.resample = interp1( A.time, A.B, F.time, 'linear', nan );

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by