52
Tono
Re
v
i
s
t
a
Téc
n
i
c
a
d
e
l
a
E
m
p
r
e
s
a
d
e
Te
l
ec
o
m
u
n
i
c
a
c
i
o
n
e
s
d
e
C
u
b
a
S
.
A
.
E
l
estándar
DTMB
Digital
Terrestrial
Multimedia
Broadcasting
dene
la
estructura
de
trama,
codificación
de
ca-
nal
y
modulación
para
la
radiodifusión
de
televisión
digital
terrestre
en
las
bandas
de
VHFVery
High
Frequencyy
UHF
Ultra
High
Frequency.
Según
la
norma,
se
establece
a
8
MHz
de
ancho
de
banda;
no
obstante,
se
ha
vuelto
a
presentar
contemplando
la
variante
de
6
MHz.
Durante
2009,
se
verificaron
las
posibi-
lidades
reales
de
cada
una
de
las
alterna-
tivas
tecnológicas
por
las
cuales
puede
optar
nuestro
país.
Los
mejores
resulta-
dos
técnicos
han
favorecido
a
la
norma
china
DTMB
y
a
la
japonesa-brasileña
ISDB-T
Integrated
Services
Digital
Broadcasting
Terrestrial—.
Entre
las
características
del
estándar
DTMB
se
encuentran
el
uso
de
los
códigos
BCH
Bose-Chadhui-Hocquenghen
como
codificador
externo
y
LDPC
Low
Density
Parity
Check
como
decodifi-
cador
interno
para
la
codificación
FEC
Forward
Error
Correction
con
tres
razones
de
código.
Este
bloque
se
en-
carga
de
agregar
los
bits
de
chequeo
necesarios
para
proteger
los
datos
de
información
de
errores
provocados
por
diversos
factores
durante
la
transmi-
sión.
El
codificador
externo
BCH
es
común
para
las
tres
razones
del
codi-
ficador
interno
y
es
capaz
de
corregir
un
error
simple
o
detectar
uno
doble,
su
objetivo
es
corregir
errores
esporádicos
del
codificador
interno.
Un
codifi
cador
LDPC
corresponde
al
FEC
interno
de
la
norma
DTMB.
Las
tres
razones
de
código
que
utiliza
el
FEC
son
0.4,
0.6
y
0.8
y
están
dadas
por
la
cantidad
de
grupos
de
bits
codificados
BCH
que
tienen
que
concatenarse
para
entrar
al
codifi
cador
LDPC.
P
o
r
i
ng
.
L
u
i
s
G
i
r
a
l
d
o
R
a
y
m
o
n
d
R
o
d
r
í
gu
e
z
,
E
s
p
e
c
i
a
li
st
a
S
u
p
e
r
i
o
r
,
G
r
u
p
o
d
e
P
r
o
ye
c
t
o
s
d
e
l
a
D
i
r
e
cc
i
ó
n
c
n
i
c
a
,
R
a
d
i
o
c
u
b
a
,
e
I
ng
.
A
dd
i
s
R
ey D
o
m
í
ngu
e
z
,
I
n
v
e
st
i
g
a
d
o
r
a
,
F
A
R
R
a
d
i
o
c
u
b
a
l
u
i
s
@
r
a
d
i
o
c
u
b
a
.
c
u
;
c
i
d
3
@
r
e
d
u
i
m.
c
u
d
e
ll
a
t
e
ll
e
v
iisii
ó
n
d
ii
g
ii
t
a
ll
P
r
o
p
u
e
s
t
a
d
e
d
iis
e
ñ
o
I
n
t
r
o
d
u
cc
i
ó
n
p
a
r
a
l
a
c
o
d
i
f
i
c
a
c
i
ó
n
d
e
c
ana
l
Tono
Re
v
i
s
t
a
Téc
n
i
c
a
d
e
l
a
E
m
p
r
e
s
a
d
e
Te
l
ec
o
m
u
n
i
c
a
c
i
o
n
e
s
d
e
C
u
b
a
S
.
A
.
53
cíclico
que
posee
una
larga
selección
de
longitudes
de
bloques,
razones
de
código,
tamaño
de
alfabeto
así
como
capacidad
de
corregir
errores.
En
tanto,
los
códigos
de
chequeo
de
paridad
de
baja
densidad
son
una
clase
de
códigos
de
bloques
lineales
con
decodifi
cación
alcanzable,
los
cuales
logran
un
desem-
peño
cercano
al
límite
teórico
máximo
o
límite
de
Shannon
para
bloques
de
transmisión
extensos.
Este
trabajo
tiene
como
objetivo
prin-
cipal
el
estudio
del
estándar
DTMB,
especícamente,
del
bloque
corrector
de
errores
FEC
con
el
propósito
de
desarrollar
un
módulo
de
propiedad
intelectual
(IP)
sobre
tecnología
FPGA
Field
Programmable
Gate
Array
como
parte
del
proyecto
de
diseño
de
un
modulador
DTMB
cubano.
P
r
o
p
u
e
st
a
de
d
i
s
e
ñ
o
p
a
r
a
l
a
c
o
d
i
f
i
c
a
c
i
ó
n
de
c
a
n
a
l
El
bloque
de
codificación
FEC
del
es-
tándar
DTMB
se
encarga
de
agregar
los
bits
de
cheque
se
compone
de
un
codi-
ficador
externo
BCH
y
un
codifi
cador
interno
LDPC
como
se
mencionó
ante-
riormente.
El
codificador
externo
es
del
tipo
BCH
(762,752)
correspondiente
a
752
bits
de
información
y
10
de
che-
queo.
Este
se
obtiene
del
código
BCH
(1023,1013),
el
cual
se
crea
rellenando
los
bits
de
información
con
261
ceros
hasta
llegar
a
1013
bits
(Figura
1).
Una
vez
obtenida
la
palabra
de
código,
se
extraen
los
261
ceros
(formando
pala-
bras
de
código
de
762
bits)
ubicados
en
la
cabecera
de
la
misma,
esto
es
posible
pues
el
código
es
sistemático
y
coloca
los
bits
de
información
por
delante
de
los
de
chequeo.
Estos
grupos
de
palabras
codifi
cadas
BCH
son
concatenadas
hasta
formar
palabras
de
cuatro,
seis
u
ocho
gru-
pos
BCH,
en
dependencia
de
la
razón
El
código
BCH
es
una
generaliza-para
formar
palabras
de
longitud
fija
e
igual
a
7493
bits.
Finalmente,
se
retiran
los
ción
del
código
de
Hamming,
el
cualprimeros
cinco
bits
de
chequeo
de
la
palabra
codificada.
La
extracción
se
justifi
ca
permite
la
corrección
de
errores
múlti-con
el
objetivo
de
transmitir
en
una
trama
señal
(unidad
básica
de
transmisión
del
ples.
Es
una
clase
poderosa
de
códigoestándar
DTMB)
un
número
fijo
de
tramas
de
transporte
de
188
bytes.
En
las
secciones
siguientes
se
abordan
los
aspectos
teóricos
de
ambos
codifi
ca-
dores
y
se
ofrecen
soluciones
para
su
implementación
sobre
la
tecnología
FPGA.
C
o
d
i
f
i
c
a
d
o
r
e
x
t
e
r
n
o
B
C
H
El
código
BCH
se
describe
por
los
elementos
enteros
n,
m
y
t,
donde
se
deben
cumplir
las
ecuaciones
(1
-5)
[2].
n
=
2
m– 1
(1)
t
<
2
n-1
(2)
n
k
=
m
t
(3)
m
3(4)
dm
í
n
2
t
+
1(5)
Donde:
n:
número
de
bits
de
cada
palaba
de
código
k:
número
de
bits
de
mensaje
t:
cantidad
de
errores
que
puede
corregir
m:
cantidad
de
bits
de
chequeo
mínima
para
corregir
t
errores
dmín:
distancia
mínima
entre
dos
palabras
de
código
Una
trama
de
transporte
MPEG-2
contiene
188
Bytes
o
lo
que
es
lo
mismo
1504
bits.
La
codificación
BCH
se
efectuará
sobre
752
bits
correspondientes
a
la
mitad
de
dicha
Trama
de
Transporte.
En
las
ecuaciones
1-5
justifican
la
necesidad
del
relleno
efectuado
sobre
los
bits
de
información
pues
el
código
BCH
(762,752)
no
cumple
con
estas
características.
El
codificador
externo
BCH
es
común
para
las
tres
razones
del
codificador
interno.
La
norma
describe
el
polinomio
genera-
dor
que
establece
las
palabras
válidas
del
código
según
la
ecuación
6.
El
mismo
es
una
subclase
de
los
códigos
cíclicos
y
se
puede
implementar
con
registros
de
desplazamientos
realimentados,
lo
cual
disminuye
sustancialmente
la
complejidad
del
hardware.
Además,
el
cálculo
del
síndrome
en
el
decodifi
cador
es
igualmente
realizable
con
esta
estructura
cuya
arquitectura
algebraica
brinda
técnicas
efi
cien-
tes
de
decodifi
cación.
GB
CH(x)
=
1
+
x
3
+
x
10
(6)
Al
igual
que
el
polinomio
generador,
los
mensajes
a
codificar
se
pueden
repre-
sentar
mediante
polinomios,
y
los
bits
de
chequeo
se
pueden
obtener
como
se
muestra
en
la
ecuación
7.
p(
X
)
=
X
n-k
m(
X
)
módulo
g(
X
)(7)
de
código
empleada:
0.4,
0.6
o
0.8.
LaDonde:
longitud
de
estos
grupos
será
de
3048,p(X):
bits
de
paridad
4572
o
6096
bits
y
se
le
añaden
losm(X):
bits
de
mensaje
bits
redundantes
del
codifi
cador
LDPCg(X):
polinomio
generador
F
i
gu
r
a
1
C
o
d
i
f
i
c
a
c
i
ó
n
F
E
C
d
e
r
a
z
o
n
e
s
0.4
,
0.6
y
0.8
(
F
u
e
n
t
e
:
e
l
a
b
o
r
a
c
i
ó
n
p
r
o
p
i
a
)
.
54
Tono
Re
v
i
s
t
a
Téc
n
i
c
a
d
e
l
a
E
m
p
r
e
s
a
d
e
Te
l
ec
o
m
u
n
i
c
a
c
i
o
n
e
s
d
e
C
u
b
a
S
.
A
.
Como
se
observa
de
la
ecuación
7,
antes
de
realizar
la
división
se
debe
multiplicar
el
mensaje
por
Xn-k
lo
cual
equivale
a
crear
el
espacio
para
insertar
los
n-k
bits
de
chequeo
de
forma
siste-
mática.
Por
lo
explicado
anteriormente,
se
debe
diseñar
un
circuito
que
efectúe
la
división
de
polinomios
a
base
de
registros
de
desplazamiento
realimen-
tados.
D
i
s
e
ñ
o
de
l
c
o
d
i
f
i
c
a
d
o
r
e
x
t
e
r
n
o
B
C
H
Para
realizar
el
diseño
del
BCH
se
a
base
de
registros
de
desplazamiento
realimentados.
Para
formar
la
palabra
de
código
de
manera
sistemática
se
requiere
de
un
circuito
conmutador
(multiplexor)
que
alterne
entre
bits
de
mensaje
y
de
che-
queo.
Para
procesar
los
bits
de
mensaje
no
es
necesario
ningún
circuito
adicio-
nal,
basta
con
presentarlos
en
la
salida
al
mismo
tiempo
que
son
introducidos
al
circuito
divisor
para
calcular
los
bits
de
chequeo,
que
constituyen
el
resto
de
la
división.
Una
vez
rotados
en
el
cir-
cuito
divisor
y
presentados
a
la
salida
del
conmutador
los
1013
bits
de
men-
saje,
el
conmutador
cambia
y
muestra
los
diez
bits
de
chequeo
que
quedaron
almacenados
en
las
etapas
del
divisor
(Figura
2).
Los
siguientes
pasos
describen
el
pro-
ceso
de
codificación
antes
expuesto:
1.
El
conmutador
1
permane-
ce
cerrado
durante
las
primeras
1013
rotaciones,
permitiendo
la
transmisión
de
los
bits
de
mensa-
je
dentro
del
registro
de
despla-
zamiento.
2.
El
conmutador
2
permanece
en
su
posición
baja
durante
las
primeras
1013
rotaciones
per-
mitiendo
la
salida
de
los
bits
de
mensaje.
3.
Después
de
las
primeras
1013
rotaciones,
el
conmutador
1
se
abre
y
el
conmutador
2
pasa
a
la
posición
alta.
4.
Las
restantes
10
rotaciones
limpian
al
registro
extrayendo
los
bits
de
che-
queo
por
la
salida.
5.
El
total
de
rotaciones
es
igual
a
1023
y
lo
mostrado
a
la
salida
es
exacta-
mente
la
palabra
de
código.
La
gura
3
muestra
el
esquema
simplificado
del
bloque
funcional
BCH.
Los
datos
de
entrada
son
almacenados
en
un
FIFO,
a
la
frecuencia
de
CLK_MPEG
(reloj
de
los
datos
de
entrada
encapsulados
en
tramas
de
transporte
MPEG-2)
que
emite
la
señal
de
aviso
SX_GRUPO
al
bloque
Control
cuando
dispone
de
un
grupo
de
752
bits.
Con
la
aparición
de
esta
señal
comienza
la
codicación
que
incorpora
diez
bits
de
chequeo
y
ocurre
de
forma
serie,
comenzando
con
los
261
ceros
de
relleno
y
luego
los
752
bits
almacenados
en
el
FIFO.
El
bloque
de
control
es
el
encargado
de
conducir
este
proceso
manejando
la
lectura
del
FIFO
First
In
First
Out,
el
multiplexor
y
el
codificador.
Este
proceso
se
realiza
con
el
reloj
CLK_BCH
(reloj
usado
para
la
codificación)
que
tiene
el
doble
de
la
frecuencia
de
CLK_MPEG
generando
tiempos
de
espera
entre
los
procesos
de
codificación.
El
blo-
que
de
control
brinda
la
salida
HAB_LDPC
encargada
de
habilitar
el
funcionamiento
del
codicador
LDPC,
con
esta
señal
se
eliminan
los
261
ceros,
agregados
anteriormente,
del
grupo
codicado
de
1023
bits
(Figura
3).
También
provee
la
señal
LECT_LDPC
ya
que
lleva
el
conteo
del
número
de
grupos
de
752
bits
necesarios
(5,
7,
9)
para
lograr
el
ujo
continuo
de
los
datos
a
la
salida
del
sistema.
debe
efectuar
la
división
de
polinomios
F
i
gu
r
a
2
D
i
a
g
r
a
m
a
d
e
l
c
o
d
i
f
i
c
a
d
o
r
B
CH
(
1023
,
1013
)
(
F
u
e
n
t
e
:
e
l
a
b
o
r
a
c
i
ó
n
p
r
o
p
i
a
)
.
F
i
gu
r
a
3
E
s
q
u
e
m
a
s
i
m
p
li
f
i
c
a
d
o
d
e
l
c
o
d
i
f
i
c
a
d
o
r
B
CH
(
F
u
e
n
t
e
:
e
l
a
b
o
r
a
c
i
ó
n
p
r
o
p
i
a
)
.
Tono
Re
v
i
s
t
a
Téc
n
i
c
a
d
e
l
a
E
m
p
r
e
s
a
d
e
Te
l
ec
o
m
u
n
i
c
a
c
i
o
n
e
s
d
e
C
u
b
a
S
.
A
.
55
C
o
d
i
f
i
c
a
d
o
r
I
n
t
e
r
n
o
de
l
a
n
o
r
m
a
DT
M
B
:
LD
P
C
c
u
a
s
i
-
c
í
c
li
c
o
En
la
figura
4
aparece
la
matriz
H
dada
en
la
norma
[1].
Esta
matriz
está
conformada
por
sub-
matrices
Ai,j
de
(b
x
b)
elementos
con
b
=
127
y
pesos
de
fila
1
cumpliendo
con
la
condición
de
baja
densidad,
o
sea,
1<<
127.
La
densidad
de
la
matriz
compuesta
en
su
conjunto
es
del
0.26
%
no
igual
a
1/127
debido
a
la
existen-
cia
de
submatrices
todos
ceros,
con
lo
cual
el
valor
es
mucho
menor
que
la
máxima
teórica
del
1
%,
siendo
sufi
-
cientemente
baja
como
para
permitir
decodificaciones
iterativas
efectivas.
Esto
es
en
efecto,
la
clave
innovativa
detrás
de
la
invención
de
los
códigos
LDPC.
F
i
gu
r
a
4
M
a
t
r
i
z
H
d
e
r
e
p
r
e
s
e
n
t
a
c
i
ó
n
d
e
l
c
ó
d
i
g
o
LD
P
C
(
F
u
e
n
t
e
:
e
l
a
b
o
r
a
c
i
ó
n
p
r
o
p
i
a
)
.
La
matriz
H
está
representada
por
un
arreglo
de
matrices
circulantes,
en
la
cual
cada
fila
es
un
desplazamiento
un
cambio
cíclico
de
la
última
fila,
y
así
mismo
sucede
con
las
columnas
[2].
El
peso
de
cada
fila
es
1,
lo
que
signifi
ca
que
el
peso
de
las
columnas
será
igual,
otorgando
la
propiedad
de
regulares
a
las
submatrices
y
de
irregular
a
la
ma-
triz
compuesta.
Al
conformar
una
estructura
de
digo
cuasi-cíclicos
(QC)
permite
que
se
sim-
plifiquen
los
diseños
del
codificador
en
comparación
con
los
iniciales
que
eran
aleatorios.
Adicionalmente,
posibilita
mayor
exibilidad
en
el
diseño
del
código,
en
especial
la
irregularidad,
que
logra
una
mejora
en
relación
con
los
códigos
LDPC
cíclicos,
ya
que
reducen
la
capacidad
EL
codificador
LDPC
que
nos
ocupade
almacenamiento
necesaria.
Esto
se
debe
a
que
la
matriz
H
de
los
códigos
cíclicos
es
de
baja
densidad
pues
es
un
códigodeben
ser
del
tipo
n
x
n,
sin
importar
la
razón
de
codificación,
y
disminuyen
la
canti-
de
bloque
lineal
representado
por
unadad
de
1s
por
las
y
columnas
que
poseen
los
códigos
LDPC
cíclicos,
minimizando
matriz
de
chequeo
de
paridad
H
(m
x
n)la
complejidad
del
codificador
y
decodificador
[2].
con
baja
densidad
de
1s
—se
consideraLa
norma
presenta
la
matriz
generadora
Gqc
por
lo
que
no
es
necesario
obtenerla
a
baja
la
densidad
si
es
menor
del
1%
departir
de
la
matriz
H.
La
misma
es
de
forma
cuasi-circular
sistemática
y
se
obtienen
todos
los
elementos
de
la
matriz
H—.palabras
de
códigos
de
7493
bits.
D
i
s
e
ñ
o
de
l
c
o
d
i
f
i
c
a
d
o
r
i
n
t
e
r
n
o
LD
P
C
Para
el
diseño
del
codificador
interno
LDPC,
se
utiliza
el
proceso
de
codi
cación
de
los
códigos
cuasi-cíclicos
[3],
donde
se
demuestra
que
si
u
representa
los
bits
de
mensajes
divididos
en
secciones
de
127
bits
y
Gqc
sys
representa
la
matriz
generadora
de
forma
sistemática
del
código
LDPC,
se
puede
obtener
los
bits
de
chequeo
V
del
código
(Ecuación
8).
cíclico
de
la
anterior:
la
primera
fila
es
F
i
gu
r
a
5
C
i
r
c
u
i
t
o
C
S
R
AA
(
F
u
e
n
t
e
:
e
l
a
b
o
r
a
c
i
ó
n
p
r
o
p
i
a
)
.
La
ecuacn
destaca
la
necesidad
de
implementar
un
circuito
que
emule
la
multi-
plicación
de
matrices.
La
sección
de
chequeo
de
paridad
pj
puede
ser
formada
con
un
Registro
CSRAA
Cyclic
Shift-RegisterAdderAccumulator
cuyo
circuito
se
define
en
la
gura
5.
La
secuencia
de
información
se
divide
en
24,36
y
48
secciones
de
127
bits
en
depen-
dencia
de
la
razón
0.4,
0.6,
0.8
(4,
6,
8
grupos
BCH)
a
lograr
en
el
FEC,
estas
seccio-
nes
coinciden
con
la
cantidad
de
filas
de
la
matriz
generadora.
Para
obtener
7493
bits
de
salida,
la
cantidad
de
columnas
que
representan
las
secciones
pj
sen
35,
23,
11,
respectivamente.
A
modo
de
explicación,
se
utilizará
la
de
c=24
secciones
de
bits
de
entrada
y
35
secciones
de
bits
de
chequeo.
Las
secciones
u=(u1(0,)
u1()1,)…u123)
son
rotadas
en
el
codificador.
Para
0
c
23,
la
suma
acumulada
que
constituye
el
aporte
de
la
seccn
j
de
los
bits
de
chequeo
será
según
la
ecuación
9.
(8)
(9)
56
Tono
Re
v
i
s
t
a
Téc
n
i
c
a
d
e
l
a
E
m
p
r
e
s
a
d
e
Te
l
ec
o
m
u
n
i
c
a
c
i
o
n
e
s
d
e
C
u
b
a
S
.
A
.
F
i
gu
r
a
6
D
i
a
g
r
a
m
a
e
n
b
l
o
q
u
e
d
e
l
c
o
d
i
f
i
c
a
d
o
r
LD
P
C
(
F
u
e
n
t
e
:
e
l
a
b
o
r
a
c
i
ó
n
p
r
o
p
i
a
)
.
F
i
gu
r
a
7
E
s
q
u
e
m
a
s
i
m
p
li
f
i
c
a
d
o
LD
P
C
(
F
u
e
n
t
e
:
e
l
a
b
o
r
a
c
i
ó
n
p
r
o
p
i
a
)
.
Para
formar
35
secciones
de
chequeo
de
paridad
se
necesitan
35
secciones
de
circuitos
CSRAA
(Figura
6).
Todas
las
secciones
de
chequeo
de
paridad
se
generan
al
mismo
tiempo,
en
paralelo,
y
son
rotadas
en
la
salida
de
forma
serie.
El
circuito
de
codifi
-
cación
consiste
en
35,
23,
11
circuitos
CSRAA.
La
codificación
se
lleva
a
cabo
en
un
tiempo
similar
para
todos
los
casos,
o
sea,
para
los
distintos
bits
de
chequeo
de
paridad
(4445,
2921,
1397)
según
la
razón,
pues
aunque
se
procesen
más
bits
en
un
caso
que
en
otro,
la
velocidad
de
entrada
de
los
mismos
aumenta
a
medida
que
crecen
los
grupos
BCH
[3].
La
figura
7
expone
de
manera
simpli-
ficada
las
partes
componentes
del
co-
dificador
LDPC.
La
entrada
RAZON
indica
al
bloque
de
control
la
razón
de
código
seleccionada
y
posibilita
la
configuración
del
Banco
de
ROM
y
los
CSRAA.
El
Banco
de
ROM
al-
macena
las
matrices
generadoras
de
cada
razón
de
código.
La
característica
cuasi-cíclica
de
estas
matrices
reduce
significativamente
la
capacidad
de
al-
macenamiento
necesaria
porque
solo
es
preciso
guardar
la
primera
la
de
cada
submatriz
cíclica.
Cuando
la
entrada
HAB_LDPC
(brin-
dada
por
el
codificador
BCH)
está
activa,
los
datos
de
entrada
son
proce-
sados
por
los
CSRAA
sincronizados
a
CLK_BCH,
al
mismo
tiempo
que
son
almacenados
en
un
FIFO.
Es
necesario
almacenarlos
debido
a
que
la
estruc-
tura
de
codificación
establece
los
bits
de
chequeo
antecediendo
a
los
bits
de
F
i
gu
r
a
8
E
st
r
u
c
t
u
r
a
d
e
l
c
o
d
i
f
i
c
a
d
o
r
e
x
t
e
r
n
o
B
CH
(
F
u
e
n
t
e
:
e
l
a
b
o
r
a
c
i
ó
n
p
r
o
p
i
a
)
.
información.
Se
han
diseñado
35
circuitos
CSRAA
con
la
razón
0.4
que
requiere
la
mayor
cantidad
de
secciones
(35)
de
bits
de
chequeo.
Este
mismo
hardware
se
emplea
para
codificar
con
la
razón
0.6
y
la
razón
0.8
que
requieren
23
y
11
seccio-
nes,
respectivamente.
Cuando
se
obtiene
el
total
de
bits
de
chequeo,
el
control
carga
de
forma
paralelo
los
bits
de
chequeo
en
el
Registro
Paralelo/Serie.
Cuando
se
activa
la
entrada
LECT_LDPC,
la
palabra
de
código
es
transmitida
de
forma
serie
sincronizada
a
CLK_LDPC,
el
con-
trol
maneja
el
multiplexor
de
salida
para
alternar
los
bits
de
SAL_CHEQUEO
y
SAL_
DATOS,
además
activa
la
salida
HAB_MAP
para
indicar
que
los
datos
de
salida
son
válidos.
V
e
r
i
f
i
c
a
c
i
ó
n
de
l
o
s
r
e
s
u
l
t
a
d
o
s
Después
de
nalizar
el
diseño
y
la
programación
correspondiente
mediante
el
uso
del
lenguaje
de
descripción
de
hardware
VHDL,
se
realizó
la
comprobación
del
digo
con
la
herramienta
ISim
soportada
por
Xilinx.
ISim
es
un
entorno
de
modelado
y
simulación
que
permite
la
verificación
de
los
diseños
generados
con
código
VHDL,
a
partir
de
la
cual
se
depuraron
y
corrigieron
los
errores
cometidos
durante
el
diseño.
La
veracidad
de
los
resultados
obtenidos
se
comprueba
con
la
herramienta
Simulink
de
Matlab.
La
gura
8
muestra
la
estructura
del
bloque
del
codificador
externo
BCH
en
Simulink.
Los
datos
de
entrada
provenientes
de
Aleatorizador
(bloque
que
le
precede
en
la
norma
DTMB)
son
almacenados
en
el
Buffer
con
el
objetivo
de
formar
el
grupo
de
752
bits.
El
bloque
Pad
incorpora
los
261
ceros
de
relleno
para
crear
el
grupo
de
1013
bits
necesario
para
la
codificacn
BCH
(1023,1013).
El
bloque
BCH
Encoder
realiza
la
codificación
sistemá-
tica
de
forma
paralelo
y
entrega
a
su
salida
la
palabra
de
digo
de
1023
bits.
Pad1
elimi-
na
los
261
ceros
insertados
anteriormente
para
generar
el
grupo
de
762
bits,
según
exige
la
norma
DTMB.
La
comprobación
de
los
resultados
de
esta
etapa
se
efectuó
a
través
de
To
Workspace1
el
cual
crea
en
el
Workspace
de
Matlab
la
variable
COD_EXTERNO,
donde
se
almacena
el
producto
de
la
codificación.
Tono
Re
v
i
s
t
a
Téc
n
i
c
a
d
e
l
a
E
m
p
r
e
s
a
d
e
Te
l
ec
o
m
u
n
i
c
a
c
i
o
n
e
s
d
e
C
u
b
a
S
.
A
.
57
F
i
gu
r
a
9
I
n
t
e
r
f
a
z
d
e
c
o
n
f
i
gu
r
a
c
i
ó
n
d
e
l
b
l
o
q
u
e
B
CH
(
F
u
e
n
t
e
:
e
l
a
b
o
r
a
c
i
ó
n
p
r
o
p
i
a
)
.
F
i
gu
r
a
10
C
o
m
p
r
o
b
a
c
i
ó
n
d
e
r
e
s
u
l
t
a
d
o
s
(
F
u
e
n
t
e
:
e
l
a
b
o
r
a
c
i
ó
n
p
r
o
p
i
a
)
.
F
i
gu
r
a
11
E
st
r
u
c
t
u
r
a
d
e
l
c
o
d
i
f
i
c
a
d
o
r
i
n
t
e
r
n
o
LD
P
C
(
F
u
e
n
t
e
:
e
l
a
b
o
r
a
c
i
ó
n
p
r
o
p
i
a
)
.
En
el
campo
Codeword
length
de
la
interfaz
de
configuración
del
bloque
BCH
Encoder,
N
especifica
la
longitud
de
la
palabra
codificada
mientras
que
en
el
cam-
po
Message
length,
K
indica
la
cantidad
de
bits
de
mensaje.
Aunque
este
bloque
brinda
la
opción
de
especificar
el
polinomio
generador
del
código,
también
puede
inferirlo
insertando
los
parámetros
N
y
K,
que
fue
la
opción
escogida
para
el
di-
seño
(Figura
9).
En
la
figura
10
se
muestra
un
fragmento
de
las
palabras
de
código
BCH
obte-
nidas
de
la
simulación
del
diseño
a
través
de
la
herramienta
ISim
de
Xilinx
y
el
resultado
de
la
simulación
de
la
estructura
del
codificador
BCH
realizada
con
los
bloques
funcionales
ofrecidos
por
la
herramienta
Simulink
de
Matlab,
donde
ambas
coinciden.
Para
la
validación
de
los
resultados
del
codificador
interno
LDPC
se
utiliza
la
estructura
de
diseño
de
la
figura
11
en
la
herramienta
Simulink
de
Matlab.
58
Tono
Re
v
i
s
t
a
Téc
n
i
c
a
d
e
l
a
E
m
p
r
e
s
a
d
e
Te
l
ec
o
m
u
n
i
c
a
c
i
o
n
e
s
d
e
C
u
b
a
S
.
A
.
F
i
gu
r
a
13
C
o
m
p
r
o
b
a
c
i
ó
n
d
e
r
e
s
u
l
t
a
d
o
s
(
F
u
e
n
t
e
:
e
l
a
b
o
r
a
c
i
ó
n
p
r
o
p
i
a
)
.
El
bloque
Buffer1
almacena
los
grupos
de
762
bits
provenientes
del
codifi
cador
externo
para
formar
grupos
de
3048,
4572
o
6096
bits
de
acuerdo
con
la
razón
empleada.
El
bloque
LDPC
Encoder
codifica
de
forma
paralelo
los
bits
de
entrada
(Figura
12).
En
el
campo
Parity-check
matrix
se
especifica
la
matriz
de
chequeo
de
paridad
del
código
LDPC
la
cual
varía
según
la
razón
de
código.
Se
creó
una
función
en
Matlab
para
la
obtención
de
las
matrices
de
chequeo
de
paridad
[3].
Dicha
función
retorna
la
matriz
de
chequeo
de
paridad
H
de
forma
esparcida
según
requiere
el
bloque
LDPC
Encoder.
El
bloque
Pad2
extrae
los
primeros
cinco
bits
de
chequeo.
El
codifi
cador
interno
se
verificó
con
el
bloque
To
Workspace2,
mediante
el
cual
se
crea
la
variable
COD_INTERNO
donde
se
almacena
el
resultado.
En
la
figura
12
se
expone
la
comprobación
de
los
resultados
en
ambas
herramientas
de
diseño.
C
o
n
c
l
u
s
i
o
n
e
s
El
estudio
realizado
sobre
el
están-
dar
DTMB
permitió
adquirir
los
co-
nocimientos
necesarios
para
luego
diseñar
la
etapa
correspondiente
a
la
codificación
de
canal
en
VHDL.
El
mismo
contribuye
al
enriquecimien-
to
científico
con
el
conocimiento
del
bloque
FEC
del
estándar
de
Televisión
Digital
Terrestre
DTMB.
La
propuesta
de
diseño
de
los
codifi
cadores
externo
e
interno
facilita
la
realización
de
un
módulo
de
propiedad
intelectual
de
la
norma
china
con
el
fin
de
lograr
la
so-
beranía
tecnológica.
R
e
f
e
r
e
n
c
i
a
s
b
i
b
li
o
g
r
á
f
i
c
a
s
F
i
gu
r
a
12
I
n
t
e
r
f
a
z
d
e
c
o
n
f
i
gu
r
a
c
i
ó
n
d
e
l
b
l
o
q
u
e LD
P
C
(
F
u
e
n
t
e
:
e
l
a
b
o
r
a
c
i
ó
n
p
r
o
p
i
a
)
.
[
1
]
S
t
a
n
d
a
r
d
,
C
.
N
.
,
F
r
a
m
i
n
g
S
t
r
u
c
t
u
r
e
,
C
h
a
nn
e
l
C
o
d
i
n
g
a
n
d
M
o
d
u
l
a
t
i
o
n
F
o
r
D
i
g
i
t
a
l
T
e
l
e
v
i
s
i
o
n
T
e
rr
e
s
t
r
i
a
l
B
r
o
a
d
c
a
s
t
i
n
g
S
y
s
t
e
m
2006
.
[
2
]
R
y
a
n
,
W
.
E
.
a
n
d
S
.
L
i
n
,
C
h
a
nn
e
l
C
o
d
e
s
:
C
l
a
ss
i
c
a
l
a
n
d
M
o
d
e
r
n
.
2009
:
C
a
m
b
r
i
d
g
e
[
3
]
D
om
í
n
g
u
e
z
,
A.
R
.
a
n
d
R
o
d
r
í
g
u
e
z
,
L
.
R
.
,
D
i
s
e
ñ
o
d
e
l
A
l
e
a
t
o
r
i
z
a
d
o
r
,
l
a
C
o
d
i
f
i
c
a
c
i
ó
n
d
e
C
a
n
a
l
,
Ma
p
e
o
y
E
n
t
r
e
l
a
z
a
d
o
c
o
rr
e
s
p
o
n
d
i
e
n
t
e
s
a
un
mo
d
u
l
a
d
o
r
D
T
M
B
.
,
i
n
F
a
c
u
l
t
a
d
d
e
I
n
g
e
-
n
i
e
r
í
a
E
l
é
c
t
r
i
c
a
.
2011
,
C
U
J
A
E
:
L
a
H
a
b
a
n
a
.