0% encontró este documento útil (0 votos)
57 vistas37 páginas

Los Codigos-1FEB25

El documento aborda la teoría de la codificación en telecomunicaciones, destacando la importancia de los códigos para la transmisión confiable de información. Se analizan diferentes tipos de códigos, incluyendo códigos convolucionales, de bloque, matriciales, de Hamming y CRC, así como sus características y aplicaciones en la detección y corrección de errores. Además, se exploran conceptos como la distancia de Hamming y el algoritmo de Viterbi para la decodificación de datos.

Cargado por

Nicolas Passini
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
57 vistas37 páginas

Los Codigos-1FEB25

El documento aborda la teoría de la codificación en telecomunicaciones, destacando la importancia de los códigos para la transmisión confiable de información. Se analizan diferentes tipos de códigos, incluyendo códigos convolucionales, de bloque, matriciales, de Hamming y CRC, así como sus características y aplicaciones en la detección y corrección de errores. Además, se exploran conceptos como la distancia de Hamming y el algoritmo de Viterbi para la decodificación de datos.

Cargado por

Nicolas Passini
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

REPÚBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA DEFENSA


UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA
FUERZA
ARMADA NACIONAL BOLIVARIANA

Los codigos

Profesor: Alumno:
Ibis Martínez Nicolás Passini

C.I:30.102.148
Materia: Telefonía

Maracay, 1 de Febrero del 2025


Introducción

La comunicación digital ha revolucionado la forma en que interactuamos y


consumimos información. Detrás de cada mensaje de texto, llamada telefónica o
transmisión de datos, existe un complejo sistema de codificación con códigos que
garantiza la integridad y fiabilidad de la información. Los códigos son sistemas de
reglas que permiten representar la información de manera estructurada y eficiente.
Al transformar los datos en una secuencia de símbolos, los códigos facilitan su
transmisión, almacenamiento y procesamiento. La teoría de la codificación es una
disciplina que estudia cómo diseñar códigos eficientes para garantizar la
transmisión confiable de información a través de canales ruidosos. A través de
este estudio, exploraremos conceptos clave como la distancia de Hamming, la
codificación sistemática y los algoritmos de decodificación. En el ámbito de las
telecomunicaciones y la teoría de la información, la transmisión eficiente y
confiable de datos es un pilar fundamental. Para lograr este objetivo, se han
desarrollado diversas técnicas de codificación que permiten detectar y corregir
errores, mejorar la eficiencia espectral y garantizar la integridad de la información
transmitida. Este trabajo se enfoca en explorar y analizar los diferentes tipos de
códigos utilizados en la codificación de canales, así como en comprender los
fenómenos que afectan la calidad de la señal durante la transmisión.
Los objetivos principales de este trabajo son

1. Entender los tipos de códigos:

Estudiar códigos convolucionales, de bloque, matriciales, de Hamming y CRC, sus


características y usos.

2. Profundizar en códigos convolucionales:

Analizar sus características, secuencias generadoras, diagramas de Trellis y


decodificación con el algoritmo de Viterbi.

3. Explorar códigos de bloque:

Examinar sus propiedades, forma sistemática, matriz de paridad y métodos para


detectar y corregir errores.

4. Analizar códigos matriciales:

Identificar sus componentes y procesos de codificación y decodificación.

5. Estudiar códigos de Hamming:

Comprender el código Hamming (7,4), su codificación, decodificación y versión


extendida.

6. Investigar códigos CRC:

Entender su funcionamiento, polinomios generadores y detección de errores.

7. Evaluar efectos en la transmisión:

Analizar distorsiones de fase y amplitud, y su impacto en la señal.

8. Revisar herramientas de medición:

Explorar módems con patrones de prueba, mediciones en activación y verificación


de hilos.
Códigos y sus tipos

En el contexto de la teoría de la información, las telecomunicaciones y la


informática, un código es un sistema de reglas o algoritmos que transforma
información de una forma a otra, con el propósito de facilitar su transmisión,
almacenamiento o procesamiento. Los códigos son fundamentales para garantizar
la integridad, eficiencia y seguridad de la información, especialmente en entornos
donde existen riesgos de errores, interferencias o pérdidas de datos.

Un código puede entenderse como un mapeo entre un conjunto de símbolos o


mensajes originales (entrada) y un conjunto de símbolos codificados (salida). Este
mapeo se realiza siguiendo reglas predefinidas, que pueden incluir la adición de
redundancia, la reorganización de los datos o la aplicación de operaciones
matemáticas. El objetivo principal de un código es:

Detección y corrección de errores: Añadir información redundante para


identificar y corregir errores que puedan ocurrir durante la transmisión o el
almacenamiento.

Compresión de datos: Reducir el tamaño de la información para optimizar el uso


del ancho de banda o el espacio de almacenamiento.

Seguridad: Proteger la información mediante técnicas de cifrado que la hacen


ininteligible para usuarios no autorizados.

Eficiencia en la transmisión: Facilitar la transmisión de datos a través de canales


ruidosos o con limitaciones de capacidad.
Componentes de un código

Un código está compuesto por varios elementos clave:

Alfabeto: Conjunto de símbolos utilizados para representar la información. Puede


ser binario (0 y 1), decimal, hexadecimal, entre otros.

Palabra código: Secuencia de símbolos resultante después de aplicar el proceso


de codificación a un mensaje original.

Longitud del código: Número de símbolos que componen una palabra código.

Redundancia: Información adicional añadida durante la codificación para permitir


la detección y corrección de errores.

Reglas de codificación y decodificación: Algoritmos que definen cómo se


transforma la información original en una palabra código y cómo se recupera el
mensaje original a partir de la palabra código recibida.
Tipos de códigos

1) Códigos convolucionales:

Los códigos convolucionales son un tipo de código de corrección de errores


ampliamente utilizado en comunicaciones digitales, especialmente en entornos
con ruido e interferencias. A diferencia de los códigos de bloque, que operan sobre
bloques de datos independientes, los códigos convolucionales procesan
secuencias de datos continuas, lo que les permite corregir errores en flujos de
información largos.

