15.8 Appendici
15.8.1 Potenza di un segnale dati
Al §
376 si è affermato che ad un segnale dati
s(t) = ⎲⎳n a[n]g(t − nT)
(in cui
g(t) è la risposta impulsiva di un filtro a coseno rialzato con roll-off
γ, e
a[n] è una sequenza di v.a. discrete, statisticamente indipendenti, a media nulla ed uniformemente distribuite su L valori in una dinamica
− Δ2 ≤ ai ≤ Δ2) corrisponde una potenza
Svolgiamo qui i passi necessari per arrivare al risultato
(21.31). Al §
7.7.4 si è mostrato che per lo stesso segnale risulta
Ps(f) = σ2A|G(f)|2T, e dunque
Ps = ⌠⌡ Ps(f) df = ⌠⌡ σ2A|G(f)|2T df
Si può mostrare che
e quindi
Ps = σ2A⎛⎝1 − γ4⎞⎠; resta pertanto da calcolare
σ2A = EA{(a − mA)2} = EA{a2}
in virtù della media nulla. I valori che la v.a.
a può assumere corrispondono a quelli dei diversi livelli del segnale dati, esprimibili come
ai = i ⋅ ΔL − 1 − Δ2 (vedi figura), in modo che per
i = 0, 1, ⋯, L − 1 corrispondano ad
L valori uniformemente spaziati entro l’intervallo
⎛⎝− Δ2, Δ2⎞⎠; inoltre, ogni possibile valore
ai ricorre con probabilità
p(ai) = pi = 1⁄L. Possiamo dunque sviluppare i conti:
σ2A = EA{a2i} = ∑L− 1i = 0 pi ⋅ a2i = = 1L ∑L− 1i = 0 ⎛⎝iΔL − 1 − Δ2⎞⎠2 = Δ2L ∑L− 1i = 0⎛⎝i2(L − 1)2 + 14 − iL − 1⎞⎠ = = Δ2L⎛⎝1(L − 1)2 ∑L− 1i = 0 (i)2 + L4 − 1L − 1 ∑L− 1i = 0 i⎞⎠ =
= (vedi nota ) =
= Δ2L⎛⎝L4 − 1L − 1 L(L − 1)2 + 1(L − 1)2(L − 1)L(2(L − 1) + 1)6⎞⎠ = Δ2⎛⎝14 − 12 + 2L − 2 + 16(L − 1)⎞⎠ = = Δ2 6L − 6 − 12L + 12 + 8L − 8 + 424(L − 1) = Δ22L + 224(L − 1) = Δ212 L + 1L − 1
15.8.2 Prestazioni del ricevitore ottimo equalizzato
Mostriamo quanto affermato al §
15.5.1, ovvero che in presenza di un canale non perfetto con risposta in frequenza
H(f) ≠ a e −j2πfτ le prestazioni del ricevitore ottimo
equalizzato al trasmettitore, in cui cioè
HT(f) = √G(f)⁄H(f) e HR(f) = √G(f)
(vedi fig.
15.58-a), subiscono una degradazione del rapporto
Eb⁄N0 (a parità di parametri di sistema, §
15.4.4) valutabile come una perdita di
10 log10 ∫B − BG(f)|H(f)|2df dB.
Per semplificare l’analisi consideriamo una segnalazione binaria antipodale in cui il segnale trasmesso ha espressione
x(t) = ⎲⎳k ak ⋅ hT(t − kTb) con ak = {+ d, − d} equiprobabili
ed
hT(t) = F −1{√G(f)⁄H(f)} è l’impulso a radice di coseno rialzato equalizzato, mentre il segnale in ingresso al decisore è
r(t) + ν(t) = ⎲⎳k ak ⋅ g(t − kTb) + ν(t)
in cui
g(t) è l’impulso a coseno rialzato e
ν(t) è un rumore gaussiano bianco a media nulla, filtrato attraverso
HR(t), dunque con potenza
Pν = ⌠⌡ Pν(f)df = N02 ⌠⌡ |HR(f)|2df = N02 ⌠⌡ G(f)df = N02 = σ2ν
in quanto
∫G(f)df = 1, vedi nota
768 ma considerando qui
G(f)|f = 0 = 1⁄fs = Tb.
In tali condizioni agli istanti di campionamento il decisore osserva una v.a. gaussiana con media
± d (a seconda dell’
ak per quel simbolo) e varianza
σ2ν, e dunque commette errore quando
ν > d o
ν < − d (a seconda di
ak, vedi fig. al §
7.6.1) ovvero con probabilità (vedi eq.
(10.121) e §
7.6.1)
Pe = 12 erfc{d√2σν}, tanto minore quanto maggiore è il rapporto
R = d2⁄2σ2ν: esprimiamo dunque quest’ultimo in funzione della potenza trasmessa
Px = ∫ Px(f)df. Sapendo che
Px(f) = σ2a ⋅ EhT(f)Tb (eq.
(21.2)) dove
σ2a = d2 e
EhT(f) = G(f)⁄|H(f)|2 troviamo che la potenza trasmessa vale
Px = ⌠⌡ Px(f) df = d2Tb B⌠⌡ − BG(f)|H(f)|2 df
da cui otteniamo
d2 = PxTb ∫B − BG(f)|H(f)|2 df, potendo così scrivere
R = d22σ2ν = PxTb2B⌠⌡ − BG(f)|H(f)|2 df ⋅ N0⁄2 = EbN0 1⌠⌡B − BG(f)|H(f)|2 df
In assenza di distorsione lineare si ha
|H(f)| = 1 e dunque il denominatore vale
1, riottenendo il risultato noto
(10.176) per un filtro adattato con segnalazione antipodale. Se invece
|H(f)| non è costante (ovvero
|H(f)| ≤ 1) il denominatore è più grande; pertanto la presenza del canale
H(f) determina la riduzione del rapporto
Eb⁄N0 di un fattore
α = ∫B − BG(f)|H(f)|2 df, ovvero della quantità
αdB (21.25) qualora il rapporto sia espresso in dB.
15.8.2.1 Equalizzazione distribuita
Qualora si realizzi invece
HT(f) = HR(f) = √G(f)⁄H(f)
in modo da ripartire l’equalizzazione in parti uguali ad entrambi i lati del collegamento come mostrato in fig.
15.58-b), la densità di energia dell’impulso usato in trasmissione vale
EhT(f) = G(f)⁄|H(f)| e dunque il segnale trasmesso
x(t) ha una potenza
Px = ⌠⌡ σ2a ⋅ EhT(f)Tb df = d2TbB⌠⌡ − BG(f)|H(f)| df
fornendo così
d2 = PxTb ∫B − BG(f)|H(f)| df, mentre ora la potenza del rumore filtrato attraverso
HR(f) risulta
Pν = ⌠⌡ Pν(f) df = N02 ⌠⌡ |HR(f)|2 df = N02B⌠⌡ − BG(f)|H(f)| df = σ2ν
da cui
R = d22σ2ν = PxTb2B⌠⌡ − BG(f)|H(f)|df ⋅ N02 ⌠⌡G(f)|H(f)|df = EbN0 1|⌠⌡B − BG(f)|H(f)| df|2
che qualora
|H(f)| ≤ 1, determina la riduzione del rapporto
EbN0 per un fattore
β pari a
|∫B − BG(f)|H(f)| df|2 ovvero un suo decremento in dB di
βdB = 20 log10 ∫B − BG(f)|H(f)| df.
Mostriamo infine che
β ≤ α: ricordando infatti la disuguaglianza di Schwartz (pag.
1)
|∞⌠⌡ −∞X(f)Y(f)df|2 ≤ ∞⌠⌡ −∞|X(f)|2df ⋅ ∞⌠⌡ −∞|Y(f)|2df
ed identificando
X(f) con
√G(f) e
Y(f) con
√G(f)⁄|H(f)| troviamo che
||∞⌠⌡ −∞√G(f)√G(f)|H(f)|df||2 = ||∞⌠⌡ −∞G(f)|H(f)|||2 ≤ ∞⌠⌡ −∞G(f)df ⋅ ∞⌠⌡ −∞G(f)|H(f)|2df =∞⌠⌡ −∞G(f)|H(f)|2df
di nuovo in quanto
∫∞−∞G(f)df = 1, e quindi
β = |∞⌠⌡ −∞G(f)|H(f)||2 ≤ ∞⌠⌡ −∞G(f)|H(f)|2df = α
con l’uguaglianza valida qualora
√G(f) = k√G(f)|H(f)|, ovvero quando
|H(f)| = 1⁄k = costante.
A prima vista le migliori prestazioni dell’equalizzazione distribuita rispetto a quella localizzata al trasmettitore appaiono contraddittorie, vista la correlazione dei campioni del rumore e la mancata realizzazione delle condizioni di filtro adattato nel primo caso, in quanto l’impulso che giunge al ricevitore ha densità spettrale
HT(f)H(f) = √G(f)H(f) ≠ HR(f) = √G(f)⁄H(f)
In realtà quest’ultima affermazione non è vera, perché nulla vieta di considerare (vedi fig.
15.58-b)
HR(f) = √G(f) ed inglobare il termine
1⁄√H(f) assieme al canale ed all’altra mezza equalizzazione, per riottenere un filtro adattato. A mio avviso le migliori prestazioni rispetto all’equalizzazione al trasmettitore sembrano essere dovute ad una minore “distorsione totale” subìta dal segnale in transito, in quanto anziché invertire
per intero H(f) per poi subirne la distorsione sempre per intero, nel caso distribuito la massima distorsione in ogni singolo passo è limitata a
√H(f) od al suo inverso. Mentre per quanto riguarda la correlazione dei campioni di rumore al decisore, questo significa solamente che è possibile fare
ancora di meglio, vedi la nota
766 a pag.
1, così come il §
18.4.4.
Un sistema di trasmissione basato sul campionamento e sulla trasmissione numerica è rappresentato in figura
15.59. Il canale riportato all’estremità destra è considerato ideale entro una banda
± B = ±31.5 KHz, purché la potenza al suo ingresso non superi il valore
PMaxy = 1 Volt
2; in tal caso la potenza in uscita risulta
Py’ = 0.01 ⋅ Py. Al segnale ricevuto è sovrapposto un rumore additivo gaussiano bianco stazionario ergodico a media nulla, con spettro di densità di potenza
PN(f) = N02 = 4.61 ⋅ 10 − 14 Volt
2/Hz, e limitato nella banda
± B.
-
1) Se G(f) è a coseno rialzato con γ = .5, determinare la massima frequenza di simbolo fs = 1Ts.
2) Desiderando una Pe = Pce per la sequenza {c’} pari a Pe = 10 − 4, determinare il massimo numero di livelli/simbolo L.
3) Indicare la frequenza binaria fb per la sequenza {b’}.
4) Valutare Pbe per la sequenza {b’} e mostrare che il numero di errori per unità di tempo in {b’} è lo stesso che in {c’}.
5) Mostrare che, adottando una codifica di canale a ripetizione 3:1, la probabilità di errore Pae per la sequenza {a’} risulta pari a circa Pae ≃ 3(Pbe)2.
6) Indicare la frequenza binaria fa per le sequenze {a} ed {a’}.
Supponiamo ora che Pae = 0, e si desideri un SNRQ = Px ⁄ Pz − x = 10000. Nel caso in cui x(t) sia un processo con densità di probabilità p(x) uniforme, ed indicando con W la banda di x(t);
7) Determinare il minimo numero di bit/campione M.
8) Determinare la massima banda W.
9) Se la banda è ridotta a W’ = 12 W, determinare il nuovo valore di SNRQ ottenibile.
Svolgimento
-
1) La banda B occupata dal segnale y vale B = fs2(1 + γ), e quindi deve risultare fs = 2B1 + γ = 2 ⋅ 31.5 ⋅1031.5 = 42 ⋅ 103 = 42.000 baud (baud = simboli/secondo).
2) Osserviamo che in questo caso la (
21.17) non può essere applicata direttamente, in quanto non essendo ancora nota la
fb, non è possibile calcolare il valore di
Eb = Py’fb. Notiamo però che essendo
fb = fs ⋅ log2L, indicando con
y l’argomento dell’
erfc{.}, questo può essere riscritto come
y = √EbN0 3log2L(L2 − 1)(1 + γ)⎛⎝1 − γ4⎞⎠ = √ Py’fs ⋅ log2L1N0 3 ⋅ log2L(L2 − 1)1.31 = √ Py’fs ⋅ N0 ⋅ 2.29L2 − 1
avendo tenuto conto che se
γ = 0.5, allora
(1 + γ)⎛⎝1 − γ4⎞⎠⋍1.31. Inoltre, se
L≫1 (come verificheremo), la (
21.17) può essere approssimata come
Pe ≃ erfc{y}, e dunque per
Pe = 10 − 4 la figura di pag.
1 ci permette di individuare il valore di
y ≃ 2.7, e pertanto
Py’fs ⋅ N0 ⋅ 2.29L2 − 1 = y2 = (2.7)2 = 7.29
e, conoscendo i valori di
fs, Py’ e N0, scriviamo
L2 = 1 + Py’fs ⋅ N0 ⋅ 2.297.29 = 1 + 10 − 242 ⋅ 10 − 3 ⋅ 4.61 ⋅10 − 4 ⋅ 0.31 = 1 + 5.16 ⋅ 106 ⋅0.31 ≃ 1.6 ⋅ 106
e quindi
L = √1.6 ⋅ 106 = 1265 che, essendo un valore massimo, limitiamo a
L = 1024 livelli
3) Dato che ad ogni simbolo di {c} ad L livelli, con frequenza di emissione pari a fs, corrisponde ad un gruppo di Nb = log2L = 10 bit della sequenza {b}, la frequenza fb è di 10 volte fs, e quindi fb = 10 ⋅ fs = 10 ⋅ 42 ⋅103 = 420 Kbps.
4) Grazie all’adozione del codice di Gray, in caso di errore tra livelli contigui per i simboli di {c’}, nella sequenza {b’} solo uno (tra Nb) dei bit associati ad un simbolo è errato; il bit errato è uno qualsiasi del gruppo di Nb, e pertanto la probabilità che un bit specifico sia errato (quando è errato il simbolo di {c’}) è 1Nb. Pertanto Pbe = Pb ⁄ cePce = 1NbPce, in cui Pb ⁄ ce è la probabilità condizionata che un generico bit di {b’} sia sbagliato quando è sbagliato il simbolo di {c’} da cui ha origine.
- Il numero di bit (della sequenza {b’}) errati per unità di tempo è dato da Pbe ⋅ fb; sostituendo: Pbe ⋅ fb = PceNb ⋅ fb = Pce ⋅ fbNb = Pce ⋅ fs, ovvero è numericamente pari ai simboli errati (nella sequenza {c’}) per unità di tempo;
- risulta dunque infine:
- Pbe = PceNb = 10 − 410 = 10 − 5;
-
Pbe ⋅ fb = Pce ⋅ fs = 10 − 5 ⋅ 420 ⋅103 = 10 − 4 ⋅ 42 ⋅103 = 4.2 errorisecondo
5) Ogni bit di
{a’} è sbagliato solo se sono sbagliati 2 o più bit in un gruppo di 3; come mostrato al
§ 15.6.1.1, la probabilità di 2 bit errati su 3 è calcolabile dalla distribuzione di Bernoulli, e vale
⎛ ⎝3 2 ⎞⎠p2e(1 − pe) = 3p2e(1 − pe), a cui va sommata la probabilità di 3 bit errati, pari a
p3e. Pertanto
pae = 3p2e(1 − pe) + p3e = 3p2e − 3p3e + p3e ≃ 3p2e
in cui ovviamente
pe = Pbe, e l’approssimazione è legittima in quanto se
pe = 10 − 5 allora
p2e = 10 − 10 e
p3e = 10 − 15, trascurabili rispetto a
pe. Lo stesso risultato si ottiene osservando che 2 bit errati su 3 hanno probabilità
p2e(1 − pe), e questi possono essere scelti in tre modi diversi (1
o e 2
o, 1
o e 3
o, 2
oe 3
o). In definitiva, risulta
Pae ≃ 3(Pbe)2 = 3 ⋅ 10 − 10.
6) Dato che ad ogni 3 bit di
{b’} corrisponde un solo bit di
{a’}, si ottiene
fa = fb3 = 420 ⋅ 1033 = 140 Kbps, a cui corrisponde
Pae ⋅ fa = 3 ⋅ 10 − 10 ⋅ 140 ⋅103 = 4.2 ⋅ 10 − 5
errorisecondo.
7) Sappiamo che per un processo uniforme l’SNR di quantizzazione risulta approssimativamente SNRq = (L − 1)2, in cui L è il numero di livelli del quantizzatore, a cui corrisponde l’utilizzo di M = log2L bit/campione. Risulta pertanto L = 1 + √SNRq = 1 + √104 = 101 livelli. Per ottenere un numero intero di bit/campione ed un SNRq migliore od uguale a quello desiderato, determiniamo l’intero superiore: M = ⌈log2L⌉ = 7 bit/campione (equivalente a 128 livelli).
8) Come sappiamo, la frequenza di campionamento fc = 1Tc non può essere inferiore a 2W; inoltre, la frequenza binaria fa risulta pari al prodotto dei bit/campione per i campioni a secondo: fa = fc ⋅ M; pertanto fc = faM = 140 ⋅ 1037 = 20 KHz e dunque la W massima risulta WMax = fc2 = 10 KHz.
9) Nel caso in cui
W’ = 12 W, allora si può dimezzare anche la frequenza di campionamento
fc’ = fc2 = 10 KHz, e pertanto utilizzare un
M’ = 2M per ottenere la stessa
fa. Pertanto il nuovo
SNRq risulta
SNRq’ = (L’ − 1)2 = (22M − 1)2 = (214 − 1)2 ≃ 2.68 ⋅ 108
ovvero
SNRq’(dB) = 84.3 dB.
15.8.4 Codifica di carattere
Il codice
ascii (
American Standard Code for Information Interchange) è un codice a 7 bit, e molti codici ad 8 bit (come l’
iso 8859-1) si riducono ad
ascii nella loro metà bassa (con il bit più significativo a zero); i primi 32 codici corrispondono a caratteri
non stampabili, detti codici di controllo, ottenibili su di una tastiera mediante la pressione del tasto
control, e che hanno un significato speciale, come il
carriage return (
cr), il
line feed (
lf),
start of text (
stx),
backspace (
bs),
data link escape (
dle). La tavola
15.2 mostra i 128 caratteri
ascii. La controparte internazionale dell’
ascii è nota come
iso 646; lo standard è stato pubblicato dallo
United States of America Standards Institute (
usasi) nel 1968.
15.8.4.1 Codifica UNICODE
Dal 2004 iso/iec non si occupa più della manutenzione delle codifiche di carattere ad 8 bit, supportando invece attivamente il consorzio Unicode nella definizione dello Universal Character Set, che contiene centinaia di migliaia di caratteri di praticamente tutte le lingue del mondo, ognuno identificato in modo non ambiguo da un nome, e da un numero chiamato Code Point. Mentre per enumerare tutti i caratteri previsti occorre una parola di ben 21 bit, sono state definite codifiche a lunghezza variabile, la più diffusa delle quali prende il nome di utf-8, in base alla quale
- i primi 127 CodePoints, che corrispondono all’alfabeto ascii, sono rappresentati da un singolo byte; pertanto un file ascii è anche un file utf-8 corretto;
- i valori numerici associati ai caratteri dell’insieme iso 8859-1 corrispondono ai CodePoints degli stessi caratteri;
- i primi 1792 CodePoints, mediante i quali sono rappresentati i caratteri usati dalla totalità delle lingue occidentali, sono rappresentati (esclusi gli ascii) mediante due byte;
- i 65536 CodePoints del Piano di Base entro cui ricade la quasi totalità delle assegnazioni fatte finora, sono rappresentati (esclusi i casi precedenti) mediante tre byte;
- i restanti CodePoints sono rappresentati mediante quattro byte.
Table 15.2 Tabella di codici e caratteri ascii