FT8 Propagation Analysis Using PSK Reporter
I wanted to better understand what real-world HF propagation actually looks like when you move beyond textbook examples.
To explore this, I built a data analysis project using real FT8 reception reports from PSK Reporter. My goal was simple: take a large collection of actual radio observations and see what factors influence whether a signal is received well.
The dataset contained over 1,000 FT8 reception reports collected by a station near me, WW4F. Each report included information such as signal-to-noise ratio (SNR), distance, bearing, frequency, and time of reception. Before this project, I had never worked with ADIF files or built a machine learning model from RF data, so the first challenge was simply learning how to extract useful information from the raw logs.
After writing a custom parser in Python, I cleaned and organized the data using Pandas and began visualizing the results. One of the first things I investigated was the relationship between propagation distance and received signal strength. Intuitively, I expected longer paths to correspond to weaker signals, and while that trend existed, it was much weaker than I anticipated.
The correlation between distance and SNR was only about -0.31. This was one of the most important lessons I learned during the project. Distance clearly matters, but it is far from the only factor influencing HF propagation. Signals traveling similar distances often arrived with dramatically different SNR values, suggesting that propagation conditions, path geometry, and ionospheric effects play major roles in determining reception quality.
To investigate further, I trained a Random Forest classifier to predict whether a received signal would be considered "good" or "poor" based on several features. The model used distance, bearing, and time of day as inputs. While the model's accuracy was modest, the feature importance analysis produced an interesting result: bearing was nearly as important as distance when predicting signal quality.
This finding reinforced something that RF engineers often learn through experience: where a signal comes from can matter almost as much as how far it traveled. Different propagation paths experience different ionospheric conditions, noise environments, and geographic influences. Two signals traveling similar distances can arrive with very different strengths depending on the direction of the path.
Beyond the RF insights, this project taught me a great deal about the data science workflow. I learned how to clean real-world datasets, handle missing values, engineer features, visualize complex relationships, and evaluate machine learning models. More importantly, I learned that good engineering often starts with understanding the data before trying to build a predictive model.
Looking ahead, I would like to expand this project by collecting months of FT8 observations and combining them with NOAA space weather data such as solar flux and sunspot numbers. Doing so would allow me to investigate how solar activity influences propagation conditions and potentially develop forecasting models for HF band performance.
What began as a simple exploration of FT8 logs turned into a deeper appreciation for how complex and fascinating radio propagation really is. It also reminded me that some of the most interesting engineering insights come from analyzing real-world measurements rather than idealized examples.
This project strengthened both my RF knowledge and my data analysis skills, and it gave me a new perspective on the challenges involved in understanding and predicting wireless communication performance.


My post content