ES2802826T3 - Multiplexación estadística multicanal de decodificadores FEC - Google Patents

Multiplexación estadística multicanal de decodificadores FEC Download PDF

Info

Publication number
ES2802826T3
ES2802826T3 ES19160255T ES19160255T ES2802826T3 ES 2802826 T3 ES2802826 T3 ES 2802826T3 ES 19160255 T ES19160255 T ES 19160255T ES 19160255 T ES19160255 T ES 19160255T ES 2802826 T3 ES2802826 T3 ES 2802826T3
Authority
ES
Spain
Prior art keywords
decoders
codewords
decoding
particular size
codeword
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES19160255T
Other languages
English (en)
Inventor
Mark Miller
Sanford Leong
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Viasat Inc
Original Assignee
Viasat Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Viasat Inc filed Critical Viasat Inc
Application granted granted Critical
Publication of ES2802826T3 publication Critical patent/ES2802826T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/18578Satellite systems for providing broadband data service to individual earth stations
    • H04B7/18582Arrangements for data linking, i.e. for data framing, for error recovery, for multiple access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/1851Systems using a satellite or space-based relay
    • H04B7/18517Transmission equipment in earth stations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Astronomy & Astrophysics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Radio Relay Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Un método para dividir un número total de decodificadores entre colas de decodificador de palabras de código de diferentes tamaños, siendo las palabras de código transmitidas por enlaces de comunicación de retorno desde terminales de datos hasta una puerta de enlace de un sistema de comunicaciones vía satélite, comprendiendo el método: para cada uno de K grupos, asignar un número respectivo de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular, donde K es un número de diferentes tamaños de palabras de código, y el respectivo número de decodificadores se asigna a partir del número total de decodificadores y en proporción a la carga ofrecida actual de palabras de código del tamaño particular.

Description