Características:

Memoria: Los códigos convolucionales tienen una estructura de memoria, lo que


significa que cada bit de salida depende no solo del bit de entrada actual, sino
también de un conjunto de bits anteriores. Esto se logra mediante el uso de
registros de desplazamiento.

Tasa de código: Se define como k/n , donde k es el número de bits de entrada y n


es el número de bits de salida. Por ejemplo, en un código con tasa 1/2, por cada
bit de entrada se generan dos bits de salida.

Longitud de restricción: Es el número de bits anteriores que influyen en la salida


actual. Se denota como K y determina la complejidad del código.

Eficiencia en la corrección de errores: Los códigos convolucionales son eficaces


para corregir errores en secuencias largas de datos, lo que los hace ideales para
aplicaciones como comunicaciones inalámbricas y satelitales.

Secuencias generadoras:

Las secuencias generadoras son patrones binarios que definen cómo se combinan
los bits de entrada y los bits almacenados en los registros de desplazamiento para
producir la salida codificada. Estas secuencias se representan como polinomios o
vectores binarios.

 Cada secuencia generadora corresponde a una salida del codificador.


 El número de secuencias generadoras depende de la tasa del código. Por
ejemplo, en un código con R=1/2R=1/2, hay dos secuencias generadoras.

Ejemplo:
Para un código convolucional con K=3K=3 y R=1/2R=1/2, las secuencias
generadoras podrían ser:

 G1=111G1=111 (en binario: 7 en decimal)


 G2=101G2=101 (en binario: 5 en decimal)

Estas secuencias indican cómo se combinan los bits de entrada y los registros
para generar los bits de salida. Por ejemplo, si el estado actual de los registros
es 110110 y el bit de entrada es 11, la salida se calcula aplicando las operaciones
XOR definidas por G1G1 y G2G2.

Codificación por Diagrama de Trellis:

El diagrama de Trellis es una representación gráfica de un código convolucional


que muestra todos los posibles estados del codificador y las transiciones entre
ellos a lo largo del tiempo. Cada nodo representa un estado del codificador, y cada
arista representa una transición entre estados, etiquetada con la entrada y la
salida correspondiente.

 Estados: Dependen de los bits almacenados en los registros de


desplazamiento. Para K=3K=3, hay 2K−1=42K−1=4 estados posibles.
 Transiciones: Cada estado puede transitar a otros estados dependiendo del
bit de entrada (0 o 1).

Decodificación, algoritmo de Viterbi:

El algoritmo de Viterbi es un método óptimo para decodificar códigos


convolucionales. Su objetivo es encontrar la secuencia de bits más probable que
fue transmitida, dada la secuencia recibida (que puede contener errores). El
algoritmo utiliza el diagrama de Trellis para calcular la ruta de menor costo
(mínima distancia de Hamming) entre la secuencia recibida y las posibles
secuencias codificadas.

Pasos del algoritmo de Viterbi:

1. Inicialización: Asignar un costo inicial a cada estado en el diagrama de


Trellis.
2. Cálculo de costos: Para cada bit recibido, calcular el costo acumulado de
todas las posibles transiciones entre estados.
3. Selección de la mejor ruta: En cada paso, seleccionar la transición con el
menor costo acumulado.
4. Decisión final: Al final del proceso, seleccionar la ruta con el menor costo
total, que corresponde a la secuencia de bits más probable.

Ejemplo:
Supongamos que se recibe la secuencia 11 01 10110110. El algoritmo de Viterbi
calcula las posibles rutas en el diagrama de Trellis y selecciona la que tiene la
menor distancia de Hamming con respecto a la secuencia recibida. Si la ruta más
probable corresponde a los estados 00→10→11→0100→10→11→01, entonces la
secuencia decodificada será 1 0 1101.

2) Códigos de bloque:

Los códigos de bloque son un tipo de código de corrección de errores que


operan sobre bloques de datos de longitud fija. A diferencia de los códigos
convolucionales, que procesan secuencias continuas, los códigos de bloque
dividen la información en bloques independientes y aplican reglas de codificación
a cada bloque por separado. Estos códigos son ampliamente utilizados en
sistemas de comunicación y almacenamiento de datos debido a su simplicidad y
eficacia en la detección y corrección de errores.

1. Propiedades
Los códigos de bloque se caracterizan por las siguientes propiedades:

 Longitud del bloque (n): Número total de bits en una palabra código
(incluyendo bits de datos y bits de redundancia).
 Longitud de los datos (k): Número de bits de información en el bloque.
 Redundancia (r): Número de bits adicionales añadidos para la detección y
corrección de errores, donde r=n−kr=n−k.
 Tasa del código (R): Relación entre los bits de información y los bits
totales, R=k/nR=k/n.
 Distancia mínima (dₘᵢₙ): Mínimo número de bits en los que difieren dos
palabras código distintas. Determina la capacidad de detección y corrección
de errores.

2. Código de bloque lineal

Un código de bloque lineal es un tipo especial de código de bloque donde las


palabras código forman un subespacio vectorial sobre un campo finito
(generalmente el campo binario GF(2)GF(2)). Esto significa que:

 La suma de dos palabras código es otra palabra código.


 La multiplicación de una palabra código por un escalar (0 o 1 en binario)
también es una palabra código.
 Se pueden representar mediante matrices, lo que facilita su implementación
y análisis.

Ejemplo:
Un código de bloque lineal con n=5n=5 y k=2k=2 puede tener las siguientes
palabras código:

 0000000000
 0101101011
 1010110101
 1111011110

Estas palabras código forman un subespacio vectorial, ya que cualquier


combinación lineal de ellas también es una palabra código válida.

3. Forma sistemática

Un código de bloque está en forma sistemática cuando los bits de información


aparecen directamente en la palabra código, seguidos por los bits de redundancia.
Esto facilita la extracción de los datos originales sin necesidad de decodificación
completa.

 Estructura: [bits de informacioˊn ∣ bits de redundancia][bits de informacioˊ


n∣bits de redundancia].
 Ventaja: Simplifica el proceso de codificación y decodificación.

