How to calculate phase angle between two sine wave from vectors
63 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi.. After solving my problem I am getting two sine waves. These two waves are variations of current and voltage. I want to determine the phase angle between them. Actually I have got graphs I have attached here.In
my case I want to determine it from vectors (numeric values).If I will FFT is it correct
0 Kommentare
Antworten (3)
Taha
am 31 Dez. 2015
% %
% %
close all;
clear all;
x = 0:1e-6:60e-3; % bis 60 ms mit 1µs Schritte
a = sin(2*pi*50*x);
b = sin(2*pi*50*x-pi);
y_rad=acos(dot(a,b)/(norm(a)*norm(b)))
y_deg=y_rad*360/(2*pi)
plot(x,a,x,b)
xlabel(['Winkel in degree ist: ',num2str(y_deg)],'Color','r')
grid on
0 Kommentare
David Young
am 3 Dez. 2015
If you know the frequency, it is probably more accurate to fit a sine wave to each of the two vectors than to use the FFT. The problem with the FFT is that it fits harmonics of a wave whose period is equal to the length of the time series, and your signal may not lie at exactly one of those frequencies.
There are several contributions on the file exchange for fitting sine waves (search "harmonic fit"), and my own function is attached, or you could write your own.
Once you have fitted a sine wave to each data series, you just subtract the phase of one from the phase of the other.
0 Kommentare
Taha
am 31 Dez. 2015
https://www.researchgate.net/post/How_can_one_find_the_angle_between_voltage_and_current_sinusoidal_waves_in_MATLAB_SIMULINK_environment
and here is the code: close all; clear all; x = 0:1e-6:60e-3; % bis 60 ms mit 1µs Schritte a = sin(2*pi*50*x); b = sin(2*pi*50*x-pi);
y_rad=acos(dot(a,b)/(norm(a)*norm(b))) y_deg=y_rad*360/(2*pi) plot(x,a,x,b) xlabel(['Winkel in degree ist: ',num2str(y_deg)],'Color','r') grid on
0 Kommentare
Siehe auch
Kategorien
Mehr zu Oceanography and Hydrology finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!