UNIVERSITÀ DEGLI STUDI DI PADOVA
DIPARTIMENTO DI INGEGNERIA DELL’INFORMAZIONE
CORSO DI LAUREA IN INGEGNERIA DELLE TELECOMUNICAZIONI
TESI DI LAUREA
CODICI
CONVOLUZIONALI
BIDIMENSIONALI
RELATORE:
chiar.mo prof. Mauro Bisiacco
CORRELATORI:
chiar.ma prof.ssa Maria Cristina Ronconi
chiar.ma prof.ssa Maria Elena Valcher
LAUREANDO:
Manuel Toniato
Anno Accademico 2003/2004
Padova, 19 aprile 2005
Alla mia famiglia
Indice
Introduzione
V
1
Lo spazio di definizione
1
1.1
Le serie a supporto compatto nel passato . . . . . . . . . . . . .
1
1.2
Le serie causali . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.3
Le serie debolmente causali . . . . . . . . . . . . . . . . . . . . .
4
1.4
Le serie debolmente causali traslate . . . . . . . . . . . . . . . . .
12
2
3
Codici 2D. Definizioni e proprietà
23
2.1
La definizione di codice bidimensionale . . . . . . . . . . . . . .
23
2.2
Codificatori iniettivi . . . . . . . . . . . . . . . . . . . . . . . . .
23
2.3
Codificatori equivalenti . . . . . . . . . . . . . . . . . . . . . . .
24
2.4
Codificatori e decodificatori non catastrofici . . . . . . . . . . . .
26
2.4.1
Decodifica non catastrofica semplice . . . . . . . . . . . .
26
2.4.2
Decodifica non catastrofica robusta . . . . . . . . . . . . .
30
2.5
Codificatori sistematici . . . . . . . . . . . . . . . . . . . . . . . .
34
2.6
Formatori di sindrome . . . . . . . . . . . . . . . . . . . . . . . .
34
Confronto con le altre teorie dei Codici 2D
37
3.1
Le altre definizioni di codice 2D . . . . . . . . . . . . . . . . . . .
37
3.2
Confronto tra le proprietà dei codici . . . . . . . . . . . . . . . .
40
3.2.1
Iniettività . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
3.2.2
Codificatori Equivalenti . . . . . . . . . . . . . . . . . . .
40
3.2.3
Catastroficità . . . . . . . . . . . . . . . . . . . . . . . . .
41
3.2.4
Formazione della sindrome . . . . . . . . . . . . . . . . .
44
Conclusioni
45
I
INDICE
A Richiami di Algebra
A1 Relazioni d’ordine . . . .
A2 Strutture Algebriche . .
A3 Moduli e spazi vettoriali
A4 Matrici . . . . . . . . . .
A5 Matrici Polinomiali . . .
A6 Matrici Razionali . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Bibliografia
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
49
49
50
51
53
53
54
55
Ringraziamenti
II
Simbologia
F
F[z1 , z2 ]
F± = F[z1 , z2 , z1−1 , z2−1 ]
F(z1 , z2 )
F[[z1 , z2 ]]
Fp,q,r,s [[z1 , z2 ]]
Fp,q ((z1 , z2 ))
F∞ = F[[z1 , z2 , z1−1 , z2−1 ]]
supp(a)
F(m, n)
P(m, n)
N
Z
Z+
Z+
0
Q
R
Campo finito che costituisce l’alfabeto del codice
Anello dei polinomi ordinari in due indeterminate su F
Anello dei polinomi di Laurent in due indeterminate su F
Campo delle funzioni razionali in due indeterminate su F
Anello delle serie formali causali
P
i j
( ∞
i=0,j=0 aij z1 z2 )
Anello delle serie formali debolmente causali
con supporto contenuto nel cono Cp,q,r,s
Campo delle serie formali debolmente causali
traslate in Cp,q
Gruppo delle serie formali in due indeterminate
P∞
P
i j
( +∞
j=−∞ aij z1 z2 )
i=−∞
supporto di a (dove a è una serie 2D) cioè l’insieme dei punti (m, n) ∈ Z2 tali che amn 6=
0
Futuro di (m, n), cioè l’insieme di punti (x, y) ∈
Z2 tali che (x > m) ∧ (y > n)
Passato di (m, n), cioè l’insieme di punti (x, y) ∈
Z2 tali che (x 6 m) ∧ (y 6 n)
Insieme dei numeri naturali
Insieme dei numeri interi
Insieme dei numeri interi positivi
Insieme dei numeri interi nonnegativi
Insieme dei numeri razionali
Insieme dei numeri reali
III
Introduzione
L’importanza dei codici a correzione d’errore
L’affidabilità del sistema di comunicazione Lo scopo principale di un sistema di comunicazione risiede nella possibilità di riprodurre in modo fedele un
messaggio di informazione in luoghi e/o tempi differenti da quello in cui l’informazione entra nel sistema (in questo senso consideriamo come sistemi di
comunicazione anche le operazioni di data storage su di un supporto). Poiché qualsiasi mezzo di trasmissione (o di registrazione dei dati) è soggetto a
variazioni casuali (rumore) che possono deteriorare il messaggio inviato, ogni
sistema di comunicazione deve elencare tra le sue caratteristiche, non solo la
quantità di informazioni che è in grado di trasmettere, ma anche l’affidabilità
della trasmissione.
Nel caso delle trasmissioni digitali questa affidabilità si misura con la probabilità d’errore del sistema, cioè la probabilità che il simbolo ricevuto sia diverso da quello trasmesso. Lo scopo principale dei codici a correzione d’errore
è proprio quello di rilevare questi errori di trasmissione e, se possibile, di correggerli. Ciò può avvenire grazie all’introduzione di ridondanza nel messaggio
trasmesso. Si aggiunge cioè una correlazione tra i simboli in trasmissione in
modo da poter stimare se il messaggio ricevuto può effettivamente essere stato
trasmesso.
L’esempio della lingua italiana A questo proposito facciamo un esempio con
la lingua italiana, o meglio con il vocabolario italiano che è effettivamente un
codice ridondante1 . Se in una trasmissione di un testo costituito solo da parole
appartenenti alla lingua italiana, riceviamo la parola cmsa formata da 4 simboli siamo sicuri che nella trasmissione c’è stato almeno un errore. Non siamo
1
Un esempio analogo viene illustrato da Shannon nel suo articolo ([28]). Shannon afferma
che, esaminando le parole del vocabolario, si vede che la lingua inglese ha una ridondanza di
circa il 50%, dato, quest’ultimo, che può venire esteso anche alle altre lingue naturali.
V
INTRODUZIONE
però in grado di correggerlo, anche solo ipotizzando che ci sia stato un solo
errore nella trasmissione: infatti ci sono almeno due parole (casa e cosa) che
differiscono da cmsa per un solo simbolo. Se d’altro canto la parola ricevuta
fosse stata prvimento, non essendoci nel vocabolario parole oltre a pavimento,
che differiscano per un solo simbolo dalla parola ricevuta, saremmo stati in
grado non solo di individuare l’errore ma anche di correggerlo. Purtroppo la
lingua italiana non è un buon codice per la trasmissione perché ci sono parole del vocabolario che differiscono per un solo carattere: cosı̀ se trasmettiamo
mare e riceviamo more, con un’analisi ristretta alla sola ortografia, che prescida
cioè dalla semantica del messaggio, non siamo in grado di individuare l’errore.
Il limite di Shannon La fondamentale importanza dei codici a correzione
d’errore nelle comunicazioni digitali si comprese a fondo nel 1948 grazie all’articolo di Claude Elwood Shannon ([28]) che pose le basi per la moderna
teoria dell’informazione. All’interno del suo monumentale articolo Shannon
dimostrò che ogni canale di trasmissione aveva una capacità intrinseca di trasmissione legata al rapporto tra la potenza del segnale trasmesso e la potenza
del rumore del canale. Attraverso tecniche legate alla teoria della probabilità
Shannon arrivò quindi al seguente risultato che avrebbe segnato la fortuna dei
codici a correzione d’errore nei decenni successivi:
Teorema Dato un canale di capacità C, per ogni trasmissione con rate Ri < C
si possono codificare i messaggi con un codice rendendo arbitrariamente piccola la
probabilità d’errore. Tale codice non esiste per Ri > C. ([28, Teor. 21]).
La dimostrazione di Shannon indicava il limite (Ri < C è il cosiddetto limite
di Shannon) ma non dava indicazioni su come dovesse essere costruito il codice. Nei decenni che sono trascorsi dal 1948 a oggi sono state sviluppate varie
soluzioni per la codifica di canale. I codici studiati rientrano tutti in due grandi categorie: i codici a blocco (block codes) e i codici convoluzionali (convolutional
codes).
Codici a blocco e codici convoluzionali In entrambe le tipologie di codice
il messaggio in ingresso al codificatore viene suddiviso in blocchi formati da
k simboli. Ogni blocco viene elaborato aggiungendovi (n − k) simboli di ridondanza: il messaggio trasmesso sul canale è quindi costituito da blocchi di
n simboli. Ovviamente per non perdere informazioni deve essere n > k. In
VI
INTRODUZIONE
ricezione lo studio degli (n − k) simboli di ridondanza permette di ricostruire
i blocchi di k simboli trasmessi. Il rapporto nk viene detto rapporto di codifica
(code rate).
La differenza tra le due tipologie di codice risiede nella modalità con cui
vengono codificati i blocchi. Nei codici a blocco, ogni blocco codificato al tempo t0 è funzione esclusivamente del blocco in ingresso al tempo t0 . La trasformazione è quindi istantanea e si parla di codice a blocchi (n, k). Nel caso dei codici convoluzionali invece, il blocco codificato al tempo t0 non dipende solo dal
blocco in ingresso al tempo t0 ma anche da m simboli precedenti. Si dice che
l’operazione di codifica è un’operazione con memoria. Il parametro m è fondamentale nella definizione del codice: nel caso di un codice convoluzionale
si parla di un codice (n, k, m).
Codici convoluzionali unidimensionali
I codici convoluzionali furono proposti per la prima volta da Peter Elias nel
1955 ([4]). Negli anni successivi ci si concentrò sugli aspetti algoritmici della codifica e decodifica senza approfondire i concetti matematici che stavano
alla base dei codici convoluzionali (un esempio dell’approccio di quel periodo è il celeberrimo algoritmo di Viterbi, [30]). Solo alla fine degli anni ’60 si
cominciò a guardare ai codici da un punto di vista teorico: i primi a studiare
le connessioni tra i codici convoluzionali e la teoria dei sistemi lineari furono
Massey e Sain ([21]). Ma fu nei primi anni ’70 che si posero effettivamente
le basi per uno studio algebrico dei codici convoluzionali. G. D. Forney, con
una serie di articoli successivi ([12], [13], [14]) propose un approccio ai codici
convoluzionali che utilizzava la teoria dei sistemi multivariabili di Rosenbrock
([25]). Lo studio delle proprietà del codice (distanza, memoria, . . . ) si riduceva
allo studio della matrice razionale con cui veniva rappresentato il codificatore. Tutte le trattazioni successive (per esempio [15], [17] e [23]) si sono basate
sull’approccio di Forney.
Negli ultimi anni sono state introdotte nello studio dei codici convoluzionali nuove metodologie, sviluppate inizialmente all’interno della teoria dei sistemi. Esse focalizzano la propria attenzione non tanto sul processo di codifica e
sul codificatore, quanto sulle proprietà del codice stesso o meglio dell’insieme
delle parole di codice. I nuovi approcci sono principalmente tre:
1. dinamica simbolica ([18], [20])
VII
INTRODUZIONE
2. teoria dei behavior ([32], [33],[34])
3. teoria dei moduli ([27])
I tre nuovi approcci unitamente all’approccio classico di Forney sono stati analizzati in dettaglio e comparati da Joachim Rosenthal ([26]). Rinviamo a questo articolo il lettore interessato a una visione di insieme sui codici
convoluzionali unidimensionali.
Codici convoluzionali bidimensionali: approcci esistenti in letteratura
Lo studio dei codici bidimensionali è legato alla teoria dei sistemi bidimensionali. Questa teoria si propone di modellizzare e analizzare sistemi fisici in
cui le grandezze in gioco non dipendono più dalla sola coordinata temporale,
ma da due coordinate (due coordinate spaziali, una temporale e una spaziale,
. . . ). Ettore Fornasini (che insieme a Giovanni Marchesini è stato tra i primi a
studiare i sistemi 2D, [8], [7]) applica per esempio la teoria dei sistemi 2D allo
studio dell’inquinamento lungo un fiume ([5]), dove ciò che accade nel passato influenza il futuro (e non viceversa) e ciò che accade a monte influenza
ciò che accade a valle (e non viceversa): in questo caso il sistema dipende da
una coordinata temporale e da una spaziale. Nel caso dei codici bidimensionali l’applicazione principale è la codifica di segnali bidimensionali come le
immagini (due coordinate spaziali).
I tre approcci introdotti alla fine del paragrafo precedente, sono alla base delle teorie dei codici convoluzionali multidimensionali e, in particolare
bidimensionali, presenti in letteratura.
Sulla scia della dinamica simbolica possiamo per esempio trovare il recente
articolo di Bruce Kitchens ([16]) ma è soprattutto sulla base delle altre due
teorie che si sono avuti i risultati maggiori.
La teoria dei behavior di Willems è stata estesa ed applicata ai codici convoluzionali bidimensionali da E. Fornasini e da M. E. Valcher in una serie di
articoli dei primi anni ’90 ([9], [10], [29]), articoli che hanno costituito il primo
vero studio dei codici 2D.
L’applicazione della teoria dei moduli ai codici è stata sviluppata a partire
dalla metà degli anni ’90 dal gruppo di Joachim Rosenthal alla University of
VIII
INTRODUZIONE
Notre Dame, Indiana. In particolare lo studio dei codici multidimensionali è
stato condotto da Paul Weiner ([31]) che ha rielaborato ed esteso nella sua tesi
alcuni risultati già presenti in un articolo di Fornasini e Valcher ([10]).
Le due teorie propongono due diverse definizioni di codice convoluzionale. La principale differenza fra le due definizioni risiede nella tipologia di
segnali ammessi in ingresso. Infatti, mentre Weiner, per la teoria dei moduli, richiede che i segnali in ingresso siano a supporto finito, Fornasini e Valcher non danno nessuna limitazione (anzi una delle proprietà caratterizzanti
il codice richiede che esistano segnali a supporto infinito). Da questa differenza nella definizione seguono di conseguenza ulteriori e importanti differenze
nelle proprietà dei codici.
C’è però una proprietà che accomuna le due definizioni. Infatti entrambe
richiedono che i codificatori siano polinomiali: le funzioni di trasferimento sono perciò a supporto finito. Tale restrizione non era presente nel lavoro classico
di Forney che anzi prevedeva la possibilità di avere codificatori razionali.
Lo scopo di questa tesi è appunto l’estensione al caso bidimensionale della
teoria di Forney per indagare la possibilità di avere codificatori razionali anche
nel caso 2D.
L’approccio di Forney nel caso 1D
Per poter analizzare le proprietà dei codici sfruttando gli strumenti dell’algebra, Forney associa a ogni sequenza di simboli
u = (. . . , u−2 , u−1 , u0 , u1 , u2 , . . .)
una serie formale di potenze
u = . . . + u−2 z
−2
+ u−1 z
−1
2
+ u0 + u 1 z + u 2 z + . . . =
+∞
X
ui z i
−∞
In questo modo la convoluzione nello spazio delle sequenze diventa un semplice prodotto alla Cauchy nello spazio delle serie formali.
Osservazione In letteratura non c’è uniformità nella terminologia in merito
alle serie formali. Per alcuni autori (soprattutto per i matematici specializzati
P
i
in algebra) si definiscono serie formali di potenze le serie del tipo +∞
i=0 ai z (si
IX
INTRODUZIONE
veda ad esempio il testo di Zariski e Samuel, [35]). Altri autori, soprattutto
coloro che si occupano di teoria dei codici, identificano le serie formali con
P
i
le serie bilatere +∞
−∞ ai z (si veda ad esempio [26], [9], [6]). In questa sede ci
atterremo a questa seconda convenzione che meglio risponde alle esigenze di
modellizzare tutte le possibili sequenze in ingresso.
Purtroppo nello spazio F[[z, z −1 ]] delle serie formali non sempre il prodotto
è definito. In generale non è definito nemmeno il prodotto di una serie formale
per una funzione razionale come si può vedere nel seguente esempio.
Esempio 1 Sia
+∞
X
1
G=
=
zi
1−z
i=0
e
u=
+∞
X
zi
−∞
Si vede facilmente che non si può ricondurre a una somma finita nessun coefficiente della serie prodotto Gu.
Per poter usare codificatori razionali si è perciò costretti a porre restrizioni
sulle sequenze ammissibili in ingresso. Si dimostra che, perché il prodotto sia
sempre ben definito, basta restringersi alle serie formali di Laurent o altrimenti
dette serie a supporto compatto a sinistra. Con questo nome si denotano le serie
P
i
del tipo +∞
i=d ai z con d ∈ Z. Seguendo la simbologia introdotta da Forney,
indicheremo l’insieme delle serie di questo tipo con il simbolo F((z)). Tale
restrizione non solo permette di definire il prodotto per qualsiasi coppia (a, b)
di elementi dell’insieme, ma si dimostra che l’insieme è chiuso rispetto alle
usuali operazioni di somma e prodotto e che esso è un campo rispetto a tali
operazioni. Inoltre la teoria delle trasformate zeta assicura che ogni funzione
razionale r ∈ F(z) può essere sviluppata in una serie di F((z)).
Una volta adottata la restrizione dell’ingresso alle serie a supporto compatto a sinistra, Forney esegue una trasformazione serie/parallelo che mappa
la serie formale di partenza ũ ∈ F((z)) in un vettore k-dimensionale2 di serie
2
Nella teoria dei codici, al contrario della teoria dei sistemi, si è soliti utilizzare vettori riga.
X
INTRODUZIONE
formali u ∈ F((z))k
 P