Ejemplo:
Un código sistemático con n=5n=5 y k=3k=3 podría tener palabras código como:

 110 0111001
 101 1010110
 011 1101111

Aquí, los primeros 3 bits son los bits de información, y los últimos 2 son los bits de
redundancia.

4. Matriz de comprobación de paridad

La matriz de comprobación de paridad (H) es una matriz utilizada para verificar


si una palabra código recibida es válida. Se define como una matriz de r×nr×n,
donde r=n−kr=n−k. Para un código de bloque lineal, se cumple que:

H⋅cT=0H⋅cT=0
donde cc es una palabra código válida. Si el resultado no es cero, indica la
presencia de errores.

Ejemplo:
Para un código con n=5n=5 y k=2k=2, una posible matriz HH es:

H=(101000101011001)H=101011100010001

Si se recibe la palabra c=10101c=10101, se verifica multiplicando H⋅cTH⋅cT. Si el


resultado es 00, la palabra es válida.

5. Detección de errores

La detección de errores en códigos de bloque se basa en la redundancia añadida


durante la codificación. Si una palabra código recibida no cumple con las reglas
del código (por ejemplo, no satisface H⋅cT=0H⋅cT=0), se detecta un error.

 Capacidad de detección: Un código con distancia


mínima dmindmin puede detectar hasta dmin−1dmin−1 errores.

Ejemplo:
En un código con dmin=3dmin=3, se pueden detectar hasta 2 errores. Si se recibe
la palabra 1110011100 en lugar de 1111111111, se detecta un error.

6. Distancia mínima de un código

La distancia mínima (dₘᵢₙ) es el número mínimo de bits en los que difieren dos
palabras código distintas. Determina la capacidad de detección y corrección de
errores del código:

 Detección de errores: Un código puede detectar hasta dmin−1dmin


−1 errores.
 Corrección de errores: Un código puede corregir hasta ⌊(dmin−1)/2⌋
⌊(dmin−1)/2⌋ errores.

3) Códigos matriciales:

Los códigos matriciales son un tipo de código de corrección de errores que


utilizan matrices para definir las reglas de codificación y decodificación. Estos
códigos son especialmente útiles en aplicaciones que requieren una alta eficiencia
en la detección y corrección de errores, como en sistemas de almacenamiento
masivo y comunicaciones de alta velocidad. Su estructura matricial permite una
implementación eficiente y una fácil generalización para diferentes tasas de código
y capacidades de corrección.

1. Componentes

Los códigos matriciales están compuestos por los siguientes elementos clave:

1. Matriz generadora (G):


o Una matriz de tamaño k×nk×n que define cómo se transforman
los kk bits de información en nn bits codificados.
o Cada fila de GG es una palabra código base, y cualquier palabra
código válida es una combinación lineal de estas filas.
2. Matriz de comprobación de paridad (H):
o Una matriz de tamaño r×nr×n (donde r=n−kr=n−k) que se utiliza para
verificar si una palabra código recibida es válida.
o Satisface la condición H⋅GT=0H⋅GT=0, lo que garantiza que todas
las palabras código válidas sean ortogonales a HH.
3. Palabras código:
o Secuencias de nn bits generadas al multiplicar los kk bits de
información por la matriz generadora GG.
4. Tasa del código (R):
o Relación entre los bits de información y los bits
codificados, R=k/nR=k/n.

2. Codificación de códigos

La codificación en códigos matriciales consiste en transformar los kk bits de


información en una palabra código de nn bits utilizando la matriz generadora GG.
El proceso se realiza mediante una multiplicación matricial:

c=m⋅Gc=m⋅G

donde:

 mm es el vector de kk bits de información.


 cc es la palabra código resultante de nn bits.

Ejemplo:
Supongamos que queremos codificar el mensaje m=[1 0]m=[10] utilizando la
matriz generadora GG del ejemplo anterior:

c=[1 0]⋅(10110110)=[1 0 1 1]c=[10]⋅(10011110)=[1011]

La palabra código resultante es c=1011c=1011.

3. Decodificación y detección de errores

La decodificación en códigos matriciales implica recuperar los kk bits de


información originales a partir de la palabra código recibida, que puede contener
errores. El proceso incluye la detección y, en algunos casos, la corrección de
errores.
Pasos para la decodificación:

1. Verificación de errores:
o Se multiplica la palabra código recibida c′c′ por la matriz de
comprobación de paridad HH:

s=H⋅c′Ts=H⋅c′T

o Si s=0s=0, no se detectan errores. Si s≠0s=0, se detecta un error.


2. Corrección de errores:
o Si se detecta un error, se utiliza el síndrome ss para identificar la
posición del error y corregirlo.
o El síndrome ss corresponde a una columna de HH, lo que indica la
posición del bit erróneo.
3. Recuperación de la información:
o Una vez corregido el error, se extraen los kk bits de información de la
palabra código válida.

Ejemplo:
Supongamos que se recibe la palabra c′=1010c′=1010 (en lugar
de c=1011c=1011). Para detectar y corregir el error:

1. Calculamos el síndrome:

s=H⋅c′T=(11101001)⋅(1010)=(01)s=H⋅c′T=(11101001)⋅1010=(01)

El síndrome s=[0 1]s=[01] indica que hay un error.


2. Identificamos la columna de HH que corresponde al síndrome [0 1][01], que
es la cuarta columna. Esto indica que el error está en el cuarto bit.
3. Corregimos el error cambiando el cuarto bit de c′c′:
c=1011c=1011
4. Finalmente, extraemos los bits de información m=[1 0]m=[10] de la palabra
código corregida.

4) Códigos de Hamming:

Los códigos de Hamming son una familia de códigos de corrección de errores


que permiten detectar y corregir errores individuales en bloques de datos. Fueron
desarrollados por Richard Hamming en 1950 y son ampliamente utilizados en
aplicaciones donde la integridad de los datos es crítica, como en memorias RAM,
sistemas de comunicación y almacenamiento de datos. Estos códigos son
eficientes y relativamente simples de implementar, lo que los hace populares en
sistemas digitales.

