Salta al contenuto
Note per Studenti Ricevitore ottimo - banco di correlatori e filtri adattati

Ricevitore ottimo - banco di correlatori e filtri adattati

In questa pagina 7

La teoria precedente dice che cosa calcolare: le coordinate r=[r1,…,rI]\mathbf r=[r_1,\dots,r_I] del segnale ricevuto (Demodulatore digitale - proiezione del rumore e teorema di irrilevanzaIl demodulatore digitale proietta il segnale ricevuto sulla base ortonormale della segnalazione: $r_i=\langle r,\phi_i\rangle=s_{a_0,i}+w_i$, cioè $\mathbf r=\mathbf s_{a_0}+\mathbf w$. Con rumore bianco gaussiano le componenti $w_i$ sono gaussiane a media nulla, scorrelate e quindi indipendenti, tutte con varianza $\sigma_I^2=N_0/2$: $\mathbf r|{a_0=m}$ è una nuvola gaussiana circolare centrata su $\mathbf s_m$. La parte di rumore fuori dallo spazio dei segnali (le componenti $w{I+1},\dots$) non porta informazione e si butta via: è il teorema di irrilevanza, che vale se le componenti scartate sono indipendenti da quelle usate e dal simbolo trasmesso.Demodulatore digitale - proiezione del rumore e teorema di irrilevanza →) e poi decidere con le regioni (Regioni di decisione - criteri MAP, ML e minima distanzaLe regioni di decisione $\mathcal R_1,\dots,\mathcal R_M$ sono una partizione dello spazio $\mathbb R^I$: se il vettore ricevuto cade in $\mathcal R_m$ si decide $\hat a_0=m$. La probabilità di decisione corretta è $P[C]=\sum_m\int_{\mathcal R_m}D(\boldsymbol\rho;m),d\boldsymbol\rho$ con $D=P_{a_0}(m),p_{\mathbf r|a_0}(\boldsymbol\rho|m)$, ed è massima assegnando ogni $\boldsymbol\rho$ al $m$ che massimizza $D$: criterio MAP. Con simboli equiprobabili è il ML; con in più rumore AWGN diventa la minima distanza (MD), $\hat a_0=\arg\min_m\lVert\boldsymbol\rho-\mathbf s_m\rVert$, con confini che sono gli assi dei segmenti tra i punti. Con probabilità diverse i confini si spostano verso i punti meno probabili.Regioni di decisione - criteri MAP, ML e minima distanza →). Qui si vede come farlo con circuiti realizzabili, per una sequenza di simboli trasmessi ogni TT. Versione per Ing. Elettronica: Ricevitore a correlatori e filtro adattatoIl ricevitore a minima distanza proietta $r(t)$ sulla base, $r_i=\langle r,\phi_i\rangle=\int r\phi_i^dt$, e sceglie il punto $\mathbf s_m$ più vicino. Ogni proiezione è un filtro con risposta impulsiva $g_i(t)=\phi_i^(t_0-t)$ (filtro adattato) campionato in $t_0$, la durata dell'impulso. Alternativa: $\hat m=\arg\max_m\left{\operatorname{Re}\langle r,s_m\rangle-\frac{E_m}2\right}$, con $M$ filtri adattati ai segnali: conviene la prima se $M\gg I$, la seconda se $M\approx I$ (non serve calcolare la base).Ricevitore a correlatori e filtro adattato →; per Ing. delle Telecomunicazioni: Ricevitore a minima distanza e filtro adattatoIl ricevitore a minima distanza ottiene $\mathbf r$ proiettando $r(t)$ sulla base, $r_j=\langle r,\varphi_j\rangle$: ogni proiezione è l'uscita, campionata in $t_0$, di un filtro con risposta impulsiva $\psi_j(t)=\varphi_j^*(t_0-t)$ (il filtro adattato). Poi calcola le distanze e sceglie il minimo (tipo I, $I$ filtri), oppure usa direttamente i segnali con $\hat a_0=\arg\max_j{\operatorname{Re}\langle r,s_j\rangle-\frac{E_j}2}$ (tipo II, $M$ filtri). Il filtro adattato massimizza l'SNR all'istante di campionamento, con valore massimo $\frac{2E}{N_0}$. Per modulazioni binarie basta un solo filtro e un rivelatore a soglia.Ricevitore a minima distanza e filtro adattato →.

