9 Codes. Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK DIGITALTECHNIK 9-1



Ähnliche Dokumente
Grundlagen Digitaler Systeme (GDS)

Grundlagen der Technischen Informatik. 2. Übung

Binär Codierte Dezimalzahlen (BCD-Code)

0 Im folgenden sei die Wortlänge gleich 8 (d. h.: es wird mit Bytes gearbeitet).

Theoretische Grundlagen der Informatik WS 09/10

Zahlensysteme Seite -1- Zahlensysteme

Anzahl Pseudotedraden: Redundanz: Weitere Eigenschaften?

Daten verarbeiten. Binärzahlen

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:

N Bit binäre Zahlen (signed)

Vertiefungsstoff zum Thema Darstellung von Zahlen

Organisation. Was kommt zum Test? Buch Informatik Grundlagen bis inkl. Kapitel 7.4 Wissensfragen und Rechenbeispiele

4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140

Anmerkungen zur Übergangsprüfung

9 Multiplexer und Code-Umsetzer

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Kapitel 3. Codierung von Text (ASCII-Code, Unicode)

Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2011

Modul 114. Zahlensysteme

Eine Logikschaltung zur Addition zweier Zahlen

Zeichen bei Zahlen entschlüsseln

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = binär

Grundlagen der Informatik

Excel Pivot-Tabellen 2010 effektiv

Einführung in die Kodierungstheorie

Grundlagen der Informatik I Informationsdarstellung

Zahlendarstellungen und Rechnerarithmetik*

Grundlagen der Informatik 2 Grundlagen der Digitaltechnik. 1. Zahlensysteme

Technische Informatik - Eine Einführung

Einführung in die Programmierung

2 Darstellung von Zahlen und Zeichen

Übung RA, Kapitel 1.2

Zahlensysteme: Oktal- und Hexadezimalsystem

Einführung in. Logische Schaltungen

Eine mathematische Reise ins Unendliche. Peter Koepke Universität Bonn

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Computerarithmetik ( )

Übungsaufgaben. - Vorgehensweise entsprechend dem Algorithmus der schriftlichen Multiplikation

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

Grundlagen der Theoretischen Informatik, SoSe 2008

Theoretische Informatik SS 04 Übung 1

Hinweise zum Übungsblatt Formatierung von Text:

Algorithmische Kryptographie

Formelsammlung. Wahrscheinlichkeit und Information

Algorithmen zur Integer-Multiplikation

Lineare Codes. Dipl.-Inform. Wolfgang Globke. Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 19

Programmiersprachen und Übersetzer

Grundlagen der Informatik (BSc) Übung Nr. 5

Codierungsverfahren SS Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur

Binäre Gleitkommazahlen

Zahlensysteme. Zahl Stellenwert Zahl Zahl =

Hilfe zur Urlaubsplanung und Zeiterfassung

EDV-Fortbildung Kombi-Schulung Word-Excel Modul Excel. Informationen zum Programm. Die Programmoberfläche von Excel

15 Optimales Kodieren

QR Code. Christina Nemecek, Jessica Machrowiak

Zahlensysteme. von Christian Bartl

Easy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform

Mikro-Controller-Pass 1

Technische Informatik Basispraktikum Sommersemester 2001

tentoinfinity Apps 1.0 EINFÜHRUNG

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Leitfaden #1a. "zanox Publisher-Statistik" (next generation)

2. Negative Dualzahlen darstellen

Die Online-Bestandserhebung im LSB Niedersachsen

Daten, Informationen, Kodierung. Binärkodierung

Individuelle Formulare

Access Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli inkl. zusätzlichem Übungsanhang ACC2010-UA

Benutzerkonto unter Windows 2000

Aufgabe 6 Excel 2013 (Fortgeschrittene) Musterlösung

Information in einem Computer ist ein

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes

WinWerk. Prozess 4 Akonto. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

1 Mathematische Grundlagen

Wichtige Information zur Verwendung von CS-TING Version 9 für Microsoft Word 2000 (und höher)

Tel.: Fax: Ein Text oder Programm in einem Editor schreiben und zu ClassPad übertragen.

macs Support Ticket System

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer

1. Speicherbausteine JK-RS-Master-Slave-Flip-Flop

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

3 Codierung Code-Sicherung Stellendistanz und Hamming-Distanz Codierung

Druckvorlagen Als Druckvorlagen sind dafür vorhanden:!liste1.ken (Kennzahlen)!Liste2.KEN (Kontennachweis)

