Vous êtes sur la page 1sur 12

UNIVERSIDAD DE VALLADOLID

E.T.S. INGENIEROS DE TELECOMUNICACIN

PROCESADO DE SEALES EN
COMUNICACIONES

Prctica 3. Codificacin de Canal


Sesiones 2 y 3. Cdigos de Control de Error

CURSO 2014/2015

Procesado de Seales en Comunicaciones

Curso 2014-2015

NDICE
1. Objetivos ____________________________________ 3
2. Temporizacin _______________________________ 3
3. Cdigos de bloques lineales ____________________ 3
3.1. Generacin de un cdigo de bloque lineal ____________________ 4
3.2. Ganancia de codificacin de un cdigo de bloque lineal _________ 6
3.3. Esquemas de decisin dura y de decisin blanda _______________ 7

4. Cdigos cclicos ______________________________ 9


4.1. Cdigos Reed-Solomon___________________________________ 9

5. Cdigos convolucionales _____________________ 10


6. Evaluacin _________________________________ 12
7. Bibliografa _________________________________ 12

Procesado de Seales en Comunicaciones

Curso 2014-2015

1. Objetivos
Una vez analizados los lmites fundamentales que establecen los teoremas de
Shannon para transmitir informacin, se van a estudiar diferentes formas de
implementar el teorema de codificacin de canal. Para ello se van a dedicar 2 sesiones
de laboratorio de 2 horas cada una. El presente documento recoge los contenidos de
estas sesiones de laboratorio, en las que se van a analizar varios tipos de cdigos de
control de error. Concretamente, se abordarn los cdigos de bloques lineales, los
cdigos cclicos y los cdigos convolucionales. En resumen, los objetivos de las 2
sesiones de laboratorio consistirn en:
(i)

Ser capaz de generar un cdigo de bloque lineal.

(ii) Ilustrar el efecto del uso de la codificacin de canal en la probabilidad de error


de bit de un sistema de comunicacin.
(iii) Estudiar cmo afecta la utilizacin de esquemas de decisin dura y blanda al
rendimiento de los cdigos de bloques lineales.
(iv) Analizar las diferencias entre los cdigos de bloques lineales y los cdigos
cclicos.
(v) Entender qu factores afectan a la probabilidad de error de bit de los cdigos
cclicos y de los cdigos convolucionales.

2. Temporizacin
Las sesiones prcticas se llevarn a cabo en los laboratorios 2L002 y 2L003 los
das 15 y 19 de diciembre de 2014, respectivamente, en las horas de clase (11:0013:00). Se distribuirn de la siguiente forma durante las 4 horas de duracin:
Sesin prctica del 15 de diciembre de 2014 (2 horas)
1.
2.
3.
4.
5.
6.

Presentacin de la sesin prctica (5).


Generacin de un cdigo de bloque lineal (50).
Descanso (10).
Evolucin de la ganancia de codificacin en un cdigo de bloque lineal (25).
Esquemas de decisin dura y blanda (25).
Consideraciones finales (5).

Sesin prctica del 19 de diciembre de 2014 (2 horas)


1.
2.
3.
4.
5.
6.

Presentacin de la sesin prctica (5).


Comparacin entre cdigos de bloques lineales y cdigos cclicos (30).
Evolucin de la probabilidad de error en cdigos cclicos (30).
Descanso (10).
Evolucin de la probabilidad de error en cdigos convolucionales (35).
Consideraciones finales (10).

3. Cdigos de bloques lineales


El reto a la hora de disear un sistema de comunicaciones digital consiste en
conseguir un sistema coste-efectivo para transmitir informacin desde una fuente de

Procesado de Seales en Comunicaciones

Curso 2014-2015

