VERWERKEN VAN DIGITALE SIGNALEN Bewegingswetenschappen VU Amsterdam
Algemeen
Een signaal is een reeks variërende waarden. Veel bewegingswetenschappelijk onderzoek
richt zich op het bestuderen van signalen. Hierbij kan een heel spectrum aan analyse- en
bewerkingstechnieken worden gebruikt. Dit is signaalverwerking.
Operatoren:
Optellen +
Aftrekken -
Vermenigvuldigen *
Delen /
Drie fases bij het vervaardigen van een programma:
1. Schrijffase (edit)
Met een tekstverwerker kan een bestand worden gemaakt waarin de tekst in
programmeertaal wordt vastgelegd.
2. Vertaalfase
Zogenaamde vertaalprogramma’s of compilers kunnen de tekstbestanden vertalen
(compileren) naar de code met nullen en enen die de computer begrijpt.
3. Uitvoerfase (run / execute)
Het product van de vertaalactie (bestand gevuld met nulletjes- en eentjescode) kan
door weer een ander soort programma in het interne geheugen worden geladen en
worden uitgevoerd op soortgelijke wijze als een commando van het
besturingssysteem.
Bij Matlab vinden de vertaal- en uitvoerfase geïntegreerd plaats. Het tekstbestand wordt dan
regel voor regel vertaald en direct uitgevoerd. We spreken dan niet van een compiler maar
van een interpreter.
Matlab is case-sensitive Er wordt onderscheid gemaakt tussen kleine letters en
hoofdletters.
Script begin je met clear om de Workspace telkens op te schonen.
Index 0 komt niet voor, Matlab telt vanaf 1.
Je kunt uitleg van Matlab vragen door in het commando help te typen met daarachter de
functie waarover je uitleg wilt.
Met load kun je bestanden inladen.
Met % kun je commentaar toevoegen aan je script.
Het gebied waar een variabele betekenis heeft is het zichtbaarheidgebied of de scope.
Met cntrl + C kun je altijd het runnen stoppen.
Tijdsbasis maken:
N=… aantal samples: zie aantal rijen matrix
dt = … afstand tussen de tijdstippen, gegeven of dt = 1/fs)
fs = … samplefrequentie, gegeven of fs = 1/dt)
k=… hulpvariabele, meestal [0:N-1]
t =… k*dt (tijdsas)
, Datatypes
Datatype = verzameling van waarden met de bijbehorende bewerkingen/manipulaties die
op die waarden mogen worden uitgevoerd.
Double getal 8 bytes
Double (complex) complexe getallen 16 bytes
Matrix tabel met getallen
String Stukjes tekst / karakters
Matrixbewerkingen
Matrix invoeren:
A = [1 2 3; 4 5 6; 7 8 9] voorbeeld van 3x3 matrix
De ; wordt gebruikt als scheider van de rijen.
Matrixelement aanspreken gebeurt met de indexen:
A(3,1) derde rij, eerste kolom
De : gebruik je om reeksen te maken:
x = [1:5] rijmatrix van 1 t/m 5 met automatische stapgrootte van 1
y = [0:(pi/4):pi] rijmatrix van 0 t/m pi met stapgrootte van ¼ pi
z = [6:-1:1] rijmatrix met negatieve stapgrootte
Matrix transponeren:
B = A'
Een punt voor de *, ^ of / zorgt ervoor dat de bewerking niet op de matrix in zijn geheel wordt
uitgevoerd, maar op de lossen elementen:
A*B versus A.*B
A/B versus A./B
A^3 versus A.^3
Optellen en aftrekken van matrices zijn per definitie element-per-element bewerkingen.
Inverse matrix:
A/B komt overeen met A*inv(B)
A\B komt overeen met inv(A)*B
Algemeen
Een signaal is een reeks variërende waarden. Veel bewegingswetenschappelijk onderzoek
richt zich op het bestuderen van signalen. Hierbij kan een heel spectrum aan analyse- en
bewerkingstechnieken worden gebruikt. Dit is signaalverwerking.
Operatoren:
Optellen +
Aftrekken -
Vermenigvuldigen *
Delen /
Drie fases bij het vervaardigen van een programma:
1. Schrijffase (edit)
Met een tekstverwerker kan een bestand worden gemaakt waarin de tekst in
programmeertaal wordt vastgelegd.
2. Vertaalfase
Zogenaamde vertaalprogramma’s of compilers kunnen de tekstbestanden vertalen
(compileren) naar de code met nullen en enen die de computer begrijpt.
3. Uitvoerfase (run / execute)
Het product van de vertaalactie (bestand gevuld met nulletjes- en eentjescode) kan
door weer een ander soort programma in het interne geheugen worden geladen en
worden uitgevoerd op soortgelijke wijze als een commando van het
besturingssysteem.
Bij Matlab vinden de vertaal- en uitvoerfase geïntegreerd plaats. Het tekstbestand wordt dan
regel voor regel vertaald en direct uitgevoerd. We spreken dan niet van een compiler maar
van een interpreter.
Matlab is case-sensitive Er wordt onderscheid gemaakt tussen kleine letters en
hoofdletters.
Script begin je met clear om de Workspace telkens op te schonen.
Index 0 komt niet voor, Matlab telt vanaf 1.
Je kunt uitleg van Matlab vragen door in het commando help te typen met daarachter de
functie waarover je uitleg wilt.
Met load kun je bestanden inladen.
Met % kun je commentaar toevoegen aan je script.
Het gebied waar een variabele betekenis heeft is het zichtbaarheidgebied of de scope.
Met cntrl + C kun je altijd het runnen stoppen.
Tijdsbasis maken:
N=… aantal samples: zie aantal rijen matrix
dt = … afstand tussen de tijdstippen, gegeven of dt = 1/fs)
fs = … samplefrequentie, gegeven of fs = 1/dt)
k=… hulpvariabele, meestal [0:N-1]
t =… k*dt (tijdsas)
, Datatypes
Datatype = verzameling van waarden met de bijbehorende bewerkingen/manipulaties die
op die waarden mogen worden uitgevoerd.
Double getal 8 bytes
Double (complex) complexe getallen 16 bytes
Matrix tabel met getallen
String Stukjes tekst / karakters
Matrixbewerkingen
Matrix invoeren:
A = [1 2 3; 4 5 6; 7 8 9] voorbeeld van 3x3 matrix
De ; wordt gebruikt als scheider van de rijen.
Matrixelement aanspreken gebeurt met de indexen:
A(3,1) derde rij, eerste kolom
De : gebruik je om reeksen te maken:
x = [1:5] rijmatrix van 1 t/m 5 met automatische stapgrootte van 1
y = [0:(pi/4):pi] rijmatrix van 0 t/m pi met stapgrootte van ¼ pi
z = [6:-1:1] rijmatrix met negatieve stapgrootte
Matrix transponeren:
B = A'
Een punt voor de *, ^ of / zorgt ervoor dat de bewerking niet op de matrix in zijn geheel wordt
uitgevoerd, maar op de lossen elementen:
A*B versus A.*B
A/B versus A./B
A^3 versus A.^3
Optellen en aftrekken van matrices zijn per definitie element-per-element bewerkingen.
Inverse matrix:
A/B komt overeen met A*inv(B)
A\B komt overeen met inv(A)*B