9. Algoritmos de bit

Download Report

Transcript 9. Algoritmos de bit

Algoritmos de bit-loading
discreto
Comunicaciones de banda ancha
Luca Martino
Eduardo Martínez
Introducción
 Modulación multi-canal
 Adaptación de la energía o info de cada modulación
subcanal en función de las características del canal de
TX
Introducción(II)

Necesidad de subcanales planos y estrechos

Objetivo: Búsqueda de la estrategia óptima en la
“colocación” de la energía en subcanales

Hipótesis: Canal lineal, estacionario, AWGN
Introducción(III)
 Definiciones en canales paralelos:

Bits/dimensión
bn
 Estudio en dimensiones (N canales reales unid), o en canales N

Total núm de bits portados por el sistema
N
b
b
n
n 0

Tasa
N

b
R 
Rn
T n 0
 R es dividido desigualmente entre los subcanales
SNRn   n g n
gn 
Hn
2

SNR

2 bn posibles símbolos (mensajes) a TX en cada subcanal
 n2
Introducción(IV)
 Gap
 Capacidad
 Bits/dimensión
 Gap
cn 
1
log2 (1  SNRn )
2
bn 

SNRn
1
log2 (1 
)
2

2 2c  1
2 2b  1

SNR
2 2b  1
 Gap f (esquema de codificación, Pe)
 Ej. QAM,
Pe  106    8.8dB
Pe  107    9.5dB
Introducción(V)
 A más SNR del subcanal, más info lleva
1
b
2

N
 SNRn
log2 1 


n 1




Margen, dado SNR, b, Pe-esq codgap
m 
2 2bmax  1
2
2b
1

SNR / 
2
2b
1
 Con b definido por la aplicación
 ¿Cuánto puedo bajar o debo subir la SNR sin violar la
restricción de Pe?
Introducción(VI). Ejemplo
 AWGN, SNR=20.5 dB
 Cap canal
c
 Con Pe=10^-6
1
log2 (1  SNR)  3.5bits/ dim
2
b
1
SNR
log2 (1  0.88 )  2bits/ dim
2
10
 Con turbocódigos gano 7dB a esa Pe
b
SNR
1
log2 (1  0.18n )  3bits/ dim
2
10
 Aplicación requiere b  2.5bits/ dim
m 
2 2*3  1
2 2*2.5  1

63
 3dB
31
Ejemplo matlab 1. Canal con igual
energía por dimensión
 Conclusión: Energía por subcanal y
distribución de bits no optimizada
Ej. Algoritmo óptimo de bit-loading:
Water-Filling
 Objetivo:

Sujeto a:
1
max b 
n
2
N x 
  g
log2 1  n n


n 1
N




N

n
n1

Función de coste a maximizar (Lagrange):
1
2 ln(2)


n
  g
ln1  n n



Diferenciando respecto a En
1
2 ln(2)

 
  
 
Resultando:
n 
1
1
 n gn
 


 cte
gn
n



 n  N x 
Algoritmos de bit-Loading
 Rate-Adaptive(RA) loading criterion
1
max b 
n
2
  g
log2 1  n n


n 1
N




 Sujeto a
N x 
N

n
n1
 Margin-Adaptive(MA) loading criterion
min  x 
n
N

n 1
 n  Sujeto a
1
b
2
 g

log 2 1  n n


n 1
N

 Máx margen queda:
 max 
N x




Ejemplo matlab 2. Water filling para
resolución de RA
 Mayor cantidad de bits para la misma restricción de
energía
 Problema: Solución de Water-filling produce bn
fraccionarios, complicando la implementación de cod
y decod.
 Solución: Algortimos subóptimos que restringen a
que bn sea enteroBit loading discreto (de
granularidad finita)
Loading con unidades de información
discretas
 Granularidad de la información (β)


Definición : Mínima cantidad incremental de info
Bits por subcanal
bn  B n 
 Con Bn entero
 Algoritmos de granularidad finita:


Chow. Aproximación del water-filling
Levin-Campello. Marco matemático. Solución
directa (sin water-filling)
Algoritmo de Chow (I)
 Calcula una distribución de bits aproximando
los resultados del waterfilling.
 Se divide en 2 fases:

Chow’s “on/off” Loading Primer

