SciELO - Scientific Electronic Library Online

 
vol.28 número1Control de un sistema bola-placa utilizando un controlador por realimentación de estadosUn algoritmo de control de flujo para redes de computadoras de alta velocidad índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

Links relacionados

  • En proceso de indezaciónCitado por Google
  • No hay articulos similaresSimilares en SciELO
  • En proceso de indezaciónSimilares en Google

Compartir


Ingeniare. Revista chilena de ingeniería

versión On-line ISSN 0718-3305

Ingeniare. Rev. chil. ing. vol.28 no.1 Arica mar. 2020

http://dx.doi.org/10.4067/S0718-33052020000100016 

Artículos

Código cíclico bidimensional con propiedad de sincronización para canales con ruido clase A

Two-dimensional cyclic code with synchronization property for channels with class A noise

Washington Fernández1 

Krzysztof Herman1 

1 Departamento de Ingeniería Eléctrica y Electrónica. Universidad del Bio Bio. Avenida Ignacio Collao 1202. Concepción, Chile.

RESUMEN

En este artículo se diseña un nuevo código cíclico bidimensional que corrige error de ráfaga, también detecta y corrige error de deslizamiento. Una de la característica del ruido clase A es que está constituido por un ruido de ráfaga el cual afecta a varios bits consecutivos más un ruido Gaussiano. Este trabajo propone un código bidimensional que permite cumplir dos tareas, una disminuir el ruido de ráfaga y el otro disminuir el error de sincronización que se produce cuando existe un deslizamiento de bits y el receptor recupera la información con error. Para evaluar el desempeño se simula un canal con ruido clase A. se grafica la razón señal a ruido versus la probabilidad de error de bits, para diferentes tamaños de códigos cíclicos bidimensionales y se compara con códigos cíclicos unidimensional. De acuerdo a los resultados que se obtienen, este código mejora la confiabilidad del sistema de comunicación cuando se transmite por un canal con ruido clase A, disminuyendo en forma significativa la probabilidad de error de bit y de deslizamiento. La investigación queda abierta para la construcción de nuevos códigos bidimensionales que permitan disminuir la probabilidad de error de ráfaga y el error de sincronización.

Palabras clave: Código cíclico bidimensional; sincronización; ruido clase A

ABSTRACT

This article designs a new two-dimensional cyclic code that corrects burst errors, also detects and corrects slip errors. One of the characteristic of Class A noise is that it consists of a burst noise which affects several consecutive bits plus a Gaussian noise. This paper proposes a two-dimensional code that allows you to accomplish two tasks one to decrease the burst noise and the other to decrease the synchronization error that occurs when there is a bit slip and the receiver retrieves the information with error. To evaluate performance, a channel with a Class A noise is simulated. The reason signal to noise versus the probability of bit error is plotted, for different two-dimensional cyclic code size and is compared with one-dimensional cyclic code. According to the results obtained this code improves the reliability of the communication system when it is transmitted by a noise-Class A channel, significantly reducing the probability of bit error and slip error. The research is open for the construction of new two-dimensional codes that allow decreasing the probability of burst error and the error of synchronization.

Keywords: Two dimensional cyclic code; synchronization; class A noise

INTRODUCCIÓN

La pérdida de sincronización de los bits que se reciben en el receptor provoca la pérdida de información o el aumento de la cantidad de los bits erróneos estimados por el receptor, esto ocurre por el deslizamiento en la estimación de los bits provocados ya sea por un deslizamiento hacia la derecha o hacia la izquierda 1.

La Figura 1 muestra tres palabras consecutivas de un mensaje que se denominan a n , b n , c n , i) con una correcta sincronización, ii) un corrimiento hacia la izquierda de s dígitos que es equivalente a un corrimiento de n-s dígitos y por último iii) un corrimiento a la derecha de s dígitos.

Para canales con ruido Gaussiano y ruido impulsivo se impone la restricción que el símbolo de sincronismo sea lo más inmune posible para este tipo de ruido, en la literatura sólo se tienen sincronismo para ruido Gaussiano en 2-4.

Para lograr la sincronización se utilizan prefijos o sufijos de sincronización, unos de los primeros códigos diseñados para lograr la sincronización se denomina código libre de coma 5-7.

Figura 1 En i) Una correcta sincronización, ii) Corrimiento a la izquierda de s dígitos, iii) Corrimiento a la derecha de s dígitos. 

