• Keine Ergebnisse gefunden

Erkennbare und nicht erkennbare Fehler

N/A
N/A
Protected

Academic year: 2022

Aktie "Erkennbare und nicht erkennbare Fehler"

Copied!
43
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Erkennbare und nicht erkennbare Fehler

Ein Fehler ist nicht erkennbar genau dann wenn:

· →

Single‐Bitfehler ist immer erkennbar, wenn P(X) mindestens zwei Terme enthält

Bitfehler‐Burst < Anzahl Check‐Bits ist immer erkennbar, wenn P(X) den Term 1 enthält

(2)

Erkennbare und nicht erkennbare Fehler

Ein Fehler ist nicht erkennbar genau dann wenn:

· →

Single‐Bitfehler ist immer erkennbar, wenn P(X) mindestens zwei Terme enthält

; ∄ ·

Bitfehler‐Burst < Anzahl Check‐Bits ist immer erkennbar, wenn P(X) den Term 1 enthält

(3)

Erkennbare und nicht erkennbare Fehler

Ein Fehler ist nicht erkennbar genau dann wenn:

· →

Single‐Bitfehler ist immer erkennbar, wenn P(X) mindestens zwei Terme enthält

; ∄ ·

Bitfehler‐Burst < Anzahl Check‐Bits ist immer erkennbar, wenn P(X) den Term 1 enthält

· ⋯ 1

(4)

Weitere CRC‐Fakten

Double‐Bitfehler immer erkennbar, wenn P(X) einen Faktor mit drei Termen  besitzt (ohne Beweis)

·

Ungeradzahlige Bitfehler immer erkennbar, solange P(X) einen Faktor (X+1)  enthält  (ohne Beweis)

·

Beliebte Polynome

CRC‐12 =  X

12

+ X

11

+ X

3

+ X

2

+ 1 CRC‐16 =  X

16

+ X

15

+ X

2

+ 1

CRC‐CCITT =  X

16

+ X

12

+ X

5

+ 1

CRC‐32 =  X

32

+ X

26

+ X

23

+ X

22

+ X

16

+ X

12

+ X

11

+ X

10

+ X

8

+ X

7

+ X

5

+ X

4

+ X

2

+ X + 1

(5)

Fehlerkorrektur

(6)

Ablauf der Fehlerkorrektur

(7)

Beispiel Two‐Dimensional‐Parity

0 1 0 1

1 1 1 0

0 1 1 0

1 0 0 1

(8)

Beispiel Two‐Dimensional‐Parity

0 1 0 1 0

1 1 1 0 1

0 1 1 0 0

1 0 0 1 0

0 1 0 0 1

(9)

Erkenn‐ und Korrigierbarkeit von Fehlern

0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1

0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1

Ein‐Bit‐Fehler immer korrigierbar

0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1

Zwei‐Bit‐Fehler nicht immer korrigierbar

0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1

Zwei‐Bit‐Fehler immer erkennbar Nicht‐erkennbarer Fehler

(10)

Erkenn‐ und Korrigierbarkeit von Fehlern

0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1

0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1

Ein‐Bit‐Fehler immer korrigierbar

0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1

Zwei‐Bit‐Fehler nicht immer korrigierbar

0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1

Zwei‐Bit‐Fehler immer erkennbar Nicht‐erkennbarer Fehler

(11)

Erkenn‐ und Korrigierbarkeit von Fehlern

0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1

0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1

Ein‐Bit‐Fehler immer korrigierbar

0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1

Zwei‐Bit‐Fehler nicht immer korrigierbar

0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1

Zwei‐Bit‐Fehler immer erkennbar Nicht‐erkennbarer Fehler

(12)

Erkenn‐ und Korrigierbarkeit von Fehlern

0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1

0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1

Ein‐Bit‐Fehler immer korrigierbar

0 1 0 1 0 1 0 0 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1

Zwei‐Bit‐Fehler nicht immer korrigierbar

0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1

Zwei‐Bit‐Fehler immer erkennbar Nicht‐erkennbarer Fehler

(13)

Erkenn‐ und Korrigierbarkeit von Fehlern

0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1

0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1

Ein‐Bit‐Fehler immer korrigierbar

0 1 0 1 0 1 0 0 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1

Zwei‐Bit‐Fehler nicht immer korrigierbar

0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1

Zwei‐Bit‐Fehler immer erkennbar Nicht‐erkennbarer Fehler

(14)

Hamming‐Distanz

