How to completely overlap or align two different signals in matlab?
18 次查看(过去 30 天)
显示 更早的评论
Currently i am working on pedestrian step detection (accelerometer data). I used butterworth bandpass filter for my acceleration data to smooth. I have calculated some statistical features like mean,std, variance etc using window size=10 samples and with 50% overlap to previous window. Now i want to overlap/ align both filtered and mean, std or variance signal for obervation/analysis. When i overlap them there is time delay or probably it has time synchonoization issue. I need guidance, how can overlap them or if there is any code to do. Below i am posting my output image of two signals and code used for filtration.I also attached ACC.txt file of some dummy data, diff from the above data, but also having same delay issue. The output image i put here is consist of filtered signal and Std signal. Looking for the kind response. Thanks
Fs=200;
N = 2;
f_low = 0.3;
f_high = 3;
Wn = 2*[f_low f_high]/Fs;
[B,A] = butter(N,Wn, 'bandpass');
% apply band pass filter to data
%norm is input signal
Data_filtered = filtfilt(B,A,norm);
figure;
plot(IMU_ULISS.time(:),norm,'b',IMU_ULISS.time(:),Data_filtered,'r');
hold on
title(['Butter Bandpass Filter']);
legend( 'Norm', 'Data Filtered')
xlabel('Time (sec)');
ylabel('Norm of Acceleration (m/s^2)');
5 个评论
Paul Hoffrichter
2021-2-15
编辑:Paul Hoffrichter
2021-2-15
These plots do not appear to be the ones that are shown in the OP. In the OP, the data appears to be highly correlated. But with the ACC.txt data, each region has a different correlation. It looks like norm and IMU_ULISS are the two items needed to run the code in the OP, so could you provide that.
The xcorr in fig-110 is poor, so not surprising that finddelay produces poor results.
delay_xy = 7 delay_xz = -5912 delay_yz = 15
For fig-200, 210, I did this to get a better correlation:
ACCx = ACCx + 15;
ACCy = ACCy + 10;
ACCz = ACCz + 5;
The xcorr in fig-210 is still not very sharp, so finddelay still is not very good.
delay_xy = -46 delay_xz = 3 delay_yz = 13
Could you provide the code and the data that produces the figures in the OP.
Is IMU_ULISS a timetable? Working with timetables makes alignment easier. So, if you provide code that is all timetable oriented, that may be easier to come up with a better correlation and delays.
回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!