Verwerken van Digitale Signalen
Hoorcollege 1 – 6 januari:
Signalen: waarden van een of andere grootheid geregistreerd op opeenvolgende
tijdstippen.
- Druk
- Temperatuur
- Beweging
- Geluid
Analoog signaal: oneindige reeks van meetgegevens vloeiende lijn
- Is “too much” voor een computer, teveel meetgegevens
Opdelen in stukjes van analoog signaal = periodiek registreren = “sampelen”
digitaal signaal!
- Eindige hoeveelheid metingen per seconde
- Periode (tussen 2 meetgegevens in) dt (frequentie: 1/dt)
o Samplefrequentie: in Hz = 1/s
o Elk tijdstip steeds even ver achter de volgende: equidistant
Verbindende factor tussen geregistreerde waarden en tijdstippen = index
- Signaal is een lint van meetgegevens en een even lang lint van tijdstippen en
tussen die 2 linten zit een index.
- Laagste index = 1 (NOOIT lager dan 1)
Mogelijke bewerkingen van een signaal:
- Bepalen van maximum
- Bepalen van gemiddelde
- Ontbrekende gedeeltes opvullen (interpoleren)
- Verstoringen verwijderen (filteren)
- De afgeleide/primitieve bepalen
- Curve fitting best passende lijn zoeken bij meetgegevens (je wil bv. een
parabool vinden)
Computergebruik
Algemeen: een computer gebruik je om representaties van objecten uit het dagelijks
leven te manipuleren (bewerken)
Manipulaties zijn specifiek voor een bepaald object
Datatype: verzameling van waarden + een verzameling van manipulaties die op die
waarden kunnen worden uitgevoerd
- Centrale datatype in MATLAB: matrix
, Verwerken van Digitale Signalen
Voorbeeld: datatype INTEGER (gehele getallen)
Mogelijke waarden: alle gehele getallen van -32768 t/m 32767
Mogelijke manipulaties: optellen, aftrekken, delen, vermenigvuldigen, rest bepalen,
toekennen, vergelijken.
Andere voorbeelden van datatypes:
- Gebroken (komma-)getallen (REAL)
- Karakters (letters, leestekens, e.d.) (CHAR)
- Een rij tekens (STRING)
- Een rij (of kolom) getallen: vector (ARRAY)
- Een tabel getallen: matrix
- Kleuren
- Verzamelingen
- Gegevenskaarten (RECORD)
8 bits = 1 byte
Bit kan 0 of 1 zijn
Met 1 byte kun je 256 mogelijkheden maken (van 0 – 255)
Alleen een rij: (2, :)
Hoorcollege 2 – 7 januari:
a = 45 a; zorgt ervoor dat je niet te veel resultaten krijgt
Datatype: logical/boolean (logische waarde)
- 2 waarden mogelijk: true & false
o True = 1
o False = 0
o Is van belang als je in een programma aan het testen bent of iets gelijk
is/vergelijking met elkaar
o Vb. L = a>b 0 = false
a = 45, b = 567
o L = b>a 1 = true
o L = a==b 0 = false
Dus als je wil weten of iets gelijk is aan elkaar gebruik je “==”
MATLAB telt matrixen bij elkaar op die niet even groot zijn, kan eigenlijk niet.
Matrix transponeren: indexen van matrixen omdraaien
- Rij = 3 4 5 6
- Rij’ = 3
4
5
6
Van matrix M de eerste rij: t = M(1, :)
, Verwerken van Digitale Signalen
Vermenigvuldigen: aantal kolommen 1e = aantal rijen 2e
Verplaatsen van 2 blokjes van 4:
- 1: maak reserve = G(1:2, 1:2)
- G(1:2, 1:2)=G(3:4, 3:4)
- G(3:4, 3:4)= reserve
Functies:
- Wortel = sqrt
- E = exp
- Sinus = sin
Van een waarde een tekst maken (dit is de oplossing):
- Functie: num2str
o Waardestring = num2str(waarde)
- Achter elkaar zetten: [tekst, waardestring]
o ‘Dit is de oplossing: 78.93’
- Functie: disp
o Stukje tekst op window zetten
Programma:
Open: “New script”
Invullen:
1. Clear
2. Tekst = ‘Hallo!’;
3. Disp(tekst)
Alles wat achter % teken komt = commentaar
Grafiek maken:
- clear;
- N = 201;
- dt = 0.01;
- fs = 1/dt;
- k = 0:N-1; % hulpvariabele
- t = k*dt;
- y = sin(t);
- plot(t,y, '.k')
o k = black
Assen naam geven:
- xlabel (‘tijd [s]’)
- ylabel (‘uitkomst’)
Opslaan:
- save (‘sinussignaal’, ‘t’, ‘y’)
Hoorcollege 1 – 6 januari:
Signalen: waarden van een of andere grootheid geregistreerd op opeenvolgende
tijdstippen.
- Druk
- Temperatuur
- Beweging
- Geluid
Analoog signaal: oneindige reeks van meetgegevens vloeiende lijn
- Is “too much” voor een computer, teveel meetgegevens
Opdelen in stukjes van analoog signaal = periodiek registreren = “sampelen”
digitaal signaal!
- Eindige hoeveelheid metingen per seconde
- Periode (tussen 2 meetgegevens in) dt (frequentie: 1/dt)
o Samplefrequentie: in Hz = 1/s
o Elk tijdstip steeds even ver achter de volgende: equidistant
Verbindende factor tussen geregistreerde waarden en tijdstippen = index
- Signaal is een lint van meetgegevens en een even lang lint van tijdstippen en
tussen die 2 linten zit een index.
- Laagste index = 1 (NOOIT lager dan 1)
Mogelijke bewerkingen van een signaal:
- Bepalen van maximum
- Bepalen van gemiddelde
- Ontbrekende gedeeltes opvullen (interpoleren)
- Verstoringen verwijderen (filteren)
- De afgeleide/primitieve bepalen
- Curve fitting best passende lijn zoeken bij meetgegevens (je wil bv. een
parabool vinden)
Computergebruik
Algemeen: een computer gebruik je om representaties van objecten uit het dagelijks
leven te manipuleren (bewerken)
Manipulaties zijn specifiek voor een bepaald object
Datatype: verzameling van waarden + een verzameling van manipulaties die op die
waarden kunnen worden uitgevoerd
- Centrale datatype in MATLAB: matrix
, Verwerken van Digitale Signalen
Voorbeeld: datatype INTEGER (gehele getallen)
Mogelijke waarden: alle gehele getallen van -32768 t/m 32767
Mogelijke manipulaties: optellen, aftrekken, delen, vermenigvuldigen, rest bepalen,
toekennen, vergelijken.
Andere voorbeelden van datatypes:
- Gebroken (komma-)getallen (REAL)
- Karakters (letters, leestekens, e.d.) (CHAR)
- Een rij tekens (STRING)
- Een rij (of kolom) getallen: vector (ARRAY)
- Een tabel getallen: matrix
- Kleuren
- Verzamelingen
- Gegevenskaarten (RECORD)
8 bits = 1 byte
Bit kan 0 of 1 zijn
Met 1 byte kun je 256 mogelijkheden maken (van 0 – 255)
Alleen een rij: (2, :)
Hoorcollege 2 – 7 januari:
a = 45 a; zorgt ervoor dat je niet te veel resultaten krijgt
Datatype: logical/boolean (logische waarde)
- 2 waarden mogelijk: true & false
o True = 1
o False = 0
o Is van belang als je in een programma aan het testen bent of iets gelijk
is/vergelijking met elkaar
o Vb. L = a>b 0 = false
a = 45, b = 567
o L = b>a 1 = true
o L = a==b 0 = false
Dus als je wil weten of iets gelijk is aan elkaar gebruik je “==”
MATLAB telt matrixen bij elkaar op die niet even groot zijn, kan eigenlijk niet.
Matrix transponeren: indexen van matrixen omdraaien
- Rij = 3 4 5 6
- Rij’ = 3
4
5
6
Van matrix M de eerste rij: t = M(1, :)
, Verwerken van Digitale Signalen
Vermenigvuldigen: aantal kolommen 1e = aantal rijen 2e
Verplaatsen van 2 blokjes van 4:
- 1: maak reserve = G(1:2, 1:2)
- G(1:2, 1:2)=G(3:4, 3:4)
- G(3:4, 3:4)= reserve
Functies:
- Wortel = sqrt
- E = exp
- Sinus = sin
Van een waarde een tekst maken (dit is de oplossing):
- Functie: num2str
o Waardestring = num2str(waarde)
- Achter elkaar zetten: [tekst, waardestring]
o ‘Dit is de oplossing: 78.93’
- Functie: disp
o Stukje tekst op window zetten
Programma:
Open: “New script”
Invullen:
1. Clear
2. Tekst = ‘Hallo!’;
3. Disp(tekst)
Alles wat achter % teken komt = commentaar
Grafiek maken:
- clear;
- N = 201;
- dt = 0.01;
- fs = 1/dt;
- k = 0:N-1; % hulpvariabele
- t = k*dt;
- y = sin(t);
- plot(t,y, '.k')
o k = black
Assen naam geven:
- xlabel (‘tijd [s]’)
- ylabel (‘uitkomst’)
Opslaan:
- save (‘sinussignaal’, ‘t’, ‘y’)