informacin hasta el usuario final, con una tasa y unos niveles de fiabilidad y calidad
que sean aceptables. Los dos parmetros fundamentales del sistema son la potencia de
seal transmitida y el ancho de banda del canal. Ambos, junto con la densidad espectral
de potencia de ruido del receptor, determinan el ratio Eb/No. Tpicamente, este ratio
determina a su vez la probabilidad de error de bit para un esquema de modulacin
particular. Diversas consideraciones prcticas suelen limitar los valores que se pueden
asignar a Eb/No. De esta manera, es frecuente que sea necesario utilizar un esquema de
modulacin concreto que no es capaz de proporcionar un nivel de calidad aceptable
(i.e., un nivel de error suficientemente pequeo). Para un valor fijo de Eb/No, la nica
opcin prctica disponible para incrementar la calidad de la transmisin consiste
entonces en el uso de cdigos de control de error.
Asimismo, otra motivacin prctica para el uso de codificacin de canal consiste en
reducir el valor requerido de Eb/No para una tasa de error de bit fija. Esta reduccin de
Eb/No puede a su vez ser utilizada para disminuir la potencia de transmisin o los costes
de hardware asociados.
Existen diferentes opciones para garantizar la integridad de los datos mediante
tcnicas de control de error. Una de las ms frecuentes es el mtodo denominado
forward error correction (FEC). En este caso, la fuente binaria genera informacin en
forma de smbolos binarios. El codificador de canal en el transmisor utiliza los bits del
mensaje y aade redundancia, segn una regla prescrita. De esta manera, se generan
datos codificados a una tasa del bit ms alta. En el receptor, el decodificador de canal
aprovecha la redundancia para decidir qu bits del mensaje se han transmitido
realmente. En definitiva, el objetivo combinado del codificador y del decodificador de
canal consiste en minimizar el efecto del ruido del canal o, equivalentemente, minimizar
el nmero de errores entre la entrada al codificador de canal y la salida del
decodificador de canal.
Para un esquema de modulacin dado, la inclusin de redundancia en los mensajes
codificados implica la necesidad de incrementar el ancho de banda de transmisin.
Adems, el uso de codificacin de control de error aade complejidad al sistema,
especialmente al implementar las operaciones del decodificador. Por lo tanto, los
compromisos de diseo al utilizar codificacin de control de error para conseguir un
rendimiento aceptable, en trminos de probabilidad de error, incluyen consideraciones
sobre ancho de banda y complejidad del sistema.

3.1. Generacin de un cdigo de bloque lineal


Existen muchos cdigos de control de error diferentes. Histricamente, estos
cdigos se han clasificado en dos tipos: cdigos de bloques y cdigos convolucionales.
La diferencia fundamental entre ambos radica en la presencia o ausencia de memoria en
el codificador. En este primer apartado, nos vamos a centrar en los cdigos de bloques
lineales, que se caracterizan porque cualquier combinacin lineal de dos palabras cdigo
es a su vez una palabra cdigo. Para generar un cdigo de bloque lineal (n, k), el
codificador de canal acepta informacin en bloques consecutivos de k-bits; para cada
bloque, se aaden n k bits redundantes (o bits de paridad), que estn relacionados
algebraicamente con los k bits del mensaje. De esta manera, se genera un bloque
codificado de n bits, donde n > k. Cada bloque de n-bits se denomina palabra cdigo y
n es la longitud de bloque del cdigo. El codificador de canal genera bits a una tasa
R0 = ( n k ) RS , donde RS es la tasa de bit de la fuente de informacin. El ratio
adimensional r = k/n se denomina tasa del cdigo, y cumple que 0 < r < 1. La tasa de

Procesado de Seales en Comunicaciones

Curso 2014-2015

bit R0, que se obtiene a la salida del codificador, se denomina tasa de datos del canal.
Los cdigos de bloques, en los que los bits del mensaje se transmiten sin ser
modificados, se denominan cdigos sistemticos. Para aplicaciones que requieren
simultneamente deteccin y correccin de errores, el uso de cdigos sistemticos
simplifica la implementacin del decodificador.
Vamos a denotar como m, al vector del mensaje o de informacin (tamao 1 x k),
b, al vector de paridad (tamao 1 x (n k)), y c al vector de cdigo (tamao 1 x n). De
esta manera, tendremos,
c = [ b!m],

(1)

b = mP,

(2)

donde P es la matriz de coeficientes que se usa para generar el vector de bits de paridad.
Con lo que se puede expresar c como,
c = m [ P!I k ] = mG,

(3)

donde Ik es la matriz identidad k x k y G es la matriz generadora k x n. El conjunto


completo de palabras cdigo, o simplemente el cdigo, se genera de acuerdo a la
ecuacin (3), permitiendo que el vector del mensaje m pueda tomar cualquiera de los 2k
posibles vectores 1 x k.
La matriz G y el mensaje m definen el funcionamiento del codificador de canal. En
el caso del decodificador, es necesario determinar la matriz de verificacin de paridad
del cdigo H, que se define como,
H = "#I n!k !P T $%.