+∞
uk·i z k·i
 P−∞
k·i+1
 +∞
+∞
 P−∞ uk·i+1 z
X
 +∞
ũ =
ui z i 7→ u =  −∞ uk·i+2 z k·i+2
 .
−∞
 ..

P+∞
k·i+(k−1)
−∞ uk·i+(k−1) z
T








con k ∈ N
In questo contesto l’operazione di codifica convoluzionale diventa una trasformazione tra i vettori u ∈ F((z))k e i vettori y ∈ F((z))n , trasformazione
operata da una matrice razionale G(z) ∈ F(z)k×n .
y = uG
E proprio a questo fatto fa riferimento la definizione di Forney ([13]) di codice convoluzionale, definizione che estende una precedente definizione dovuta a Massey e Sain3 ([21]).
Definizione Un codice convoluzionale (n, k) sul campo F è un F((z))-sottospazio
C di F((z))n , di dimensione k e avente una base di vettori in F(z)n .
In questo modo un codice convoluzionale risulta essere uno sottospazio vettoriale di dimensione k dello spazio vettoriale F((z))n e l’analisi del codice può
avvalersi dei potenti strumenti dell’algebra lineare.
Struttura della tesi
La struttura della tesi ricalca l’approccio usato da Forney.
Nel capitolo 1 cercheremo quale possa essere un equivalente bidimensionale del concetto di serie compatta a sinistra per poter definire convenientemente un codice convoluzionale 2D. Partiremo dall’analisi delle serie a supporto
compatto nel passato per poi restringerci alle serie debolmente causali e infine
alle serie debolmente causali traslate.
Nel capitolo 2 daremo la definizione di codice 2D e ne studieremo le proprietà principali quali l’equivalenza fra i codificatori, i codificatori sistematici
3
Massey e Sain avevano posto condizioni più restrittive sulle sequenze in ingresso. Essi
infatti avevano imposto che le sequenze in ingresso fossero razionali e quindi che le serie
formali compatte a sinistra che le rappresentavano fossero definitivamente periodiche.
XI
INTRODUZIONE
e la formazione della sindrome. Una particolare attenzione verrà riservata al
problema dei codificatori catastrofici in quanto in tale argomento si vedono le
maggiori differenze tra i codici unidimensionali e i codici 2D.
Nel capitolo 3 infine confronteremo i risultati ottenuti con i risultati già
presenti in letteratura per quanto riguarda i codici bidimensionali.
XII
Capitolo 1
Lo spazio di definizione
Lo studio dei codici convoluzionali in ambito bidimensionale si avvale, come
nel caso unidimensionale, degli strumenti dell’algebra (lineare e commutativa). Considerando messaggi di informazione a tempo discreto e a valori in un
campo (solitamente finito) F, si può stabilire una corrispondenza biunivoca tra
2
lo spazio dei messaggi FZ e lo spazio delle serie formali a indici in Z2 . Le serie
P
formali nel caso 2D saranno serie del tipo a = (i,j)∈Z2 aij z1i z2j e l’insieme di
tali serie sarà indicato con F∞ .
È ben noto che si può dotare F∞ di una struttura di gruppo commutativo con
l’usuale operazione di somma, definita termine a termine. L’elemento neutro
P
P
risulta la serie nulla 0 = i,j 0z1i z2j e, data una serie a = i,j aij z1i z2j , l’opposto
P
di a è la serie −a = i,j −aij z1i z2j . Purtroppo, come nel caso unidimensionale,
l’usuale prodotto alla Cauchy non è definito per tutte le coppie di F∞ × F∞ . Si
dimostra però che, nei casi in cui esso si può definire, esso gode delle proprietà
associativa, commutativa e distributiva rispetto alla somma.
Per poter estendere la teoria di Forney al caso 2D e studiare perciò codici
che ammettano anche codificatori razionali, è necessario costruire un opportuno sottoinsieme proprio di F∞ in cui sia definito, per ogni elemento a del sottoinsieme, il prodotto ab dove b ∈ F(z1 , z2 ) (ruolo ricoperto nel caso 1D dalle
serie a supporto compatto a sinistra). Inoltre tale sottoinsieme dovrà essere un
campo rispetto alle usuali operazioni di somma e prodotto, come accade nel
caso unidimensionale per le serie a supporto compatto a sinistra.
1.1
Le serie a supporto compatto nel passato
La scelta più ovvia sarebbe quella di restringersi banalmente alle serie formali a
supporto compatto nel passato, estensione immediata del concetto di compattezza
1
Capitolo 1.
LO SPAZIO DI DEFINIZIONE
a sinistra. Dato un punto (i, j) ∈ Z2 il suo passato è rappresentato dal quarto
di piano P(x, y) = {(x, y)|x 6 i, y 6 j}.
P
Definizione 1.1 La serie a = aij z1i z2j è una serie formale a supporto compatto
nel passato se, preso un qualsiasi punto (m, n) ∈ Z2 , si ha che l’insieme supp(a) ∩
P(m, n) contiene un numero finito di punti.
I due esempi che seguono 1.1 mostrano la scelta delle serie a supporto
compatto nel passato però non sia una buona scelta.
Esempio 1.1 Si considerino le due serie a supporto compatto nel passato:
a=
X
z1i z2j
i+j=0
i60
b=
X
z1i z2j
i+j=0
i>0
e si costruisca il prodotto
c=a·b
Il coefficiente c00 si ottiene come
c00 = a00 b00 + a−1,1 b1,−1 + a−2,2 b2,−2 + . . . =
+∞
X
1
i=0
che analogamente a quanto visto nell’esempio del caso 1D non può essere
ricondotto a una somma finita.
Esempio 1.2 Quando un operazione è ben definita, se essa è associativa e
dotata di elemento neutro, si dimostra facilmente che, quando un elemento
ammette simmetrico rispetto a tale operazione, esso è unico.
Infatti supponiamo che, rispetto all’operazione ∗, esistano due elementi
simmetrici distinti per l’elemento a 6= 0, elementi che verranno denotati rispettivamente c e c′ :
a∗c=c∗a=e
a ∗ c′ = c′ ∗ a = e
Allora si ha
c = c ∗ e = c ∗ (a ∗ c′ ) = (c ∗ a) ∗ c′ = e ∗ c′ = c′
2
1.1 Le serie a supporto compatto nel passato
z2
b
b
z2
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
z1
z1
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
a=
P
i j
i+j=0 z1 z2
i60
b=
P
i j
i+j=0 z1 z2
i>0
Figura 1.1: Le due serie dell’esempio 1.1. Il loro prodotto non è definito.
contro l’ipotesi che siano distinti.
Utilizzando tale risultato dimostriamo che il prodotto alla Cauchy non è
ben definito tra le serie a supporto compatto nel passato. Si consideri il polinomio a = z1 + z2 : esso ovviamente è anche una serie a supporto compatto
nel passato. Calcoliamone l’inversa. Cerchiamo cioè tutte le serie b a supporto
compatto nel passato per cui
ba = 1
Passando alla scrittura con le serie si ha:


X

