<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Divulgaciones &#187; Teoría de Códigos</title>
	<atom:link href="http://www.divulgaciones.net/category/teoria-codigos/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.divulgaciones.net</link>
	<description>Y eso que no quería oiga, y eso que no quería</description>
	<lastBuildDate>Fri, 21 May 2010 21:58:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Códigos correctores de errores</title>
		<link>http://www.divulgaciones.net/2009/08/04/codigos-correctores-de-errores/</link>
		<comments>http://www.divulgaciones.net/2009/08/04/codigos-correctores-de-errores/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 18:35:37 +0000</pubDate>
		<dc:creator>jadebustos</dc:creator>
				<category><![CDATA[Teoría de Códigos]]></category>

		<guid isPermaLink="false">http://www.divulgaciones.net/?p=59</guid>
		<description><![CDATA[En plena era digital y con el masivo trasiego de información por vía electrónica la detección y corrección de errores es algo inherente a la transmisión de información de forma electrónica.
La transmisión de la información se realiza por varios canales:


Cables de cobre
Cables de fibra óptica
Ondas electromagnéticas
&#8230;

Existen interfencias, ruido, que afectan a estos canales y puede [...]]]></description>
			<content:encoded><![CDATA[<p>En plena era digital y con el masivo trasiego de información por vía electrónica la detección y corrección de errores es algo inherente a la transmisión de información de forma electrónica.</p>
<p>La transmisión de la información se realiza por varios canales:</p>
<p><span id="more-59"></span></p>
<ul>
<li>Cables de cobre</li>
<li>Cables de fibra óptica</li>
<li>Ondas electromagnéticas</li>
<li>&#8230;</li>
</ul>
<p>Existen interfencias, ruido, que afectan a estos canales y puede introducir errores en la transmisión. Por este motivo es necesario saber detectar cuándo se han producido errores y poder corregirlos cuándo sea necesario.</p>
<p>El ser humano utiliza el lenguaje para comunicarse, y no sólo uno. Existen multitud de lenguas en las que el ser humano se comunica. De igual forma en las comunicaciones digitales se utilizan varios lenguajes, códigos correctores de errores, para la transmisión de información.</p>
<p>Los códigos correctores de errores no son un protocolo de comunicaciones, son una forma de codificar la información que se va  a transmitir para que el receptor de la información pueda detectar si ha habido errores en la transmisión y corregirlos en determinados casos.</p>
<p>Gracias a ellos el receptor sabe cuándo la información recibida es correcta y el poder corregir los errores evita el tener que pedir al emisor la retransmisión de los datos.</p>
<p>Los objetivos de la teoría de códigos son los siguientes:</p>
<ul>
<li>Construir códigos para la transmisión de información</li>
<li>Los códigos han de detectar los errores en la transmisión</li>
<li>Se han de poder corregir el mayor número posible de errores</li>
</ul>
<p><strong>Detección de errores</strong></p>
<p>La detección de errores para el ser humano es bastante sencilla. Tenemos una gramática y sintaxis en el lenguaje a la que nos ceñimos para establecer una comunicación.</p>
<p>El seguir el &#8220;método humano&#8221; para un dispositivo electrónico, a día de hoy, no es funcional. Maxime cuándo la información transmitida de forma electrónica va más alla de la comunicación humana.</p>
<p>La información transmitida de forma electrónica no se limita a la información que se quiere transmitir. Además se incluyen todos los datos necesarios para la transmisión de información, como por ejemplo los protocolos de comunicaciones utilizados.</p>
<p>En los códigos correctores de errores se fija el tamaño de palabra y todas las palabras tendrán el mismo tamaño. En nuestro código utilizamos un conjunto restringido de estas palabras.</p>
<p>Supongamos que tenemos un alfabeto de 26 letras y las palabras de nuestro código están formadas por 4 letras.  ¿Cuántas palabras podremos formar?</p>
<p><center><a href="http://wordpress.org/extend/plugins/easy-latex/" target="_blank" title="26^{4} = 456976"><img src="http://l.wordpress.com/latex.php?latex=26%5E%7B4%7D%20%3D%20456976&#038;bg=FFFFFF&#038;fg=000000&#038;s=0" style="vertical-align:-20%;" class="tex" alt="26^{4} = 456976" /></a></center></p>
<p>De las 456976 palabras posibles escogeremos un conjunto de ellas y nos comunicaremos con este conjunto. Cuándo recibamos en la transmisión una palabra que no se encuentre en el conjunto se habrá producido un error en la transmisión.</p>
<p>Esto presenta un problema ¿que pasaría si al producirse un error este tiene como resultado una palabra de nuestro código? En este caso no se podrá detectar el error.</p>
<p>Es por este motivo que las palabras de nuestro código tienen que cumplir unos requisitos.</p>
<p>La <strong>distancia de Hamming</strong> se define el número de carácteres en que difieren dos palabras. Por ejemplo:</p>
<p><center><a href="http://www.Thulasidas.com/latex" target="_blank" title="d_{Hamming}(abcd,acbd) = 2"><img src="http://l.wordpress.com/latex.php?latex=d_%7BHamming%7D%28abcd%2Cacbd%29%20%3D%202&#038;bg=FFFFFF&#038;fg=000000&#038;s=0" style="vertical-align:-20%;" class="tex" alt="d_{Hamming}(abcd,acbd) = 2" /></a></center></p>
<p>Se dice en este caso que existe un &#8220;<strong>error de peso 2</strong>&#8221; entre ambas palabras.</p>
<p>Si escogemos las palabras del código de tal forma que el mínimo de las distancias de Hamming entre las palabras del código sea lo mayor posible reduciremos la probabilidad de que un error en la transmisión de como resultado otra palabra del código. Es decir reduciremos la probabilidad de que se produzcan errores no detectables.</p>
<p>A esta distancia se la denomina <strong>distancia mínima</strong> del código.</p>
<p>¿Cuántos errores puede detectar un código?</p>
<p><em>Un código detecta errores de peso menor o igual que <strong>n</strong> sí y sólo sí la distancia mínima del código es menor que <strong>n</strong>.</em></p>
<p><strong>Corrección de errores</strong></p>
<p>Una vez que hemos detectado un error en la transmisión deberemos corregirlo. La forma de corregir un error es añadir información redundante en las palabras que estemos utilizando.</p>
<p>En nuestro código de ejemplo hemos utilizado palabras palabras de longitud cuatro. Para poder corregir errores añadiremos uno o varios caracteres más con lo cual nuestras palabras estarán formadas por cuatro caracteres (información) y uno o varios caracteres más (información redundante). La información redundante introducida dependerá de los otros cuatro caracteres y nos permitirá corregir los errores.</p>
<p>A priorí se puede pensar que cuántos más caracteres se incluyan para la corrección de errores mejor será nuestro código. Es un error muy común, ya que cuánta más información añadamos más pesado será el código ya que:</p>
<ul>
<li>Más tiempo se tardará en generar la información redundante</li>
<li>Más tiempo se tardará en transmitir la información</li>
<li>Más tiempo se tardará en comprobar la información redundante para corregir el error</li>
</ul>
<p>¿Cuántos errores puede corregir un código?</p>
<p><em>Un código puede corregir todos los errores de peso menor o igual que <strong>t</strong> sí y sólo sí su distancia mínima es mayor o igual que <strong>2*t + 1</strong>.</em></p>
<p><strong>Aclaraciones</strong></p>
<p>Aunque no he hecho hincapié por simplificar un poco el artículo todo lo aquí mencionado es válido para códigos lineales.</p>
<p>Estos códigos se crean en espacios vectoriales definidos sobre cuerpos finitos.</p>
<p>Para detectar los errores se utiliza el <strong>espacio incidente</strong> y para corregirlos se utiliza el <strong>espacio cociente</strong>.</p>
<p>Es decir son una aplicación práctica del <a>Algebra Lineal</a> y la <a href="http://es.wikipedia.org/wiki/Teor%C3%ADa_de_n%C3%BAmeros">Teoría de Números</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.divulgaciones.net/2009/08/04/codigos-correctores-de-errores/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