1. Características

Los códigos de Hamming tienen las siguientes características principales:

 Detección y corrección de errores: Pueden detectar hasta 2 errores y


corregir 1 error en una palabra código.
 Estructura sistemática: Los bits de información y los bits de paridad
(redundancia) están separados en la palabra código.
 Distancia mínima (dₘᵢₙ): La distancia mínima entre dos palabras código
válidas es 3, lo que permite la corrección de un error y la detección de dos.
 Eficiencia: Son códigos óptimos en términos de la relación entre la
cantidad de bits de redundancia y la capacidad de corrección de errores.

2. Hamming (7,4)

El código Hamming (7,4) es el más conocido de la familia de códigos de


Hamming. En este código:
 Longitud del bloque (n): 7 bits.
 Bits de información (k): 4 bits.
 Bits de paridad (r): 3 bits.

La palabra código tiene la forma [d1 d2 d3 d4 p1 p2 p3] [d1d2d3d4p1p2p3],


donde didi son los bits de información y pipi son los bits de paridad.

Ejemplo:
Una palabra código en Hamming (7,4) podría ser 10110011011001, donde:

 d1=1d1=1, d2=0d2=0, d3=1d3=1, d4=1d4=1 (bits de información).


 p1=0p1=0, p2=0p2=0, p3=1p3=1 (bits de paridad).

3. Codificación

La codificación en el código Hamming (7,4) consiste en calcular los bits de


paridad a partir de los bits de información. Los bits de paridad se colocan en
posiciones específicas de la palabra código (posiciones que son potencias de 2: 1,
2, 4).

Reglas para calcular los bits de paridad:

 p1p1: Paridad de los bits en las posiciones 1, 3, 5, 7.


 p2p2: Paridad de los bits en las posiciones 2, 3, 6, 7.
 p3p3: Paridad de los bits en las posiciones 4, 5, 6, 7.

Ejemplo:
Supongamos que los bits de información son d1=1d1=1, d2=0d2=0, d3=1d3
=1, d4=1d4=1. Calculamos los bits de paridad:

 p1=d1⊕d3⊕d4=1⊕1⊕1=1p1=d1⊕d3⊕d4=1⊕1⊕1=1.
 p2=d1⊕d2⊕d4=1⊕0⊕1=0p2=d1⊕d2⊕d4=1⊕0⊕1=0.
 p3=d2⊕d3⊕d4=0⊕1⊕1=0p3=d2⊕d3⊕d4=0⊕1⊕1=0.
La palabra código resultante es 10110101011010.

4. Decodificación

La decodificación en el código Hamming (7,4) implica detectar y corregir errores


en la palabra código recibida. El proceso se realiza utilizando los bits de paridad
para calcular un síndrome que indica la posición del error.

Pasos para la decodificación:

1. Calcular el síndrome:
o Se recalculan los bits de paridad a partir de los bits recibidos.
o Se comparan con los bits de paridad recibidos para obtener el
síndrome.
2. Identificar el error:
o El síndrome es un número binario que indica la posición del bit
erróneo. Si el síndrome es 0, no hay errores.
3. Corregir el error:
o Si el síndrome no es 0, se invierte el bit en la posición indicada.

Ejemplo:
Supongamos que se recibe la palabra 10100101010010 (en lugar
de 10110101011010). Para decodificar:

1. Calculamos los bits de paridad recibidos:

o p1′=d1⊕d3⊕d4=1⊕0⊕1=0p1′=d1⊕d3⊕d4=1⊕0⊕1=0.
o p2′=d1⊕d2⊕d4=1⊕0⊕1=0p2′=d1⊕d2⊕d4=1⊕0⊕1=0.
o p3′=d2⊕d3⊕d4=0⊕0⊕1=1p3′=d2⊕d3⊕d4=0⊕0⊕1=1.
2. Calculamos el síndrome:

o s1=p1′⊕p1=0⊕1=1s1=p1′⊕p1=0⊕1=1.
o s2=p2′⊕p2=0⊕0=0s2=p2′⊕p2=0⊕0=0.
o s3=p3′⊕p3=1⊕0=1s3=p3′⊕p3=1⊕0=1.
o El síndrome es 101101 (5 en decimal), lo que indica que el error está
en la posición 5.
3. Corregimos el error invirtiendo el bit en la posición 5:
o La palabra corregida es 10110101011010.

5. Código de Hamming extendido

El código de Hamming extendido es una variante del código Hamming que


añade un bit de paridad adicional para mejorar la capacidad de detección de
errores. Este bit de paridad se calcula sobre todos los bits de la palabra código,
incluyendo los bits de paridad originales.

 Longitud del bloque (n): 8 bits (en el caso de Hamming (7,4) extendido).
 Bits de información (k): 4 bits.
 Bits de paridad (r): 4 bits (3 originales + 1 adicional).

5) Códigos de redundancia Cíclica (CRC):

Los Códigos de Redundancia Cíclica (CRC) son un tipo de código de detección


de errores ampliamente utilizado en sistemas de comunicación y almacenamiento
de datos. Su principal función es detectar errores en la transmisión de información,
como cambios no deseados en los bits debido a ruido o interferencias. Los
códigos CRC son especialmente eficientes para detectar errores en ráfagas
(varios bits erróneos consecutivos) y se implementan fácilmente en hardware y
software.

1. Características

Los códigos CRC tienen las siguientes características principales:

 Detección de errores: Pueden detectar errores en bloques de datos,


incluyendo errores en ráfagas.
 Estructura cíclica: Las palabras código son polinomios cíclicos, lo que
significa que un desplazamiento cíclico de una palabra código válida
también es una palabra código válida.
 Eficiencia: Añaden una pequeña cantidad de bits de redundancia
(generalmente entre 8 y 32 bits) para detectar errores.
 Implementación sencilla: Se implementan fácilmente utilizando registros
de desplazamiento y operaciones XOR.
 Aplicaciones comunes: Se utilizan en redes Ethernet, comunicaciones
inalámbricas, sistemas de almacenamiento (como discos duros) y
protocolos de comunicación (como TCP/IP).