DESCRIPCIÓN
Multiplexación estadística multicanal de decodificadores FEC
Campo de la invención
La presente invención generalmente se refiere a sistemas de comunicación vía satélite. Más particularmente, la presente invención se refiere a métodos y aparatos para distribuir decodificadores de Forward Error Correction (Corrección de errores sin canal de retorno - FEC) entre colas de decodificadores para obtener palabras de código de diferentes tamaños de bloque en sistemas de comunicación vía satélite.
Antecedentes
La próxima generación de sistemas comerciales de banda ancha basados en satélites en la banda de frecuencias Ka (es decir, 26,5-40 GHz) y con gran capacidad augura una gran velocidad de datos para el usuario final a bajo coste. Normalmente, estos sistemas usan múltiples terminales de puerta de enlace para comunicarse con un gran número de terminales de usuario, estando el satélite entre el terminal de puerta de enlace y los terminales de usuario. Un enlace directo de un sistema de comunicaciones vía satélite podría consistir en transmisiones de enlace ascendente directo desde un terminal de puerta de enlace a un satélite, un repetidor “transparente” en el satélite y transmisiones de enlace descendente directo a un grupo de terminales de usuario ubicados en un haz puntual común. Un enlace de retorno de un sistema de comunicaciones vía satélite podría consistir en transmisiones de enlace ascendente de retorno desde terminales de usuario en un haz puntual común hasta un satélite y transmisiones de enlace descendente de retorno desde el satélite hasta un terminal de puerta de enlace que preste servicio al haz puntual.
Es bien sabido que en tales sistemas se usa la Forward Error Correction (Corrección de errores sin canal de retorno - FEC) con el fin de asegurar que la transmisión de datos sea fiable. En el enlace de retorno por ráfagas, varios terminales de usuario transmiten ráfagas de datos de varios tamaños. Ráfaga se define como una transmisión contigua por radiofrecuencia desde un terminal de usuario individual. Cada ráfaga puede incluir una o más palabras de código, donde palabra de código se define como un bloque FEC decodificable individual. Los tamaños de estas palabras de código pueden ser tan pequeños como unos pocos bytes (p. ej., 32 bytes) como tan grandes como varios kilobytes (p. ej., 8192 bytes). El esquema FEC particular empleado podría variar según el sistema, pero los sistemas modernos típicos utilizan esquemas FEC que requieren complicados decodificadores iterativos. Ejemplos de tales esquemas FEC incluyen los turbo códigos y los códigos de low-density parity-check (comprobación de paridad de baja densidad - LDPC).
Los decodificadores FEC para el enlace de retorno pueden estar en un subsistema de procesamiento de physical layer (capa física - PHY) ubicado en la puerta de enlace. Cada subsistema de procesamiento PHY normalmente procesa una cantidad fija de ancho de banda (p. ej., 62,5 MHz o 125 MHz), que puede incluir múltiples canales de enlace de retorno. Por lo tanto, cada subsistema de procesamiento PHY puede estar a cargo de decodificar ráfagas transmitidas por estos múltiples canales de enlace de retorno. Normalmente, cada decodificador está dedicado a la decodificación de un canal de enlace de retorno respectivo. Como consecuencia, el procesamiento de una palabra de código transmitida por un canal de enlace de retorno particular no comienza hasta que el decodificador respectivo esté disponible, incluso si todos los demás decodificadores de ese subsistema de procesamiento PHY están disponibles. Esto puede suceder con bastante frecuencia en el caso de sistemas de Time Division Multiple Access (Acceso múltiple por división en el tiempo - TDMA), en los que las asignaciones de ráfaga no son deterministas. El resultado puede ser una latencia indeseablemente alta para el procesamiento de palabras de código. Una variación en un sistema TDMA es un sistema Multi-Frequency TDMA (TDMA multifrecuencia - MF-TDMA), en el que podría hacerse que cada usuario saltase a través de diferentes canales de frecuencia en forma de ráfagas.
El número de decodificadores FEC en cada subsistema de procesamiento PHY es una decisión de diseño importante. Normalmente, estos decodificadores son bastante complejos y, por tanto, utilizan una cantidad importante de recursos de hardware y/o de software. Por ejemplo, estos decodificadores pueden implementarse como Field Programmable Gate Arrays (Matrices de puertas programables in situ - FPGA), Application Specific Integrated Circuits (Circuitos integrados de aplicación específica - ASIC) o algún otro componente de hardware/software (p. ej., microprocesadores). Por lo tanto, la minimización del número de decodificadores que son necesarios en cada subsistema de procesamiento PHY es importante a la hora de diseñar terminales de puerta de enlace que sean pequeñas, eficientes y más baratas.
Los decodificadores FEC empleados en la mayoría de los sistemas modernos son decodificadores iterativos. Los decodificadores iterativos procesan la misma palabra de código una o más veces de manera iterativa, donde, generalmente, cada iteración hace que la palabra de código esté más cerca de ser decodificada correctamente. El número de iteraciones necesarias para decodificar una palabra de código correctamente es una variable aleatoria y no puede predecirse a priori. Aunque puede que la mayor parte de las palabras de código necesite un número relativamente pequeño de iteraciones antes de ser decodificadas correctamente, algunas palabras de código pueden necesitar un gran número de iteraciones antes de ser decodificadas correctamente. Puede haber otras palabras de código que no se decodifiquen correctamente, incluso después de llegarse a un número máximo de iteraciones. El número de iteraciones necesarias para decodificar una palabra de código particular afecta a la cantidad de tiempo que el decodificador pasa en la palabra de código particular y, por lo tanto, al número de decodificadores necesarios para decodificar una velocidad particular de ráfagas entrantes.
Algunas aplicaciones, tales como las de Voice over Internet Protocol (Protocolo de transmisión de voz por Internet -VoIP), son menos tolerantes a la latencia y a la fluctuación (es decir, la variabilidad del tiempo de decodificación necesario) y normalmente se transmiten como palabras de código cortas. Normalmente, lleva más tiempo decodificar palabras de código más largas que el que se tarda en decodificar palabras de código más cortas. Por lo tanto, si una palabra de código corta sigue a una palabra de código larga, el procesamiento de la palabra de código larga puede introducir más latencia en el procesamiento de la palabra de código más corta.
Resumen
La invención está definida por las reivindicaciones independientes, y las reivindicaciones dependientes definen realizaciones preferidas.
Un ejemplo de un método para dividir un número total de decodificadores entre colas de decodificador de palabras de código de diferentes tamaños, siendo las palabras de código transmitidas por enlaces de comunicación de retorno desde terminales de datos hasta una puerta de enlace de un sistema de comunicaciones vía satélite, según la descripción incluye: para cada uno de los K grupos, asignar un número respectivo de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular, donde K es un número de tamaños diferentes de palabras de código, y el número respectivo de decodificadores se asigna a partir del número total de decodificadores y de forma proporcional a una carga ofrecida actual de palabras de código del tamaño particular.
Las realizaciones de este método pueden incluir una o más de las siguientes características. El método incluye además asignar un número mínimo de decodificadores a cada uno de los K grupos, donde cada uno de los números respectivos de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular es mayor o igual que el número mínimo de decodificadores asignados a cada uno de los K grupos. El método incluye además calcular la respectiva carga ofrecida actual para cada uno de los números K de diferentes tamaños de palabra de código. Calcular la respectiva carga ofrecida actual de palabras de código de un tamaño particular incluye calcular la respectiva carga ofrecida actual como una función de la velocidad media de iteración para palabras de código del tamaño particular, el número de símbolos procesados por palabra de código del tamaño particular y la velocidad de procesamiento de los decodificadores dedicados a la decodificación de palabras de código del tamaño particular. El método incluye además aplicar un factor de corrección a cada uno de los uno o más del respectivo número de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular para corregir según una o más estadísticas de formación de colas y un modelo de formación de colas. El método incluye además normalizar y cuantificar cada uno del respectivo número K de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular. El método incluye además calcular un valor de utilización para cada uno del número K de diferentes tamaños de palabras de código; y asignar un número de decodificadores no asignados a uno o más de los K grupos en función de los valores de utilización calculados.
Un ejemplo de un método para decodificar palabras de código de diferentes tamaños, siendo las palabras de código transmitidas por enlaces de comunicación de retorno desde terminales de datos hasta una puerta de enlace de un sistema de comunicaciones vía satélite, incluye: determinar un tamaño de una palabra de código; determinar una cola de decodificación particular para decodificar la palabra de código en función del tamaño determinado de la palabra de código, siendo la cola de decodificación particular una de K colas de decodificación, donde K es un número de diferentes tamaños de palabras de código; y decodificar la palabra de código usando un decodificador de la cola de decodificación particular, en el que el número de decodificadores en la cola de decodificación particular se asigna en proporción a una carga ofrecida actual de palabras de código del tamaño determinado.
Las realizaciones de este método pueden incluir una o más de las siguientes características. Decodificar la palabra de código incluye decodificar iterativamente la palabra de código, lo que incluye determinar tras cada iteración de decodificación si se pasa una comprobación de redundancia cíclica asociada a la palabra de código. Decodificar iterativamente la palabra de código incluye decodificar iterativamente la palabra de código hasta que se llegue a un número máximo de iteraciones o que se pase la comprobación de redundancia cíclica asociada a la palabra de código para un número umbral de iteraciones consecutivas. Una o más de las siguientes cosas varían en función del tamaño determinado de la palabra de código: un tamaño de la comprobación de redundancia cíclica asociada a la palabra de código, el número máximo de iteraciones y el número umbral de iteraciones consecutivas. El método incluye además detectar la presencia de una ráfaga de datos durante un tiempo de transmisión asignado a un terminal de datos del sistema de comunicaciones vía satélite, en el que determinar el tamaño de la palabra de código incluye determinar el tamaño de la palabra de código incluida en la ráfaga de datos. El método incluye además determinar que la ráfaga de datos es una ráfaga ficticia transmitida por el terminal de datos durante el tiempo de transmisión asignado, en el que la ráfaga ficticia no incluye palabras de código.
Un ejemplo de aparato para dividir un número total de decodificadores entre colas de decodificador de palabras de código de diferentes tamaños, siendo las palabras de código transmitidas por enlaces de comunicación de retorno desde terminales de datos hasta una puerta de enlace de un sistema de comunicaciones vía satélite, incluye: un módulo de asignación configurado para asignar, para cada uno de K grupos, un número respectivo de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular, donde K es un número de diferentes tamaños de palabras de código, y el número respectivo de decodificadores se asigna a partir del número total de decodificadores y se asigna de forma proporcional a una carga ofrecida actual de palabras de código del tamaño particular.
Las realizaciones de un aparato así pueden incluir una o más de las siguientes características. El aparato incluye además un módulo de cálculo que está acoplado de manera comunicativa al módulo de asignación y configurado para calcular la respectiva carga ofrecida actual para cada uno del número K de diferentes tamaños de palabras de código. El módulo de asignación además está configurado para aplicar un factor de corrección a cada uno de los uno o más del número respectivo de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular para corregir según una o más estadísticas de formación de colas y un modelo de formación de colas. El módulo de asignación está configurado además para normalizar y cuantificar cada uno del respectivo número K de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular. El aparato incluye además un módulo de cálculo que está acoplado de manera comunicativa al módulo de asignación y configurado para calcular un valor de utilización para cada uno del número K de diferentes tamaños de palabras de código, en el que el módulo de asignación está configurado además para asignar un número de decodificadores no asignados a uno o más de los K grupos en función de los valores de utilización calculados.
Un ejemplo de aparato para decodificar palabras de código de diferentes tamaños, siendo las palabras de código transmitidas por enlaces de comunicación de retorno desde terminales de datos hasta una puerta de enlace de un sistema de comunicaciones vía satélite, incluye: un procesador que está configurado para determinar un tamaño de una palabra de código y determinar una cola de decodificación particular para decodificar la palabra de código en función del tamaño determinado de la palabra de código, siendo la cola de decodificación particular una de K colas de decodificación, donde K es un número de diferentes tamaños de palabras de código; y un número de decodificadores en la cola de decodificación particular, estando cada decodificador acoplado de manera comunicativa al procesador y configurado para decodificar la palabra de código, en el que el número de decodificadores en la cola de decodificación particular se asigna en proporción a una carga ofrecida actual de palabras de código del tamaño determinado.
Las realizaciones de un aparato así pueden incluir una o más de las siguientes características. Cada uno de los decodificadores está configurado para decodificar iterativamente la palabra de código, lo que incluye determinar tras cada iteración de decodificación si se pasa una comprobación de redundancia cíclica asociada a la palabra de código. Cada uno de los decodificadores está configurado para decodificar iterativamente la palabra de código hasta que se llegue a un número máximo de iteraciones o que se pase la comprobación de redundancia cíclica asociada a la palabra de código para un número umbral de iteraciones consecutivas. Una o más de las siguientes cosas varían en función del tamaño determinado de la palabra de código: un tamaño de la comprobación de redundancia cíclica asociada a la palabra de código, el número máximo de iteraciones y el número umbral de iteraciones consecutivas.
Gracias a la presente invención se pueden obtener numerosos beneficios con respecto a las técnicas convencionales. Una multiplexación estadística multicanal de decodificadores FEC se adapta al número de iteraciones que son necesarias para cada palabra de código, sujeto a un número máximo de iteraciones. Por lo tanto, la latencia se reduce y la eficacia se incrementa cuando los decodificadores FEC se asignan dinámicamente. Las técnicas descritas también se ocupan de la fluctuación introducida por estos decodificadores FEC. Estos y otros beneficios se describen a lo largo de toda la memoria descriptiva y especialmente a continuación.
Breve descripción de los dibujos
Puede lograrse una mayor comprensión de la naturaleza y ventajas de la presente invención haciendo referencia a las siguientes figuras. En las figuras adjuntas, componentes o características similares pueden tener la misma etiqueta de referencia. Además, se pueden distinguir varios componentes del mismo tipo mediante la siguiente etiqueta de referencia con un guion y una segunda etiqueta que distingue entre los componentes similares. Si solo se utiliza la primera etiqueta de referencia en la memoria descriptiva, la descripción es aplicable a uno cualquiera de los componentes similares que tienen la misma etiqueta de referencia independientemente de la segunda etiqueta de referencia.
La figura 1 es un diagrama simplificado de un sistema de comunicaciones vía satélite ilustrativo en el que se pueden usar los métodos y aparatos de la presente invención.
La figura 2 muestra un banco de receptores que prestan servicio a múltiples canales de enlace de retorno.
La figura 3 muestra un banco de decodificadores con una única cola de decodificadores para cada tamaño de bloque FEC.
La figura 4 ilustra una asignación del número total de decodificadores disponibles entre las colas de decodificadores.
La figura 5 proporciona un diagrama de flujo que describe métodos para dividir un número total de decodificadores entre colas de decodificadores de palabras de código de diferentes tamaños.
La figura 6 proporciona un diagrama de flujo que describe métodos para decodificar palabras de código de diferentes tamaños.
Descripción detallada
La presente invención proporciona métodos y aparatos mejorados para dividir un número total de decodificadores entre colas de decodificadores de palabras de código de diferentes tamaños, en la que las palabras de código se transmiten por enlaces de comunicación de retorno desde terminales de datos (p. ej., terminales de usuario) hasta una puerta de enlace de un sistema de comunicaciones vía satélite. Para cada uno de los K grupos, se asigna un número respectivo de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular, donde K es un número de diferentes tamaños de palabras de código. El número respectivo de decodificadores se asigna a partir del número total de decodificadores y se asigna en proporción a una carga ofrecida actual de palabras de código del tamaño particular. También se describen métodos y aparatos para decodificar palabras de código de diferentes tamaños. El tamaño de una palabra de código se determina, y se determina una cola de decodificación particular para decodificar la palabra de código, en función del tamaño determinado de la palabra de código. La cola de decodificación particular es una de K colas de decodificación. La palabra de código se decodifica usando un decodificador de la cola de decodificación particular, en el que el número de decodificadores en la cola de decodificación particular se asigna en proporción a una carga ofrecida actual de palabras de código del tamaño determinado. Estas y otras realizaciones de la presente invención se describen con mayor detalle más adelante.
La figura 1 es un diagrama simplificado de un sistema 100 de comunicaciones vía satélite ilustrativo en el que pueden implementarse los métodos de la presente invención. El sistema 100 de comunicaciones vía satélite incluye una red 120 que está interconectada a uno o más terminales 115 de puerta de enlace. El terminal 115 de puerta de enlace está configurado para comunicarse con uno o más terminales 130 de usuario a través de un satélite 105.
El terminal 115 de puerta de enlace se denomina a veces concentrador o estación terrestre. El terminal 115 de puerta de enlace presta servicio al enlace ascendente 135 y al enlace descendente 140 a y desde el satélite 105. El terminal 115 de puerta de enlace también puede programar el tráfico hasta los terminales 130 de usuario. De forma alternativa, la programación puede realizarse en otras partes del sistema 100 de comunicaciones vía satélite (p. ej., en uno o más network operations centers [centros de operaciones de la red - NOC] y/o centros de mando de puerta de enlace). Aunque en la figura 1 solo se muestra un terminal 115 de puerta de enlace, las realizaciones de la presente invención pueden implementarse en sistemas de comunicación vía satélite que tengan una pluralidad de terminales de puerta de enlace, cada uno de los cuales puede acoplarse a una o más redes.
En algunos sistemas de comunicaciones vía satélite, puede haber una cantidad limitada de espectro de frecuencia disponible para la transmisión. Los enlaces de comunicación entre el terminal 115 de puerta de enlace y el satélite 105 pueden usar frecuencias iguales, superpuestas o distintas como enlaces de comunicación entre el satélite 105 y los terminales 130 de usuario. El terminal 115 de puerta de enlace puede ubicarse lejos de los terminales 130 de usuario para permitir la reutilización de frecuencias.
La red 120 puede ser cualquier tipo de red y puede incluir, por ejemplo, Internet, una red IP, una intranet, una widearea network (red de área extensa - WAN), una local-area network (red de área local - LAN), una virtual private network (red privada virtual - VPN), una virtual LAN (red LAN virtual - VLAN), una red de fibra óptica, una red híbrida de fibra-coaxial, una red por cable, una public switched telephone network (red telefónica pública conmutada -PSTN), una public switched data network (red pública de datos conmutada - PSDN), una red móvil terrestre pública y/o cualquier otro tipo de red que permita las comunicaciones entre dispositivos tales como los descritos en la presente memoria. La red 120 puede incluir tanto conexiones cableadas como inalámbricas así como enlaces ópticos. La red 120 puede conectar el terminal 115 de puerta de enlace a otros terminales de puerta de enlace que pueden estar en comunicación con el satélite 105 o con otros satélites.
El terminal 115 de puerta de enlace proporciona una interfaz entre la red 120 y el satélite 105. El terminal 115 de puerta de enlace puede configurarse para recibir datos e información dirigidos a uno o más terminales 130 de usuario. El terminal 115 de puerta de enlace puede formatear los datos y la información para su entrega a los terminales 130 de usuario respectivos. De forma similar, el terminal 115 de puerta de enlace puede configurarse para recibir señales procedentes del satélite 105 (p. ej., procedentes de uno o más terminales 130 de usuario) dirigidas a un destino accesible a través de la red 120. El terminal 115 de puerta de enlace puede formatear las señales recibidas para su transmisión por la red 120.
El terminal 115 de puerta de enlace puede utilizar una antena 110 para transmitir la señal 135 de enlace ascendente directo al satélite 105. En una realización, la antena 110 puede comprender un reflector parabólico con alta direccionalidad en la dirección del satélite 105 y baja direccionalidad en otras direcciones. La antena 110 puede comprender una variedad de configuraciones alternativas e incluir características operativas tales como un gran aislamiento entre polarizaciones ortogonales, una gran eficacia en las bandas de frecuencia operacionales, poco ruido y características similares.
El satélite 105 puede ser un satélite geoestacionario que esté configurado para recibir señales 135 de enlace ascendente directo desde la ubicación de la antena 110. El satélite 105 puede usar, por ejemplo, una antena reflectora, una antena de lente, una antena de conjunto en fase, una antena activa o cualquier otro mecanismo conocido en la técnica para la recepción de tales señales. El satélite 105 puede procesar las señales recibidas desde el terminal 115 de puerta de enlace y reenviar las señales 150 de enlace descendente a uno o más de los terminales 130 de usuario. Las señales pueden hacerse pasar a través de una antena reflectora de transmisión (p. ej., una antena en fase) para formar el patrón de radiación de transmisión (haz puntual). El satélite 105 puede funcionar en modo multihaz puntual transmitiendo una serie de haces estrechos dirigidos cada uno a una región diferente de la Tierra. Esto permite la separación de los terminales 130 de usuario en los diversos haces estrechos.
El satélite 105 puede configurarse como un satélite “transparente” . En esta configuración, el satélite 105 puede realizar la conversión de frecuencia y de polarización de las señales portadoras recibidas antes de retransmitir las señales a su destino. Un haz puntual puede usar una sola portadora, es decir, una frecuencia, o un intervalo de frecuencias contiguo por haz. El satélite 105 puede emplear una variedad de técnicas de codificación y de modulación de transmisión en la capa física (p. ej., codificación y modulación adaptativas).
El sistema 100 de comunicaciones vía satélite puede utilizar una serie de arquitecturas de red que consisten en segmentos espaciales y terrestres. El segmento espacial puede incluir uno o más satélites mientras que el segmento terrestre puede incluir uno o más terminales de usuario, terminales de puerta de enlace, network operations centers (centros de operaciones de la red - NOC), y centros de mando del satélite y terminales de puertas de enlace. Los segmentos se pueden conectar en una red en malla, una red en estrella o similares, tal y como les resultará evidente a los expertos en la técnica.
Las señales 150 de enlace descendente directo pueden transmitirse desde el satélite 105 a uno o más terminales 130 de usuario. Los terminales 130 de usuario pueden recibir las señales de enlace descendente 150 mediante una antena 127. En una realización, la antena 127 y el terminal 130 de usuario comprenden juntos un very small aperture terminal (terminal de muy pequeña apertura - VSAT). La antena 127 tiene un diámetro de aproximadamente 0,6 metros y una potencia de aproximadamente 2 vatios. En otras realizaciones, se puede utilizar una variedad de otros tipos de antena 127 en los terminales 130 de usuario para recibir las señales 150 de enlace descendente desde el satélite 105. Cada uno de los terminales 130 de usuario puede comprender un único terminal de usuario o, de forma alternativa, comprender un concentrador o encaminador (no representado) que esté acoplado a múltiples terminales de usuario. Cada terminal 130 de usuario puede conectarse a diversos equipos en las consumer premises equipment (instalaciones del consumidor - CPE) que comprenden, por ejemplo, ordenadores, redes de área local, aparatos de Internet, redes inalámbricas y similares.
De una manera similar a la descrita anteriormente, los terminales 130 de usuario pueden usar transmisiones de enlace de retorno para comunicarse con el terminal 115 de puerta de enlace o con la red 120 a través del satélite 105. El enlace de retorno puede consistir en transmisiones 145 de enlace ascendente de retorno desde los terminales 130 de usuario hasta el satélite 105 y transmisiones 140 de enlace descendente de retorno desde el satélite 105 hasta el terminal 115 de puerta de enlace. El terminal 115 de puerta de enlace puede formatear las señales recibidas para su transmisión a uno o más destinos que son accesibles a través de la red 120.
Las técnicas descritas a continuación para distribuir decodificadores FEC entre colas de decodificadores para palabras de código de diferentes tamaños de bloque pueden aplicarse a sistemas de comunicaciones vía satélite como el sistema 100 de comunicaciones vía satélite de la figura 1. En particular, un banco de decodificadores en una puerta de enlace del sistema de comunicaciones vía satélite puede compartirse entre varios canales de enlace descendente de retorno, lo cual permite que el sistema aproveche la multiplexación estadística. Dado que cada decodificador está ocupado durante un periodo aleatorio, compartir los decodificadores entre el conjunto de canales reduce el retraso total.
Las técnicas descritas generalmente implican dividir el número total disponible de decodificadores, Ndec, entre K grupos, donde K es el número de diferentes tamaños de palabras de código en el sistema. El número total disponible de decodificadores se divide de modo que el número de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular sea proporcional a una carga ofrecida actual de palabras de código del tamaño particular. Esta multiplexación estadística resulta en un mejor uso general de los decodificadores y proporciona una gestión de la fluctuación mediante la reducción de la variación en el retardo de decodificación. A continuación se ofrecen detalles de estas técnicas.
Compartición de recursos de decodificación entre múltiples canales de enlace de retorno
En un ejemplo de sistema TDMA (o MF-TDMA), cada subsistema de procesamiento de capas de Media Access Control (Control del acceso a medios - MAC) y/o subsistema de procesamiento PHY en la puerta de enlace está a cargo del procesamiento de una cantidad fija de ancho de banda (p. ej., 125 MHz). Esta cantidad de ancho de banda podría dividirse entre múltiples canales de enlace de retorno, donde cada canal puede ser muy inferior a 125 MHz. En una realización, cada canal de enlace de retorno es de 625 ksps y, por tanto, el subsistema de procesamiento MAC/PHY en la puerta de enlace necesita procesar 200 canales de enlace de retorno. De forma alternativa, los canales de enlace de retorno podrían tener diferentes velocidades de símbolo. Por ejemplo, podría haber una mezcla de canales de enlace de retorno de 625 ksps, 1,25 Msps, 2,5 Msps, 5 Msps, 10 Msps y 20 Msps, de manera que la cantidad que está siendo procesada por este subsistema suma el ancho de banda total (p. ej., 125 MHz).
Cada canal de enlace de retorno recibe ráfagas de uno o más terminales de usuario (p. ej., terminales 130 de usuario de la figura 1). La figura 2 muestra un ejemplo 200 de un banco de receptores 220 en una puerta de enlace que presta servicio a múltiples canales de enlace de retorno. Las ráfagas 210 transmitidas por los canales de enlace de retorno procedentes de diferentes terminales de usuario están indicadas por los diferentes patrones. Cada ráfaga 210 puede contener una o más palabras de código. Cada decodificador tarda una cantidad aleatoria de tiempo en terminar de decodificar cada palabra de código porque el tiempo de decodificación depende del tamaño de palabra de código así como del número de iteraciones que le lleva decodificar una palabra de código particular. Por lo tanto, la capacidad de poner en común los recursos de decodificación del banco de receptores entre múltiples canales de enlace de retorno es un ejemplo de multiplexación estadística.
En un ejemplo, existen dos canales de enlace de retorno: un canal 1 y un canal 2. Si los canales de enlace de retorno tuvieran decodificadores dedicados que no pudiesen compartirse, tal y como sucede en los sistemas convencionales, entonces una palabra de código en el canal 1 tendría que esperar a que el decodificador dedicado al canal 1 estuviese disponible antes de que pudiese descodificarse la palabra de código en el canal 1. Este sería así incluso si el decodificador dedicado al canal 2 estuviese inactivo y disponible. Por el contrario, si todos los decodificadores pudiesen compartirse, entonces la palabra de código en el canal 1 podría ser decodificada por el decodificador inactivo, dando así lugar a menores latencias de decodificación.
Distribución de decodificadores entre colas de decodificadores para palabras de código de diferentes tamaños de bloque
En lo que respecta a las técnicas de distribución de un número total de decodificadores entre colas de decodificadores, puede suponerse que la puerta de enlace del sistema de comunicaciones vía satélite tiene un número fijo de decodificadores, Ndec. También puede considerarse que hay un número fijo de diferentes tamaños de palabra de código, K. Por ejemplo, puede haber Ndec=24 decodificadores dedicados y K=6 tamaños de palabra de código diferentes. La distribución de palabras de código entrantes en la puerta de enlace puede variar entre estos K tamaños de palabra de código diferentes y no seguir ningún patrón conocido a priori. El reto es distribuir estos Ndec decodificadores en Ni, N2,..., Nk descodificadores de tal manera que Ndec=Ni+N2+ ... +Nk y decodificadores están dedicados a la decodificación de palabras de código de tamaño j para j E 1, 2,...,K. Esto se ilustra en la figura 3 que muestra un banco de decodificadores con una única cola de decodificadores para cada uno de K tamaños de bloque FEC. Cada ráfaga recibida desde un terminal de usuario se descompone en palabras de código, y cada una de las palabras de código se encamina a una cola de decodificadores respectiva en función del tamaño de bloque de la palabra de código particular.
En referencia a la figura 5, con referencia adicional a la figura 4, un proceso 500 de dividir un número total de decodificadores entre las colas de decodificadores de palabras de código de diferentes tamaños incluye las etapas mostradas. Las palabras de código se transmiten por enlaces de comunicación de retorno desde terminales de usuario hasta una puerta de enlace de un sistema de comunicaciones vía satélite. La figura 4 ilustra una asignación del número total de decodificadores disponibles entre las colas de decodificadores. El proceso 500 es, sin embargo, meramente ilustrativo y no limitante. El proceso 500 puede alterarse, por ejemplo, añadiéndosele, eliminando o reorganizando etapas.
En una etapa 502, un procesador (p. ej., un procesador de un subsistema de procesamiento MAC/PHY de la puerta de enlace) asigna, para cada uno de K grupos, un número respectivo de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular, en el que el número respectivo de decodificadores se asigna a partir del número total de decodificadores, Ndec, y se asigna en proporción a una carga ofrecida actual de palabras de código del tamaño particular. Tal y como se mencionó anteriormente, K es el número de diferentes tamaños de palabras de código. Por ejemplo, si Aj es la carga ofrecida actual de palabras de código de tamaño j, el número de decodificadores dedicados a la decodificación de palabras de código de tamaño j, Nj, se puede configurar como Aj o como un número proporcional a Aj.
En algunas implementaciones, el proceso 500 incluye calcular la respectiva carga ofrecida actual para cada uno del número K de diferentes tamaños de palabras de código. En la figura 4 se ilustra una estimación de la carga ofrecida para cada uno del número K de diferentes tamaños de palabras de código, en la que la carga ofrecida, Aj, se utiliza además en el algoritmo de asignación del decodificador. En un ejemplo, la carga ofrecida actual, Aj, para palabras de código de tamaño j se puede calcular como una función de la velocidad media de iteración (es decir, ij) para palabras de código de tamaño j, el número de símbolos procesados por palabra de código particular de tamaño j (es decir, Nfec) y la velocidad de procesamiento en símbolos por segundo (es decir, Rdecodificado) de los decodificadores dedicados a la decodificación de palabras de código de tamaño j. En particular, Aj puede ser igual a j * Nfec/ Rdecodificador.
La velocidad media de iteración es el número medio de iteraciones de decodificador por segundo. La figura 4 ilustra que el cálculo de la velocidad media de iteración, ij , es parte de la estimación de la carga ofrecida. Como ejemplo, la velocidad media de iteración se puede calcular contando el número total de las iteraciones de decodificador durante un intervalo de tiempo T (p. ej., T = 1,28 segundos) y dividiendo el número total de iteraciones de decodificador por T segundos para obtener el número medio de iteraciones por segundo.
En otro ejemplo con una implementación de decodificadores en ventanas, el número total de símbolos procesados por palabra de código de tamaño j es igual Nfec+Ne, donde Nfec es el número de símbolos en la palabra de código de tamaño j, excluyendo los ámbulos, y Nb es el tamaño de ventana de decodificador. Tanto Nfec como Nb son generalmente fijos y conocidos en el momento del diseño de código para cada tamaño de ráfaga y la combinación de codificación/modulación. El tráfico en un haz puntual generalmente usa la misma velocidad de código y, por tanto, la velocidad de código asociada al haz puntual se puede presuponer para todas las ráfagas. De forma adicional, si se utilizan decodificadores interiores y exteriores y Rdecodificador es la velocidad de procesamiento de uno de estos decodificadores, Rdecodificado/2 puede utilizarse como la velocidad de procesamiento global de los decodificadores interiores y exteriores concatenados. Por lo tanto, para este ejemplo, la carga ofrecida actual, Aj , en lenguaje de programación Erlang para palabras de código de tamaño j se puede calcular como i* 2 * (Nfec+N,b) /Rdecodificador.
En algunas implementaciones, el proceso 500 incluye asignar un número mínimo de decodificadores a cada uno de los K grupos, en el que cada uno de los números respectivos de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular es mayor o igual que el número mínimo de decodificadores asignados a cada uno de los K grupos. Por ejemplo, el número mínimo de decodificadores, Nm¡n, asignado a cada uno de los K grupos se puede configurar como un número pequeño (p. ej., 1) con respecto al número total de decodificadores disponibles. Esto se hace para dar cuenta de la posibilidad estadística, por pequeña que sea, de que se reciba una palabra de código de un tamaño particular en la puerta de enlace.
Volviendo a figura 5, en una etapa 504 el procesador aplica un factor de corrección a cada uno de los uno o más del número respectivo de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular para corregir según una o más estadísticas de formación de colas y un modelo de formación de colas. Por ejemplo, para corregir según estadísticas de formación de colas para dar cuenta de las fluctuaciones en la carga ofrecida actual, el número de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular se puede aumentar para uno o más (p. ej., todos) del número K de decodificadores (es decir, N¡=N¡+ 1). Esta corrección ilustrativa actúa como función de redondeo. En otro ejemplo, para corregir desviaciones en el modelo de formación de colas (p. ej., un modelo M/M/k), el número de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular se puede multiplicar por una función de corrección (p. ej., N¡=N¡* f(K)).
En una etapa 506 el procesador normaliza y cuantifica cada uno del respectivo número K de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular. Por ejemplo, el número de decodificadores, Nj, dedicados a la decodificación de palabras de código de un tamaño j puede configurarse según lo siguiente:
Figure imgf000008_0001
Después de la normalización y cuantificación, el número total de decodificadores no puede asignarse entre las K colas de decodificadores, es decir, N1+N2+ ... NK<Ndec. Si este fuera el caso, el proceso 500 podría pasar a las etapas 508 y 510.
En la etapa 508, el procesador calcula un valor de utilización para cada uno del número K de diferentes tamaños de palabras de código. Por ejemplo, el valor de utilización, Uj , para palabras de código de tamaño j se puede configurar como la carga ofrecida actual, Aj , para palabras de código de tamaño j dividida por el número de decodificadores, Nj , dedicados a la decodificación de palabras de código de tamaño j. Es decir, U¡=A¡/N¡.
En la etapa 510, el procesador asigna un número de decodificadores no asignados a uno o más de los K grupos en función de los valores de utilización calculados. Es decir, si N i +N2+...+NK<Ndec tras la etapa 506, el número de decodificadores no asignados restante es Nrem=Ndec-(N i +N2+ ... Nk). Estos restantes decodificadores no asignados pueden ser asignados a una o más de las K colas de decodificación, por ejemplo, en una base de primera utilización más alta. A continuación se describen dos técnicas para asignar los decodificadores restantes a una o más de las K colas de decodificación, aunque son posibles otras técnicas.
En algunas implementaciones, todos los restantes decodificadores no asignados se asignan a la cola de decodificadores asociada a las palabras de código de tamaño j, donde es el mayor de los K valores de utilización calculados en la etapa 508. Es decir, Nj =Nj+Nrem.
En otras implementaciones, uno de los decodificadores no localizados restantes se asigna a la cola de decodificadores asociada a las palabras de código de tamaño j, donde es el mayor de los K valores de utilización calculados en la etapa 508. Es decir, Nj =N+ 1, y Nrem=Nrem- 1. Las etapas 508 y 510 pueden entonces repetirse, asignando en cada iteración uno de los restantes decodificadores no asignados a la cola de decodificadores asociada al tamaño de palabra de código de la mayor utilización calculada actualmente (es decir, tal y como se calcula en la etapa 508) hasta que no queden decodificadores no asignados (es decir, Nrem= 0). Tras la última iteración, N1+N2+ ... +NK=Ndec-
Decodificación de palabras de código de diferentes tamaños de bloque utilizando las colas de decodificadores
En el sistema de comunicaciones vía satélite, puede adjuntarse una cyclic redundancy check (comprobación de redundancia cíclica - CRC) de C bits (p. ej., C = 16) al final de cada palabra de código una vez finalizado el proceso de codificación FEC en la capa física de un transmisor en un terminal de usuario (p. ej., uno de los terminales 130 de usuario de la figura 1). La comprobación CRC cubre toda la palabra de código fEc . En el lado de decodificador del extremo receptor (es decir, en la puerta de enlace), el decodificador intenta hacer coincidir las comprobaciones CRC (es decir, comprueba que se pasan las CRC) al final de cada iteración de decodificación. Si las CRC coinciden, esto podría ser una falsa alarma. Por lo tanto, en algunas implementaciones, el decodificador intenta verificar que las CRC coinciden iterando una o más veces y comprobando que se alcanza un número umbral de coincidencias de CRC consecutivas (p. ej., 2). Si se alcanza el número umbral de coincidencias de CRC consecutivas, el decodificador puede declarar que la palabra de código se ha decodificado correctamente y puede enviar los símbolos decodificados hacia la siguiente capa más alta, al tiempo que comienza a procesar la siguiente ráfaga en la cola de decodificación.
Si las CRC no coinciden al final de una iteración, el decodificador itera y comprueba las CRC nuevamente al final de cada iteración hasta que, o bien las CRC coinciden (es decir, se pasan) para el número umbral de iteraciones consecutivas, o bien el número de iteraciones de decodificación alcanza un número máximo de iteraciones (p. ej., 100). El número umbral de iteraciones consecutivas se emplea para reducir la probabilidad de que haya una falsa alarma en la decodificación de una palabra de código correcta.
En algunas implementaciones, palabras de código de diferentes tamaños pueden llevar adjuntas CRC de diferentes tamaños. Dado que las CRC utilizan una tara de capa física, una CRC de tamaño fijo tiene una tara desproporcionadamente mayor, expresada como una fracción del tamaño de ráfaga, para menores tamaños de ráfaga que la tara utilizada por la CRC de tamaño fijo para mayores tamaños de ráfaga. Sin embargo, las CRC cortas tienen una mayor probabilidad de falsa alarma que la probabilidad de falsa alarma de CRC más largas. Por lo tanto, puede utilizarse una CRC corta con un número umbral más grande de coincidencias de CRC consecutivas para hacer que la tara sea baja. Es decir, en algunas implementaciones, cada palabra de código de un tamaño diferente tiene una longitud diferente para su CRC y un número umbral diferente de coincidencias de CRC consecutivas. De forma similar, el criterio de parada de un número máximo de iteraciones también puede ser una función del tamaño de palabra de código.
En algunos sistemas de comunicaciones vía satélite, un planificador de enlace de retorno en la puerta de enlace se encarga de programar intervalos de tiempo para los diversos terminales de usuario para la transmisión. Esto es típico en la mayoría de los sistemas TDMA. Hay numerosos planificadores que pueden utilizarse, y algunos planificadores son más eficaces que otros planificadores. A diferencia de los planificadores que son completamente eficientes, la mayoría de planificadores programará intervalos de tiempo que serán más grandes de lo que necesita un terminal de usuario particular. Por lo tanto, puede que se asignen a los terminales de usuario intervalos de tiempo que los terminales de usuario no necesiten y que pueden ignorar. En terminales de usuario con límite de potencia, resulta óptimo para ahorrar energía y no transmitir ninguna ráfaga cuando no haya ningún dato que transmitir durante un intervalo de tiempo asignado. Sin embargo, la mayoría de sistemas de banda ancha por satélite no están limitados en cuanto a la potencia, ya que los terminales de usuario normalmente están alimentados desde enchufes de pared.
Cuando los terminales de usuario no tienen un límite de potencia, puede ser preferible transmitir una ráfaga siempre que el intervalo de tiempo asignado se haya programado para ese terminal de usuario. Si el terminal del usuario no transmite nada durante un intervalo de tiempo asignado (es decir, no se transmite ninguna palabra de código ni ninguna CRC correspondiente), el decodificador intentará decodificar ruido como una palabra de código que no existe y, por tanto, la CRC no se pasará para el número umbral de iteraciones consecutivas. Por consiguiente, el decodificador necesitará ejecutar el número máximo de iteraciones antes de que pueda pasar a la siguiente ráfaga, lo cual aumentará la latencia experimentada por las palabras de código de la siguiente ráfaga. Una alternativa sería detectar primero la presencia de una ráfaga y luego intentar decodificarla. Sin embargo, la detección de ráfagas en las condiciones de low signal-to-noise ratio (baja relación señal-ruido - SNR) que normalmente se dan en los sistemas de comunicaciones vía satélite requiere una estructura de ámbulo relativamente larga, lo cual supone un uso eficiente de un ancho de banda limitado.
Por lo tanto, en algunas implementaciones, un terminal de usuario que no esté limitado en cuanto a la potencia y no tenga datos que enviar transmitirá una ráfaga (p. ej., una ráfaga de palabras de código válidas con todos los bits de información iguales a 0) cada vez que un intervalo de tiempo sea programado para ese terminal de usuario por el planificador de enlace de retorno de la puerta de enlace. La transmisión de una ráfaga ficticia cuando el terminal de usuario no tenga datos que enviar garantiza que todos los intervalos de tiempo programados tengan ráfagas, evitándose así que el decodificador necesite ejecutar el número máximo de iteraciones innecesariamente.
Con referencia a la figura 6, un proceso 600 de decodificación de palabras de código de tamaños diferentes incluye las etapas mostradas. Las palabras de código se transmiten por enlaces de comunicación de retorno desde terminales de usuario hasta una puerta de enlace de un sistema de comunicaciones vía satélite. El proceso 600 es, sin embargo, meramente ilustrativo y no limitante. El proceso 600 puede alterarse, por ejemplo, añadiéndosele, eliminado o reorganizando etapas.
En una etapa 602, un procesador (p. ej., un procesador de la puerta 115 de enlace de la figura 1) determina el tamaño de una palabra de código transmitida desde un terminal de usuario. El procesador puede determinar que la palabra de código incluida en una ráfaga procedente del terminal de usuario tiene uno de los K tamaños de palabra de código.
En una etapa 604, el procesador determina una cola de decodificación particular para decodificar la palabra de código en función del tamaño determinado de la palabra de código, donde la cola de decodificación particular es una de K colas de decodificación.
En una etapa 606, un decodificador de la cola de decodificación particular decodifica la palabra de código, en la que el número de decodificadores en la cola de decodificación particular se asigna en proporción a la carga ofrecida actual de palabras de código del tamaño determinado. Por ejemplo, el número de decodificadores en la cola de decodificación particular puede asignarse usando el proceso 500 descrito anteriormente con respecto a la figura 5. Cabe señalar que los métodos y sistemas que se han analizado a lo largo de esta memoria descriptiva se han proporcionado meramente como ejemplos. Varias realizaciones pueden omitir, sustituir, o agregar varios procedimientos o componentes según sea apropiado. Por ejemplo, debe apreciarse que las características descritas sobre ciertas realizaciones pueden combinarse en diversas otras realizaciones. Además, pueden realizarse mediciones y los diversos valores proporcionarse en cualquier unidad. Además, las realizaciones pueden aplicarse mediante hardware, software, firmware, middleware, microcódigo, lenguajes de descripción de hardware o cualquier combinación de los mismos. Cuando se implementa en software, firmware, middleware, o microcódigo, el código de programa o los segmentos de código para realizar las tareas necesarias se puede almacenar en un medio legible por ordenador tal como un medio de almacenamiento. Los procesadores pueden adaptarse a realizar las tareas necesarias. El término “medio legible por ordenador” incluye, pero no se limita a, dispositivos de almacenamiento portátiles o fijos, dispositivos de almacenamiento óptico, canales inalámbricos, tarjetas SIM, otras tarjetas inteligentes y diversos otros medios capaces de almacenar, contener o llevar instrucciones o datos.
Una vez descritas varias realizaciones, los expertos en la técnica reconocerán que pueden utilizarse diversas modificaciones, construcciones alternativas y equivalentes sin apartarse del alcance de la invención tal y como se ha definido mediante las reivindicaciones adjuntas.