Hamming‐Distanz d(v1, v2) zwischen zwei n‐Bit‐Sequenzen v1 und v2

Beispiel: vier 4‐Bit‐Sequenzen mit einer  paarweisen Hamming‐Distanz von 

mindestens 2

Wieviele Bit‐Fehler können erkannt  werden?

(15)

Hamming‐Distanz

Hamming‐Distanz d(v1, v2) zwischen zwei n‐Bit‐Sequenzen v1 und v2

Beispiel: vier 4‐Bit‐Sequenzen mit einer  paarweisen Hamming‐Distanz von 

mindestens 2

Wie viele Bit‐Fehler können erkannt  werden?

(16)

Hamming‐Distanz

Hamming‐Distanz d(v1, v2) zwischen zwei n‐Bit‐Sequenzen v1 und v2

Beispiel: vier 4‐Bit‐Sequenzen mit einer  paarweisen Hamming‐Distanz von 

mindestens 2

Wie viele Bit‐Fehler können erkannt  werden?

(17)

Allgemein:

Ablauf der Übertragung im Falle keiner Bitfehler

Block‐Codes

Datenblock Codewort 00 -> 00000 01 -> 00111 10 -> 11001 11 -> 11110

Erkennen von Bit‐Fehlern: Es sei Code = {b1,...,bk} und es werde b empfangen: 

Sender

Empfänger

f : Datenblock 

Codewort

(18)

Allgemein:

Ablauf der Übertragung im Falle keiner Bitfehler

Block‐Codes

Datenblock Codewort 00 -> 00000 01 -> 00111 10 -> 11001 11 -> 11110

Erkennen von Bit‐Fehlern: Es sei Code = {b1,...,bk} und es werde b empfangen: 

(1)  ∃ : , 0 ⇒

(2)   ∀ : , 0 ⇒ !

Sender

Empfänger

f : Datenblock 

Codewort

(19)

Korrigieren von Bit‐Fehlern: Es sei Code = {b

1

,...,b

k

} und es werde b empfangen: 

Korrigieren von Bitfehlern

Empfangen        Nächstes gültiges CW       Daten

00000 00000 00

00011 00111 01

01010 ??? ??

Datenblock Codewort

00 -> 00000

01 -> 00111

10 -> 11001

11 -> 11110

(20)

Korrigieren von Bit‐Fehlern: Es sei Code = {b

1

,...,b

k

} und es werde b empfangen:

(1) 

(2)  otherwise Error

Korrigieren von Bitfehlern

Empfangen        Nächstes gültiges CW       Daten

00000 00000 00

00011 00111 01

01010 ??? ??

Datenblock Codewort

00 -> 00000

01 -> 00111

10 -> 11001

11 -> 11110

(21)

Für k Daten‐Bits und n‐Bit Code‐Wörter gilt

Eindeutiges C‐Wort für jeden D‐Block, also

Benötigte Anzahl gültiger Code‐Wörter

Redundante Bits und Code‐Redundanz

Code‐Rate

Code‐Distanz für Code {b1,...,bk} ,

Benötigtes Verhältnis zwischen k und r=n‐

k zum Korrigieren von allen 1‐Bit‐Fehlern?

(22)

Für k Daten‐Bits und n‐Bit Code‐Wörter gilt

Eindeutiges C‐Wort für jeden D‐Block, also

Benötigte Anzahl gültiger Code‐Wörter

Redundante Bits und Code‐Redundanz

Code‐Rate

Code‐Distanz für Code {b1,...,bk} ,

Benötigtes Verhältnis zwischen k und r=n‐

k zum Korrigieren von allen 1‐Bit‐Fehlern?

For every code word b (CW) exists n possible code words with Hamming distace 1

For every data block we need bit patterns

So we need for that in total:

· bit patterns From this we have:

·

(23)

Für k Daten‐Bits und n‐Bit Code‐Wörter gilt

Eindeutiges C‐Wort für jeden D‐Block, also

Benötigte Anzahl gültiger Code‐Wörter

Redundante Bits und Code‐Redundanz

Code‐Rate

Code‐Distanz für Code {b1,...,bk} ,

Benötigtes Verhältnis zwischen k und r=n‐

k zum Korrigieren von allen 1‐Bit‐Fehlern?

And total number of redundant bits is:

(24)

Hamming‐Code

If we have 7 bits of data, how many check bits do we need?

k = 7, r = ?

(25)

Hamming‐Code

