Finding My Resonance Frequency

A detailed study to determine the optimal breathing frequency that maximizes HRV response for biofeedback training

Max Frenzel, PhD
Yudemon
Published in
9 min readAug 26, 2021

--

Heart rate variability (HRV) biofeedback training promises to strengthen the response of the autonomic nervous system (ANS) and increase adaptability and resilience, physiologically as well as mentally.

It relies on the strong coupling between breath and heart, and more specifically the fact that slow breathing at a certain frequency — the resonance frequency — triggers a strong physiological heart rate response. On the inhale the heart beat speeds up and on the exhale it slows down, leading to a high HRV and training the ANS to be more adaptable.

I recently wrote about the exact biomechanical mechanisms that underly this response:

In this piece I want to share how I determined my own personal resonance frequency over the course of ten days.

The basic idea behind finding your resonance frequency is that you breathe at various different frequencies for a certain amount of time and then identify which frequency led to the strongest response, i.e. the highest HRV.

HRV can be quantified in a number of different ways, but throughout this article we will assume RMSSD, the root mean square of successive differences between heartbeats in milliseconds, as our metric of choice.

When I first got started with HRV biofeedback training I used my Oura Ring and its Moment feature to try and estimate my resonance frequency. I wrote about the experience in this piece. While the Oura Ring is a great device, it was designed and optimized for sleep tracking, and as a result performs quite poorly at measuring HRV over short timespans during the day. Nonetheless, using the ring’s limited data I estimated that my resonance frequency was at around 6 breaths per minute, which is often cited as the most common resonance frequency.

Having practiced at this frequency for several months, I decided to “graduate” to Marco Altini’s HRV4Biofeedback app, and pairing it with a Polar H10 heart rate sensor. The app offers an in-built mode to determine your resonance frequency. Over the course of six minutes it transitions from 7.5 breaths per minute to 5 breaths per minute in steps of 0.5 and identifies the rate with the highest HRV. Using this app and the much more accurate sensor I revised my resonance frequency estimate to around 5.5 breaths per minute.

This level of detail is probably sufficient for most people, but I wanted to go a step further. A resolution of 0.5 breaths per minute just didn’t seem accurate enough.

As a result, when I started building a prototype for my own Yudemon HRV Biofeedback app (which also uses the Polar H10 to get real-time ECG data), I included some functionality that would allow me to experiment much more extensively and determine my resonance frequency with significantly higher confidence and precision.

Below is a screenshot of the current prototype of the Yudemon HRV app with a resonance frequency scan session in progress.

The controls at the bottom left allow me to determine the parameters of the scan. In this case I am scanning in the range of 5.0 and 6.5 breaths per minute in steps of 0.1, with 90 seconds at each rate. I also chose a random order rather than going from high to low or low to high like most other apps, since I wanted to avoid any bias that might come from this gradual progression (more on this below).

Once a session is complete, the app switches to an Analysis mode that allows me to look at the results, see average metrics, as well as compare the different breathing frequencies and determine the resonance frequency. It can do this for single sessions, but more interestingly also combine multiple sessions to get more statistically significant results. The below screenshot shows the Analysis view for four selected sessions.

More on the individual parts of this later.

Since I expected my resonance frequency to be somewhere around 5.5 breaths per minute, I chose the 5.0 to 6.5 breaths per minute range for my self-study. Note that I fixed the inhale/exhale ratio at 40%/60% (like most other apps do). Varying this ratio to see if there is also a “resonance ratio” is a future experiment I want to explore.

HRV measurements are very sensitive and can be influenced by a number of factors besides breathing, from measurement noise like erratic heartbeats and sensor inaccuracies, to genuine changes in HRV due to thoughts and emotions or environmental stimuli like light and sound.

As a result, a single scan — as is the common practice — might be somewhat informative but can not really be considered an accurate measurement of resonance frequency. Hence I chose to combine the data of 20 sessions, spread over ten individual days with one session in the morning and one session in the evening each, to get a more accurate estimate.

Below is the recording of a single session.

The values at the top indicate the breathing rate of that particular interval, and the values below are the corresponding HRV, also shown by the dashed red line. Highlighted in green is the interval with the highest HRV, indicating that session’s resonance frequency. In this case 5.4 breaths per minute with a RMSSD of 184.6 ms.

