Problema della decodifica
Introduzione al problema della decodifica
Notazioni
- Def: definizione
- Oss: osservazione
- Dim: dimostrazione
- CLAIM: sta per "affermo che" all'interno di una dimostrazione
- Es: esempio
- ★, *, (.) usati come etichette
Messaggio sorgente
Rumore
Messaggio ricevuto
Codifica di sorgente
Trasmissione canale di comunicazione
Decodifica di ricezione
* codifica primaria
** decodifica secondaria
Esempio:
SUD <-> 00
NORD <-> 10
EST <-> 01
OVEST <-> 11
In questo caso supponiamo che Codifica = Decodifica.
Questo canale implicitamente è un'applicazione F22 -> F22 con F2 = Z/2. Per ridurre il Rumore, bisogna agire su cod. e dec.
Esempio di trasmissione
Trasmetto SUD = 00. Se il rumore altera < 1 bit, non ci sono errori. Se il rumore altera < 2 bit, ci sono possibili messaggi ricevuti. Quindi con tale codifica e decodifica:
- a) Non riesco a segnalare possibili errori in trascrizione [NO ERROR DETECTION]
- b) Non riesco nemmeno a correggerli [NO ERROR CORRECTION]
Soluzione
Aggiungo una codifica/decodifica
Codifica (-):
Posso enumerare i bit:
00 ↔ 000
10 ↔ 101
01 ↔ 011
11 ↔ 110
Aggiungo un terzo bit di ridondanza, somma dei precedenti. Questa è un'applicazione da F22 a F23.
Decodifica (⋅⋅)
L'unica decodifica valida in generale (per tutti i canali) senza ulteriori info sul canale + rumore è la DECODIFICA A MINIMA DISTANZA (mdd).
Distanza di Hamming
d((x1, x2, x3), (y1, y2, y3)) = # i | xi ≠ yi
xi, yi ϵ F2
Esempio: d((100), (011)) = 3, d((100), (110)) = 1
A questo punto, mdd: Se ricevo y ϵ F23, decodifico y ⟶ x dove x ϵ C ⊆ F23 + Cd (y, x) = min d (y, x') x' ϵ C Codice, insieme di parole, C ϵ F23.
Esempio: NORD ⟶ (101) ⟶ CANALE ⟶ y = 101 ϵ C 100 ➔ (C 111 001⟶ min ((101, x') x' ϵ C)
Ora mi accorgo che 3 dei risultati non stanno nel codice (che abbiamo definito prima)
- (1) Mi accorgo che c'è stato almeno 1 errore
- (2) Non posso però correggere univocamente l'errore, poiché esistono più elementi del codice che realizzano la moda fra y e gli elementi del codice (per es. 000, 101 ∈ C)
Esercizio
Che succede se l'errore è ≤ 2 bits? Idea: usare
- 00 ↔ 00000
- 01 ↔ 01111
- 10 ↔ 10110
- 11 ↔ 11001
C ⊆ ℱ25 e dire in che modo migliora la situazione di decodifica. Potrei fare d(C) (minima distanza tra le parole del codice): d(C) = 3. Aumentando la dimensione di codifica e scegliendo le parole di cod. distanziate, migliora la situazione di decodifica. Quindi: ci vuole un compromesso tra n grande (e C ⊆ ℱ2n) e velocità di trasmissione nel canale e di decodifica. Di tale compromesso si occupa la teoria dei codici.
Definizioni
(1) Un alfabeto A è un insieme finito A = {a1, ..., aq} q = # (A) si dice TAGLIA dell'alfabeto.
Notazione: Aq è un alfabeto con #(A) = q. Gli elementi di A si dicono lettere dell'alfabeto.
(2) Un codice di lunghezza n è un sottoinsieme C ⊂ Aqn = Aq × Aq × ... × Aq (n volte) e #(C) si dice TAGLIA DEL CODICE: #(C) ≤ qn.
(3) Distanza di Hamming (in Aqn)
d(x, y) = # { i ∈ {1, ..., n} | xi ≠ yi }
x = (x1, ..., xn) ∈ Aqh y = (y1, ..., yn) ∈ Aqn
Proprietà
- 0 ≤ d(x, y) ≤ n
- d(x, y) ≤ d(x, x') + d(x', y) disuguaglianza triangolare
- d(x, y) = d(y, x)
- d(x, y) ≥ 0 ∀ x, y e d(x, y) = 0 s.s. se x = y
Def. Se C ⊂ Aqn ⇒ si dice distanza del codice d(C) = min { d(x, x') | x, x' ∈ C, x ≠ x' } (minima distanza fra 2 elementi del codice).
Def. Se y ∈ Aqn ⇒ d(y, C) = min { d(y, x) }
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti Matematica discreta
-
Appunti di Matematica discreta
-
Appunti Matematica discreta
-
Logica e matematica discreta - Appunti