Tracking my tremor

These look similar in terms of the frequency and differ primarily in terms of magnitude:

I wonder if binning the data would make the magnitudes closer, though, since the right hand data seems to have a wider range of frequencies centered around 6.1hz and the left has a more defined peak at 6.5hz. We’re also approaching the limits of my knowledge about FFTs, and so I can’t definitively tell you whether the magnitudes I’ve calculated are comparable between the two files… It does seem like this approach allows for detecting both the frequency and the magnitude of the tremor, though, and that the frequency detected is within the range @ejain pointed out.

re: recording muscle signals, something like this looks promising: https://www.sparkfun.com/products/13723

and I actually have one of these somewhere, if the drivers still work I’d be happy for @Agaricus to have it! https://www.extremetech.com/extreme/149335-the-myo-gesture-control-armband-senses-your-muscles-movements

huh, it appears the Myo has already been used for tremor detection too! https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5554498/

Using the Myo for tremor tracking is a great idea! I actually also have one of those somewhere. I’m wondering however what would be the best way for you to track your tremor @Agaricus… Maybe it would be better to try to capture the movement of the fingers?

Hi @Agaricus,
There’s standard peak-finding processes in matlab and python. I don’t know if you’re doing any programming these days. I can look through with peak-finding in Matlab and let you know how it goes. The advantage over FFT might be that you can compare amplitute histograms directly over time, to see if tremor amplitude is changing over the years.
Let me know if that sounds interesting. I can grab the data from this thread.
For your interest, here’s a link for Matlab (dry) and python (more of a blog) examples:
https://www.mathworks.com/help/signal/examples/peak-analysis.html
https://blog.ytotech.com/2015/11/01/findpeaks-in-python/

any way to break down those FFT graphs by time. For example to see if certain vibrations start at the very beginning but do not continue? Such as moving window animation?

Just had a (virtual) DIY-Experiment meetup with @madprime and she found this app: https://www.karger.com/Article/Abstract/446610

Looks like it could work!

looks like the source is here:


@Agaricus this may be better than the current app you are using in terms of the data collection, but in terms of data processing it doesn’t offer much (just the graphs which your current app already provides)…

the FFT code I wrote could be adapted to use that app’s file format, though. :slight_smile:

I think the main insight was actually a cursory statement in the paper about that app, about how to use the phone – this is something @Agaricus was trying to figure out, how to hold it. The paper describes using a phone-holding wrist strap sold for fitness/exercise use (there seem to be various on Amazon).

Indeed, this app produces more or less the same output. I’m not convinced by the wrist measurement approach because they tremor doesn’t affect my hands and arms noticeably. It’s all about fine motor control: the more I attempt to direct my thumb and forefinger to make a careful movement (or stay in the same position), the more tremor there is in that digit.

I learned something in the last few days that I want to record, even though I’m still in the phase of trying to figure out instrumentation for my project: When I try to hold my thumb stiffly, it shakes more.

I’m not entirely surprised by this, since I have an “action tremor” that’s associated with voluntary control of my finger muscles. It happens both when I direct my fingers in fine motor actions such as texting or folding a piece of paper, and when I hold something that requires finger control. It doesn’t happen when I’m mainly using my hands; for instance, when holding something heavy in my palm. But the shake is worse when holding my thumb stiffly than when commanding it to perform an action. This gives me the idea that maybe training myself to use “softer” movements with my fingers will make the tremor less annoying.

In the meantime, I’m going to use the “rigidity response” to help me with my measurements. One of the hard things about this measurement challenge is that I want to induce the tremor when I’m ready to measure it, and yet I want to track its worsening or improving over time. That means that my method of inducing/measuring the tremor has to stay constant. Knowing that thumb rigidity always produces a good strong tremor is helpful. I’ve adjusted my way of holding the phone. I’ll post a picture when I have somebody nearby to take it. Using a stiff thumb produces a much stronger tremor. (Wiggle at the end is when I’m stopping the measurement.)

2 Likes

Tried a new measurement position today. I’ve been concerned about all the other muscles involved in holding the phone. Although the tremor is clearly visible in almost every position involving my thumb, there are a lot of additional wiggles that make the signal less steady. Also, I wanted to take advantage of what I learned about holding my thumb straight and use a position in which I could keep my thumb straight while bearing some of the weight of the phone for minute or two.

Today I tried putting my hand flat on the table, palm down, with my thumb lifted slightly off the table. I used a piece of tape to mark a place on the back of the phone, and leaned the phone on my thumb. This gave me a pretty good signal:

I’m going to try to do this a few mornings in a row and see how it looks.

Yesterday I had a conversation with an eye surgeon at a family event and asked him: What do surgeons do if they develop a tremor? Since essential tremor is fairly common, I was wondering if surgeons had developed a way to deal with it, since what is mostly an annoyance for me might be a crisis for somebody who makes their living using their fine motor skills. Unfortunately, his answer was not encouraging. “My dad had to retire when he developed a tremor,” he said. (His dad was a heart surgeon.) I suspect that the outcome of my project is going to be learning that there’s nothing I can do - but I’m still curious.

1 Like