bij z1i z2j  (z1 + z2 ) = 1
X
(i,j)
(i,j)
bij z1i+1 z2j +
X
X
bij z1i z2j+1 = 1
(i,j)
(bi−1,j + bi,j−1 ) z1i z2j = 1
(i,j)
Da cui uguagliando termine a termine si ha:
(
bi−1,j + bi,j−1 = 0 per (i, j) 6= (0, 0)
b−1,0 + b0,−1 = 1
Tale sistema resta completamente indeterminato anche imponendo la compattezza nel passato del supporto. Esistono cioè infinite serie b a supporto compatto nel passato tali per cui ba = 1 contro il risultato esposto in precedenza.
3
Capitolo 1.
LO SPAZIO DI DEFINIZIONE
Nella ricerca dello spazio su cui definire il codice procederemo a passi successivi, partendo da condizioni molto restrittive e quindi rilassandole passo
dopo passo.
1.2
Le serie causali
Il primo sottoinsieme di cui studieremo le proprietà sono le serie formali ad
esponenti non-negativi o serie formali causali:
F[[z1 , z2 ]] =
(
a|a =
∞ X
∞
X
aij z1i z2j , (i, j) ∈ Z2
i=0 j=0
)
Seppur con una notazione diversa, questa classe di serie formali è la stessa
studiata da O. Zariski e P. Samuel1 ([35, cap. VII]). Con le usuali operazioni
di somma e prodotto alla Cauchy, F[[z1 , z2 ]] è un dominio di integrità ([35, cap.
VII, theor. 1]). Purtroppo esistono serie formali causali non invertibili e perciò F[[z1 , z2 ]] non è un campo. Si possono però caratterizzare in maniera semplice gli elementi invertibili. Questo risultato sarà fondamentale per tutta la
trattazione successiva.
Teorema 1.1 Un elemento di F[[z1 , z2 ]] è invertibile se e solo se a00 6= 0
Per la dimostrazione si veda [35, cap. VII, theor. 2].
Perciò tutte le funzioni razionali avente denominatore con termine noto
non nullo si possono scrivere in modo unico (grazie all’unicità dell’inversa)
come una serie di F[[z1 , z2 ]] (risultano infatti essere prodotto di due elementi
appartenenti a F[[z1 , z2 ]]).
1.3
Le serie debolmente causali
Alla ricerca del sottoinsieme di F∞ che ci permetta di estendere le definizioni del caso unidimensionale, ampliamo il nostro spazio di lavoro dalle serie
formali causali alle serie formali debolmente causali. Le serie di questo tipo sono
state ampiamente studiate da R. Eising ([3]). Per chiarezza e continuità di esposizione riportiamo i concetti principali introdotti da Eising e i risultati da lui
1
Nel libro di Zariski e Samuel gli esponenti sono definiti in N2 . L’insieme delle serie da
loro studiate perciò non coincide esattamente con l’insieme F[[z1 , z2 ]], ma vi è un isomorfismo
d’anello tra i due insiemi.
4
1.3 Le serie debolmente causali
ottenuti, integrando con dimostrazioni e osservazioni dove necessario. Il primo concetto da introdurre per poter lavorare con le serie debolmente causali è
il concetto di cono.
Definizione 1.2 Un insieme C ⊂ R2 è un cono se, preso un qualsiasi punto (x, y)
appartenente all’insieme, vi appartiene anche il punto (λx, λy) con λ ∈ R+
0 . In
particolare un cono si dice proprio se soddisfa le seguenti proprietà:
1. C ∩ (−C) = {(0, 0)}
2. Q1 ⊆ C
dove si sono indicati con −C il simmetrico di C rispetto all’origine di R2 e con Q1 il
primo quadrante di R2 .
z2
z1
Figura 1.2: Esempio di cono
Chiarito il concetto di cono possiamo ora definire le serie debolmente causali.
P
Definizione 1.3 Una serie formale a = (i,j)∈Z2 aij z1i z2j è detta debolmente causale se esiste un cono proprio C tale che
supp(a) ⊂ C
Dalle definizioni si vede come valgano le inclusioni:
{serie causali} ⊂ {serie debolm. causali} ⊂ {serie a supp. comp. passato}
Osservazione Se il prodotto di due serie causali è sempre definito, ciò non è
generalmente vero per le serie debolmente causali. A tal proposito si considerino nuovamente le due serie dell’esempio 1.1. Esse sono entrambe debolmente causali secondo la definizione appena fornita; d’altronde abbiamo già
5
Capitolo 1.
LO SPAZIO DI DEFINIZIONE
causali
debolm. causali
supp. comp. passato
visto come il loro prodotto non sia definito. Questo dipende dell’impossibilità
di trovare un cono proprio che contenga il supporto di entrambe le serie. Per
poter dimostrare questa affermazione si deve introdurre il concetto di cono di
causalità.
Definizione 1.4 Un cono di causalità Cp,q,r,s è l’intersezione di due semipiani Hp,q
e Hr,s :
Hp,q = (x, y) ∈ R2 | p x + q y > 0
Hr,s = (x, y) ∈ R2 | r x + s y > 0
dove p, q, r, s sono coefficienti interi non negativi2 tali che:
ps − qr = 1
z2
z1
Figura 1.3: C2,1,1,1
Osservazione Banalmente un Cp,q,r,s cosı̀ definito è un cono proprio secondo
2
Si noti come in realtà solo q o r possano essere nulli. Quando questo avviene, la condizione
impone p = s = 1 e il cono di causalità si riduce a Q1 .
6
1.3 Le serie debolmente causali
la definizione 1.2. Esso è un cono perché moltiplicando ambo i membri delle
disequazioni per λ si ottiene:
p x̄ + q ȳ > 0 ⇒ p (λx̄) + q (λȳ) > 0
con λ > 0
Essendo intersezione di due semipiani definiti da rette non parallele, Cp,q,r,s
rappresenta un angolo minore di 180◦ e quindi soddisfa la prima condizione
dei coni propri. La seconda condizione invece discende dalla positività di p, q,
r e s (le rette che delimitano Cp,q,r,s giacciono nel 2◦ e 4◦ quadrante).
Preso un qualsiasi cono proprio C si dimostra che si può sempre trovare un
Cp,q,r,s tale che C ⊂ Cp,q,r,s ([3, Lemma 2.5]).
Una delle proprietà fondamentali dei coni di causalità, è che comunque
scelto un cono di causalità Cp,q,r,s , esiste un ordinamento totale tale per cui
l’insieme Z2 ∩ Cp,q,r,s risulta bene ordinato secondo tale ordinamento.
Proposizione 1.2 Sia Cp,q,r,s un cono di causalità. Si consideri l’ordinamento3 dei
punti di Z2 :
(x1 , y1 ) ≺ (x2 , y2 )
se
i. p (x2 − x1 ) + q (y2 − y1 ) > 0
oppure
ii. [p (x2 − x1 ) + q (y2 − y1 ) = 0] ∧ (y1 < y2 ) 4
L’insieme Z2 ∩ Cp,q,r,s è un insieme ben ordinato secondo tale ordinamento (per la
definizione di insieme bene ordinato si veda la definizione A3).
Dimostrazione. La dimostrazione è legata al fatto che N (e quindi Z+
0 ) è un
5
insieme ben ordinato . La prima condizione (che induce un ordine parziale su
Z2 ) può essere riscritta nel seguente modo:
px2 + qy2 > px1 + qy1
3
Questo non è l’unico ordinamento possibile. La scelta cade su questo particolare
ordinamento per proprietà ulteriori che verranno illustrate in seguito.
4
Per le proprietà dei coni di causalità, p 6= 0 perciò y2 = y1 ⇒ x2 = x1
5
A proposito del buon ordinamento di N si veda [19, cap. II, par. 3, prop. 7]
7
Capitolo 1.
LO SPAZIO DI DEFINIZIONE
Preso un qualsiasi I ⊆ Cp,q,r,s , ad ogni punto (x, y) ∈ I ∩ Z2 viene associato
l’intero c(x,y) = p x + q y che per la definizione di Cp,q,r,s è positivo o nullo.
+
L’insieme dei c(x,y) è un sottoinsieme di Z+
0 e per il buon ordinamento di Z0
ammette un minimo c0 .
Si consideri ora l’insieme
M = (x, y) ∈ I ∩ Z2 | p x + q y = c0
Essi sono i minimali secondo l’ordine parziale definito dalla condizione 1. La
loro appartenenza a Cp,q,r,s impone che rx + sy > 0
(
px + qy = c0
⇒
(
qy = c0 − px
⇒
(
qy = c0 − px
⇒
rx + sy > 0
qrx + qsy > 0
qrx + s(c0 − px) > 0
(
(
qy = c0 − px
qy = c0 − px
⇒
⇒
⇒ qy > (1 − ps)c0 ⇒
(qr − ps)x + sc0 > 0
x 6 sc0
⇒ y > −rc0
Come N, anche ogni insieme del tipo {k ∈ Z | k > k0 , k0 ∈ Z} è un insieme
bene ordinato. Le ordinate dei punti di M sono interi e soddisfano la relazione
y > −rc0 . L’insieme delle ordinate ammette perciò minimo ȳ. Il punto (x̄, ȳ) è
il punto cercato.
z2
P7
P9
P4 P3
P2
P6
P1
b
b
b
b
b
b
b
P8
z1
b
P 1 < P2 < P3 < P4 < P5 < P6 < P7 < P8 < P9
Figura 1.4: Esempio di ordinamento con p = 2 e q = 1
A questo punto si hanno gli strumenti necessari per dimostrare che il pro8
1.3 Le serie debolmente causali
dotto di due serie debolmente causali con supporto opportuno è ben definito.
Anzi assegnato un Cp,q,r,s si può dotare l’insieme delle serie definite su di esso
di una struttura algebrica come attestato dalla seguente proposizione.
Proposizione 1.3 Dato un cono di causalità Cp,q,r,s , sia Fp,q,r,s [[z1 , z2 ]] l’insieme costutuito dalla serie nulla e da tutte le serie debolmente causali con supporto contenuto
nel cono Cp,q,r,s . Esso, con le usuali operazioni di somma e prodotto, è un anello6 (per
la definizione di anello si veda A6).
Dimostrazione. Come affermato ad inizio capitolo ricordiamo che F∞ è un
gruppo commutativo rispetto all’usuale operazione di somma e che, per i termini per cui è definito, il prodotto alla Cauchy gode delle proprietà associativa, commutativa e distributiva rispetto alla somma. Tale fatto semplificherà di
molto la dimostrazione.
Siano a e b due generici elementi di Fp,q,r,s [[z1 , z2 ]]
a=
X
aij z1i z2j
b=
X
bhk z1h z2k
(i, j) ∈ Cp,q,r,s ∩ Z2
(h, k) ∈ Cp,q,r,s ∩ Z2
Guardando ai supporti delle serie si ha:
supp(a) ⊆ Cp,q,r,s
supp(b) ⊆ Cp,q,r,s
supp(a + b) ⊆ supp(a) ∪ supp(b) ⊆ Cp,q,r,s
Il supporto della somma è ancora contenuto in Cp,q,r,s ∩ Z2 . Di conseguenza
l’insieme Fp,q,r,s [[z1 , z2 ]] è chiuso rispetto alla somma.
Inoltre la serie nulla (elemento neutro della somma) appartiene per definizione a Fp,q,r,s [[z1 , z2 ]] e data una serie a ∈ Fp,q,r,s [[z1 , z2 ]] si ha che −a ∈
Fp,q,r,s [[z1 , z2 ]] in quanto supp(a) = supp(−a).
Riconoscendo che la somma su Fp,q,r,s [[z1 , z2 ]] è l’operazione indotta dalla
somma su F∞ , essa possiede tutte le proprietà dell’operazione su F∞ . Perciò Fp,q,r,s [[z1 , z2 ]] è un gruppo commutativo rispetto alla somma di Fp,q,r,s [[z1 , z2 ]]
(definizione A5).
6
Una traccia di dimostrazione si può trovare in un articolo di Françoise Delon ([2]) che però
affronta il problema con serie formali definite su gruppi generici e il cui supporto è contenuto
in un generico insieme bene ordinato.
9
Capitolo 1.
LO SPAZIO DI DEFINIZIONE
Il prodotto fra due serie di Fp,q,r,s [[z1 , z2 ]] è definito come:
a·b=


X X

(aij · bhk ) z1m z2n

(m,n)
i+h=m
j+k=n
Dimostriamo innanzitutto che, comunque si prendano a e b in Fp,q,r,s [[z1 , z2 ]],
il prodotto a · b è sempre definito. Esso è ben definito se e solo se è definita la
P
somma (aij · bhk ). Per dimostrare che tale somma è definita si deve sfruttare
il buon ordinamento introdotto nella proposizione 1.2. Ordiniamo i termini
a(i,j) b(h,k) = a(i,j) b(m,n)−(i,j) secondo l’indice (i, j) utilizzando tale ordine. Al
crescere di (i, j), l’indice (h, k) = (m, n) − (i, j) decresce. D’altro canto, ogni
sequenza decrescente di elementi di Cp,q,r,s ∩ Z2 è necessariamente finita visto
che l’insieme è ben ordinato. Perciò a parte un numero finito di termini, gli
a(i,j) b(h,k) hanno indice (h, k) ∈
/ Cp,q,r,s ∩Z2 e per definizione di serie debolmente
P
causale sono nulli. La somma (aij · bhk ) contiene solo un numero finito di
termini non nulli ed è quindi ben definita.
Una volta dimostrato che il prodotto esiste, verifichiamo che supp(a · b) ⊂
Cp,q,r,s . Di seguito riportiamo la dimostrazione che per ogni punto (m, n) del
supporto si ha pm + qn > 0: la dimostrazione che rm + sn > 0 è analoga.
(
pi + qj > 0
ph + qk > 0
⇒ p(i + h) + q(j + k) > 0 ⇒ pm + qn > 0
L’insieme Fp,q,r,s [[z1 , z2 ]] è chiuso rispetto al prodotto alla Cauchy. Il prodotto possiede le proprietà associativa, commutativa e distributiva rispetto alla
somma e quindi Fp,q,r,s [[z1 , z2 ]] è un anello. In particolare poiché la serie formale
1 (elemento neutro del prodotto) appartiene a Fp,q,r,s [[z1 , z2 ]] l’anello è un anello
con unità.
Oltre alla struttura d’anello, Fp,q,r,s [[z1 , z2 ]] possiede tutte le proprietà di
F[[z1 , z2 ]]. I due spazi sono legati infatti da un isomorfismo d’anello.
La costruzione dell’isomorfismo si basa sulla funzione seguente:
ϕ : Cp,q,r,s ∩ Z2 → Q1 ∩ Z2
(m, n) 7→ (pm + qn, rm + sn)
Essa è una funzione biunivoca che mappa i punti di Cp,q,r,s nel primo qua10
1.3 Le serie debolmente causali
drante Q1 . A partire da essa si costruisca la funzione Φ. Essa risulta essere
l’isomorfismo d’anello cercato.
Φ : Fp,q,r,s [[z1 , z2 ]] → F[[z1 , z2 ]]
X
X
aij z1i z2j 7→
aij z1m z2n
dove
(m, n) = ϕ[(i, j)]
Grazie a questo isomorfismo si possono estendere tutte le proprietà delle
serie causali alle serie debolmente causali con supporto nello stesso Cp,q,r,s . In
particolare:
1. dato che ϕ[(0, 0)] = (0, 0) un elemento a di Fp,q,r,s [[z1 , z2 ]] è invertibile se
e solo se il termine noto a00 è non nullo. L’inversa sarà ancora una serie
debolmente causale con il supporto contenuto nello stesso cono Cp,q,r,s
della serie di partenza.
2. assegnato Cp,q,r,s , l’espansione in serie formale di una funzione razionale
è unica.
3. Fp,q,r,s [[z1 , z2 ]] è un dominio di integrità. Se infatti esistessero due elementi a e b entrambi non nulli tali che:
a·b=0
applicando l’isomorfismo ad ambo i membri si avrebbe:
Φ (a · b) = Φ(0)
Φ(a) · Φ(b) = 0
il che è assurdo visto che F[[z1 , z2 ]] è un dominio di integrità.
Essendo isomorfo a F[[z1 , z2 ]], anche Fp,q,r,s [[z1 , z2 ]] non è un campo. Le serie
con termine noto nullo non sono infatti invertibili.
11
Capitolo 1.
1.4
LO SPAZIO DI DEFINIZIONE
Le serie debolmente causali traslate
L’utilizzo delle traslazioni nel campo dei codici è di fondamentale importanza.
Infatti non si vuole che, a messaggi identici elaborati in istanti diversi, corrispondano parole di codice differenti (a meno di una traslazione). L’invarianza alle traslazioni è perciò una richiesta comune nelle definizioni dei codici
convoluzionali7 . La prima conseguenza dell’introduzione delle traslazioni è
la possibilità di estendere la definizione di serie formale debolmente causale
e di poter definire, in opportuni insiemi di tali serie, la struttura di campo.
Innanzitutto diamo la definizione di traslazione.
Definizione 1.5 Dati una serie formale a ∈ F∞ e un punto P = (m, n), P ∈ Z2 ,
l’operatore di traslazione σP si definisce come:
σP (a) = z1m z2n a
(1.1)
L’operatore traslazione σP induce una traslazione anche sui punti di R2
che verrà denotata, per semplicità, ancora con σP . È ben noto che l’operatore
traslazione cosı̀ definito è un automorfismo sul gruppo delle serie formali.
Indicati con P = (m, n) e Q = (h, k) due generici punti di Z2 , l’operatore di
traslazione gode delle seguenti proprietà:
σO (a) = a,
con O = (0, 0)
σP (σQ (a)) = σQ (σP (a))
σP (ab) = z1m z2n ab = σP (a)b = a σP (b)
σP (a + b) = z1m z2n (a + b) = z1m z2n a + z1m z2n b = σP (a) + σP (b)
(m+h) (n+k)
z2
ab
σP (a)σQ (b) = z1m z2n a z1h z2k b = z1
σP (σ−P (a)) = z1m z2n (z1−m z2−n a) = a
= σP +Q (ab)
da cui si deduce che:
σ−P = σP−1
σP (0) = 0
Grazie alle traslazioni possiamo estendere il concetto di cono di causalità.
Definizione 1.6 Sia P = (m, n) ∈ Z2 . Un cono di causalità traslato Cp,q,r,s (P )
è il sottoinsieme di R2 che si ottiene applicando la traslazione σP al cono di causalità
Cp,q,r,s . Con questa notazione si ha ovviamente Cp,q,r,s (O) = Cp,q,r,s .
7
A questo proposito si vedano le definizioni 1D nell’articolo di J. Rosenthal ([26]), oppure
le definizioni 2D di Weiner ([31]) o di Fornasini e Valcher ([9])
12
1.4 Le serie debolmente causali traslate
Osservazione Dalla definizione precedente segue che Cp,q,r,s (P ) può essere
visto anche come l’intersezione di semipiani Hp,q (m, n) e Hr,s (m, n) dove:
Hp,q (m, n) = (x, y) ∈ R2 | p (x − m) + q (y − n) > 0
Hr,s (m, n) = (x, y) ∈ R2 | r (x − m) + s (y − n) > 0
(m, n) ∈ Z2 e p, q, r, s numeri interi nonnegativi per cui ps − qr = 1.
Osservazione I coni di causalità traslati Cp,q,ri ,si (Pi ) mantengono la proprietà
di essere ben ordinati secondo l’ordinamento della proposizione 1.2. Perciò
ogni sottoinsieme di un cono Cp,q,ri ,si (Pi ) ammette minimo.
Per poter definire con maggior facilità le serie debolmente causali traslate,
è utile introdurre a questo punto l’insieme Cp,q .
Definizione 1.7 Dati due numeri interi p > 0 e q > 0, indichiamo con Cp,q l’insieme
di tutti i Cp,q,r,s (P ), con P ∈ Z2 , r ∈ Z0+ , s ∈ Z + e ps − qr = 1.
Tramite Cp,q possiamo ora definire l’insieme Fp,q ((z1 , z2 )) delle serie debolmente causali traslate in Cp,q .
Definizione 1.8 Dati due interi nonnegativi e coprimi p e q, una serie formale a ∈
F∞ si definisce serie debolmente causale traslata in Cp,q se è la serie nulla oppure,
se non nulla, se esistono un punto Pa ∈ Z2 e due interi nonnegativi ra e sa , con
psa − qra = 1, tali che:
supp(a) ⊆ Cp,q,ra ,sa (Pa )
L’insieme delle serie debolmente causali traslate in Cp,q verrà denotato con il simbolo
Fp,q ((z1 , z2 )).
Osservazione Evidenziamo in questo momento una proprietà dei coni di causalità che si può estendere facilmente anche ai coni traslati: essa ci sarà utile
nelle dimostrazioni successive. Siano Cp,q,r1 ,s1 e Cp,q,r2 ,s2 due coni di causalità in
cui p e q sono fissati. Il fatto che (r1 , s1 ) e (r2 , s2 ) siano soluzioni dell’equazione
di Bézout ps − qr = 1 porta le seguenti conseguenze:
r2
r1
Cp,q,r1 ,s1 ⊆ Cp,q,r2 ,s2 ⇐⇒
>
s2
s1
(
(
r2 > r1
r2 = r1 + tp
r1
r2
>
⇐⇒
⇐⇒
per qualche t ∈ Z+
0
s2
s1
s2 > s1
s2 = s1 + tq
13
Capitolo 1.
LO SPAZIO DI DEFINIZIONE
Per poter dimostrare che Fp,q ((z1 , z2 )) è un campo rispetto alle usuali operazioni, dobbiamo anteporre la dimostrazione di due lemmi sui coni di causalità. Il primo lemma ci permetterà di estendere la struttura d’anello delle serie
debolmente causali alle serie debolmente causali traslate. Il secondo lemma
invece sarà la chiave per dimostrare che ogni serie debolmente causale traslata
non nulla è invertibile.
Lemma 1.4 Comunque si prendano Cp,q,r1 ,s1 (P1 ), . . . , Cp,q,rn ,sn (Pn ) in Cp,q si può
sempre trovare un ulteriore cono Cp,q,r0 ,s0 (P0 ) ∈ Cp,q tale che:
Cp,q,r1 ,s1 (P1 ) ⊆ Cp,q,r0 ,s0 (P0 )
..
.
Cp,q,rn ,sn (Pn ) ⊆ Cp,q,r0 ,s0 (P0 )
Dimostrazione. Si individui, innanzitutto, tra le coppie (ri , si ), una coppia
(r0 , s0 ) che massimizzi la quantità srii . Per la proprietà appena evidenziata la
coppia sarà tale per cui anche r0 sarà il massimo tra gli ri . Si costruiscano
quindi i seguenti ordinamenti parziali fra i punti di Z2
(xa , ya ) ≺ (xb , yb ) ⇐⇒ p(xb − xa ) + q(yb − ya ) > 0
p,q
(xa , ya ) ≺ (xb , yb ) ⇐⇒ r0 (xb − xa ) + s0 (yb − ya ) > 0
r0 ,s0
Si noti che per ogni coppia di punti Pa e Pb è vera una ed una sola delle seguenti
affermazioni:
1. Pa ≺ Pb
p,q
2. Pb ≺ Pa
p,q
3. p(xb − xa ) + q(yb − ya ) = 0
e quindi Pa e Pb non sono confrontabili secondo ≺
p,q
Lo stesso si può affermare per l’ordinamento ≺ .
r0 ,s0
Sia ora Pµ uno dei minimali secondo l’ordinamento parziale ≺ e Pν uno dei
p,q
minimali secondo l’ordinamento parziale ≺ . A partire da Pµ e Pν si calcoli il
r0 ,s0
punto Pχ
Pχ :
(
p(x − xµ ) + q(y − yµ ) = 0
r0 (x − xν ) + s0 (y − yν ) = 0
14
1.4 Le serie debolmente causali traslate
Il punto Pχ ∈ R2 esiste sicuramente dato che le due rette non sono parallele.
Una volta calcolato Pχ , sia P0 = (⌊xχ ⌋ , ⌊yχ ⌋), P0 ∈ Z2 . Si vede che P0 Pµ
p,q
e P0 Pν .
r0 ,s0
Il cono Cp,q,r0 ,s0 (P0 ) soddisfa le condizioni della proposizione. Infatti sia
(x̄, ȳ) un qualsiasi punto di Cp,q,ri ,si (Pi ): dimostriamo che (x̄, ȳ) ∈ Cp,q,r0 ,s0 (P0 ).
Si ricorda che, essendo Z un anello algebricamente ordinato(si veda la def. A4),
la somma (e il prodotto) di interi positivi è ancora un intero positivo.
(
p(x̄ − xi ) + q(ȳ − yi ) > 0
(definizione di Cp,q,ri ,si (Pi ))
p(xi − x0 ) + q(yi − y0 ) > 0 (infatti P0
Pi , ∀Pi )
p,q
(sommando le due quantità si ottiene ancora un intero positivo)
⇒ p(x̄ − x0 ) + q(ȳ − y0 ) > 0

p(x̄ − xi ) + q(ȳ − yi ) > 0






r (x̄ − xi ) + si (ȳ − yi ) > 0

 i
r0 (xi − x0 ) + s0 (yi − y0 ) > 0

)


r0 = ri + tp



+
per qualche t ∈ Z0


s0 = si + tq
(definizione di Cp,q,ri ,si (Pi ))
(definizione di Cp,q,ri ,si (Pi ))
(ordinamento dei Pi )
(r0 > ri , ∀ri )
(moltiplicando la prima eq. per t e sommandola alla seconda ci si riconduce al caso precedente)
⇒ r0 (x̄ − x0 ) + s0 (ȳ − y0 ) > 0
Poiché il punto (x̄, ȳ) soddisfa le due condizioni
(
p(x̄ − x0 ) + q(ȳ − y0 ) > 0
r0 (x̄ − x0 ) + s0 (ȳ − y0 ) > 0
esso per definizione appartiene a Cp,q,r0 ,s0 (P0 ).
Lemma 1.5 Sia a 6= 0, a ∈ Fp,q ((z1 , z2 )). Allora esistono un punto Pa = (xa , ya ) ∈
supp(a) e due interi nonnegativi ra e sa con psa − qra = 1 tali che:
supp(a) ⊆ Cp,q,ra ,sa (Pa )
Pa risulta univocamente determinato e coincide con il minimo del supporto di a secondo l’ordinamento della proposizione 1.2.
Dimostrazione. Dimostriamo innanzitutto che scegliendo Pa come vertice del
15
Capitolo 1.
LO SPAZIO DI DEFINIZIONE
cono di causalità traslato si riescono a trovare ra e sa . La dimostrazione sarà
condotta in tre passi successivi.
Primo passo
Osserviamo innanzitutto che grazie all’ordinamento della proposizione 1.2 tutti i punti (x, y) ∈ supp(a) verificano la disuguaglianza p(x − xa ) + q(y − ya ) >
0 che costituisce la prima condizione da soddisfare per l’appartenenza a un
qualsiasi Cp,q,ri ,si (Pa ).
Per la definizione di serie debolmente causale traslata in Cp,q esiste un cono
Cp,q,r1 ,s1 (P1 ) tale che
supp(a) ⊆ Cp,q,r1 ,s1 (P1 )
Si ponga ra = r1 e sa = s1 . A questo punto possono verificarsi due situazioni: supp(a) ∈ Cp,q,ra ,sa (Pa ) oppure supp(a) ∈
/ Cp,q,ra ,sa (Pa ). Nel primo caso la
ricerca è conclusa; nel secondo caso, dato che come abbiamo osservato la prima equazione del cono Cp,q,ra ,sa (Pa ) è soddisfatta ∀(x, y) ∈ supp(a), i punti del
supporto che non appartengono al cono devono essere tali per cui:
r1 (x − xa ) + s1 (y − ya ) < 0
Indichiamo con N l’insieme dei punti di supp(a) che non appartengono al cono
Cp,q,r1 ,s1 (Pa ).
z2
z2
Pa
b
b
P1
b
z1
P1
N
z1
Secondo passo
Analogamente a quanto visto nella proposizione 1.2 con gli interi p e q, anche a
partire dagli interi nonnegativi r ed s (sempre con ps − qr = 1) si può costruire
un ordinamento totale in modo che il cono di causalità Cp,q,r,s (e quindi anche
16
1.4 Le serie debolmente causali traslate
tutti i coni Cp,q,r,s (Pi )) risulti ben ordinato8 . Tale ordinamento è cosı̀ definito
(x1 , y1 ) ≺ (x2 , y2 )
se
i. r (x2 − x1 ) + s (y2 − y1 ) > 0
oppure
ii. [r (x2 − x1 ) + s (y2 − y1 ) = 0] ∧ (x1 < x2 ) 9
Dato che N ⊂ supp(a) ⊂ Cp,q,r1 ,s1 (P1 ), per la definizione di insieme ben ordinato N ha un minimo secondo l’ordinamento indotto da r1 e s1 . Indichiamo
con P2 = (x2 , y2 ) tale minimo. Si ponga r̃2 = ya − y2 e s̃2 = x2 − xa . Come
conseguenza dei passi precedenti dell’algoritmo si ha r̃2 > 0 e s̃2 > 0. Infatti se
r̃2 = ya − y2 6 0, o P2 ∈ Cp,q,r1 ,s1 (Pa ) oppure P2 ≺ Pa con l’ordinamento della
proposizione 1.2. Allo stesso modo si vede che s̃2 > 0. Inoltre si ha
r̃2
r1
>
s̃2
s1
perché altrimenti si avrebbe P2 ∈ Cp,q,r1 ,s1 (Pa ).
Consideriamo i punti (x, y) ∈ N per cui x > x2 . Risulta:
r1 (x − x2 ) + s1 (y − y2 ) > 0 =⇒
=⇒
r1
y2 − y
6
=⇒
x − x2
s1
y2 − y
r̃2
6
=⇒ r̃2 (x − x2 ) + s̃2 (y − y2 ) > 0 =⇒
x − x2
s̃2
=⇒ (ya − y2 )(x − x2 ) + (x2 − xa )(y − y2 ) > 0 =⇒
=⇒ ya x − ya x2 − xy2 + x2 y2 + x2 y − x2 y2 − yxa + xa y2 > 0 =⇒
=⇒ ya x − ya x2 − xy2 + x2 y − yxa + xa y2 > 0 =⇒
=⇒ ya x − xy2 − xa ya + xa y2 + x2 y − x2 ya − yxa + xa ya > 0 =⇒
=⇒ (ya − y2 )(x − xa ) + (x2 − xa )(y − ya ) > 0 =⇒
=⇒ r̃2 (x − xa ) + s̃2 (y − ya ) > 0
I punti di N per cui x > 2 perciò sono contenuti nel cono Cp,q,r̃2 ,s̃2 (Pa ). Risulta
allora: La coppia (r̃2 , s̃2 ) non è in generale soluzione dell’equazione ps−qr = 1.
8
La dimostrazione di questo fatto è in tutto e per tutto analoga alla proposizione 1.2 e perciò
verrà omessa.
9
Si noti che stavolta si ha s 6= 0 perciò x2 = x1 ⇒ y2 = y1
17
Capitolo 1.
LO SPAZIO DI DEFINIZIONE
Se (r̃2 , s̃2 ) non è soluzione, per la struttura delle soluzioni di un’equazione di
Bézout, possiamo trovare sempre una soluzione (r2 , s2 ) in modo che sr22 > s̃r̃22 .
Risulta perciò:
Cp,q,r2 ,s2 (Pa ) ⊇ Cp,q,r̃2 ,s̃2 (Pa ) ⊃ Cp,q,r1 ,s1 (Pa )
Come al passo precedente anche in questo caso si può avere supp(a) ∈ Cp,q,r2 ,s2 (Pa ),
e in tal caso la nostra ricerca sarebbe finita, oppure supp(a) ∈
/ Cp,q,r2 ,s2 (Pa ) e in
tal caso passiamo al terzo e ultimo passo dell’algoritmo.
z2
Pa
z2
Pa
b
b
b
b
b
P2
z1
b
P2
z1
Terzo passo
Noi sappiamo delimitare con precisione i punti di supp(a) che non appartengono a Cp,q,r2 ,s2 (Pa ). Per come è stato costruito il cono Cp,q,r2 ,s2 (Pa ) infatti essi
devono appartenere al seguente triangolo:



 p(x − xa ) + q(y − ya ) > 0
r1 (x − xa ) + s1 (y − ya ) > 0



r2 (x − xa ) + s2 (y − ya ) < 0
(Pa è il minimo con l’ordinamento secondo p e q)
(P2 è il minimo con l’ordinamento secondo r1 e s1 )
(i punti non appartengono tuttavia al cono Cp,q,r2 ,s2 (Pa ))
Per costruzione le tre rette non sono parallele e quindi effettivamente l’intersezione dei tre semipiani è un triangolo. Essendo racchiusi in una porzione di
piano finita, i punti del supporto che non appartengono al cono Cp,q,r2 ,s2 (Pa )
sono in numero finito. Indichiamo tali punti come Q1 , . . . , Qn . Tra i Qi si scelga
−yi
il punto Qm che massimizza la quantità xyai −x
. Con un ragionamento analogo
a
a quello condotto nel secondo passo si dimostra che tutti i Qi appartengono
al cono Cp,q,r̃3 ,s̃3 (Pa ) con r̃3 = ya − ym e s̃3 = xm − xa . Anche questa volta si
possono determinare r3 e s3 , soluzioni dell’equazione ps − qr = 1, in modo che
18
1.4 Le serie debolmente causali traslate
r3
s3
>
r̃3
.
s̃3
Il cono Cp,q,r3 ,s3 (Pa ) è il cono cercato.
Unicità
È banale rendersi conto che Pa è l’unico punto del supporto per cui si possa
trovare un cono di causalità Cp,q,r,s (Pa ) che contenga il supporto. Scegliendo
qualsiasi altro punto Pi del supporto, per l’ordinamento della proposizione
1.2, o si ha p(xa − xi ) + q(ya − yi ) < 0 o p(xa − xi ) + q(ya − yi ) = 0 e ya < yi .
In quest’ultimo caso è impossibile trovare r ed s che soddisfino la relazione
ps − qr = 1 visto che Pa si trova sulla retta p(x − xi ) + q(x − xi ) = 0.
z2
Pa
z2
Pa
b
b
b
b
b
z1
z1
Osservazione A posteriori ci si potrebbe chiedere perché nella dimostrazione
della proposizione 1.5 non si applichi direttamente il terzo passo a tutti i punti
∗ −y
i
di supp(a). Il problema è che le quantità xyai −x
∗ sono numeri razionali e in Q non
a
è garantito a priori che un insieme di infiniti elementi, seppur limitato (infatti
∗ −y
p
i
si ha sr11 6 xyai −x
∗ < q ), ammetta massimo.
a
Le proposizioni 1.4 e 1.5 sono la chiave per la dimostrazione che Fp,q ((z1 , z2 ))
è un campo con le usuali operazioni di prodotto.
Proposizione 1.6 Siano p ∈ Z+ e q ∈ Z+
0 due interi coprimi. L’insieme Fp,q ((z1 , z2 ))
delle serie debolmente causali traslate in Cp,q , con le operazioni usuali di somma e
prodotto, risulta essere un campo (si veda la definizione A7)
Dimostrazione. Analogamente quanto visto per la proposizione 1.3, per dimostrare che Fp,q ((z1 , z2 )) è un anello basta far vedere che Fp,q ((z1 , z2 )) è un
insieme chiuso rispetto alle usuali operazioni di somma e prodotto. Le proprietà delle operazioni poi saranno ereditate dalle operazioni definite in F∞ .
19
Capitolo 1.
LO SPAZIO DI DEFINIZIONE
Somma
Siano a e b due serie appartenenti a Fp,q ((z1 , z2 )). In generale i supporti delle due serie sono contenuti in due coni differenti, Cp,q,ra ,sa (Pa ) e Cp,q,rb ,sb (Pb ).
Tramite il lemma 1.4 si trova un cono Cp,q,r0 ,s0 (P0 ) che contiene entrambi i supporti. A questo punto, similmente a quanto accade per le serie debolmente
causali, risulta:
supp(a) ⊆ Cp,q,ra ,sa (Pa )
supp(b) ⊆ Cp,q,rb ,sb (Pb )
supp(a + b) ⊆ supp(a) ∪ supp(b) ⊆ Cp,q,r0 ,s0 (P0 )
Fp,q ((z1 , z2 )) di conseguenza è chiuso rispetto all’usuale operazione di somma.
Inoltre l’elemento neutro della somma appartiene a Fp,q ((z1 , z2 )) per definizione e l’opposto di una serie a ∈ Fp,q ((z1 , z2 )) è ancora ovviamente una serie debolmente causale traslata in Cp,q (le due serie hanno lo stesso supporto). Con
l’usuale operazione di somma perciò Fp,q ((z1 , z2 )) è un gruppo commutativo.
Prodotto
Per determinare se Fp,q ((z1 , z2 )) sia chiuso anche rispetto al prodotto sfruttiamo
un ragionamento simile a quello della somma. Date due serie debolmente causali traslate a e b, determiniamo un cono Cp,q,r0 ,s0 (P0 ) che contenga i supporti
di entrambe le serie. Cp,q,r0 ,s0 (P0 ) è un insieme bene ordinato secondo l’ordinamento della proposizione 1.2. Similmente a quanto visto nella proposizione
1.3, il “buon ordinamento” fa sı̀ che ogni singolo coefficiente del prodotto a · b
sia riconducibile a una somma finita e che quindi la definizione di prodotto
alla Cauchy sia ben posta anche per gli elementi di Fp,q ((z1 , z2 )). Grazie alle
proprietà delle traslazioni si vede come il prodotto a · b sia ancora una serie di
Fp,q ((z1 , z2 ))10 .
a · b = σPa +Pb σP−1a +Pb (a · b) = σPa +Pb σP−1a (a) · σP−1b (b)
Il prodotto σP−1a (a) · σP−1b (b), infatti, risulta essere il prodotto di due serie debolmente causali. Il supporto di tale prodotto sarà contenuto in un opportuno
cono di causalità Cp,q,r̃,s̃ . Applicando la traslazione a ogni punto del supporto
10
Pa e Pb sono i punti la cui esistenza è assicurata dal lemma 1.5
20
1.4 Le serie debolmente causali traslate
risulta:
supp(a · b) = σPa +Pb (supp(σP−1a (a) · σP−1b (b))) ⊆ σPa +Pb (Cp,q,r̃,s̃ ) = Cp,q,r̃,s̃ (Pa + Pb )
L’elemento neutro del prodotto è una serie debolmente causale e quindi
anche debolmente causale traslata. Come già per le serie debolmente causali
anche in questo caso il prodotto eredita tutte le proprietà del prodotto in F∞ .
Esponiamo brevemente di seguito una verifica alternativa della proprietà
distributiva che sfrutta le proprietà delle traslazioni:
(a + b) · c = σP0 +Pc σP−10 +Pc [(a + b) · c] = σP0 +Pc σP−10 (a + b) · σP−1c (c) =
= σP0 +Pc σP−10 (a) + σP−10 (b) · σP−1c (c) =
(le serie sono ora tutte debolmente causali e posso applicare la proprietà distributiva)
= σP0 +Pc σP−10 (a) · σP−1c (c) + σP−10 (b) · σP−1c (c) =
= σP0 +Pc σP−10 (a) · σP−1c (c) + σP0 +Pc σP−10 (b) · σP−1c (c) =
=a·c+b·c
Il lemma 1.4 ci permette infine di dimostrare anche che Fp,q ((z1 , z2 )) è un
dominio di integrità. Se infatti esistessero due serie a 6= 0 e b 6= 0 tali che:
a·b=0
applicando la traslazione σP−1a +Pb a entrambi i membri si otterrebbe:
σP−1a +Pb (a · b) = σP−1a +Pb (0)
σP−1a (a) · σP−1b (b) = 0
Si sarebbero cosı̀ trovate due serie debolmente causali non nulle il cui prodotto
è nullo. Questo è impossibile perché l’insieme delle serie debolmente causali è
un anello di integrità.
Da quanto emerso finora si vede che Fp,q ((z1 , z2 )) è un dominio di integrità.
Inversa di una serie non nulla
Per dimostrare che ogni elemento non nullo di Fp,q ((z1 , z2 )) è invertibile ci si
serve del lemma 1.5.
21
Capitolo 1.
LO SPAZIO DI DEFINIZIONE
Sia a 6= 0 una serie di Fp,q ((z1 , z2 )). Si vede che σP−1a (a) è una serie debolmente causale11 invertibile in quanto il termine noto è non nullo (si ricorda che
Pa ∈ supp(a)). Sia b la serie debolmente causale inversa di σP−1a (a). Allora:
σP−1a (a) · b = 1
σP−1a σPa σP−1a (a) · b = 1
a · σP−1a (b) = 1
Perciò la serie a è invertibile e σP−1∗ (b) ne è l’inversa.
Da quest’ultima proprietà segue che Fp,q ((z1 , z2 )) è un campo.
Corollario 1.7 Tutte le funzioni razionali si possono espandere in modo unico come
serie del campo Fp,q ((z1 , z2 )).
Dimostrazione. Sia
u(z1 , z2 ) =
a[z1 , z2 , z1−1 , z2−1 ]
b[z1 , z2 , z1−1 , z2−1 ]
la funzione razionale da rappresentare. I due polinomi a ∈ F[z1 , z2 , z1−1 , z2−1 ]
e b ∈ F[z1 , z2 , z1−1 , z2−1 ] possono sempre venire interpretati come elementi di
Fp,q ((z1 , z2 )), qualunque siano p e q. In particolare anche b1 sarà ancora un elemento di Fp,q ((z1 , z2 )) e il prodotto di due elementi di Fp,q ((z1 , z2 )) è ancora
un elemento di Fp,q ((z1 , z2 )). L’espansione è unica perché unica è l’inversa di
b.
Osservazione La struttura di campo conferita a Fp,q ((z1 , z2 )) dalle usuali operazioni di somma e prodotto ha come immediata conseguenza che Fp,q ((z1 , z2 ))n
è uno spazio vettoriale su Fp,q ((z1 , z2 )) con le seguenti operazioni di somma e
prodotto esterno:
a = (a1 , a2 , . . . , an ) ∈ Fp,q ((z1 , z2 ))n
b = (b1 , b2 , . . . , bn ) ∈ Fp,q ((z1 , z2 ))n
c ∈ Fp,q ((z1 , z2 ))
a + b = (a1 + b1 , a2 + b2 , . . . , an + bn )
c a = (c · a1 , c · a2 , . . . , c · an )
11
Se al posto di Pa si fosse scelto per la traslazione un qualsiasi altro punto Q del supporto,
non sarebbe stata una serie debolmente causale traslata appartenente a Fp,q,r,s [[z1 , z2 ]].
−1
σQ
(a)
22
Capitolo 2
Codici 2D. Definizioni e proprietà
2.1
La definizione di codice bidimensionale
Dopo la lunga analisi condotta nell’ambito delle serie formali per costruire il
campo, possiamo finalmente introdurre la definizione che estende al caso 2D
la definizione di Forney. Dovendo specificare obbligatoriamente un insieme
Fp,q ((z1 , z2 )) ben preciso, sceglieremo nel seguito p = 1 e q = 1.
Definizione 2.1 Un codice convoluzionale bidimensionale C è un F1,1 ((z1 , z2 ))-sottospazio
di F1,1 ((z1 , z2 ))n , di dimensione k, avente una base di vettori in F(z1 , z2 )n
Osservazione Il fatto di avere una base in F(z1 , z2 )n garantisce l’esistenza di
una matrice razionale G le cui righe sono formate dai vettori della base, per cui
C = y ∈ F1,1 ((z1 , z2 ))n |y = uG, u ∈ F1,1 ((z1 , z2 ))k
G si dice codificatore del codice C.
Osservazione Nel proseguo della trattazione in alcuni casi considereremo i
codici come serie debolmente causali traslate in Cp,q con coefficienti in Fn .
È immediato vedere che le due interpretazioni del codice C hanno le stesse
proprietà e i risultati dell’una corrispondono ai risultati dell’altra.
2.2
Codificatori iniettivi
Uno dei requisiti fondamentali di un codice è sicuramente che l’operazione di
codifica sia iniettiva, cioè che a sequenze in ingresso differenti corrispondano
sequenze codificate differenti. A questo fatto è legata anche la possibilità di
ricostruire dalle sequenze codificate la sequenza di informazione in ingresso.
23
Capitolo 2.
CODICI 2D. DEFINIZIONI E PROPRIETÀ
La definizione 2.1 non specifica quale sia lo spazio delle sequenze in ingresso: esso in generale sarà uno spazio del tipo F1,1 ((z1 , z2 ))h . L’immagine
di F1,1 ((z1 , z2 ))h tramite il processo di codifica è proprio il codice C che ha dimensione k. Indicato con G un codificatore di C, per le proprietà dell’algebra
lineare ([24, prop. 1.3, pag. 106]) si ha:
h = k + dim(ker(G))
Da questo segue che se e solo se h = k si ha che dim(ker(G)) = 0 e l’operazione
di codifica risulta iniettiva ([24, oss. 1.4, pag. 103]).
Considerando il problema dal punto di vista dei codificatori, si vede come
i codificatori iniettivi per C siano tutte e sole le matrici a rango pieno di riga di
dimensioni k × n.
2.3
Codificatori equivalenti
Un’altra caratteristica del codice che si può ricavare dalle proprietà dell’algebra lineare è la caratterizzazione dei codificatori equivalenti. Innanzitutto
diamo la definizione di codificatori equivalenti
Definizione 2.2 Due matrici razionali G1 ∈ F(z1 , z2 )k1 ×n e G2 ∈ F(z1 , z2 )k2 ×n si
definiscono codificatori equivalenti per il codice C se
im(G1 ) = im(G2 ) = C
L’equivalenza dei codificatori non dipende perciò dalle dimensioni delle
matrici, né dallo spazio delle sequenze in ingresso. L’interesse è focalizzato
tutto sul codice, indipendentemente da come esso sia stato prodotto.
Grazie a questo approccio possiamo vedere come banalmente, dato un codice C, esso ammette sempre un codificatore iniettivo. Dato un codificatore
generico G, un codificatore iniettivo si costruisce infatti selezionando tra le k1
righe di G un insieme massimale di k righe linearmente indipendenti.
Come conseguenza, d’ora in poi considereremo solo codificatori iniettivi.
Restringendoci a questa classe di codificatori, possiamo estendere i risultati sui
codificatori equivalenti presenti nella teoria dei codici 1D (si veda ad esempio
[6, pag. 223]).
Proposizione 2.1 Sia G ∈ F(z1 , z2 )k×n un codificatore (iniettivo) per il codice C.
24
2.3 Codificatori equivalenti
i. Tutti gli altri codificatori iniettivi di C sono le matrici
G′ (z1 , z2 ) = T (z1 , z2 )G(z1 , z2 )
con T (z1 , z2 ) ∈ F(z1 , z2 )k×k matrice razionale invertibile.
ii. Fra i codificatori equivalenti a G ne esistono sempre di polinomiali
iii. Fra i codificatori polinomiali ne esistono sempre di left factor prime (ℓF P )
Dimostrazione.
i. La matrice T è la matrice di cambiamento di base tra G e G′ . Al variare
di T tra le matrici quadrate invertibili a elementi in F(z1 , z2 ) si ottengono
tutte le possibili basi di C, si ottengono cioè tutti i codificatori iniettivi
equivalenti (si veda ad esempio [24, cap. 3, par 8.]).
ii. Diamo la rappresentazione matriciale fratta sinistra di G.
G(z1 , z2 ) = D−1 (z1 , z2 )N (z1 , z2 ) con D ∈ F[z1 , z2 ]k×k , N ∈ F[z1 , z2 ]k×n
Basta scegliere T = D((z1 , z2 ). N (z1 , z2 ) è il codificatore polinomiale
equivalente cercato.
iii. In due dimensioni è ancora disponibile un algoritmo per estrarre il massimo comun divisore sinistro ([9, coroll. A.2]). Si può perciò esprimere il
codificatore polinomiale G[z1 , z2 ] come:
e 1 , z2 ]
G[z1 , z2 ] = ∆[z1 , z2 ]G[z
e matrice ℓF P
con G
e 1 , z2 ] è un codificatore iniettivo equivaPer quanto visto al punto (i) G[z
lente a G[z1 , z2 ]. In particolare ricordiamo che per matrici in due indeterminate i concetti di factor primeness e minor primeness coincidono. Quindi
e è anche ℓM P . Se si stessero considerando codici nD, con n > 3, questo
G
non sarebbe più vero.
Osservazione Rispetto alle analoghe proprietà dei codificatori equivalenti nel
caso unidimensionale, si noti che non sono presenti, nel caso 2D, le proprietà
legate ai gradi delle righe. Questa non è una dimenticanza ma è una mancanza legata al fatto che nel caso 2D è ancora aperto il problema della realizzazione minima. Si potrebbero costruire codificatori equivalenti ridotti per
25
Capitolo 2.
CODICI 2D. DEFINIZIONI E PROPRIETÀ
righe rispetto a z1 o a z2 , senza ottenere però alcun riscontro nelle proprietà del
codice.
Osservazione Oltre alle differenze nelle proprietà legate ai gradi (e quindi al
numero di elementi di memoria coinvolti nella realizzazione del codificatore) sottolineiamo il fatto che nel caso 2D, dato un codificatore, non è sempre
possibile ottenere un codificatore polinomiale ad esso equivalente che sia left
zero prime. Una volta trovato un codificatore polinomiale ℓF P tutti gli altri
codificatori ℓF P equivalenti si ottengono scegliendo la matrice T unimodulare. Siccome la Zero Primeness è una proprietà invariante nella moltiplicazione
per una matrice unimodulare o tutti i codificatori polinomiali ℓF P sono anche ℓZP oppure nessuno di essi lo è ed è impossibile costruire un codificatore
polinomiale ℓZP equivalente (infatti si ha che ℓZP ⇒ℓF P ).
Questo fatto ha conseguenze molto importanti che non si ritrovano negli
analoghi risultati del caso unidimensionale. In particolare, come vedremo, se
non esiste un codificatore equivalente ℓZP sarà impossibile avere contemporaneamente codificatore e decodificatore polinomiali.
2.4
Codificatori e decodificatori non catastrofici
2.4.1 Decodifica non catastrofica semplice
Come è stato detto nell’introduzione, lo scopo principale di un codice a correzione d’errore è quello di rilevare e in caso correggere gli errori di trasmissione
di un sistema di comunicazione. Utilizzando i codici convoluzionali possono
presentarsi casi in cui il verificarsi di un numero finito di errori di trasmissione,
non solo non viene rilevato, ma addirittura porta ad avere un numero infinito
di errori in decodifica. In questi casi si parla di decodifica catastrofica.
La possibilità di verificarsi di tale situazione è legata alla struttura dei codificatori e allo spazio di definizione dei segnali. Dipendentemente dalla struttura dei segnali in ingresso (serie formali, serie formali causali, serie formali
debolmente causali traslate) variano le condizioni per la non catastroficità.
Vediamo innanzitutto come la decodifica catastrofica sia sempre legata alla
capacità del codificatore di mappare sequenze a supporto infinito in parole di
codice a supporto finito.
Sia y una parola di codice. Dopo essere stata prodotta dal codificatore, la
sequenza y viene inviata su un canale di trasmissione rumoroso. In ricezione
26
2.4 Codificatori e decodificatori non catastrofici
la sequenza ricevuta r conterrà perciò un certo numero di errori e in generale
non apparterrà più al codice C.
rumore
y
u
G
r̂
+
+
F1,1 ((z1 , z2 ))n
F1,1 ((z1 , z2 ))k
ŷ
proiez.
û
X
F1,1 ((z1 , z2 ))n
F1,1 ((z1 , z2 ))k
Figura 2.1: Sistema di trasmissione con codifica
Il processo di decodifica di r si compone di due fasi. Nella prima fase la parola r viene “proiettata” su C, si cerca cioè la parola di codice ŷ che ha minima
distanza (di Hamming) da r. Sotto la ragionevole ipotesi che la probabilità che
si siano verificati x errori sia inversamente proporzionale al numero degli errori, ŷ risulta essere la miglior stima della parola di codice trasmessa. Una volta
effettuata la stima si può operare la decodifica vera e propria, ricostruendo il
messaggio di informazione û applicando a ŷ la trasformazione inversa rispetto
a quella del codificatore. Se il codificatore è iniettivo tale trasformazione esiste
sempre come afferma la seguente proposizione.
Proposizione 2.2 Sia G ∈ F(z1 , z2 )k×n una matrice razionale a rango pieno di riga.
Essa ammette una inversa destra X ∈ F(z1 , z2 )n×k .
Dimostrazione. Essendo una matrice razionale con rango di riga pieno G può
e ∈ F(z1 , z2 )n×n invertibile.
venire completata a una matrice quadrata G
e=
G
"
G
G2
#
e ∈ F(z1 , z2 )n×n la matrice inversa di G.
e
Sia X
eX
e=
G
"
#
G h
G2
X
i
X2 =
"
GX
GX2
G2 X
G2 X2
#
=
"
Ik
0
0
In−k
#
= In
La matrice X ∈ F(z1 , z2 )n×k è una inversa destra della matrice G. Essa non è
unica perché dipende dalla scelta della matrice G2 . Si noti che se G non fosse
stata a rango di riga pieno sarebbe stato impossibile completarla a una matrice
invertibile e trovare quindi l’inversa destra.
27
Capitolo 2.
CODICI 2D. DEFINIZIONI E PROPRIETÀ
Il messaggio di informazione û si ottiene perciò come
û = ŷX
Si consideri ora il caso in cui il codificatore G trasformi un messaggio a
supporto infinito y in un messaggio a supporto finito u in cui solo un numero
x di campioni siano diversi da 0. Se nella trasmissione si verificassero degli
errori proprio in corrispondenza di questi x campioni il ricevitore riceverebbe
la parola r = 0 che verrebbe a sua volta decodificata nella parola nulla û =
0. In questo caso un numero finito x di errori avrebbe causato un numero
infinito di errori sul messaggio di informazione (il messaggio originario aveva
un numero infinito di campioni non nulli).
Per capire come effettivamente si abbia una decodifica catastrofica solo in
presenza di un siffatto codificatore andiamo ad esaminare gli errori nella decodifica. In decodifica possiamo commettere un errore nella stima della parola
di codice
ey = ŷ − y
che si riflette in un errore nel messaggio di informazione:
eu = û − u = ey X
ey essendo differenza di due parole di codice è anch’esso una parola di codice,
ey = vG. Si può vedere come esso sia effettivamente l’immagine di eu . Infatti
si ha:
eu G − ey = ey (XG − In ) = vG (XG − In ) = v(G − G) = 0
Perciò un errore di stima ey su un numero finito di campioni può dar luogo a
un errore eu su un numero infinito di campioni del messaggio se e solo se il
codificatore può codificare messaggi a supporto infinito in parole di codice a
supporto finito.
Su questa base diamo la definizione di codificatore catastrofico.
Definizione 2.3 Dato un codice C un suo codificatore G si dice catastrofico se esistono delle parole di codice y a supporto finito che sono immagine di un messaggio u a
supporto infinito.
Per la caratterizzazione dei codificatori catastrofici partiamo ad analizzare
dapprima i codificatori polinomiali.
28
2.4 Codificatori e decodificatori non catastrofici
Proposizione 2.3 Sia G un codificatore polinomiale del codice C. Condizione necessaria e sufficiente perché G sia un codificatore non catastrofico è che la matrice G sia
left factor prime.
Dimostrazione. Per la dimostrazione si veda il lemma 2.4 dell’articolo di Fornasini e Valcher ([9]).
Nel caso generale di codificatori razionali la condizione va posta sul numeratore delle rappresentazioni matriciali fratte sinistre irriducibili, come d’altronde nel caso unidimensionale ([6]).
Proposizione 2.4 Sia G un codificatore razionale del codice C. Condizione necessaria e sufficiente perché G sia un codificatore non catastrofico è che per ogni rappresentazione matriciale fratta sinistra di G, G = D−1 N la matrice numeratore N sia left
factor prime.
Dimostrazione.
Condizione necessaria
La dimostrazione della condizione necessaria ricalca la dimostrazione del caso
unidimensionale. Se la matrice numeratore N non fosse ℓF P , per la proposizione 2.3 esisterebbe un vettore u ∈
/ F[z1 , z2 , z1−1 , z2−1 ]k tale che
y = uN
con y ∈ F[z1 , z2 , z1−1 , z2−1 ]n . Consideriamo ora il vettore v = uD. Si ha che:
vG = uDD−1 N = uN = y
vG è perciò polinomiale di Laurent. D’altra parte v ∈
/ F[z1 , z2 , z1−1 , z2−1 ]k . Infatti,
dato che D−1 N è una RMF irriducibile e u è razionale, si ha che
h
i h
i
u D N = v y
h
i
che non può essere polinomiale dato che D N è ℓF P . Visto che abbiamo
imposto y ∈ F[z1 , z2 , z1−1 , z2−1 ]n , da questo segue che v non può essere polinomiale. A questo punto avremmo che il vettore a supporto infinito v viene
mappato in un vettore polinomiale vG, contro l’ipotesi.
29
Capitolo 2.
CODICI 2D. DEFINIZIONI E PROPRIETÀ
Condizione sufficiente
Similmente a quanto visto per la condizione necessaria se G fosse un codificatore catastrofico esisterebbe un u ∈
/ F[z1 , z2 , z1−1 , z2−1 ]k tale che
y = uG = uD−1 N
con y ∈ F[z1 , z2 , z1−1 , z2−1 ]
h
−1
i
Consideriamo ora il vettore v = uD . Moltiplicandolo per la matrice D N
si ottiene
h
i h
i
v D N = u y
h
i
che è un vettore non polinomiale. Essendo D N polinomiale, segue che
anche v è non polinomiale. A questo punto si avrebbe che un vettore v non
polinomiale viene mappato dalla matrice N nel vettore polinomiale y contro
l’ipotesi.
Osservazione La condizione di non catastroficità è fortemente legata allo spazio di definizione dei segnali: essa infatti è legata all’invertibilità dei polinomi
all’interno dello spazio di definizione (si veda la propos. 3.2). Per esempio
considerando codici costruiti sullo spazio F[[z1 , z2 ]] delle serie causali (si veda
ad esempio [31, chap. 5]), la condizione di catastroficità diventa: un codice è
catastrofico se e solo se esiste un polinomio non costante d ∈ F[z1 , z2 ] con termine
noto non nullo tale che d sia un divisore comune di tutti i divisori del codificatore ([31,
prop. 5.1.7]. Vengono cioè permessi fattori comuni con termine noto nullo.
Osservazione Come si può vedere nell’articolo di Fornasini-Valcher ([11]), in
realtà la non catastroficità è legata alla left minor primeness (ℓM P ) del codificatore. In questa sede abbiamo parlato sempre di left factor primeness (ℓF P )
perché nel caso bidimensionale i due concetti coincidono.
2.4.2 Decodifica non catastrofica robusta
La condizione di non catastroficità che abbiamo trovato presuppone che la parola ŷ che viene introdotta nel decodificatore sia una parola di codice. Se non
si effettua preventivamente la stima e si decodifica il messaggio in un unico
passo, la condizione da porre sul codificatore deve essere più restrittiva. Per
avere una decodifica non catastrofica, qualunque sia la parola in ingresso al decodificatore, il decodificatore deve essere polinomiale. Vale infatti il seguente
risultato.
30
2.4 Codificatori e decodificatori non catastrofici
Proposizione 2.5 Sia X un decodificatore razionale non polinomiale per il codice C.
Allora esiste sempre almeno un vettore polinomiale d’errore e ∈ F± n \ C che produce
un errore catastrofico.
Dimostrazione. Se il codificatore è catastrofico il risultato è ovvio. Senza perdita di generalità assumiamo perciò che G sia un codificatore non catastrofico per il codice C, in modo che GX = Ik . Tutti i vettori in F± n ∩ C, per la
non catastroficità, sono immagini di vettori appartenenti a F± k . D’altra parte essendo X matrice razionale non polinomiale, esisterà sempre un vettore
e ∈ F[z1 , z2 , z1−1 , z2−1 ]n che viene mappato da X in un vettore razionale eX non
polinomiale. Risulta ovviamente che e ∈
/ C. Sia ora u ∈ F± k . Supponiamo che
la sua immagine y = uG, y ∈ F± n sia corrotta dal rumore e. In decodifica si
ha:
(y + e)X = yX + eX = u + eX
In questo modo un errore a supporto finito provoca un errore a supporto infinito in decodifica. D’altra parte se X fosse polinomiale comunque scelto e ∈ F± n ,
eX sarebbe polinomiale e l’errore in decodifca sarebbe a supporto finito.
Nel caso di decodificatore polinomiale si parla di decodifica non catastrofica robusta per distinguerla dal caso in cui in ingresso si hanno solo parole di
codice, caso in cui si parla di decodifica non catastrofica semplice.
Dato un codice C è sempre possibile trovare un decodificatore polinomiale.
Infatti dato un codificatore polinomiale G, che, per la proposizione 2.1, esiste
sempre, si calcoli il corrispondente decodificatore X. Se esso è polinomiale è il
decodificatore cercato altrimenti, se è razionale sarà esprimibile come
e −1
X = Xd
e è una matrice polinomiale. A questo punto il codificatore razionadove X
e come
le Gd−1 è un codificatore di C che ammette la matrice polinomiale X
decodificatore.
e −1 ) = (Gd−1 )X
e = Ik
GX = G(Xd
Differentemente dal caso unidimensionale, può non essere possibile avere contemporaneamente sia un codificatore polinomiale sia un decodificatore
polinomiale. Vale infatti il seguente risultato:
31
Capitolo 2.
CODICI 2D. DEFINIZIONI E PROPRIETÀ
Proposizione 2.6 Dato un codice C esso ammette contemporaneamente codificatori
polinomiali e decodificatori polinomiali se e solo se ogni codificatore polinomiale ℓF P
è anche ℓZP .
Per la dimostrazione si vedano gli articoli di Fornasini e Valcher ([11, prop.
2.1] e [9, prop. 3.1]).
Vediamo ora quale sia la condizione generale su un codificatore G ∈ F(z1 , z2 )k×n
perché esso ammetta un decodificatore polinomiale. Per poter caratterizzare tali codificatori anteponiamo un lemma dovuto a Morf, Lévy e Kung ([22,
Lemma 5.3]).
Lemma 2.7 Siano N ,D,X matrici polinomiali in due indeterminate e sia P =
N D−1 X. Se N e D sono coprime a destra (cioè se N D−1 è una rappresentazione
matriciale fratta coprima), allora P è polinomiale se e solo se D−1 X è polinomiale.
Proposizione 2.8 Sia G ∈ F(z1 , z2 )k×n un codificatore razionale del codice C. Condizione necessaria e sufficiente perché G ammetta un decodificatore polinomiale è che
−1
per ogni rappresentazione matriciale fratta destra coprima G = NR DR
la matrice
numeratore NR sia left zero prime.
Dimostrazione.
Condizione Sufficiente
Se NR è ℓZP essa ammetterà un’inversa destra polinomiale P .
N R P = Ik
Risulta perciò:
−1
−1
N R P = N R DR
D R P = N R DR
(DR P ) = Ik
G(DR P ) = Ik
Ma X = DR P è polinomiale in quanto prodotto di matrici polinomiali: essa è
l’inversa destra cercata.
Condizione Necessaria
32
2.4 Codificatori e decodificatori non catastrofici
Sia X una matrice inversa destra polinomiale di G. Risulta:
−1
GX = NR DR
X = Ik
−1
Per il lemma 2.7 si ha che la matrice P = DR
X è una matrice polinomiale.
N R P = Ik
Poiché la matrice polinomiale NR ha un’inversa polinomiale destra essa deve
essere ℓZP .
Osservazione La condizione va posta sulla rappresentazione matriciale fratta destra. Se infatti si scegliesse di porre la condizione di left zero primeness
sul numeratore delle rappresentazioni matriciali fratte sinistre, tale condizione sarebbe solo sufficiente e non necessaria. Si consideri infatti la seguente
matrice
h
i
x
G = 1 −y
" #
1
. Consideessa banalmente ammette come inversa destra la matrice X =
0
riamo le due rappresentazioni matriciali fratte coprime di G:
#
"
i 1 x −1
G= 1 0
0 y
h i−1 h
i
G= y
y −x
h
La rappresentazione matriciale fratta sinistra ha la matrice numeratore non
ℓZP eppure G possiede un’inversa destra polinomiale. D’altra parte è banale
vedere che se la matrice numeratore di ogni rappresentazione matriciale fratta sinistra di G è ℓZP allora G possiede un’inversa destra polinomiale (basta
prendere infatti X = Y D dove Y è un’inversa destra polinomiale della matrice
numeratore).
Osservazione Nel caso unidimensionale non c’è distinzione tra decodifica non
catastrofica semplice e decodifica non catastrofica robusta in quanto left factor
primeness e left zero primeness sono proprietà equivalenti.
33
Capitolo 2.
2.5
CODICI 2D. DEFINIZIONI E PROPRIETÀ
Codificatori sistematici
Definizione 2.4 Un codificatore G ∈ F1,1 ((z1 , z2 ))k×n si dice sistematico se, a meno
di una permutazione delle colonne, ha come sottomatrice la matrice identità Ik .
Un codificatore sistematico costruisce la parola di codice replicando i k simboli in ingresso e aggiungendo n − k simboli di ridondanza. In questo modo
esso non è mai catastrofico (il decodificatore di un codificatore sistematico ha
la forma I0k ).
Dato un codice C, esso ammette sempre un codificatore sistematico Gs .
Infatti preso un qualsiasi codificatore iniettivo G esso si può partizionare:
h
G = G1 | G2
i
G1 ∈ F(z1 , z2 )k×k
con
G2 ∈ F(z1 , z2 )k×(n−k)
Un codificatore sistematico equivalente si ottiene moltiplicando G per la mak×k
trice quadrata invertibile G−1
1 ∈ F(z1 , z2 )
h
i
−1
Gs = G−1
G
=
I
|
G
G
k
2
1
1
È interessante poi vedere quando si riesca ad ottenere un codificatore sistematico polinomiale. Ovviamente se G è un codificatore polinomiale e G1 è
unimodulare allora G−1
1 sarà polinomiale e Gs risulterà polinomiale. Tale condizione è anche necessaria e per la dimostrazione rinviamo alla dispensa di
Fornasini ([6, prop 7.5.2]).
2.6
Formatori di sindrome
Uno dei passi fondamentali nel processo di decodifica è la verifica se la parola
ricevuta r̂ è una parola di codice o meno. Questa verifica viene effettuata di solito per mezzo della cosiddetta matrice dei check di parità o formatore di sindrome.
Alla parola ricevuta r̂ viene associata la sindrome s ∈ F1,1 ((z1 , z2 ))n−k
s = r̂H
La sindrome è nulla se e solo se r̂ ∈ C.
34
2.6 Formatori di sindrome
Introduciamo nello spazio vettoriale F1,1 ((z1 , z2 ))n il prodotto scalare1
u · v = uvT
Per note proprietà di algebra lineare il sottospazio C ⊂ F1,1 ((z1 , z2 ))n di dimensione k individua univocamente un secondo sottospazio C ⊥ di dimensione
n − k, detto complemento ortogonale2 di C, tale che per ogni coppia (u, v), u ∈ C e
v ∈ C ⊥ si ha u · v = 0. Anche C ⊥ risulta essere un codice secondo la definizione
2.1 e viene denominato codice duale di C.
Tramite il codice duale possiamo dare la definizione di formatore di sindrome.
Definizione 2.5 Dato un codice convoluzionale C, si dice formatore di sindrome
ogni matrice H T dove H è un codificatore del codice duale C ⊥ .
È immediato vedere che per ogni y ∈ C risulta yH T = 0. Essendo H il codificatore di un codice convoluzionale valgono i risultati della proposizione 2.1.
In particolare è sempre possibile trovare un formatore di sindrome polinomiale
indipendentemente dalla struttura del codice C.
1
In realtà, essendo F un campo finito, questo prodotto non soddisfa il terzo assioma del
prodotto scalare (come già accadeva per gli spazi definiti sul campo complesso C). Esistono
cioè vettori u non nulli tali che u · u = 0 (un esempio è il vettore [ 1 1 ] quando F = GF2 ). Per
questo, contrariamente a quanto accade negli spazi vettoriali costruiti su R, dato un sottospazio C, risulta che C ⊥ può non essere un complemento diretto di C, in quanto si potrebbe avere
C ∩ C ⊥ 6= 0. Nell’ambito dei codici, per comodità, tale prodotto viene comunque chiamato
ugualmente prodotto scalare.
2
A causa della definizione non propriamente corretta di prodotto scalare certi autori non
parlano di complemento ortogonale ma di annullatore (annihilator).
35
Capitolo 3
Confronto con le altre teorie dei
Codici 2D
Nel corso del capitolo 2 abbiamo più volte confrontato i risultati che derivavano dalla definizione 2.1 di codice bidimensionale con le altre teorie, specialmente quella di Fornasini-Valcher e quella di Weiner. In questo terzo e ultimo
capitolo ci proponiamo un confronto approfondito tra le tre teorie cercando di
evidenziare pregi e difetti di ognuna.
3.1
Le altre definizioni di codice 2D
Innanzitutto vediamo come sono definiti i codici bidimensionali nell’ambito
delle altre due teorie.
Definizione 3.1 (Fornasini-Valcher) Un codice convoluzionale C è un F± -sottomodulo
di F∞ n completo e controllabile.
Ricordiamo che un insieme si dice completo rispetto a una certa topologia se
ogni successione di Cauchy di elementi dell’insieme converge a un elemento
dell’insieme. La topologia considerata per lo spazio F∞ n è quella indotta dalla
distanza ∆(·, ·)
∆(u, v) =
(
0
se u = v
2− min{d[(i,j),(0,0)]:vij 6=uij } altrimenti
dove d è la distanza tra i punti di Z2 cosı̀ definita:
d[(i, j), (h, k)] = |i − h| + |j − k|
37
Capitolo 3.
CONFRONTO CON LE ALTRE TEORIE DEI CODICI 2D
Una definizione alternativa di completezza che chiarisce perché questa proprietà sia richiesta per i codici è la seguente.
Definizione 3.2 Sia S1 ⊂ S2 ⊂ S3 ⊂ . . . una sequenza di sottoinsiemi di Z2 tale
S
che m∈N Sm = Z2 . Un insieme C ∈ F∞ n si dice completo se per ogni elemento
w ∈ F∞ n , w appartiene a C se e solo se ∀m ∈ N, esiste un elemento vm ∈ C tale che:
w|Sm = vm |Sm
Ogni parola di codice può cioè essere “troncata” in qualsiasi modo ottenendo ancora una parola di codice.
La nozione di controllabilità per i sistemi 2D e per i codici 2D, differisce
dall’usuale concetto presente nella teoria dei sistemi 1D. Se in tale ambito si
parlava di esistenza di un ingresso che annullasse lo stato in un numero finito
di passi, nell’ambito della teoria dei codici 2D la controllabilità è legata alla
possibilità di concatenare due parole di codice ottenendo ancora una parola di
codice.
Definizione 3.3 Un insieme C ∈ F∞ si dice controllabile se per ogni insieme finito
S ⊂ Z×Z e ogni elemento v1 ∈ C, esistono un intero positivo δ e un secondo elemento
v2 ∈ C tali che:
v1 |S = v2 |S
e
supp(v2 ) ⊆ S δ
dove
S δ = (i, j) ∈ Z2 : d [(i, j), S] < δ
Un codice è controllabile, cioè, se per ogni parola di codice ne esiste un’altra
a supporto finito che coincide con la prima su un opportuno insieme di Z2 .
Una definizione alternativa utilizza il concetto di concatenazione. Un codice è
controllabile se per ogni coppia di parole di codice si può costruire una terza
parola di codice formata da porzioni della prima e della seconda purché le
porzioni siano sufficientemente distanti.
Contrariamente alla teoria di Fornasini e Valcher, la teoria di Weiner ricava gran parte dei risultati considerando parole a supporto finito generate da
ingressi a supporto finito. Infatti la sua definizione di codice convoluzionale
bidimensionale è la seguente ([31, def. 2.1.6]):
38
3.1 Le altre definizioni di codice 2D
Definizione 3.4 (Weiner) Un codice convoluzionale C è un F[z1 , z2 ]-sottomodulo
di F[z1 , z2 ]n .
Solo nell’ultima parte della trattazione, nel capitolo dedicato ai codificatori
catastrofici, l’autore considera ingressi e parole di codice a supporto infinito,
aventi comunque supporto contenuto nel primo quadrante di Z2 . Considera
cioè codici definiti nel seguente modo:
Definizione 3.5 (Weiner) Un codice convoluzionale C è un F[z1 , z2 ]-sottomodulo
di F[[z1 , z2 ]]n .
Come si vede la principale differenza tra le due definizioni sta nello spazio
di definizione dei segnali. Entrambe, al contrario della nostra estensione al 2D
della teoria di Forney, sfruttano la teoria dei moduli e in entrambe le teorie
occupano ovviamente un posto di primaria importanza i moduli liberi.
La teoria di Forney 2D occupa un posto intermedio tra le due esistenti in
letteratura, se non altro dal punto di vista delle condizioni che imponiamo
sugli ingressi. Le condizioni che abbiamo dovuto imporre sono molto meno
restrittive di quelle imposte da Weiner ma sono certo più restrittive della totale
assenza di restrizioni che appare nella teoria di Fornasini-Valcher. Se a un
primo sguardo la teoria di Forney 2D sembra porsi a un punto equidistante,
come vedremo essa si avvicina di più ai risultati di Weiner che non a quelli di
Fornasini-Valcher e questo è dovuto alla ricchezza delle strutture algebriche in
cui sono definiti sia i codici 2D alla Forney sia i codici di Weiner.
Prima di confrontare nei particolari le proprietà dei codici andiamo ad esaminare le proprietà richieste nelle definizioni.
Linearità e Invarianza alle traslazioni Entrambe queste proprietà sono richieste da tutte e tre le definizioni. Esse sono incluse nei concetti di sottospazio e
di sottomodulo e sono tra le proprietà fondanti di un codice. Infatti è assolutamente necessario che un codice non cambi le sue proprietà se la codifica
avviene in istanti differenti (in Z2 ). La proprietà di linearità, non fondamentale
quanto l’invarianza (tanto che sono stati pensati codici non lineari), semplifica
tuttavia in maniera decisiva le operazioni di codifica e decodifica.
Completezza Tale proprietà è richiesta solo da Fornasini e Valcher che, subito
dopo averla introdotta, dimostrano anche che sia i nostri codici di Forney 2D
che i codici di Weiner non sono mai completi ([9, Examp. 1 e Examp. 2]. Non
39
Capitolo 3.
CONFRONTO CON LE ALTRE TEORIE DEI CODICI 2D
ci si lasci ingannare dal teorema di Willems ([32, Theor. 5]) che afferma che
un behavior è completo se e solo se ammette una rappresentazione a nucleo.
Infatti i nostri codici di Forney 2D e i codici di Weiner ammettono entrambi
rappresentazioni a nucleo ma all’interno degli spazi in cui sono definiti e non
2
nello spazio generico FZ . Tuttavia visto che la conseguenza più importante
della completezza è il fatto di avere una matrice di parità polinomiale, il fatto
che i nostri codici siano non completi non comporta grandi problemi.
3.2
Confronto tra le proprietà dei codici
Nel confronto tra le proprietà dei codici nelle tre teorie seguiremo l’ordine
utilizzato nel capitolo 2.
3.2.1 Iniettività
Guardando all’iniettività del processo di codifica si trovano le prime importanti differenze tra le tre teorie. Nella nostra estensione alla teoria di Forney,
dato un codice C, è sempre possibile ottenere un codificatore iniettivo per C.
Questo purtroppo non è vero nelle altre due.
Nella teoria di Fornasini-Valcher l’iniettività è legata alla proprietà di Zero
Primeness del codificatore ([9, Prop. 3.1]) e come abbiamo visto nella proposizione 2.6 può non essere possibile ottenere un siffatto codificatore.
Nella teoria di Weiner la condizione perché un codice ammetta codificatori
iniettivi è il codice sia libero e, in tal caso, un codificatore è iniettivo per un
codice di rango k se e solo se il codificatore ha dimensioni k × n.
Questa prima grande differenza porta a notare che in entrambe le teorie
i codici si possono partizionare in due grandi sottoclassi: i codici “utili” che
ammettono un codificatore iniettivo e quindi ammettono a loro volta un decodificatore e i codici che, al contrario, una volta codificata l’informazione non
permettono di riottenerla a partire dalle parole codificate.
3.2.2 Codificatori Equivalenti
Le condizioni per i codificatori equivalenti sono analoghe nelle tre teorie. Considerando solo i codificatori a rango pieno di riga (che nel nostro caso sono
anche codificatori iniettivi) si vede che le proprietà di equivalenza sono legate
40
3.2 Confronto tra le proprietà dei codici
alle condizioni di invertibilità delle matrici utilizzate. Nel nostro caso le matrici invertibili sono tutte le matrici quadrate a rango pieno mentre nelle altre
due teorie, che fanno uso di matrici polinomiali, le uniche matrici invertibili
sono le matrici unimodulari.
3.2.3 Catastroficità
Le tre teorie danno condizioni diverse per la non catastroficità. Se infatti sia
nella nostra estensione della teoria di Forney, sia nella teoria di FornasiniValcher la condizione di non catastroficità semplice richiede che i minori di
ordine massimo non ammettano fattori comuni, nella teoria di Weiner la condizione permette che ci siano fattori comuni non invertibili purché questi abbiano termine noto nullo.
Per capire a fondo tale problematica è necessario capire, dato un codificatore catastrofico, quali siano i vettori a supporto infinito che vengono mappati in
vettori a supporto finito. Tali vettori verrano denominati per comodità vettori
catastrofici.
Proposizione 3.1 Sia G ∈ F[z1 , z2 , z1−1 , z2−1 ]k×n un codificatore iniettivo polinomiale per il codice C. Condizione necessaria perché il vettore y = uG sia polinomiale è
che u sia un vettore razionale.
Dimostrazione. Poiché la trasformazione legata alla matrice G è iniettiva essa
ammetterà una trasformazione inversa legata a una matrice X ∈ F(z1 , z2 )k×n .
GX = Ik
La matrice X sarà in generale razionale (prop. 2.2). Consideriamo ora la relazione y = uG e moltiplichiamo a destra ambo i membri per la matrice X.
Risulta:
u = yX
u è un vettore razionale in quanto risultato di un numero finito di somme
e prodotti di funzioni razionali. D’altra parte la trasformazione è iniettiva e
quindi u è l’unica controimmagine di y.
Osservazione Tale risultato vale banalmente anche per la teoria di FornasiniValcher e, sostituendo l’anello dei polinomi di Laurent con l’anello dei polinomi ordinari, anche per la teoria di Weiner. In particolare, nella teoria di
41
Capitolo 3.
CONFRONTO CON LE ALTRE TEORIE DEI CODICI 2D
Fornasini-Valcher, la matrice X risulterà necessariamente polinomiale in quanto l’iniettività del codificatore equivale alla sua left zero primeness.
È noto che tutti i vettori razionali u ammettono una
u = d−1 v
h RMF coprima
i
dove d ∈ F[z1 , z2 , z1−1 , z2−1 ] è un polinomio e v = v1 . . . vk è un vettore
polinomiale tali che MCD(d, v1 , . . . , vk ) = 1. Tale rappresentazione inoltre è
unica a meno di elementi invertibili nell’anello F[z1 , z2 , z1−1 , z2−1 ].
Proposizione 3.2 Sia G ∈ F[z1 , z2 , z1−1 , z2−1 ]k×n un codificatore polinomiale per il
codice C e u = d−1 v un vettore razionale appartenente a F(z1 , z2 )k . Se y = uG è un
vettore polinomiale, allora d divide tutti i minori k × k della matrice G.
Dimostrazione. Moltiplicando per d entrambi i membri di y = d−1 vG risulta:
dy = vG
Dato che l’anello F[z1 , z2 , z1−1 , z2−1 ] è un dominio a fattorizzazione unica, il risultato segue dal Corollario 3.3.11 di Weiner ([31]).
Allo stesso modo si dimostra a partire dal corollario 3.3.15 di Weiner che
se un polinomio d divide tutti i minori di ordine massimo di un codificatore
G, allora esisterà un vettore catastrofico rappresentabile come u = d−1 v (il
risultato è indipendente dall’ipotesi di iniettività del codificatore).
Osservazione Si noti che il fatto di essere rappresentabile come u = d−1 v
per ogni rappresentazione coprima non è una condizione sufficiente perché
il vettore u sia catastrofico. Si veda banalmente il seguente esempio:
#
"
(z1 + 1)(z2 + 1)
0
z2
G=
0
z2 + 1 1
Risulta:
h
y = uG = z1 + 1 z1
h
i−1 h
i
u = z2 + 1
1 z1
z1 +z2
z2 +1
i
che è evidentemente non polinomiale. D’altra parte si potrebbe pensare che
la condizione necessaria e sufficiente sia il fatto che d divida ogni singolo
elemento di G. Essa è solo sufficiente ma non necessaria. Si veda ad esempio:
#
(z1 + 1)(z2 + 1)
0
z1
G=
0
z2 + 1 −1
"
42
h
i−1 h
i
u = z2 + 1
1 z1
3.2 Confronto tra le proprietà dei codici
Risulta:
h
i
y = uG = z1 + 1 z1 0
che invece è polinomiale senza che z2 + 1 divida tutti gli elementi di G.
Di conseguenza, nella nostra estensione alla teoria di Forney e nella teoria
di Weiner, i vettori catastrofici per un codificatore iniettivo G sono tutti vettori
di serie formali rappresentabili come vettori razionali u = d−1 v, dove d in
ogni rappresentazione coprima di u è il fattore comune dei minori di ordine
massimo di G.
Quando il codificatore non è iniettivo (teoria di Fornasini-Valcher e codificatori non iniettivi per le altre due) la proposizione 3.1 non sarà più verificata
e potranno esistere vettori catastrofici non razionali. Tuttavia per ogni vettore
catastrofico non razionale c ne esisterà uno di razionale r (che per la proposizione 3.2 sarà rappresentabile come r = d−1 v con d fattore comune di tutti i
minori di ordine massimo del codificatore G) tale che:
rG = cG
Grazie a queste osservazioni possiamo ora capire perché spazi di definizione diversi diano origine a condizioni di non catastroficità diverse. Sia d
un fattore comune dei minori di ordine massimo di un codificatore G. Come abbiamo detto in precedenza, esiste sempre un vettore catastrofico avente
rappresentazione fratta coprima u = d−1 v. Le componenti di u saranno funzioni razionali che, a seconda dello spazio di definizione del codice, potranno
ammettere o meno una espansione come serie formale.
Se si opera nello spazio delle serie debolmente causali traslate F1,1 ((z1 , z2 ))
ogni funzione razionale è sempre espandibile in serie e quindi ogni codificatore che non sia ℓM P è catastrofico.
Nello spazio delle serie formali causali F[[z1 , z2 ]], invece, è noto che le funzioni razionali coprime, aventi denominatore con termine noto nullo, non sono
espandibili in serie (si veda il teorema 1.1). Perciò se anche il codificatore ha i
minori con fattore comune un polinomio con termine noto nullo, non esiste un
vettore a elementi in F[[z1 , z2 ]] che rappresenti il vettore razionale catastrofico.
Questo spiega la diversa condizione di non catastroficità di Weiner.
43
Capitolo 3.
CONFRONTO CON LE ALTRE TEORIE DEI CODICI 2D
3.2.4 Formazione della sindrome
Come abbiamo visto nella nostra estensione alla teoria di Forney, dato un codice C, si può sempre costruire la matrice di parità: dato un sottospazio C infatti
è univocamente determinato C ⊥ . Per quanto riguarda la teoria di FornasiniValcher l’esistenza della matrice di parità è richiesta nella definizione di codice.
Infatti per il già citato teorema di Willems ([32, Theor. 5]) la completezza del
behavior equivale all’esistenza di una rappresentazione a nucleo. Per quanto
riguarda infine la teoria di Weiner, egli dimostra che, condizione necessaria e
sufficiente perché un codice C ammetta una rappresentazione a nucleo, è che
ogni sua rappresentazione a immagine sia ℓM P . Nel caso dei codici 2D, se il
codice è libero tale condizione è sempre soddisfatta. Infatti, dato che nel caso
2D factor primeness e minor primeness coincidono e che si può sempre trovare un
codificatore equivalente ℓF P , tale codificatore sarà anche ℓM P .
44
Conclusioni
Come si può notare anche dalla composizione di questa tesi in termini di pagine, la parte più difficoltosa dell’estensione al 2D della teoria di Forney risiede
nella costruzione del campo all’interno di F∞ . Una volta definiti i codici sul
campo da noi costruito, la maggior parte delle proprietà del caso unidimensionale vengono estese banalmente al caso bidimensionale. La nostra attenzione si è soffermata in particolare sul problema della catastroficità dove si
evidenziano le maggiori differenze rispetto al caso 1D.
A conclusione di questa tesi vogliamo indicare qualche problema che resta
aperto nell’ambito della teoria dei codici bidimensionali, e che potrebbe essere
oggetto di future ricerche.
Estensione della teoria di Forney al caso nD L’estensione della teoria di
Forney al caso nD non è ricavabile direttamente dalla nostra estensione al 2D.
Infatti la nostra costruzione del campo per il caso 2D ha richiesto strumenti
propri del caso bidimensionale (coni, serie debolmente causali. . . ) che non
trovano banale riscontro negli spazi a più di due dimensioni. Sicuramente sarà
possibile trovare concetti analoghi una volta fissato il numero di dimensioni:
ciò che sembra più arduo è una generalizzazione al caso n-dimensionale.
Distanza dei codici Tale argomento, di fondamentale importanza per quanto riguarda le applicazioni dei codici, non è stato minimamente toccato in
questa tesi. D’altra parte esso è completamente assente anche nella teoria di
Fornasini-Valcher ed è solamente accennato nella tesi di Weiner. Le soluzioni
al problema nel caso unidimensionale utilizzano tecniche di minimizzazione
sui grafi (simili all’algoritmo di Viterbi) che non hanno riscontro nel caso 2D.
D’altra parte già nel caso unidimensionale tali algoritmi, pur esistendo, hanno interesse pratico praticamente nullo visto che la loro complessità aumenta
esponenzialmente con il numero di elementi di memoria coinvolti.
45
CONCLUSIONI
Realizzazione minima e proprietà di memoria Come accennato nel corso del
capitolo 2, il problema della realizzazione minima nell’ambito dei sistemi bidimensionali è ancora un problema aperto e ben lungi dall’essere risolto. Di
conseguenza non è ancora possibile caratterizzare i codici bidimensionali rispetto al numero di elementi di memoria richiesti come accade, invece, nel
caso unidimensionale. Tuttavia, essendo l’alfabeto del codice un campo finito,
non è da escludere che sia possibile trovare una soluzione al problema nel caso
dei codici senza che sia possibile risolvere il caso generale.
Trasformazioni serie/parallelo e parallelo/serie Tale problematica è legata al
fatto che solitamente i segnali processati dai codici sono segnali scalari. Tutte
le teorie per i codici 2D presenti in letteratura, compresa la nostra estensione della teoria di Forney, invece suppongono di avere in ingresso un segnale
già vettoriale di dimensione k e, dopo la codifica, suppongono di spedire un
segnale vettoriale di n componenti. Resta aperto il problema di come effettuare la trasformazione serie/parallelo e parallelo/serie. Se, infatti, nel caso
unidimensionale, fissati k e n, tale trasformazione è essenzialmente unica (si
vedano gli esempi presenti nell’introduzione), nel caso bidimensionale le possibilità si moltiplicano. Si prenda ad esempio un codice iniettivo con k = 2 e
n = 6. Se la trasformazione in ingresso al codificatore ammette solo due possibilità (campionamento con rapporto 21 lungo z1 oppure lungo z2 ), all’uscita
del codificatore la trasformazione parallelo/serie ammette addirittura quattro
possibilità: 1 × 6, 2 × 3, 3 × 2 e 6 × 1. Dal punto di vista del codice la situazione non cambia ma dal punto di vista della sensibilità al rumore nel canale
la scelta sembra non essere indifferente. Tale argomento però esula dalla teoria classica dei sistemi in quanto necessita di strumenti probabilistici e modelli
probabilistici bidimensionali del rumore.
Applicazioni Il maggiore problema legato ai codici bidimensionali e in generale ai sistemi bidimensionali è legato alle applicazioni pratiche. Se, infatti, tale tipologia di sistemi riveste un importante ruolo dal punto di vista teorico, a
tutt’oggi non si sono trovate applicazioni pratiche se non in qualche caso molto ristretto. L’applicazione più ovvia dei codici convoluzionali bidimensionali
sembrerebbe legata alla codifica dei segnali bidimensionali come le immagini ma negli ultimi tempi si sta facendo strada un loro possibile utilizzo nella
46
CONCLUSIONI
codifica dei segnali unidimensionali grazie a particolari applicazioni legate ai
turbo codes.
47
Appendice A
Richiami di Algebra
Questa appendice non pretende di essere un quadro esauriente dell’algebra
utilizzata in questa tesi. Tuttavia ci sembrava necessario includere le definizioni dei principali elementi utilizzati nel corso della tesi per permettere una
rapida consultazione e aumentare, auspicabilmente, la chiarezza del testo. Al
lettore interessato consigliamo di consultare testi specifici come il ChambedalOvaert ([1]), il Birkhoff-Mac Lane ([19]) o lo Zariski-Samuel ([35]).
A1
Relazioni d’ordine
Definizione A1 Dato un insieme I, una relazione su I che indicheremo con il simbolo ≦ si dice relazione d’ordine (o ordine parziale1 ) se gode delle seguenti proprietà:
1. a ≦ a, ∀a ∈ I
(proprietà riflessiva)
2. (a ≦ b) ∧ (b ≦ c) ⇒ a ≦ c, ∀a, b, c ∈ I
3. (a ≦ b) ∧ (b ≦ a) ⇒ a = b, ∀a, b ∈ I
(proprietà transitiva)
(proprietà antisimmetrica)
Definizione A2 Dato un insieme I e una relazione d’ordine ≦ si dice che l’insieme
è totalmente ordinato se ∀a, b ∈ I è vera una ed una sola delle seguenti affermazioni
(legge di tricotomia)
1. a ≦ b
2. b ≦ a
3. a = b
1
Si veda ad esempio in [19, pag. 71]
49
APPENDICE A. RICHIAMI DI ALGEBRA
Definizione A3 Un insieme totalmente ordinato I si dice bene ordinato se ogni suo
sottoinsieme S 6= ∅ contiene un elemento minimo m, tale cioè che:
∀x ∈ S
m6x
Definizione A4 Un anello R si dice algebricamente ordinato (o anche solo ordinato2 ) se esiste un sottoinsieme non vuoto P ⊂ R, chiamato insieme dei numeri
positivi di R tale che:
1. (a ∈ P ) ∧ (b ∈ P ) ⇒ (a + b ∈ P ) ∧ (a · b ∈ P )
2. ∀a ∈ R vale una ed una sola delle seguenti alternative:
(a) a ∈ P
(b) a = 0
(c) (−a) ∈ P
A2
Strutture Algebriche
Si consideri l’insieme I e le due relazioni binarie chiamate rispettivamente
somma e prodotto:
+:I ×I →I
(a, b) 7→ a + b
·:I ×I →I
(a, b) 7→ a · b
definite per tutte le coppie ordinate del prodotto cartesiano I × I.
Definizione A5 La coppia (I, +) è un gruppo se sono verificate le seguenti proprietà
1. (a + b) + c = a + (b + c)
(associativa)
2. ∃0 ∈ I : a + 0 = 0 + a = a
3. ∀a ∈ I
2
(esistenza dell’elemento neutro)
∃b : a + b = z
(esistenza del simmetrico)
Si veda ad esempio in [19, pag. 178]
50
Moduli e spazi vettoriali
Se inoltre l’operazione somma verifica anche la proprietà
4. a + b = b + a
(commutativa della somma)
si parla di gruppo commutativo o abeliano
Definizione A6 La terna (I, +, ·) è un anello se sono verificate le seguenti proprietà
1. La coppia (I, +) è un gruppo commutativo
2. (a · b) · c = a · (b · c)
(associativa del prodotto)
3. (a + b) · c = a · c + b · c
(distributiva del prodotto rispetto alla somma)
Si parla rispettivamente di anelli commutativi, anelli con unità e anelli di integrità
se, oltre alle proprietà precedenti, sono verificate rispettivamente:
4. a · b = b · a
(commutativa del prodotto)
5. ∃1 ∈ I : a · 1 = 1 · a = a
(esistenza dell’elemento neutro del prodotto)
6. (a · b = 0) ⇒ (a = 0) ∨ (b = 0)
(assenza di divisori di 0)
Definizione A7 La terna (I, +, ·) è un corpo commutativo o campo se I è costituito da almeno due elementi distinti, se sono verificate contemporaneamente le 6
proprietà degli anelli e vale inoltre la seguente proprietà:
7. ∀a ∈ I \ {0}
A3
∃b : a · b = 1
(esistenza del simmetrico rispetto al prodotto)
Moduli e spazi vettoriali
Sia M un insieme non vuoto e sia A un anello commutativo con unità. Si
definiscano le seguenti operazioni chiamate rispettivamente somma e prodotto
per uno scalare
+:M×M→M
(a, b) 7→ a + b
◦:A×M→M
(α, a) 7→ αa
51
APPENDICE A. RICHIAMI DI ALGEBRA
Definizione A8 L’insieme M si dice A-modulo rispetto alle operazioni appena
definite se
1. (M, +) è un gruppo commutativo
2. λ ◦ (a + b) = λ ◦ a + λ ◦ b
(distributiva del prodotto scalare rispetto alla somma)
3. (λ + µ) ◦ a = λ ◦ a + µ ◦ a
4. λ ◦ (µ ◦ a) = (λµ) ◦ a
5. 1 ◦ a = a
(dove 1 è l’elemento neutro del prodotto in A)
Il simbolo della moltiplicazione in A viene omesso come pure viene omesso, ove non vi
siano ambiguità, il simbolo ◦ del prodotto per uno scalare.
Definizione A9 Un sottoinsieme di M chiuso rispetto alle operazioni di somma e di
prodotto per uno scalare viene chiamato sottomodulo.
Definizione A10 Sia M è un A-modulo e B = {b1 , . . . , bn } un suo sottoinsieme
finito. L’insieme hBi di tutte le combinazioni lineari a coefficienti αi ∈ A del tipo:
n
X
αi bi
i=1
è un sottomodulo di M detto sottomodulo generato da B. Se hBi = M, B è un
insieme di generatori del modulo M. M è finitamente generato se ammette un
insieme finito di generatori.
Definizione A11 Gli elementi a1 , . . . , at dell’A-modulo M sono linearmente diP
pendenti se esistono α1 , . . . , αt ∈ A, non tutti nulli tali che ti=1 αi ai = 0. In caso
contrario diciamo che a1 , . . . , at sono linearmente indipendenti. Una famiglia B
di generatori linearmente indipendenti di M è detta base di M ed un modulo che
ammette una base è detto libero.
Definizione A12 Un modulo V definito su un campo K è detto spazio vettoriale
su K o K-spazio vettoriale. Ogni suo sottomodulo è detto sottospazio vettoriale e
ogni suo elemento è detto vettore.
Proposizione A1 Ogni spazio vettoriale ammette una base. Ogni spazio vettoriale
è cioè un K-modulo libero.
Definizione A13 Sia V uno spazio vettoriale finitamente generato. Ogni base di V
ha lo stesso numero n di elementi. Tale numero è detto dimensione di V e si scrive
n = dim(V ).
52
Matrici
A4
Matrici
Dando per noti i concetti di matrice a elementi in un anello R e di determinante
di una matrice, ci soffermiamo su alcuni concetti dell’algebra matriciale per
cui non c’è in letteratura una uniformità nella terminologia e nelle definizioni.
Riportiamo in questa sede le definizioni e la terminologia utilizzata all’interno
della tesi indicando comunque anche le altre possibilità presenti in letteratura.
Definizione A14 Sia M ∈ Rk×n una matrice. Si definiscono minori3 i determinanti
delle sottomatrici quadrate di M . In particolare si dicono minori di ordine massimo
(maximal order minors) i minori delle sottomatrici di M di ordine massimo.
Definizione A15 Una matrice M ∈ Rk×n ha rango4 r e si scrive rank(M ) = r se i
suoi minori di ordine r + 1 sono tutti nulli mentre esiste almeno un minore di ordine
r non nullo. Se r = k, M è detta a rango pieno di riga, mentre se r = n, M è detta
a rango pieno di colonna.
A5
Matrici Polinomiali
Indichiamo con R l’anello dei polinomi a d indeterminate z = (z1 , . . . , zd ) con
coefficienti in un campo F. Per le definizioni seguenti è indifferente che R sia
l’anello dei polinomi ordinari F[z] o l’anello dei polinomi di Laurent F[z, z−1 ].
Definizione A16 Una matrice polinomiale G ∈ Rk×k è singolare se il suo determinante det(G) è il polinomio nullo, cioè il polinomio a coefficienti tutti nulli5 .
Definizione A17 Una matrice polinomiale G ∈ Rk×k è detta unimodulare se è un
elemento invertibile nell’anello Rk×k . Il determinante di una matrice unimodulare è
un elemento invertibile dell’anello R.
Definizione A18 Una matrice polinomiale G ∈ Rk×n si definisce left zero prime
(ℓZP ) se k 6 n e l’ideale IG generato dai minori di ordine massimo di G è l’anello R.
3
Altri autori definiscono minori le sottomatrici quadrate.
Nei testi di algebra lineare si introducono i ranghi per riga rr e i ranghi per colonna rc
definiti come le dimensioni dei sottospazi vettoriali generati rispettivamente dalle righe e dalle
colonne di M . Una volta dimostrato che per ogni matrice si ha rr = rc si definisce rango
r tale quantità. In questa sede si è preferito utilizzare la definizione con i minori potendo
cosı̀ estendere il concetto di rango anche alle matrici con elementi in un anello (le matrici
polinomiali ad esempio).
5
Si ricordi che per polinomi definiti su campi finiti non si ha che una funzione polinomiale
è identicamente nulla solo se i coefficienti sono tutti nulli. Un esempio è il polinomio z 2 + z in
GF2 .
4
53
APPENDICE A. RICHIAMI DI ALGEBRA
Definizione A19 Una matrice polinomiale G ∈ Rk×n si definisce left minor prime
(ℓM P ) se k 6 n e i minori di ordine massimo di G non hanno fattori comuni.
Definizione A20 Una matrice polinomiale G ∈ Rk×n si definisce left factor prime
(ℓF P ) se, per ogni fattorizzazione G = T Ḡ con Ḡ ∈ Rk×n , T è unimodulare.
Per un’analisi approfondita delle condizioni equivalenti ai vari tipi di primalità rinviamo all’articolo di Fornasini-Valcher ([11]).
A6
Matrici Razionali
È immediato accorgersi che il quoziente costruito sull’anello F[z1 , z2 ] dei polinomi ordinari coincide con il quoziente costruito sull’anello F[z1 , z2 , z1−1 , z2−1 ]
dei polinomi di Laurent. Denotiamo tale quoziente come F(z1 , z2 ). Una matrice
M a elementi in F(z1 , z2 ) è detta matrice razionale.
Definizione A21 Ogni matrice razionale M ∈ F(z1 , z2 )k×n si può scrivere per mezzo di matrici polinomiali. Si definisce Rappresentazione Matriciale Fratta (RMF)
−1
destra una rappresentazione del tipo M = NR DR
con NR ∈ F[z1 , z2 ]k×n e DR ∈
F[z1 , z2 ]n×n matrice non singolare. Si definisce Rappresentazione Matriciale Fratta
(RMF) sinistra una rappresentazione del tipo M = DL−1 NL con NL ∈ F[z1 , z2 ]k×n e
DL ∈ F[z1 , z2 ]k×k matrice non singolare.
54
Bibliografia
[1] L. C HAMBADAL E J. L. O VAERT.
Dunod, Paris, 1968.
Algèbre linéaire et algèbre tensorielle.
[2] F. D ELON. “Formal power series.”. Annals of Mathematics and Artificial
Intelligence, 16:59–73, 1996.
[3] R. E ISING. “State-space realization and inversion of 2-D systems”. IEEE
Trans. on Circuits and Systems, CAS-27(7):612–619, 1980.
[4] P. E LIAS. “Coding for noisy channels”. IRE Convention Record, 4:37–46,
1955.
[5] E. F ORNASINI. “A 2D systems approach to river pullution modelling”.
Multidimensional Systems and Signal Processing, 2:233–265, 1991.
[6] E. F ORNASINI. Sistemi Multivariabili.
2003/2004. Università di Padova.
Dispensa per il corso, A. A.
[7] E. F ORNASINI E G. M ARCHESINI. “Algebraic realization theory of twodimensional filters”, in Variable Structure Systems, a cura di R. Mohler e
A. Ruberti, Springer Lect. Notes. in Econ. Math. Sys., n 111, pagg. 64–82.
Springer-Verlag, 1974.
[8] E. F ORNASINI E G. M ARCHESINI.
“State–space realization theory
of two–dimensional filters”. IEEE Transactions on Automatic Control,
AC–21(4):484–492, 1976.
[9] E. F ORNASINI E M. E. VALCHER. “Algebraic aspects of two-dimensional
convolutional codes”. IEEE Transactions on Information Theory, 40(4):1068–
1082, 1994.
55
BIBLIOGRAFIA
[10] E. F ORNASINI E M. E. VALCHER. “On 2D finite support convolutional codes: An algebraic approach”. Multidimensional Systems and Signal
Processing, 5:231–243, 1994.
[11] E. F ORNASINI E M. E. VALCHER. “nD polynomial matrices with applications to multidimensional signal analysis”. Multidimensional Systems and
Signal Processing, 1996.
[12] G. D. F ORNEY, J R. “Convolutional codes I: Algebraic structure”. IEEE
Transactions on Information Theory, 16(5):720–738, 1970.
[13] G. D. F ORNEY, J R. “Structural analysis of convolutional codes via dual
codes”. IEEE Transactions on Information Theory, 19(5):512–518, 1973.
[14] G. D. F ORNEY, J R. “Minimal bases of rational vector spaces with applications to multivariable linear systems”. SIAM Journal on Control,
13(3):493–520, 1975.
[15] R. J OHANNESSON E K. S. Z IGANGIROV. Fundamentals of Convolutional
Coding. IEEE Press, New York, 1999.
[16] B. K ITCHENS. “Multidimensional convolutional codes.”. SIAM J. Discrete
Math., 15(3):367–381, 2002.
[17] S. L IN E D. J. C OSTELLO J R . Error Control Coding: Fundamentals and
Applications. Prentice-Hall, Englewood Cliffs, NJ, 1983.
[18] D. L IND E B. M ARCUS. An Introduction to Symbolic Dynamics and Coding.
Cambridge University Press, 1995.
[19] S. M AC L ANE E G. B IRKHOFF. Algebra. Mursia, Milano, Seconda edizione,
1978. Traduzione Italiana di Pietro Canetta.
[20] B. M ARCUS. “Symbolic dynamics and connections to coding theory, automata theory and system theory”, in Different aspects of coding theory (San
Francisco, CA, 1995), vol. 50, pagg. 95–108. Amer. Math. Soc., Providence,
RI, 1995.
[21] J. L. M ASSEY E M. K. S AIN. “Codes, automata, and continuous systems:
Explicit interconnections”. IEEE Transactions on Automatic Control, AC12(6):644–650, 1967.
56
BIBLIOGRAFIA
[22] M. M ORF, B. C. L EVY E S. Y. K UNG. “New results in 2-D systems theory,
part I: 2-D polynomial matrices, factorization, and coprimeness”. Proc.
IEEE, 65(6):861–872, 1977.
[23] P. P IRET. Convolutional Codes, an Algebraic Approach.
Cambridge, MA, 1988.
MIT Press,
[24] C. R ONCONI. Appunti di Algebra Lineare. Univer Editrice, 1992.
[25] H. H. R OSENBROCK. State Space and Multivariable Theory. Nelson-Wiley,
1970.
[26] J. R OSENTHAL. “Connections between linear systems and convolutional
codes”, in Codes, Systems and Graphical Models, a cura di B. Marcus e J. Rosenthal, IMA Vol. 123, pagg. 39–66. Springer-Verlag, 2001. Disponibile in
rete all’indirizzo: http://www.math.unizh.ch/rosen/preprints.html.
[27] J. R OSENTHAL , J. M. S CHUMACHER E E. V. Y ORK. “On behaviors and
convolutional codes”. IEEE Transactions on Information Theory, 42(6, part
1):1881–1891, 1996. Disponibile in rete all’indirizzo:
http://www.math.unizh.ch/rosen/preprints.html.
[28] C. E. S HANNON. “A mathematical theory of communication”. Bell System
Technical Journal, 27:379–423 (Part I) and 623–656 (Part II), luglio e ottobre
1948.
[29] M. E. VALCHER. Modellistica ed Analisi dei Sistemi 2D con Applicazioni alla
Codifica Convoluzionale. PhD thesis, Università di Padova, 1995.
[30] A. J. V ITERBI. “Error bounds for convolutional codes and an asymptotically optimum algorithm,”. IEEE Transactions on Information Theory,
IT-13:260–269, 1967.
[31] P. A. W EINER. Multidimensional Convolutional Codes. PhD thesis, University of Notre Dame, 1998. Disponibile in rete all’indirizzo:
http://www.math.unizh.ch/rosen/preprints.html.
[32] J. C. W ILLEMS. “From time series to linear system. Part I: Finite dimensional linear time invariant systems”. Automatica, 22:561–580, 1986. Disponibile in rete all’indirizzo:
http://www.esat.kuleuven.ac.be/~jwillems/Publications/Publications.html.
57
BIBLIOGRAFIA
[33] J. C. W ILLEMS. “Models for dynamics”, in Dynamics Reported, a cura di
U. Kirchgraber e H. O. Walther, vol. 2, pagg. 171–269. John Wiley & Sons
Ltd, 1989. Disponibile in rete all’indirizzo:
http://www.esat.kuleuven.ac.be/~jwillems/Publications/Publications.html.
[34] J. C. W ILLEMS. “Paradigms and puzzles in the theory of dynamical systems”. IEEE Trans. Automat. Control, AC-36(3):259–294, 1991. Disponibile
in rete all’indirizzo:
http://www.esat.kuleuven.ac.be/~jwillems/Publications/Publications.html.
[35] O. Z ARISKI E P. S AMUEL. Commutative Algebra.
Mathematics. Springer-Verlag, New York, 1960.
58
Graduate Texts in
Ringraziamenti
La tesi di laurea non è semplicemente il frutto di alcuni mesi di ricerca e di
lavoro. Essa si pone come la conclusione e il coronamento di un iter iniziato
con la scuola dell’obbligo, poi proseguito nelle scuole superiori e infine all’università. Le persone incontrate lungo questo cammino sono state molte e ad
ognuna di esse devo un frammento più o meno grande di questa tesi.
Sicuramente il primo ringraziamento, il più sentito, va alla mia famiglia, a
mamma, papà, Francesco, Luca, Paola, Federico e Stefano. Sono loro che con il loro
aiuto e con il loro sostegno mi hanno permesso di arrivare fino a qui. Sono loro
che hanno condiviso con me successi e insuccessi. Con loro ringrazio anche le
zie, soprattutto la zia Rosetta che ha continuato ad essermi vicina pur vivendo
un periodo difficile.
Un grande ringraziamento va al mio relatore, Mauro Bisiacco. La sua disponibilità in questi mesi è stata stupefacente, soprattutto nei momenti in cui le
mie idee erano confuse e le mie spiegazioni incomprensibili. Insieme a lui voglio ringraziare le due correlatrici, Maria Elena Valcher e Maria Cristina Ronconi
che, senza nessuna “investitura” ufficiale, sono sempre state pronte a prestare
il loro aiuto e a mettere a disposizione la loro competenza. Con tutti e tre mi
scuso per averli costretti a perdere ore a leggere email e pagine e pagine di
dimostrazioni.
Se ho scelto una tesi a prevalente contenuto matematico è perché ho sempre
avuto accanto persone che mi hanno fatto appassionare al mondo dei numeri. Questa tesi esiste solo perché nel mio cammino ho incontrato insegnanti
eccezionali come la mia maestra Rossana Testa, la mia professoressa di matematica delle scuole medie inferiori Laura Chiarelli, i due professori del Liceo
Silvana Pierobon e Lamberto Leoni e la professoressa di Metodi Matematici per
l’Ingegneria Anna Maria Bresquar.
La tesi è anche la conclusione in solitaria di un cammino comune. Si arriva a
questo punto solo con la forza della collaborazione. Voglio perciò ringraziare i
miei compagni di corso, in particolar modo Elena e Mattia con cui ho condiviso,
tra gli altri, il momento forse più difficile dei cinque anni. Il confronto con loro
è stato prezioso e molti dei 28 esami non sarebbero scritti nel mio libretto se
non fosse stato per le ore passate a studiare insieme.
Ringrazio, infine, quanti in questi anni hanno fatto un pezzo di strada con
me, chi da vicino e chi facendo sentire forte la sua presenza anche da molto
lontano. Soprattutto ringrazio chi questi mesi di tesi ha sopperito alla mia
mancanza di tempo, lavorando anche per me: la Commissione Web e il centro
diocesano di AC, i Loop Kattiv, Martina e tutto il gruppo giovanissimi, Elena, Chiara
e tutto il Coretto.
Un ultimo ringraziamento va ai bibliotecari del DEI che cercando tra gli archivi hanno trovato le decine di articoli che sono serviti per la tesi: auguro loro
che al più presto l’IEEE si decida a trasferire tutto il materiale su supporto digitale in modo da non dover più lottare con centinaia di volumi dalle rilegature
cadenti.
Scarica

Codici Convoluzionali Bidimensionali