(4)

Esta matriz cumple que HGT = 0, donde 0 es una matriz nula (n k) x k. A partir de esta
propiedad se puede demostrar que,
(5)

cHT = 0.

Hay que tener en cuenta que al atravesar un canal ruido, el vector c puede ser
alterado. Podemos entonces expresar el vector recibido 1 x n como,
(6)

r = c+e,

donde e denota al vector de error o patrn de error. El elemento i-simo de e es 0 si el


elemento correspondiente de r es el mismo que el de c. Por el contrario, el elemento isimo de e es 1 si el elemento correspondiente de r difiere del de c, en cuyo caso se
habra producido un error en la posicin i-sima.
El receptor tiene la tarea de decodificar el vector de cdigo c a partir del vector
recibido r. Para ello, se calcula previamente el vector sndrome s, de tamao 1 x (n k).
s = rHT = ( c + e) HT = eHT .

(7)

A partir de la ecuacin (7) se puede inferir que el sndrome nicamente depende del
patrn de error. Adems, se puede demostrar que,
(8)

c = r+e.

Como consideracin final, conviene mencionar que la capacidad de correccin de


errores de un cdigo est relacionada con un parmetro denominado distancia mnima,
dmin. En el caso de los cdigos de bloques lineales, dmin se define como la mnima
distancia de Hamming entre cualesquiera palabras cdigo del cdigo. Asimismo, para
5

Procesado de Seales en Comunicaciones

Curso 2014-2015

un cdigo de bloque lineal, la distancia mnima tambin se puede calcular como el


menor peso de Hamming de los vectores cdigo del cdigo. Para ilustrar su importancia,
vamos a suponer que tenemos un cdigo de bloque lineal (n, k), que se transmite a
travs de una canal binario simtrico y cuyos pesos de Hamming son menores o iguales
que t. En ese caso, el decodificador ser capaz de detectar y corregir todos los patrones
de error con un peso de Hamming w ( e) ! t , si y slo si,
d ( ci , c j ) ! 2t +1,

para todo ci y c j .

(9)

Por definicin, la menor distancia entre cualquier par de vectores cdigo en un cdigo
es la distancia mnima, dmin. Por lo tanto, se puede inferir que un cdigo de bloque lineal
(n, k) de distancia mnima dmin puede corregir hasta t errores, si y slo si,

t ! #$ 12 ( dmin "1)%& ,

(10)

donde !"#$ denota el menor entero ms cercano. La ecuacin (10) cuantifica la capacidad
de correccin de errores de un cdigo de bloque lineal.

Vamos a ilustrar el funcionamiento de un cdigo de bloque lineal a partir de las


ideas anteriores. Para ello, genere un cdigo de repeticin (3, 1), como el indicado
en el Apartado 5.2 del guin de la primera sesin de laboratorio de la Prctica 3.
Determine: (i) el conjunto de mensajes que se pueden transmitir, m; (ii) la matriz
generadora de cdigo, G; (iii) todas las posibles palabras cdigo, c; (iv) la
distancia mnima del cdigo, dmin; y (v) la capacidad de correccin de errores, t.
Implemente en una funcin de Matlab el codificador que genere el cdigo de
repeticin (3, 1), con argumentos de entrada y salida:
c = repetition_encod(m,G)

A continuacin, vamos a analizar el funcionamiento del decodificador.


Determine: (i) la matriz de verificacin de paridad, H; y (ii) la tabla de
correspondencia sndrome-patrones de error. Asimismo, compruebe que se
cumple que HGT = 0. Implemente en una funcin de Matlab el decodificador para
el cdigo de repeticin (3, 1), con argumentos de entrada y salida:
[m_decod,c_decod,error] = repetition_decod(r)
donde r es la palabra cdigo recibida, m_decod es el mensaje decodificado,
c_corrected es la palabra cdigo decodificada y error es el patrn de error.

Finalmente, compruebe cules son los vectores decodificados cuando se reciben:


[0 0 0], [1 1 1], [1 0 0], [0 1 0], [0 0 1], [1 1 0], [1 0 1] y [0 1 1].

3.2. Ganancia de codificacin de un cdigo de bloque lineal


