Sei sulla pagina 1di 71

Dispense del Tutorato di

Trasmissione Numerica II

Emanuele Viterbo

8 gennaio 2002
Indice

1 Introduzione 3
1.1 Il canale AWGN e il rumore termico . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Modulazioni numeriche senza memoria . . . . . . . . . . . . . . . . . . . . . . . 4

2 Probabilità di errore delle modulazioni numeriche 7


2.1 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Codici a blocco per la correzione e la rivelazione degli errori 13


3.1 Concetti generali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Trasmissione sul canale BSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 Trasmissione sul canale AWGN con modulazione 2-PAM . . . . . . . . . . . . . . 15
3.4 Codici ciclici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.5 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4 Decodifica con la standard array 19


4.1 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5 Problemi sui codici a blocco 22


5.1 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.2 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.3 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.4 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.5 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

6 Codici convoluzionali 26
6.1 Concetti generali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.2 Decodifica con l’algoritmo di Viterbi . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.3 Calcolo delle prestazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

1
7 Esercizi sui codici convoluzionali 33
7.1 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.2 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.3 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.4 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

8 Comunicazioni via satellite 45


8.1 Esercizio sul link budget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.1.1 Caso del satellite non rigenerativo . . . . . . . . . . . . . . . . . . . . . . 48
8.1.2 Caso del satellite rigenerativo . . . . . . . . . . . . . . . . . . . . . . . . 48

9 Modulazioni codificate a traliccio 50


9.1 Esercizio sui TCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

10 Interferenza intersimbolica ed equalizzazione 56


10.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
10.2 Il criterio di Nyquist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
10.3 Equalizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
10.4 Esempio di calcolo della distorsione di picco con e senza equalizzatore . . . . . . . 60

11 Canali con fading e diversità 62


11.1 Prestazioni di modulazione binarie sul canale con fading di Raylegh . . . . . . . . 62

11.2 Calcolo di per il 2-PSK coerente su canale Rayleigh . . . . . . . . . . . . . . . 64
11.3 Diversità con selezione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
11.4 Confronto selection combining e maximal-ratio combining . . . . . . . . . . . . . 65

12 Test in preparazione dell’esame scritto 67


12.1 Problema 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
12.2 Problema 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
12.3 Problema 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
12.4 Problema 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
12.5 Soluzione Problema 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

2
Capitolo 1

Introduzione

Questa esercitazione è un ripasso di alcuni concetti fondamentali del corso di Trasmissione Nu-
merica I, che verranno utilizzati nel seguito di questo corso. Il contenuto di questa esercitazione si
trova sul libro di testo consigliato nel paragrafo 6.5 e nei capitoli 7 e 9.

1.1 Il canale AWGN e il rumore termico


Un semplice ma significativo modello di canale di trasmissione è il canale AWGN: dato un pro-
cesso  in ingresso, l’uscita è
     dove   è un processo gaussiano bianco
con densità spettrale di potenza  . Il rumore gaussiano (detto solitamente rumore termico) è
originato nei dispositivi fisici che formano la catena di trasmissione (linee, antenne, attenuatori,
amplificatori, filtri, ecc.).
Dal punto di vista del rumore termico, un resistore con resistenza  alla temperatura  Kelvin
presenta una densità spettrale di potenza disponibile pari a   , dove  è la costante di Boltz-
man, che vale !"$#&%(')!+*-,.0/ J/K. Vogliamo caratterizzare dal punto di vista del rumore termico un
dispositivo a due porte (doppio bipolo), con banda equivalente di rumore 1 e guadagno di potenza
disponibile 2 . A tale scopo, chiudiamo la porta di ingresso del nostro dispositivo su un carico
3546
resistivo adattato alla temperatura  e misuriamo la potenza in uscita .
3546 87:9 87$9;6
2 
<7:9 <7:9;6
dove =>1 è la potenza di rumore entrante, dovuta al resistore alla temperatura  , e è
la potenza di rumore generata internamente. Allora possiamo scrivere.
<7:9;6
83?4@6 <7:9;6 
A2()1BC 2)1ED+C 2)1H IC 
2)1GF

dove abbiamo definito la temperatura equivalente di rumore  come l’incremento di temperatura
83?4@6
che dobbiamo dare al resistore in ingresso per osservare la medesima all’uscita di un doppio
bipolo ideale con banda 1 e guadagno 2 , ma che non genera alcuna potenza di rumore interna. Se
7:9 3?4@6
indichiamo con 5JK;L e con ?JK;G rispettivamente i rapporti segnale/rumore all’ingresso e
all’uscita del nostro doppio bipolo, abbiamo la relazione:
ON ON
J 3?4@6 2 ! ! J 7:9
D    D
 F
M 2)1HCI  !PC Q R1 !PI S M  F
3
ON
dove è la potenza del segnale in ingresso. Dunque il rapporto segnale/rumore all’uscita di un

doppio bipolo con temperatura equivalente  , il cui carico all’ingresso è alla temperatura  , è

ridotto della quantità !QTU!C SV . Definiamo la cifra di rumore W del doppio bipolo come:

WX Y!PC Q 

dove 
 è la temperatura di riferimento &Z&*[ K.

1.2 Modulazioni numeriche senza memoria


Convenzionalmente, distinguiamo le modulazioni numeriche in banda base (cioè quando la banda
del segnale è centrata intorno alla frequenza \] ^* ) dalle modulazioni numeriche in banda traslata
(cioè quando la banda del segnale è centrata intorno alla frequenza \Q_ , detta frequenza di portante).
Ricordiamo che il compito del modulatore è di associare ad una sequenza di messaggi `Qa-bSc presi
da un certo alfabeto di ingresso d , una sequenza di forme d’onda da trasmettere sul canale fisico.
In generale, un segnale numerico all’uscita di un modulatore (senza memoria) in banda base può
essere scritto come:
g j  kMmlia-bn
 e f
bih ,
f
dove  è detto intervallo di simbolo e dove l’insieme delle forme d’onda:

Jo p` j @liaR qratsLdc
è detto costellazione di segnali del modulatore. Il termine di modulazione senza memoria è riferito
al fatto che per ogni intervallo di simbolo viene emesso un segnale che dipende esclusivamente dal
simbolo di ingresso in quell’intervallo. Nella pratica vengono anche utilizzate le modulazioni con
memoria in cui il segnale emesso dipende dallo stato del modulatore che a sua volta è funzione di
un certo numero di simboli di ingresso precedenti. Si vedano ad esempio le modulazioni CPM che
permettono di modellare opportunamente lo spettro del segnale trasmesso.
In genere, u dvu uwJVu yx è potenza di 2. Supponiamo che x yQz , allora ogni simbolo
di ingresso a in d (ovvero ogni segnale in S) è associato univocamente ad una stringa binaria
|{~};li{ . l;"n"n"{ z  da una funzione € detta ”etichettamento binario” di J .
E’ noto che è sempre possibile dare una rappresentazione geometrica di J nello spazio dei
segnali. Infatti, poiché J ha x segnali, esiste una base  :

‚ p`Qƒ}+ @liƒ}; l;"n"n"ƒO„…@c


di  †‡x versori, tali che ciascun segnale j @liaR in J può essere rappresentato come combina-
zione lineare dei versori della base „
j  e g7  7 ƒ 7 
hˆ}
Sia ˆb  il segnale trasmesso nell’intervallo ‰ŠmlQ5‹X!+UmŒ e siano 
b  e &b&  il rumore e
b b b@ b@ b b@
il segnale ricevuto, nello stesso intervallo. Siano OŽ ‰  }Ž ln";"n" „Ž Œ , ‘Ž ‰’ }Ž ln";"n" „Ž Œ e
“ Ž b ”‰w } Ž b@ ln"n"n" „ Ž b@ Œ i vettori di dimensione  che rappresentano i segnali, nello spazio generato

4
dai versori di  . Le coordinate dei vettori  Ž , ‘ Ž e
b b@ “ Ž @b  si ottengono proiettando i segnali sui
versori della base, ovvero calcolando le correlazioni:
b@ 7 b˜ˆ}0$™
 7Ž •|ˆb @liƒ  kIV– ^— b™Ž ˆ b Uƒ›7 š OkMV)œr
b@ 7 bi˜ˆ}0:™
 7Ž •5brliƒ  OkCV–e ž— b™Ž
 b ŸƒP7 š  kCV)œr
b 7 b˜ˆ}0:™ b@ b
7Ž •5  bliƒ  kCV–P — bŸ™Ž &b  Uƒ 7 š OkM-…)œr A 7 Ž M   7Ž
per ¡O p!l@Rl;"n"n"l . Nel seguito ometteremo per semplicità di notazione la dipendenza dall’indice
temporale  , poiché trattiamo la demodulazione nel caso senza memoria.
Allora otteniamo la seguente rappresentazione vettoriale del canale AWGN: “ ¢G^‘ . In
altre parole, il vettore di rumore ‘ ”sposta” il punto trasmesso  nel punto ricevuto “ . Il compito
del ricevitore è, dato il punto ricevuto “ , trovare fra tutti i possibili punti  in J un punto £ in modo
da minimizzare la probabilità di errore. Per il canale AWGN, si dimostra che la regola di decisione
ottima (cioè quella che minimizza la probabilità di errore) è la decisione a minima distanza se i
simboli in ingresso sono equiprobabili.
Ovvero, ad ogni tempo  , osservato “ , il ricevitore decide per il punto:
G £ arg ¤v “ k­
¨S©+¥§ª¬
¦ « « (1.1)

La decisione a minima distanza equivale a suddividere lo spazio in regioni, dette regioni di deci-
sione. Ogni regione di decisione è associata ad un punto della costellazione. La regione associata
al punto  in J , contiene tutti i punti “ che sono più vicini a  che a qualsiasi altro punto di J .
Allora, la regola (1.1) equivale ad identificare in quale regione si trova il punto ricevuto “ .
Trovato £ , tramite la corrispondenza biunivoca fra i punti di J e i simboli di d si trova la stima
a £ del simbolo trasmesso a , e se si vuole, la stima dell’etichetta binaria associata  {~£ };l { £ ln";"n" { £  .
 b@.  z
Definiamo la probabilità di errore sul simbolo come la probabilità media che a £ Ž sia diverso
dal simbolo trasmesso a
8 ! g
 aL
£ 
° aKu a) (1.2)
x ®@©;¯
± 7
mentre la probabilità di errore sul bit come la probabilità media che un bit { £ sia diverso dal bit
7
trasmesso {
8± ! gz ! g 7 7
² 7  {£ A ° { u aR (1.3)
ˆh } x @® ©;¯
Se si vede la catena modulatore + canale + demodulatore/ricevitore come unico blocco che riceve
in ingresso ed emette in uscita delle stringhe binarie, il tutto si può schematizzare come un canale

binario simmetrico (BSC) con probabilità di transizione ³t .
Un segnale numerico senza memoria in banda traslata si può scrivere come:
˜g 6
 e Re ` f j ´ kCmlabnµ¶ .¸·+¹5º c
bih ,
dove abbiamo definito la costellazione di segnali complessi J :
f
´
Jo X` j  @lia-b+›qra¬sGdc
5
analogamente a quanto fatto in precedenza. Anche il rumore, in banda traslata si può scrivere
come:
´ 6 N
 e Re ` µ ¶ .¸·n¹ º c» A
_ )¼~½¾+5S¿8\Q_¸OkI  )¾¥§¦K5S¿8\S_¸
´ N N
dove ev y_ ÁÀr   è l’inviluppo complesso del processo di rumore e _ l   sono
processi Gaussiani bianchi indipendenti con le stesse caratteristiche di   . A questo punto, tutto
quanto è stato detto prima vale ancora, a patto di considerare segnali (e vettori) complessi invece
che segnali (e vettori) reali.
Il demodulatore opera nel modo seguente: riceve il segnale in banda traslata:
´ 6 ´ ´ 6 g 6

  Re `   Ÿµ ¶ ¸. ·+¹|º c… Re `R‰  K   0ŒÂµ ¶ .¸·+¹5º c» Re `R‰ j ´  kMmlia-b+K ´  0ŒÂµ ¶ .¸·+¹5º c
b
e lo moltiplica per ¼;½&¾+?Q¿8\S_? e per k…¾¥Ã¦<5S¿8\S_5 . Poi, filtrando i segnali moltiplicati con un
N
filtro passa basso, estrae la parte reale &_@ e la parte immaginaria   dell’inviluppo complesso
del segnale ricevuto:
´ N
A &_@KM  
´ ´ ´
A questo punto sia  b il segnale complesso
  per  in ĉ -mlQ?ÅX!Q0ƌ .
Proiettando  b sui
versori della base (in questo caso funzioni complesse), il ricevitore ottiene la rappresentazione
b@ b b@
geometrica “ Ž ^OŽ ǑŽ del canale equivalente in banda base (AWGN complesso), e decide
a minima distanza per il punto ricevuto £ tale che:

G £ arg ¤v “ k­
¨S©+¥§ª ¦ « «
Si noti che in questo caso la norma di un vettore complesso ovvero «  « . YÈKÉ , dove Ê indica il
vettore trasposto complesso coniugato.

6
Capitolo 2

Probabilità di errore delle modulazioni


numeriche

2.1 Problema
 8± ±
Calcolare la e la in funzione di Ë ~ di una modulazione 2-PAM con la seguente costella-
zione di segnali
±
Jo p`QaˆÌ Ë 8³ Íqratso`-kB!l@Å!&crc
dove ³8  è un generico segnale ad energia unitaria.
Soluzione — Per rappresentare questi segnali ci basta una base reale di dimensione y =! . Il
modello di canale vettoriale ha quindi solo una dimensione reale. La rappresentazione geometrica
b@ ± ±
di questo problema è la seguente. Ad ogni istante  , OŽ può valere Î Ë oppure kÏÎ Ë , il vettore
b@
di rumore ‘ Ž è una variabile casuale Gaussiana a valor medio nullo e varianza B@ . Dunque il
b@ b@
campione ricevuto “ Ž è Gaussiano a valor medio Ž . Data la simmetria del problema e dato che
la modulazione ha solo due segnali abbiamo
± 
 a£ bÆ ^‹!Ru a-bÆ ÐkB!Q
± ± ±
 « “ Ž b@ k Ì Ë « .>Ñ « “ Ž b@  Ì Ë « . u  Ž b Ðk Ì Ë 
± ±
 « kC Ì Ë M‘ Ž b@ « . Ñ « ‘ Ž b@ « .  5 ‘ Ž b@8Ò Ì Ë 
˜ ±
! . &Ë
— Ó ÔRf Õ kMÚ œ Ü
Î ¿<BeÖ×RØLÙ Û Ú ÙTÝ Û
dove:
˜ ! .
Üv e — Þ f k Ú œ
Î S¿ Ö@×)ØGÙ Ï  Û Ú
è la funzione che misura l’area della coda di una Gaussiana (Gaussian tail function). Richiamiamo
qui per comodità le relazioni tra Üv  e la funzione erfc  

erfc  e ^&Üv Î SßÜv e ! erfc   Î 




7
äÍåræŸçSè äéTæUçSè
áTâ8ã à áTâ<ã à
à
à
ê áTâ ã à

Figura 2.1: Segnali ³ë}n e ³


.  .
2.2 Problema
± 8 ±
Calcolare in funzione di Ë ; la e la di una modulazione binaria ortogonale avente la
seguente costellazione di segnali:
± ±
Jì Ð`-Ì Ë ë³ }+ @lnÌ Ë ³ . @c
dove ³ë}n e ³  sono i segnali dati in figura 2.1.
.
Soluzione — In questo caso, poiché i due segnali ³ˆ}+  e ³  sono ortogonali, lo spazio dei
b b@ b@ .
segnali ha dimensione í Y . I vettori  Ž l‘ Ž e “ Ž hanno due componenti. Supponiamo che
il segnale ³ë}n sia associato al simbolo di informazione aî =* , e il segnale ³   sia associato al
.
simbolo di informazione a p! . Data la simmetria del problema e dato che la modulazione ha solo
due segnali abbiamo:
8± 8
 a-£ bm Y!)u a-bÆ ^*r
