# Finding theta in [-pi/2,pi/2] instead of [-pi/4,pi/4] using arctan

3 views (last 30 days)
Adib Yusof on 31 Dec 2018
Edited: madhan ravi on 2 Jan 2019
Hi. I need help on trigonometry.
I have a signal and a formula, which I found in a paper.
I wanna find theta (as in the formula). When using function atan(), my theta ranges from [-pi/4,pi/4]. In the paper, it mentions that theta should range from [-pi/2,pi/2], and we need to take the signs of numerator and denominator of the right-hand side of the formula into consideration when calculating theta.
My question is, how do I convert from [-pi/4,pi/4] to [-pi/2,pi/2] correctly? I know if I were to convert [-pi/2,pi/2] to [-pi,pi], I just have to use atan2() function, but in this case, it's a portion of full circle.
madhan ravi on 31 Dec 2018
Adib Yusof on 31 Dec 2018
Hi thank you for your response.
PE_top=2*abs(H_hilb).*abs(D_hilb); %I seperate top, bottom and right to preserve signs
PE_bot=(abs(H_hilb)).^2-(abs(D_hilb)).^2;
PE_right=cos(angle(H_hilb)-angle(D_hilb));
PE_theta0=(atan((PE_top./PE_bot).*PE_right))/2;
for k=1:size(PE_top,1)
if PE_top(k)>0 && PE_bot(k)>0
PE_theta(k)=PE_theta0(k);
elseif PE_top(k)<0 && PE_bot(k)>0
PE_theta(k)=PE_theta0(k);
elseif PE_top(k)>0 && PE_bot(k)<0
PE_theta(k)=pi/2-PE_theta0(k);
elseif PE_top(k)<0 && PE_bot(k)<0
PE_theta(k)=-pi/2-PE_theta0(k);
end
end

madhan ravi on 31 Dec 2018
Edited: madhan ravi on 2 Jan 2019
https://www.mathworks.com/help/matlab/ref/atan2.html#buct8h0-4 - it mentions "In contrast, atan(Y/X) returns results that are limited to the interval [-pi/2,pi/2], shown on the right side of the diagram."