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 106 8.8dB
Pe 107 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 codgap
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
n1
Función de coste a maximizar (Lagrange):
1
2 ln(2)
n
g
ln1 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
n1
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 enteroBit 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 22 1
1 22.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 bitdistrib eficiente
1.
m arg{mín[ ei (bi )]}
1i 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 )]}
1i 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 )]
1i 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 )]
1i N
Si N x S 0
A) S S e (b )
n n
B) n arg{máx[ ei (bi )]}
1i N
C) bn bn
Si no
A)
m arg{mín[ ei (bi )]}
1i 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”