± “ b@ k ŸÌ Ë ± l* . u  Ž b  = ±
 « “ Ž b kA|*)lnÌ Ë  « .>Ñ « Ž A « ŸÌ Ë l*r
± ±
 « ‘ Ž b@ ^ Ì Ë lnk Ì Ë  @b 
«. Ñ «‘ Ž «.
b@ b@ ±
ŸkÆ }Ž C .Ž Ò Ì Ë 
dove È} e  sono le due componenti del vettore di rumore. Si noti che YkÆK}ïL è ancora una
. Ú .
variabile casuale Gaussiana a valor medio nullo e varianza  (si ricordi che le due componenti
del rumore, K} e  sono indipendenti e identicamente distribuite, a valor medio nullo e varianza
.
& ). Dunque otteniamo:
±
± 8 Ò ± Ë
 Ì Ë  ^Ü
Ú Ù)Ý  Û
Si noti la differenza di un fattore 2 in questo caso che si traduce in una perdita di 3dB rispetto al
caso dei segnali antipodali.

8
2.3 Problema
Generalizzare i due problemi al caso di una modulazione binaria qualsiasi.
Soluzione — In generale possiamo dire che quando una modulazione ha solo due punti ð;+lið+} ,
posti a distanza œ , tale che:
œ‹ « ð;ekCð+} «
la probabilità di errore sul bit (che coincide con la probabilità di errore sul simbolo) è data da:
8±  œR œ
Üòñó Ü
Ì B@ëôõ Ù Î &B Û

2.4 Problema
 ± ±
Calcolare e di una modulazione 4-PAM, in funzione di Ë ; . L’etichettamento binario è
l’etichettamento di Gray.
Soluzione — La rappresentazione geometrica della costellazione di segnali della modulazione
4-PAM è:
Jì Ð`Qa Î Ë=qratsì`-kV#Rlnk!&l@Å!l@»#Rcrc
L’etichettamento di Gray associa a simboli adiacenti delle stringhe che differiscono al più per un
solo bit. In questo caso, un etichettamento di Gray è dato da:
|{~};li{ .  a
00 -3
01 -1
11 +1
10 +3

êGø ã ÷ ê ã ÷ ö ã ÷ ö ø ã ÷

00 01 11 10

Rappresentando lo spazio dei segnali e tracciando le regioni di decisione, possiamo scrivere le


seguenti probabilità di errore condizionare sul simbolo:
&Ë
 a £ Ž @b  
° a Ž @b  u a Ž @b  p
kV#rù Ü (2.1)
ÙïÝ )Û
&Ë
 a £ Ž @b  
° a Ž @b  u a Ž @b  p
k!Qù  Ü
ÙTÝ  Û
&Ë
 a £ Ž @b  ú
° a Ž @b  u a Ž @b  ž
Å!Qû  Ü
ÙTÝ  Û
&Ë
 a £ Ž @b  ú
° a Ž @b  u a Ž @b  ž
»#rû Ü
ÙïÝ  Û
9
N
L’energia media per simbolo trasmesso è Ë Ðü&Ë . Poiché ciascun simbolo porta due bit, l’ener-
±
gia media per bit è Ë ýü ËÅ . La probabilità di errore sul simbolo si ottiene con la (1.2) me-
diando le probabilità condizionate dell’equazione (2.1) (assumiamo che i simboli trasmessi siano
equiprobabili). Sostituendo l’espressione dell’energia media per bit, otteniamo:
±
8 # Ë
Ü
 Ù)Ý ü&þ B Û
La probabilità di errore sul bit si ottiene come media delle probabilità di errore sul bit condizio-
nate. Queste possono essere ricavate osservando le regioni di decisione binario dei punti della
costellazione, secondo la tabella riportata in precedenza. Otteniamo:

b@ @b  &Ë
 { £ }Ž ú ° { }Ž u a Ž @b  Y
k>#rù Ü #
Ù Ý  Û
b@ @b  &Ë
 { £ }Ž  ° { }Ž u a Ž @b  ž
»#rû Ü #
Ù Ý  Û
b@ @b   Ë
 { £ }Ž ú ° { }Ž u a Ž @b  Y
kB!Qù Ü
ÙTÝ B Û
b@ @b   Ë
 { £ }Ž  ° { }Ž u a Ž @b  ž
Å!Qû Ü
ÙTÝ B Û
b@ @b   Ë  Ë
 {£ .Ž ú ° { .Ž u a Ž b@ Yk>#rù Ü kCÜ ü
ÙTÝ BRÛ Ù Ý B)Û
b@ b@  Ë  Ë
 { £ .Ž  ° { .Ž u a Ž b@ ž»#rû Ü kCÜ ü
ÙTÝ BRÛ Ù Ý B)Û
b@ b@ Ž b@ YkB!Qù  Ë &Ë
 { £ .Ž ú ° { .Ž u a Ü ÇÜ #
Ù Ý B Û Ù Ý  Û
b@ b@ Ž b@ žÅ!Qû  Ë &Ë
 { £ .Ž  ° { .Ž u a Ü ÇÜ #
ÙTÝ B Û Ù Ý  Û
±
Sostituendo nuovamente l’espressione di Ë e mediando si ottiene:
ÿ ± ± ±
8± ! Ë Ë Ë
#Ü Á&Ü # kCÜ ü
Ù Ý ü þ  Û Ù Ý ü&þ B Û Ù Ý ü&þ B Û
þ
2.5 Problema
 ± ±
Calcolare e di una modulazione 4-PSK, in funzione di Ë ; , supponendo di utilizzare un
etichettamento binario di Gray.
Soluzione — La costellazione di segnali (complessi) del 4-PSK è:
®
Jì p` Π˵ ¶ Ž   ˜    8³  Íqatsì`S*)ln!lRl#Rcrc

10
dove ³8 è un segnale con energia unitaria. Utilizzando il modello di canale vettoriale complesso,
vediamo che lo spazio dei segnali ha dimensione (complessa)  ! . I punti corrispondenti ai
segnali di J sono:

! ! ! ! ! ! ! !
Jo  Î Ë  À lÎ Ë k ­À lÎ Ë k k À lÎ Ë k‚À
Ù Î  Î  Û Ù Î  Î  Û Ù Î  Î  Û Ù Î  Î  Û 

01 00

11 10

e le regioni di decisione sono i quadranti del piano complesso. L’etichettamento di Gray è dato,
per esempio, dalla tabella:

 {;};l{ .  a
00 0
01 1
11 2
10 3
Data la simmetria del problema, possiamo supporre che il simbolo trasmesso sia a= * . La
probabilità di errore sul simbolo può essere calcolata come:

 ˜ ˜ ! }.  .
f Ô
— f Ô
¿<B Ö@×RØ Ù kvÚ  Ú . Û œ Ú }œ
!mk —
Ú.
Î . , Î .
ÿ, .
Ë Ë Ë
!mk !ÆkoÜ &Ü kCÜ .
ÙTÝ  Û ÙTÝ B Û ÙïÝ  Û
±
Poiché l’energia per bit vale Ë ËÅ , otteniamo:
± ±
 Ë  Ë
&Ü kCÜ .
ÙTÝ PÛ ÙTÝ ›Û

11
Per calcolare la probabilità di errore sul bit osserviamo che i bit delle etichette si comportano in
modo simmetrico rispetto ai punti di J . In particolare, scambiando {;} con { in tutte le etichette ot-
.
teniamo una riflessione della costellazione intorno alla diagonale principale, mentre se scambiamo
gli 1 con gli 0 otteniamo una rotazione di ¿ . Pertanto, la probabilità di errore sul bit condizionata
è indipendente sia dalla posizione del bit considerato nell’etichetta, sia dal valore dei bit trasmessi.
Scegliamo, per esempio, di calcolare la probabilità di errore su {;} dato che abbiamo trasmesso
{~}› A* e { A* . Si ha:
.
˜ Ô
Ô

± , Î . ! } .  .. Î . ! .
— f — k Ú Ú œ Ÿ} œ . ž— k Ú. œ .
, , ¿K Ö ×RØîÙ   Û Ú Ú
 ,  Ö@×RØGÙ 
Î ¿<B  Û Ú
f Ë f ± f
& Ë
Ü Ü
^
Ù Ý B Û Ù Ý B   Û
Che è lo stesso risultato ottenuto per il 2-PAM (vedi Problema 2.1).

12
Capitolo 3

Codici a blocco per la correzione e la


rivelazione degli errori

Gli argomenti di questo capitolo corrispondono alle lezioni in videocassetta 2-10, e ai paragrafi
10.5 e 10.6 del libro di testo consigliato.

3.1 Concetti generali


Un codice a blocco binario è un insieme  di x vettori binari di lunghezza  . I vettori che
compongono il codice sono detti parole di codice, la loro lunghezza  è detta lunghezza di blocco.
Un codice  è detto lineare se per ogni coppia di parole 8} e  , la loro somma modulo 2 (denotata
.
con  ) componente per componente dà un’altra parola di codice

 ú8}Ǎ . s ë8};l . 


s 
b
Un codice lineare ha necessariamente un numero di parole x y , dove  è un intero minore
o uguale a  . Il rapporto TS è detto rate del codice. Ogni parola  del codice lineare  è
in corrispondenza biunivoca con un vettore binario di informazione  di lunghezza  . Questa
corrispondenza è definita dalla relazione matriciale

L 2
dove 2 è una matrice binaria di dimensione ì . Quindi  è l’insieme di tutti i vettori binari
 ottenibili come combinazione lineare delle righe della matrice 2 . Diciamo che il codice  è in
forma sistematica se 2 è nella forma
2p Y‰bRu Œ (3.1)
dove ~b è la matrice identità î e è una matrice binaria   vk­T . In questo caso, la parola
 corrisponde al vettore di informazione  e si ottiene concatenando al vettore îHkM simboli di
parità, definiti da  . Il codice lineare  si può anche definire tramite la sua matrice di parità  ,
come l’insieme di tutti i vettori binari  ortogonali alle righe della matrice 
9
X Ð`+ sì`S*)l;!&c q ™ Èc

13
dove l’apice  indica la trasposizione della matrice. 2 e  sono legate dalla relazione 2 ™
ïb&b , dove ïb&b rappresenta una matrice  ­ di tutti 0. Se 2 è in forma sistematica, cioè nella
forma data nell’equazione (3.1),  si può scrivere subito come
9
 ‡‰ ™ !u  , b@Œ
Definiamo il peso di Hamming "$#> < di un vettore binario  come il numero delle sue componenti
diverse da zero. La distanza di Hamming fra due vettori 8} e  è il peso di Hamming della loro
.
somma modulo 2
œ%#V8};l . e
 &"$#V8}'C . 
Un parametro molto importante di un codice  è la minima distanza di Hamming fra tutte le
possibili coppie di parole distinte, ovvero

œ )¨ (+¤h * ¨ ¥Ã¦ ©-, œ%#> 8}l . 



Infine, si usa denotare un dato codice a blocco lineare  tramite i suoi parametri fondamentali
|l@liœR .
Esempi classici ed importanti di codici a blocco lineari sono i codici a ripetizione, i codici di
parità e i codici di Hamming. Questi ed altri esempi si possono trovare sul libro di testo consigliato
e nelle lezioni in videocassetta (lezioni 2-9).

3.2 Trasmissione sul canale BSC


Il canale binario simmetrico (BSC = Binary Symmetric Channel) può essere rappresentato dal
diagramma:

!Ækî³
* *
³

³
! !
!Ækî³

Ad ogni istante, un simbolo 0 oppure 1 viene trasmesso. Esso viene ricevuto correttamente con
probabilità !Ækî³ ed errato con probabilità ³ , dove ³ è detta probabilità di transizione. Se trasmet-
tiamo un vettore di simboli binari  attraverso il canale BSC, riceviamo il vettore “ A.0/ , dove
/ è un vettore binario detto pattern di errore che contiene 0 in corrispondenza delle componenti
ricevute correttamente e 1 in corrispondenza delle componenti errate (si ricordi che la somma è

14
modulo 2). Dunque, il numero di errori che si è verificato sul canale durante la trasmissione di  è
pari al peso di Hamming del pattern di errore "$#>5µQ . La probabilità che si verifichi un pattern di
errore di peso " è:
 9
1"$#Æ1/Re 2"… ³43OŸ!mkL³ë , 3
Ù" Û
Si noti che questa probabilità decresce molto rapidamente all’aumentare di " , ad esempio se ³G
*)" ! si ha 1"$#Æ1/Re 2"… 5E!n* , 3 .
Supponiamo di usare un codice  per la trasmissione. Trasmettiamo una parola di codice  in
 e riceviamo “ A60/ . Il decodificatore sceglie la parola di codice £ che minimizza la distanza
di Hamming dal vettore ricevuto (decodifica hard a massima verosimiglianza)
G £ arg ¤ ¨ ©-¥Ã, ¦ œ7#> “ l<
Se il codice  ha distanza minima œ , può correggere tutti i pattern di errore che hanno peso minore
o uguale a e =‰ |œPkL!QSŒ , dove ‰ Œ indica la parte intera del numero reale . In generale, un codice
 con distanza minima œ può correggere Ú Ú
tutti i pattern di errore di peso  più qualche altro pattern
di peso maggiore. Dunque la probabilità di errore sulla parola, indicata con
3 , si può scrivere
come:
!mk 1/ correggibile 
3 ÿ 6 9
g 
!mk ³43OŸ!mkL³ë , 3  altri termini
h3 T6  Ù " Û 9
ÿ 9 9
g  g 
† ! k
m ³ 3 Ÿ!mkL³ë , 3 6 ³ 3 Ÿ
 ! L
k ˆ
³  , 3
h3 T Ù " Û h3 ˜ˆ} Ù " Û
Se ³ è sufficientemente piccola, il termine più significativo dell’espressione sopra è quello che
corrisponde al peso ÈA! , dunque abbiamo l’espressione approssimata
 6 9 6
˜ ˆ } ˜ˆ}0
3 5 Ù Kú! Û ³ U !ÆkL³ˆ , Ž
La probabilità di errore sul bit (di informazione) si può valutare approssimativamente come
± œ
5 3

Questo perché se commettiamo un errore sulla parola, molto verosimilmente la parola decodificata
sarà alla distanza minima œ dalla parola trasmessa, dunque la frazione di bit sbagliati per parole di
codice è œR  .
Se il codice  è usato per la rivelazione degli errori, può rivelare tutti i pattern di errore con
peso minore o uguale a œk ! .

3.3 Trasmissione sul canale AWGN con modulazione 2-PAM


In questo caso, i simboli binari 0 e 1 vengono modulati tramite i livelli 8 Î Ë di una modulazione
2-PAM. Supponiamo di trasmettere il vettore  e di ricevere il vettore “ . Il decodificatore decide a

15
minima distanza Euclidea (decodifica soft), cioè sceglie la parola di codice £ tale che
“
£ arg ¤ ¨S©9¥Ã, ¦ «  k ΠˬU!ÆkMQ8 «
La probabilità di scegliere la parola  : quando abbiamo trasmesso  vale (ricordare l’espressione
della probabilità di errore di una modulazione avente solamente due punti alla distanza Euclidea
œ Ô ):
&Ëoœ%#Vl : 
 <;  :  ^Üòóñ
Ý  ôõ
dove œ%#Vl :  è la distanza di Hamming fra le parole  e  : . La suddetta probabilità viene comu-
nemente chiamata pairwise error probability. Poiché esistono xík­! possibili parole  : diverse da
 , la probabilità di errore sulla parola 3 soddisfa il limite superiore
 Ëoœ
3 Ð
† ?
 x k Q
! 
 Ü ó ñ