En 8 se construye una variación del código coma con lo cual obtiene una mayor eficiencia. En 9 se presenta un código basado en permutaciones capaz de corregir errores de sincronización. En 10 se examina en forma analítica los códigos que corrigen errores para canales corruptos por errores de sincronización. En 11 se construyen códigos de longitud variable que denomina "terminación ordenada" y de acuerdo a los resultados estos tienen muy buena propiedad de sincronización. En 12 se propone segmentar la información. Estos paquetes son pre-procesados y aquellas áreas propensas a sufrir un número mayor de bits erróneos, contienen más redundancia.

El canal con ruido clase A se caracteriza por tener ruido Gaussiano y ruido impulsivo, este último ruido es del tipo de ráfaga y afecta a varios bits consecutivos, en 13 se define la ráfaga "como una secuencia de bit que parte con un error en el primer bit y se extiende hasta (N - 1) bits, donde N es la longitud de la ráfaga", en 14 lo define como: "Una ráfaga de longitud b es un vector con componentes no cero que están entre b componentes sucesivas, el primero y el último de los cuales son distintos de cero".

Para combatir el ruido impulsivo, los códigos que se han diseñado y analizado son realizados por: 15-17.

En 18 se presenta un código estimación de error, el esquema que propone incluye varios procedimientos como ser: detección y segmentación. En 19 se obtiene una nueva clase de código donde se combinan código Fire con código BCH.

En este trabajo se diseña un nuevo código cíclico bidimensional con la capacidad de sincronización y de corregir errores de ráfaga con la menor redundancia posible. La transmisión por el canal es serial, por lo tanto, se transmiten cada una de las filas de las palabras códigos más los bits de sincronización y las últimas filas que corresponden a los bits de redundancia más los bits de sincronización. En el receptor un vez que se sincronizan los bits recibidos se sacan los bits de sincronización. Otra tarea del decodificador es detectar y corregir los errores de las palabras códigos verticales, una vez realizada esta tarea se sacan los bits de redundancia y se tienen las palabras mensajes estimadas por el receptor.

Se justifica este trabajo porque el código bidimensional que se diseña cumple dos funciones, primero corrige el error de ráfaga y segundo el error de deslizamiento, en cambio los códigos bidimensionales diseñados hasta ahora sólo corrigen errores de ráfagas.

La configuración de este trabajo es la siguiente: en la sección 2 se diseña el código bidimensional cíclico con la capacidad de corregir error de ráfaga y que permita también la sincronización. En la sección 3 se muestran los resultados mediante tabla y gráfico y se discuten los resultados. Finalmente en la sección 4 se realiza la conclusión del trabajo.

DISEÑO DEL CÓDIGO BIDIMENSIONAL

En la Figura 2 se muestra la estructura del código bidimensional.

Figura 2 Estructura del código cíclico bidimensional. 

De acuerdo a la Figura 2 se tienen los bits de información más los bits de redundancias (palabra código de color celeste), a esta palabra se le agrega el vector de sincronización (de color rojo), que consiste de los bits que corrigen los errores de deslizamientos que puede producir el receptor y además permite la corrección de error de ráfaga.

De acuerdo a la Figura 2 se observa que el código consiste de un arreglo bidimensional, en la cual cada fila es una palabra código con una longitud n 1, con k 1 símbolos de información y (n1-k 1 ) es el número de bits de redundancias, con una distancia mínima de Hamming d 1, este sub código se denomina (n1, k 1). El otro sub código corresponde a las columnas código de longitud (n2, k 2 ) y con una distancia mínima Hamming d 2 .

La tasa de transmisión para el código bidimensional está dada por la ecuación (1):

(1)

Los sub códigos cíclicos que se diseñan en este artículo son óptimos, porque el sub código horizontal debe disminuir el error de sincronización, el ruido Gaussiano y el otro sub código vertical debe disminuir los errores de ráfaga.

A continuación se analizan las condiciones suficientes y necesarias para que un código cíclico pueda disminuir el error de sincronización ya sea por deslizamiento a la izquierda o la derecha.

Sea g(x) un polinomio generador de un código cíclico (n, k) entonces g(x) tiene el grado de (n - k) y divide a (x n -1), para detectar los bits de deslizamiento se le suma un polinomio que conoce también el receptor d(x), de grado menor a n, para cada palabra código.