Claims (12)

  1. REIVINDICACIONES
    i. Un método para dividir un número total de decodificadores entre colas de decodificador de palabras de código de diferentes tamaños, siendo las palabras de código transmitidas por enlaces de comunicación de retorno desde terminales de datos hasta una puerta de enlace de un sistema de comunicaciones vía satélite, comprendiendo el método:
    para cada uno de K grupos, asignar un número respectivo de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular, donde K es un número de diferentes tamaños de palabras de código, y el respectivo número de decodificadores se asigna a partir del número total de decodificadores y en proporción a la carga ofrecida actual de palabras de código del tamaño particular.
  2. 2. El método de la reivindicación 1, que comprende además asignar un número mínimo de decodificadores a cada uno de los K grupos, donde cada uno del respectivo número de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular es mayor o igual que el número mínimo de decodificadores asignados a cada uno de los K grupos.
  3. 3. El método de la reivindicación 1, que comprende además calcular la respectiva carga ofrecida actual para cada uno del número K de diferentes tamaños de palabras de código.
  4. 4. El método de la reivindicación 3, donde calcular la respectiva carga ofrecida actual de palabras de código de un tamaño particular comprende calcular la respectiva carga ofrecida actual como una función de la velocidad media de iteración para palabras de código del tamaño particular, el número de símbolos procesados por palabra de código del tamaño particular, y la velocidad de procesamiento de los decodificadores dedicados a la decodificación de palabras de código del tamaño particular.
  5. 5. El método de la reivindicación 1, que comprende además aplicar un factor de corrección a cada uno de los uno o más del respectivo número de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular para corregir según una o más estadísticas de formación de colas y un modelo de formación de colas.
  6. 6. El método de la reivindicación 1, que comprende además normalizar y cuantificar cada uno del respectivo número K de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular.
  7. 7. El método de la reivindicación 1, que comprende además:
    calcular un valor de utilización para cada uno del número K de diferentes tamaños de palabras de código; y
    asignar un número de decodificadores no asignados a uno o más de los K grupos en función de los valores de utilización calculados.
  8. 8. Un aparato para dividir un número total de decodificadores entre colas de decodificador de palabras de código de diferentes tamaños en K grupos de decodificadores, siendo las palabras de código transmitidas por enlaces de comunicación de retorno desde terminales de datos hasta una puerta de enlace de un sistema de comunicaciones vía satélite, comprendiendo el aparato:
    un módulo de asignación configurado para asignar, para cada uno de dichos K grupos de decodificadores, un número respectivo de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular, donde K es un número de diferentes tamaños de palabras de código, y el respectivo número de decodificadores se asigna a partir del número total de decodificadores y en proporción a la carga ofrecida actual de palabras de código del tamaño particular.
  9. 9. El aparato de la reivindicación 8, que comprende además un módulo de cálculo que está acoplado de manera comunicativa al módulo de asignación y configurado para calcular la respectiva carga ofrecida actual para cada uno del número K de diferentes tamaños de palabras de código.
  10. 10. El aparato de la reivindicación 8, en donde el módulo de asignación además está configurado para aplicar un factor de corrección a cada uno del uno o más del respectivo número de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular para corregir según una o más estadísticas de formación de colas y un modelo de formación de colas.
  11. 11. El aparato de la reivindicación 8, en donde el módulo de asignación está configurado además para normalizar y cuantificar cada uno del respectivo número K de decodificadores dedicados a la decodificación de palabras de código de un tamaño particular.
  12. 12. El aparato de la reivindicación 8, que comprende además:
    un módulo de cálculo acoplado de manera comunicativa al módulo de asignación y configurado para calcular un valor de utilización para cada uno del número K de diferentes tamaños de palabras de código; en donde
    el módulo de asignación está configurado además para asignar un número de decodificadores no asignados a uno o más de los K grupos en función de los valores de utilización calculados.