Ý  ôõ
dove œ è la minima distanza di Hamming del codice. Poichè l’energia per bit di informazione
±
trasmesso è Ë ÈË( , possiamo scrivere:
±
 Ë 
3 †Ð?x k !Qܔóñ Ý   œ ôõ
Una approssimazione della
3 si può ottenere sapendo il7:9 numero di parole a distanza minima dalla
parola trasmessa  . Denotiamo questo numero con  , allora abbiamo:
z
±
7:9  Ë 
3 †ú z Ü ñó
” œ
Ý   õô

La probabilità di errore sul bit si valuta, analogamente a quanto fatto in precedenza, mediante
la formula:
± œ
5 3


3.4 Codici ciclici


Una importante famiglia di codici lineari è la famiglia dei codici ciclici.  è ciclico se ogni shift
ciclico di una parola è ancora una parola di codice. I codici ciclici si prestano ad una rappresen-
tazione mediante i polinomi a coefficienti binari, nell’indeterminata D. Associamo alla parola di
9
codice L ‡ ˆ+l};ln"n"n"U } di lunghezza  il polinomio di grado al più ]k !
, 9 9
} 9 9
1=He Aˆ>= , C  }?= ,. ú'+'+'QC ,. =ÐC , }
Il codice ciclico  si può definire come l’insieme di tutti i polinomi9 @=H di grado al più Gkž!
multipli di uno stesso polinomio A
1=H , dove AÈ1=H è un divisore di = ú! di grado ¬kI . A
@=H è
detto polinomio generatore del codice
p p`+@=H›q1=H CB@=HDA
@=H@l deg ‰w1=HUŒ<† Hk ! c
16
dove B1=H è il polinomio di informazione di grado Æk‚! che rappresenta il vettore di informazione
di lunghezza  . Ovviamente avremo che ogni parola di codice @=¬ risulta divisibile per il po-
linomio generatore. Per codificare in modo sistematico, dato il polinomio di informazione B@=H ,
otterremo il corrispondente polinomio 1=H come:
9
@=¬ 2= , b B@=H
C~@=¬
9
b
dove ~@=H è il resto della divisione di = , B@=H per A
1=H .
La matrice generatrice 2 di un codice ciclico si può ottenere dal suo polinomio generatore A
@=H
b } b
allineando sulle righe di 2 i coefficienti dei polinomi = , A
@=H@l>= ,. A
@=H@ln"n"n" , =A
@=¬l+A
@=¬ . Si
può verificare facilmente che questi polinomi sono tutti parole di codice e che sono linearmente
indipendenti. La matrice 2 ottenuta in questo modo non è in forma sistematica, in generale. Per
ottenere 2 in forma
9 7 sistematica basta allineare sulle righe di 2 le parole di codice corrispondenti 9 7
} 7 7 }
ai polinomi = , , ­ 1=H , per ¡ A*)ln!ln";"n"iBkM! , dove  1=H è il resto della divisione di = , ,
per AÈ1=H .

3.5 Problema
Si consideri il codice ciclico (7,4) generato dal polinomio A
1=H… E= / 2==p! . Si determini la
parola di codice @=¬ , in forma sistematica e non, corrispondente all’informazione B@=H = /  ! .
Si scrivano inoltre le matrici generatrici in forma sistematica e non.
Soluzione — La parola di codice in forma non sistematica si ottiene facilmente come
@=¬ CB@=HDAÈ1=H 2=GFH=IH= / J= / H=ÐA!V C=GFJ=IJ=ÐA!K; U!+*)!+*&*)!!Q
Per calcolare la parola di codice in forma sistematica dobbiamo calcolare il resto della divisione di
= / B1=H per A
@=H
= F L= / u= / H  =ÐA!
= F L= I L  = / u = / H=
= I
= I  = . L=
M
= . L = A~@=¬
Quindi 1=HB N= / B@=H ~@=¬( O= F C= / &= . C=P; Ÿ!n**)!!!n*r è la parola di codice in
forma sistematica. La matrice generatrice in forma non sistematica è
UV UVV UV
= / AÈ1=H VV = F  = I L= /
L V n! *)!!+**&* VV
= . A
È 1
 =
H
2p RQSS =A
1=H W X  QSS 
= Y  = / L
L  = . SQS *R*&*)!+*)!+*)!!+!*&!n** W
ST TS = I  =t.íL=
L W TS
A
@=H = /
t L= Å! *&**)!+*)!&!
La matrice generatrice in forma sistematica è
UV
 UQ1=H VV
= F C
2p XQSS == Y C }n1=H
ST I C . 1=H W
= / C / 1=H
17
dove UÍ 2=t.OA! , }P C=t.OH=pú! , 
. =t.A! e  / =Ðú! quindi si ha
UV
!n***)!+*R! VV
2p XQSS *R*&*)!+*!+*)*)!!+*R!&!! W
ST
*&**)!+*)!&!

18
Capitolo 4

Decodifica con la standard array

In generale, per selezionare la parola di codice alla minima distanza di Hamming dal vettore binario
b
ricevuto occorre confrontare tale vettore con tutte le  parole di codice. Per i codici lineari, questo
può essere fatto in modo efficiente mediante la tecnica della standard 9 array.
b b
La standard array di un codice |l@liœR è una tabella con  , righe e9  colonne. Ogni ele-
mento della tabella è un vettore binario di lunghezza  per un totale di  elementi. Sulla prima
riga si scrivono tutte le parole di codice, partendo dalla parola di tutti zeri. Sulle altre righe si
scrivono i rimanenti vettori binari, nel modo seguente. Per ogni nuova riga ¡ -esima, della tabella si
7
sceglie un vettore di peso minimo / che non è ancora apparso nelle righe superiori della tabella, lo
b
si scrive nella prima colonna della riga ¡ -esima, poi gli elementi delle colonne l#)ln"n";"i della riga
7
si ottengono sommando il vettore / in prima colonna con le parole di codice corrispondenti alle
b
colonne Rli#)ln"n"n" . Quando la tabella è completa, i vettori della prima colonna /R};l?/ ln"n";"+/
. .DZ\[9]
sono detti coset leader e costituiscono tutti i pattern di errore correggibili dal codice.
Il primo coset leader /R} * coincide con la parola di tutti zeri e corrisponde al caso in cui
il canale non produce errori. Per decodificare, dato il vettore ricevuto “ ý^/ , si calcola la
sindrome ð( “ 
™ _/% ™ , oppure, se il codice è ciclico, si calcola il polinomio sindrome j @=¬
come resto della divisione
@=H)A
@=H . Le sindromi sono in corrispondenza biunivoca con i coset
7
leader. Basta individuare il coset leader / corrispondente alla sindrome calcolata e la parola dopo
7 7
la decodifica si ottiene come A £ “ C7 / ”G&/‹2/ . Se siamo fortunati, il pattern di errore
/ è veramente uguale al coset leader / , dunque Á £ = tutti gli errori sono stati corretti. In caso
contrario, avremo errore sulla parola. La probabilità di errore sulla parola è dunque data dalla
probabilità che sul canale si verifichi un pattern di errore diverso da un coset leader.

4.1 Problema
Consideriamo il codice 5üRl@Rl# con matrice generatrice 2
ÿ
! * ! * !
* ! * ! !
Scrivere la standard array del codice e calcolare la probabilità esatta di errore sulla parola e sul bit
quando il canale è BSC con probabilità di transizione ³ .
Soluzione — Nel nostro caso, la standard array è:

19
00 000 01 011 10 101 11 110
00 001 01 010 10 100 11 111
00 010 01 001 10 111 11 100
00 100 01 111 10 001 11 010
01 000 00 011 11 101 10 110
10 000 11 011 00 101 01 110
00 110 01 101 10 011 11 000
01 100 00 111 11 001 10 010
La probabilità di errore sulla parola è data da

3 ! k 1 / correggibile 
! kA‰ Ÿ!mkL³ë Y Çü³8U!Ækî³ë I Á³ . Ÿ!mkG³ë / Œ
³ . kÁ! ³ / ÇZ~³ I kI³ Y
þ
La probabilità di errore sul bit è
± œ #
5 3 5 ` ³ .
O
 ü 3 ü

4.2 Problema
Consideriamo due sistemi di trasmissione su BSC con probabilità di transizione ³ . Il primo usa un
codice a ripetizione |#)ln!li#r per la correzione degli errori singoli. Il secondo usa un codice di parità
5#Rl@Rl@ per la rivelazione degli errori, e un sistema di richiesta automatica di ritrasmissione (ARQ).
Quando il decodificatore rivela un errore, si chiede la ritrasmissione della parola. Confrontare
questi due sistemi dal punto di vista della probabilità di errore residua sul bit (cioè la probabilità

di errore dopo la decodifica) e del rate di trasmissione, misurato come numero medio di bit di
informazione trasmessi per simbolo trasmesso sul canale.
Soluzione — Consideriamo il primo sistema. La probabilità di errore sulla parola del codice a
ripetizione 5#)l;!l#r vale

#
3 a"$#Æ1/RcbA ³ . U! kL³ëK‚³ / ^#~³ . kM@³ / 5p#³ .
Ù Û
poiché si commette errore per tutti i pattern di errore di peso maggiore o uguale a 2. Poiché
abbiamo solamente due parole di codice, la probabilità di errore sul bit è uguale a
3 . Il rate di
trasmissione è ^ Ð!Q # , poiché per trasmettere un bit di informazione impieghiamo 3 trasmissioni
di simboli di canale.
Per valutare il secondo sistema, calcoliamo la probabilità di richiesta di ritrasmissione. Il ri-
cevitore chiede la ritrasmissione del blocco se rivela un errore. Con il codice di parità si possono
rivelare tutti i pattern di errore di peso dispari, dunque la probabilità di richiesta di ritrasmissione è
ed
1"$#Æ1/R dispari e A#~³8Ÿ!mkG³ˆ . ‚³ /

20
Si commette errore se il peso del pattern di errore è pari (e non zero), perché in questo caso l’errore
non è rivelato. La probabilità di errore sulla parola è la probabilità dell’unione degli eventi

`"$#Va/R  dopo  trasmissioni c  Ð!lRln"n"n"


Poiché questi sono eventi disgiunti, la probabilità dell’unione è uguale alla somma delle probabilità
dei singoli eventi. Dunque otteniamo
˜g ˜g
d b , } a "$#Va/) ^ ^#~³ Ÿ!mkL³ë f d b
.
3 bihˆf } bhT
#~³T.QŸ!mkL³ë #³ï.
5ž#~³ .
!mkI#³Å ³ . k ³ / ! kM³( ³ .
`
þ
La probabilità di errore sul bit può essere valutata tramite la formula
þ

8± œ  ³ï.
5 3 5X³ .
 # 3 !mkM³( ³ .
þ
Per calcolare il rate di trasmissione, occorre valutare il numero medio di simboli di canale
necessari per trasmettere un bit di informazione. Il numero medio di trasmissioni di un blocco è
dato da f
˜g d ed ˜g
 f ÈŸ! k  d b , } ‡U!mk  f  db , }
bhˆ} bhT
ed ! ! !
Ÿ!mk  ed ed
U! k . Ÿ!mk  ! kI#~³( ³ . k
m ³ /
`
þ
Poiché ogni blocco richiede 3 simboli di canale e trasporta 2 bit di informazione, il rate di trasmis-
sione è
f
 bit  d  
ž U!Æk  Ÿ!mkL³ë~Ÿ!mkC³( ³ .  Ñ
#  simboli # # #
þ 8±
Come si vede, se ³ è piccolo, il secondo sistema offre una probabilità di errore leggermente
inferiore e un rate  superiore. Tuttavia richiede un sistema di trasmissione molto più complicato,
perché ha bisogno di un canale di ritorno (che abbiamo supposto essere privo di errori!) per
inoltrare le richieste di ritrasmissione.

21
Capitolo 5

Problemi sui codici a blocco

5.1 Problema
Il codice di Hamming esteso 5%Rl l  ha matrice generatrice
þ þ ! ! ! ! ! ! ! UV
! VV
2p XQSS ** * ! * ! !! ** * ! * ! !
! W
ST
* * * * ! ! ! !
Se si permutano le colonne di 2 o se si sostituisce ad una riga di 2 la combinazione lineare di
quella riga con un’altra riga, si ottiene la matrice generatrice di un codice equivalente (nel senso
che la probabilità di errore risultante è la medesima). Usare queste trasformazioni della matrice 2
data per ottenere una matrice 2 per il codice 5%)l l  in forma sistematica. Scrivere la matrice di
parità H corrispondente. þ þ
Soluzione — Occorre fare comparire nelle prime gm posizioni di 2 la matrice identità tramite
l’applicazione ripetuta delle seguenti operazioni che non modificano il codice stesso
1. permutazione delle colonne.
2. sostituzione di una riga con una combinazione lineare di quella riga con un’altra riga.
Il modo di operare non è unico, nel senso che lo stesso risultato si può ottenere in modi
differenti. Un modo possibile è dato dalla catena di trasformazioni seguente:
UV UV
d (1j d ( d * ! * ! * ! * ! * VV d d @d k ! * * ! ! * * ! VV
2ih ˜  SQ ! * ! * ! * ! h (@j ( ˜ SQ * ! * ! * ! * !
STS * * ! ! * * ! ! W STS * * ! ! * * ! ! W
* * * * ! ! ! ! * * * * ! ! ! !
scambiando la quarta e la quinta colonna tra loro
UV UV
! * * ! ! * * ! VV d(j d( d * ! * * * ! ! ! * VV
SQS ** *
! *
!
*
*
!
! *
! *
!
!
! W h ˜  SQ
SST * *
! *
!
*
*
!
! *
! *
!
! Y‰ u Œ
! W I
TS
* * * ! * ! ! ! * * * ! * ! ! !
22
La matrice  si scrive subito come
UV
! ! ! * ! * * * VV
 Y‰ ™ !u  I Œ XQSS !! *
! *
!
!
!
*
* *
! *
!
*
* W
ST
* ! ! ! * * * !
Si noti che, detta 2M: la matrice generatrice in forma sistematica, vale la relazione

2 : úd…2
dove d è una matrice l‚ non singolare e una matrice di permutazione mL .

5.2 Problema
Scrivere la matrice generatrice in forma sistematica del codice di Hamming Ÿ!Qüln!!l#
Soluzione — Partiamo dalla matrice di parità  , ottenuta scrivendo per colonne tutte i vettori
binari distinti e non nulli di lunghezza (kGv . Essi sono esattamente 15.  può essere ottenuta
direttamente in forma sistematica come þ
UV
!&!+*)!!+*R!+*)!+*)! !+*** VV
ý SQS *R!n*)!!!!+!+*)**&!&*)!+*!*)!!!!! )** *)!+*!+** W
TS
*&***)!!&!!!!! * **)!
Dalla relazione fra 2 e  in forma sistematica, otteniamo immediatamente
U VV
+! ****&*****&* !!+** VV
QSS *)!+***&*****&* !+*)!+* VV
SS **)!+**&*****&* *)!!+* VV
SS ***)!+*&*****&* !!!+* VV
SS ****)!n*****&* !+**)! VV
SS VV
2X *****R!+****&* *)!+*)! VV
SS *****&*)!+***&* !!+*)! VV
SS VV
SS *****&**)!+**&* **)!!
SS *****&***)!+*&* !+*)!!
SST *****&****)!n* *)!!! W
*****&*****R! !!!!

5.3 Problema
La matrice UV
+! ** !!+*
2p QST *)!+* !+*)! W
**)! *)!!

23
 6
è la matrice di un codice con I e L =# . Trovare la matrice 2 Þ del codice esteso (cioè del
`
codice ottenuto aggiungendo a ciascuna parola un bit di parità) e trovare la distanza minima del
codice esteso.
Soluzione — La matrice del codice esteso sarà una matrice #mn . Occorre quindi aggiungere
una colonna a 2 . Poiché le righe di 2 sono parole di codice, la colonna da aggiungere può essere
ottenuta aggiungendo, in coda a ciascuna delle righe di 2 , un simbolo di parità. Otteniamo:
UV
 6 n! ** !!+*)!
2 Þ QST *R!+* !+*)!! W
*&*)! *)!!!
La matrice di parità del codice esteso si può scrivere immediatamente come
UV
!!+* +! *&** VV
 6
 Þ SQS *)!+*)!!! *)!n**
**R!+* W
TS
!!! **&*)!
La regola generale è che se la minima distanza di Hamming œ un codice è dispari, il codice esteso
 6  6  6