Ejemplo:
Un código CRC-8 añade 8 bits de redundancia a un bloque de datos, lo que
permite detectar errores en bloques de hasta 255 bits.

2. Polinomios generadores

El polinomio generador es un componente clave en los códigos CRC. Es un


polinomio binario que define las reglas para calcular los bits de redundancia. El
polinomio generador se elige cuidadosamente para maximizar la capacidad de
detección de errores.

 Formato: Se representa como una cadena de bits, donde cada bit indica la
presencia (1) o ausencia (0) de un término en el polinomio.
 Grado: El grado del polinomio determina el número de bits de redundancia.
Por ejemplo, un polinomio de grado 8 genera 8 bits de redundancia.

Ejemplo:
Un polinomio generador común es G(x)=x3+x+1G(x)=x3+x+1, que se representa
en binario como 10111011. Este polinomio se utiliza para calcular 3 bits de
redundancia.

3. Cálculo de palabra código


El cálculo de la palabra código en CRC implica dividir el mensaje original
(representado como un polinomio) por el polinomio generador y utilizar el resto de
la división como bits de redundancia. El proceso se realiza en los siguientes
pasos:

1. Añadir ceros: Se añaden rr ceros al final del mensaje, donde rr es el grado


del polinomio generador.
2. División polinómica: Se divide el mensaje extendido por el polinomio
generador utilizando aritmética módulo 2 (operaciones XOR).
3. Resto: El resto de la división se utiliza como bits de redundancia (CRC).
4. Palabra código: Se concatena el mensaje original con los bits de CRC
para formar la palabra código.

Ejemplo:
Supongamos que queremos calcular el CRC para el
mensaje 110101110101 utilizando el polinomio generador G(x)=x3+xG(x)=x3+x

6) Distorsión de fase:

La distorsión de fase ocurre cuando diferentes componentes de frecuencia de una


señal pasan a través de un sistema y experimentan diferentes cambios de fase.
Esto puede alterar la forma de la señal original, aunque la magnitud de las
componentes de frecuencia no se vea afectada.

Imagina una señal como una ola en el mar. Cada ola representa una frecuencia
diferente. Si algunas olas llegan a la orilla antes que otras, la forma de la ola
resultante será diferente a la original. Esto es lo que ocurre con la distorsión de
fase.

En términos más técnicos, la distorsión de fase se produce cuando los diferentes


componentes de frecuencia de una señal experimentan retrasos temporales
distintos al atravesar un sistema. Esto provoca que la forma de onda de la señal
de salida se modifique en relación a la señal de entrada.
Causas de la distorsión de fase:

Componentes electrónicos: Los componentes como capacitores e inductores


tienen diferentes respuestas a las diferentes frecuencias, lo que puede introducir
retrasos variables.

Medios de transmisión: Los cables, fibras ópticas y medios inalámbricos pueden


introducir atenuación y dispersión, lo que provoca distorsión de fase.

Multitrayectos: Cuando una señal se refleja en múltiples superficies, puede llegar


al receptor por diferentes caminos, causando retrasos y distorsión.

Efectos de la distorsión de fase:

Degradación de la señal: La forma de onda original se altera, lo que puede


dificultar la recuperación de la información.

Interferencia entre símbolos: En sistemas digitales, la distorsión de fase puede


causar que los símbolos se superpongan, lo que dificulta su detección.

Pérdida de información: En sistemas de audio y video, la distorsión de fase puede


causar una pérdida de claridad y nitidez.

Ejemplo en audio:

Imagina una grabación de música. Cada instrumento produce un conjunto de


frecuencias. Si la distorsión de fase afecta a estas frecuencias de manera
diferente, el sonido resultante puede sonar "desfasado" o "fuera de sincronía", lo
que resulta en una experiencia auditiva desagradable.

Ejemplo en comunicaciones digitales:

En un sistema de comunicaciones digitales, la distorsión de fase puede causar


errores de bit, lo que reduce la tasa de transferencia de datos y aumenta la
necesidad de retransmitir la información.
Cómo medir y corregir la distorsión de fase:

Análisis espectral: Se utiliza un analizador de espectro para medir la respuesta en


frecuencia del sistema y detectar cualquier desviación de la respuesta ideal.

Diagramas de constelación: En sistemas digitales, se utilizan diagramas de


constelación para visualizar la distorsión de fase y amplitud.

Ecualización: Se utilizan filtros y ecualizadores para compensar la distorsión de


fase y restaurar la forma original de la señal.

7) Distorsión de amplitud o atenuación:

La distorsión de amplitud, también conocida como atenuación, es un fenómeno


que ocurre cuando la amplitud de una señal eléctrica o óptica disminuye a medida
que se propaga a través de un medio. Esta reducción en la amplitud puede ser
causada por una variedad de factores, como la resistencia de los conductores, las
pérdidas en las fibras ópticas o la interferencia externa.

Causas comunes de la distorsión de amplitud:

 Pérdidas óhmicas: Los conductores eléctricos tienen una resistencia


inherente que disipa energía en forma de calor, lo que reduce la amplitud
de la señal.
 Pérdidas dieléctricas: En los cables coaxiales y las fibras ópticas, parte de
la energía de la señal puede ser absorbida por el material dieléctrico, lo que
provoca atenuación.
 Acoplamiento de ruido: El ruido eléctrico o electromagnético puede
superponerse a la señal, reduciendo su amplitud relativa.
 Dispersión: En los sistemas de comunicaciones digitales, la dispersión
puede causar que los pulsos se ensanchen y se superpongan, lo que
dificulta la distinción entre los bits.

Efectos de la distorsión de amplitud:

 Reducción de la relación señal-ruido (SNR): A medida que la amplitud de


la señal disminuye, el ruido se vuelve más significativo en comparación con
la señal, lo que puede llevar a errores de transmisión.
 Pérdida de información: En sistemas de comunicación analógica, la
atenuación puede resultar en una pérdida de detalles y una reducción en la
calidad del sonido o de la imagen.
 Limitación del alcance: La atenuación limita la distancia a la que se puede