Una manera de evaluar la mejora que se produce en la capacidad de combatir los
errores en un sistema de comunicacin, gracias a la introduccin de un esquema de
codificacin de canal, es la denominada ganancia de codificacin. Para calcularla,
tpicamente se parte de la probabilidad de error calculada como funcin de Eb/N0 para
un sistema de modulacin, como por ejemplo BPSK, sin codificar. La curva obtenida se
compara con la que se obtiene para un esquema de modulacin similar, pero en el que
se ha introducido algn tipo de codificacin de canal. De esta manera, se puede analizar

Procesado de Seales en Comunicaciones

Curso 2014-2015

cul es la mejora que se produce para eliminar los errores en la transmisin, debida a la
introduccin de un esquema de codificacin.

Represente en una misma figura la probabilidad de error de bit como funcin de


Eb/N0, donde Eb es la energa en cada smbolo y N0/2 es la densidad espectral de
potencia, para: (i) un sistema BPSK sin codificacin de canal y con un esquema
de demodulacin basado en decisin dura, en el que se introduce ruido aditivo,
blanco, gaussiano (AWGN); y (ii) un sistema BPSK con un cdigo de bloque
lineal (10, 5) y con un esquema de demodulacin basado en decisin dura, en el
que se introduce ruido AWGN. Tenga en cuenta que, en BPSK con ruido AWGN,
la probabilidad de error viene dada por ,
" 2E % 1
" E %
b
p = Q$$
'' = erfc $$ b '' .
# N0 & 2
# N0 &

(11)

En el caso de aadir un cdigo de bloque lineal, la probabilidad de error est


acotada por,
n
!
#n &
1
n)i
pe " * (i + t )% ( p i (1 ) p) ,
(12)
n

i =t +1

$i '

