Close
0%
0%

Acoustic Myography/Mechanomyography Experiments

Experiments to investigate how muscle activity can be measured using acoustic signals generated by muscles.

Similar projects worth following
When muscles move they emit low frequency vibrations. The measuring of these vibrations is also known as Phonomyography (PMG) and Mechanomyography (MMG).

A very common method of measuring muscle activity is Electromyography (EMG). EMG measures electrical signals generated by muscles. EMG can be measured using surface electrodes or implanted electrodes.

Mechanomyography (MMG) is not as widely used as EMG however it has certain advantages over EMG, it is non invasive, it potentially uses less complicated equipment and may be less susceptible to signal noise and minor inaccuracies in probe placement etc.

This project involves experimenting with measuring the acoustic signals generated by moving muscles and an investigation of how the signals might be used to monitor limb movement and muscle activity.

My primary motivation for this project is to see if it may be feasible to use MMG to add extra functionality to the limb tracking project: IMU Limb Tracking Project

Initially I want to determine if MMG signals can be easily and reliably obtained using simple apparatus.

If so I want to see how reproducible the signals are across recording sessions, how robust they are against minor probe placement changes and how well noise (including unwanted mechanical noise from motion) can be discriminated against and how easily the signals can be correlated with activity and movement.

From this I want to see if they can potentially be used to detect muscle spasticity or dystonic movements etc

The project at the moment involves:

1. attaching a simple acoustic transducer to the surface of the skin.

2. Amplifying and filtering the signal - MMG signals typically are < 200Hz

3. Capturing the signal for various types of muscle activity

4. Analysis of the captured signals to investigate how the signals correlate to muscle activity

  • More robust test setup

    Jonathan Kelly05/02/2016 at 01:54 0 comments

    I made a mount for the microphone using some 2 part casting silicone (pinkysil). Below is showing the first step where Ithe microphone sits:

    Then covered the back of the microphone with more silicon.I also made up a PCB version of the filter/amplifier. Below is the finished silicon rubber probe (looking from the front of the microphone and the circuit board:

    Next time I will use a different header setup for the mic probe. When pushing on wire sockets to the probe, the header pins tend to slide into the sensor rather than into the socket as the silicon rubber doesn't provide much resistance to hold the pins - bit fiddly to connect it as it is now.

    I then did a quick test. I fixed the probe to my bicep using velcro straps and measured the output for a series of bicep flexes. I held a weight so the extension would be against resistance.

    Video of the test and oscilloscope plot that was recorded below:

    This is looking as if it has potential :)

  • Is it feasible?

    Jonathan Kelly04/30/2016 at 02:04 0 comments

    I am not an electronic engineer so a lot of the process below is how, as an amateur, I go about implementing and testing my ideas. Basically a lot of trial and error and experimentation as I don't have the depth of knowledge or training to do otherwise so for those with better skills, forgive me :)

    First step was to see if I could get a signal from muscle movement using an acoustic sensor.

    I used a small electret microphone and a low pass filter/amplifier (MMG signals from my reading are typically < 200Hz) The output was displayed on an oscilloscope to indicate if what I was getting corresponded to actual muscle activity.

    Setup

    The amplifier/filter is implemented using 2 op amps from a LF347 quad op amp. I used the web site http://www.beis.de/Elektronik/Filter/ActiveLPFilter.html to assist in selecting suitable values for a filter and came up with a simple butterworth low pass filter that hopefully would attenuate signals > 200Hz

    I built up the circuit on a breadboard

    I injected a sine wave from an old audio signal generator (suitably attenuated) into the circuit in place of the microphone and viewed the output for various frequencies on an oscilloscope. It showed the circuit was acting as a low pass filter, as I changed the frequency, the output amplitude dropped noticeably for signals approaching 200Hz and greater.

    Rough Test

    I then connected the microphone and placed it on the the top of my forearm over the muscles that flex the wrist upwards (like when you are indicating a 'stop' hand sign).

    Viewing the output on an oscilloscope I got a trace with amplitude changes that visually seemed to correlate with my movement of my wrist.

    Extension against resistance (I tried to rotate my wrist against the underside of a table) produced a qualitatively different signal from free extension movement and both gave different results from relaxing the wrist. Similarly sustained clenching of the wrist upwards gave a qualitatively different signal from the others. The spikes in the trace corresponded to starting and stopping of movements with some lower amplitude oscillations occurring during movement.

    The signal was quite noisy but this didn't surprise me, I was holding the microphone against the skin lightly with my fingers or by the wires from the microphone and this was causing a lot of unwanted mechanical noise - it would pick up if I accidentally slid the microphone across the skin and it was sensitive to finger grip pressure etc.

    It also involved some contortions to avoid pulling wires out of the breadboard or off the microphone as I moved.

    Conclusion and next steps

    Despite the noise, the correlated spikes and patterns seemed to indicate that I can measure MMG signals, certainly it worked well enough for me to decide to go to the next step: work out a way to better mount the microphone against the skin (to be more secure and limit unwanted noise) and also to make up the filter onto a PCB so it is physically more robust. This will allow me to better experiment with the technique.