La palabra código de un código cíclico está dada por la ecuación (2):

(2)

Donde:

c(x): Polinomio de la palabra codificada.

m(x): Polinomio del mensaje.

g(x): polinomio generador de código.

La palabra código para detectar deslizamiento de bits está dada por ecuación (3):

(3)

Donde d(x) corresponde al polinomio para evitar el deslizamiento.

Si se tienen i dígitos de deslizamiento a la izquierda entonces ocurre, ver ecuación (4):

(4)

Donde u i (x) es un polinomio de grado menor a i que resultan de los i dígitos de la palabra código adyacente.

Si los deslizamientos ocurren a la derecha ahora se tiene la ecuación (5)

(5)

Si el error producto del ruido de ráfaga ocurre en cualquier lugar de la n-upla, el error de ráfaga b(x) se puede considerar como se indica en las ecuaciones (6) y (7):

(6)

(7)

De [20] se tiene el Teorema 1: Dado un código cíclico binario (n, k), existe un código coset (n, k) que puede detectar simultáneamente la ocurrencia de una ráfaga de longitud M o menor y B bits de deslizamiento, donde lo indica la ecuación (8):

(8)

Un borde superior para detectar deslizamiento está dado por el Teorema 2: No hay un coset (n, k) para cualquier código cíclico que pueda detectar simultáneamente la ocurrencia de B bits de deslizamiento y una ráfaga de longitud M, cuando el deslizamiento cae en el rango dado por ecuación (9):

(9)

De 20 se tiene el Teorema 3: Cualquier código cíclico (n, k) tiene un código coset, el cual puede detectar simultáneamente la ocurrencia de un simple error de ráfaga de longitud M o menor y B bits o menor de deslizamiento, ver ecuación (10):

(10)

El polinomio está dado por ecuación (11):

(11)

Para que un código cíclico pueda determinar la magnitud y la dirección de B bits de deslizamientos o menor y pueda corregir M bits de ráfaga o menor aún cuando ellos ocurran simultáneamente se debe cumplir, ecuación (12):

(12)

Donde n3z + 4 y z = max (M, 2B), el polinomio es de la forma dada por ecuación (13):

(13)

Para la corrección de errores de ráfaga se tiene a 21 que dice en orden a corregir todos los errores de ráfaga de longitud M o menor con un código (n, k) que utiliza (n - k) bits de chequeo se debe cumplir la condición:

(14)

En (14) se observa que el n óptimo depende de M que es el número de bits de ráfaga que se desean corregir el cual determina la distancia de haming mínima que se requiere.

De acuerdo a los teoremas y lemas dados ante riormente, la clave ésta en encontrar un código cíclico que tenga el mayor d min para un n y k dado. Para encontrar la distancia máxima de dmin se tiene el Lema 1 de 22: Sea c una palabra código de peso w en un código cíclico (n, k) y . Entonces existe un desplazamiento cíclico de c con exactamente r no cero en las primeras k coordenadas. Como el Lema 1 requiere ocupar mucho tiempo computacional en la búsqueda del dmin, se propone un mecanismo para disminuir el tiempo de computación en la búsqueda del máximo d min que sea d v el peso de la palabra código de peso mínimo en un conjunto dado por i = 1, 2...v, donde v < vo, entonces se tiene ecuación (15):

(15)

El código bidimensional que se diseña en este artículo se realiza la búsqueda de d min utilizando el Lema 1 modificado y se aplican los Teoremas 1 a 3 y las condiciones (13) y (14), para determinar la capacidad del código bidimensional en detectar los bits de deslizamientos ya sea hacia la derecha o la izquierda y el número de bits de ráfaga máximo que pueda corregir.

A continuación se desarrolla un modelo para simular el ruido que presentan las líneas eléctricas de bajo voltaje 23. El cual tiene una probabilidad de error dada por ecuación (16):

(16)

Donde:

z: Envolvente compleja de ruido.

: Varianza de Middleton.

m: Número de subcanales de Middleton.

A: Índice impulsivo.

El parámetro A, se define por el producto entre la duración promedio de los impulsos y la razón de generación media del ruido impulsivo (cantidad de eventos impulsivos por unidad de tiempo).

La varianza de Middleton se obtiene como se indica en la ecuación (17):

