Verwerken van digitale signalen
College 1 (7-1-2019)
Meetsignaal analyseren → periodiek registreren “sampelen”
Equidistant → met gelijke afstand
Analoog signaal = op willekeurige tijdstippen meetwaarde registreren
Digitaal signaal = discrete serie waardes die je uit het origineel analoog signaal verkrijgt
Periode = dt (sampletijd)
Frequentie = 1/dt
Samplefrequentie (HZ) = 1/s
Signaal = geregistreerde waarden op een tijdstip
Index = 1 bij de laagste waarde
Interpoleren = verloop tussen twee meetpunten bepalen. De ontbrekende gedeeltes opvullen.
Curve fitting = gemeten punten benaderen
Integer = gehele getallen
Byte: bevat 8 bits
➔ 0 of 1
Geen variabelen opgeven → waarde wordt toegekend aan ‘ans’
Matrix = [rij1kolom1 rij1kolom2; rij2kolom1 rij2kolom2]
Matrix(1,3) = rij 1, kolom 3
7x2 matrix = 7 rijen, 2 kolommen
Getal in matrix veranderen: M(1,3) = M(1,3)*5
Meer elementen tegelijk aanspreken in matrix (range):
• Index 0 komt niet voor!
• Rij & kolommen vervangen
M(1,2:4) → 1e rij, kolom 2 t/m 4
M(1:3,2) → 1 t/m 3e rij, van kolom 2
M(:,2) → Alle rijen van kolom 2
M(3,1:2) = M(3,1:2)/2 → getallen van rij 3 van kolom 1 en 2 delen door 2
M(13) → kolom 1 beginnen met tellen van boven naar onder
Construeren getransporteerde matrix = M’
➔ Rij 1 wordt kolom 1
➔ Rij 2 wordt kolom 2 enz…
Matrix vermenigvuldigen: aantal kolommen 1e matrix moet gelijk zijn aan aantal rijen van 2e matrix
,Kolomvector = [3;4;5]
Kolomvector(2) → 4
Complexgetal = 4+7i
➔ 4.00000000 + 7.000000000i
Strings
Symbool = ‘%’
x = ‘th’
y = ‘eo’
Naam = [x,y]
disp(naam) → naam zonder de apostrof!
S1 = ‘Good’;
S2 = ‘morning’;
S = strcat(s1, s2)
S = ‘Goodmorning’
>> whos → Overzicht variabelen in workspace
Floating point numbers = gebroken getallen
Array operation = element-per-element berekening
➔ + & - hebben geen punt nodig
➔ .*
➔ MatrixA ./ MatrixB → dimensie van de matrices moet wel overeenkomen
➔ MatrixA .* MatrixB = elk getal in de matrix keer het getal op dezelfde plek
➔ A.^3 = alle elementen van A tot de 3e macht verheffen
o A^3 = A*A*A
Functie aanroepen
>> uitvoer = functionnaam(parameter1, parameter2)
- Std = standaarddeviatie
- Min = minimum element van array
- Sum = som van elementen van A langs de eerste array dimensie welke geen 1 is
- Sqrt = wortel → element-per-element berekening
o Sqrt(negatief getal) geeft een complex getal
▪ Sqrt(-9) = 0.000000 + 3.00000000i
- Inv = X^(-1)
o Inv(X) * X = eenheidsmatrix
A/B = A * inv(B)
A\B = inv(A) * B
➔ Bij gebruik van \ en / wordt de inverse niet berekend!
Ax = b → x = A^(-1) * b
Elementen van matrices bewerken:
>> i = [5: 88]
>> B(i) = B(i) – 3
➔ Alle elementen van rijmatrix B worden met 3 verlaagd
, College 2 (8-1-2019)
Operaties zijn specifiek voor objecten
Datatype: Boolean operation
➔ Logical
- True = 1
- False = 0
• < Kleiner dan
• > Groter dan
• > = Groter of gelijk
• < = Kleiner of gelijk
• == Aan elkaar gelijk
• ~= Ongelijk aan elkaar
A = [1 2 3 4 5; 2 4 6 8 10; 11 22 33 44 55; 10 20 30 40 50; 66 77 88 99 11]
Blok linksboven wisselen met blok rechtsonder in een nieuwe matrix
- Stap 1: inhoud blok linksboven zien
o A(1:2,1:2) → 1e en 2e rij, en 1e en 2e kolom
- Stap 2: inhoud blok rechtsonder zien
o A(4:5,4:5) → 4e en 5e rij, en 4e en 5e kolom
- Stap 3: Matrix B maken waarin je de blokken omwisselt
o B=A
o B(1:2,1:2) = A(4:5,4:5)
o B(4:5,4:5) = A(1:2,1:2)
Blok linksboven wisselen met blok rechtsonder in dezelfde matrix
- Stap 1: blok een andere naam geven
o Blok1 = A(1:2,1:2)
o A(1:2,1:2) = A(4:5,4:5)
o A(4:5,4:5) = blok1
A*A → rij 1 * kolom 1…. Enz.
Sin(x) → radialen
Sind(x) → graden
Zoeken in matrix A
Find(A>80) → uitkomst is een index getal (tellen van boven naar onder in kolom)
[i,j] = find(A>80) → coördinaten verkrijgen (rij, kolom)
Ones(parameter1, parameter2) → komt matrix uit met alleen maar 1
Cijfer omzetten in string
r =9
num2str(r)
rstring = num2str(r)
- Zin = ‘Het resultaat is: ‘
- [zin, rstring]
- Disp([zin, rstring]) → Zonder apostrof!