donde d min " n # k + 1 y t " $ 12 ( d min #1)% . Asimismo, tenga en cuenta que en este caso
el argumento de la ecuacin (11) tiene que incluir la tasa de cdigo. Es decir que
! que ser sustituido por rE /N . Asuma que E /N vara entre 4 dB y 14
Eb/N0 tiene
b 0
b 0
dB
y
visualice
la
probabilidad
de
error
de
bit
en
el
intervalo [108 100]. Para
!
!
generar la figura puede utilizar el comando semilogy. Analice los resultados.
Cul es la ganancia de codificacin que se obtiene para una probabilidad de error
de 108?

3.3. Esquemas de decisin dura y de decisin blanda


Retomando el modelo de canal binario simtrico, abordado en el Apartado 5.2 de la
primera sesin de laboratorio de la Prctica 3, habamos comentado que ste es el canal
discreto sin memoria ms simple, resultado de utilizar smbolos de entrada y salida
binarios. Cuando se utiliza codificacin binaria, el modulador slo tiene como entradas
los smbolos binarios 0 y 1. Asimismo, el decodificador tiene slo entradas binarias si
se utiliza cuantificacin binaria a la salida del demodulador. En ese caso, se estara
utilizando un esquema de decisin dura (o hard decision) a la salida del demodulador
para decidir qu smbolo se ha transmitido. En esta situacin, se comprob que el canal
binario simtrico se poda describir sin ambigedad en trminos de su diagrama de
probabilidades de transicin. Adems, en caso de que el ruido del canal se pudiera
modelar como ruido AWGN, estara completamente descrito por la probabilidad de
transicin p. La mayora de los sistemas de comunicacin digital codificados emplean
codificacin binaria con decisin dura, debido a la simplicidad en su implementacin.
En este sentido, los decodificadores basados en decisin dura, o decodificadores
algebraicos, permiten simplificar significativamente el decodificador.
Sin embargo, el uso de esquemas de decisin dura, antes de realizar la
decodificacin, provoca una prdida irreversible de informacin en el receptor. Para
reducir esta prdida, se pueden utilizar esquemas de codificacin basados en decisin
blanda (o soft decision). Esto se consigue introduciendo un cuantificador multinivel a la
salida del demodulador. De esta forma, el modulador tiene como entradas nicamente
los smbolos binarios 0 o 1; sin embargo, la salida del demodulador tiene ahora un
7

Procesado de Seales en Comunicaciones

Curso 2014-2015

alfabeto de Q smbolos. El rendimiento del decodificador depende de la localizacin de


los niveles de representacin del cuantificador que, a su vez, depende del nivel de seal
y de la varianza de ruido. La utilizacin de esquemas de decisin blanda complica la
implementacin del decodificador. Sin embargo, la decodificacin basada en decisin
blanda permite una mejora significativa en el rendimiento del decodificador, en relacin
a la basada en decisin dura, gracias a la utilizacin de un modelo probabilstico, en
lugar de uno algebraico. Es por ello, que los decodificadores basados en decisin blanda
tambin se denominan decodificadores probabilsticos.
Los esquemas de decisin anteriores pueden usarse en combincacin con los
diferentes cdigos de bloques lineales. Tal es el caso de los cdigos de Hamming.
Concretamente, un cdigo de Hamming (n, k) es un cdigo de bloque lineal, con los
siguientes parmetros
n = 2m 1 bits
k = 2m m 1 bits
n k = m bits

Longitud de bloque:
Nmero de bits del mensaje:
Nmero de bits de paridad:
donde m 3.

Los cdigos de Hamming se caracterizan porque su distancia mnima es dmin = 3,


independientemente del nmero de bits de paridad utilizados m. Asimismo, una
propiedad importante de los cdigos de Hamming es que satisfacen la condicin de la
ecuacin (10) con el signo igual, asumiendo que t = 1. Esto implica que los cdigos de
Hamming son capaces de corregir sin ambigedad cualquier patrn de error que afecte a
un bit del mensaje.

Represente en una misma figura la probabilidad de error de bit como funcin de


Eb/N0. Para ello, considere un sistema con sealizacin antipodal, codificacin de
Hamming (15, 11), que atraviesa un canal que introduce ruido AWGN, y que
utiliza un esquema de decodificacin basado en: (i) decisin dura; y (ii) decisin
blanda. Tenga en cuenta que la probabilidad de error de bit para un sistema con
sealizacin antipodal viene dada por,
" 2R E
c b
p = Q$$
# N0

%
'' ,
&

(13)

donde Rc = k / n es la tasa de cdigo. Asimismo, la probabilidad de error de bit


para un cdigo de Hamming con decodificacin basada en decisin dura est
limitada por !
pb " ( 2 k # 1)[ 4 p(1 # p)]

dmin 2

(14)

Por otro lado, en el caso de utilizar decodificacin basada en decisin blanda, la


probabilidad de error est limitada por
!

$ 2d R E
min c b
pb " ( 2 k #1)Q&&
N0
%

'
)) .
(

(15)

Asuma que Eb/N0 vara entre 7 dB y 13 dB y visualice la probabilidad de error de


bit en el intervalo [1018 102]. Para calcular la probabilidad de error del sistema sin
codificacin,
! con un canal ruidoso AWGN, puede resultarle til el comando
berawgn. Para generar la figura puede utilizar el comando semilogy. Analice
los resultados.

Procesado de Seales en Comunicaciones

Curso 2014-2015

4. Cdigos cclicos
Los cdigos cclicos forman una subclase de los cdigos de bloques lineales. De
hecho, muchos de los cdigos de bloques lineales ms importantes, hasta el momento,
son cdigos cclicos o estn relacionados estrechamente con ellos. Una ventaja de los
cdigos cclicos sobre una gran parte de otros tipos de cdigos es que permiten realizar
una codificacin relativamente sencilla. Adems, los cdigos cclicos poseen una
estructura matemtica bien definida, que ha permitido el desarrollo de esquemas de
decodificacin muy eficientes. Concretamente, un cdigo binario es un cdigo cclico si
cumple dos propiedades fundamentales:
1. Propiedad de linealidad: la suma de dos palabras cdigo da como resultado
otra palabra cdigo.
2. Propiedad cclica: cualquier desplazamiento cclico de una palabra cdigo
es tambin una palabra cdigo.

4.1. Cdigos Reed-Solomon


Como se ha visto en la parte terica de la asignatura, los cdigos Reed-Solomon son
una subclase de los cdigos cclicos no binarios BCH. Tpicamente se denotan como
cdigos RS. El codificador para un cdigo RS difiere de un codificador binario en que
trabaja con varios bits, en lugar de con bits individuales. Concretamente, un cdigo RS
(n, k) se utiliza para codificar smbolos de m-bits en bloques formados por n = 2m 1
smbolos, es decir por m(2m 1) bits, con m 1. De esta manera, el algoritmo de
codificacin expande un bloque de k smbolos en n smbolos, aadiendo n k smbolos
redundantes. Cuando m es un entero, potencia de dos, los smbolos de m-bits se
denominan bytes.
Un cdigo RS capaz de corregir t errores tendra las siguientes caractersticas:

Longitud de bloque:
Tamao del mensaje:
Tamao de verificacin de paridad:
Distancia mnima:

n = 2m 1 smbolos
k smbolos
n k = 2t smbolos
dmin = 2t 1 smbolos

Como se puede apreciar de los valores anteriores, los cdigos RS hacen un uso muy
eficiente de la redundancia. Asimismo, las longitudes de bloque y los tamaos de
smbolo se pueden ajustar fcilmente para acomodarlos a una amplio rango de tamaos
de mensaje. Relacionado con esta idea, los cdigos RS proporcionan una gran variedad
de tasas de cdigo que pueden utilizarse para optimizar el rendimiento. Finalmente,
conviene mencionar que existen diversas tcnicas de decodificacin de cdigos RS muy
eficientes, lo cual ha generalizado su uso.

En primer lugar, vamos a comparar las prestaciones de un cdigo de bloque lineal


y un cdigo cclico. Concretamente, represente en una misma figura la
probabilidad de error como funcin de Eb/N0, para un sistema de comunicaciones
con modulacin BPSK, que atraviesa un canal que introduce ruido AWGN, que
implemente un esquema de demodulacin basado en decodificacin dura y que:
(i) no utiliza ningn cdigo de canal; (ii) utiliza un cdigo de Hamming (15, 11);
y (iii) utiliza un cdigo RS (15, 11). Asuma que Eb/N0 vara entre 4 dB y 14 dB.
Para calcular la probabilidad de error del sistema sin codificacin, con un canal
ruidoso AWGN, puede resultarle til el comando berawgn. En el caso de los
9

Procesado de Seales en Comunicaciones

Curso 2014-2015

sistemas que introducen codificacin de Hamming y RS, utilice el comando


bercoding. Para generar la figura puede utilizar el comando semilogy.
Analice los resultados.

Represente la evolucin de la probabilidad de error para diferentes cdigos RS


frente a Eb/N0, como funcin de la tasa de cdigo Rc = k / n. Concretamente, para
los cdigos: RS(255, 239), RS(255, 223), RS(207, 187), RS(127, 107), RS(63,
53), RS(32, 28). Tenga en cuenta que la probabilidad de error para un sistema
BPSK con codificacin RS y decodificacin basada en decisin dura est acotada
por
pb "

n
#n &
1 1
i
n)i
i % ( ( ps ) (1) ps ) ,
i
m n i =t +1 $ '