View all 2 project logs

Enjoy this project?

Share

Discussions

Jean Pierre Le Rouzic wrote 03/29/2017 at 13:03 point

Hi, have you thought to apply acoustic myography to ALS early detection? 
http://www.prize4life.org/page/prizes/biomarker_prize

  Are you sure? yes | no

Jonathan Kelly wrote 03/30/2017 at 00:13 point

no - I hadn't seen (or thought about) that, thank you for the link.  

A related area I have been mulling over came from friend of mine who has Parkinson's and who is curious about how monitoring of his tremors over a period of time might help him assess the effectiveness of therapies and the progression of the condition.  For him, assessments currently are made as somewhat subjective visual observations at fixed points in time when he has an appointment with a specialist but he finds symptoms of the disease can vary daily and upon things like amount of sleep etc and widely spaced observations may not be giving a clear picture of the actual state of his condition..

  Are you sure? yes | no

Cody Crockett wrote 09/29/2016 at 03:06 point

I appreciate the guidance and you taking the time to answer my questions. I purchased the above article you recommendation and I find it fascinating. I'm going to continue to dig into this technology!

I will look into Bruce Land and his work- thank you

I'd be interested to learn more about your software abilities. With the Estim project we are working on, we will need to get help with software at some point. I look forward to seeing more of your project and the work you do. (Even if still amateur lol)

Thanks!

  Are you sure? yes | no

Jonathan Kelly wrote 09/26/2016 at 06:33 point

Yes acoustic myography does give output for isometric contraction (and my device was able to get a signal corresponding to isometric contractions).  

NB I am strictly an amateur with this stuff so you need to do your own research! :)

AMG  (acoustic myography) seems to relate to actual force produced by the muscle rather than the nerve signal being sent - you may want your arm to keep holding a given weight and so be sending a signal to do that but the muscle itself may fatigue and progressively fail to hold that force.  

EMG on the other hand seems to relate to electrical activity being sent to the muscle rather than what the muscle ends up doing.

In the case of situations where there is nerve damage, EMG may give better indication of intention whilst AMG gives an indication of actual muscle action.

This article may give you some comparison between just what EMG and acoustic myography actually measure - http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.623.7622&rep=rep1&type=pdf

Hope that helps - like I say - I am not an expert in this.

  Are you sure? yes | no

Cody Crockett wrote 09/27/2016 at 03:11 point

Very helpful, thank you! I am just getting into the research of MMG and the applications. This is all new and exciting info to me!

I am currently working on a project involving electrical stimulation (E-stim). In my field of physical therapy, I use E-stim on a daily basis. I would LOVE to run some case studies on my SCI and neuro patients using E-stim and MMG. 

As for your MMG system.. How easy will this be for me to replicate/create? I know I need to deepen my knowledge of circuit boards and software but it seems simple.

This whole world of circuit/software building and hacking is new to me but it all seems to make sense.

Any recommendation on good resources for a beginner is appreciated :)

  Are you sure? yes | no

Jonathan Kelly wrote 09/27/2016 at 03:50 point

The basic idea is you want a low noise amplifier with a good low pass filter.  That filtering can also be refined using digital processing of the signal but digital signal processing (DSP) is a specialist field in itself.

Feel free to use my circuit (it uses low cost off the shelf parts) but be aware I am not an electronic engineer and this circuit is was my quick attempt to experiment and see if the idea worked.  It is not a great design.

If you really want to run with the technique, I would recommend looking at a circuit like that published in http://ieeexplore.ieee.org/document/6696036/ (you will probably need to pay for access to that paper, sorry) as it is designed by people with better skills and knowledge than me, I would have used it but would require a bit more work getting the parts and building it - I used what I could find to see if the idea had legs.

My hunch is you would be better to team up with someone with those sort of skills.  I am sure there are people here who could help.  

Bruce Land https://hackaday.io/bruceland is someone on the site with a big depth of knowledge in related areas (he lectures in related fields at Cornell University in the US) who may be able to guide you to finding someone but not sure how busy he would be - still you could always try messaging him and ask if he had any advice or suggestions about about how to go about finding someone to assist with your project... worst that could happen is he would say sorry I can't help.

(As I said - I am just an amateur - my skills were picked up with introductory stuff at university many years ago and maintained (or corruped :)) as a hobbiest, my depths are more in the software side of things rather than the electronics and even there I don't claim high expertise).

  Are you sure? yes | no

Cody Crockett wrote 09/26/2016 at 05:04 point

Amazing technology! Great work you do. What is the exact "muscle activity" the microphone is measuring? Can this be used to measure motor unit (muscle/nerve) activity of individuals with nerve denervation such as spinal cord injury? I've found little info on MMG being used in the clinic and I wonder why..  Can I effectively measure muscle output/contraction without moving the limb, such as an isometric contraction?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates