<sub class="descriptionSection">19-11-2024 09:02:am // #Basics // [[TI]]</sub> ____ ## Redundanz Redundanz bedeutet mehr Zeichen (Bit) als zur Übertragung notwending. Bei **nicht** redundanten Codes ist keine Fehlererkennung möglich. Eine geringe Fehlererkennung erfordert keine hohe Redundanz. ## Prüfbit Methode (Parity Check) Jedem Codewort wird 1 Bit so hinzugefügt, dass die Summe der im Wort (Wort = Speicherwort, also die folge von Bits im Speicher) vorkommenden 1er entweder auf eine gerade (even) oder ungerade (odd) Zahl ergänzt. ### Beispiel Hex-Ziffern (odd-parity-check) Es geht darum wieviele Bits es gibt, nicht den wert der Zahl | Zahl | Code | Prüfbit | | ---- | ---- | ------- | | 0 | 0000 | 1 | | 1 | 0001 | 0 | | 2 | 0010 | 0 | | 3 | 0011 | 1 | | 4 | 0100 | 0 | | 5 | 0101 | 1 | | 6 | 0110 | 1 | | 7 | 0111 | 0 | | 8 | 1000 | 0 | | 9 | 1001 | 1 | | A | 1010 | 1 | | B | 1011 | 0 | | C | 1100 | 1 | | D | 1101 | 0 | | E | 1110 | 0 | | F | 1111 | 1 | - Nur 1 Fehler erkennbar - nicht erkennbar, wo der Fehler ist - 2 oder mehrere Fehler sind nicht erkennbar ## Blockweise Übertragung Zeichen werden in Zeilen und Spalten angeordnet. Jede Zeilie und jede Spalte wird mit einem Prüfbit versehen. ### Beispiel: (odd-parity-check) Übertragene Bitfolge: | | | | | <span>↓</span> Zeilenprüfbit | | ----- | ----- | ----- | ----- | ---------------------------- | | 0 | 1 | 1 | 0 | **1** | | 1 | 0 | 1 | 1 | **0** | | 0 | 0 | 0 | 1 | **0** | | 0 | 1 | 1 | 1 | **0** | | **0** | **1** | **0** | **0** | **<- Spaltenprüfbit** | > [!NOTE] Info > Mit dieser Methode können: > - 1 Bit fehler im Block erkannt und lokalisiert werden > - 2 Bitfehler im Block können erkannt aber nicht lokalisiert werden (Siehe Beispiele: [[#Beispiele für Zwei bitfehler]]) // ↓ Übertragung zum Empfänger ↓ // | | | | | <span>↓</span> Zeilenprüfbit | | ----- | ----- | ------------------------------------ | ----- | --------------------------------------- | | 0 | 1 | 1 | 0 | **1** | | 1 | 0 | 1 | 1 | **0** | | 0 | 0 | **==1==** | 1 | **0** => Zeilenprüfbit passt nicht mehr | | 0 | 1 | 1 | 1 | **0** | | **0** | **1** | **0** => Spaltenbit passt nicht mehr | **0** | **<- Spaltenprüfbit** | > [!abstract] Merke > Der Schnittpunkt der falschen Prüfbits (Zeile + Spalte) ergibt die position des Fehlers. > Die 1 im Schnittpunkt muss eine 0 sein ### Beispiele für Zwei bitfehler | | | | | <span>↓</span> Zeilenprüfbit | | ----- | ----- | ----- | ----- | ---------------------------- | | 0 | 0 | 1 | 1 | **1** | | 1 | 1 | 1 | 1 | **0** => Falsch | | 0 | 1 | 1 | 0 | **1** | | 1 | 0 | 1 | 1 | **1** => Falsch | | **1** | **1** | **1** | **0** | **<- Spaltenprüfbit** | => nicht zuordbar, da keine Schnittstelle zwischen Zeile und Spalte ___ | | | | | <span>↓</span> Zeilenprüfbit | | ----- | -------------- | ----- | -------------- | ---------------------------- | | 1 | 0 | 1 | 0 | **0** => Falsch | | 0 | 0 | 0 | 0 | **1** | | 0 | 1 | 0 | 1 | **0** => Falsch | | 1 | 0 | 1 | 1 | **0** | | **1** | **1** =>Falsch | **1** | **0** =>Falsch | **<- Spaltenprüfbit** | => Fehler nicht zuordbar, da es Vier Schnittstellen gibt