Si ipotizzano canale AWGN, assenza di ISI (le forme d'onda durano al più TT) e sincronismo di simbolo noto.

Implementazione I: banco di correlatori

Se il simbolo kk è trasmesso a partire da kTkT, la sua forma d'onda è sak(t−kT)s_{a_k}(t-kT) e le funzioni di base, anch'esse spostate, sono ϕi(t−kT)\phi_i(t-kT). La coordinata ii del simbolo kk è ri[k]=⟨r(t+kT),ϕi(t)⟩=∫−∞+∞r(t) ϕi(t−kT) dt\boxed{r_i[k]=\langle r(t+kT),\phi_i(t)\rangle=\int_{-\infty}^{+\infty}r(t)\,\phi_i(t-kT)\,dt} (il cambio di variabile t→t+kTt\to t+kT riporta il simbolo kk all'origine dei tempi). Se ϕi\phi_i è diversa da zero solo nell'intervallo [ta,tb][t_a,t_b] (durata tb−ta≤Tt_b-t_a\le T), l'integrale si riduce a ∫kT+takT+tb\int_{kT+t_a}^{kT+t_b}. Lo schema è un banco di II rami in parallelo:

            +--> x phi_1(t-kT) --> integratore su [kT+t_a, kT+t_b] --> campionatore --> r_1[k] --+
 r(t) ----->+--> x phi_2(t-kT) --> integratore su [kT+t_a, kT+t_b] --> campionatore --> r_2[k] --+--> DECISIONE --> a^_k
            |        ...                                                                         |   (MAP / ML / MD)
            +--> x phi_I(t-kT) --> integratore su [kT+t_a, kT+t_b] --> campionatore --> r_I[k] --+

Il campionatore preleva l'uscita dell'integratore nell'istante finale kT+tbkT+t_b; il blocco di decisione implementa le regioni di decisione. Per M=2M=2 simboli antipodali e ϕ1\phi_1 rettangolare è semplicemente "somma i campioni del simbolo e confronta con zero".

Il filtro adattato

Ogni ramo si realizza anche con un filtro lineare: il ramo "moltiplica per ϕi(t−kT)\phi_i(t-kT) e integra" è una convoluzione. Si prenda il filtro con risposta impulsiva (la funzione di base ribaltata nel tempo e ritardata di t0t_0)

hi(t)=ϕi(t0−t)filtro adattato a ϕi.\boxed{h_i(t)=\phi_i(t_0-t)}\qquad\text{filtro adattato a }\phi_i.

La sua uscita è yi(t)=∫r(τ) hi(t−τ) dτ=∫r(τ) ϕi(t0−t+τ) dτy_i(t)=\int r(\tau)\,h_i(t-\tau)\,d\tau=\int r(\tau)\,\phi_i(t_0-t+\tau)\,d\tau. Campionandola nell'istante t=t0+kTt=t_0+kT si ottiene yi(t0+kT)=∫r(τ) ϕi(τ−kT) dτ=ri[k],y_i(t_0+kT)=\int r(\tau)\,\phi_i(\tau-kT)\,d\tau=r_i[k], cioè esattamente la coordinata calcolata dal correlatore. Il filtro adattato è quindi un modo alternativo di calcolare lo stesso numero: un filtro seguito da un campionatore ogni TT nell'istante t0+kTt_0+kT.

  • Causalità. hi(t)=ϕi(t0−t)h_i(t)=\phi_i(t_0-t) deve essere nulla per t<0t<0, cioè ϕi(u)=0\phi_i(u)=0 per u>t0u>t_0: serve t0≥tbt_0\ge t_b (fine del supporto di ϕi\phi_i). Si sceglie t0=tbt_0=t_b, il ritardo minimo. Se la base parte da 00 e finisce in TT, hi(t)=ϕi(T−t)h_i(t)=\phi_i(T-t) e il campionamento è in kT+TkT+T.
  • Se ϕi\phi_i è simmetrica rispetto a T2\frac T2 (come un rect centrato in T2\frac T2), il ribaltamento non cambia nulla: ϕi(T−t)=ϕi(t)\phi_i(T-t)=\phi_i(t).

Esempio svolto (impulso triangolare non simmetrico). Una modulazione binaria antipodale con T=23T=\frac23 s usa s1(t)=3 (1−t)2/3=4,5 (1−t)s_1(t)=\frac{3\,(1-t)}{2/3}=4{,}5\,(1-t) V per 13<t<1\frac13<t<1 (parte da 33 V in t=13t=\frac13 e scende linearmente a 00 in t=1t=1), s2=−s1s_2=-s_1.

  • Energia: E=∫1/31(4,5(1−t))2dt=4,52⋅(2/3)33=20,25⋅0,0988=2E=\int_{1/3}^1\left(4{,}5(1-t)\right)^2dt=4{,}5^2\cdot\frac{(2/3)^3}{3}=20{,}25\cdot0{,}0988=2 V2^2s. Base ϕ1=s12=3,18 (1−t)\phi_1=\frac{s_1}{\sqrt2}=3{,}18\,(1-t) sul supporto [13,1][\frac13,1] (energia unitaria); punti s1,2=±2=±1,414\mathbf s_{1,2}=\pm\sqrt2=\pm1{,}414 Vs\sqrt{\text{s}}.

  • Correlatore: r1[k]=∫1/3+kT1+kTr(t) ϕ1(t−kT) dtr_1[k]=\int_{1/3+kT}^{1+kT}r(t)\,\phi_1(t-kT)\,dt.

  • Filtro adattato: il supporto finisce in tb=1t_b=1, quindi t0=1t_0=1 e h1(t)=ϕ1(1−t)=3,18 th_1(t)=\phi_1(1-t)=3{,}18\,t per 0<t<230<t<\frac23 (rampa crescente da 00 a 2,122{,}12), causale; si campiona in 1+kT1+kT.

  • Decisione (MD, equiprobabili): r1[k]>0⇒a^k=1r_1[k]>0\Rightarrow\hat a_k=1, altrimenti a^k=2\hat a_k=2.

  • Prestazioni con σI2=N02=0,25\sigma_I^2=\frac{N_0}2=0{,}25 V2^2s: la coordinata vale ±2+w\pm\sqrt2+w, errore se il rumore ha segno opposto al punto trasmesso e modulo maggiore di 2\sqrt2, P[E]=Q(20,5)=Q(2,83)=2,3⋅10−3P[E]=Q\left(\frac{\sqrt2}{0{,}5}\right)=Q(2{,}83)=2{,}3\cdot10^{-3}; una simulazione con rumore bianco discretizzato, confrontando correlatore e filtro adattato, dà per i due ricevitori campioni identici e una frequenza d'errore di 2,7⋅10−32{,}7\cdot10^{-3} su 30003000 simboli (compatibile con il valore teorico).

Grafico interattivo: La base φ₁(t) (rampa decrescente su [1/3; 1]) e il filtro adattato h(t) = φ₁(1 − t) (rampa crescente su [0; 2/3]): il filtro è la base ribaltata e ritardata di t₀ = 1, causale perché nulla per t < 0

Implementazione II: un filtro adattato per ogni segnale

La minima distanza si può calcolare anche senza passare dalla base. Con r\mathbf r e sm\mathbf s_m nello spazio, ∥r−sm∥2=∑i(ri2+sm,i2−2rism,i)\lVert\mathbf r-\mathbf s_m\rVert^2=\sum_i\left(r_i^2+s_{m,i}^2-2r_is_{m,i}\right) e ∑iri2\sum_ir_i^2 è uguale per tutte le ipotesi, quindi a^=arg⁡min⁡m∑i(sm,i2−2rism,i)=arg⁡min⁡m[Em−2⟨r,sm⟩]=arg⁡max⁡m[⟨r,sm⟩−Em2]\hat a=\arg\min_m\sum_i\left(s_{m,i}^2-2r_is_{m,i}\right)=\arg\min_m\left[E_m-2\langle\mathbf r,\mathbf s_m\rangle\right]=\boxed{\arg\max_m\left[\langle r,s_m\rangle-\frac{E_m}2\right]} dove si è usato ⟨r,sm⟩=⟨r(t),sm(t)⟩\langle\mathbf r,\mathbf s_m\rangle=\langle r(t),s_m(t)\rangle: la parte di rumore fuori dallo spazio dei segnali è ortogonale a sms_m, quindi non contribuisce al prodotto interno. Lo schema ha MM rami: in ciascuno un filtro adattato a sms_m, cioè con risposta sm(T−t)s_m(T-t), campionato in kT+TkT+T, che fornisce ⟨r,sm⟩\langle r,s_m\rangle; si sottrae la costante Em2\frac{E_m}2 e un blocco ARGMAX sceglie il ramo con l'uscita maggiore. Con probabilità diverse il MAP aggiunge σI2ln⁡Pm\sigma_I^2\ln P_m: a^=arg⁡max⁡m[⟨r,sm⟩−Em2+σI2ln⁡Pm]\hat a=\arg\max_m\left[\langle r,s_m\rangle-\frac{E_m}2+\sigma_I^2\ln P_m\right] (si ricava da ln⁡(Pme−∥r−sm∥2/2σI2)\ln\left(P_me^{-\lVert\mathbf r-\mathbf s_m\rVert^2/2\sigma_I^2}\right) eliminando i termini uguali per tutti). Se tutti i segnali hanno la stessa energia, Em2\frac{E_m}2 è uguale in tutti i rami e si omette.

Quale scegliere. Poiché M≥IM\ge I:

Conviene la I se M>IM>I (per esempio una QAM con M=64M=64 e I=2I=2), la II se M=IM=I (per esempio segnali ortogonali tra loro, dove la base coincide con i segnali stessi).

Modulazione binaria: un solo ramo

Se M=2M=2 i punti s1,s2\mathbf s_1,\mathbf s_2 stanno su una retta; ruotando la base si può prendere ϕ1′=s1−s2∥s1−s2∥\phi'_1=\frac{s_1-s_2}{\lVert s_1-s_2\rVert} lungo questa retta. Nella nuova base le due coordinate lungo l'altro asse ϕ2′\phi'_2 sono uguali per i due punti: non aiutano a distinguerli, e per il teorema di irrilevanza si ignorano. Basta allora un solo ramo (un correlatore o un filtro adattato a ϕ1′\phi'_1) e una soglia: con simboli equiprobabili e AWGN r1′=⟨r,ϕ1′⟩ ≷>< s∗=s1,1′+s2,1′2,r'_1=\langle r,\phi'_1\rangle\ \underset{<}{\overset{>}{\gtrless}}\ s^*=\frac{s'_{1,1}+s'_{2,1}}2, il punto medio delle due coordinate. Equivalentemente, dalla formula dell'implementazione II con M=2M=2: si decide s1s_1 se ⟨r,s1−s2⟩>E1−E22\langle r,s_1-s_2\rangle>\frac{E_1-E_2}2.

Esempio. s1s_1 è un dente di sega (da 00 a 11 V in [0,T2][0,\frac T2], salto a −1-1 V e di nuovo a 00 in [T2,T][\frac T2,T], energia E1=T3E_1=\frac T3) e s2=1s_2=1 V in [0,T][0,T] (energia E2=TE_2=T), ortogonali: la decisione ottima è ⟨r,s2−s1⟩≷E2−E12=T3\langle r,s_2-s_1\rangle\gtrless\frac{E_2-E_1}2=\frac T3 (si decide 22 se supera T3\frac T3). Con T=1T=1 ms, la soglia è 3,33⋅10−43{,}33\cdot10^{-4} V2^2s.

Errori comuni

  • Dimenticare il ribaltamento nel filtro adattato: h(t)=ϕ(t0−t)h(t)=\phi(t_0-t) e non ϕ(t)\phi(t) (si vede solo se ϕ\phi non è simmetrica).
  • Scegliere t0t_0 minore della fine del supporto: il filtro non è causale.
  • Campionare ovunque: l'istante giusto è t0+kTt_0+kT (fine del simbolo), non l'inizio.
  • Nell'implementazione II dimenticare di sottrarre Em2\frac{E_m}2 quando i segnali hanno energie diverse.
  • Usare MM rami quando basta uno (binario) o II (quando M≫IM\gg I).

Domande d'esame

  1. Disegnare il ricevitore ottimo più efficiente per una segnalazione (con figura): numero di rami, risposte impulsive e istante di campionamento. Un ramo per ogni funzione di base (II rami): filtro ϕi(t0−t)\phi_i(t_0-t) con t0t_0 la fine del supporto, campionatore in t0+kTt_0+kT, blocco di decisione con le regioni; se M=IM=I si può usare anche MM filtri adattati ai segnali con sottrazione di Em2\frac{E_m}2.
  2. Come si ottiene un correlatore con un filtro? Con il filtro la cui risposta è la base ribaltata e ritardata, ϕi(t0−t)\phi_i(t_0-t), campionato in t0+kTt_0+kT: l'uscita è ∫r(τ)ϕi(τ−kT) dτ\int r(\tau)\phi_i(\tau-kT)\,d\tau.
  3. Un ricevitore binario può usare un solo ramo? Sì: lungo ϕ1′∝s1−s2\phi'_1\propto s_1-s_2 con soglia nel punto medio; la componente ortogonale è la stessa per i due punti.

Esercizi svolti

Versione ripasso

Implementazione I: correlatori (Ricevitore a correlatori e filtro adattatoIl ricevitore a minima distanza proietta $r(t)$ sulla base, $r_i=\langle r,\phi_i\rangle=\int r\phi_i^dt$, e sceglie il punto $\mathbf s_m$ più vicino. Ogni proiezione è un filtro con risposta impulsiva $g_i(t)=\phi_i^(t_0-t)$ (filtro adattato) campionato in $t_0$, la durata dell'impulso. Alternativa: $\hat m=\arg\max_m\left{\operatorname{Re}\langle r,s_m\rangle-\frac{E_m}2\right}$, con $M$ filtri adattati ai segnali: conviene la prima se $M\gg I$, la seconda se $M\approx I$ (non serve calcolare la base).Ricevitore a correlatori e filtro adattato →)

Filtro adattato

  • hi(t)=ϕi(t0−t)\boxed{h_i(t)=\phi_i(t_0-t)}, campionato in t0+kTt_0+kT: yi(t0+kT)=∫r(τ)ϕi(τ−kT)dτ=ri[k]y_i(t_0+kT)=\int r(\tau)\phi_i(\tau-kT)d\tau=r_i[k].
  • Causale se t0≥tbt_0\ge t_b (si prende t0=tbt_0=t_b); con base su [0,T][0,T]: h=ϕi(T−t)h=\phi_i(T-t), campionamento in kT+TkT+T.
  • Se ϕi\phi_i è simmetrica non cambia.
  • Esempio: T=23T=\frac23, s1=4,5(1−t)s_1=4{,}5(1-t) su [13,1][\frac13,1], s2=−s1s_2=-s_1: E=2E=2, ϕ1=3,18(1−t)\phi_1=3{,}18(1-t), punti ±1,414\pm1{,}414; t0=1t_0=1, h1=3,18 th_1=3{,}18\,t su [0,23][0,\frac23]. Con σI2=0,25\sigma_I^2=0{,}25: P[E]=Q(2,83)=2,3⋅10−3P[E]=Q(2{,}83)=2{,}3\cdot10^{-3}.

Implementazione II: filtri sui segnali

  • MD: a^=arg⁡max⁡m[⟨r,sm⟩−Em2]\hat a=\arg\max_m\left[\langle r,s_m\rangle-\frac{E_m}2\right], con ⟨r,sm⟩=⟨r,sm⟩\langle\mathbf r,\mathbf s_m\rangle=\langle r,s_m\rangle (il rumore fuori dallo spazio è ortogonale).
  • MM rami con filtri sm(T−t)s_m(T-t) campionati in kT+TkT+T, sottrazione di Em2\frac{E_m}2, ARGMAX.
  • MAP: si aggiunge σI2ln⁡Pm\sigma_I^2\ln P_m. Con energie uguali Em2\frac{E_m}2 si omette.
  • Poiché M≥IM\ge I: la I conviene se M>IM>I, la II se M=IM=I (segnali ortogonali).

Binario

Passaggi

  • Filtro adattato: yi(t)=∫r(τ)ϕi(t0−t+τ) dτy_i(t)=\int r(\tau)\phi_i(t_0-t+\tau)\,d\tau, che in t=t0+kTt=t_0+kT diventa ∫r(τ)ϕi(τ−kT) dτ=ri[k]\int r(\tau)\phi_i(\tau-kT)\,d\tau=r_i[k] (cambio di variabile).
  • Implementazione II (MD): ∑ri2\sum r_i^2 non dipende da mm; resta arg⁡min⁡m[Em−2⟨r,sm⟩]=arg⁡max⁡m[⟨r,sm⟩−Em2]\arg\min_m[E_m-2\langle\mathbf r,\mathbf s_m\rangle]=\arg\max_m[\langle r,s_m\rangle-\frac{E_m}2].
  • Per M=2M=2: ⟨r,s1⟩−E12>⟨r,s2⟩−E22  ⟺  ⟨r,s1−s2⟩>E1−E22\langle r,s_1\rangle-\frac{E_1}2>\langle r,s_2\rangle-\frac{E_2}2\iff\langle r,s_1-s_2\rangle>\frac{E_1-E_2}2.

Esempi

  • Dente di sega s1s_1 (E1=T3E_1=\frac T3) e rect s2s_2 (E2=TE_2=T) ortogonali: si decide 22 se ⟨r,s2−s1⟩>T3\langle r,s_2-s_1\rangle>\frac T3; con T=1T=1 ms la soglia è 3,33⋅10−43{,}33\cdot10^{-4} V2^2s.
  • Rampa su [13,1][\frac13,1]: energia 4,52⋅(2/3)33=24{,}5^2\cdot\frac{(2/3)^3}3=2 V2^2s, correlatore su [13+kT,1+kT][\frac13+kT,1+kT], filtro 3,18 t3{,}18\,t su [0,23][0,\frac23], campione in 1+kT1+kT; soglia 00 per l'equiprobabilità.
  • Correlatore e filtro adattato danno campioni identici in simulazione; frequenza d'errore 2,7⋅10−32{,}7\cdot10^{-3} su 30003000 simboli contro 2,3⋅10−32{,}3\cdot10^{-3} teorico.

Errori tipici

  • Filtro non ribaltato; t0t_0 prima della fine del supporto; campionamento a inizio simbolo.
  • Dimenticare −Em2-\frac{E_m}2 con energie diverse.
  • Troppi rami quando ne basta uno.

Esercizi su questo argomento

Teoria collegata