Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Welkom in de Module informatica.
Een talstelsel dat wij bij het computergebruik ook tegenkomen is het hexadecimale talstelsel. Hierbij worden niet de bouwstenen “0 en 1” (binair) of “0 t/m 9” (decimaal) gebruikt maar de bouwstenen “0 t/m 9 en letters A t/m F”.
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Een hexadecimaal getal is een reeks van cijfers, waarbij elk cijfer gekozen kan worden uit de cijfers 0 t/m 9 en letters A t/m F. Zo is het getal 2AF3 dus een hexadecimaal getal dat bestaat uit 4 cijfers. Welke decimale waarde hoort bij dit getal?
Net zoals in decimale getallen elk cijfer een veelvoud is van een macht van 10 is en in binaire getallen elk cijfer een veelvoud is van een macht van 2 is in hexadecimale getallen elk cijfer een veelvoud van een macht van 16. De waarde van het hexadecimale getal 2AF3 is dus te berekenen en wel als volgt:
Macht
dus
2
16 ^ 3 ( * 2 )
4096 * 2
A
16 ^ 2 ( * 10)
256 * 10
F
16 ^ 2 ( * 15)
16 * 15
3
16 ^ 0 ( * 3)
1 * 3
Het hexadecimale getal 2AF3 heeft dus de waarde 3 + 240 + 2560 + 8192 = 10995 Een eenvoudige manier om de waarde van een hexadecimaal getal te berekenen is om de bijbehorende machten van 16 onder de bits te zetten:
2
A
F
3
4096
256
16
1
3 x 1 + F x 16 + A x 256 + 2 x 4096 = 3 x 1 + 15 x 16 + 10 x 256 + 2 x 4096 = 10995
Hexadecimale getallen zijn pas echt handig omdat je ze heel gemakkelijk kunt omzetten naar binaire getallen en andersom. DIt komt omdat 1 hexadecimaal cijfer precies uit te drukken is met een getal van 4 binaire cijfers. Hieronder een tabel:
binair
hexadecimaal
0000
0
0001
1
0010
2
0011
3
0100
4
0101
5
0110
6
0111
7
1000
8
1001
9
1010
A
1011
B
1100
C
1101
D
1110
E
1111
F
Deze tabel kun je nu gebruiken om binaire getallen naar hexadecimale getallen om te zetten en andersom. Je maakt groepjes van 4 en kijkt naar de bijbehorende waarde in de tabel:
Voorbeeld: Zet het volgende binaire getal om naar naar hexadecimaal: 0101010101010101001010111
Eerst onderverdelen in groepjes (rechts beginnen
0
1010
1010
1010
0101
0111
Zoek dan de juiste waarde erbij uit de tabel boven.
0
1010
1010
1010
0101
0111
0
A
A
A
A
7
Dus: AAAAF
Voorbeeld: zet het volgende hexadecimale getal om naar binair: BC57
B
C
5
7
1011
1100
0101
0111
Dus: 1011 1100 0101 0111
Maak van het volgende hexadecimale getal een decimaal getal: C2B3
Maak van het volgende decimale getal een hexadecimaal getal: 7824
Wat is het grootste hexadecimale getal van 8 cijfers ?
Zet de volgende hexadecimale getallen om naar binair: A1B9F & AD0BE
Zet de volgende binaire getallen om naar hexadecimaal: 101010101111 & 111000110101011111
Een computer is een elektronisch apparaat en bestaat uit miljarden schakelaars die aan en uit kunnen staan. De schakelaars zijn dus 0 of 1. Allerlei soorten informatie moeten door 0-en en 1-en voorgesteld kunnen worden. Niet alleen getallen, maar ook tekst, geluid, plaatjes, enz. Dat betekent dat er afspraken zijn gemaakt op welke manier al die informatie wordt gecodeerd met 0-en en 1-en
De informatie eenheid van de computer is de bit (binary digit), het kleinst mogelijke stukje informatie. Een bit heeft de waarde 0 of 1. Met één enkele bit is het al mogelijk om informatie te coderen, bijvoorbeeld:
0
1
0
1
uit(0)
aan(1)
nee(0)
Ja(1)
False(0)
True(1)
Wit(0)
Zwart(1)
Een bit wordt in de computer meestal weergegeven in het geheugen door een transistor die aan of uit staat of een condensator die geladen of ontladen is.
Wanneer data door een telefoondraad worden gezonden, worden hoge en lage tonen gebruikt voor nullen en enen. Op magnetische schijven, zoals een harde schijf, worden de bits weergegeven door de richting van het magnetische veld op de oppervlakte van de schijf, Noord-Zuid of Zuid-Noord.
Audio CD’s, CD-ROM’s en DVD’s bewaren bits optisch—het deel van het oppervlakte dat voor 1 bit staat reflecteert het licht of juist niet
Een bit alleen zegt niet zo veel, dus zijn bits meestal gegroepeerd in groepjes van 8 die de getallen 0 tot 255 kunnen weergeven. Een groep van 8 bits heet een byte. De snelheid van een computer wordt bepaald door het aantal bits dat het in een keer kan verwerken. Een 32-bit computer bijvoorbeeld, kan 32-bits in een handeling verwerken, terwijl een 16-bit computer de 32-bit getallen eerst in kleinere stukken moet delen wat het dus langzamer maakt. Uiteindelijk zijn het alleen bits en bytes die een computer gebruikt om tekst, getallen en alle andere informatie op te slaan en te verzenden.
Wij gebruiken het tientallig of decimale talstelsel omdat wij het handig vonden om met 10 vingers te rekenen. Een computer heeft niet zoveel 'vingers'. Zoals gezegd werkt hij slechts binair (met 0'en en 1'en). Een binair getal is een reeks van cijfers, waarbij elk cijfer gekozen kan worden uit de cijfers 0 en 1.
Zo is het getal 00110100 dus een binair getal dat bestaat uit 8 bits. Welke decimale waarde hoort bij dit getal?
Net zoals in decimale getallen elk cijfer een veelvoud is van een macht van 10 is in binaire getallen elk cijfer een veelvoud van een macht van 2. De waarde van het binaire getal 00110100 is dus te berekenen en wel als volgt:
Macht
dus
0
2 ^ 7
0
0
2 ^ 6
0
1
2 ^ 5
32
1
2 ^ 4
16
0
2 ^ 3
0
1
2 ^ 2
4
0
2 ^ 1
0
0
2 ^ 0
0
Het binaire getal 00110100 heeft dus de waarde 4 + 16 + 32 = 52.
Een eenvoudige manier om de waarde van een binair getal te berekenen is om de bijbehorende machten van 2 onder de bits te zetten:
0
0
1
1
0
1
0
0
128
64
32
16
8
4
2
1
Het grootste getal dat je met acht bits dus kunt maken is dus het getal: 11111111 = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255
Rekenen met binaire getallen Nu je kennis hebt gemaakt met binaire getallen wordt het tijd om ook binair te leren rekenen. We tellen de getallen 00110100 (52) en 01110111 (119) op. Het resultaat is 10101011 (171):
1 + 1 = 0 omdat 1 (keer 8) + 1 (keer 8) samen 0 (keer 8) en 1 (keer 16) is
De regel “één onthouden” (als een optelling van twee cijfers de 2 overschrijdt) kan je dus ook hier toepassen !
Maak van de volgende decimale getallen een binair getal:23 57 69 199
Maak van de volgende binaire getallen een decimaal getal: 01010101 00100100 11110111 00001000
Tel de volgende binaire getallen binair bij elkaar op 11001100 en 00110011 00101001 en 01110101
Wat is het grootste getal dat je kan maken met 16 bits ?
Vermenigvuldig 00110100 (52) met 2. Welk binair getal is de uitkomst ? Wat valt je op?
overnemen van wiki
Digitaal beeld
Een beeldscherm, digitale foto of beeldbestand bestaat uit een aantal beeldpunten. Elk beeldpunt (pixel = picture element) van je beeldscherm kan een aantal, bijvoorbeeld 256 verschillende kleuren aannemen. Deze instellingen bepalen de hoeveelheid informatie die nodig is om een beeld weer te geven. We kijken eerst naar het beeldscherm van de computer.
OPDRACHT Een voorbeeld. Stel dat je een oud beeldscherm hebt dat uit 800 x 600 pixels bestaat. Dat betekent dat je beeldscherm 800 pixels breed is en 600 hoog. We noemen dit ook wel de (scherm)resolutie. Voor elk pixel zijn 2 kleuren mogelijk: zwart en wit
Hoeveel bits zijn er nodig voor om aan elke pixel van het beeldscherm van 800 x 600 pixels een kleur te koppelen? En reken dit nu om naar mega bytes
Ook digitale foto’s of plaatjes bestaan uit een aantal pixels. We bekijken eerst een eenvoudige tekening.
OPDRACHT Download en installeer het programma Gimp. Zie: https://www.gimp.org/ Gimp is een open source alternatief voor Adobe Photoshop. Je kunt er dus mee tekenen. - Open Gimp en kies§ voor File -> New. - Maak het venster 400 x 300 pixels groot.
Teken een kruiwagen als in de figuur hieronder.
Sla de tekening achtereenvolgens op als: - kruiwagen1, bitmap (heb je ook verschillende opties voor) - kruiwagen2, een JPEG bestand - kruiwagen3, een GIF-bestand - kruiwagen4, een PNG-bestand
Onderzoek van elk bestand hoe groot het is geworden.
ls we de kruiwagen van de vorige opdracht opslaan krijgen we allereerst allerlei mogelijkheden om het plaatje als bitmap op te slaan. Een bitmap is een bestandsformaat voor plaatjes waarin elke pixel apart wordt opgeslagen. Bitmap bestanden krijgen de extensie “.bmp”.
Het plaatje van 400 x 300 pixels heeft in totaal 120 000 pixels.
monochrome bitmap Als de 120 000 pixels worden opgeslagen als monochrome (zwart-wit) bitmap is voor elk pixel slechts één bit nodig om de kleur te onthouden ( vb 0 = wit, 1 = zwart ). Er ontstaat een bitmap bestand van 120 000 bits = 15 000 bytes = 15 kB
16-kleuren bitmap Als de 120 000 pixels worden opgeslagen als 16 kleuren bitmap zijn voor elk pixel vier bits nodig om de kleur te onthouden ( vb 0 = wit, 1= …… , 15 = zwart ). Er ontstaat een bitmap bestand van 120 000 x 4 bits = 480 000 bits = 60 000 bytes = 60 kB
256-kleuren bitmap Als de 120 000 pixels worden opgeslagen als 256 kleuren bitmap zijn voor elk pixel acht bits nodig om de kleur te onthouden ( vb 0 = wit, 1= …… , 255 = zwart ). Er ontstaat een bitmap bestand van 120 000 x 8 bits = 960 000 bits = 120 000 bytes = 120 kB
24-bits bitmap Als de 120 000 pixels worden opgeslagen als 24 bits bitmap zijn voor elk pixel vierentwintig bits nodig om de kleur te onthouden. Er ontstaat een bitmap bestand van 120 000 x 24 bits = 2 880 000 bits = 360 000 bytes = 360 kB
In een bitmap bestand wordt kleurinformatie op een duidelijke manier opgeslagen maar niet op de slimst mogelijke manier. Je ziet dat een eenvoudig plaatje van een kruiwagen, opgeslagen als 24-bits bitmap, al 360 kB groot wordt.
OPDRACHT Zoek eens uit met wat voor resolutie jou smartphone foto's maakt. Hoe groot zou een foto zijn als je je foto's zou opslaan als 24 bits bitmap (bmp) bestand?
Vooral bij grotere bestanden, bijvoorbeeld bij een digitale foto van 5 miljoen pixels die in ware kleuren (16 miljoen kleuren) moet worden opgeslagen, is het belangrijk dat de kleurinformatie op een slimme manier wordt opgeslagen.
Door de kleurinformatie op een slimme manier en niet pixel voor pixel op te slaan kan de bestandsgrootte worden verkleind. Het verkleinen van bestanden door het gebruik van een slimme techniek noemen we compressie.
Run Length Encoding Een eenvoudige manier om data te comprimeren is de run length encoding. Run-length encoding, kortweg RLE, is het vervangen van herhalende patronen in data door het aantal herhalingen plus wat herhaald moest worden. Zie figuur hieronder:
Je ziet dat de figuren zich herhalen. Je zou deze informatie dus ook zo kunnen beschrijven en opslaan:
Nog een voorbeeld:
LET OP: Je begint eerst per rij met het aantal witte pixels. VAndaar dat je in rij 4 eerst 0 ziet.
OPDRACHT Teken de bijbehorende plaatjes
Drie bestandsformaten waarmee beeldbestanden (plaatjes, foto’s) verkleind kunnen worden zijn het JPEG-bestandsformaat,het GIF-bestandsformaat en PNG.
JPEG (Joint Graphics Experts Group) is een bestandsformaat voor afbeeldingen met veel kleuren en weinig scherpe kleurovergangen. JPEG is een bestandsformaat dat dus erg geschikt is voor digitale foto’s. JPEG bestanden krijgen als extensie “.jpg”.
Een digitale foto met echte kleuren (16,7 miljoen kleuren) heeft in principe voor iedere pixel 24 bits nodig om de kleur te onthouden.
JPEG verdeelt de foto in blokken van 8 bij 8 pixels en neemt het gemiddelde van de kleuren van deze 64 pixels. Het bewaart dit gemiddelde als de waarde voor de pixel linksboven in het blok. Daarvoor zijn 24 bits nodig.
Van de kleuren van de andere 63 pixels uit het blok wordt vervolgens het kleurverschil met de eerste pixel opgeslagen. Daarbij krijgen zoveel mogelijk pixels dezelfde kleur. Er hoeven voor de resterende 63 pixels niet meer zoveel bits gebruikt te worden, omdat het kleurverschil tussen een pixel in het blok en het gemiddelde niet zo groot is.
Is het kleurverschil tussen bij elkaar liggende pixels toch groot, dan zorgt de bovenstaande procedure ervoor dat de kleuren uitgesmeerd worden.
Detail van de toren rechtsboven waarop het uitsmeereffect te zien is. Bij JPEG-compressie gaat dus kleurinformatie verloren maar er wordt geheugen gewonnen.
GIF (Graphics Interchange Format) is een bestandsformaat voor afbeeldingen met weinig kleuren en scherpe kleurovergangen. GIF is een bestandsformaat dat dus erg geschikt is voor animatieafbeeldingen met vlakken van gelijke kleur, zoals bijvoorbeeld afbeeldingen van stripfiguren. GIF-bestanden krijgen als extensie “.gif”.
Hoe werkt GIF-compressie?
GIF-compressie wordt ook wel LZW-compressie genoemd naar de wiskundigen Lempel, Ziv en Welch, die de techniek verzonnen hebben. Bij GIF-compressie wordt een afbeelding gezien als een aantal horizontale lijnen van pixels. Vanaf linksboven wordt van de afbeelding steeds alleen de kleur en het aantal pixels dat die kleur moet krijgen opgeslagen.
De eerste twee lijnen van het eerste plaatje van de strip hierboven bestaan uit 100 groene pixels. Er hoeft voor die eerste lijnen dus slechts te worden opgeslagen “groen, 100”.
Bovendien is bij afbeeldingen, die geschikt zijn voor GIF-compressie, het aantal kleuren beperkt (vaak 256 kleuren) en hoeven er dus slechts 8 bits te worden gebruikt per kleur.
Colors: 256
File size: 6.00 KB
Colors: 128
File size: 5.24 KB
Colors: 64
File size: 4.48 KB
Colors: 16
File size: 2.11
PNG
Als alternatief voor GIF bestanden zijn sinds 1995 PNG (Portable Network Graphics) bestanden in het leven geroepen. In een PNG-bestand kan voor elke pixel niet alleen een rood-, groen- en blauwwaarde worden opgegeven, maar ook een transparantie (alpha-waarde). Het gevolg hiervan is dat elke pixel een bepaalde hoeveelheid transparantie kan hebben, bijvoorbeeld helemaal doorzichtig of gedeeltelijk doorzichtig met bijvoorbeeld wat donker rood eroverheen.
Vector-geörienteerd
Tekeningen worden meestal opgeslagen als bitmap: de kleur van elk pixel wordt opgeslagen.
Een tekening kan ook op een andere manier worden opgeslagen: vector-geörienteerd.
Als je bijvoorbeeld een cirkel tekent dan bewaart het programma in dit geval niet het bitpatroon, maar een reeks getallen die de tekening vastleggen : een getal voor het type tekening (een cirkel in dit geval), de straal, de lijndikte, de kleur van de lijn, de kleur van de vulling, en de coördinaten van het middelpunt.
Powerpoint werkt bijv. vector-geörienteerd.
Je hebt gezien dat een computer in het binair stelsel rekent. Je kunt je afvragen hoe dit gaat. In een computer wordt gebruik gemaakt van digitale schakelaars, waarin maar twee waarden kunnen voorkomen: de 0 en 1. Een digitale schakelaar kan zo de waarde van een bit vastleggen. Deze schakelaars heten transistoren en daarvan zitten er miljoenen op een chip.
Om de werking duidelijk te maken kun je kijken hoe je een lamp met behulp van gewone schakelaars aan en uit kunt zetten. Zowel de lamp als de schakelaars stellen een bit voor.
In onderstaande plaatje zie je een schakeling met twee schakelaars en een lampje. Als de schakelaars in positie 0 staan, brandt de lamp niet. Alleen als de schakelaars A én B in positie 1 staan, gaat de lamp branden.
Kijk ook naar alle mogelijke varianten in wat ook wel een waarheidstabel wordt genoemd. Deze schakeling wordt een AND-poort genoemd. Een AND-poort wordt weergegeven met het symbool:
In onderstaand plaatje zie je schakeling met twee schakelaars en een lampje. Als de schakelaars in positie 0 staan, brandt de lamp niet. Als alleen schakelaar A aan wordt gezet, gaat het lampje branden. Ook als alleen schakelaar B aan wordt gezet gaat het lampje branden. Ook als beide schakelaars aan staan, brandt het lampje.
Kijk ook naar alle mogelijke varianten in de tabel. Deze schakeling wordt een OR-poort genoemd. Een OR-poort wordt weergegeven met het symbool:
In onderstaand plaatje zie je schakeling met twee schakelaars en een lampje. Als beide schakelaars in positie 0 staat, brandt de lamp niet. Staan beide schakelaars in positie 1 dan brandt de lamp ook niet. De lamp brandt alleen als schakelaars in verschillende posities staan. Probeer maar. Kijk ook naar de getallen in de waarheidstabel.
Deze schakeling wordt een XOR-poort genoemd. Een XOR-poort wordt weergegeven met het symbool:
In onderstaand plaatje zie je schakeling met twee schakelaars en een lampje. Als de schakelaar in positie 0 staat, brandt de lamp. Staat de schakelaar in positie 1 dan brandt de lamp niet. De stand van de schakelaar is dus omgekeerd aan de toetstand van de lamp.
Kijk ook naar de getallen in de waarheidstabel. Deze schakeling wordt een NOT-poort of Inverter (keert de invoer om) genoemd. Een NOT-poort wordt weergegeven met het symbool:
Inverters In de tot nu toe behandelde poorten is alleen de NOT-poort een voorbeeld van een zogenaamde inverter. Een inverter keert de ingevoerde waarde telkens om. Bij de NOT- poort wordt de ingevoerde waarde 0 omgekeerd in de waarde 1. Een invoer van de waarde 1 levert als uitvoer de waarde 0 op. Je herkent een inverter aan het ronde open cirkeltje in het gebruikte symbool voor de poort. Voorbeelden van andere inverters zijn de NAND-poort, de NOR-poort en de NXOR-poort.
Leuke Video!
Opdrachten
[1] Kijk naar de waarheidstabel van de AND-poort. Wat moet er op de plekken: A, B, C en D worden ingevuld?
[2] Kijk naar de waarheidstabel van de NOR-poort. Wat moet er op de plaatsen A tot en met D komen?
[3] Beredeneer in welke situaties de LED niet gaat branden.
[4] Beredeneer in welke situaties de LED gaat branden. Vul daarvoor de lege plaatsen in de bijbehorende waarheidstabel in.
[5] Beredeneer in welke situaties de LED gaat branden.
In dit hoofdstuk wordt behandeld hoe leestekens kunnen worden voorgesteld door informatie die bestaat uit reeksen 0-en en 1-en, digitale informatie.
Telecommunicatie: al honderden jaren zijn mensen in staat om op afstand met elkaar te communiceren. Indianen gebruikten rooksignalen om boodschappen te verzenden en telegrafen gebruikten Morse-code om boodschappen te verzenden. Hoewel deze vormen van communicatie van elkaar verschillen zijn er ook duidelijke overeenkomsten. Bij elke vorm van communicatie worden karakters (letters, cijfers, leestekens) vertaald in een code. We noemen dit karaktercodering. De code wordt verzonden en door de ontvanger gedecodeerd.
De coderingstechniek heeft sinds de uitvinding van de telegrafie in de 19e eeuw niet stilgestaan. De Morse-code werd vervangen door meer geavanceerde codes. Niet alleen de coderingsmogelijkheden zijn verder ontwikkeld, ook de technische mogelijkheden zijn verder ontwikkeld.
Tegenwoordig communiceren we met het grootste gemak via digitale communicatiemiddelen. Denk alleen al aan de chatmogelijkheden van Whatsapp of aan SMS.
In deze les wordt beschreven hoe de codering van karakters zich vanaf de telegrafie heeft ontwikkeld tot de codering die nu wordt toegepast in computers, de ASCII-codering.
Telegrafie en de Morse-code
Samuel Morse (1791-1872), een Amerikaans kunstenaar, werd in 1832 professor beeldende kunsten aan de universiteit van New York. Zijn interesse voor elektriciteit leidde tot de ontwikkeling van een telegrafische verbinding tussen Washington en Baltimore (1844).
De werking van deze telegrafische verbinding is als volgt. Een apparaat produceert elektrische pulsen (stroompjes). Deze pulsen worden via een koperdraad naar de ontvanger verzonden. Bij de ontvanger worden de pulsen omgezet in korte en lange tikken op een strook papier.
Morse maakte gebruik van korte en lange pulsen en had letters, cijfers en leestekens als volgt gecodeerd (Morse code):
In deze tabel is een “.” een korte puls en een “-“ een lange puls. Bij het verzenden van de letter “A” moest de Morse verzendsleutel achtereenvolgens één keer kort en één keer lang worden ingedrukt.
De ontvanger krijgt de boodschap in de vorm van korte en lange tikken op een strook papier.
Opdracht Een bekende Morse boodschap is SOS (“Save Our Souls”): ... --- ... De eerste boodschap die Samuel Morse in 1844 verstuurde was:
What hath God wrought?
Vertaal deze Morse boodschap.
Morse had zijn codering zo slim mogelijk in elkaar gezet. Letters die vaak gebruikt worden, zoals de letter “E”, worden met weinig pulsen gecodeerd: “.”. Dat maakt de boodschappen zo kort mogelijk.
Merk op dat er geen codering is voor een spatie. Dat was ook niet nodig. Een spatie was bij telegrafie gewoon een korte pauze. De strook van de ontvanger wordt in deze pauzetijd doorgetrokken zodat vanzelf een tussenruimte tussen de karakters ontstaat.
Pas na de uitvinding van de radiogolf in 1888 door de Duitser Heinrich Hertz (1857-1894) en de toepassing daarvan bij radioverbindingen in 1894 door de Italiaan Guglielmo Marconi (1874-1937) kon de Morse code ook via radiogolven verzonden worden. Ook zonder koperdraadverbinding konden de pulsen worden verzonden en ontvangen en dan wel in de vorm van korte en lange pieptonen. Dat had grote gevolgen voor de bruikbaarheid van de Morse code. Je kent waarschijnlijk wel de beelden uit films over de Tweede Wereldoorlog waarin communicatie tussen schepen via telegrafische verbindingen verliep.
Zoals het zo vaak gaat in de techniek lopen mensen op een gegeven moment aan tegen beperkingen van een bepaalde techniek en gaan dan nadenken over mogelijke verbeteringen. Een beperking van de Morse code is dat verschillende leestekens gecodeerd worden met symbolen of pulsreeksen van verschillende lengtes. Dat maakt dat bij het telegraferen met Morse code de ontvanger altijd zijn berichten moet decoderen door of de strip met tikken te “lezen” of nauwlettend de binnenkomende pieptonen te beluisteren. Bij het decoderen is dus altijd menselijke deskundigheid vereist.
Rond 1940 startte de ontwikkeling van de computer. Twintig jaar later voorzag Bob Bemer, werkzaam bij IBM, dat de computer een rol zou gaan spelen in communicatie. Bemer inventariseerde 60 verschillende karaktercoderingen bij de verschillende computers die in de loop der tijd waren ontstaan, zette een groep mensen aan het werk om een universele code te ontwikkelen en publiceerde de onderzoeksresultaten.
Het resultaat is de ASCII code (American Standard Code for Information Interchange), voor het eerst erkend in 1963: https://www.asciitable.com
Deze basistabel bestaat uit 128 karakters. Aan de hand van de tabel kan elk karakter worden voorgesteld door een binaire code van 7 bits. Hoe werkt deze code?
Voorbeeld: De letter “a” is het 98e karakter in de tabel en heeft dus als bijbehorend nummer “97” (het eerste karakter is de “NUL” en heeft het bijbehorende nummer “0”). De ASCII code van de letter “a” is dus het binaire getal: 1100001.
In totaal kunnen er met 7 bits 27 = 128 codes worden gemaakt. Dat maakt de codering natuurlijk niet tot een wereldwijde standaard codering die in alle taalgebieden bruikbaar is.
Opdracht Geef de hexadecimale representatie van onderstaande ASCII-tekst: "Hallo Luuk!" Opdracht Bepaal welke ASCII-tekst hier hexadecimaal is weergegeven:
Opdracht Maak een bestand in notepad of een soortgelijke editor. Zet er een stukje tekst in. Open het bestand vervolgens met een hexdump programma. Op een mac of op linux zou je via de terminal het programma hexdump kunnen gebruiken. Je zou dit ook online kunnen doen. Zie: https://hexed.it/
Computers en randapparatuur werken over het algemeen met bytes, series van 8 bits. Als achtste bit van de ASCII code wordt traditioneel een pariteitsbit toegevoegd. Het doel van deze extra bit is om foutcontrole mogelijk te maken.
Als voorbeeld bekijken we de letter “E” = 69 = 1000101. Bij geen pariteit wordt standaard een “0” toegevoegd aan de ASCII code, zodat de “E” wordt gecodeerd als 10001010.
Bij oneven pariteit wordt gekeken naar het aantal enen in de code. Is dit aantal oneven, dan wordt een “0” toegevoegd om het aantal enen oneven te houden en is het aantal even, dan wordt een “1” toegevoegd om het aantal enen oneven te maken. De letter “E” wordt bij oneven pariteit dus gecodeerd als 10001010.
Bij even pariteit wordt gekeken naar het aantal enen in de code. Is dit aantal even, dan wordt een “0” toegevoegd om het aantal enen even te houden en is het aantal oneven, dan wordt een “1” toegevoegd om het aantal enen even te maken. De letter “E” wordt bij even pariteit dus gecodeerd als 10001011.
Opdracht: Codeer het woord "montessori" met even pariteit. Laat je buurman jou woord decoderen en kijk of het klopt.
Wanneer bij even pariteit toch een byte wordt ontvangen met een oneven aantal bits, dan weet de ontvangende partij dat er een fout is opgetreden.
Om aan te geven dat een boodschap goed is ontvangen kan door de ontvangende partij gebruik gemaakt worden van de code:
en om aan te geven dat een boodschap niet goed is ontvangen kan gebruik gemaakt worden van de code:
Unicode
Vanaf 1991 werd er gewerkt aan een universele karaktercodering waarbij alle karakters, die er op de wereld worden gebruikt, in één tabel zijn opgenomen. Deze code wordt ook wel Unicode genoemd. Vanaf 1991 (Unicode 1.0) is Unicode uitgebreid met allerlei alfabetten, tekens en symbolen.
De meest recente versie van Unicode is een 32-bits codering, hetgeen betekent dat er ruimte is voor 232 = 4294967296 verschillende karakters. Dat is ook wel nodig, want alleen al de Chinese taal kent duizenden karakters.
Geluid bestaat uit golven. Dit geldt niet alleen voor tonen en muziek, maar ook voor gesproken taal. Hieronder zie je het golfpatroon van een paar woorden spraak, uitgesproken door een persoon en digitaal opgenomen.
Het geluidsfragment ziet er niet bepaald uit als een golf, maar eerder als een serie sprieten. Wanneer je een stukje van een duizendste seconde uitvergroot, wordt het golfpatroon duidelijker, als de rode lijn in het plaatje hieronder.
Sample rate
Hoe vaak er snapshots worden genomen van de audio, drukken we uit in “Sample Rate”. Hoe hoger het aantal snapshots dat wordt genomen, hoe gedetailleerder het resultaat. In de wereld van digitale audio recording zijn/waren 44.1kHz en 48kHz de meest voorkomende Sample Rates. “Maar waar staat 44.1kHz nou precies voor?”, hoor ik je denken!
44.1kHz staat voor 44.100 “snapshots” die worden genomen per seconde. Bij 48kHz zijn dat dus 48.000 “snapshots” per seconde. Vandaag de dag kom je geluidskaarten tegen die recordings ondersteunen van maar liefst 96kHz of zelfs 192kHz. Dat zijn dus respectievelijk 96.000 en 192.000 “snapshots” per seconde.
Bit Depth
Waar Sample Rate verticale “snapshots” maakt, is Bit Depth gebaseerd op de resolutie(scherpte van de vertaling). Simpel gezegd; hoe hoger de Bit Depth van de “digitale vertaling”, hoe scherper het “vertaalde” resultaat is. Het resultaat is bij een hogere Bit Depth een mooie vloeiende golfvorm. Je kunt dus wel 44.100 “snapshots” maken met de Sample Rate, maar als de resolutie (Bit Depth) niet scherp genoeg is, is het resultaat nog steeds geen vloeiende golfvorm. Voor CD’s gebruik je 16Bit en voor DVD’s gebruik je 24Bit.
Sample rate en Bit depth
Je kunt het volgende onthouden om Sample Rate en Bit Depth uit elkaar te houden:
Sample Rate (kHz) geeft het aantal snapshots aan per seconde, en Bit Depth (bit) geeft aan hoe scherp (resolutie) deze snapshots uiteindelijk worden.
Opdracht
Stel dat je een muziekbestand hebt met 10 minuten muziek. De sample rate is 44.1 kHz en de bit depth is 24 bits. Hoe groot is het bestand dan (in megabytes)?
Compressie
Andere bekende geluidsformaten zijn wave (.wav) audio (.au) en midi. Verschillen tussen de formaten betreffen het aantal keren per seconde dat de hoogte van de golf gemeten wordt en de eventuele compressie die wordt toegepast.
Opdracht; Audacity
Zoek naar een mp3-bestand van je favoriete nummer.
Open Audacity en beluister enkele van de geluidsbestanden.
Je kunt een aantal geluidseffecten op geluiden toepassen. Deze staan in het menu 'Effect'. Je kunt ze gebruiken door eerst een deel van het geluid te selecteren en daarna het effect te kiezen. Een selectie maak je door de cursor linksboven te selecteren en daarna op de bekende manier een stuk geluid te selecteren.
Pas bijvoorbeeld een fade out toe op het laatste stuk van het geluidsbestand 'bubble'.
Converteer enkele van de geluidsbestanden van mp3 naar wav en naar aiff. Wat kun je zeggen over de omvang van deze bestanden?
Converteer een van de bestanden naar MP3, bitrate: 320 kbps Converteer vervolgens naar MP3, bitrate: 196 kbps Converteer daarna naar MP3, bitrate: 96 kbps
Welke bitrate vind je nog acceptabel klinken?
Kijken we nou naar de letter A, dan zou je dat als volgt kunnen comprimeren:
Geluid kan gedigitaliseerd worden door een groot aantal keren per seconde de hoogte van de golf (de amplitude) te meten. In het plaatje hieronder is dat weergegeven door de paarse balken. Om een goede digitale opname te krijgen, moet je dit duizenden keren per seconde doen. Dit heet . Alle digitale geluidsformaten passen dit toe in een of andere vorm. Deze techniek voor het digitaliseren van geluid is niet uniek voor computers. Het wordt ook toegepast in muziek-CD's.
Zonder is een minuut geluid een kleine 10MB. Daarom past er op een muziek-cd maar hooguit 80 minuten muziek.
Met worden geluidsbestanden veel kleiner. Het bekendste gecomprimeerde geluidsformaat is MP3, wat staat voor MPEG-1 Layer 3, eigenlijk het geluidsspoor van een video-opname. In MP3 zie je dezelfde trucs als bij het comprimeren van beeld, zoals het slim opslaan van herhalingen. Ook de toonhoogte is beperkt, heel hoge tonen worden in MP3 niet opgenomen. De compressie is daardoor lossy, niet .
D