ha œ Þ Aœ Ç! . Se invece è pari, œ Þ Aœ . Poiché in questo caso œ # (perché?), allora œ Þ .
þ
5.4 Problema
Consideriamo il polinomio AÈ1=H C=ž ! . Per quali valori di  , AÈ1=H è il generatore di un codice
ciclico di lunghezza  ? Con quali parametri? Scegliere un dato valore di  e scrivere la matrice
generatrice del codice ciclico generato da A
@=H . 9
Soluzione Per generare un codice ciclico di lunghezza  , 9 A
1=H deve dividere = t! . Si verifica
facilmente per induzione che per ogni mbp! , AÈ1=H divide = 9  ! . Infatti,
9 per î Ð!>@=C 9 !QT@=C
!Q Y! . Supponiamo che sia vero per  kC! , allora, poiché = Á!V C7= , } @=^Ç!Që @= , } Ç!+ ,
è vero anche per  . La distanza minima del codice è œ  , poiché = non è divisibile per =ÐA! .
Dunque i parametri del codice generato da =EX! sono  OliLk^!l@ . Riconosciamo quindi i
parametri del codice di parità di lunghezza  . Se scegliamo, per esempio, ž # otteniamo la
matrice generatrice in forma sistematica
ÿ
2X ! * !
* ! !

5.5 Problema
Siano m} e  due codici ciclici della stessa lunghezza, aventi polinomi generatori Ar}+1=H e A @=H ,
. 4 7 .
rispettivamente. Si considerino i codici unione  ^m}eo e intersezione  pm}'q  . Sono
. .
codici lineari? Sono codici ciclici? Cosa possiamo dire sulla loro distanza minima? E sul loro
polinomio generatore?
4
Soluzione Il codice unione  non è generale un codice lineare (quindi tantomeno ciclico),
anche se lo shift ciclico di qualsiasi parola di codice è ancora una parola di codice. La distanza

24
minima è certamente minore o uguale del minimo fra le distanze minime œR} e œ , di m} e  . Il
7 . .
codice intersezione  è invece un codice ciclico. Infatti, esso è l’insieme di tutte le parole @=¬
divisibili sia per A}n1=H che per A 1=H , dunque tutte le parole @=H divisibili per il minimo
9 comune
.
multiplo A
@=H di A}n1=H e A 1=H . Poiché Ar};@=H e9 A @=H sono entrambi divisori di = ^
 ! , anche
. . 7
il loro minimo comune multiplo A
@=¬ divide = Ð! . Dunque il codice  , generato da A
@=H è
7
ciclico. La distanza minima di  è certamente maggiore o uguale al massimo di œR} e œ .
.

25
Capitolo 6

Codici convoluzionali

Gli argomenti di questa esercitazione corrispondono alle lezioni in videocassetta 11-13, e al para-
grafo 10.7 del libro di testo consigliato.

6.1 Concetti generali


Un codice convoluzionale  è l’insieme delle sequenze binarie prodotte da una macchina a stati
finiti, detta codificatore convoluzionale. Il codificatore convoluzionale è composto da un registro
a scalamento (shift register), nel quale entrano i bit di informazione B5T di una sequenza  , e da
una serie di sommatori binari che combinano il contenuto degli elementi del registro e producono i
9
simboli codificati di uscita }+?T@l 5Tln";"n" ?T . Ad ogni istante  , un bit B?) entra nel registro
7 .
e  simboli  ?T , !†A¡P†ú , vengono prodotti in uscita, dunque il rate del codice è !+  . Il modo
con il quale il contenuto del registro viene combinato è definito dai generatori del codice, ovvero
9
dai vettori binari r}~l+r ln"n"n"sr , nel modo seguente:
.
7 g, } 7
 ? T Ct B5‹kLÀRDA §À (6.1)
h¶ T
7
Poiché, come si vede dall’equazione (6.1),  ?T è il risultato della convoluzione in tempo discreto
7
della sequenza  con la risposta all’impulso r , il codice è appunto detto convoluzionale.
I generatori del codice vengono solitamente rappresentati in forma di numeri ottali. Per esem-
pio il generatore 1111001, viene diviso, partendo da destra, come 1 111 001, e dunque corisponde
al numero ottale 171. Essendo una macchina a stati finiti, il codificatore convoluzionale è rappre-
sentato completamente dal suo diagramma di stato. Sia u la lunghezza dello shift register, detta in
inglese constraint lenght del codice. Lo stato di codificatore corrisponde al contenuto delle loca-
zioni del registro eccetto la prima, che contiene il simbolo di ingresso. Dunque il numero di stati è
 , } . In qualche testo, ² CukÁ! è detto memoria del codice.
t Espandendo il diagramma degli stati nel tempo, si ottiene il cosidetto diagramma a traliccio,
o trellis del codice. Ogni sequenza di codice è rappresentata da un cammino (path) nel trellis.
Dunque ad ogni sequenza corrisponde, univocamente, una sequenza di stati. Poiché il codice è
lineare, la sequenza che passa per tutti gli stati ”zero” corrisponde alla sequenza di ingresso di tutti
zeri ed è composta da simboli di uscita tutti zero. La sequenza zero corrisponde alla parola di tutti
zeri dei codici lineari a blocco.

26
Si noti che in pratica vengono utilizzati codici convoluzionali troncati le cui prestazioni pos-
sono essere analizzate con buona approssimazione supponendo che le sequenze di codice siano di
lunghezza infinita.

6.2 Decodifica con l’algoritmo di Viterbi