(16)

donde ps es la probabilidad de error de smbolo, que viene dada por


m

ps " 1# (1# p) ,

(17)

Para generar la figura puede utilizar el comando semilogy. Analice los


resultados.
!

5. Cdigos convolucionales

En codificacin de bloques, el codificador acepta un bloque de mensaje de k-bits y


genera una palabra cdigo de n-bits. De esta forma, las palabras cdigo se generan
bloque a bloque. Este hecho implica que el codificador deba reservar suficiente espacio
en un buffer para almacenar el bloque completo de mensaje antes de generar la palabra
cdigo asociada. Sin embargo, en ciertas aplicaciones, en las que los bits del mensaje se
generan en serie en lugar de en grandes bloques, el uso de buffers de almacenamiento
puede no ser aceptable. En esas situaciones, el mtodo de codificacin que se suele
utilizar es la denominada codificacin convolucional. Un codificador convolucional
genera bits redundantes mediante convoluciones en mdulo-2, de ah el nombre.
En un cdigo convolucional, la operacin de codificacin se puede ver como una
convolucin en tiempo discreto entre la secuencia de entrada y la respuesta al impulso
del codificador. La duracin de la respuesta al impulso coincide con la memoria del
codificador. De esta manera, el codificador para un cdigo convolucional opera sobre la
secuencia del mensaje de entrada, utilizando una ventana deslizante cuya duracin
coincide con su propia memoria. Esto implica por tanto que en un cdigo
convolucional, a diferencia de lo que ocurre en un cdigo de bloque, el codificador de
canal acepta bits del mensaje como una secuencia continua y genera a su vez una
secuencia continua de bits codificados a una tasa mayor.
El codificador de un cdigo binario convolucional de tasa 1 / n, medida en bits por
smbolo, se puede ver como un mquina de estados finitos, que consiste en un registro
de desplazamiento de M-etapas, con una serie de conexiones a n sumadores mdulo-2 y
un multiplexor que serializa las salidas de los sumadores. Una secuencia de mensaje de
L-bits produce una secuencia de salida codificada de longitud n(L+M) bits. La tasa de
cdigo viene dada por
r=