ES19160255T 2009-07-09 2010-07-09 Multiplexación estadística multicanal de decodificadores FEC Active ES2802826T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US22445509P 2009-07-09 2009-07-09
US12/832,837 US8381078B2 (en) 2009-07-09 2010-07-08 Multi-channel statistical multiplexing of FEC decoders

Publications (1)

Publication Number Publication Date
ES2802826T3 true ES2802826T3 (es) 2021-01-21

Family

ID=42936632

Family Applications (2)

Application Number Title Priority Date Filing Date
ES10169101T Active ES2716499T3 (es) 2009-07-09 2010-07-09 Multiplexación estadística multicanal de decodificadores FEC
ES19160255T Active ES2802826T3 (es) 2009-07-09 2010-07-09 Multiplexación estadística multicanal de decodificadores FEC

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES10169101T Active ES2716499T3 (es) 2009-07-09 2010-07-09 Multiplexación estadística multicanal de decodificadores FEC

Country Status (4)

Country Link
US (1) US8381078B2 (es)
EP (2) EP3522392B1 (es)
ES (2) ES2716499T3 (es)
PL (2) PL3522392T3 (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2011118108A (ru) * 2011-05-06 2012-11-20 ЭлЭсАй Корпорейшн (US) Устройство (варианты) и способ параллельного декодирования для нескольких стандартов связи
JP2013198017A (ja) * 2012-03-21 2013-09-30 Toshiba Corp 復号装置及び通信装置
FR2997255B1 (fr) * 2012-10-18 2014-12-26 Thales Sa Systeme de telecommunication par satellite permettant d'assurer un trafic en etoile et un trafic maille
WO2014082933A1 (en) * 2012-11-28 2014-06-05 Sony Corporation Control device and method for use in a broadcast system
CN104813604B (zh) * 2012-11-28 2017-10-31 索尼公司 使用冗余数据接收广播系统中的数据的接收器
AU2021251784A1 (en) * 2020-04-06 2022-11-03 Viasat, Inc. Multi-stage burst detection for communications systems

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717394A (en) * 1993-02-10 1998-02-10 Ricoh Company Ltd. Method and apparatus for encoding and decoding data
US6928603B1 (en) * 2001-07-19 2005-08-09 Adaptix, Inc. System and method for interference mitigation using adaptive forward error correction in a wireless RF data transmission system
US7609626B2 (en) * 2004-04-16 2009-10-27 Alcatel-Lucent Usa Inc. Nodes for managing congestion and traffic flow by considering the minimization of link utilization values
US7458008B2 (en) * 2004-12-30 2008-11-25 Freescale Semiconductor, Inc. Decision voting in a parallel decoder
US20070180344A1 (en) * 2006-01-31 2007-08-02 Jacobsen Eric A Techniques for low density parity check for forward error correction in high-data rate transmission

Also Published As

Publication number Publication date
EP2282421A3 (en) 2014-08-20
EP3522392B1 (en) 2020-04-15
US20110167313A1 (en) 2011-07-07
EP3522392A1 (en) 2019-08-07
PL2282421T3 (pl) 2019-06-28
US8381078B2 (en) 2013-02-19
PL3522392T3 (pl) 2020-10-19
EP2282421B1 (en) 2019-03-13
EP2282421A2 (en) 2011-02-09
ES2716499T3 (es) 2019-06-12

Similar Documents

Publication Publication Date Title
ES2802826T3 (es) Multiplexación estadística multicanal de decodificadores FEC
ES2287939T3 (es) Procedimiento y aparato para proporcionar datos a tasa de transmision variable en un sistema de comunicaciones que utiliza multiplexacion estadistica.
ES2360661T3 (es) Comunicación celular de acceso múltiple con asignación dinámica de intervalos e interferencia co-canal reducida.
ES2726017T3 (es) Codificación y modulación adaptativa para la transmisión de datos de banda ancha
ES2784938T3 (es) Transmisiones de datos basadas en contienda en el enlace de retorno
US8265646B2 (en) Dynamic frequency assignment in a multi-beam system
ES2673731T3 (es) Sistema de comunicaciones vía satélite de capacidad flexible
ES2763459T3 (es) Método y aparato para la transmisión inalámbrica de datos sujeta a bloqueos de señal periódicos
ES2750279T3 (es) Areas de cobertura flexible para señales de enlace de retorno en un sistema de comunicación por satélite de haces puntuales
US20150358973A1 (en) Joint Use Of Multi-Packet Reception And Network Coding For Performance Improvement
BR112017020083B1 (pt) Método para transmissão de dados de eficiência espectral em sistemas de satélite e gateway
ES2879381T3 (es) Técnicas flexibles resistentes a interferencias para asignación de recursos de carga útil en satélites de banda ancha
BRPI0114174B1 (pt) método para enviar um sinal de enlace descendente para uma antena móvel com uma baixa direcionalidade, e, terminal de usuário móvel
ES2776625T3 (es) Señalización gestionada dúplex de banda base por división de tiempo
US20210203410A1 (en) Systems and methods for operating a multi-band satellite terminal
US8566668B1 (en) Edge memory architecture for LDPC decoder
EP2380299B1 (en) Multiple access method and apparatus
ES2755699T3 (es) Procedimiento y sistema de transmisión multiusuario 4D-TDMA
US8516333B1 (en) Pre-interleaving for forward error correction codes
US8832534B1 (en) LDPC decoder architecture
KR20100110731A (ko) 릴레이 시스템에서 다중 데이터 스트림 전송 방법 및 장치
US9026043B2 (en) System architecture for high density satellite capacity footprint with flexible antenna signal routing capabilities
O'Neill et al. Increased dynamic range multi-rate waveform for mobile satellite communications: Adaptive Coding Spreading and Modulation (ACSM)
US11108898B1 (en) Packets with header replicas for contention resolution in communications systems
ES2768776T3 (es) Aparato y procedimiento para usar en la realización de peticiones de repetición automática en sistemas de comunicaciones de acceso múltiple inalámbricas