In generale, la decodifica maximum-likelihood di un codice convoluzionale corrisponde a trovare,
fra tutte le sequenze di codice, la sequenza più vicina alla sequenza trasmessa. Se la trasmissione
avviene sul canale binario simmetrico (decodifica hard), la distanza usata è la distanza di Hamming,
e la parola decodificata è:
G £ arg ¤ ¨ ©-¥Ã, ¦ œ7#> “ l<
dove “ è la sequenza binaria ricevuta e œ%# denota la distanza di Hamming.
Se invece la trasmissione avviene sul canale AWGN (decodifica soft), con modulazione 2-PAM
(o equivalentemente, per le modulazioni in banda traslata, con un 4-PSK), si assume che i simboli
binari 0 e 1 vengano mappati nei valori di canale  Î Ë e k Î Ë , dove Ë è l’energia per dimensione
reale trasmessa o energia per simbolo). La sequenza trasmessa, nello spazio dei segnali è il vettore
reale Πˬwv(kMS8 . Il vettore ricevuto è “ Πˬwv(kMS8<Á‘ , dove ‘ è la sequenza di campioni
di rumore AWGN, con varianza B@ . In questo caso il criterio di decodifica da usare è quello di
minima la distanza Euclidea

G £ arg ¤ ¨S©9¥Ã, ¦ œ Ô  “ l Πˬxv(kMS<


Notare che sia la distanza di Hamming che la distanza Euclidea al quadrato sono quantità additive
rispetto alle componenti delle sequenze, ovvero si possono scrivere come somma di tanti contributi,
ciascuno dovuto ad una componente
g
œ%#> “ l8ù œ%#V È5Tl?T
b
g
œ Ô.  “ l Î t
Ë wv(kMQ8ù ‰w
?TOk Î ËHŸ! kMQ?TUŒ .
b
La minimizzazione di quantità additive accumulate sui rami di un diagramma a trellis può essere
ottenuta in modo efficiente mediante l’algoritmo di Viterbi, per la cui descrizione si rimanda alla
lezione in videocassetta.
Diamo a titolo di esempio un programma Matlab che dimostra una possibile implementazione
dell’algoritmo di Viterbi per la decodifica soft di un codice convoluzionale di rate 1/2 e generatori
±
A}v ü e A . yn . Il programma riceve in ingresso il rapporto segnale rumore Ë ~G* in dB ed
il numero totale di bit di informazione da trasmettere. Effettua la codifica convoluzionale di un
pacchetto di bit generati casualmente, la modulazione 2-PAM, la trasmissione sul canale AWGN
che aggiunge il rumore, la decodifica di Viterbi ed conteggio del numero di bit errati.

function BER = viterbi(EbN0db,Ninfobits,dbg)


% function viterbi(EbN0db,Ninfobits,[dbg])
% Tutorial program for Viterbi decoding

27
% R = 1/2 binary convolutional code (5,7)oct
% - encoder
% - 2-PSK modulation
% - soft decoding with Viterbi
% EbN0db: Signal-to-Noise Ratio in dB
% Ninfobits: Packet length in information bits
% dbg: Optional to show info/coded/output bits
% Examples: viterbi(1,100)
% viterbi(1,100,’show’)
% Author: Emanuele Viterbo Date: Apr. 1999
% ---------------------------------------------------
rand(’seed’,0); randn(’seed’,0);
% -------------------- Source ------------------
infobits = (rand(1,Ninfobits)>0.5);
%infobits = zeros(1,Ninfobits);
if nargin == 3, char(48+infobits), end;
N=2;
Rate = 1/N; % code rate
gpol1 = [1,0,1]; % generator polynomials
gpol2 = [1,1,1];
Ncodedbits = Ninfobits/Rate;
codedbits = zeros(1,Ncodedbits);
outbits = -1*ones(1,Ninfobits);
Memory = length(gpol1)-1; % code memory
Nstates = 2ˆMemory; % number of states
Lwindow = 5*Memory; % decoding window length

% -------------------- Encoder ------------------


state = zeros(1,Memory);
for n = 1:Ninfobits
shiftreg = [infobits(n),state];
codedbits(2*n-1) = rem(shiftreg*gpol1’,2);
codedbits(2*n) = rem(shiftreg*gpol2’,2);
state = shiftreg(1:Memory);
end;
if nargin == 3, char(48+codedbits), end;

% --------- 2-PSK Modulator and Channel ---------


Es = 1; % Energy per symbol = per coded bit with 2-PSK
noise = sqrt(0.5*Es/Rate*10ˆ(-EbN0db/10))*randn(1,Ncodedbits);
recsymb = (1-2*codedbits) + noise; % mapping 0 -> +1, 1 -> -1

% ----------- Decoder Initialization ------------


trellis = zeros(Nstates,Nstates,N); % symbol branch labels {+1,-1}

28
IBtrellis = -ones(Nstates,Nstates); % info bit branch label {0,1}
for k = 1:Nstates
state = double(dec2bin(k-1,Memory))-48;
for ibit = 0:1
shiftreg = [ibit,state];
cbit1 = rem(shiftreg*gpol1’,2);
cbit2 = rem(shiftreg*gpol2’,2);
newstate = bin2dec(char(shiftreg(1:Memory)+48)) + 1;
oldstate = bin2dec(char(state+48)) + 1;
trellis(oldstate,newstate,1) = (1-2*cbit1);
trellis(oldstate,newstate,2) = (1-2*cbit2);
IBtrellis(oldstate,newstate) = ibit;
end;
end;
prevstate = zeros(Nstates,2); % previous states
for k = 1:Nstates
prevstate(k,:) = find(IBtrellis(:,k) >= 0)’;
end;
% -------------------- Decoder -------------------
Pathmetrics = 1e6*ones(Nstates,1);
Pathmetrics(1) = 0;
Newpathmetrics = zeros(Nstates,1);
Pathmemory = zeros(Nstates,Lwindow); % circular buffer
for n = 1:Ninfobits
% Add-Compare-Select
for k = 1:Nstates
oldstate1 = prevstate(k,1);
label = [trellis(oldstate1,k,1),trellis(oldstate1,k,2)];
bm1 = sum((recsymb(2*n-1:2*n)-label).ˆ2);
oldstate2 = prevstate(k,2);
label = [trellis(oldstate2,k,1),trellis(oldstate2,k,2)];
bm2 = sum((recsymb(2*n-1:2*n)-label).ˆ2);
pm1 = Pathmetrics(oldstate1) + bm1;
pm2 = Pathmetrics(oldstate2) + bm2;
if pm1 < pm2
Newpathmetrics(k) = pm1;
Pathmemory(k,rem(n-1,Lwindow)+1) = oldstate1;
else
Newpathmetrics(k) = pm2;
Pathmemory(k,rem(n-1,Lwindow)+1) = oldstate2;
end;
end;
Pathmetrics = Newpathmetrics;
% Traceback

29
if n>=Lwindow % initial delay
[tmp,state0] = min(Pathmetrics); % select best path
for p = 0:Lwindow-1
backstate = Pathmemory(state0,rem(n-1-p,Lwindow)+1);
state = state0;
state0 = backstate;
end;
outbits(n-Lwindow+1) = IBtrellis(backstate,state);
end;
end;
% Empty decoding window
[tmp,state] = min(Pathmetrics);
for p = 0:Lwindow-2
backstate = Pathmemory(state,rem(n-1-p,Lwindow)+1);
outbits(Ninfobits-p) = IBtrellis(backstate,state);
state = backstate;
end;
if nargin == 3, char(48+outbits), end;
% ----------------- Error counter --------------------
Nerr = length(find((infobits-outbits)˜=0));
BER = Nerr/Ninfobits;

6.3 Calcolo delle prestazioni


Poiché la decodifica soft dei codici convoluzionali è facilmente ottenibile, ed è molto usata nella
pratica, ci limitiamo a descrivere il calcolo delle prestazioni in questo caso. Per calcolare le pre-
stazioni di un codice convoluzionale occorre prima di tutto conoscere lo spettro delle distanze fra
le sequenze di codice. Poiché il codice è lineare, questo equivale a conoscere i pesi di Hamming
delle sequenze di codice. Poiché esiste un numero infinito di sequenze, tutte di lunghezza infinita,
non è possibile usare il calcolo diretto mediante enumerazione. Fortunatamente, esiste un metodo
basato sulla funzione di trasferimento del diagramma di stato.
Per prima cosa occorre tracciare il diagramma di stato modificato in cui si elimina l’arco dallo
stato zero allo stato zero e si sdoppia lo stato zero in due stati, uno di partenza e uno di arrivo. Ad
ogni arco del diagramma modificato, che ha un peso di Hamming di informazione ¡ e un peso di
Hamming di uscita œ si associa l’etichetta simbolica
7
 =Gz
Ad ogni percorso che parte dallo stato di partenza e termina nello stato di arrivo, si associa l’etichet-
ta prodotto di tutte le etichette degli archi che si formano il percorso. La funzione di trasferimento
(@=Gl?R si ottiene sommando tutte le etichette corrispondenti a tutti i possibili percorsi che partono
dallo stato di partenza e terminano nello stato di arrivo. (@=Gl> è una funzione razionale fratta

30
{ {L}M|
|

{ | { |

~
{ | ( €)
[9‚

| ( €ƒƒ „
{  [ ‚
~

Figura 6.1: Regole per la semplificazione del grafo per il calcolo della funzione di trasferimento

nelle due indeterminate = e  , dunque può essere scritta come una serie del tipo:
˜g ˜g 7
Å1=Gl> f 7 f ì|œˆli¡¸s = z
hz zw…D†a‡ˆ‡ hˆ}
Ciascun termine della serie corrisponde ad un insieme di percorsi (ovvero di sequenze di codice).
Per esempio, il termine: 7
o|œˆli¡¸s = z
ci dice che esistono ì|œˆli¡¸ percorsi aventi peso di Hamming œ , e peso di informazione ¡ (cioè
numero di 1 nella corrispondente sequenza di ingresso  che ha prodotto  ). Nella figura 6.1 sono
riassunte le regole di semplificazione per il calcolo della funzione di trasferimento di un grafo
diretto.
La probabilità di errore, o meglio, un limite superiore alla probabilità di errore può essere facil-
mente calcolato dalla funzione (@=Gl?R . Nel caso del canale AWGN, la probabilità di decodificare
la sequenza  a distanza = dalla sequenza di tutti zeri, quando avevamo trasmesso la sequenza di
tutti zeri, vale: ± Õ ¨
&Ë  !
@‰; 8e Ü œ7#>@Kl< † µ ,g‹ƒŠ Œ zwŽ Ž-‘
ÙTÝ B Û 
±
dove Ë è l’energia per bit di informazione trasmesso e  è il rate del codice.Dunque, poiché la
probabilità di commettere un errore sulla sequenza è minore o uguale alla somma delle probabilità

31
@‰; 8 , per ogni  diversa da  (Union Bound), abbiamo il limite superiore
!
3 †  1=H’’  ‹ƒ@Õ Œ ”
(
 ’’ “ h [ Š
dove Å1=H può essere calcolata direttamente dal diagramma di stato modificato, oppure può essere
calcolata come:
(1=H ú(@=îl>Qu •Ÿhˆ}
7 la probabilità di errore sul bit, notiamo che ogni percorso che corrisponde ad un
Per calcolare
termine = z  nella serie che definisce (@=Gl> , dà un numero medio di errori sul bit pari a:
Ք
!
1 † ¡¸µ , Š Œ z
ƒ
‹

Allora il numero medio totale di errori sul bit per passo nel trellis vale:
ÿ
6 3?6 !
1 †
 –
—
(@=Gl?R ’’
’’ •Ÿhˆ}  ƒ‹ Õ Œ ”
h Š
– ’ “ [
Per codici di rate !+  , che sono gli unici che vengono considerati qui, poiché abbiamo un bit
di informazione per passo nel trellis, la probabilità di errore sul bit, data dal rapporto fra il numero
di bit errati e il numero di bit trasmessi per passo nel trellis è data da:
ÿ
8± 6 3?6 !
1 † (@=îl> ’’ Õ1”
 – ’’ •hˆ} h  [ Š ƒ‹ Œ
– ’ “
Due approssimazioni molto usate sono le seguenti:
± Õ
d0?
&Ë  d0?
† µ,
! ‹)Š Œ  z Ž ˜Ž -‘ ¨ 
3 5 ì|œ ¹ ŸÜ
ÙTÝ 
œ ¹
Û 
± Õ

5
0d ?
1¬|œ ¹ Ü
&Ë  ¸d ?
œ ¹ † µ,
! ‹)Š Œ  z Ž Ž˜-‘ ¨ 
Ù)Ý  Û 
d05 d0?
dove o|œ
¹  è il numero di sequenze aventi peso pari alla distanza d0? libera del codice œ ¹ (un
concetto simile alla distanza minima dei codice a blocco) e 1¬|œ
¹  è il peso totale dei bit di
d0?
informazione che corrispondono a tali sequenze. Questi due coefficienti possono essere ricavati
rispettivamente dagli sviluppi in serie di Å1=H e di (@=Gl> . Infatti ì|œ
¹ d05  è il coefficiente della
potenza di = di grado più basso nello sviluppo di Å1=H , mentre 1H œ
¹  è il coefficiente della
potenza di = di grado più basso nello sviluppo della derivata di (@=Gl?R rispetto a  , valutata per
‹ p! . ± d0?
Poiché il rapporto Ë ; viene moltiplicato per …œ
¹ , sid05dice
 che il codice ha un guadagno
asintotico (ACG: asymptotic coding gain) pari a !+* ™Ã½›š }? 5…œ
¹  nei confronti della modulazione
2-PAM (o 4-PSK) non codificata.

32
Capitolo 7

Esercizi sui codici convoluzionali

7.1 Problema
Un codice convoluzionale ha generatori (in ottale) A}Í l+A . Xü e A / pn . Disegnare il codifica-
tore. Disegnare il diagramma di stato e il trellis. Trovareþ la funzione di trasferimento, la distanza
libera e l’ACG.
Soluzione — Osservando il diagramma a blocchi del codificatore in figura 7.1 è possibile
scrivere le equazioni di stato e le relazioni ingresso-uscita
œ  
  P } 2B
ž . 2¡ë}
 }› &B
Ÿ  &B‹J¡
. .
 / &B‹J¡ë}8J¡ .
dove ¡X a¡ë};l?¡  rappresenta lo stato presente del codificatore,      };l    lo stato futuro, B
. .
il bit di ingresso e Ð  }   la terna di bit di uscita. Talvolta può essere conveniente una
. /
rappresentazione matriciale delle suddette equazioni
  d¢¡¬M1£B
 G A
^Ë¡tMWB
dove
* * ! * * !
d 1‡ Ëp ¤ñó * ! Wp ¤ñó !
Ù ! * Û Ù * Û ! ! xôõ ¥ ! xôõ ¥
Dalle suddette equazioni possiamo completare la seguente tabella che permette di disegnare facil-
mente il diagramma di stato ed il traliccio.

33
¦ å
¦ é

¦g§

Figura 7.1: Codificatore convoluzionale (4,5,7) di rate 1/3

B 1¡ë};l?¡ .     ;} l   .  } .  / 
0 00 00 000
1 00 10 111
0 01 00 011
1 01 10 100
0 10 01 001
1 10 11 110
0 11 01 010
1 11 11 101

Nel seguente diagramma di stato le etichette dei rami sono BS} ed i rami con BH ^* sono
. /
in tratto continuo mentre quelli con BH Ð! tratteggiati.

01
0/011 0/010
0/000 1/101

00 0/001 1/100 11

1/111 1/110
10

Una sezione del diagramma a trellis è:

34
00 0/000 00
1/111

0/011
01 01
1/100
0/001
10 10
1/110

0/010
11 11
1/101
Il diagramma di stato modificato, per calcolo di (@=¬ è:
© é

11

© é ©

© § © © é
00 10 01 00
©

La (@=H risultante è:


= F
(1=H C=FOÇ›=Gª = ?}  ú
 '+'+'
!mkM›= .
d0? þ
Dunque œ . Poiché il rate è 1/3, abbiamo
¹ `
ACG Ð!+* ™§½«š }? D ` # dB

# F

7.2 Problema
d0?
Il diagramma a blocco del codificatore di un codice convoluzionale è dato in figura 7.2. Disegnare
il diagramma di stato, trovare (@=H e calcolare œ . Supponendo che la sequenza ricevuta dopo
¹
35
¦ å

¦é

¦ §

Figura 7.2: Codificatore convoluzionale (6,5,7) di rate 1/3

la trasmissione su canale BSC sia ¬» 110 110 110 111 010 101 101, trovare la sequenza trasmessa
usando l’algoritmo di Viterbi, supponendo che la sequenza di informazione sia composta da 5 bit
incogniti seguiti da 2 zeri. Trovare un’approssimazione della probabilità di errore sul bit del codice
in
01
0/011 0/110
0/000 1/001

00 0/101 1/100 11

1/111 1/010
10

00 0/000 00
1/111

0/011
01 01
1/100
0/101
10 10
1/010
0/110
11 11
1/001

Il diagramma di stato modificato, per il calcolo di (@=îl> è:

37
­©

11

­© © é

­© § © é © é
00 10 01 00
­©

La (@=Gl> risultante è
= ®?
‰
Å1=Gl>
!mk¯=Gk¯= / 
Da cui (1=H risulta:
= ®
(@=H = ® J=GªH=G±OA'+'+'
d05 ! k°=Ek°= / d¸?
Dunque œ
¹ ²n . Il peso di±informazione dell’unica (perché unica?) parola di peso œ ¹ è 1,
dunque l’approssimazione di è data da:
±
8± &Ë n
5žÜ '
Ù)Ý B # Û
Per ricavare la sequenza di informazione dobbiamo eseguire l’algoritmo di Viterbi sulla se-
quenza ricevuta ¬ . A tale scopo consideriamo sette passi del diagramma a trellis su cui riportiamo
le metriche di ramo che corrispondono alla distanza di Hamming tra la terna di bit ricevuti in cia-
scun passo e l’etichetta del ramo corrispondente. Nella tabella troviamo le corrispondenze tra i
rami (individuati da coppie di stati) e le rispettive etichette di bit codificati e di bit di informazione.
Ad ogni sezione del trellis e per ogni stato riportiamo la metrica di cammino accumulata mediante
le operazioni di ACS (vedi figura 7.3).
Per ogni passo nel trellis e per ogni stato e necessario memorizzare il ramo entrante che cor-
risponde al cammino con minima metrica accumulata selezionato con ACS. A questo scopo è
sufficiente memorizzare lo stato precedente, nella figura il ramo vincente (o percorso sopravvissu-
to) viene individuato da un puntino nero. Questa informazione viene utilizzata una volta terminata
la scansione del trellis, infatti per risalire ai bit di informazione trasmessi e sufficiente ripercorrere
a ritroso il percorso che ha ottenuto la minima metrica di cammino. In generale, questo va scelto
fra tutti i possibili stati di arrivo, ma in questo caso, poiché gli ultimi due bit di informazione sono
zero, sappiamo che lo stato finale è 00 e dobbiamo scegliere solamente tra i due cammini che arri-
vano a tale stato quello di metrica minore. Seguendo il percorso sopravvissuto oteniamo la stima a
massima verosimiglianza della sequenza di bit trasmessa, ovvero: 1 1 0 0 1 0 0.

38
110 110 110 111
00 2 2 2 3
0 2 2 3 3
1 1 1 0
2 2 2 1 0
01 0 1 0 1 2 3
1 1 1 2
2 2 2 1
10 0 1 1 2 3
1 1 1 0 2
1
0 0 0 1
11 0 1 2 3 5
3 3 3 2

010 101 101


1 2 2
3 4 6 7
2 1 1
0
1 2 2
3
1 6 5 5
2 1 1

3 0 0 0
3 5 5 6
0 3 3
1 2 2
5 3 4 5
2 1 1

Figura 7.3: Decodifica hard di una sequenza per il codice (6,5,7)

La tecnica di trasmettere dei bit a zero è nota come terminazione del trellis e permette di
migliorare le prestazioni del decodificatore di Viterbi quando il codice viene troncato. Questo
vantaggio è ottenuto sacrificando alcuni bit di informazione del pacchetto.
Notiamo infine che normalmente la memorizzazione dei cammini sopravvissuti viene fatta so-
lamente in una finestra temporale pari a circa 5 volte la memoria del codificatore. Questo permette
di ridurre la quantità di memoria richiesta dall’algoritmo di Viterbi senza diminuire sensibilmente
le prestazioni. Il programma presentato nel capitolo precedente utilizza questa tecnica di decodifica
a finestra.

7.3 Problema
d0?
Il diagramma a blocco del codificatore di un codice convoluzionale è dato in figura 7.4. Dise-
gnare il diagramma di stato, trovare (@=H e calcolare œ
d0? ¹ . Disegnare sul trellis il percorso che
corrisponde alla sequenza œ
¹ . Supponendo che i bit aB}~l?B . l?B / l+B I l*)l*r vengano codificati e
trasmessi su un canale BSC e che la sequenza ricevuta sia ¬´³T 111 111 111 111 111 111, trovare
mediante l’algoritmo di Viterbi la sequenza a massima verosomiglianza.
Soluzione — Seguendo la procedura descritta nel primo esercizio possiamo ricavare la seguen-
te tabella

39
¦ å

¦é

¦ §

Figura 7.4: Codificatore convoluzionale (6,3,7) di rate 1/3

B 1¡ë};l?¡ .     ;} l   .  } .  / 
0 00 00 000
1 00 10 101
0 01 00 011
1 01 10 110
0 10 01 111
1 10 11 010
0 11 01 100
1 11 11 001
Da cui si ricava il diagramma di stato ed il trellis:

01
0/011 0/100
0/000 1/001

00 0/101 1/100 11

1/101 1/010
10

40
00 0/000 00
1/101

0/011
01 01
1/110
0/111
10 10
1/010

0/100
11 11
1/001

Il diagramma di stato modificato, per il calcolo di (@=¬ è:

­©

11

­© © é

­© é © § © é
00 10 01 00
­© é

La (@=H risultante è:

= F H=‰®ek¯= ª
(1=H =FOÇ›= ® H=ªOú'+'+'
!mk°==k°= I k°= Y H= F
d0?
Dunque œ
¹ `.
Riportiamo infine nella figura 7.5 il trellis che lo studente può utilizzare per la decodifica della
sequenza ricevuta.

7.4 Problema
Il diagramma a blocco del codificatore di un codice convoluzionale è dato in figura 7.6. Disegnare

41
111 111 111
00 0

01 0

10 0

11 0

111 111 111

Figura 7.5: Trellis per la decodifica hard di una sequenza per il codice (6,3,7)

¨ ¦ å

¦ é

Figura 7.6: Codificatore convoluzionale di rate 1/2

42
d0? ±
il diagramma di stato, trovare Å1=Gl> e calcolare œ
¹ . Trovare un limite superiore alla se
il codice viene usato su un canale AWGN con densità spettrale di potenza di rumore  , con
modulazione 2-PAM.
Soluzione — Seguendo la procedura descritta nel primo esercizio possiamo ricavare la seguen-
te tabella
B a¡ë};l?¡ .     ;} l   .   }Ÿ . 
0 00 00 00
1 00 10 01
0 01 00 10
1 01 10 11
0 10 01 01
1 10 11 00
0 11 01 11
1 11 11 10
Da cui si ricavano il diagramma di stato ed il trellis:

01
0/10 0/11
0/00 1/10

00 0/11 1/01 11

1/01 1/00
10

43
00 0/00 00
1/01

0/10
01 01
1/11
0/01
10 10
1/00

0/11
11 11
1/10
Il diagramma di stato modificato, per il calcolo di (@=îl> è:
­©

11

­ © é

­© © ©
00 10 01 00
­© é

La (@=Gl> risultante è:


= /
Å1=Gl>
!mk¯=Gk¯= / 
La derivata rispetto a  della (1=Gl> è data da:
= /
(@=îl>
Ÿ!mk¯=Gk°= /  .
Ô Õ
„ Œ 8±
Calcolando questa funzione in ‹ p! e in =ò Aµ ,  k si ottiene il limite superiore a
Õ
± *)"$ü&µ Õ , 7Š Œ k Õ
)
‹
† ( ‹)Œ
D !Ækoµ Š kIµ , µ‹ƒŠ Œ .
, 4

F

44
Capitolo 8

Comunicazioni via satellite

Questa esercitazione tratta il calcolo del bilancio di tratta (link budget) di un canale via satellite. I
dati fondamentali di un canale via satellite sono:

1. Il fattore di roll-off ¶ del filtro a coseno rialzato.

2. La distanza œ fra il satellite e le stazioni di terra.


±
3. Il bit rate  di trasmissione.

4. La modulazione numerica usata.


4w· 3 9
5. Le frequenze di portante \ e \z 3 dell’uplink (tratta da terra a satellite) e del downlink
(tratta da satellite a terra).
6 4w· d 4w· 6 3 9 d 3 9
6. I guadagni di antenna 2 Þ Þ Þ Þ
, l2 , l2 , z 3 e 2 , z 3 , delle antenne della stazione
trasmittente a terra, di ricezione del satellite, di trasmissione del satellite e della stazione
ricevente a terra, rispettivamente.

7. L’assorbimento atmosferico ¸ ® .
3ˆ· w4 · 3ˆ· 3 9
8. Le temperature operative del ricevitore sul satellite  e del ricevitore a terra  .
, , z 3
9. La potenza trasmessa da terra ™ , e la potenza trasmessa dal satellite ª .
6 d¹56
10. Il valore desiderato di bit rate (BER ® ).

Calcolare il link budget, nel caso di trasmissione non codificata, significa trovare i valori minimi
8± 6 d@¹|6 8±
di ™ e di ª che garantiscono † BER ® , dove è la probabilità di errore sul bit della
modulazione numerica usata dal sistema. Per fare ciò occorre trovare il rapporto segnale rumore
( Jî ) in funzione di ™ e di ª , ed imporre la condizione che l’ JG trovato sia maggiore o
± 6 d¹|6
uguale al minimo JG che garantisce che la sia in effetti minore della BER ®
6 ® d¹56 desiderata. I
passi necessari per calcolare il valore di JG che si deve garantire sono:

45
± ±
1. Esprimere come una funzione di Ë ;B . Per esempio nel caso di una modulazione PSK
con etichettamento di Gray, su canale AWGN, si ha:
±
± &Ë

ÙTÝ  Û
± ± ± 6 d¹56
2. Dall’espressione di , trovare il minimo Ë ; necessario affinché Ñ 1ÅË ®
±
3. La relazione fra Ë ; e JG , per una modulazione con efficienza spettrale º è:
±
Ë
Jeîž º (8.1)
B
Ricordiamo che l’efficienza spettrale º , per una modulazione di tipo M-PSK con roll-off ¶ è
data da:
™§½«š . x
º
!PMa
± 6 d¹56
Allora, dal valore di Ë ;B trovato al punto 2) e della relazione (8.1) troviamo il valore JG ®
che dobbiamo soddisfare.
Nel seguito, riportiamo i passi necessari per calcolare Jî di una singola tratta (uplink o
downlink). Poiché questo calcolo vale sia per l’uplink sia per il downlink, non indichiamo più
esplicitamente il pedice up o down.
1. La potenza di segnale all’ingresso del ricevitore è data da:

d Þ 86 Þ 6 Þ d Þ. !
2 2
ÙE¿K» œ Û ¸ ®
86 þ
dove Þ indica la potenza trasmessa (cioè vale ™ nel caso dell’uplink e ª nel caso del
dowlink). Il guadagno di antenna 2 , per un’antenna parabolica, è legato al raggio ¼ dalla
relazione:
¿ .¼.
2p €
þ .
dove il fattore € è detto efficienza dell’antenna» e vale di solito 0.6. La lunghezza d’onda è
legata alla frequenza di portante dalla relazione p½~\ , dove ½V Ð#Ï'-!+* ª m/s è la velocità
»
di propagazione della luce nel vuoto. »
2. La potenza di rumore all’ingresso del ricevitore è data da:
<9n3?7 N5 3ˆ·
)1
dove 1 è la banda del ricevitore, che per una modulazione x k Jgu con roll-off ¶ vale
circa: ±


º
3ˆ·
e  Y!"Ä#% ¾!+*,.0/ J/K è la costante di Boltzman. La temperatura operativa del ricevitore 
è data dalla somma di due termini, la temperatura di antenna  ® e la temperatura equivalente

46
¿
del ricevitore  .  ® è un dato del problema e dipende dall’angolo di elevazione e dai corpi

irradianti che compaiono nel raggio ({µna ² ) dell’antenna ricevente, mentre  può essere
calcolata sapendo le temperature equivalenti (o le cifre di rumore) e i guadagni dei dispositivi
che compongono la catena di ricezione.
3. Finalmente, possiamo scrivere JG come:
ed Þ
JG^ 89;3?7 N5
<6 Þ
Se si richiede il link budget di una sola tratta, allora basta calcolare dalla relazione:
6 d@¹|6
Jîž ^Jî ® (8.2)

Se invece si deve considerare il link budget complessivo, nel caso di un transponder non rige-
4w· 3 9
nerativo, usiamo la seguente formula che ci dà l’ JG complessivo sapendo Jî e JG .
z 3
ÿ
6 3?6
! !
Jî 4w·  3 9
JG JG z 3
6 3?6
Notare che se usiamo Jeî al posto di Jeî nella (8.2) otteniamo una equazione con due
incognite ™ e ª . Dunque esiste una relazione fra ™ e ª . Occorre dunque scegliere una
coppia di valori di ™ e ª che soddisfa tale relazione, tenendo conto che una scelta ”ragionevole”
tende solitamente a massimizzare ™ e a minimizzare ª , in quanto la potenza del transponder
sul satellite è molto costosa, mentre la potenza in trasmissione da terra, specialmente per grosse
stazioni, non è un grosso problema.

8.1 Esercizio sul link budget


Un collegamento via satellite è contraddistinto dai parametri seguenti: modulazione QPSK con
±
ricezione coerente, bit-rate  ù!+* Mb/s, roll-off factor ¶ž *)"$#ü , probabilità di errore sul bit
6 ® d¹56
desiderata 1ÅË Ð!+*, Y , distanza 4 dalle stazioni di terra œÅ ^# ` *&** km.
Uplink: frequenza di portante \ !Q GHz, guadagni delle antenne di trasmissione e di
6 4 dÞ4
ricezione 2 Þ * dB, 2 * dB, assorbimento atmosferico ¸ ® 5 û
` 4® 4 ü dB, temperatura di
antenna di ricezione  ^ü * K, temperatura
þ equivalente del ricevitore  ^ü&* K.
Downlink: frequenza di portante \ ! GHz, guadagni delle antenne di trasmissione e di
6 d z
ricezione 2 Þ * dB, 2 Þ * þ
dB, assorbimento atmosferico ¸ ® ûü dB, temperatura di
z ® z `
antenna di ricezione þ  z ü K. Il ricevitore alla stazione di terra è costituito da un  amplificatore a
basso rumore con guadagno disponibile 2}P ^&* dB e temperatura equivalente  }P ü&* K, da una
linea di trasmissione con attenuazione ¸I # dB e da un amplificatore di potenza con temperatura

equivalente 
. ^#** K.
Vogliamo dimensionare la potenza trasmessa da terra ™ e la potenza trasmessa dal satellite ª
6 d¹56
affinchè la 1ÅË risultante sia non superiore alla 1(Ë( ® desiderata nel caso di un satellite non
rigenerativo e nel caso di un satellite rigenerativo, cioè dove il segnale ricevuto dall’uplink viene
demodulato, viene fatta la rivelazione dei simboli e poi i simboli rivelati vengono nuovamente
modulati e trasmessi sul downlink.

47
8.1.1 Caso del satellite non rigenerativo
Determiniamo i rapporti segnale-rumore nell’uplink e nel downlink in funzione di ™ e di ª . Per
l’uplink abbiamo
6 4 d Þ 4ÁÀÃÂ .
4w· 2 Þ 2 º
JG ™ ± I 3ˆ· ·z4 Ä ™ ut}
¸ ® ) 
4 4 ˆ3 ·4 4 |4
dove abbiamo definito
± Ž~\ l   ®  , ºÁ û&TŸ!V¶
e dove abbiamo usato la
» la banda del segnale con l’efficienza spettrale º .
relazione 1Y  che lega
Analogamente, per il downlink abbiamo
6 d ÀÃÂ .
3 9 2 Þz2 Þz º
JG z 3 ª ± I 3ˆ· · z Ä ª u .
¸ ® )  z
3ˆ· 
dove abbiamo definito C
 z ½;\ z l z ú  ® z  z , e dove la temperatura equivalente del ricevitore
 z è data da » 
  1¸­k !Q0
  . ¸
 z ú }8 
2} 2 !
Per un satellite non rigenerativo, l’ JG totale è dato dalla formula
ÿ
6 3?6 ! ! 6 d¹56
JG 4w·  3 9 ^JG ®
Jî Jeî z 3
±
Con una modulazione QPSK coerente abbiamo bisogno di Ë ;P ^ZR" dB per avere 1ÅË( uguale
a !+* Y . Dunque il rapporto segnale rumore target che dobbiamo ottenere è dato da
`
6 d¹56

Jeî ® 2ºÅ'!+*›±+Æ F }?


4w· 3 9 6 3?6 6 3?6
Sostituendo le espressioni di Jî e di JG nell’espressione di JG e ponendo Jî
6 ® d¹56 z 3
JG otteniamo una relazione che lega ª a ™ , in particolare otteniamo
u } ™
¬ ª
6 d¹56
u . 1u¬} ™
Jeî ® kÁ!Q
E’ chiaro che ogni coppia di valori  ™8l ª  sulla curva definita dall’equazione qui sopra soddisfa
6 d¹56
il problema. Il minimo valore possibile di ª è JG ® ›u . , ottenuto per ™l; Ç . Numerica-
mente troviamo che il minimo valore di ª è 11.29 mW. Con ™ ‡&** mW otteniamo ª !Q
mW, che è molto vicino al minimo possibile (si noti che in generale è meglio minimizzare la po-
tenza necessaria sul satellite, perché questa costa molto in termini di hardware, mentre invece la
potenza a terra è molto meno costosa).

8.1.2 Caso del satellite rigenerativo


Possiamo schematizzare la concatenazione dell’uplink e del downlink con rigenerazione come
4
la cascata di due canali binari simmetrici equivalenti con probabilità di transizione ³ e ³ . La
z
probabilità di errore complessiva della cascata è data da
6 3?6 4 4 4 4 4
³ I³ Ÿ !mkL³ z K  ³ z Ÿ!mkG³ e C³ ‚³ z  ³ ³ z 5dz  ³ z
48
6 3?6 6 d¹56
Imponiamo la condizione che ³ sia uguale alla BER ® e trascuriamo il termine prodotto
6 3?6 4
nell’espressione di ³ . Dunque possiamo scegliere qualsiasi coppia di valori di ³ e di ³ tali
4 6 d¹56 z
che ³ ú³ BER ® . Poiché vogliamo minimizzare la potenza sul satellite poniamo, per
4z 6 ® d¹|6
esempio, ³ Y!+* , F e ³ AZ'!+* , F . Otteniamo i valori di JG per l’uplink e per il downlink
z
risolvendo numericamente (o graficamente, usando il grafico della Üv Î 
 le equazioni
œ À ÔÕ 4
ž Ü DÉÈ  „ Œ w4 · M³
Ÿ À ÔRÕ Ä F
Ü D È  „ Œ 3 9 M³ z
Äz 3 F
± ± 4w· 3 9
rispetto a Ë ; e poi usando la relazione JG ʺ)Ë ;B˳ . Siano JG e JG
4 z 3 i valori
di Jeî necessari sull’uplink e sul downlink per ottenere ³ e ³ , allora otteniamo i valori di ™ e
z
di ª 4w·
 ª ™]  žJJGî  3 9 ››u¬u }
z 3 .
Svolgendo i calcoli numerici si trovano i valori ™A ! " ! mW e ª !!" mW. Si può
`
notare che il valore di ª ottenuto è simile a quello ottenuto nel þcaso non rigenerativo, þ ma mentre
in quel caso dovevamo spendere 200 mW per l’uplink, qui ci bastano 16.14 mW. Dunque il satellite
rigenerativo richiede molto meno potenza per la trasmissione da terra, pur non usando più potenza
per la trasmissione da satellite. In compenso, il satellite rigenerativo richiede un hardware molto
più complesso e costoso che quello non rigenerativo.

49
Capitolo 9

Modulazioni codificate a traliccio

Le modulazioni codificate a traliccio (Trellis-coded modulation, o ¢x ) sono un metodo efficien-


te per ottenere un guadagno di codifica senza espansione di banda. La teoria del ¢x è vasta,
dunque ci limiteremo fornire alcuni concetti fondamentali tramite un esempio-esercizio.
In generale, un modulatore ¢x può essere ottenuto connettendo un codificatore convoluzio-
nale binario di rate ² ) ² ‚!+ ad un modulatore avente una costellazione di  z
˜ˆ} segnali. Il modo
con cui i punti della costellazione vengono associati alle stringhe binarie di lunghezza ² X! in
uscita dal codificatore (etichette) deve essere fatto seguendo delle regole precise, tali da garantire
che le sequenze di segnali risultanti abbiano tra loro una minima distanza Euclidea possibilmente
grande.
Ricordiamo che l’efficienza spettrale della costellazione non codificata con x segnali è ™Ã½›š ?x^ ,
quindi nel nostro caso è pari a ² =! bit/simbolo mentre l’efficienza spettrale della TCM è ²
.
bit/simbolo. Possiamo quindi osservare che l’aggiunta del bit di parità da parte del codice viene
assorbita in termini di banda dal raddoppio della cardinalità della costellazione.
Queste regole di progetto, note come le regole di Ungerboeck, possono essere espresse nel
modo seguente. Prima di tutto definiamo il concetto di set partitioning di una costellazione come
un albero binario di sottocostellazioni tali che la distanza Euclidea minima fra i punti delle sotto-
costellazioni ad un livello dell’albero sia la più grande possibile. Un esempio di set partitioning
per l’8-PSK è dato in figura 9.1 Supponendo che l’energia dei segnali dell’8-PSK sia Ë al primo
}0 7:9
livello la minima distanza Euclidea è œ Ô Ž  Î Ëo¾¥Ã¦K ¿8&%‰5í*)"˜n ü Î Ë , al secondo livello
Ԝ Ž .  7:9 Î  Î ËÌ5‡!" ! Î Ë , al terzo œ Ԏ / ‘ z 7:9 ^ Î Ë ed all’ultimo la possiamo
`
supporre infinita.
‘ z Con riferimento al trellis del codificatore ‘ z binario, diciamo che transizioni che hanno
þ þ in comune
lo stato di partenza oppure solo lo stato di arrivo sono transizioni adiacenti. Supponiamo inoltre
di avere Sz , z'Í transizioni parallele uscenti da ogni stato del trellis, dove ² : è la profondità del set
partitioning. A questo punto possiamo elencare le regole di Ungerboeck.

1. Ad ogni gruppo di transizioni parallele vanno assegnati i segnali appartenenti alla stessa
sotto-costellazione del set partitioning, scelta fra le sotto-costellazioni che hanno esattamente
 z , z Í segnali. (Nota: se non ci sono transizioni parallele, cioè se ² : ² , questa regola
è superflua e si scelgono i segnali dalle sottocostellazioni all’ultimo livello dell’albero, che
contengono un singolo segnale ciascuna).

2. A transizioni adiacenti vanno assegnati segnali appartenenti alla stessa sotto costellazione

50
S2
S3 S1

S4 S0

S5 S7
S6

½/ ^
* ½/ Y
!
S2
S3 S1

S4 S0

S5 S7
S6

½. ^
* ½. Ð
! ½. A
* ½. Ð
!
S2
S1 S3

S4 S0

S5 S7
S6

½;} ^* 1 0 1 0 1 0 1

S2
S1 S3
S0 S4

S5 S7
S6

Figura 9.1: Esempio di set partitioning di una costellazione 8-PSK

51
{;} ½~}
{. ½.

½/

00 (000,100) 00 (0,4)
(010,110) (2,6)

(010,110) (0,4)
01 01
(000,100) (2,6)

(001,101) (1,5)
10 10
(011,111) (3,7)

(011,111) (3,7)
11 11
(001,101) (1,5)

Figura 9.2: Codificatore convoluzionale di rate 2/3 con relativo traliccio

del set partitioning al livello immediatamente superiore al livello delle sotto-costellazioni


scelte per le transizioni parallele.

3. I segnali devono essere usati lo stesso numero di volte (cioè il numero di rami etichettati da
un certo segnale è una costante che non dipende dal singolo segnale).

Consideriamo ad esempio il codificatore convoluzionale di rate  # rappresentato in figura 9.2


assieme al corrispondente traliccio
Per l’8-PSK, una possibile associazione fra i rami del traliccio e i segnali che rispetta le regole
di Ungerboeck è data dalla tabella 9.1, che è una tabella di etichettamento binario per i segnali
dell’8-PSK. Notiamo che questa non è una codifica di Gray.
Per la decodifica di una TCM si utilizza ancora l’algoritmo di Viterbi opportunamente modifi-
cato per gestire le transizioni parallele. In particolare, l’operazione di ACS deve essere effettuata
su tutti gli i rami (anche quelli paralleli) entranti in ciascuno stato. Inoltre, per la memorizza-

52
½~}?½ . ½ / segnale
000 j
001 j}
010 j
011 j.
100 j/
101 jI
110 jY
jF
111
®
Tabella 9.1: Tabella di etichettamento dei segnali dell’8-PSK

zione dell’informazione di traceback bisogna non solo memorizzare lo stato precedente ma anche
selezionare una particolare transizione tra quelle parallele.
Il parametro fondamentale che esprime il guadagno di codifica di una modulazione TCM è la
d¸?
distanza libera euclidea al quadrato (SED Squared Euclidean Distance) œ . . Il calcolo di œ .
d0? è
¹ ¹
in generale abbastanza complesso. Esiste però un caso in cui esso si può fare facilmente: è il caso
di schemi TCM uniformi. L’uniformità è data dalle due condizioni:
1. Le due sotto-costellazioni al primo livello di partizione sono legate da una isometria (cioè
una si può ottenere dall’altra mediante la combinazione di traslazioni, rotazioni e riflessioni).

2. Le etichette binarie di punti che si corrispondono, data questa isometria, differiscono sola-
mente per un bit in una posizione fissa.
Per esempio, vediamo che lo schema TCM definito dal trellis di figura 9.2 e dalla tabella di
etichettamento 9.1 è uniforme. La proprietà di uniformità permette di valutare la minima distanza
euclidea tra le sequenze codificate prendendone una qualsiasi come riferimento in modo analogo a
quanto si fa per i codici lineari.
In questo caso, se indichiamo con Î =1½;}~l?½ l?½  l’etichetta binaria di riferimento (per esempio
. /
(0,0,0)) di un segnale e con \O@Î- il segnale corrispondente, definiamo il “peso euclideo” di un
pattern di errore / come:
:7 9
" Ô ‘z  ¤vÏ ¥§¦ ’u \O@Î-kM\1ÎÁJ/)+u .
dove / è una stringa binaria di lunghezza ² , cioè è esso stesso una delle possibili etichette, e
il minimo è preso su tutte le possibili etichette Î . Finalmente, possiamo calcolare la cosidetta
distanza minima Euclidea al quadrato œ .
7:9 dello schema Áx uniforme mediante la tecnica
z
della funzione di trasferimento (@=H . Etichettando il diagramma degli stati del codificatore binario
secondo la regola:
Se nel diagramma degli stati c’è una transizione con etichette / , l’etichetta simbolica da usare
nel grafo per il calcolo di (@=¬ è semplicemente = 3
ŠÉÐ Ñ4Ò Z a/) . Se ci sono transizioni parallele, ad
ogni fascio di transizioni parallele si sostituisce una sola transizione con etichetta corrispondente
al minimo peso euclideo fra tutti i pesi delle transizioni parallele del fascio.
Nel nostro esempio, il grafo per il calcolo della minima distanza euclidea al quadrato è rappre-
sentato in figura 9.3 e la Å1=H risultante è:

53
©ÔÓ)Õ Ö\×\Ø

11

© Ó)Õ Ö\×\Ø © ÓÕ!ÖÙ×ËØ

© éØ ©ÔÓÕ!ÖÙ×ËØ © éØ
00 01 10 00
1
Figura 9.3: Diagramma degli stati per il calcolo della œ .¹ d0?

Ô Ô
= I?Æ Y ª Ô
(@=H p
5 
= ?
I Æ Y ª '+'+'
!mkCƒ=  Æ Y ª
da cui si ottiene il valore œ : .
d0? ":ü&%&Ë . Poiché esistono transizioni parallele, da œ . 7$9 sarà data
dal minimo fra œ-.
¹
d0? e la minima z
¹ þ
distanza fra segnali delle transizioni parallele, che in questo caso
è Ë . Dunque:
þ œ .¹ d¸? ² ¡5`Qœ :¹ . d0? liœ · . ® d ®sÚÚ  Ú c» Ë
Il guadagno asintotico di codifica (dÁ2 ) rispetto ad una modulazione þ non codificata che ha la
stessa efficienza spettrale a è dato da:

œ z. :7 9 & Ë
d…2X Y!n*g™§½«š }?
œ : . &Ë :
dove ËM: e œ . sono l’energia e la minima distanza Euclidea al quadrato della modulazione non
codificata. Nel nostro caso, se prendiamo come modulazione non codificata il 4-PSK avente la
stessa efficienza spettrale di 2 bit/simbolo, abbiamo