Zooming in to this interval shows that at this breathing rate, my heart rate varied from just above 40 bpm on the exhale to over 90 bpm on the inhale.

In total I collected 8 hours of data over the twenty sessions, 30 minutes for each breath rate considered. My average heart rate was 63.6 bpm and my average HRV was 104.5 ms.

Combining the data from all sessions gives the following result:

The red curve shows my average HRV at each breathing frequency, and the corresponding box plots give insights into the data distribution across sessions. According to this, my mean HRV was highest for 5.4 breaths/min, and the median was highest for 5.3 breaths/min.

In addition, the blue curve in the background shows the average power spectrum of my heart rate oscillations.

While the breathing rate can be seen as the visual input that I tried to follow during each session, the power spectrum essentially shows the response of my heart. This overall power spectrum peaks at 5.349 breaths/min.

Putting these two observations together I can now quite confidently conclude that my resonance frequency is between 5.3 and 5.4 breaths per minute.

Instead of looking at absolute HRV values, we can also normalize each session’s values by the highest value during that session.

This shows even more clearly just how quickly HRV decreases away from the resonance frequency.

For a fast rate like 6.5 breaths/min my HRV response is on average only 50% of that sessions highest HRV. Even a small change from 5.4 breaths/min (my optimal value) to 5.6 breaths/min leads to an HRV decrease of over 10% on average, indicating just how much potential is missed if the resonance frequency is determined with a resolution of only 0.5 breaths/min.

I also decided to look at morning and evening data individually, to see if resonance frequency shifts during the course of the day.

Below are the results for the morning sessions:

And the evening sessions:

While there are some small differences, my resonance frequency seems to be fairly stable across the day at around 5.4 breaths/min or just below.

The most notable difference between morning and evening is the higher variance in the evening data. This is to be expected.

My morning’s were very controlled. I usually got up, had a coffee and read for 30 minutes to an hour, and then did the biofeedback session. In the evening there was considerably more variability. Sometimes I practiced before dinner, sometimes after. In some cases I did a heavy workout before the sessions, on other days I didn’t do much at all. On one day I even had two beers before the evening session (and the result was quite shocking, my average HRV was around 40 ms; this session is responsible for all the bottom outliers in the plots above).

One thing I was curious about was to see if my HRV naturally shifted over the course of a session. My assumption was that maybe the longer a session lasts, the more relaxed I get and as a result the higher my HRV, independent of breathing frequency. That’s the reason why I ordered the rates at random during each session, rather than going from high to low or low to high. The graph below shows HRV across the consecutive 90 second intervals in each session.

Surprisingly, there seems to be no clear correlation between order in the session and HRV, suggesting that the ordered progression used by most other protocols is actually justified and probably doesn’t lead to any bias.

Also out of curiosity, I tried to see if there is maybe any correlation with my previous night’s HRV or respiratory rate, as measured by my Oura Ring.

I used only the morning sessions’ values, since the evening ones are probably too strongly influenced by other factors.

However, in both cases, ten data points are simply nowhere near enough to draw any useful conclusions about potential correlations, and to be honest the plots above are rather pointless.

And this concludes my initial study into determining my own resonance frequency. From now on I will be using a breathing rate of 5.4 breaths/min during my HRV biofeedback sessions.

In terms of further developing the app and the underlying technology, I will now start experimenting with sound and music generation based on real-time physiological data during the biofeedback session (and if you’d like to see a little sneak peek of that, check out this video).

I’ve recently had a few people ask me if they can use the Yudemon HRV Biofeedback app, and I’m super happy and grateful for that.

Unfortunately, the app is currently only for my own development. This allows me to move much faster and experiment more freely. However, eventually I am planning to release the app (or license the core technology to existing tools). But if there is enough interest I might try to make it available sooner rather than later.

You can stay up to date about any developments either by following me here on Medium, or signing up to the mailing list on the Yudemon website.

[Update: The Yudemon HRV app is now available for iOS and contains a significantly improved way to establish your own resonance frequency with higher accuracy but less required data than the experiment outlined in this article.]

--

--

Max Frenzel, PhD
Yudemon

AI Researcher, Writer, Digital Creative. Passionate about helping you build your rest ethic. Author of the international bestseller Time Off. www.maxfrenzel.com