transmitir una señal de manera confiable.

Ejemplos concretos:

 Cable de audio: Si un cable de audio es demasiado largo o está dañado, la


señal de audio puede atenuarse, resultando en un sonido más bajo y con
menos claridad.
 Fibra óptica: En un sistema de comunicaciones por fibra óptica, la
atenuación puede ser causada por curvaturas excesivas en la fibra,
impurezas en el material o conexiones mal realizadas.
 Redes inalámbricas: Las señales inalámbricas se atenúan a medida que
se alejan de la fuente, debido a la propagación en el espacio libre y a la
absorción por parte de obstáculos.

Métodos para compensar la atenuación:

 Amplificadores: Se utilizan para aumentar la amplitud de la señal y


compensar las pérdidas.
 Ecualización: Se utilizan filtros para ajustar la respuesta en frecuencia del
sistema y compensar las variaciones de atenuación en diferentes
frecuencias.
 Repetidores: En sistemas de comunicación a larga distancia, se utilizan
repetidores para amplificar la señal a intervalos regulares.
 Códigos de corrección de errores: Estos códigos añaden redundancia a
la señal para permitir la detección y corrección de errores causados por la
atenuación y el ruido.

En resumen, la distorsión de amplitud es un fenómeno inevitable en los sistemas


de comunicación. Comprender sus causas y efectos es fundamental para diseñar
sistemas de comunicación robustos y eficientes. Al implementar medidas
adecuadas para compensar la atenuación, podemos garantizar una transmisión de
datos confiable y de alta calidad.

8) Efectos sobre la amplitud:

Pérdida de Información:

 Digital: En sistemas digitales, cada nivel de amplitud representa un bit


específico (0 o 1). La atenuación puede hacer que estos niveles se
confundan, llevando a errores de bit. Esto se traduce en datos corruptos,
archivos dañados o pérdida de conexión.
 Analógico: En sistemas analógicos, como el audio o el video, la atenuación
reduce el rango dinámico de la señal, lo que significa que las partes más
suaves y más fuertes de la señal se aplanan. Esto resulta en una pérdida
de detalle y una reducción en la calidad percibida.

2. Limitación del Alcance:

 Atenuación por distancia: La atenuación aumenta con la distancia. En


sistemas inalámbricos, la señal se dispersa en un área cada vez mayor, lo
que reduce su intensidad.
 Pérdidas en los conectores: Cada conexión física introduce pérdidas, lo
que contribuye a la atenuación total de la señal.
 Interferencias: El ruido y otras señales pueden interferir con la señal
deseada, agravando el efecto de la atenuación.

3. Distorsión de la Forma de Onda:

 Intermodulación: Cuando múltiples señales se combinan en un medio no


lineal, pueden producirse nuevas frecuencias que no estaban presentes en
las señales originales. Esto puede causar distorsión intermodulación, que
es una forma de distorsión de amplitud.
 Distorsión armónica: La generación de armónicos puede ocurrir cuando
una señal no sinusoidal pasa a través de un dispositivo no lineal. Los
armónicos son múltiplos enteros de la frecuencia fundamental y pueden
causar interferencia.

4. Implicaciones en Sistemas de Comunicación Digital:

 Error de bit: La atenuación puede aumentar la probabilidad de error de bit,


lo que requiere técnicas de corrección de errores más sofisticadas.
 Reducción de la tasa de datos: Para mantener una tasa de error baja,
puede ser necesario reducir la velocidad de transmisión o utilizar esquemas
de modulación más robustos.
 Pérdida de sincronización: La atenuación puede dificultar la
sincronización del reloj en el receptor, lo que puede llevar a errores de bit.

5. Implicaciones en Sistemas de Comunicación Analógica:

 Reducción de la calidad de audio: La atenuación puede hacer que el


sonido sea más suave, menos claro y con menos detalles.
 Pérdida de detalle en imágenes: En sistemas de video, la atenuación
puede causar una pérdida de detalle y contraste, lo que resulta en una
imagen más borrosa.

Métodos para Compensar la Atenuación:

 Amplificadores: Se utilizan para aumentar la amplitud de la señal.


 Ecualizadores: Se utilizan para ajustar la respuesta en frecuencia del
sistema y compensar las pérdidas de ganancia.
 Repetidores: Se utilizan en sistemas de comunicación de larga distancia
para amplificar la señal a intervalos regulares.
 Códigos de corrección de errores: Se utilizan para detectar y corregir
errores causados por la atenuación y el ruido.

9) Modems con posibilidad de generar patrones de prueba:

Los módems, como ya sabemos, son dispositivos que modulan y demodulan


señales para permitir la transmisión de datos a través de diferentes medios. Pero,
¿qué son exactamente los patrones de prueba y por qué son tan importantes en el
funcionamiento de un módem?

¿Qué son los patrones de prueba?

Los patrones de prueba son señales electrónicas diseñadas específicamente para


evaluar el rendimiento de un sistema de comunicaciones. Estas señales pueden
ser simples, como una secuencia de unos y ceros, o más complejas, como
patrones aleatorios o señales sinusoidales.

¿Por qué son importantes?

1. Diagnóstico de fallas: Los patrones de prueba permiten identificar y aislar


problemas en el sistema de comunicaciones. Por ejemplo, si un patrón de
prueba se distorsiona al ser transmitido y recibido, se puede inferir que
existe un problema en el canal de comunicación o en el propio módem.
2. Calibración: Los patrones de prueba se utilizan para calibrar los equipos
de comunicación y asegurar que estén funcionando dentro de las
especificaciones. Por ejemplo, se pueden utilizar para ajustar los niveles de
ganancia, la ecualización y la sincronización.
3. Verificación de la conformidad con estándares: Los patrones de prueba
se utilizan para verificar que un equipo cumple con los estándares de la
industria, como los establecidos por la ITU (Unión Internacional de
Telecomunicaciones).
4. Optimización del rendimiento: Los patrones de prueba permiten ajustar
los parámetros de un sistema de comunicaciones para obtener el máximo
rendimiento. Por ejemplo, se pueden utilizar para encontrar la tasa de bits
óptima para un canal determinado.

