Raw CSV recordings from the SIAT-LLMD dataset (40 subjects, 9 channels, 1920 Hz) are grouped into three modes based on movement label: sitting (SITDN), standing (STDUP, STC), and walking (WAK, HS, TO, LUGF, LUGB).
Each recording passes through: bandpass filter (20–450 Hz) → notch filter (60 Hz) → DC removal → channel selection. Only channels 0–3 (thigh muscles: TFL, rectus femoris, vastus medialis, semimembranosus) are retained, since channels 4–8 are below the amputation site.
Signals are sliced into 200-sample (~104 ms) windows with 50% overlap. Each window produces 30 features: Du's 6 time-domain features (integrated, variance, WL, ZC, SSC, WAP) × 4 channels, plus 6 inter-channel Pearson correlations.
Three separate OC-SVMs (RBF kernel, ν = 0.05) are trained on the able-bodied feature distribution — one per mode. At inference, the model scores how closely a candidate's EMG matches the normal population.
Per-mode scores are combined as 0.2×sitting + 0.3×standing + 0.5×walking, with optional penalties for low RMS (weak activation) or high variance (noisy signal). The final score is scaled to 0–100.
| Score | Verdict |
|---|---|
| ≥ 60 | Viable |
| 40–59 | Borderline — manual review recommended |
| < 40 | Not viable |
Before attempting to run, please download the data from : https://springernature.figshare.com/articles/dataset/Shenzhen_Institute_of_Advanced_Technology_Lower_Limb_Motion_Dataset_SIAT-LLMD_/22776389?file=40468208
Once downloaded save as follows: ./EMG_Viability_ML_Algorithm/data/SIAT_LLM20230404/