This morning the tremor was especially annoying, and I took advantage of the moment to try my measurement approach. I balanced the phone on the back of my thumb, using the tape to set the position. My thumb was held out straight, raised about an inch off the table. The shake was so severe that the phone almost bounced off it, and I had to concentrate to keep everything under control.

I had a cup of coffee earlier, but haven’t eaten anything yet. One of my (not very strongly held) beliefs/guesses is that my tremor steadily worsens the longer it has been since a meal.

Here is the picture and the data.

Tremor-Data-20-8-2019.csv (310.4 KB)

I feel like the tremor is better after eating, but not better enough to make a difference that’s visible on the graph.

sensor-2.csv (328.0 KB)

Measured tremor within 30 minutes of waking up, before coffee. It doesn’t feel as bad this morning, and looking at the screen grab suggests that the measurement shows less tremor. This interests me, as one of my questions is the basic one: is the tremor different at different times? (Since the tremor is induced by specific actions, this question isn’t easy to answer.)

The data is below the image.

I also timed my measurement this morning: 60 seconds.

However, with more precision on timing a problem with the instrumentation appears. As far as I can tell, the app does not store the data after presenting the option to send via email or message. You only have this option at the moment you stop recording. However, since I also want to take a screen grab after stopping recording, the visual image of the screen grab does not match the timing of the measurement exactly. Not a huge problem, but worth noting down.

sensor-3.csv (301.0 KB)

Seems worse this morning.

sensor.csv (291.2 KB)

NOTE: I started thinking about this project and posting in June but it really got going about three weeks ago when I followed up on @OP_Engr’s suggestion that I look at Physics Toolbox Sensor Suite as a potential tremor tracker. Using this instrument, I’ve made about 10 careful measurements, experimenting with how to hold the phone so that:

  1. the tremor appeared
  2. the influence of how I was holding the phone on my tremor was consistent from measurement to measurement

My solution is far from perfect because there is still clearly some influence from my hand position. (Specifically, how far my thumb is lifted from the table seems to make a small difference.) Still I believe I’ve made a discovery that is relevant to my project, which is: The strength of my tremor varies from morning to morning. This is what I thought when I started, so it’s not a surprise. However, I wasn’t sure about it, and I wasn’t sure I could come up with a way to measure it that would show the difference, due to the fact that I had to induce the tremor in order to measure it. I now have a lot more confidence that the tremor varies, and is measurable with a relatively simple approach.

What I haven’t figured out, is how to reduce this measurement to a score for easy comparison. Suggestions here by @Beau_Gunderson point in a promising direction, but I don’t have the skills presently to do this myself, and I’m not sure if I’m going to be able to learn them. Thinking about how to take a next step…

Excited to post this, more variation! I’m more and more confident that the tremor varies in strength across mornings. Also, that my subjective sense before the test of whether I’m tremory is related to how strong my tremor is when induced. (That would be an interesting thing to test.)

sensor-1.csv (370.0 KB)

Hi Agaricus, Glad the app is giving you data to evaluate. I was wondering about the effect of thumb effort on the tremor amplitude and frequency and came up with a possible experiment. Using a kitchen scale and an unsharpened pencil. Tare out the pencil weight and then with the eraser side on the scale (to keep it from moving) hold the pencil vertical to the scale with your thumb. Then measure the tremor at different downward forces.
On the instrumentation side, there are IMU boards that could be attached to a ring that you could wear on your thumb and collect longer duration data. Not much of a fashion statement, except maybe at a QS forum.
Good luck

OK, really interesting suggestion. Doing a few experiments now.

OK, placing something under the thumb and pressing down actually steadies the tremor, whereas placing something on top of the thumb and forcing the muscles to bear weight makes the tremor more active. So: if I want to take thumb effort into account it should be in terms of bearing weight. Also, along with weight bearing effect, there is also a precision effect I’ve noticed during earlier tests. That is, the more carefully I try to direct the movement, the more the tremor appears. I’ve considered about some kind of exercise like tracing letters to standardize this, but that’s a lot more elaborate than what I’m doing now.

I still think the next most important step is the analytical one of turning the g_force data into a score that measures the average amplitude at the relevant frequency. Definitely too hard for me – at this stage of my learning, anyway – but probably not impossibly out of reach.

Hi @Agaricus, not sure if it was already mentioned, but did you give a try to this app? https://play.google.com/store/apps/details?id=com.adrenergic.tremorsense&rdid=com.adrenergic.tremorsense&showAllReviews=true

It seems to have ok reviews, I just installed it and tried it and got scores between ‘1’ and ‘3’ on my tremor on both hands (which is apparently higher than zero but lower than significant. At least in line with my subjective experience).

They seem to use the accelerometer from the phone, take 1000 readings within the recording time (which can be adjusted to be 2,3,5,7 or 10 seconds), calculate the standard deviation of the values, and scale the result according to a modified arctangent plot, thus ending up with a number between 0 and 100 which they use as an estimate for tremor severity.

Plus point: their code is on GitHub. (Big) minus point; it does not record readings! So screenshotting/manual logging would be needed in a scenario in which this is used to compare tremor data with other data sources.

Fun fact: they seems to suggest a way of grabbing the phone while taking the measurement which is roughly in line with @Agaricus’s intuitions so far.