If we have 7 bits of data, how many check bits do we need?

k = 7, r = ?

=> r = 0 => 8 <= 1 => False

=> r = 1 => 9 <= 2 => False

=> r = 2 => 10 <= 4 => False

=> r = 3 => 11 <= 8 => False

=> r = 4 => 12 <= 16 => True!!!

=> r = 4

(26)

Hamming‐Code

If we have 7 bits of data, how many check bits do we need?

k = 7, r = ?

=> r = 0 => 8 <= 1 => False

=> r = 1 => 9 <= 2 => False

=> r = 2 => 10 <= 4 => False

=> r = 3 => 11 <= 8 => False

=> r = 4 => 12 <= 16 => True!!!

=> r = 4

How do we calculate check bits and how do we 

organize data?

(27)

Hamming‐Code

1       2        3       4       5       6        7       8       9       10     11

Daten‐Bits Check‐Bits

3 = 0 0 1 1 5 = 0 1 0 1 6 = 0 1 1 0 7 = 0 1 1 1 9 = 1 0 0 1 10 = 1 0 1 0 11 = 1 0 1 1

Beispiel‐Daten‐Bits:

1 0 0 1 0 0 0

(28)

Hamming‐Code

1       2        3       4       5       6        7       8       9       10     11

Daten‐Bits Check‐Bits

3 = 0 0 1 1 5 = 0 1 0 1 6 = 0 1 1 0 7 = 0 1 1 1 9 = 1 0 0 1 10 = 1 0 1 0 11 = 1 0 1 1

Beispiel‐Daten‐Bits:

1 0 0 1 0 0 0

(29)

Hamming‐Code

1       2        3       4       5       6        7       8       9       10     11

Daten‐Bits Check‐Bits

3 = 0 0 1 1 5 = 0 1 0 1 6 = 0 1 1 0 7 = 0 1 1 1 9 = 1 0 0 1 10 = 1 0 1 0 11 = 1 0 1 1

Beispiel‐Daten‐Bits:

1 0 0 1 0 0 0

(30)

Hamming‐Code

1       2        3       4       5       6        7       8       9       10     11

Daten‐Bits Check‐Bits

3 = 0 0 1 1 5 = 0 1 0 1 6 = 0 1 1 0 7 = 0 1 1 1 9 = 1 0 0 1 10 = 1 0 1 0 11 = 1 0 1 1

Beispiel‐Daten‐Bits:

1 0 0 1 0 0 0

(31)

Hamming‐Code

1       2        3       4       5       6        7       8       9       10     11

Daten‐Bits Check‐Bits

3 = 0 0 1 1 5 = 0 1 0 1 6 = 0 1 1 0 7 = 0 1 1 1 9 = 1 0 0 1 10 = 1 0 1 0 11 = 1 0 1 1

Beispiel‐Daten‐Bits:

1 0 0 1 0 0 0

(32)

Hamming‐Code

1       2        3       4       5       6        7       8       9       10     11

Daten‐Bits Check‐Bits

3 = 0 0 1 1 5 = 0 1 0 1 6 = 0 1 1 0 7 = 0 1 1 1 9 = 1 0 0 1 10 = 1 0 1 0 11 = 1 0 1 1

Beispiel‐Daten‐Bits:

1 0 0 1 0 0 0

(33)

Hamming‐Code

0 0 1 1 0 0 1

1       2        3       4       5       6        7       8       9       10     11

0 0 0 0

Daten‐BitsCheck‐Bits

3 = 0 0 1 1 5 = 0 1 0 1 6 = 0 1 1 0 7 = 0 1 1 1 9 = 1 0 0 1 10 = 1 0 1 0 11 = 1 0 1 1

Beispiel‐Daten‐Bits:

1 0 0 1 0 0 0

(34)

Erkennen eines Ein‐Bit‐Fehlers

0 0 1 1 0 0 1

1       2        3       4       5       6        7       8       9       10     11

0 0 0 0

0 0 1 1 0 1 1 0 0 0 0

Original Code‐Wort

Ein‐Bit‐Fehler

3 = 0 0 1 1 5 = 0 1 0 1 6 = 0 1 1 0 7 = 0 1 1 1 9 = 1 0 0 1 10 = 1 0 1 0 11 = 1 0 1 1

Check Ergebnis

Daten‐Bits Check‐Bits

(35)

Erkennen eines Ein‐Bit‐Fehlers

0 0 1 1 0 0 1

1       2        3       4       5       6        7       8       9       10     11