KLAUSUR DIGITALTECHNIK SS 00

Schnittstelle DIGI-Zeiterfassung

Single Parity check Codes (1)

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

Wissenswertes über binäre Felder

Die Übereckperspektive mit zwei Fluchtpunkten

Computer Graphik II Tesselierung impliziter Kurven und Flächen

Persönliches Adressbuch

Binär- und Hexadezimal-Zahl Arithmetik.

Kapitel 1. Zahlendarstellung. Prof. Dr. Dirk W. Hoffmann. Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik

Aufgabe 1 Berechne den Gesamtwiderstand dieses einfachen Netzwerkes. Lösung Innerhalb dieser Schaltung sind alle Widerstände in Reihe geschaltet.

11.3 Komplexe Potenzreihen und weitere komplexe Funktionen

Transkript:

9 Codes 9.1 Charakterisierung und Klassifizierung Definition: Das Ergebnis einer eindeutigen Zuordnung zweier Zeichen- bzw. Zahlenmengen wird Code genannt. Die Zuordnung erfolgt über eine arithmetische Regel oder wird einfach durch eine Tabelle definiert. Eine Gruppe von m Zeichen wird Codewort genannt. Beispiel: Ein spezieller Code zur Umsetzung zweier Codeworte: BCD FGH 234 678 In digitalen Systemen müssen Daten erfasst, gespeichert, übertragen und bearbeitet werden. Die Decodierung von Dezimalzahlen ermöglicht Darstellungen, die für spezielle Anwendungen besonders geeignet sind. Beispiele: - Zur effizienten Datenspeicherung werden Codes benötigt, die nur wenige Speicherzellen benötigen (kurze Strings) - Bei der Signalübertragung kommt es darauf an, die Daten möglichst sicher zu übertragen. Die Fehlererkennung und ggf. korrektur steht im Vordergrund (längere Strings durch Redundanz) - In Meßsystemen sollten Codes verwendet werden, die ein Minimum an Datenerfassungsfehlern ermöglichen (spezielle Anordnung der Codelemente in einem Codewort) - Die digitale Signalverarbeitung erfordert Codes, die einfache und demnach schnelle Digitalschaltungen ermöglichen DIGITALTECHNIK 9-1

Numerische Codes Wort Codes Binäre Codes für Dezimalzahlen Dateneingabe, arithmetische und Übertragungsanwendungen Normaler Binärcode Arithmetische und Speicheranwendungen (Bin, Oct, Hex) Gray Code Elektromechanische Anwendungen: Messung von Winkeln und Abständen Gewichtete Codes BCD (8-4-2-1) m-aus-n Aiken(2-4-2-1) Zuordnungs- Codes Excess-3 Libaw-Craig O Brien Wortcodes: Jede Dezimalzahl wird durch eine binäre Zeichenkette dargestellt. z.b. : 11 10 = 1011 2 Binäre Codes: Jede Stelle einer Zahl wird durch eine eigene Zeichenkette dargestellt. z.b. : 11 10 = 0001 0001 2 DIGITALTECHNIK 9-2

Kenngrößen von Codes Ein Code ist gewichtet, wenn jede Stelle des Codes einem speziellen Wert (Codegewicht) entspricht. Die zum Codewort gehörige Dezimalzahl ist die Summe der Gewichte, für die das Codewort eine 1 besitzt. Mit einer m-bit langen Zeichenkette können 2 m Codeworte realisiert werden. Wenn nicht alle Möglichkeiten genutzt werden, so besitzt der Code eine Redundanz Rd > 0. Die Redundanz berechnet sich aus: Rd = ld 2 (N max ) ld 2 (N code ) > 0 mit N max = 2 m, ld = Logarithmus zur Basis 2 Rd = ld 2 (N max ) 3.32 log 10 (N code ) (N Code = Anzahl der Codeworte ; N max -N Code = Anzahl der nicht als Code verwendeten Worte) Damit eine Fehlererkennung durchgeführt werden kann, ist eine Redundanz Rd > 0 erforderlich. Die Anzahl unterschiedlicher Stellen zweier benachbarter Codes wird als Hamming-Distanz bezeichnet. Ein Code ist stetig, wenn die Hamming-Distanz aller Codeworte gleich ist. Ein Code, bei dem die Hamming-Distanz aller Codeworte H=1 ist, ist nach der Strategie des minimum-bit-change aufgebaut. DIGITALTECHNIK 9-3

9.2 Binärcodes für Dezimalzahlen BCD = Binary Coded Decimal Binärdarstellung der Dezimalziffern. Jede Dezimalstelle wird einzeln codiert. Sechs der 16 möglichen Binärcodes werden nicht benötigt. Beispiel: 9 4 7 10 = 1001 0100 0111 2 BCD Zahlen erfordern in µps eine spezielle Arithmetik: Wenn das Ergebnis der stellenweisen Addition größer als 9 ist, so muss zusätzlich eine 6 addiert werden: Dezimal: 3 9 + 8 4 1 1 (Carry) 1 2 3 BCD: 0 0 1 1 1 0 0 1 + 1 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 (+6 2 ) 1 1 1 1 1 1 0 0 - (Carry) 1 0 0 1 0 0 0 1 1 DIGITALTECHNIK 9-4

Verschiedene BCD-Codes Code (8421)-BCD 1 out of 10 Aiken Excess-3 Libaw-Craig O Brien Gewicht 8 4 2 1 9 8 7 6 5 4 3 2 1 0 2 4 2 1 - - - - - - - - - - - - - Dezimalzahl 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 1 2 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 3 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 0 4 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 0 5 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 6 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 1 1 0 1 1 1 0 7 0 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 1 1 0 0 1 0 1 0 8 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 9 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 0 0 0 0 1 0 0 1 2 10 = 1024 Codeworte, von denen nur 10 verwendet werden Hohe Redundanz DIGITALTECHNIK 9-5

Code Anwendungen und Vorteile Hamming- Distanz (8421)-BCD Hilfreich bei der Bearbeitung dezimaler Daten z.b. bei Messungen und Anzeigen. BCD Arithmetik erfordert keine Konversion vom Dezimal- ins Binärformat. Viele Prozessoren besitzen einen begrenzten BCD-Befehlssatz. 1 aus 10 Datenübertragung mit sicherer Bitfehlererkennung. Bausteinselektion durch Steuereinheiten. Jedes Bit eines 1-aus-10 Codes steuert den Freigabeeingang eines angeschlossenen Bausteins. Excess-3 Libaw- Craig O Brien Bei Datenübertragung. 0000 und 1111 sind keine Codeworte, dadurch können Störungen wie z.b. Unterbrechungen und Spannungsabfälle erkannt werden. Gleitende Zeichenkette mit minimum-bit-change. Realisierung spezieller Johnson-Zähler mit 2*m Zuständen: Ein einfaches kreuzgekoppeltes Schieberegister mit invertierter Rückkopplung des MSB. Zustandscodierung mit minimum-bit-change für Zustandsautomaten (System Controller). Mit diesem Code können Hazards in angeschlossener kombinatorischer Logik vermieden werden und der Hardwareaufwand minimiert werden. 1 to 4 nicht stetig 2 stetig 1 to 4 nicht stetig 1 stetig 1 stetig 0.68 6.68 0.68 1.68 0.68 Redundanz Bitfehler- Erkennung Nein 1 Bit Nein Nein Nein DIGITALTECHNIK 9-6

9.3 Gray-Code Dezimal Der Gray-Code dient an der Schnittstelle zwischen elektrischen und mechanischen Systemen zur präzisen Längen- und Winkelbestimmung. Der Gray-Code wird durch rekursive Reflexion gebildet: a) Der 1-Bit Gray-Code besitzt 2 Codeworte: 0 und 1. b) Die ersten 2 n Codeworte eines (n+1)-bit Gray-Codes sind gleich den Codeworten eines n-bit Codes mit vorangestellter 0. c) Die letzten 2 n Codeworte eines (n+1)-bit Gray-Codes sind gleich den Codeworten eines n-bit Codes, aber in umgekehrter Reihenfolge und mit vorangestellter 1. Auf einem Code-Lineal, bzw. einer Code-Scheibe ist der Gray- Code in Form von Streifen bzw. konzentrischen Kreisen mit absorbierenden und lichtdurchlässigen Flächen abgebildet. Bei der Positionsänderung des Code-Lineals ändert sich jeweils immer nur 1 Bit (minimum bit change). Dadurch ist die Positionserkennung an den Übergangsstellen immer sicher. Hamming-Distanz: 1, stetig, ungewichtet, Redundanz: 0 Zahl 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16... Gray-Code mit Reflexionszeilen 0 1 11 10 110 111 101 100 1100 1101 1111 1110 1010 1011 1001 1000 11000... DIGITALTECHNIK 9-7

