필터 지우기
필터 지우기

how to find angle between two signals

조회 수: 5 (최근 30일)
althuru pranathi
althuru pranathi 2016년 7월 26일
답변: Sufiyan 2023년 3월 11일
angle bw two given signals?how to find it usimg correlation??

답변 (1개)

Sufiyan
Sufiyan 2023년 3월 11일
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);
The angle between the two signals is 57.60 degrees.

카테고리

Help CenterFile Exchange에서 Correlation and Convolution에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by