0 0 0 0

0 0 1 1 0 1 1 0 0 0 0

Original Code‐Wort

Ein‐Bit‐Fehler

3 = 0 0 1 1 5 = 0 1 0 1 6 = 0 1 1 0 7 = 0 1 1 1 9 = 1 0 0 1 10 = 1 0 1 0 11 = 1 0 1 1

0 1 1 0

Check Ergebnis

Daten‐Bits Check‐Bits

=6

(36)

Hamming‐Code erreicht die Schranke

Wie eben für k Daten‐Bits und n‐Bit Code‐Wörter ausgerechnet:

Benötigtes Verhältnis zwischen k und r=n‐k zum Korrigieren von allen 1‐Bit‐

Fehlern:

r+k+1  2 r

Beispiel für unten abgebildeten Hamming‐Code:

1       2        3       4       5       6        7       8       9       10     11     12     13     14     15

Daten‐Bits Check‐Bits Was wenn Daten nur bis 11?

n = 15

k = 11

r = 4

(37)

Hamming‐Code erreicht die Schranke

Wie eben für k Daten‐Bits und n‐Bit Code‐Wörter ausgerechnet:

Benötigtes Verhältnis zwischen k und r=n‐k zum Korrigieren von allen 1‐Bit‐

Fehlern:

r+k+1  2 r

Beispiel für unten abgebildeten Hamming‐Code:

1       2        3       4       5       6        7       8       9       10     11     12     13     14     15

Daten‐Bits Check‐Bits Was wenn Daten nur bis 11?

n = 15 k = 11 r = 4

n = 11

k = 7

r = 4

(38)

Umgang mit Bit‐Fehler‐Bursts

Also:

(39)

Fakten zu allgemeinen Block‐Codes

Code‐Distanz von dmin >= 2t+1 kann bis zu  wie viele c‐Bit‐Fehler korrigieren?

Und wie viele d‐Bit‐Fehler erkennen?

Also: Code‐Distanz von dminerlaubt  Korrektur von bis zu wie vielen Fehlern?

Und Erkennen von wie vielen Fehlern?

(40)

Fakten zu allgemeinen Block‐Codes

Code‐Distanz von dmin >= 2t+1 kann bis zu  wie viele c‐Bit‐Fehler korrigieren?

Und wie viele d‐Bit‐Fehler erkennen?

Also: Code‐Distanz von dminerlaubt  Korrektur von bis zu wie vielen Fehlern?

Und Erkennen von wie vielen Fehlern?

(41)

Coding‐Gain

coding gain

(42)

Extended Hamming code

RG 1       2        3       4       5       6        7       8       9       10     11

Daten‐Bits Check‐Bits

3 = 0 0 1 1 5 = 0 1 0 1 6 = 0 1 1 0 7 = 0 1 1 1 9 = 1 0 0 1 10 = 1 0 1 0 11 = 1 0 1 1

RG – parity bit for the whole  code word;

RG = 0 when number of 1 is even

RG = 1 when number of 1 is odd

(43)

Extended Hamming code

0 0 1 1 0 0 1

RG 1       2        3       4       5       6        7       8       9       10     11

0 0 0 0

Daten‐BitsCheck‐Bits

3 = 0 0 1 1 5 = 0 1 0 1 6 = 0 1 1 0 7 = 0 1 1 1 9 = 1 0 0 1 10 = 1 0 1 0 11 = 1 0 1 1

Beispiel‐Daten‐Bits:

1 0 0 1 0 0 0

1

RG – parity bit for the whole code word;

RG = 0 when number of 1 is even

RG = 1 when number of 1 is odd

Referenzen

ÄHNLICHE DOKUMENTE

• Practice fast and slow version of last 3 slides (maybe have an extra slide you might skip).. Some

• Neural Machine Translation By Jointly Learning To Align And Translate [Link]. • Attention Is All You

to■ a■ representation■ that■ the■ configured■ Loca- tion■ Dimension■ Instance■ understands.■ The■ Address ■.

Crucially, however, the early onset of the N400 pseudoword effect for coronal variants suggests that the CORONAL PLACE is immediately used to prevent lex- ical activation of

[r]

Addition der Indizes der falschen Parit¨ atsbits. ⇒ Index des

 Calls to make data accessible and share data were welcomed but did not give any results.... Why are data not

This function is used to compare flight trajectories to the topography of the volcano in order to determine the flight distance of ballistic clasts.. You can calculate the