Optischer Schalter (1von 4): Leuchtdiode (LED) D1 Hell-Dunkel Erkennung durch Phototransistor Q1 Schmitt-Trigger erzeugt digitales Rechtecksignal: 0 oder 1 Gray-Code Lineal LSB MSB 2 3 4 5 6 7 8 9 10 11 12 Dez. Binär Code Lineal Bewegung LSB MSB 2 3 4 5 6 7 8 9 10 11 12 Dez. DIGITALTECHNIK 9-8

Prof. Dr. J. Reichardt 1110 1111 9.4 Methoden der Fehler Erkennung und Korrektur 1100 1101 110 111 100 101 0110 0111 1010 1011 010 011 0100 0101 1000 1001 000 3-Cube 001 0000 0010 0001 0011 4-Cube m-bit lange Codeworte können visualisiert werden, indem sie an den Ecken (vertex) eines mehrdimensionalen Würfels (m-cube) platziert werden. Jede Ecke besitzt genau m Nachbarecken. Zwei Codeworte sind benachbart, wenn man nur entlang einer Kante (edge) gehen muss, um von einem Codewort zum benachbarten Codewort zu gelangen. Dann ändert sich genau eine Bitstelle, d.h. die Hamming-Distanz ist H=1. DIGITALTECHNIK 9-9

Paritätsbit in 4-Cubes Den 3-Bit Codeworten werden (z.b. als LSB) zusätzliche Bits hinzugefügt, die nach fest definiertem Schema aus den Codeworten erzeugt werden und eine zusätzliche Redundanz erzeugen (Paritätsbit). Wenn das Paritätsbit nicht zum Codewort passt, wird ein Übertragungsfehler gemeldet. Das Paritätsbit ergänzt das Codewort zu insgesamt gerader (even) bzw. ungerader (odd) Parität aller Bitstellen: Wenn die gesamte Anzahl von Einsen ungerade ist Ungerade Parität P o Wenn die gesamte Anzahl von Einsen gerade ist Gerade Parität P e Für die erlaubten Codeworte im 4-Cube gilt, dass zwei Codeworte niemals benachbart sind. Die Hamming-Distanz ist H = 2. Demnach gilt: Wenn auf einer Übertragungsstrecke EIN Bit fehlerhaft übertragen wurde, so ist dies kein erlaubtes Codewort. Dez.# C B A P o P e 0 0 0 0 1 0 1 0 0 1 0 1 2 0 1 0 0 1 3 0 1 1 1 0 4 1 0 0 0 1 5 1 0 1 1 0 6 1 1 0 1 0 7 1 1 1 0 1 Wahrheitstabelle zur Erzeugung eines ungeraden und geraden Paritätsbits DIGITALTECHNIK 9-10

Fehler erkennende Codes mit gerader und ungerader Parität (Paritätsbit als LSB) Ungerade Parität 1110 1100 1101 1111 0110 0111 1010 1011 1110 1111 0100 0101 1000 1001 1100 1101 0010 0011 0110 0111 1010 1011 0000 0001 0100 0101 1000 1001 Die nicht markierten Knoten sind keine erlaubten Codeworte. 0000 0010 0001 0011 Gerade Parität DIGITALTECHNIK 9-11

Fehler korrigierende Codes Zur Erkennung von 1-Bit Fehlern waren Codes mit H 2 erforderlich. Zur Korrektur von 1-Bit Fehlern werden Codes mit H 3 benötigt. Beispiel: In einem 3-Cube kann ein 1-Bit Code so konstruiert werden, dass er 1-Bit Fehler korrigierend ist: Das Informationsbit mit dem Wert 0 oder 1 wird um zwei redundante Bits zu den erlaubten Codeworten 000 und 111 ergänzt. Die fehlerhaft übertragenen, jeweils in der gleichen Farbe markierten, benachbarten Codeworte können auf das richtige Codewort korrigiert werden da das fehlerhaft übertragene Bit in der Minderheit ist. 100 000 110 010 101 001 111 011 3-cube R. Hamming beschrieb 1950 eine Methode zur Erzeugung von Fehler korrigierenden Codes. Demnach müssen z.b. 4 Informationsbits durch 3 Paritätsbits ergänzt werden, die an bestimmten Stellen innerhalb des Codewortes stehen müssen. DIGITALTECHNIK 9-12