(17)

Donde:

Γ Relación entre las potencias Gaussiana e impulsiva, y se determina de acuerdo a la ecuación (18):

(18)

Esto significa que la probabilidad de error de Middleton se representa por el producto de una distribución de Poisson, P(m;A) y una distribución de Gauss, . Esto se indica como en ecuación (19):

(19)

P(m; A) se calcula como ecuación (20):

(20)

Y el segundo término de (20) se evalúa de acuerdo a ecuación (21):

(21)

Los parámetros del ruido para el canal con línea eléctrica de bajo voltaje en este artículo se considera como: A = 0,01 y G = 0,001 y m = 3, con estos valores el ruido es altamente impulsivo.

RESULTADOS Y SU DISCUSIÓN

Resultados

La Tabla 1 muestra la longitud del código cíclico, la distancia mínima, la longitud de la ráfaga, la longitud del deslizamiento que puede detectar y corregir.

Tabla 1 Habilidad del código para detectar y corregir bits de deslizamiento. 

En la Tabla 2 se da el polinomio de sincronismo para cada código cíclico dado en la Tabla 1.

Tabla 2 Polinomio de sincronismo. 

Para cada valor de SNR (razón de señal a ruido) se realizó 100 veces la simulación para de esta forma tener un valor promedio de BER (razón error de bit).

La Figura 3 muestra la comparación del desempeño del código bidimensional con respecto al unidimensional.

Figura 3 Comparación del desempeño del código bidimensional con respecto al unidimensional. 

La Figura 4 muestra el desempeño del código bidimensional con y sin detección y corrección de deslizamiento.

Figura 4 Comparación del desempeño del código bidimensional con deslizamiento respecto al unidimensional sin deslizamiento. 

La Figura 5 muestra las características del ruido clase A que se simula con parámetros A = 0,01 y Γ = 0,001 y m = 3.

Figura 5 Ruido clase A simulado. 

Discusión de los resultados

De acuerdo a la Figura 3 se observa que el código bidimensional tiene mejor desempeño que un código unidimensional, cuando se considera un canal con ruido Gaussiano, y ruido impulsivo, la razón es porque el código bidimensional detecta y corrige como mínimo b 1×b 2 errores y el código unidimensional b 1 . Con respecto a la Figura 4 se infiere que el código bidimensional con corrección de deslizamiento tiene mejor desempeño cuando ocurre pérdida de sincronización con respecto al código bidimensional sin sincronización, esto se debe a que el vector d(x) de deslizamiento, permite detectar y corregir como mínimo M bits de deslizamiento ya sea que ocurra un deslizamiento a la izquierda o la derecha.

La complejidad del código bidimensional con detección y corrección de deslizamiento es que se requieren tener dos decodificadores uno para el código cíclico bidimensional y el otro para detectar y corregir errores de deslizamientos.

De la Figura 5 se infiere que el ruido simulado tiene un ruido impulsivo más un ruido Gaussiano, lo cual es característico del ruido clase A, lo cual implica que los resultados que se obtienen en este trabajo tendrían un pequeño margen de error en un canal que presente ruido clase A, por ejemplo en una línea eléctrica de bajo voltaje.

CONCLUSIONES

De acuerdo a los resultados el código bidimensional con detección y corrección de deslizamiento tiene un muy buen desempeño en canales con ruido impulsivo y ruido aleatorio, es decir, canales con ruido clase A.

La investigación queda abierta para la búsqueda de nuevos códigos bidimensionales que permitan realizar dos funciones, una la corrección de error de ráfaga y la otra el error de deslizamiento.

AGRADECIMIENTOS

Los autores de este trabajo agradecen a la Universidad del Bío Bío, por patrocinar este trabajo mediante el proyecto interno 170810 3/R.

REFERENCIAS

[1] E. Gilbert. "Synchronization of Binary Code". IRE Transactions on Information Theory. Vol. 6 N° 4, pp. 470-477. 1960. [ Links ]

[2] F. Sala, R. Gabrys, C. Schoery and L. Delecer. "A exact Reconstruction From Insertion in Synchronization Codes". IEEE Transactions on Information Theory, pp. 2428-2445. 2017. [ Links ]

[3] S. Tong. "Synchronization Recovery Techniques for Binary Cyclic Code". The Bell System Technical Journal. Vol. 45 N° 4, pp. 561-596. 1966. [ Links ]