ËÅ&Ë
d…2p Ð!n*g™§½«š ?}  A#&œ1
& þ Ë : &Ë :

9.1 Esercizio sui TCM


Costruire un codice TCM ottenuto concatenando il codificatore binario di rate 1/2 con generatori
(in totale) A} ^ü , A n con la costellazione 16-QAM, usando le regole di Ungerboeck. Il codice
.
deve avere efficienza spettrale # bit/simbolo. Disegnare il trellis e determinare l’etichettamento

54
binario dei segnali. Inoltre, determinare il guadagno asintotico di codifica |dÁ2 del codice
ottenuto rispetto alla modulazione 8-AM-PM non codificata.
Soluzione — Riportiamo nella seguente tabella i dati necessari alla costruzione del trellis
B a¡ë};l?¡ .     ;} l   .   }Ÿ . 
0 00 00 00
1 00 10 11
0 01 00 11
1 01 10 00
0 10 01 01
1 10 11 10
0 11 01 10
1 11 11 01
Lasciamo al lettore completare i seguenti schemi con gli opportuni dati richiesti dal problema
00 00

01 01

10 10

11 11

55
Capitolo 10

Interferenza intersimbolica ed
equalizzazione

Questa esercitazione si riferisce a parte del capitolo 8 del libro di testo consigliato.