Chow’s RA (o MA) Algorithm
Algoritmo (Chow’s Primer)
Hn
1.
Ordenaren maneradecreciente g n 
2.
btemp ( N  1)  0, i  N
3.
n 
4.
1
 SNR n 
btemp (i )   log2 1 

2



1
5.
Si btemp (i )  btemp (i  1) nos quedamos

2
2
.
btemp(i) = numero total de bits
tentativo, utilizando i-subcanales.
N x
i  N , N  1...1 ; SNR n  g n   n
i
i
Quiero maximizar btemp
con la distribucion correspondientea btemp (i  1) .
Si btemp (i )  btemp (i  1) volvemosal punto3.
Ejemplo: H(z)=1+0.9z-1
 Mis canales están en:
  3
n  0, , , , 
4 2 4
1
2
2
2
1
 Los canales en banda
base y a la f de Nyquist se
modulan PAM, mientras los
demás con una parte real y
una imaginaría (QAM).
Asi´que en total vamos a
tener N=8 subcanales.
H0  1.9
H1  1.7558 H 2  1.3454 H3  0.7392 H 4  0.1
Paso 1 ( Ґ=1,σ2=0.181)
8
 1 (SNR n  g n   n ) :
8
1.9 2
SNR 1  1
0.181
1.75582
SNR 2  SNR 3  1
0.181
1.34542
Como btemp(8)>btemp(9) (=0 por
SNR 4  SNR 5  1
0.181
inicialización), seguimos quitando un
2
0.7392
subcanal!
SNR 6  SNR 7  1
0.181
0.12
SNR 8  1
0.181
8
1
 SNR n 
btemp (8)   log2 1 
  11.8533
 

1 2
i  8  n 
Paso 2
8
(SNR n  g n   n ) :
7
8 1.9 2
SNR 1  
7 0.181
8 1.75582
SNR 2  SNR 3  
Como btemp(7)>btemp(8) seguimos
7 0.181
quitando un subcanal…pero esta vez
8 1.34542
SNR 4  SNR 5  
es QAM!
7 0.181
8 0.73922
SNR 6  SNR 7  
7 0.181
8
1
 SNR n 
btemp (7)   log2 1 
  12.4118
2



1
i  7  n 
Paso 3
8
(SNR n  g n   n ) :
5
8 1.9 2
SNR 1  
5 0.181
8 1.75582
SNR 2  SNR 3  
Como btemp(5)<btemp(7) nos
5 0.181
quedamos con la distribución
2
8 1.3454
anterior (i=7)!
SNR 4  SNR 5  
5 0.181
8
1
 SNR n 
btemp (5)   log2 1 
  11.428
 

1 2
i  5  n 
Resultado Chow Primer
btotales=12.4118
1.54 Bits/dimensión
Como en el
WaterFilling, no
utilizamos el tono a la f
de Nyquist.
Algoritmo de Chow RA
 A la distribución calculada con el Primer, aplicamos:
 bn 
 bn  ~
2 2 Bn  1
Si
    0.5  Bn    ,  n   n  2bn
  
2 1
 
bn
 bn 
 bn  ~
2 2 Bn  1
Si
    0.5  Bn    ,  n   n  2bn
  
2 1
 
bn
 redondea, y ajusta la energia.
Algoritmo de Chow RA (β=1)
 8 1.9 2 
1
  2.28  2
b1  log2 1  
2
 7 0.181
 8 1.75582  1
 8 1.75582 
1
  log2 1  
  4.355  4
b 2  b 3  log2 1  
2
 7 0.181  2
 7 0.181 
 8 1.34542  1
 8 1.34542 
1
  log2 1  
  3.6356  4
b 4  b 5  log2 1  
2
 7 0.181  2
 7 0.181 
 8 0.73922  1
 8 0.73922 
1
  log2 1  
  2.13  2
b 6  b 7  log2 1  
2
7
0
.
181
2
7
0
.
181




Algoritmo de Chow RA (β=1)
8 2 22  1
 1   22.28
 0.7520
7 2
1
16 2 4  1
 2   3   4.355
 1.7614
7 2
1
Potencia necesaria=7.5349<8
(Potencia max)
Podríamos incrementar la
16 2  1
potencia en todos los canales de
 4   5   3.6356
 3.0001