[4] V. Buttigieg and Y. Briffa. "Improved Code Construction for Synchronization Error Correction", 10th International IGT Conference on Systems Communications and Coding, SCC1015, pp. 1-6. 2015. [ Links ]

[5] S.W. Golomb, B. Gordon and L. Welch. "Comma Free Codes". Canadian Journal Mathematics, pp. 202-209. 1958. [ Links ]

[6] W. Eastman. "On the Construction of Comma free Codes". IEEE Transactions on Information Theory. Vol. 11, pp. 263-267, April, 1965. [ Links ]

[7] B.H. Jiggs. "Recent Result in Comma Free Codes". Canadian Journal Mathematics. Vol. 15, pp. 178-187. 1963. [ Links ]

[8] D. Clague. "New Classes of Synchronous Co de". IEEE Transaction on electronic Computers. Vol. 6 N° 3, pp. 290-298. June, 1967. [ Links ]

[9] H. Wang and B. Lin. "Designing Efficient Code for Synchronization Errors channels". IEEE International Workshop on quality of Services, pp. 1-9. 2011. [ Links ]

[10] H. Mercier, V. Bhargava and V. tarokh. "A Survey of Errors Correcting Codes for Channels with Symbol Synchronization errors". IEEE Communications Survey & Tutorials, pp. 87-96. 2010. [ Links ]

[11] M. Higgs, S. Perkins and D. Smith. "The Construction of Variable Length Codes with Good Synchronization Properties". IEEE Transactions on Information Theory. Vol. 55 N° 11, pp. 1696-1700. 2003. [ Links ]

[12] N. Bardis, N. Douks and O. Markovskyi. "Synchronization Error Correction for Asynchronous Channels Data Transmission". ITM Web of Conference, pp. 1-6. 2017. [ Links ]

[13] A. Alexander, R.M. Gryb and W. Nast. "Capa bilities of the telephone networks for dat transmission", The Bell Systems Technical Journal. Vol. XXXIX, N° 3, pp. 431-475. May 1960. [ Links ]

[14] R. Chien and D. Tang. "On Definitions of a burst". IBM Journal, pp. 292-293. July, 1965. [ Links ]

[15] B. Elpas and R. Short. "A Note on Optimum Burst Error Correcting Codes". IRE Transactions on Information Theory, pp. 39-41. January 1962. [ Links ]

[16] W. Pehlert. "Analysis of a Burst-Trapping Error Correction Procedure". The Bell System Technical Journal, pp. 493-519. 1970. [ Links ]

[17] E. Posner. "Simultaneous Error Correction and Burst Error Detection Using Binary Linear Cyclic codes". J. App. Indust. App. Math. Vol. 13 N° 4, pp. 1087-1095. December, 1965. [ Links ]

[18] Y. Wang, W. Li and S. Lu. "The capability of Error Correction for Burst Noise Channel Using Error Estimating Code". 13th Annual IEEE International Conference on Sensing, Communication and Networking (SECON2016), pp. 1-9. 2016. [ Links ]

[19] W. Zhou, S. Lin, K. Ghaffar. "Burst on Random Error Correction Based on Fire and BHC Code". Information Theory and Application Workshop (ITA), pp. 1-5. 2014. [ Links ]

[20] S.E. Tavares. "Detection and Correction of Synchronization Error in the Presence of Bust Errors", Information and Control. Vol. 14, pp. 423-441. 1959. [ Links ]

[21] J. Voloch. "Computing the minimal Distance of Cyclic Code". Computational & Applied Mathematics. Vol. 24 N° 3, pp. 293-298. 2005. [ Links ]

[22] B. Elpas. "A Note Optimum Burst Error Correcting Codes". IRE Transactions on Information Theory, pp. 39-42. January, 1962. [ Links ]

[23] Middleton D. "Statistical physical models of urban radio noise environments- Part I: Foundations". IEEE Transactions on Electromagnetic Compatibility. Vol. 14, pp. 38-56. 1972. [ Links ]

Recibido: 12 de Septiembre de 2017; Aprobado: 08 de Octubre de 2018

* Autor de correspondencia: wfernand@ubiobio.cl

Creative Commons License Este es un artículo publicado en acceso abierto bajo una licencia Creative Commons