Week 4: Every Body Swings Different
March 24, 2026
With the optimal single-radar placement angle settled at 45°, the next priority was to expand the dataset beyond just my brother and me. I spent this week recruiting players of varying skill levels and swing styles.
To build a diverse set of spectrograms for the classification, I recruited volunteers from two populations: recreational players of all ages from local practice ranges in Santa Clara and competitive junior players aged 12 to 18 who compete on junior tours. One advantage of FMCW radar that makes recruitment straightforward is its inherent privacy-preserving nature. The radar captures body motion as velocity and range signatures without recording any visually identifying information, so participants could contribute data without the concerns that come with camera-based motion capture. I did, however, record slow-motion video of each player’s swing with their consent, not as a radar substitute but as a reference for labeling their swing technique. To classify each volunteer’s swing faults, I am sending the slow-motion footage to professional coaches, whose expert assessments will serve as the ground-truth labels for the dataset.
As in Week 3, I attached angle reflectors to specific body parts so that I could isolate individual contributions in the spectrograms. I also recorded each player’s swing from the three radar placement angles tested last week. But beyond the swing data itself, I also collected additional measurements on each player’s arm span, height, and radial swing sweep, which is the arc length the clubhead travels during the swing. These three factors directly affect the range profiles and the timing of key indicators in the spectrogram. A taller player with a longer arm span produces a wider radial sweep, which stretches both the spectrogram and the range profile in ways that are independent of swing technique. The underlying fault signatures are similar across players, but the period of the swing and the extent of the radial sweep scale the data differently for each person.
This introduced the normalization problem I am now working through. The goal is to reduce the influence of external variables like height and arm length while preserving the features that are actually indicative of swing faults, such as the swing period and the relative signal strengths at key transitions. If the classifier trains on unnormalized data, it risks learning body geometry rather than swing mechanics. I am currently researching normalization methods that can decouple these two sources of variation.
One unexpected finding this week came from the recording environments themselves. When I collected data at a crowded driving range, the radar picked up motion from nearby players, adding noise to the raw spectrograms that was absent when I recorded on an open golf course. The difference was striking in the raw data, but reassuring once I ran the clutter removal pipeline from Week 2. The strategies I built for suppressing stationary and slow-moving clutter also handled the environmental noise well and produced clean spectrograms that were comparable across both settings.
Going into next week, I’ll be reviewing all the collected data and looking for trends across the different swing faults based on the angle reflector markings and the labels the coaches provided.
Reader Interactions
Comments
Leave a Reply
You must be logged in to post a comment.

Hi Anjali, it’s so exciting to see that the hardware part of your project is all done! Passing an entire section of your research like that isn’t easy, and I trust that you’re able to find promising results eventually. Regarding your normalization problem, I might have a suggestion based on my experience in economics: fixed-effects.
Fixed-effects analysis is used when there are certain groups with time-invariant characteristics (characteristics of a particular group of data that remain consistent across each of its datapoints). It essentially uses one-hot encoding to label the data, and, when performing the analysis, essentially differences away said effect. I was wondering if it might apply in your case. I’m not very familiar with machine learning, but with fixed-effects analysis, you can difference away the time-invariant characteristics like arm span, height, etc. and isolate solely the difference between a correct swing, and a swing with a specific fault signature.
Of course, I’m not entirely sure how helpful this information might be, but do you think it could be of any use? In either case, I look forward to seeing how you solve this issue!
Hi Anjali! You mention the goal of normalizing out height and arm span is to make the classifier focus on swing mechanics rather than body geometry, but I was wondering if those two interact in some cases? For example, would swing faults for taller players look meaningfully different in the radar data than the same fault in a shorter player, and, if so, would normalizing that away hurt the classifier?