L
bits por smbolo .
n( L + M )

(18)

Tpicamente, se cumple que L >> M. Por lo tanto, la tasa se cdigo se simplifica


como
!

10

Procesado de Seales en Comunicaciones


r"

Curso 2014-2015

1
bits por smbolo .
n

(19)

La longitud de restriccin de un cdigo convolucional, expresada en trminos de


bits del mensaje, se define como el nmero de desplazamientos a lo largo de los cuales
un bit individual! del mensaje puede influir en la salida del codificador. En un
codificador con un registro de desplazamiento de M-etapas, la memoria del codificador
es igual a los M bits del mensaje, y se requieren K = M + 1 desplazamientos para que un
bit del mensaje entre en el registro de desplazamiento y finalmente salga. Por tanto, la
longitud de restriccin del codificador es K.
Un parmetro fundamental a la hora de delimitar la capacidad de un cdigo
convolucional para combatir el ruido del canal es la denominada distancia libre, dfree.
La distancia libre de un cdigo convolucional se define como la distancia de Hamming
mnima entre dos palabras cdigo cualesquiera del cdigo. Un cdigo convolucional
con distancia libre dfree puede corregir t errores si y slo si dfree > 2t.

Represente en una misma figura la evolucin de la probabilidad de error frente a


Eb/N0, para diferentes cdigos convolucionales con distintos valores de K y una
tasa de cdigo Rc = 1/2. Suponga que el esquema de modulacin es BPSK y que el
canal de comunicacin es AWGN. Concretamente, simule los valores de K y los
polinomios generadores indicados en la Tabla 1, para esquemas de decodificacin
basados en decisin dura y en decisin blanda. Asimismo, incluya en la figura la
evolucin de la probabilidad de error frente a Eb/N0 para el sistema anterior, pero
sin incluir ningn esquema de codificacin. Asuma que Eb/N0 vara entre 0 dB y
14 dB. Para generar la probabilidad de error de los cdigos convolucionales puede
resultarle til los comandos poly2trellis, distspec y bercoding. Para
ello, utilice las siguientes lneas de cdigo:
% Conversin binario-octal de los polinomios generadores
% G1 = 110101 y G2 = 111011
CodeGenerator = [str2num(dec2base(bin2dec('110101'),8)) ...
str2num(dec2base(bin2dec('111011'),8))];
% Conversin de los polinomios del cdigo convolucional a una
% descripcin de trellis. K es la restriccin de longitud
trellis = poly2trellis(K,CodeGenerator);
% Clculo del espectro de distancias del cdigo
spect = distspec(trellis,4);
% Clculo de la tasa de error del cdigo, decisin dura y tasa
% de cdigo r
bercoded = bercoding(EbNo,'conv','hard',r, spect);

En el caso de la probabilidad de error del sistema sin codificacin puede utilizar el


comando berawgn. Analice los resultados.
K

G1

G2

110

111

110101

111011

110111

111001101

Tabla 1. Polinomios generadores, G1 y G2, para cdigos convolucionales de tasa


1/2 y diferentes longitudes de restriccin, K.

11

Procesado de Seales en Comunicaciones

Curso 2014-2015

6. Evaluacin
La evaluacin de las sesiones de laboratorio, correspondientes al Tema 4, se
realizar el da 9 de enero de 2015, durante los primeros 15 minutos de la clase (11:0013:00). Para ello, se realizar un cuestionario individualmente sobre diversos aspectos
vistos durante las sesiones prcticas.

7. Bibliografa
Proakis J. G., Fundamentals of Communication Systems, 2nd Ed. Prentice Hall, 2013.
Prez F. & A. Arts, Comunicaciones Digitales, Prentice Hall, 2007.

12

Vous aimerez peut-être aussi