Saltar al contenido principal
LibreTexts Español

2.4: Códigos de longitud fija y longitud variable

  • Page ID
    82304
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Una decisión que debe tomarse muy temprano en el diseño de un código es si representar todos los símbolos con códigos del mismo número de bits (longitud fija) o dejar que algunos símbolos usen códigos más cortos que otros (longitud variable). Hay ventajas en ambos esquemas.

    Los códigos de longitud fija suelen ser más fáciles de tratar porque tanto el codificador como el decodificador saben de antemano cuántos bits están involucrados, y es solo cuestión de establecer o leer los valores. Con los códigos de longitud variable, el decodificador necesita una forma de determinar cuándo termina el código para un símbolo y comienza el siguiente.

    Los códigos de longitud fija pueden ser soportados por transmisión paralela, en la que los bits se comunican desde el codificador al decodificador simultáneamente, por ejemplo mediante el uso de múltiples cables para transportar las tensiones. Este enfoque debe contrastarse con el transporte en serie de la información codificada, en el que un solo cable envía un flujo de bits y el decodificador debe decidir cuándo terminan los bits para un símbolo y aquellos para el siguiente símbolo comienzan. Si un decodificador se mezcla, o mira un flujo de bits después de que ha comenzado, puede que no lo sepa. Esto se conoce como un “error de encuadre”. Para eliminar los errores de encuadre, los bits de parada a menudo se envían entre símbolos; normalmente ASCII enviado a través de líneas seriales tiene 1 o 2 bits de parada, normalmente dado el valor 0. Por lo tanto, si un decodificador está fuera de paso, eventualmente encontrará un 1 en lo que asumió que debería ser un bit de parada, y puede intentar resincronizar. Aunque en teoría los errores de encuadre podrían persistir durante largos periodos, en la práctica el uso de bits de parada funciona bien.


    This page titled 2.4: Códigos de longitud fija y longitud variable is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Paul Penfield, Jr. (MIT OpenCourseWare) via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.