10.1 Introduzione
Per trattare in modo semplice l’interferenza intersimbolica assumiamo che il segnale trasmesso sia
un 2-PAM in banda base, dato da
g
e ab ' j  OkMV
b
dove ab prende valori nell’insieme `-k>dl@…dc e dove j   è un impulso avente energia unitaria.
Il segnale viene trasmesso da un canale con risposta all’impulso Û< e rumore gaussiano bianco
additivo   avente densità spettrale di potenza B . Il segnale ricevuto è
g

  a-b ' j  OkCVe¾$Û<
b
Indichiamo con ²   la risposta all’impulso del filtro di ricezione. Dopo tale filtro il segnale è
g g
P ²  e¾› È  ² '¾$Û< e¾ j  kMVK ²  e¾› e a-b '-Ü) kMVKHÝK
Ú b b
dove Ü) ¬ j  Þ¾iÛ< ß¾ ²   è la risposta complessiva della cascata trasmettitore + canale +
ricevitore e dove ÝK è un rumore gaussiano con funzione di autocorrelazione
B ˜
áà   e
' — f ² @â ² @â»k   )œ%â
 ,
f
L’uscita del filtro di ricezione viene campionata al tempo -MMU , dove U è un opportuno istante
di campionamento. Il canale tempo-discreto risultante è
g g
bÆ UÇV a ¶ TÜ UÁÁk‚ÀrVÈJÝK UÁV CÜ~ia-b Ü -a b JãSb
Ú Ú
¶ h¶ T*  ¶ , ¶
56
dove abbiamo definito i campioni Ü~bC RÜTU>YV della risposta all’impulso complessiva del
canale e i campioni di rumore Ý bÆ ÝKUÇV .
Nell’equazione riportata sopra sono evidenziati tre termini che contribuiscono a campione b :
Ú
1. il termine utile Ü;a-b , che porta l’informazione relativa ad a-b .

2. il termine di interferenza intersimbolica (ISI) bV Cä *


¶ Th  Ü ¶ a b , ¶
3. il termine di rumore ÝSb .
·
Definiamo la distorsione di picco = come

· ¤å b ä ¶ hT*  u Ü ¶ u


= ×
u Ü; u d u Ü;u
·
Se = bX! esiste la possibilità che il ricevitore commetta errori anche in assenza di rumore (errori
sistematici). Dunque la condizione necessaria affinchè si possa ottenere una probabilità di errore
· Ñ
tendente a zero aumentando la potenza trasmessa è = ! . In questo caso, un limite superiore
alla probabilità di errore sul simbolo usando un ricevitore a soglia, con soglia di decisione posta in
zero, che prende la decisione su ab sul campione b secondo la regola
Ú
a£ b>  …
 d se bbú*
k d
Æ se
Ú b Ñ *
Ú
è dato da ·
 Ü;idÅŸ!mk°= 
† Ü
ú
Ù ¡çæ Û
dove ¡Èæ . è la varianza di Ý b . Questo limite superiore è di solito molto pessimistico, nel senso
che la probabilità di errore reale può essere molto inferiore. La probabilità di errore esatta si
ottiene mediando la probabilità di errore condizionata dal valore di b su tutti i possibili valori che
assume b . Assumendo che ci siano x campioni Ü non nulli, per Àú ” ° * , siano indipendenti ed

equiprobabili possiamo scrivere
 ! g ;Ü déb
Ü D
› è • ç¡ æ F
]
Tuttavia il calcolo della probabilità di errore espressa dalla formula qui sopra può essere anche
molto oneroso se Ü ha un numero significativo x di campioni non nulli. Per esempio, se ci sono
¶ 8
x Y!+* campioni non nulli occorre sommare  }? Y!+*r termini nell’espressione della .
þ
10.2 Il criterio di Nyquist
Per non avere ISI occorre che Ü~‹ X
° * , mentre Ü ¶ X* per ogni À ° *
X . Imponendo questa condizio-
ne otteniamo la caratterizzazione generale delle forme d’onda Ü)  che non danno ISI. Possiamo
scrivere g
ÜTO'  kCÁkoU CÜ;'  OkìU
bHê ê
57
Applicando la trasformata di Fourier otteniamo
g 
Ü \¬k ú¢Ü~Í costante
b Ù  Û
Dunque lo spettro Üt5\È di Ü)  deve soddisfare la condizione espressa dalla suddetta equazione.
Questa condizione è detta Criterio di Nyquist. Un esempio molto comune di forme d’onda che
rispettano il criterio di nyquist è dato dalla famiglia delle forme d’onda a coseno rialzato (vedere
libro eq. 8.2.22 e 8.2.23 a pagina 553).
Quando il canale non causa distorsione, cioè quando Û< P  , la scelta dei filtri di trasmis-
ê
sione e di ricezione che massimizza il rapporto segnale/rumore al decisore e rispetta il criterio di
Nyquist è la seguente:
Sia ³8 una forma d’onda che rispetta il criterio di Nyquist e sia ?\È la sua trasformata
di Fourier, supposta reale e non negativa. Allora j  è ottenuta come la trasformata di Fou-
rier Ì 5\È e ²  ¬ j Ÿkm (cioè ²   è il filtro adattato a j   . In questo modo, la risposta
complessiva del canale è Ü) e j  j Ÿkm con trasformata di Fourier Üv?\
 5\È .
Nel caso il canale introduca distorsione lineare, occorre compensare gli effetti del canale
mediante un dispositivo detto equalizzatore.

10.3 Equalizzazione
In questo paragrafo trattiamo l’equalizzazione lineare ottenuta mediante l’inserzione di un filtro
trasversale FIR dopo il filtro di ricezione. La funzione dell’equalizzatore è quella di correggere
gli effetti del canale in modo da minimizzare gli effetti dell’ISI e permettere la trasmissione di
dati anche in presenza di un canale distorcente. La figura di un equalizzatore basato su un filtro
trasversale FIR si trova sul libro di testo a pagina 581. Assumiamo che la lunghezza del FIR sia
›¸ o! , con ¸ intero non negativo. I ritardi della linea di ritardo del FIR valgono $: . Il valore di $:
può essere scelto secondo le esigenze di progetto. Due scelte tipiche sono $:) ú (equalizzazione
con spaziamento di simbolo) oppure  : †û!Q)?«ëp , dove ë è la banda (unilatera) del segnale,
per rispettare il teorema del campionamento (equalizzazione con spaziamento frazionario). Per
modulazioni PAM/QAM una scelta molto comune è $:8 E  . I coefficienti del filtro FIR sono
raccolti nel vettore Ît ”@½
™
,%ì l?½ ,%ì ˜ˆ}ln"n";"?½ ì, };l>½ ì  di lunghezza ›¸‚ž! . La risposta all’impulso
dell’equalizzatore è data da
g˜ ì
½& ½ Ú '  k¯í : 
Úh ê
%, ì
La risposta all’impulso complessiva del canale equalizzato è

g˜ ì
A
  ½  e¾ÞÜ)  ½ Ú '9Ü) k¯í  : 
Úh
,%ì
Per progettare il valore dei coefficienti Î ci sono vari criteri. I piú comuni e semplici da trattare
matematicamente sono il criterio di zero-forcing (ZF) e il criterio di minimo errore quadratico
medio (MMSE = Minimum mean square error).

58
Con il criterio ZF, ci si propone di controllare ›¸]Á! valori dei campioni della risposta all’im-
pulso A
 campionata in  . Chiaramente, per minimizzare la distorsione di picco vogliamo che
A
5*r‹ îA& e che A
?-…( y* per tutti i Ç k¢¸ lnk¢¸CY!ln"n";";l>¸ . Imponendo queste condizioni
otteniamo ˜ g ì
A
?V ½ Ú '-Ü)?- k¯í : e E * ! ‚ ^ ^
°
*
*
Úh
,%ì
che si può scrivere come il sistema lineare con ›¸GA! equazioni in ƒ¸ A! incognite
UV
* VV
.. VV
ï Q S . V
ÎÅ SS ! VS
SS ... W
ST
*
ï
dove abbiamo definito la matrice avente elemento ?l0À pari a Ü)?-=kúÀV . Il sistema ha
soluzione (normalmente Ü è invertibile).
UV
* VV
.. VV
S
ï } S . VV Q ï
δð%ñ , SS ! colonna centrale di , }
SS ... W
ST
*
Con il criterio MMSE ci si propone di minimizzare l’errore quadratico medio fra il campione di
uscita dell’equalizzatore al tempo  e la variabile di informazione a-b . L’errore quadratico medio
(MSE = Mean square error) si può scrivere come
UV
’ g˜ ì ’. g˜ ì
g˜ ì ² g˜ ì
xžJËY Ë STQ ’’ ½ Ú ' 5 k0í : koa-b
’’ W Ú
½ ½ z ÁòS‰ k0팈kC ½ ÚÁ
 ò ® ‰óíŒCd .
ڒ h Ú ’’ Ú h Ú h Ú h
’’ ,%ì ’ %, ì z ,%ì ,%ì
dove abbiamo definito le funzioni di autocorrelazione ÁòS‰ŠŒ di 5V e di cross-correlazione Áò ® ‰ÄŒ
di ?V con ab . L’MSE si può scrivere in forma compatta come
Ú
Ú 6õô
xžJËY CÎ ÎÏkC›Î ™ ¬ Cd .
ô
dove abbiamo definito la matrice avente elemento  ² l0À pari a ¢òS‰ ÀÅk ² Œ e il vettore ¬ avente
elemento ² -esimo Áò ® ‰ ² Œ . Minimizzando l’ xžJË rispetto al vettore Î otteniamo la soluzione
ô
Î èLè ª Ô , } ¬
Nella realtà, poiché la risposta all’impulso e/o le caratteristiche statistiche del canale non si
conoscono esattamente e poiché il canale può essere tempo-variante, si usano degli algoritmi adat-
tativi che stimano le soluzioni ottime riportate qui sopra in modo iterativo. Uno di questi algoritmi
(forse il piú usato, per la sua semplicità) è l’algoritmo del gradiente stocastico, detto anche ¸xžJ .

59
10.4 Esempio di calcolo della distorsione di picco con e senza
equalizzatore
Consideriamo il sistema 2-PAM con forma d’onda elementare j  definita da
} k ™ † ͆ ™
j   ö Ó ™ . altrove .
*
e dove le variabili di informazione assumono i valori k>d e »d . Il canale di trasmissione ha
risposta all’impulso Û< e p!›M*)"$ü Oko  e il filtro di ricezione è adattato a j   .
ê
÷ Si determini la distorsione di picco.
÷ Nel caso si inserisca un equalizzatore ZF di lunghezza 3 (con $:) ú ), si determini il nuovo
valore della distorsione di picco e si confronti con il valore precedentemente ottenuto.

Soluzione — Per prima cosa dobbiamo calcolare la risposta all’impulso del canale ÜTG
j  ¾¢Û< ¾ j Ÿ km . Per la proprietà commutativa del prodotto di convoluzione possiamo scrivere
Ü) e ‡ j e¾ j U kƾßÛ<  . Definiamo la funzione triangolare
ø
 j  e¾ j Ÿkm  !mkž* u +uwS kmX† ͆ 
altrove

Allora
ø ø ! ø
Ü)   e¾ßÛ< e  K Oko 

Il campione utile è Ü; PÜ)5*r ü , mentre l’unico campione interferente non nullo è Ü+}L
Ü) V Y!Q . Quindi abbiamo þ
þ u Ü+} u !Q ! ·
=
u Ü;u ü  þ ü
La matrice che definisce il sistema lineare #‚# la cuiþ soluzione è il vettore di coefficienti dell’e-
qualizzatore ZF di lunghezza 3 è
UV UV UV
ï Ü
; ù
 Ü , —
} Ü ,. ü * * ï } ü * *
STQ Ü+} Ü~ Ü , } Wî STQ !Q þ &ü  * W , STQ k þ &ü ü * W
Ü . Ün} Ü~ *þ !+ þ ü Rþ !Qü k þ  ü &ü
þ þ þ þ þ
Una soluzione del sistema
ï
' Î( =|*)l+A ;l* ™
™
con A  costante arbitraria positiva è Î ù5*)lüRlnkB!Q . Si noti che qualsiasi vettore proporzionale
a Î è una soluzione del sistema per qualche valore di A& . Quindi non esiste una unica soluzione,
ma infinite soluzioni tutte proporzionali fra loro, che corrispondono a equalizzatori ZF equivalenti,
nel senso che danno la stessa distorsione di picco in uscita e la stessa probabilità di errore. Con la
soluzione trovata otteniamo
A
  ^üƒÜTOk0Ü) ko…

60
Il campione utile ora è A C A
5*r ü mentre l’unico campione interferente non nullo è
A úAÈ5SV ÐkB!Q . La distorsione di piccoþ risultante è
.
þ
· uÜ . u !+ !
=
u Ü;u  ü& þ  ü
þ
che è molto minore di quella ottenuta senza equalizzatore. Queso indica che l’uso degli equalizza-
tori può infatti migliorare di molto le prestazioni di un sistema di trasmissione numerica su canali
con distorsione lineare.

61
Capitolo 11

Canali con fading e diversità

In questa esercitazione prendiamo in esame semplici esempi di calcolo di prestazioni di modu-


lazioni numeriche su canali affetti da fading non selettivo in frequenza. La teoria necessaria è
contenuta nel capitolo 9, paragrafo 9.6.3 del libro di testo consigliato.

11.1 Prestazioni di modulazione binarie sul canale con fading


di Raylegh
In generale, la probabilità di errore di una modulazione binaria sul canale AWGN si può scrivere
 ± 
come
± yA
5Ë ;B@ . Dove A
Ÿ': è funzione che definisce la dipendenza della dal rapporto
Ë ; e dipende dalle caratteristiche della modulazione e dal metodo di ricezione usato (coerente,
differenziale, non coerente). Se il canale è affetto da una attenuazione casuale a , possiamo scrivere
+û ® ±
&AÈ a . Ë ; @
+û ®
Allora, la probabilità di errore media si ottiene mediando la probabilità di errore condizionata
rispetto ad a
8 ˜ ±
ž—  f A
  . Ë ; B@\ ®  )œr
dove \ ®  indica la densità di probabilità della variabile casuale a . In questo modo, supponendo
a distribuita alla Rayleigh , ovvero
Þ
\ ®  Sëµ ,  B  
otteniamo le seguenti espressioni (vedere le lezioni in videocassetta 19 e 20).
÷ Modulazione antipodale 2-PSK con ricezione coerente
ÿ ±
8 ! !
!mk ± 5 ±
 Ý !› ü
± ± ü þü
dove Ë ;  .
ü
62
÷ Modulazione ortogonale 2-FSK con ricezione coerente
ÿ ±
8 ! !
!mk ± 5 ±
 Ý Æ
 ü 
÷ ü ü
Modulazione 2-PSK con ricezione differenziale
8 !
!
± 5 ±
TU!›  
÷ ü ü
Modulazione 2-FSK ortogonale con ricezione non coerente
 ! !
± 5 ±
Æ
Nel caso di diversità in ricezione, piú segnali contenenti informazione sulla variabile di in-
ü ü
formazione trasmessa vengono combinati insieme (o processati insieme) in modo da ottenere una
stima della variabile di informazione piú affidabile. Esistono molti metodi di combinazione, i prin-
cipali dei quali sono: Maximal-ratio combining (da usarsi con la ricezione coerente), equal gain
combining (da usarsi con la ricezione differenziale), square-law combining (da usarsi con la rice-
zione non coerente), infine, un metodo che si può applicare sempre è il selection combining, dove
il ricevitore sceglie il segnale la cui potenza istantanea è massima e usa solo quella per rivelare
la variabile di informazione. Indichiamo con = l’ordine di diversità, cioè il numero di osserva-
zioni indipendenti disponibili al ricevitore, e riportiamo le seguenti formule asintotiche (valide
±
approssimativamente per ; MÇ .
Sia ü ? ›=Ek +! \ý
u
“ =<ýÃ@=Ek Q! Ùý
allora abbiamo
÷ Modulazione antipodale 2-PSK con ricezione coerente
8 u
5 ±“
 “
÷ þü
Modulazione antipodale 2-FSK con ricezione coerente
8 u
5 ±
? “  “
÷ ü
Modulazione 2-PSK con ricezione differenziale
8 u
5 ±
? “  “
÷ ü
Modulazione 2-FSK ortogonale con ricezione non coerente
 u
5 ±“
“
ü
63
11.2 Calcolo di þ µ per il 2-PSK coerente su canale Rayleigh
Il modello del canale è òa-¬  , dove a è distribuita alla Rayleigh, secondo la distribuzione
±
\ ®   Y µ , ò  BO  ,  assume i due valori 8 Î Ë e  è un rumore gaussiano con varianza & .
Ú Ú Ú
La probabilità di errore condizionata da a vale
±
+û ®  aË
Ü

Ù)Ý B Û
Allora, mediando rispetto ad a abbiamo
˜ ˜ ± Տ ÿ ±
8 ± ® ! ®  ¸
} µ
˜ ÿ !
ž—  f vÜ |a Ì  O'S aµ , œ-a‹ k — f È µ, Ž
I œ-a‹ ! k
Æ ±
 ü¿  Ý !P ü
ü
± ± ü
dove Ë ; e dove abbiamo usato la regola di integrazione per parti per risolvere l’integrale.
ü
11.3 Diversità con selezione
Il modello del canale è identico a quello del problema precedente ma ora il ricevitore ha a disposi-
zione due osservazioni
 r }  aR}Ÿ CK}
. a .  C .
dove aR} e a sono indipendenti e identicamente distribuite secondo la distribuzione di Rayleigh
.
e dove K} e  sono rumori gaussiani indipendenti con varianza  . Il ricevitore seleziona il
. Ò aR} . Il canale equivalente che tiene in conto
segnale } se aR}Gbßa oppure il segnale se a
. . .
anche il ricevitore a selezione può essere scritto come a ®ŸÞ Ï­ , dove a ®ŸÞ A¤å |aR};lia  e
z z × .
dove  è distribuito come K} e  . La probabilità di errore condizionata da a ®UÞ vale
. z
±
8+û ® & Ë
> Ü a z Ÿ® Þ
Ñ Ù Ý   Û
Occorre trovare la distribuzione cumulativa del massimo di due variabili casuali indipendenti.
Dunque, nel nostro caso otteniamo

W ® ò
   W ®   . ‡U!ÆkCµ ,  . B 
Ñ Ú Ú Ú
e quindi
˜ ±
 &Ë
— f Ü
 œU! kCµ , ò   .
Ù Ú Ý B Û
± ±
infine ponendo ^Ë ;  e usando ancora la regola di integrazione per parti otteniamo
ü ˜ ± Õ ÿ ± ±
8 ò  ÿ ò  ò  !
ž—  f È µ , U!ÆkI&µ , Mµ ,. )œ !mkM ±Í ±
ü¿ Ú  Ý ! ü Ý m ü
ü ü

64
11.4 Confronto selection combining e maximal-ratio combining
Supponiamo di osservare due segnali

 r }  aR}Ÿ CK}
. a .  C .


±
dove  può assumere i valori 8(Î Ë , È  } e  . sono rumori gaussiani indipendenti con varianza 
e aR} e a sono variabili casuali indipendenti che possono assumere i valori 0 o 1 con probabilità
.
0.1 e 0.9, rispettivamente.
Nel caso di selection combining il ricevitore decide sul valore di  usando } se a)} bùa ,
oppure se a
Ò aR} . Dunque, come abbiamo già fatto in precedenza, il canale equivalente . è
. .
úa z ®UÞ  M . La probabilità di errore media vale perciò
± ± ±
8 &Ë  Ë &Ë
^*)"Ä*)! 'QÜ *»' Ç*)"ÄZZ…'QÜ ^*)"Ä**rü M*)"$Z&ZÏ'QÜ
Ù Ý  Û ÙTÝ  Û Ù)Ý B Û
dove abbiamo usato il fatto che Üv5*r Ð!Q .
Ora supponiamo di usare un ricevitore che combina i segnali } e secondo la regola C
.
A} r}ÍCA . . , dove i coefficienti Ar} e A . sono scelti in modo da massimizzare il rapporto segna-

le/rumore nel segnale combinato . Vogliamo trovare i coefficienti Ar} e A e calcolare la
.
risultante.
Il segnale combinato si può scrivere come

=õAr}Ÿa)}<¯A . a . 0 ^õAr}ŸK}8°A .  . e dÆ‹M (11.1)

dove d” îA}aR}&A a e dove  è un rumore gaussiano con varianza ¡È„ . a A}. 2A. Ÿ . Il
. . .
rapporto segnale/rumore risultante è
± ±
a .Ë õAr}Ÿa)}8°A . a .  . &Ë
Jîž
Ët‰u Mu . õA }. ¯A .. B
Osserviamo che al numeratore abbiamo il quadrato del prodotto scalare fra il vettore r‚ ßõAr}l+A 
.
e il vettore  ß|aR};lia  , mentre al denominatore abbiamo la norma al quadrato r . Allora usiamo
.
la diseguaglianza di Cauchy-Schwartz, secondo cui, dati due vettori  e “ si ha

u •|l “ –Qu . † «  « . « “ « .
dove l’eguaglianza è ottenuta quando ž N¶ “ , cioè quando i due vettori sono proporzionali fra
loro.
Otteniamo così che il rapporto segnale/rumore è massimizzato dalla scelta rG 2¶  , per ogni ¶
reale non nullo. Per esempio, scegliamo rL  , cioè Ar}P ^aR} e A ^a . In questo modo, il canale
. .
equivalente è dato dalla 11.1 con dß òa .}  a . e dove la varianza di  è ¡ „ .  a .}  a . & .
Mediando otteniamo la probabilità di errore
. .
± ±
8 &Ë Ë
*)"Ä**rümÇ*R"§!+%…'QÜ  *)"$%R! 'QÜ
M
ÙïÝ B Û ÙTÝ þ B Û
65
Si noti che sia nel caso di selection combining che nel caso di maximal-ratio combining le proba-
bilità di errore non sono mai inferiori a ü('T!+* ,/ , perché con probabilità 0.01 non si riceve alcun
segnale e il ricevitore è costretto ad indovinare il valore di  in modo casuale. Tuttavia, il ri-
cevitore con maximal-ratio combining sfrutta meglio i due segnali a disposizione quando sono
entrambi presenti, e ottiene una probabilità di errore che è sempre piú bassa di quella del selection
combining.
Si noti infine che il risultato r‡  per il maximal-ratio combining è un risultato generale
indipendente dalla statistica dei guadagni e può essere esteso a qualsiasi ordine di diversità =îbA .

66
Capitolo 12

Test in preparazione dell’esame scritto

12.1 Problema 1
±
Un sistema di trasmissione numerica impiega la modulazione 4-PSK per trasmettere  !+*
d
kbit/s. La potenza ricevuta all’ingresso del ricevitore Y!" €ë e la densit spettrale del rumore
}0} `
vale BÏ ž…'!+*, W/Hz. Calcolare la probabilità di errore sul bit nei casi:

