ara-software / AraRoot

ARA data access framework
2 stars 7 forks source link

Added support for launch angles of RF signal from source. #68

Closed jflaherty13 closed 2 months ago

jflaherty13 commented 2 months ago

Added calculation and output of the launch angles of the RF signal from a source vertex. The Ray Tracer natively calculated the receiving and launch angles with respect to the position vector of the receiver antenna (referred to as target in the code). A diagram of the vector geometry can be seen in the image below: image where target is the position vector of the receiver antenna relative to the center of the Earth, source is the position vector of the source vertex relative to the center of the Earth. As implied by the names, launchVector and receiveVector are the trajectories of the RF signal at the source and receiver, respectively. Within the Ray Tracer, there are values for launchAngle and receiptAngle, which are measured with respect the the target vector as shown in the figure.

The ray tracing table script uses the receiveVector to calculate arrivalTheta and arrivalPhi of the RF trajectory with the z-axis along the Earth's radius and stores those values in the ray tracing tables. This push uses that same logic to calculate the launchTheta and launchPhi of the launch vector and store them into the ray tracing tables.

clark2668 commented 2 months ago

This repeats a question I asked on the AraSim PR, but is launch really calculated wrt to target, and not emitter? The emitter seems so much more obvious.

jflaherty13 commented 2 months ago

This repeats a question I asked on the AraSim PR, but is launch really calculated wrt to target, and not emitter? The emitter seems so much more obvious.

Yes this threw me for a loop. The ray tracer calculates both the launch and arrival angles with respect to the target. I didn't want to change that convention as that would risk affecting existing code that uses the launch angle.

clark2668 commented 2 months ago

How odd. But okay then, looks alright then.