# initial phase angle calculation

31 views (last 30 days)
mouh nyquist on 16 Jan 2015
Commented: mouh nyquist on 27 Jan 2015
hello
I have this signal
clear all;clc;
t=0:0.0001:10;
tt=t(1:100000);%take 100 000 samples
a=30*pi/180; %phase (calculated form deg. to rad.)
b=90*pi/180; %phase (calculated form deg. to rad.)
ia=5*cos(2*pi*10*tt-a)+7*cos(2*pi*50*tt-b);
fs=1/0.0001; %sampling frequency
X=fft(ia); %FFT
df=fs/length(X); %frequency resolution
f=(0:1:length(X)/2)*df; %frequency axis
subplot(2,1,1);
M=abs(X)/length(ia)*2; %amplitude spectrum
plot(f,M(1:length(f)));
subplot(2,1,2);
P=angle(X)*180/pi; %phase spectrum (in deg.)
plot(f,P(1:length(f)));
this technique do not give a good results; I want any technique to get the right "a" an "d" the initial phase angle of 10 HZ and 50 HZ;

mouh nyquist on 18 Jan 2015
plz
mouh nyquist on 19 Jan 2015
plz

Jeremy on 23 Jan 2015
I ran your code it and seems to be working as-is. -30 and -90 deg at 10 and 50Hz

#### 1 Comment

mouh nyquist on 23 Jan 2015
what about if I dont know my signal I say that all frequency (10 HZ 20 HZ ..............78 Hz .......) have a initial phase angle .this is not correct

Jeremy on 23 Jan 2015
You can't expect them to be zero degrees just because there is no signal defined there. With no content at those frequencies, the angle shown will a result of spectral leakage and numerical noise. Zero degrees is no more valid than any other angle and you should always be looking a the PSD or something else to see which frequencies have a significant response.

mouh nyquist on 23 Jan 2015
thank you a lot ; and there is another method to get the initial phase angle ?
Jeremy on 27 Jan 2015
This is the correct method, any other method will be a round about way of doing the same thing.
mouh nyquist on 27 Jan 2015
thank you alot