Man I got the latest of everything using the install script. I get the same as I said in the previous message. For example for one VFO (i.e j=0) the theta_0_list[0] is 348 and the doa_result_log is
This question is regarding the angle convention used for the Max DOA field (second field after Unix Epoch Time) in the CSV returned by http://PI4_IP_ADDR:8081/DOA_value.html. I’m not using the Android app. I’m just polling port 8081 to get the value. Is the angle relative to the antenna array (so that zero degrees represents the vector from the center of the array to antenna #0), or is it absolute (so that zero degrees represents geographic North)?
Of course, in order for it to be absolute, it would have to compute the heading of the front of the antenna array (presumably by comparing successive GPS locations and assuming the antenna array is facing the front of the vehicle). Does it actually do this? I know the Android app has the option to use the phone’s compass, but like I said, I’m not using the Android app.
Thanks for confirming, Carl. I’m aware you already know the following info. I’m posting it here to benefit others.
I am successfully able to compute the absolute (compass) DoA by first computing the heading of the antenna array, then using (heading + DoA), where DoA is the value in the second column of the CSV returned from http://<host_ip>:8081/DOA_value.html. This is the same value in the “DOA” field in the XML returned from http://<host_ip>:8081/doa.xml
‘heading’ is computed by calculating the direction vector from the two most recent GPS positions, and DoA is obtained from DOA_value.html.
Once I did that, I was able to get the absolute DoA direction. Of course, this assumes that antenna zero is in “front” (pointing toward the front of the car) and that the car (if in motion) is moving forward (pretty safe assumption).
It’s important to distinguish this from the “unit circle convention” which is used for the full 360 degrees DOA power output (columns 18-377). In the unit circle convention, 0 degrees is Due East, and angles increase counter-clockwise.
If you are calculating the maximum DOA from the full 360-degree output (unit circle convention), and want to convert it to the compass convention to match the second column, the relationship is phi = 360 - theta, where theta is the angle in unit circle convention and phi is the angle in compass convention. This inverse relationship exists due to legacy reasons with how the Android app was initially developed.