Tipos de patrones de prueba:

 Patrones de bits: Secuencias de unos y ceros de longitud fija o variable.


Se utilizan para evaluar la tasa de error de bits y la sincronización.
 Patrones de tonos múltiples: Se generan mediante la superposición de
múltiples tonos sinusoidales de diferentes frecuencias. Se utilizan para
medir la respuesta en frecuencia de un canal.
 Patrones de ruido: Se utilizan para simular condiciones de ruido y evaluar
la capacidad de un sistema para operar en entornos ruidosos.
 Patrones de pseudoaleatorios: Secuencias de bits generadas de forma
aleatoria, pero con propiedades estadísticas conocidas. Se utilizan para
evaluar la respuesta impulsional de un sistema.

¿Cómo funcionan los patrones de prueba en un módem?

1. Generación: El módem genera un patrón de prueba específico.


2. Transmisión: El patrón se transmite a través del canal de comunicación.
3. Recepción y comparación: El módem receptor compara la señal recibida
con la señal original.
4. Análisis: Se realizan cálculos para determinar la calidad de la señal, como
la tasa de error de bits, la distorsión y la relación señal-ruido.

Ejemplos de aplicaciones:

 Pruebas de línea: Los técnicos utilizan patrones de prueba para verificar la


calidad de una línea telefónica antes de instalar un servicio.
 Calibración de equipos: Los ingenieros de RF utilizan patrones de prueba
para calibrar equipos de microondas y satélite.
 Desarrollo de nuevos módems: Los fabricantes de módems utilizan
patrones de prueba para evaluar el rendimiento de sus productos y
garantizar que cumplan con los estándares de la industria.

10) Mediciones a efectuar en fase de activación:

La fase de activación de un sistema de comunicaciones es crucial para garantizar


su correcto funcionamiento y rendimiento óptimo. A continuación, profundizaremos
en las mediciones clave a realizar durante esta etapa, junto con ejemplos y
diagramas ilustrativos.

Mediciones Clave en la Fase de Activación

1. Nivel de Señal:

 ¿Por qué es importante? Un nivel de señal adecuado garantiza que la


señal sea lo suficientemente fuerte para superar el ruido y la interferencia,
pero no tan fuerte como para saturar los circuitos.
 Cómo se mide: Se utiliza un medidor de potencia o un analizador de
espectro para medir la amplitud de la señal en voltios o en decibelios
(dBm).

2. Relación Señal-Ruido (SNR):


 ¿Por qué es importante? Una alta SNR indica una señal de buena calidad
y una menor probabilidad de errores.
 Cómo se mide: Se calcula la diferencia entre la potencia de la señal y la
potencia del ruido.

3. Distorsión:

 Distorsión armónica total (THD): Mide la cantidad de armónicos


presentes en la señal, lo que indica la no linealidad del sistema.
 Distorsión intermodulación: Ocurre cuando dos o más señales de
diferentes frecuencias se combinan en un sistema no lineal, generando
nuevas frecuencias.

4. Tasa de Error de Bit (BER):

 ¿Por qué es importante? Un BER bajo indica una alta calidad de la


transmisión.
 Cómo se mide: Se envía una secuencia conocida de bits y se compara con
la secuencia recibida para calcular la proporción de errores.

5. Jitter:

 ¿Qué mide? Las variaciones aleatorias en el tiempo de llegada de los bits.


 ¿Por qué es importante? Un jitter excesivo puede causar errores de
sincronización y afectar la calidad de la señal.

6. Ancho de Banda:

 ¿Qué mide? El rango de frecuencias que puede transmitir un sistema sin


una distorsión excesiva.
 ¿Por qué es importante? Un ancho de banda adecuado es necesario para
transmitir datos a altas velocidades.

7. Retardo de Propagación:
 ¿Qué mide? El tiempo que tarda una señal en viajar de un punto a otro.
 ¿Por qué es importante? Un retardo excesivo puede causar eco y
distorsión en sistemas de comunicación.

8. Margen de Ruido:

 ¿Qué mide? La cantidad de degradación que puede soportar una señal


antes de que se produzcan errores.
 ¿Por qué es importante? Un margen de ruido adecuado proporciona un
margen de seguridad para la transmisión de datos.

Herramientas de Medición

 Analizador de espectro: Mide la potencia de la señal en función de la


frecuencia.
 Oscilloscopio: Muestra la forma de onda de la señal en el dominio del
tiempo.
 Generador de señales: Genera señales de prueba para evaluar el
rendimiento del sistema.
 TDR (Time Domain Reflectometer): Mide la impedancia y detecta
discontinuidades en una línea de transmisión.
 Analizador de protocolos: Analiza el tráfico de red para identificar errores
y problemas de rendimiento.

¿Por qué son importantes estas mediciones?

 Optimización del sistema: Permiten ajustar los parámetros del sistema


para obtener el mejor rendimiento.
 Detección de fallas: Ayudan a identificar y solucionar problemas en el
sistema.
 Verificación de la conformidad: Aseguran que el sistema cumple con los
estándares y especificaciones.
 Predicción de fallas: Permiten identificar potenciales problemas antes de
que causen interrupciones en el servicio.
11) Continuidad e inversión de hilos:

La continuidad y la inversión de hilos son conceptos fundamentales en diversas


disciplinas, desde la electrónica hasta las telecomunicaciones y la informática.
Entender estos conceptos es crucial para garantizar la integridad de las señales y
la correcta operación de los sistemas.

Continuidad

La continuidad se refiere a la existencia de una trayectoria eléctrica ininterrumpida


entre dos puntos. En otras palabras, es la capacidad de una corriente eléctrica de
fluir libremente a través de un circuito. La continuidad es esencial para el
funcionamiento correcto de cualquier circuito electrónico.

 Importancia de la continuidad:
o Circuitos: Verifica que no haya interrupciones en las conexiones.
o Cableado: Asegura que los cables estén correctamente conectados
y no estén dañados.
o Componentes: Confirma que los componentes electrónicos
(resistencias, condensadores, transistores) no estén abiertos o en
cortocircuito.