un factor 8/7.5349.
7 2
1
4
16 2 2  1
 6   7   2.1349
 2.0215
7 2
1
Ejemplo matlab 3. Algoritmo de Chow
 Número de bits totales un poco por debajo
del Water-filling
 Ejemplo para distintos canales
Algoritmos óptimos de bit-loading
discreto (I)
 Conceptualmente, cada incremento de
información adicional a transportar en una
trasnmisión multicanal, es colocado en el
subcanal que menos energía requiere para
transportarlo
Algoritmos óptimos de bit-loading
discreto(II). Definiciones
 Vector de distribución de bits:
b  b1b2b3 ...bN 
 Energía incremental:
 n   n (bn )

Cantidad adicional de Energía para enviar una
unidad adicional de información β
en (bn )   n (bn )   n (bn   )
Algoritmos óptimos de bit-loading
discreto(III). Definiciones
 Ej 1.Cálculo de e(n) para QAM y β=1

Desarrollando f(gap):
 n (bn )  2


 bn
2 1
gn
e n (bn )  2e n (bn  1)
 Ej 2. QAM β cualquiera
e n (bn ) 
 bn 1 
2
(2  21  )
gn
Algoritmo de eficiencia de LevinCampello (EF)
 Algortimo de eficiencia de Levin-Campello
(EF)

Concepto: No existen movimientos de un bit
de un subcanal a otro que reduzcan la energía
por símbolo

Matemáticamente:
máx[ en (bn )]  mín[ em (bm   )]
n
m
Algoritmo de eficiencia de LevinCampello (EF)(II)
 Cualquier distrib bitdistrib eficiente
 1.
m  arg{mín[ ei (bi   )]}
1i N


2.
n  arg{máx[ e j (b j )]}
1 j  N
3. Mientras
em (bm   )  en (bn )
 A)
bm  bm  
 B)
bn  bn  
 C)
m  arg{mín[ ei (bi   )]}
 D)
n  arg{máx[ e j (b j )]}
1i N
1 j  N
Algoritmo de eficiencia de LevinCampello (EF) (III)

Distribución no eficiente

Ejemplo
Distribución eficiente
Algoritmo de E-ajuste de LevinCampello (ET)
 Algortimo E-ajuste de Levin-Campello (ET)
 Concepto: No puedo añadir ninguna unidad de
información más sin violar la restricción de energía
total
 Forma de operar: Añade bits en las posiciones que
menor energía consumen (si estoy por debajo del
límite). Quita bits cuando me paso del límite

Matemáticamente:
0  N x 
N

n 1
n (bn )
 mín[ei (bi   )]
1i  N
Algoritmo de E-ajuste de LevinCampello (ET) (II)
N

S
1. Fija

n (bn )
n 1

2. Mientras
( N  x  S  0)or( N  x  S  mín[ ei (bi   )]
1i  N
 Si N  x  S  0
 A) S  S  e (b )
n n
 B) n  arg{máx[ ei (bi )]}
1i N
 C) bn  bn  
 Si no
 A)
m  arg{mín[ ei (bi   )]}
1i N
 B) S  S  e (b   )
m m
 C) bm  bm  
Levin-Campello RA

Seleccionamos b

Hacemos b eficiente (EF)

Ajustamos en energía con ET la distribución
resultante del EF
Ejemplo matlab 4. Levin Campello
Г=8.8 dB
n
0
1
2
3
4
en(1)
1.14
0.891
1.5
5.11
412
en(2)
4.5
1.7
3.0
10.2
1647.6
en(3)
18.3
3.56
6.07
20.4
6590.5
en(4)
73.0252
7.13
12.1
40.8937
26362
en(5)
292.1007
14.2
24.3
81.7874
-----
Referencias
 [1] Cioffi, J.M. Lecture notes for advanced Digital
Communications, Standford, Fall 1997
 [2] Cioffi, J.M. Lecture notes for Digital Communication: Signal
processing, Standford, Fall 1997
 [3] Campello, Jorge. “Optimal Bit loading for multicarrier
modulation systems”.
 [4] Chow, Peter “A practical discrete multitone transceiver
loading algortihm for data dransmission over spectrally shaped
channels”