Top Banner
Discharge characteristics of motor units during long contractions Michael Pascoe, M.S.
18

MATLAB Code Presentation

Apr 11, 2015

Download

Documents

Mike Pascoe

The presentation slides from my term MATLAB project summarizing my code and its function. From Dec 2007.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MATLAB Code Presentation

Discharge characteristics of motor units during long contractions

Michael Pascoe, M.S.

Page 2: MATLAB Code Presentation

Background

• Motor unit

• Functional quantum of the neuromuscular system

• Comprises an alpha MN, its axon, and all the muscle fibers it innervates

Page 3: MATLAB Code Presentation

Research Questions

•How long can a human voluntarily activate a motor unit?

•How does the discharge behavior change with time?

Page 4: MATLAB Code Presentation

Surface EMG

Abduction force

Fine wire SMU

Page 5: MATLAB Code Presentation

Spike2 - Sample Data

100 s

0.75 V

1 V

5 %MVC

0.75 V

sEMG

Force

iEMG

MU

Page 6: MATLAB Code Presentation

Flowchart

Interspike Intervals

Motor Unit Discharge Times

Filter Out Long Intervals (> 250 ms)

Filter Out Short Intervals (< 10 ms)

Divide Into 5 Equal Duration Epochs

Calculate Discharge Characteristics

Spike2 Data

SpikeStats.txt

mu_anal_longdur.m

Page 7: MATLAB Code Presentation

Input

Page 8: MATLAB Code Presentation

Epoch Boundaries

100 s

0.75 V

1 V

5 %MVC

0.75 V

sEMG

Force

iEMG

MU

epoch(1) epoch(2) epoch(3) epoch(4) epoch(5)

first spike last spike

Page 9: MATLAB Code Presentation

Creating Equal Duration Epochsfor i = 1:length(dis) if (dis(i) < epoch1_end) epoch(1).values(j) = dis(i); j=j+1; elseif (dis(i) > epoch1_end & dis(i) < epoch2_end) epoch(2).values(k)=dis(i); k=k+1; elseif (dis(i) > epoch2_end & dis(i) < epoch3_end) epoch(3).values(l)=dis(i); l=l+1; elseif (dis(i) > epoch3_end & dis(i) < epoch4_end) epoch(4).values(m)=dis(i); m=m+1; elseif (dis(i) > epoch4_end & dis(i) <= dis(end)) epoch(5).values(n)=dis(i); n=n+1; endend

Page 10: MATLAB Code Presentation

Create interspike intervals% Determine interspike interval in seconds isi(i).values = diff(epoch(i).values);

% Remove ISIs greater than 0.25 or less than 0.01 s (<4 or >100pps) isi(i).values = isi(i).values(find(isi(i).values<0.25 & isi(i).values>0.01)); sizeisifilt(i).values = size(isi(i).values);

Filter interspike intervals

Page 11: MATLAB Code Presentation

Discharge Characteristics

• Mean discharge rate

• Standard deviation of discharge rate

• Coefficient of variation for discharge rate

• Standard error of the mean of discharge rate

• Mean interspike interval

• Standard deviation of interspike interval

• Coefficient of variation for interspike interval

Stein et al. Nat Rev Neurosci 2005, 6: 389-397

Page 12: MATLAB Code Presentation

Output

Page 13: MATLAB Code Presentation

Output

• A single text file (one trial)

• Subject initials and date preserved

• _SpikeStats.txt in place of _Times.txt

• Column headers in first row

• Output variable values in five rows

Page 14: MATLAB Code Presentation

Output

Page 15: MATLAB Code Presentation

Output

Trial Name Mean DR (pps-direct) Mean DR (pps-estimate) SD DR (pps) SEM DR (pps) CV DR (pps) Mean ISI (ms) SD ISI (ms) CV ISI (%) Start time (s) End time (s) Train Duration (s) Impulses (No.) ISIs (No.) ISIs <10ms ISIs >250ms ISIs removed

BKB_(11_21_2007)_Times 11.24653 11.228448 0.825317 0.825317 7.350231 89.059501 21.935176 24.629799 698.31423 753.63023 55.30595 622 621 0 0 0

10.682879 10.664742 0.797252 0.797252 7.475587 93.766922 22.891283 24.412963 753.63023 808.94623 55.13495 589 588 0 0 0

11.581364 11.722199 0.748408 0.748408 6.384536 85.308229 18.64768 21.859181 808.94623 864.26223 55.17485 639 638 0 2 2

9.844349 10.698871 1.000401 1.000401 9.350527 93.467804 28.586902 30.584759 864.26223 919.57823 55.15855 543 542 0 13 13

9.934456 10.455567 1.093795 1.093795 14.913897 92.346243 55.07046 40.389043 919.57823 974.89423 55.18775 39 38 0 46 46

Page 16: MATLAB Code Presentation

ValidationEpoch(5) MATLAB Spike2

MeanDR (pps) 7.334067 7.33Std Dev DR (pps) 1.093795 1.09

CV DR (%) 14.913897 14.91

Mean ISI (ms) 136.35 136.35Std Dev ISI (ms) 55.07046 55.07

CV ISI (%) 40.389043 40.39

Start Time (s) 919.57823 919.578End Time (s) 974.89423 974.894Train Dur (s) 55.18775 55.188

No. Impulses 39 39No. ISIs 38 38

ISIs < 10 ms 0 0ISIs > 250 ms 46 46

Page 17: MATLAB Code Presentation

In the near future...

•Analysis of surface EMG

•Analysis of index finger abduction force

•Distribution statistics for discharge times

Page 18: MATLAB Code Presentation