1. Trasmissione non codificata.

2. Trasmissione con codifica di Hamming (15,11,3) e hard decoding (usare ogni approssima-
zione ragionevole).

12.2 Problema 2
d0?
Disegnare il diagramma degli stati e calcolare la œ ¹ del codice convoluzionale di rate 1/2 con
generatori (5,7) (in ottale).

12.3 Problema 3
Il downlink in un sistema di trasmissione via satellite caratterizzato da:
÷ Distanta fra Tx ed Rx, œ‹ ^#%&*** km.
÷ 6Þ
Guadagno di antenna di trasmissione 2 * dB.
`
÷ dÞ
Guadagno di antenna di ricezione 2 * dB.
÷ 3 9 þ
Frequenza di portante \z 3 GHz.
÷ þ
Modulazione 4-PSK con roll-off ¶‚ ^*R":ü .
÷ ±
Velocità di trasmissione  * Mbit/s.
÷ Assorbimento atmosferico massimo ¸
þ ®6 ^
z ü dB.

67
)å

 å

ré

 é
 §

Figura 12.1: Codificatore TCM di rate 2/3

÷ Temperatura di antenna  ® * K.
`
Il ricevitore composto dalla catena: antenna + amplificatore a basso rumore (LNA) + linea
attenuante + amplificatore di potenza (HPA). Questi componenti hanno le seguenti caratteristiche:

1. LNA: guadagno 2}P ž * dB. Cifra di rumore WX dB.


`
2. Linea: attenzione ¸I A# dB, temperatura fisica K} ž&Z* K.

3. HPA: guadagno 2
. `* dB, cifra di rumore Wž Ð! dB.
`
N
Calcolare la potenza trasmessa dal satellite affinchè la BER, nel caso di trasmissione non
codificata, sia †X!n* , Y .

12.4 Problema 4
Uno schema ¢(x usa la modulazione 8-PAM, rappresentata dai segnali unidimensionali
`-kÁnRlnkVüRlnk>#)lnkB!ln!l#Rl@üRlÙnc e il codificatore binario di rate 2/3 rappresentato in figura 12.1.
1. Fare il set-partioning dell’8-PAM fino ad ottenere 4 sotto-costellazioni di 2 segnali ciascuna.

2. Disporre i segnali sulle transizioni del trellis del codificatore rispettando le tre regole di
Ungerboeck.

68
d
0 1 2 3 4 5 6 7

2d 2d

0 2 4 6 1 3 5 7

4d 4d 4d 4d

0 4 2 6 1 5 3 7

c2c1 00 11 01 10

Figura 12.2: Set partitioning della costellazione 8-PAM

12.5 Soluzione Problema 4


Etichettando i segnali da sinistra verso destra con JK};l@J ln";"n";l@J e seguendo le regole di partizio-
. ®
namento della costellazione otteniamo le quattro sotto-costellazione a livello 2 date in figura 12.2.
Si noti che ad ogni livello la distanza euclidea raddoppia.
Dallo schema del codificatore si ottiene:
{~} 1¡ë};l+¡ .     ;} l   .  @½ . ;½ }
0 00 00 00
1 00 10 11
0 01 00 11
1 01 10 00
0 10 01 10
1 10 11 01
0 11 01 01
1 11 11 10
il cui trellis è rappresentato in figura 12.3 a sinistra.
I bit codificati @½ l>½~} individuano una delle quattro sotto-costellazioni a livello 2, mentre il il
.
bit non codificato ½ { seleziona uno dei due segnali all’interno della sotto-costellazione. Nella
/ .
figura 12.3 a destra le etichette dei rami rappresentano i due segnali delle transizioni parallele che
vengono selezionate con ½ .
/
Infine possiamo riassumere in tabella l’etichettamento di Ungerboek

69
00 0/00 00 00 (0,4) 00
1/11 (2,6)

0/11 (2,6)
01 01 01 01
1/00 (0,4)

0/10 (3,7)
10 10 10 10
1/01 (1,5)

0/01
(1,5)
11 11 11 11
1/10 (3,7)

Figura 12.3: Sezione del trellis

Segnale @½ / ½ . ½;}


J
 000
KJ } 001
J . 011
J / 010
J I 100
J Y 101
J F 111
J ® 110
Notiamo come esso non sia un etichettamento di Gray.
Concludiamo osservando che per questo TCM sono soddisfatte le condizioni di uniformità,
pertanto il calcolo delle prestazioni tramite diagramma a stati risulta semplificato.

70