Hello,
you can refer to the below code to find the angle between two signals using correlation.
% Define two signals
t = 0:0.01:10; % time vector
x = sin(2*pi*1*t); % signal 1: sine wave with frequency 1 Hz
y = sin(2*pi*1*t + pi/3); % signal 2: sine wave with frequency 1 Hz and phase shift of pi/3
% Calculate the correlation between the two signals
corr_vector = xcorr(x, y);
% Find the index of the maximum value in the correlation vector
[max_value, max_index] = max(corr_vector);
% Calculate the time lag in samples
time_lag = max_index - length(x);
% Calculate the angle between the two signals
sample_rate = 100; % sample rate of 100 Hz
angle = (time_lag / sample_rate) * 360;
fprintf('The angle between the two signals is %.2f degrees.\n', angle);