Numeriek differentiëren: Tijdreeksen
Verwerking van een EMG signaal via convolutie (programmeeropdracht))
In deze opdracht gaan we een EMG meting op twee manieren verwerken en analyseren. EMG is een afkorting voor electromyografie en het betreft spanningsmeting op oppervlakte van de huid als gevolg van spieractiviteit. We gebruiken hiervoor de EMG data opgeslagen in het bijgevoegde kommagesepareerde Excel bestand EMG.csv
Voordat de echte analyse kan beginnen voeren we in het computerprogramma de volgende stappen van data verwerking uit:
- Importeer het EMG signaal uit het kommagesepareerde csv-bestand EMG.csv
- Beperk je (voor het gemak) tot de meting tussen 0.3 en 1.0 seconde.
- Trek het gemiddelde van de meetdata op dit interval van de data af.
Dit is de dataset waar we mee gaan werken.
De eerste analyse methode die we implementeren heet full-wave rectificatie en bestaat uit twee stappen:
- Neem de absolute waarde voor elk datapunt.
- Pas vervolgens het filter van voortschrijdend gemiddelde met een zekere filterbreedte toe.
Je hebt nu het gerectificeerde meetsignaal gekregen dat in de vakliteratuur average rectified value (ARV) amplitude genoemd wordt.
Bedenk nu hoe het voortschrijdend gemiddelde in termen van convolutie van tijdreeksen gedefinieerd kan worden en gebruik dit om een eigen vgem
functie in een gekozen programmeertaal te implementeren.
Pas jouw functie voor voortschrijdend gemiddelde toe om de ARV amplitude te bepalen bij een filterbreedte van 25.
Toon het gerectificeerde signaal samen met de dataset in één figuur.
Dit kan er als volgt uit zien:
De tweede analyse methode die we implementeren staat bekend als root-mean square (RMS). Dit filter met filterbreedte \(m\) wordt gedefinieerd door de formule \[\mathrm{RMS}(x)_n=\sqrt{\frac{1}{2m+1}\sum_{j=-m}^{m}x_{n+j}^2}\] Met andere woorden, je middelt de kwadraten van een zeker aantal opeenvolgende waarden en trekt van dit tussenresultaat de vierkantswortel. Het signaal na toepassing van dit filter heet de RMS amplitude. In tegenstelling tot ARV amplitude heeft de RMS amplitude van een EMG signaal fysische en fysiologische betekenis en is dus in EMG analyse van grote waarde.
Bedenk nu hoe je het root-mean square filter in termen van convolutie van tijdreeksen kan definiëren en gebruik dit om een eigen RMS
functie in de gekozen programmeertaal te implementeren.
Pas jouw functie voor root-mean square filtering toe om de RMS amplitude te bepalen bij een filterbreedte van 25.
Toon dit signaal samen met de dataset en de ARV amplitude in één figuur.
Dit kan er als volgt uit zien: