Digitalisierung

Misst der Mikrocontroller einen Wert eines Sensors aus, ermittelt er dabei eine Spannung, die im Normalfall zwischen 0Volt und 5 Volt liegt. Diese Spannung entspricht je nach Sensor einem analogen Wert (z.B. Temperatur, Beschleunigung, Luftfeuchtigkeit, ...). Diese Analogsignal können beliebige genaue Werte annehmen.

files/Roboter/Theorie/Digitalisierung/AnalogesSignal.png

Bei der Digitalisierung werden die Werte eines analogen Signals in einen Binärcode umgewandelt. Zu jedem Abtastzeitpunkt wird das analoge Signal (als Spannungswert) in eine endliche Anzahl digitaler Werte umgewandelt. Diese Umwandlung nennt man Quantisierung. Die Bitlänge ist entscheidend für die Sampletiefe: mit 8 bit kann man nur 256 unterschiedliche Quantisierungen bestimmen. D.h. bei voller Auflösung kann die Spannung bis auf 5/256 Volt genau gemessen werden. 

Ein digitales Signal (Binärcode/Dualcode) besteht aus einer Folge von Nullen und Einsen. Nur mit diesem Signal kann der Computer rechnen. Die Digitalisierung führt zu einem Verlust von Informationen, da nur bestimmte Zwischenwerte zulässig sind. Ein Computer rechnet binär, d.h. er kennt eigentlich nur zwei Zustände (high/low; 0,1; an,aus). Diese kleinste Speichereinheit ist ein Bit. Damit kommt man aber nicht weit. Meistens codiert man Werte mit 8 Bit = 1 Byte. Mit 8 Bit kann man $2^8 = 256$ verschiedenen Zeichen codieren.

Die binären Signale (Folge von Nullen und Einsen) lassen sich aber relativ einfach speichern und weiterverarbeiten. Außerdem sind die binären Informationen unempfindlich gegenüber Störungen. 

Die Messung der analogen Werte und die Digitalisierung findet in regelmäßigen Zeitabständen statt. Die Abtastrate gibt die Anzahl der Abtastungen pro Sekunde an.

Nach dem Nyquist-Shannon-Abtasttheorem soll die Abtastrate mindestens doppelt so groß sein, wie die höchste Abtastfrequenz. Bei einer Musikaufnahme in CD - Qualität ergibt sich bei einer Abtastfrequenz von 44,1 kHz eine Maximalfrequenz von 22,05 kHz. Damit ist der Frequenzbereich des menschlichen Gehörs (ca. 20 Hz - 20 kHz) abgedeckt. 

Zahlensysteme zur Digitalisierung

Bei der Speichung von daten gibt es zwei Zustände: Spannung bzw. keine Spannung. Das zugehörige Zahlensystem hat die Basis 2 und kennt nur zwei Zahlen: 0 oder 1. Da die Stellenzahl stark zunimmt werden je 8 Bits zu einem Byte zusammengefasst. 

Statt eine Zahl im Dualsystem zu schreiben, wird auch ein Zahlensystem zur Basis 16 benutzt. Jedes Byte ( 8bit) kann durch zwei Stellen im Hexadezimalsystem zusammengesetzt werden.

 

3bit

22

21

20

Binärcode

7

1

1

1

111

6

1

1

0

110

5

1

0

1

101

4

1

0

0

100

3

0

1

1

011

2

0

1

0

010

1

0

0

1

001

0

0

0

0

000

Analoge Daten

Ein analoges Signal ist zeit- und wertekontinuierlich, d.h. es gibt im Signalverlauf keine Unterbrechungen.

files/Roboter/arduino/Theorie/Digitalisierung/analogesSignal.png

 

Ein digitales Signal hat einen begrenzten Wertevorrat (Auflösung), welche in bestimmten Zeitabständen aus dem analogen Signal ermittelt wird, d.h. im Gegensatz zum analogen Signal ist das digitale Signal zeit- und wertediskret.files/Roboter/arduino/Theorie/Digitalisierung/analoges+digitalesSignal.png

Eine Folgen von Zahlen gibt Auskunft über die Signalspannung bzw. Amplitude über einen Zeitraum.

z.B. 3bit - Wertebereich enthält  23 = 8 unterschiedliche Werte                Hier:  4 8 6 1 0 4 8 6 1 0 ...

3bit

22

21

20

Binärcode

7

1

1

1

111

6

1

1

0

110

5

1

0

1

101

4

1

0

0

100

3

0

1

1

011

2

0

1

0

010

1

0

0

1

001

0

0

0

0

000

Die Zahlen werden ins Dualsystem codiert.
Ein Bit (2 Werte) entspricht der kleinsten Speichereinheit.  

Das analoge Signal muss dann wieder aus dem digitalen Signal rekonstruiert werden. Die Qualität hängt von der Abtastfrequenz und von der Anzahl der Quantisierungen ab.
Bei Audiodateien werden normalerweise 44100 Werte pro Sekunde bestimmt (44,1 kHz) und mit 24 Bit aufgelöst (248 = 16,8 Millionen Differenzierungswerte).

 

Texte

Texte werden mit Hilfe einer Tabelle, die jedem Zeichen (Buchstabe, Ziffer, Symbol, Sonderzeichen, Steuerzeichen) einen Code zuweisen dargestellt. Der älteste ist der ASCII -Code (mit 7 Bit von 1963), moderne Programme nutzen den Unicode (mit 21 Bit aus dem Jahr 1991).

Bilder

Bilder werden in einer Farbtiefe  von 24 Bit  (True Color) abgespeichert. Dabei wird jeder Farbanteil (Rot-, Grün-  und Blauanteil) in 28 = 256 (= 1Byte) Abstufungen angegeben. Es ergeben sich so insgesamt 2563=224=16,7 Millionen Farben. Jeder Farbanteil (256 = 162 - Werte) wird besser lesbar hexadezimal angegeben.files/Roboter/arduino/Theorie/Digitalisierung/FarbenHexadezimal.jpg

 

 

Dezimal

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Hexadezimal

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

 

so wird z.B. die Dezimalzahl 255 = 15*161 + 15*160 im Hexadezimalsystem als FF dargestellt.

 

Bits und Bytes

Was ist ein Bit?

Was ist ein Byte?

Wie werden Daten damit dagestellt?

Wie kann man mit Hilfe des Computers analoge Daten verarbeiten?

Zurück