Treffer: A Ray Tracing Model of Atmospheric Duct Propagation using NVIDIA CUDA : A C++/CUDA Simulator for Modeling Atmospheric Duct Propagation ; En ray tracing modell av atmosfärisk vågutbredning med NVIDIA CUDA : En C++/CUDA simulator för modellering av atmosfärisk vågutbredning
Weitere Informationen
Electromagnetic wave propagation through the Earth's atmosphere is a critical area of study with significant implications for modern communication systems, radar technology, and remote sensing. Atmospheric ducting, a natural phenomenon where radio waves are trapped and guided over extended distances, presents both challenges and opportunities. Recent advancements in high-performance computing, especially with modern GPUs, have opened new ways for simulating these complex phenomena with enhanced performance and efficiency. Accelerating ray tracing is valuable for a company like Tietoevry, where faster simulation enables quicker prototyping and more efficient development of advanced electromagnetic modeling tools. It also enhances the ability to simulate and predict electromagnetic wave behavior for advanced communication and radar systems. This thesis addresses the computational limitations of an existing MATLAB-based simulator for modeling electromagnetic wave propagation through atmospheric ducts by developing a high-performance hybrid implementation using C++ and NVIDIA CUDA. The objective of this research was to migrate the MATLAB-based simulator, originally developed by Tietoevry, to a hybrid architecture that leverages GPU acceleration for ray tracing, thereby achieving significant computational gains without sacrificing accuracy. The thesis presents a modular, six-layer architectural structure that separates input configuration, control and orchestration, CPU processing, GPU acceleration, output generation, and visualization. Validation against the original MATLAB simulator demonstrated near-identical numerical results across multiple test cases and duct scenarios, using metrics such as Mean Absolute Error (MAE), Root Mean Squared Error (RMSE), maximum deviation, and correlation coefficients. Performance evaluation confirmed substantial improvements in execution times, especially for large-scale simulations. While MATLAB's execution times increased polynomially or exponentially with more rays, the C++/CUDA ...