Inversión de Hilos

La inversión de hilos, también conocida como polaridad inversa, ocurre cuando la


conexión de dos cables se invierte. Esto puede tener consecuencias graves,
dependiendo del circuito en cuestión.

 Efectos de la inversión de hilos:


o Daño en dispositivos: En algunos casos, la inversión de polaridad
puede dañar componentes electrónicos, especialmente aquellos
sensibles a la polaridad, como diodos y transistores.
o Funcionamiento incorrecto: La inversión de hilos puede causar
que un circuito funcione de manera errónea o no funcione en
absoluto.
o Seguridad: En algunos casos, la inversión de hilos puede
representar un riesgo para la seguridad, como en circuitos de
alimentación.

Causas de la inversión de hilos

 Errores humanos: La causa más común de la inversión de hilos es el error


humano durante el cableado o la conexión de dispositivos.
 Daños en el cableado: Un cable dañado o cortado puede causar una
conexión abierta o un cortocircuito, lo que puede resultar en una inversión
de polaridad.
 Interferencias electromagnéticas: En algunos casos, las interferencias
electromagnéticas pueden causar una inversión temporal de la polaridad.

Detección de la inversión de hilos

 Medición de voltaje: Un voltímetro puede utilizarse para verificar la


polaridad de una señal.
 Indicadores visuales: Algunos dispositivos tienen indicadores LED que
cambian de color según la polaridad de la conexión.
 Pruebas funcionales: La inversión de polaridad puede causar un mal
funcionamiento del dispositivo, lo que puede ayudar a identificarla.

Prevención de la inversión de hilos

 Diagramas de cableado claros: Utilizar diagramas de cableado detallados


y precisos.
 Etiquetado: Identificar claramente los cables y los terminales.
 Verificación cuidadosa: Revisar todas las conexiones antes de encender
el equipo.
 Uso de conectores polarizados: Utilizar conectores que solo permiten una
conexión correcta.

Aplicaciones

 Electrónica: En la construcción y reparación de circuitos electrónicos.


 Redes: En la instalación y mantenimiento de redes de cableado
estructurado.
 Automatización industrial: En la conexión de sensores, actuadores y
otros dispositivos.
Conclusión

El estudio de los diferentes tipos de códigos y sus aplicaciones en la transmisión y


detección de errores revela la complejidad y sofisticación de los sistemas de
comunicación modernos. Los códigos convolucionales, con su estructura basada
en secuencias generadoras y la eficiencia del algoritmo de Viterbi para la
decodificación, demuestran cómo la teoría de la información se combina con la
ingeniería para optimizar la transmisión de datos en entornos ruidosos. Por otro
lado, los códigos de bloque, especialmente los lineales y sistemáticos, destacan
por su capacidad para detectar y corregir errores mediante matrices de
comprobación de paridad y la importancia de la distancia mínima en la robustez
del código.

Los códigos matriciales y los códigos de Hamming amplían este panorama,


mostrando cómo la estructura matemática y la disposición de bits redundantes
pueden mejorar la fiabilidad de la comunicación. En particular, el código Hamming
(7,4) y su versión extendida ilustran cómo la teoría de códigos puede aplicarse de
manera práctica para proteger la integridad de los datos. Asimismo, los códigos de
redundancia cíclica (CRC) subrayan la importancia de los polinomios generadores
en la detección de errores, especialmente en aplicaciones donde la integridad de
los datos es crítica, como en redes y sistemas de almacenamiento.

Además, el análisis de las distorsiones de fase y amplitud en los canales de


comunicación, junto con los efectos sobre la señal, resalta los desafíos técnicos
que enfrentan los ingenieros al diseñar sistemas de comunicación eficientes. Los
modems con capacidad de generar patrones de prueba y las mediciones en fase
de activación son herramientas esenciales para garantizar la calidad y continuidad
de la transmisión, mientras que la continuidad e inversión de hilos refleja la
importancia de la infraestructura física en la integridad de la señal.

En conclusión, este trabajo evidencia que la teoría de códigos no es solo un


campo abstracto de las matemáticas, sino una disciplina fundamental que sustenta
la tecnología de las comunicaciones modernas. Desde la codificación y
decodificación hasta la detección y corrección de errores, cada tipo de código
aborda problemas específicos, contribuyendo a la eficiencia, fiabilidad y seguridad
de los sistemas de comunicación. La comprensión profunda de estos conceptos
no solo permite mejorar los diseños existentes, sino también innovar en el
desarrollo de nuevas tecnologías que seguirán transformando la forma en que nos
comunicamos.
Bibliografía

1. https://www.tutorialspoint.com/digital_communication/
digital_communication_convolutional_codes.htm
2. https://www.gaussianwaves.com/2013/05/convolutional-encoder/
3. https://www.electronics-notes.com/articles/radio/digital-radio/trellis-coding-
modulation-tcm.php
4. https://www.geeksforgeeks.org/viterbi-algorithm/
5. https://www.tutorialspoint.com/digital_communication/
digital_communication_block_codes.htm
6. https://www.gaussianwaves.com/2013/05/linear-block-codes/
7. https://www.electronics-notes.com/articles/radio/digital-radio/parity-check-
matrix.php
8. https://www.geeksforgeeks.org/error-detection-and-correction-codes/
9. https://www.tutorialspoint.com/digital_communication/
digital_communication_hamming_codes.htm
10. https://www.gaussianwaves.com/2013/05/cyclic-redundancy-check-crc/
11. https://www.electronics-notes.com/articles/radio/radio-frequency-distortion/
phase-distortion.php
12. https://www.electronics-notes.com/articles/radio/radio-frequency-distortion/
amplitude-distortion.php
13. https://www.rfwireless-world.com/Terminology/Amplitude-Distortion.html
14. https://www.cisco.com/c/en/us/support/docs/routers/10000-series-routers/
46434-modem-test-patterns.html
15. https://www.itu.int/rec/T-REC-G.991.2/en

También podría gustarte