ES2901249T3 - Procedimiento y aparato de concordancia de tasa para sistemas de comunicación y radiodifusión - Google Patents

Procedimiento y aparato de concordancia de tasa para sistemas de comunicación y radiodifusión Download PDF

Info

Publication number
ES2901249T3
ES2901249T3 ES18820113T ES18820113T ES2901249T3 ES 2901249 T3 ES2901249 T3 ES 2901249T3 ES 18820113 T ES18820113 T ES 18820113T ES 18820113 T ES18820113 T ES 18820113T ES 2901249 T3 ES2901249 T3 ES 2901249T3
Authority
ES
Spain
Prior art keywords
bits
length
determined
bit
sequence
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
ES18820113T
Other languages
English (en)
Inventor
Min Jang
Seokki Ahn
Seho Myung
Hongsil Jeong
Kyungjoong Kim
Jaeyoel Kim
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority claimed from PCT/KR2018/006868 external-priority patent/WO2018236114A1/en
Application granted granted Critical
Publication of ES2901249T3 publication Critical patent/ES2901249T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • H04L1/0013Rate matching, e.g. puncturing or repetition of code symbols
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2792Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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/0041Arrangements at the transmitter end
    • 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/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • 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/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • 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/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • 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/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Un procedimiento realizado por un transmisor (1880) por el uso de un código polar, el procedimiento comprende: identificar una primera secuencia de bits para ser transmitida a un receptor; determinar una segunda secuencia de bits por la codificación de la primera secuencia de bits con el código polar; identificar un número de sub-bloques divididos a partir de la segunda secuencia de bits; realizar una intercalación en base a un patrón de intercalación en los sub-bloques de la segunda secuencia de bits; y determinar una tercera secuencia de bits por la realización de un concordancia de la tasa de la segunda secuencia de bits intercalada, en el que el número de sub-bloques es de 32, y en el que el patrón de intercalación es {0,1,2,4,3,5,6,7,8,16,9,17,10,18,11,19,12,20,13,21,14,22,15,23,24,25,26,28,27,29,30,31}.

Description

DESCRIPCIÓN
Procedimiento y aparato de concordancia de tasa para sistemas de comunicación y radiodifusión
Campo técnico
La divulgación se refiere a códigos de corrección de errores para corregir o restaurar un error o una pérdida cuando se producen el error o la pérdida o es probable que se produzcan debido a diversas causas tal como el ruido o la interferencia en un proceso de transmisión o almacenamiento de datos. Más en particular, la divulgación se refiere a un procedimiento, una implementación y un aparato para la concordancia de velocidad de códigos polares. La divulgación está disponible en diversos campos y puede utilizarse eficazmente en la adaptación de la velocidad de los códigos polares utilizados para los sistemas de comunicación móvil, tal como el sistema global de comunicaciones móviles (GSM), el acceso múltiple por división de código de banda ancha (WCDMA), la evolución a largo plazo (LTE) y la tecnología de acceso radioeléctrico de quinta generación (5G-NR).
Técnica anterior
Con el fin de satisfacer la demanda de tráfico de datos inalámbricos que está en una tendencia creciente tras la comercialización de los sistemas de comunicación 4G, se han realizado esfuerzos para desarrollar un sistema de comunicación 5G o pre-5G mejorado. Por este razón, el sistema de comunicación 5G o pre-5G también se denomina sistema de comunicación "más allá de la red 4G" o un "sistema post-LTE".
Se considera que el sistema de comunicación 5G se implementa en bandas de frecuencia más altas (mmWave), por ejemplo, las bandas de 60GHz, de modo que se logren mayores tasas de datos. Para disminuir la pérdida de propagación de las ondas de radio y aumentar la distancia de transmisión, se discuten las técnicas de formación de haces, entrada múltiple y salida múltiple (MIMO) masiva, MIMO de dimensión completa (FD-MIMO), antena de conjunto, formación de haz analógica y antena a gran escala en los sistemas de comunicación 5G.
Además, en los sistemas de comunicación 5G, se encuentra bajo desarrollo una mejora de la red del sistema en base a celdas pequeñas avanzadas, redes de acceso por radio (RAN) en la nube, redes ultradensas, comunicación de dispositivo a dispositivo (D2D), red de retorno inalámbrica, red móvil, comunicación cooperativa, multipuntos coordinados (CoMP), cancelación de interferencias en el extremo de la recepción y similares.
En el sistema 5G se han desarrollado la modulación híbrida FSK y QAM (FQAM) y la codificación por superposición de ventana deslizante (SWSC) como una modulación de codificación avanzada (ACM), y multiportadora de banco de filtros (FBMC), acceso múltiple no ortogonal (NOMA) y acceso múltiple de código disperso (SCMA) como una tecnología de acceso avanzada.
Por otro lado, el Internet, que es una red de conectividad centrada en el ser humano, en la cual los seres humanos generan y consumen información, ahora está evolucionando hacia el Internet de las cosas (IoT), en el que las entidades distribuidas, tal como las cosas, intercambian y procesan información. Ha surgido el Internet de todo (IoE), que es una combinación de la tecnología IoT y la tecnología de procesamiento de grandes datos a través de la conexión con un servidor en la nube. Como elementos tecnológicos, tal como la tecnología de detección, la comunicación por cable/inalámbrica y la infraestructura de red, la tecnología de interfaz de servicios, y la tecnología de seguridad, se han requerido para la implementación de loT, se ha investigado recientemente una red de sensores para la conexión de máquina a máquina, la comunicación de máquina a máquina (M2M), la comunicación de tipo máquina (MTC), etc. Tal entorno de IoT puede proporcionar servicios inteligentes de tecnología de Internet que crean un nuevo valor para la vida humana mediante la recopilación y el análisis de los datos generados entre las cosas conectadas. loT se puede aplicar a una variedad de campos, incluidos hogar inteligente, edificio inteligente, ciudad inteligente, automóvil inteligente o automóvil conectado, red inteligente, atención sanitaria, electrodomésticos inteligentes y servicios médicos avanzados, a través de la convergencia y la combinación entre la tecnología de la información (TI) existente y diversas industrias.
En consecuencia, se han realizado diversos intentos de aplicar el sistema de comunicación 5G a las redes IoT. Por ejemplo, las tecnologías tal como la red de sensores, la comunicación de tipo máquina (MTC) y la comunicación de máquina a máquina (M2M) pueden implementarse mediante formación de haces, MIMO y antenas de matriz. La aplicación de una red de acceso de radio (RAN) en la nube como tecnología de procesamiento de grandes datos descrita anteriormente también puede considerarse como un ejemplo de convergencia entre la tecnología 5G y la tecnología IoT.
Generalmente, cuando se transmiten o reciben datos entre un transmisor y un receptor en un sistema de comunicación, pueden producirse errores de datos debido al ruido existente en un canal de comunicación. Un esquema de codificación de corrección de errores es un esquema de codificación diseñado para corregir un error generado por un canal de comunicación en un receptor. Estos códigos de corrección de errores también se denominan codificación de canal. Una técnica de codificación de corrección de errores es una técnica que consiste en añadir un bit redundante a los datos s ser transmitidos y luego transmitirlos.
Existen diversos esquemas para la técnica de codificación de corrección de errores. Por ejemplo, un esquema de codificación convolucional, un esquema de codificación turbo, un esquema de codificación de verificación de paridad de baja densidad (LDPC) y un esquema de código polar son conocidos en la técnica. Entre estos, los códigos polares son los primeros códigos sobre los que se ha demostrado teóricamente el logro de la capacidad del canal punto a punto por el uso de los fenómenos de polarización del canal. Los códigos polares permiten un diseño de código optimizado para cada canal o tasa de código con evolución de la densidad, aproximación gaussiana (GA), aproximación recíproca de canales (RCA), y similares.
Mientras tanto, la tecnología de comunicación móvil 5G, que se ha propuesto recientemente como el sistema de comunicación móvil de próxima generación, se refiere principalmente a los siguientes tres escenarios: un escenario de banda ancha móvil mejorada (eMBB), un escenario de comunicación ultra fiable y de baja latencia (URLLC), y un escenario de MTC masivo (mMTC). Los códigos de corrección de errores para soportar estos escenarios también deben soportar varias tasas de código con un rendimiento estable.
Sin embargo, hasta el momento no se ha conseguido un esquema que satisfaga todos los escenarios anteriores sin aumentar la complejidad de la memoria. Por lo tanto, es necesario proporcionar dicho esquema de codificación.
El documento ZTE: "Rate Matching Scheme for Polar Codes", 3GPP draft R1-1713235, desvela un esquema de concordancia de la tasa de memoria intermediaes 2d-circulares que combina diversos esquemas de concordancia de la tasa. Para este esquema de concordancia de la tasa de la memoria intermedia 2d-circular, el patrón de intercalación dentro de las filas es el siguiente: Memoria intermedia de permutación = [0,1,2,3,4,5,6,7,8,16,9,17,10,18,11,19,12,20,13,21,14,22,15,23,24,25,26,27,28,29,30,31 ];
La información anterior se presenta como información anterior sólo para ayudar a la comprensión de la divulgación. No se ha determinado, ni se afirma, si algo de lo anterior puede ser aplicable como técnica anterior con respecto a la divulgación.
Divulgación de la invención
Problema Técnico
En consecuencia, la presente divulgación se realiza para abordar al menos los problemas y/o desventajas descritos anteriormente y para proporcionar al menos las ventajas descritas más adelante. En consecuencia, un aspecto de la divulgación es proporcionar una operación de concordancia de la tasa con un rendimiento estable en los sistemas de codificación y decodificación para los códigos polares. En particular, diversos ejemplos de la divulgación logran un excelente rendimiento en un sistema de comunicación de evolución a largo plazo (LTE) o de 5° generación-nueva tecnología de acceso de radio (5G-NR) cuando se realiza la concordancia de velocidades según un procedimiento de intercalación de bits codificados en un orden adecuado, almacenando una secuencia de bits resultante en una memoria intermedia circular, y extrayendo luego los bits de la memoria intermedia. Además, varios ejemplos de la divulgación logran un rendimiento excelente en todos los casos en los que se producen perforaciones, acortamientos y repeticiones como resultado de la concordancia de velocidades mediante las operaciones mencionadas.
Aspectos adicionales serán expuestos en parte en la descripción que sigue y, en parte, serán evidentes a partir de la descripción, o pueden ser aprendidos por la práctica de los ejemplos presentados.
Solución al Problema
La invención es definida en las reivindicaciones independientes. Las reivindicaciones dependientes definen realizaciones ventajosas.
Efectos Ventajosos de la Invención
De acuerdo con diversos ejemplos de la divulgación, un procedimiento de concordancia de la tasa de código polar que incluye seleccionar un código madre, seleccionar una técnica de perforación, acortamiento o repetición, configurar un intercalador y operar una memoria intermedia circular, puede lograr un rendimiento excelente y estable en los sistemas de comunicación y radiodifusión que utilizan códigos polares. Además, de acuerdo con diversos ejemplos de la divulgación, el procedimiento de ajuste de la velocidad del código polar puede simplificar una operación del sistema utilizando un intercalador unificado y una operación de memoria intermedia circular independientemente de la perforación, el acortamiento o la repetición.
Otros aspectos, ventajas y características sobresalientes de la divulgación se harán evidentes para los expertos en la técnica a partir de la siguiente descripción detallada, la cual, tomada en conjunto con los dibujos anexos, desvela varios ejemplos de la divulgación.
Breve descripción de los dibujos
Lo anterior y otros aspectos, características y ventajas de determinadas realizaciones de la presente divulgación serán más evidentes a partir de la siguiente descripción detallada tomada en conjunto con los dibujos adjuntos, en los que: La Figura 1 es un diagrama de bloques que ilustra un procedimiento de codificación polar y concordancia de la tasa de acuerdo con una realización de la divulgación;
La Figura 2 es un diagrama de flujo que ilustra un procedimiento de codificación polar y concordancia de la tasa de acuerdo con una realización de la divulgación;
La Figura 3 es un diagrama que ilustra un procedimiento de determinación de un tamaño de código madre de un código polar de acuerdo con una realización de la divulgación;
La Figura 4 es un diagrama que ilustra un procedimiento y un criterio para seleccionar una de las perforaciones, el acortamiento y la repetición para la concordancia de la tasa del código polar de acuerdo con una realización de la divulgación;
La Figura 5 es un diagrama que ilustra una operación de intercalación en base a una permutación de sub­ bloques en el orden de una secuencia de código polar pequeña de 8 tamaños de acuerdo con un ejemplo de la divulgación;
La Figura 6 es un diagrama que ilustra una operación de intercalación en base a la permutación de sub­ bloques en el orden de una secuencia de código polar pequeña de 16 tamaños de acuerdo con un ejemplo de la divulgación;
La Figura 7 es un diagrama que ilustra un procedimiento de almacenamiento de una secuencia de bits, obtenida mediante la realización de una operación de intercalación en base a una permutación de sub­ bloques, en una memoria intermedia y la carga de bits desde la memoria intermedia de acuerdo con un ejemplo de la divulgación;
La Figura 8 es un diagrama que ilustra el orden de extracción de los bits almacenados en una memoria intermedia circular tras una operación de intercalación en base a una permutación de bloques de acuerdo con el primer ejemplo de la divulgación;
La Figura 9 es un diagrama que ilustra un procedimiento de determinación de un subcanal congelado forzosamente en un proceso de codificación cuando se produce la perforación mediante una operación de concordancia de la tasa para extraer bits tras una operación de intercalación en base a una permutación de bloques de acuerdo con el primer ejemplo de la divulgación;
La Figura 10 es un diagrama que ilustra un procedimiento de determinación de un subcanal congelado forzosamente en un proceso de codificación cuando se produce un acortamiento mediante una operación de concordancia de la tasa para extraer bits tras una operación de intercalación en base a una permutación de bloques de acuerdo con el primer ejemplo de la divulgación;
La Figura 11 es un diagrama que ilustra el orden de extracción de los bits almacenados en una memoria intermedia circular tras una operación de intercalación en base a una permutación de bloques de acuerdo con el segundo ejemplo de la divulgación;
La Figura 12 es un diagrama que ilustra un procedimiento de determinación de un subcanal congelado forzosamente en un proceso de codificación cuando se produce la perforación mediante una operación de concordancia de la tasa para extraer bits tras una operación de intercalación en base a una permutación de bloques de acuerdo con el segundo ejemplo de la divulgación;
La Figura 13 es un diagrama que ilustra el orden de extracción de los bits almacenados en una memoria intermedia circular tras una operación de intercalación en base a una permutación de bloques de acuerdo con el tercer ejemplo de la divulgación;
La Figura 14 es un diagrama que ilustra el orden de extracción de los bits almacenados en una memoria intermedia circular tras una operación de intercalación de base cruzada de acuerdo con el cuarto ejemplo de la divulgación;
La Figura 15 es un diagrama que ilustra un procedimiento de determinación de un subcanal congelado forzosamente en un proceso de codificación cuando se produce la perforación mediante una operación de concordancia de la tasa para extraer bits tras una operación de intercalación basada en una permutación de bloques de acuerdo con el cuarto ejemplo de la divulgación;
La Figura 16 es un diagrama de flujo que ilustra un procedimiento detallado de determinación de la intercalación descrito en la FIG. 2 de acuerdo con un ejemplo de la divulgación;
La Figura 17 es un diagrama de flujo que ilustra un procedimiento en caso de que se utilice un intercalador en base a una permutación de bloques junto con una operación de ajuste de asignación de subcanales o una operación de permutación en un sub-bloque de acuerdo con una realización de la divulgación;
La Figura 18 ilustra una arquitectura de red para un sistema 5G de acuerdo con una realización de la divulgación, y la Figura
La Figura 19 ilustra una estructura de una entidad de red de acuerdo con una realización de la divulgación.
A lo largo de los dibujos, cabe señalar que se utilizan números de referencia similares para representar elementos, características y estructuras iguales o similares.
Modo para la Invención
La siguiente descripción, con referencia a los dibujos adjuntos, se proporciona para ayudar a la comprensión global de diversos ejemplos de la divulgación definidos por las reivindicaciones. En consecuencia, aquellos con experiencia en la técnica reconocerán que se pueden realizar varios cambios y modificaciones de los diversos ejemplos descritos en la presente memoria sin apartarse del alcance de la divulgación, tal como se define en las reivindicaciones adjuntas. Además, las descripciones de funciones y construcciones bien conocidas pueden omitirse por propósitos de claridad y concisión.
Los términos y palabras utilizados en la siguiente descripción y en las reivindicaciones no se limitan a los significados bibliográficos, sino que son simplemente utilizados por el inventor para permitir una comprensión clara y coherente de la divulgación. En consecuencia, debe ser evidente para aquellos con experiencia en la técnica que la siguiente descripción de diversos ejemplos de la divulgación se proporciona sólo con fines ilustrativos y no con el propósito de limitar la divulgación como se define en las reivindicaciones adjuntas.
Debe comprenderse que las formas singulares "un", "una" y "el/la" incluyen referentes plurales a menos que el contexto dicte claramente lo contrario. De este modo, por ejemplo, la referencia a "una superficie del componente" incluye la referencia a una o más de dichas superficies.
En la siguiente descripción de diversos ejemplos, se omiten las descripciones de técnicas que son bien conocidas en la técnica y que no se refieren directamente a la divulgación. Lo anterior se lleva a cabo para transmitir claramente el objeto de la divulgación omitiendo cualquier explicación innecesaria.
Por la misma razón, algunos elementos de los dibujos están exagerados, omitidos o ilustrados esquemáticamente. Además, el tamaño de cada elemento no refleja del todo el tamaño real. En los dibujos, los elementos iguales o correspondientes se indican con los mismos números de referencia.
Los aspectos y características de la presente divulgación y los procedimientos para lograr los aspectos y características serán evidentes por referencia a las realizaciones que se describirán en detalle con referencia a los dibujos adjuntos. Sin embargo, la divulgación puede ser plasmada en muchas formas diferentes y no debe interpretarse como limitada a los diversos ejemplos expuestos en la presente memoria. Más bien, estos ejemplos se proporcionan para que la presente divulgación sea exhaustiva y completa y transmita plenamente el alcance de la divulgación a los expertos en la técnica. Para dar a conocer plenamente el alcance de la divulgación a los expertos en la técnica, la divulgación sólo se define por el alcance de las reivindicaciones.
En este caso, se comprenderá que cada bloque de las ilustraciones del diagrama de flujo, y las combinaciones de bloques en las ilustraciones del diagrama de flujo, pueden implementarse mediante instrucciones de programa informático. Estas instrucciones de programa informático pueden proporcionarse a un procesador de un ordenador de propósito general, un ordenador de propósito especial, u otro aparato de procesamiento de datos programable para producir una máquina, de manera tal que las instrucciones, las cuales se ejecutan a través del procesador del ordenador u otro aparato de procesamiento de datos programable, crean medios para implementar las funciones especificadas en el bloque o bloques del diagrama de flujo. Estas instrucciones de programa informático también pueden ser almacenadas en una memoria utilizable o legible por ordenador que puede dirigir un ordenador u otro aparato de procesamiento de datos programable de modo que funcione de una manera particular, de manera tal que las instrucciones almacenadas en la memoria utilizable o legible por ordenador produzcan un artículo de fabricación que incluya medios de instrucción que implementen la función especificada en el bloque o bloques del diagrama de flujo. Las instrucciones del programa informático también pueden ser cargadas en un ordenador o en otro aparato programable de procesamiento de datos para hacer que se realicen una serie de etapas operativas en el ordenador o en otro aparato programable para producir un procedimiento implementado por ordenador de manera tal que las instrucciones que se ejecutan en el ordenador o en otro aparato programable proporcionen etapas para implementar las funciones especificadas en el bloque o bloques del diagrama de flujo.
Además, cada bloque de las ilustraciones del diagrama de flujo puede representar un módulo, segmento, o porción de código, el cual incluye una o más instrucciones ejecutables para implementar las funciones lógicas especificadas. También se debe tener en cuenta que en algunas implementaciones alternativas, las funciones señaladas en los bloques pueden ocurrir fuera del orden. Por ejemplo, dos bloques que se muestran en sucesión pueden de hecho ser ejecutados sustancialmente de manera concurrente o los bloques pueden a veces ser ejecutados en el orden inverso, dependiendo de la funcionalidad involucrada.
Como se utiliza en la presente memoria, el término "unidad" se puede referir a un componente de software y/o hardware, tal como un conjunto de puertas programare en campo (FPGA) o un circuito integrado de aplicación específica (ASIC), el cual realiza determinadas tareas. Una unidad puede estar configurada para residir en el medio de almacenamiento direccionable y configurada para ejecutarse en uno o más procesadores. Por lo tanto, un módulo o unidad puede incluir, a modo de ejemplo, componentes, tal como componentes de software, componentes de software orientado a objetos, componentes de clases y componentes de tareas, procesos, funciones, atributos, procedimientos, subrutinas, segmentos de código de programa, controladores, firmware, microcódigos, circuitos, datos, bases de datos, estructuras de datos, tablas, conjuntos, y variables. La funcionalidad proporcionada en los componentes y unidades puede combinarse en menos componentes y unidades o separarse más en componentes y unidades adicionales. Además, los componentes y unidades pueden implementarse para operar una o más unidades centrales de procesamiento (CPU) en un dispositivo o una tarjeta multimedia de seguridad.
A continuación, se describirán en detalle varias realizaciones de la presente divulgación con referencia a los dibujos adjuntos.
Un código polar es un código de corrección de errores propuesto por E. Arikan en 2008 y el primer código sobre el que se ha demostrado el alcance de la capacidad del canal (es decir, el límite de transmisión de datos) en todos los canales binarios discretos sin memoria (B-DMC), al tiempo que tiene un bajo rendimiento de codificación/complejidad. En comparación con otros códigos de aproximación a la capacidad del canal, tal como un código turbo y un código de verificación de paridad de baja densidad (LDPC), el código polar presenta ventajas en cuanto a rendimiento de corrección de errores y complejidad de decodificación cuando se transmiten códigos de corta longitud. Por lo tanto, en 2017 se ha determinado que el código polar se utiliza para la transmisión de información de control de corta duración en la estandarización NR del proyecto de asociación de tercera generación (3GPP) para la comunicación móvil de quinta generación (5G).
La Figura 1 muestra un procedimiento de codificación para un código polar de acuerdo con una realización de la divulgación.
Con referencia a la Figura 1, se desvela un procedimiento de codificación polar.
En este ejemplo, el número de bits de información a ser transmitidos en un proceso de codificación es K, y el número de bits de codificación transmitidos a través de un canal tras la codificación es M. Además, el número de bits de código polar madre de un código polar es N.
1) Generación de bits de información
Se presenta una secuencia de bits de información b = {b0, b1, ..., bK-1} a ser transmitida.
2) Código exterior
En la operación 110, la secuencia de bits de información b es codificada en un código externo para mejorar el rendimiento. El código exterior utilizado es un código de detección de errores, tal como un código de verificación de redundancia cíclica (CRC) o un código de corrección de errores, tal como un código Bose-Chaudhuri-Hocquenghem (BCH) o un código de verificación de paridad simple. La longitud de una paridad generada por el código externo se denota por Kouter, y una secuencia de bits resultante de la codificación externa se denota por b' = {b'0, b-i, ..., b'K+Kouter-1}. La codificación exterior no es una operación esencial y, por tanto, cuando no se considera la codificación externa, Kouter = 0, y b' = b.
3) Asignación de subcanales
En la operación 120, para la codificación polar, la secuencia de bits b' es asignada a una secuencia de bits u = {u0, u1, ..., uN-1} que tiene una longitud de N. La longitud N que indica el tamaño del código polar madre es una potencia de 2 y se determina por un criterio preestablecido. El código polar madre es una clave antes del acortamiento o la perforación y se describirá más adelante en una multiplicación de la matriz del generador. La letra u indica una secuencia de bits de entrada de la codificación polar, y los bits respectivos de u pueden interpretarse como si pasaran por subcanales de diferentes calidades por la polarización del canal. Debido a esta característica, el procedimiento de asignación de b' a u se denomina procedimiento de asignación de subcanales. En general, el procedimiento de asignación de subcanales de un código polar se compone de tres operaciones, a saber.
A. En primer lugar, se determina la posición de un subcanal incapaz de transportar información por perforación o acortamiento tras la codificación. Es decir, entre los bits de la secuencia de bits u se determinan los índices de los bits a los que no se asignan los bits de codificación exterior por perforación o acortamiento. La perforación del código polar se refiere a la ausencia de transmisión de una parte de la secuencia de bits del código madre generada mediante la codificación por un transmisor. Dado que un bit de codificación no se transmite aunque sea generado, un receptor no puede conocer la información de probabilidad sobre el bit de codificación y, por lo tanto, puede establecer un valor recibido o un valor de relación de probabilidad logarítmica (Ll R) a cero. Además, el acortamiento del código polar se refiere a la fijación de una parte de la secuencia de bits de entrada del codificador a cero, de modo que una parte de los bits de la clave generada a través de la codificación se convierte en cero. El transmisor no transmite un bit de codificación que siempre se convierte en cero de acuerdo con el resultado de la codificación. Dado que es sabido que el bit de la clave tiene el valor de cero aunque no se reciba, el receptor establece un valor recibido o valor LLR para este bit a un valor muy grande que indica un valor de bit de cero. En este proceso de acortamiento, un bit acortado en un extremo de entrada de codificación y un bit correspondiente en un extremo de salida no tienen necesariamente un valor de bit de cero, y se puede utilizar cualquier valor que satisfaga una ecuación de codificación de un código polar. Sin embargo, por comodidad de aplicación, suele fijarse en cero. Si el número de bits perforados o acortados tras la codificación se denota por Np, Np bits de la secuencia de bits u pasarán por un subcanal incapaz o un subcanal acortado. El subcanal incapaz se produce en caso de perforación, y el subcanal acortado se produce en caso de acortamiento. La posición del subcanal incapaz/acortado se determina por la posición de un bit perforado o acortado en el resultado codificado. Es decir, los índices de los bits a los que no se asignan los bits de codificación exterior se determinan entre los bits de la secuencia de bits de entrada del codificador polar u tomando en consideración los bits perforados o acortados.
B. Los bits respectivos de la secuencia de bits de entrada b' se asignan a los bits restantes de u. Las posiciones de los bits de la secuencia u a las que se asignarán los bits de b' están determinadas por la capacidad del canal del subcanal por el que pasará cada bit de la secuencia u. Es decir, b' se asigna para ser transmitido en el subcanal que tiene la mayor capacidad de canal entre los subcanales de la secuencia u. Para esto se utiliza una secuencia en la cual los índices de los subcanales de la secuencia u están ordenados de acuerdo con la capacidad del canal. Esto se denomina secuencia de código polar. La secuencia de códigos polares puede almacenarse en las memorias del transmisor/receptor u obtenerse mediante una operación específica en cada transmisión/recepción.
C. Finalmente los bits restantes de la secuencia u se denominan bits congelados. Aunque la información puede ser transmitida como resultado de la operación descrita anteriormente, los bits de la secuencia u que pasan a través de subcanales con baja capacidad de canal se convierten en los bits congelados. Los bits congelados se ajustan a los valores prometidos por el emisor y el receptor, siendo normalmente fijados a cero si no hay un propósito específico.
4) Multiplicación de la matriz generadora
En la operación 130, la secuencia de bits u que tiene una longitud de N se multiplica por una matriz generadora G de NxN del código polar para generar una secuencia de bits x que tiene una longitud de N. La secuencia de bits x se denomina código madre del código polar. Cuando el código polar fue propuesto por Arikan, la matriz generadora G se definió de la siguiente manera.
Figure imgf000007_0001
En la ecuación anterior,
Figure imgf000007_0002
Figure imgf000007_0003
denota n veces la potencia de Kronecker. Por ejemplo,
. Además, BN es una matriz de permutación de inversión de bits que tiene un tamaño de NXN. Por ejemplo, {a0, a1, a2, a3, a4, a5, a6, a7} y Bs se multiplican para obtener {a0, a4, a2, a6, a1, a5, a3, a7}. Sin embargo, en documentos y sistemas recientes, incluido 5G-NR, se considera una matriz generadora simple, excepto Bn , como se indica a continuación.
Figure imgf000008_0001
En adelante en la presente memoria, a menos que se indique lo contrario, se supone que la matriz generadora se define como G = F®log2N La descripción en base a este supuesto puede aplicarse fácilmente al código polar utilizando una matriz generadora definida como G = B n F®Ios2N en base a una operación de permutación de inversión de bits.
5) Intercalación y concordancia de la tasa
En la operación 140, la secuencia de bits de longitud N generada a través de la multiplicación de la matriz del generador se intercala para un ajuste eficiente de la velocidad. En la operación 150, la secuencia de bits intercalada se almacena en una memoria intermedia que tiene un tamaño de N. En un sistema de comunicación móvil como el de evolución a largo plazo (LTE) o el 5G-NR, se supone generalmente una memoria intermedia circular virtual. La secuencia de bits intercalada se almacena secuencialmente en la memoria intermedia circular virtual, y a partir de esta se cargan y transmiten secuencialmente M bits. Si M es inferior a N, los bits N-M pueden ser perforados en el orden inverso al almacenado en la memoria intermedia circular virtual o ser acortados en el orden almacenado. Si M es superior a N, los bits M-N se repiten en el orden de ser almacenados en la memoria intermedia circular virtual. El intercalador debe estar diseñado para obtener un rendimiento estable incluso en caso de perforación, acortamiento y repetición.
El intercalador para la concordancia de velocidades debe diseñarse adecuadamente para satisfacer las características del código polar. Algunos de los bits de la clave pueden ser perforados, acortados o repetidos por la concordancia de la tasa, y por lo tanto se produce un cambio en un canal sufrido por los bits de un vector x en un decodificador del código polar. En caso de perforación, el bit correspondiente no se transmite, por lo que se puede considerar que este bit ha pasado por un canal muy degradado. En caso de acortamiento, el valor del bit correspondiente se conoce con exactitud, por lo que se puede considerar que este bit ha pasado por un canal muy bueno. En caso de repetición, la combinación suave se lleva a cabo al recibir información de probabilidad sobre el bit correspondiente dos o más veces, por lo que se puede considerar que este bit ha pasado por un canal relativamente bueno en comparación con un bit no repetido. Dado que este cambio de canal que sufren los bits de un vector x afecta significativamente al rendimiento de los códigos polares, es necesario seleccionar adecuadamente las posiciones de los bits perforados, acortados y repetidos. El intercalador de bits realiza esta función.
La Figura 2 muestra conceptualmente la operación de un transmisor que considera la concordancia de velocidades de acuerdo con una realización de la divulgación. Del mismo modo, aunque no se muestra, un receptor puede realizar una operación correspondiente para configurar un decodificador tomando en consideración la concordancia de velocidades.
Con referencia a la Figura 2, se desvela la operación de un transmisor que considera la concordancia de velocidades según un ejemplo de la divulgación.
En primer lugar, en la operación 205, se da la longitud K de los bits a ser transmitidos y la longitud M de los bits de la clave a ser transmitidos a través de un canal.
En la operación 210, el transmisor determina el tamaño N de un código madre que se utilizará para la codificación polar.
En la operación 215, en base a los parámetros anteriores N, K y M, y en un criterio predeterminado, el transmisor determina qué operación de concordancia de la tasa se realizará entre la perforación, el acortamiento y la repetición.
Si se determina realizar la operación de perforación o acortamiento, el transmisor determina en la operación 220 un subcanal incapaz de ser seleccionado para la transmisión de información de entre los subcanales como se ha descrito anteriormente. En este momento, se determina el subcanal incapaz de ser seleccionado tomando en consideración las operaciones de intercalación y de concordancia de la tasa a ser realizadas posteriormente. Específicamente, en un ejemplo, todos los bits pueden ser divididos en sub-bloques en consideración a la operación de perforación o acortamiento, y esto puede ser realizado en consideración a la operación de intercalación.
En la operación 225, el transmisor realiza una asignación de subcanales para los bits de información a ser transmitidos.
En la operación 230, el transmisor realiza la codificación polar.
En la operación 235, en base a un esquema predeterminado, el transmisor intercala una secuencia de bits obtenida como resultado de la codificación.
En la operación 240, el transmisor almacena la secuencia de bits intercalada en una memoria intermedia.
En la operación 245, el transmisor carga, a partir de esta memoria intermedia, M bits a ser transmitidos a través de un canal. En adelante, estos bits son transmitidos a través del canal después de que se haya realizado el intercalado de canales, la modulación y similares. En adelante en la presente memoria, se describirán estas operaciones respectivamente.
La Figura 3 muestra un procedimiento de obtención del tamaño del código madre N del código polar a partir de los parámetros dados K y M de acuerdo con una realización de la divulgación.
Con referencia a la Figura 3, se muestra un procedimiento para determinar el tamaño del código madre N, en base a los parámetros dados K y M.
En la operación 305, se presentan la longitud K de los bits a ser transmitidos y la longitud M de los bits de la clave a ser transmitidos a través de un canal.
En la operación 310, se calculan los valores de Nm, Nr, y Nmáx. Para calcular Nm, en primer lugar se calcula la potencia más pequeña de 2, mayor que M, NDM = 2 r|og2Mi. Entonces, si M < (^2ü) X p ^ < Ra
y , Nm se calcula como Ndm/2, y de lo contrario, Nm se calcula como Ndm. En un ejemplo de la divulgación, tomando en consideración p= 1,15 y Ra = 0,4, se puede seleccionar un tamaño de código madre adecuado. Otro parámetro NR se calcula como NR =2 r log2(M/Rb)i , y se considera Rb = 1/6 en un ejemplo de la divulgación. El parámetro Nmáx es el tamaño del código polar máximo que puede soportar un sistema.
En la operación 315, en base a los valores calculados anteriormente, el tamaño de código madre N del código polar que se utilizará para la codificación y decodificación con respecto a K y M se determina como el valor más pequeño entre los valores calculados de NM, NRy Nmáx.
La Figura 4 muestra un procedimiento de determinación de qué operación entre las operaciones de perforación, acortamiento y repetición se llevará a cabo, en base a los parámetros anteriores K y M y el tamaño del código madre N obtenido a través del proceso anterior de acuerdo con una realización de la divulgación.
Con referencia a la Figura 4, en base a K, M y N, es posible determinar qué operación entre la perforación, el acortamiento y la repetición se utilizará para transmitir los datos.
En la operación 405, se presentan la longitud K de los bits a ser transmitidos y la longitud M de los bits de la clave a ser transmitidos a través de un canal.
En la operación 410, se puede determinar si M es superior a N.
Si M es superior a N, se determina en la operación 415 repetir M-N bits tras la codificación. En este caso, como se transmiten todos los bits generados por la codificación, no hay ningún subcanal congelado a la fuerza por la perforación. Por lo tanto, se puede omitir un proceso de cálculo relacionado.
Por otro lado, si M es inferior a M, se realizará la operación de perforación o acortamiento.
En la operación 420, se puede determinar si una tasa de código K/M es igual o inferior a una tasa de código de referencia predeterminada Rc.
Si la tasa de código K/M es igual o inferior a la tasa de código de referencia predeterminada Rc, se determina en la operación 425 perforar N-M bits de un vector de x bits codificados resultantes.
Si la tasa de código K/M es superior a la tasa de código de referencia predeterminada Rc, se determina en la operación 430 acortar los N-M bits del vector de x bits codificado resultante. En un ejemplo de la divulgación, la tasa de código de referencia Rc para determinar la perforación y el acortamiento puede ser de 0,35 en consideración al rendimiento, y este valor puede variar de acuerdo con diversos ejemplos.
Como se ha descrito anteriormente, si M es inferior a N, es posible determinar si se realiza el acortamiento o la perforación, en base a la tasa de código.
Las Figuras 5 y 6 son diagramas que ilustran una operación de intercalación en base a una permutación de sub­ bloques para la concordancia de velocidades de acuerdo con un ejemplo de la divulgación.
Con referencia a la Figura 5 y Figura 6, se muestra una operación de intercalación en base a una permutación de sub­ bloques para la concordancia de velocidades según varios ejemplos de la divulgación.
Un vector x obtenido a través de la codificación con un código polar que tiene un código madre de tamaño N en la operación 505 se divide en T sub-bloques en la operación 510, y luego se realiza la intercalación en base a los sub­ bloques. En este caso, T es una potencia de 2, que es inferior a N, y es un valor relativamente pequeño. Normalmente, T se determina como 8, 16 o 32, y puede establecerse en un valor mayor. Por lo tanto, cada sub-bloque contiene N/T bits. Los respectivos sub-bloques se intercalan en un orden predeterminado (es decir, patrón de intercalación) Pt. En un ejemplo de la divulgación, parte o la totalidad de Pt cumple con el orden de una secuencia de código polar de longitud corta. Las secuencias de códigos polares Qs, Q16, y Q32con tamaños de 8, 16 y 32 tienen una forma determinada independientemente de la SNR de un canal, y vienen dadas por las siguientes ecuaciones
Qk= fO, 1,2,4, 3, 5,6,7! Ecuación 3
Qií, = {0, 1,2,4, 8,3, 5, 6, 9, 10,12,7» II, 13, 14,15} ...Ecuación A
Q ü= (0. j, 2,4, 8, 16, 3, 5, 6,9, !Ü, 17, 12, !S, 20. 24, 7, 11, 13, 19, 14,21,
22, 25, 26,28, 15, 23,27,29,30,3]}.. Ecuación 5
En la operación 510, la secuencia de bits que resulta de la codificación polar se intercala en unidades de sub-bloques utilizando un intercalador determinado como Pt = Qs = {0, 1, 2, 4, 3, 5, 6, 7}. Este resultado se almacena en una memoria intermedia en la operación 515.
Un vector x obtenido a través de la codificación con un código polar que tiene un código madre de tamaño N en la operación 605 se divide en T sub-bloques en la operación 610, y luego se realiza la intercalación en base a los sub­ bloques. Específicamente, en la operación 610, la secuencia de bits que resulta de la codificación polar se intercala en unidades de sub-bloques por el uso de un intercalador determinado como Pt = Q16 = {0, 1, 2, 4, 8, 3, 5, 6, 9, 10, 12, 7, 11, 13, 14, 15}. Este resultado se almacena en una memoria intermedia en la operación 615.
En diversos ejemplos, Pt que indica un patrón de intercalación no es necesariamente igual a la secuencia de código polar de longitud corta Qt. Sin embargo, en un ejemplo de la divulgación, se puede considerar que cumple con al menos un orden parcial de Qt para un rendimiento excelente. Por ejemplo, para determinar P16, se utiliza el orden de los ocho elementos delanteros de Q16, y el orden de los ocho elementos traseros se ajusta al orden ascendente de los números. Como resultado, P-^se determina como P-i6 = {0, 1, 2, 4, 8, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15}. Esta secuencia es simplemente ejemplar (y no se limita a ella), y la forma de una permutación de sub-bloques no se limita necesariamente a una forma específica.
La Figura 7 ilustra un procedimiento en el que una secuencia de bits resultante de la codificación se intercala en base a una permutación de bloques de Ps, se almacena en una memoria intermedia y luego se carga para la concordancia de velocidades de acuerdo con un ejemplo de la divulgación.
Con referencia a la Figura 7, se desvela una característica técnica de un ejemplo en el que los bits codificados polarmente son intercalados y luego almacenados en una memoria intermedia tomando en consideración la concordancia de la tasa. Aunque para simplificar se supone que se utiliza como ejemplo un intercalador en base a una permutación de sub-bloques de P8, se puede utilizar cualquier otra secuencia.
Un vector x obtenido a través de la codificación con un código polar que tiene un código madre de tamaño N en la operación 705 se divide en T sub-bloques en la operación 710, y luego se realiza la intercalación en base a los sub­ bloques. En la operación 715, la secuencia de bits intercalada en unidades de sub-bloques es almacenada en una memoria intermedia, y luego son cargados M bits desde la memoria intermedia y se administrar a un procedimiento como un intercalador de canales o un modulador. En diversos ejemplos de la divulgación, se considera la operación de una memoria intermedia circular utilizado en un sistema de comunicación general como se muestra en la FIG. 7. Los siguientes ejemplos se refieren al funcionamiento de la memoria intermedia circular con respecto a la repetición, la perforación y el acortamiento.
La Figura 8 es un diagrama que ilustra el orden de extracción de los bits almacenados en una memoria intermedia circular tras una operación de intercalación basada en una permutación de bloques según el primer ejemplo de la divulgación.
Con referencia a la Figura 8, se muestra un procedimiento de carga y extracción de la secuencia de bits intercalada de la memoria intermedia circular.
Un vector x obtenido a través de la codificación con un código polar que tiene un código madre de tamaño N en la operación 805 se divide en T sub-bloques en la operación 810, y luego se realiza la intercalación en base a los sub­ bloques. En la operación 815, los bits almacenados en la memoria intermedia circular pueden ser cargados secuencialmente, independientemente de las operaciones de perforación, acortamiento y repetición. Es decir, en primer lugar se cargan secuencialmente los bits del sub-bloque 0, y luego se cargan secuencialmente los bits del primer sub-bloque. Estos bits no se cargan en unidades de sub-bloques. Por lo tanto, en caso de perforación o acortamiento, los N-M bits almacenados en la última porción de la memoria intermedia son perforados o acortados. Además, en caso de repetición, se repiten los M-N bits almacenados en la parte anterior de la memoria intermedia.
La Figura 9 es un diagrama que ilustra un procedimiento de determinación de un subcanal congelado forzosamente en un proceso de codificación cuando se produce la perforación mediante una operación de concordancia de la tasa para extraer bits tras una operación de intercalación basada en una permutación de bloques según el primer ejemplo de la divulgación.
Con referencia a la Figura 9, se muestra un procedimiento para determinar un subcanal congelado en un proceso de codificación para realizar la perforación.
En caso de perforación, los N-M bits almacenados en la última porción de la memoria intermedia son perforados en la operación 910. Dado que los bits almacenados en la memoria intermedia están intercalados por la permutación de sub-bloques, los bits perforados en un gráfico de codificación del código polar están intercalados en un patrón definido por un proceso inverso al intercalado. En el caso de la extracción de bits de acuerdo con el primer ejemplo, los subcanales se congelan forzosamente en el orden inverso del patrón de perforación en el extremo de codificación en la operación 905. Es decir, si los diez bits posteriores del séptimo sub-bloque se perforan en la operación 910, los subcanales de los diez bits anteriores del subbloque 0 se congelan forzosamente en la operación 905. Esto está relacionado con la dualidad del patrón de perforación, y si el patrón de perforación está bien diseñado, es posible que se congele forzosamente en el orden inverso de la perforación. La codificación se realiza por la sustitución de un valor tal como el cero, prometido por el emisor y el receptor, por una posición forzosamente congelada.
La Figura 10 es un diagrama que ilustra un procedimiento de determinación de un subcanal congelado forzosamente en un proceso de codificación cuando se produce un acortamiento mediante una operación de concordancia de la tasa para extraer bits tras una operación de intercalación en base a una permutación de bloques de acuerdo con el primer ejemplo de la divulgación.
Con referencia a la Figura 10, se muestra un procedimiento para determinar un subcanal congelado en un proceso de codificación para realizar el acortamiento.
En caso de acortamiento, los N-M bits almacenados en la última porción de la memoria intermedia se acortan en la operación 1010. Dado que los bits almacenados en la memoria intermedia están intercalados por la permutación de sub-bloques, los bits acortados en un gráfico de codificación del código polar están intercalados en un patrón definido por un proceso inverso al intercalado. En el caso de la extracción de bits de acuerdo con el primer ejemplo, los subcanales se congelan forzosamente en el mismo orden de patrón de acortamiento en el extremo de codificación en la operación 1005. La codificación se realiza por la sustitución de un valor, prometido por el emisor y el receptor, por una posición forzosamente congelada. Este valor prometido puede ser, entre otros, cero en un ejemplo.
La Figura 11 es un diagrama que ilustra el orden de extracción de los bits almacenados en una memoria intermedia circular tras una operación de intercalación basada en una permutación de bloques de acuerdo con el segundo ejemplo de la divulgación.
Con referencia a la Figura 11, se muestra un procedimiento de carga y extracción de la secuencia de bits intercalada de la memoria intermedia circular.
Un vector x obtenido mediante la codificación en un código polar que tiene un código madre de tamaño N determinado en la operación 1105 se divide en T sub-bloques en la operación 1110, y luego se realiza la intercalación en base a los sub-bloques. En la operación 1115, los bits almacenados en la memoria intermedia circular pueden cargarse secuencialmente en la dirección de avance en caso de una operación de acortamiento o repetición, y cargarse secuencialmente en la dirección de retroceso en caso de una operación de perforación. Es decir, en caso de acortamiento o repetición, primero se cargan secuencialmente los bits del sub-bloque 0 y luego los bits del primer sub­ bloque. Por otro lado, en caso de perforación, los bits del séptimo subbloque se cargan primero en sentido inverso y, a continuación, los bits del sexto sub-bloque se cargan en sentido inverso. Estos bits no se cargan en unidades de sub-bloques. Por lo tanto, en caso de acortamiento, los N-M bits almacenados en la última porción de la memoria intermedia se acortan. Además, en caso de perforación, se perforan los N-M bits almacenados en la porción anterior de la memoria intermedia. Y también, en caso de repetición, se repiten los M-N bits almacenados en la porción anterior de la memoria intermedia. La determinación de los subcanales congelados forzosamente en el extremo de codificación por el acortamiento sigue el ejemplo descrito anteriormente de la FIG. 10.
La Figura 12 es un diagrama que ilustra un procedimiento de determinación de un subcanal congelado forzosamente en un proceso de codificación cuando se produce la perforación mediante una operación de concordancia de la tasa para extraer bits tras una operación de intercalación basada en una permutación de bloques 'de acuerdo con el segundo ejemplo de la divulgación.
Con referencia a la Figura 12, se muestra un procedimiento para determinar un subcanal congelado en un proceso de codificación para realizar la perforación.
En caso de perforación, los N-M bits almacenados en la porción anterior de la memoria intermedia son perforados en la operación 1210. Dado que los bits almacenados en la memoria intermedia están intercalados por la permutación de sub-bloques, los bits perforados en un gráfico de codificación del código polar están intercalados en un patrón definido por un proceso inverso al intercalado. En el caso de la extracción de bits de acuerdo con el segundo ejemplo, los subcanales se congelan forzosamente en el orden inverso del patrón de perforación en el extremo de codificación en la operación 1205. La codificación se realiza por la sustitución de un valor, prometido por el emisor y el receptor, por una posición forzosamente congelada.
La Figura 13 es un diagrama que ilustra el orden de extracción de los bits almacenados en una memoria intermedia circular tras una operación de intercalación basada en una permutación de bloques según el tercer ejemplo de la divulgación.
Con referencia a la Figura 13, se muestra un procedimiento de carga y extracción de la secuencia de bits intercalada de la memoria intermedia circular.
Un vector x obtenido mediante la codificación en un código polar que tiene un código madre de tamaño N determinado en la operación 1305 se divide en T sub-bloques en la operación 1310, y luego se realiza la intercalación en base a los sub-bloques. En la operación 1315, los bits almacenados en la memoria intermedia circular pueden cargarse secuencialmente en la dirección de avance en caso de una operación de acortamiento y cargarse secuencialmente en la dirección de retroceso en caso de una operación de perforación o repetición. Es decir, en caso de acortamiento, en primer lugar se cargan secuencialmente los bits del sub-bloque 0, y luego se cargan secuencialmente los bits del primer sub-bloque. Por el otro lado, en caso de perforación o repetición, los bits del séptimo sub-bloque se cargan en primer lugar en sentido inverso y, después, los bits del sexto sub-bloque se cargan en sentido inverso. Estos bits no se cargan en unidades de sub-bloques. Por lo tanto, en caso de acortamiento, los N-M bits almacenados en la última porción de la memoria intermedia se acortan. Además, en caso de perforación, se perforan los N-M bits almacenados en la porción anterior de la memoria intermedia. Y también, en caso de repetición, se repiten los M-N bits almacenados en la última porción de la memoria intermedia. La determinación de los subcanales congelados forzosamente en el extremo de codificación por la perforación sigue el ejemplo descrito anteriormente de la FIG. 12, y la determinación de los subcanales congelados forzosamente en el extremo de codificación por el acortamiento siguen el ejemplo descrito anteriormente de la FIG. 10.
La Figura 14 es un diagrama que ilustra el orden de extracción de los bits almacenados en una memoria intermedia circular tras una operación de intercalación de base cruzada de acuerdo con el cuarto ejemplo de la divulgación.
Con referencia a la Figura 14, se muestra el orden de los bits almacenados en la memoria intermedia tras la operación del intercalador de base cruzada.
Una secuencia de bits de salida codificada en un código polar en la operación 1405 se divide en cuatro sub-bloques
{0, 1, 2, 3} en el intercalador de base cruzada en la operación 1410. Luego, en la operación 1415, los bits de los sub­ bloques 1 y 2 se intercalan. Para dicho esquema de intercalación, se ha utilizado un procedimiento de extracción de bits de un memoria intermedia como el mostrado en la FIG. 13. En un ejemplo de la divulgación se considera un procedimiento de carga de bits de forma secuencial e igual independientemente de la perforación, el acortamiento y la repetición, incluso tras la operación de intercalación de base cruzada. El anterior es un procedimiento de transmisión que utiliza una relación de dualidad entre un subcanal congelado forzosamente en la entrada de codificación y un bit perforado en la salida de codificación. Si se cargan los bits por igual, es posible realizar la misma gestión de la memoria intermedia.
La Figura 15 es un diagrama que ilustra un procedimiento de determinación de un subcanal congelado forzosamente en un proceso de codificación cuando se produce la perforación mediante una operación de concordancia de la tasa para extraer bits tras una operación de intercalación en base a una permutación de bloques de acuerdo con el cuarto ejemplo de la divulgación.
Con referencia a la Figura 15, se muestra un procedimiento para determinar un subcanal congelado en un proceso de codificación para realizar la perforación. Como se ha descrito anteriormente, los subcanales congelados forzosamente se determinan en el orden inverso al patrón de perforación también en este ejemplo. En el caso de la perforación, los
N-M bits almacenados en la primera porción de la memoria intermedia pueden ser perforados en la operación 1510, y en el caso de la extracción de bits según el segundo ejemplo, los subcanales pueden ser congelados forzosamente en un orden de patrón de perforación en el extremo de codificación en la operación 1505.
Mientras tanto, en este ejemplo, el tamaño y el número de sub-bloques utilizados en la operación del intercalador en base a una permutación de bloques puede variar dependiendo del tamaño de un código madre. Los ejemplos para determinar el número de sub-bloques utilizados para los respectivos tamaños del código madre son los siguientes.
1) Procedimiento para determinar el número de sub-bloques utilizados para los respectivos tamaños código madre mientras se fija el tamaño del sub-bloque: Por ejemplo, si el tamaño del sub-bloque utilizado en el intercalador en base a la permutación de bloques se fija en 8, el número de sub-bloques utilizados cuando el tamaño del código madre es de 64, 128, 256, 512 o 1024 se determina como 8, 16, 32, 64 o 128.
Del mismo modo, si el tamaño del sub-bloque es 16, el número de sub-bloques se determina como 4, 8, 16, 32 o 64 en caso de que el tamaño del código madre sea 64, 128, 256, 512 o 1024. En el caso de otros tamaños de sub-bloque, el número de sub-bloques se puede determinar de la misma manera. Este procedimiento puede ser ventajoso en la implementación de hardware dado que el tamaño del sub-bloque se mantiene constante aunque el tamaño del código madre cambie.
2) Procedimiento para determinar de forma independiente el número de sub-bloques utilizados para los respectivos tamaños de código madre: Tomando en consideración el rendimiento y la complejidad de implementación para cada tamaño de código madre, se determina el número óptimo de sub-bloques. En este caso, el número de sub-bloques utilizados cuando el tamaño del código madre es 256 no está relacionado con el número de sub-bloques utilizados cuando el tamaño del código madre es 512. El número de sub­ bloques puede determinarse por la realización de la operación de optimización en cada tamaño de código madre.
3) Procedimiento para mantener el número de sub-bloques utilizados para los respectivos tamaños de código madre: Incluso si el tamaño del código madre varía a 64, 128, 256, 512, 1024 o similares, el número de sub­ bloques utilizados en el intercalador se mantiene de manera uniforme.
Además, el orden de intercalación Pt de los sub-bloques en la operación de intercalación puede determinarse de la siguiente manera.
1) Procedimiento para determinar Pt en función del número de sub-bloques utilizados: Pt se utiliza de forma diferente según el número de sub-bloques determinados en la operación de permutación de bloques. En este caso, Pt puede determinarse por la realización de la optimización del rendimiento para cada número dado de sub-bloques.
2) Procedimiento para determinar Pt en función del tamaño de un código madre: Pt se utiliza de forma diferente de acuerdo con el tamaño del código madre utilizado. En este caso, Pt puede determinarse realizando la optimización del rendimiento para cada tamaño dado de un código madre.
El orden de intercalación Pt se caracteriza por satisfacer una condición de orden parcial. En este caso, el orden parcial es una de las características de una secuencia de código polar considerada en un diseño de código polar, y es una condición que indica el orden de fiabilidad (o el orden del estado del canal o el orden de la tasa de error del subcanal) entre los subcanales del código polar independientemente de un entorno de canal físico. Con el fin de mantener la relación entre el concordancia de la tasa y el congelamiento descrito en las FIGS. 12 y 15, el orden de intercalación Pt se selecciona entre órdenes que satisfacen el orden parcial.
En el ejemplo, el orden parcial es una relación entre dos enteros. En la representación binaria de dos enteros a y b, un conjunto de posiciones en el que existe 1 es un subconjunto a puede que ser superior o igual a b, y puede determinarse en base a la representación binaria de cada índice de sub-bloque como se describe con referencia al ejemplo anterior. Por ejemplo, un pequeño índice puede estar situado en la parte delantera de la secuencia.
Uno de los ejemplos anteriores es el siguiente. Lo que sigue es simplemente un ejemplo y el número de sub-bloques y el orden de intercalación, utilizados por el código madre, pueden determinarse en base a al menos uno de los procedimientos descritos anteriormente.
1. Cuando el tamaño del código madre es de 64
- Número de sub-bloques: 4
- Pt = {0, 1,2, 3}
2. Cuando el tamaño del código madre es de 128
- Número de sub-bloques: 8
- Pt = {0, 1,2, 4, 3, 5, 6, 7}
3. Cuando el tamaño del código madre es de 256
- Número de sub-bloques: 16
- Pt = {0, 1, 2, 4, 8, 3, 5, 6, 9, 10, 12, 7, 11, 13, 14, 15}
4. Cuando el tamaño del código madre es de 512
- Número de sub-bloques: 32
- Pt = {0, 1 ,2 , 4, 8, 16, 3, 5, 6, 9, 10, 17, 12, 18, 20, 24, 7, 11 ,21 ,22 , 25, 26, 28, 15, 23, 27, 29, 30, 31}
Un ejemplo del orden de intercalación PT descrito anteriormente es el siguiente. Cuando el número de sub-bloques es A, el orden de intercalación PT puede expresarse en tres partes como sigue:
Pt = {PT1, Pt2, Pts}.
En este caso, Pt1 es una secuencia que tiene una longitud de A 1, y se genera ordenando los números naturales de 0 a Ai-1 de forma que satisfagan el orden parcial. Por ejemplo, s iA 1 es 8, un ejemplo de Pt1 es {0, 1, 2, 4, 3, 5, 6, 7}. Además, Pt3 es una secuencia que tiene una longitud de A 1, y se genera ordenando los números naturales de A-Ai a A-1 de forma que satisfagan el orden parcial. Por ejemplo, si A es 32 y A 1 es 8, un ejemplo de Pt3 es {24, 25, 26, 28, 27, 29, 30, 31}.
Además, Pt2 cuya longitud A2 es A-2Ai se construye por la intercalación de números naturales de A 1 a A-A1-1, de la siguiente manera.
Figure imgf000014_0001
Por ejemplo, cuando A es 32 y A 1 es 8, Pt2 se determina de la siguiente manera: {8, 16, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 14, 22, 15, 23}.
En una realización de la invención, cuando A es 32 y Ai es 8, el orden de intercalación PT es de la siguiente manera:
Figure imgf000014_0002
Como una representación posible del orden de intercalación PT, es posible añadir un determinado número natural a todos los números de PT descrito anteriormente. Por ejemplo, PT puede comenzar en 1 en lugar de 0. Además, el orden de notación puede invertirse.
Los ejemplos representativos de PT que satisfacen el orden parcial son los siguientes:
Ejemplo 1) A = 32, A1 = 8
PT = {0,1,2,3,4,5,6/7,8,16,9,17,10,18,11,19,12,20,13,21,14,22,15,23,24,25,26,27,28,29,30,31}
PT = {0,1,2,3,4,5,6,7,8,16,9,17,10,18,11,19,12,20,13,21,14,22,15,23,24,25,26,28,27,29,30,31}
PT = {0,1,2,4,3,5,6,7,8,16,9,17,10,18,11,19,12,20,13,21,14,22,15,23,24,25,26,27,28,29,30,31}
, y de acuerdo con la presente invención
PT = {0,1,2,4,3,5,6,7,8,16,9,17,10,18,11,19,12,20,13,21,14,22,15,23,24,25,26,27,28,29,30,31}
Ejemplo 2) A = 32, A1 = 10
PT = {0,1,2,4,8,3,5,9,6,7,10,16,11,17,12,18,13,19,14,20,15,21,24,25,22,26,28,23,27,29,30,31}
PT * {0,1,2,4,8,3,5,6,9,7,10,16,11,17,12,18,13,19,14,20,15,21,24,22,25,26,28,23,27,29,30,31}
PT = {0,1,2,4,8,3,5,6,7,9,10,16,11,17,12,18,13,19,14,20,15,21,22,24,25,26,28,23,27,29,30,31}
PT = {0,1,2,4,3,8,5,9,6,7,10,16,11,17,12,18,13,19,14,20,15,21,24,25,22,26,23,28,27,29,30,31}
PT - {0,1,2,4,3,8,5,6,9,7,10,16,11,17,12,18,13,19,14,20,15,21,24,22,25,26,23,28,27,29,30,31}
PT = {0,1,2,4,3,8,5,6,7,9,10,16,11,17,12,18,13,19,14,20,15,21,22,24,25,26,23,28,27,29,30,31}
PT = {0,1,2,4,3,5,8;9,6,7,10,16,11,17,12,18,13,19,14,20,15,21,24,25,22,23,26,28,27,29,30,31}
PT = {0,1,2,4,3,5,8,6,9,7,10,16,11,17,12,18,13,19,14,20,15,21,24,22,25,23,26,28,27,29,30,31}
PT {0,1,2,4,3,5,8,6,7,9,10,16,11,17,12,18,13,19,14,20,15,21,22,24,25,23,26,28,27,29,30,31}
PT {0,1,2,4,3,5,6,8,9,7,1016,11,17,12,18,13,19,14,20,15,21,24,22.23,23,26,2827,20,30,31}
Figure imgf000015_0001
PT fO,1,2,4,3,5,6,7,8,9,1016,11,17,12,18,13,19,14,20,15,21,22,23,24,25,26,28.27,29,30,31}
PT = {0,1,2,3,4,8,5,9,6,7,10,16,11,17,12,18,13,19,14,20,15,21,24,25,22,26,23,27,28,29,30,31}
PT = {0,1,2,3,4,8,5,6,9,7,10,16,11,17,12,18,13,19,14,20,15,21,24,22,25,26,23,27,28,29,30,31}
PT = {0,1,2,3,4,8,5,6,7,9,10,16,11,17,12,18,13,19,14,20,15,21,22,24,25,26,23,27,28,29,30,31}
PT {0,1,2,3,4,5,8,9,6,7,10,16,11,17,12,18,13,19,14,20,15,21,24,25,22,23,26,27,28,29,30,31}
PT {0,1,2,3,4,5,8,6,9,7,10,16,1147,12,18,13,19,14,20,15,21,24,22,25,23,20,27,28,29,30,31}
P r= {0,1,2,3,4,5,8,6,7,9,1046,11,17,12,18,13,19,14,2045,21,22,24,25,23,26,27,28,29,30,31}
Px = {0,1,2,3,4,5,6,8,9,7404641474248,13,19,14,2045,21,24,22,23,25,26,27,28,29,30,31}
PT = {0,1,2,3,4,5,6,8,7,9,10,16414742,18,13,1944,2045,2.1,22,24,23,25,26,27,28,29,30,31}.
PT = {0,1,2,3,4,5,6,7,8,9,10,16,114742,18,134944,2045,21,22,23,24,25,26,27,28,29,30,31}
Ejemplo 3) A = 32, Ai = 12
Figure imgf000015_0002
PT = {0,1,2,4,3,5,6,8,9,10,7414246434744,184549,20,24,21,22,23,25,26,28,27,29,30,31} PT = {0,1,2,4,3,5,6,8,9,7,10,11,12,16,13,17,14/18,15,19,20,21,24,22,23,25,26,28,27,29,30,31}
PT = {0,1,2,4,3,5,6,8,7,9,10,11,12,16,13,17,14,18,15,19,20,21,22,24,23,25,26,28,27,29,30,31}
PT = {0,1,2,4,3,5,6,7,8,9,10,11,12,16,13,17,14,18,15,19,20,21,22,23,24,25,26,28,27,29,30,31}
PT = {0,1,2,3,4,8,5,9,6,10,7,11,12,16,13,17,14,18,15,19,20,24,21,25,22,26,23,27,28,29,30,31}
Px = {0,1,2,3,4,8,5,9,6,7,10,11,12,16,13,17,14,18,15,19,20,21,24,25,22,26,23,27,28,29,30,31}
PT = {0,1,2,3,4,8,5,6,9,10,7,11,12,16,13,17,14,18,15,19,20,24,21,22,25,26,23,27,28,29,30,31}
PT = {0,1,2,3,4,8,5,6,9,7,10,11,12,16,13,17,14,18,15,19,20,21,24,22,25,26,23,27,28,29,30,31}
PT = {0,1,2,3,4,8,5,6,7,9,10,11,12,16,13,17,14,18,15,19,20,21,22,24,25,26,23,27,28,29,30,31}
PT = {0,1,2,3,4,5,8,9,6,10,7,11,12,16,13,17,14,18,15,19,20,24,21,25,22,23,26,27,28,29,30,31}
PT = {0,1,2,3,4,5,8,9,6,7,10,11,12,16,13,17,14,18,15,19,20,21,24,25,22,23,26,27,28,29,30,31}
PT = {0,1,2,3,4,5,8,6,9,10,7,11,12,16,13,17,14,18,15,19,20,24,21,22,25,23,26,27,28,29,30,31}
Px = {0,1,2,3,4,5,8,6,9,7,10,11,12,16,13,17,14,18,15,19,20,21,24,22,25,23,26,27,28,29,30,31}
PT = {0,1,2,3,4,5,8,6,7,9,10,11,12,16,13,17,14,18,15,19,20,21,22,24,25,23,26,27,28,29,30,31}
Px = {0,1,2,3,4,5,6,8¿9,10,7,11,12,16,13,17,14,18,15,19,20,24,21,22,23,25,26,27,28,29,30,31}
PT = {0,1,2,3,4,5,6,8,9,7,10,11,12,16,13,17,14,18,15,19,20,21,24,22,23,25,26,27,28,29,30,31}
Px = {0,1,2,3,4,8,6,8,7,9,10,11,12,16,13,17,14,18,15,19,20,21,22,24,23,25,26,27,28,29,30,31}
Px = {0,1,2,3,4,5,6,7,8,9,10,11,12/16,13,17,14,18,15,19,20,21,22,23,24,25,26,27,28,29,30,31}
La Figura 16 es un diagrama que ilustra una parte de la operación del transmisor descrita anteriormente de acuerdo con un ejemplo de la divulgación.
Con referencia a la Figura 16, se muestra un procedimiento detallado de determinación de la intercalación descrito en la FIG. 2 y similares.
La operación de intercalación en base a una permutación de bloques puede utilizarse en combinación con las siguientes operaciones adicionales.
En primer lugar, en la operación 1605, se presenta la longitud K de los bits a ser transmitidos y la longitud M de los bits de la clave a ser transmitidos a través de un canal.
En la operación 1610, en base a los parámetros anteriores K y M, el transmisor determina el tamaño N de un código madre a utilizar para la codificación polar.
En la operación 1615, el transmisor puede determinar el tamaño de los sub-bloques de acuerdo con el tamaño del código madre. La determinación del tamaño del sub-bloque puede utilizar uno de los procedimientos descritos en diversos ejemplos de la divulgación.
En la operación 1620, el transmisor puede identificar un patrón de intercalación para el sub-bloque. Además, un procedimiento para realizar la intercalación puede incluir una de las siguientes operaciones.
[Operación 1] Se puede realizar el ajuste de la asignación de subcanales. Específicamente, para la transmisión de bits de información, la asignación de subcanales se realiza generalmente de acuerdo con una secuencia de códigos polares. El ajuste de la asignación de subcanales incluye una operación de asignación de subcanales en consideración de una operación de ajuste de la velocidad. En detalle, al reflejar una variación en la información mutua o una probabilidad de error del subcanal en la operación de ajuste de la velocidad de perforación, acortamiento o repetición, se puede incluir una operación de ajuste del orden de los subcanales a los que se asignan los bits de información. Esto significa que se toma en consideración la influencia en los restantes subcanales, además del subcanal incapaz por la generación de la operación de ajuste de la velocidad descrita anteriormente. Un procedimiento para simplificar el ajuste de la asignación de subcanales es dividir todos los subcanales de los códigos polares en dos partes, en base a índices, y ajustar el número de bits de información asignados a cada parte tomando en consideración la perforación, el acortamiento y la repetición.
[Operación 2] Permutación de bits en el sub-bloque: Esto significa una operación de permutación de bits de la mezcla de bits incluidos en un sub-bloque, además de la operación de permutación de bloques descrita anteriormente y considerada por la divulgación. Al mezclar los bits de un sub-bloque, todos los sub-bloques pueden ser mezclados con el mismo patrón o con patrones diferentes.
La Figura 17 es un diagrama de flujo que ilustra un procedimiento de codificación y concordancia de la tasa que incluye la operación de ajuste de asignación de subcanales y la operación de permutación de bits en el sub-bloque como se ha descrito anteriormente de acuerdo con un ejemplo de la divulgación.
Con referencia a la Figura 17, se desvela la operación de un transmisor que considera la concordancia de la tasa de acuerdo con una realización de la divulgación.
En primer lugar, en la operación 1705, se presenta la longitud K de los bits a ser transmitidos y la longitud M de los bits de la clave a ser transmitidos a través de un canal.
En la operación 1710, el transmisor determina el tamaño N de un código madre que se utilizará para la codificación polar.
En la operación 1715, en base a los parámetros anteriores N, K y M, y en un criterio predeterminado, el transmisor determina qué operación de concordancia de la tasa se realizará entre la perforación, el acortamiento y la repetición. Si se determina realizar la operación de perforación o acortamiento, el transmisor determina en la operación 1720 un subcanal incapaz de ser seleccionado para la transmisión de información de entre los subcanales como se ha descrito anteriormente. En este momento, se determina el subcanal incapaz de ser seleccionado tomando en consideración las operaciones de intercalación y de concordancia de la tasa a ser realizadas posteriormente. Específicamente, en un ejemplo, todos los bits pueden ser divididos en sub-bloques en consideración de la operación de perforación o acortamiento, y esto puede ser realizado en consideración de la operación de intercalación.
En la operación 1725, el transmisor realiza una asignación de subcanales para los bits de información a ser transmitidos.
En la operación 1730, el transmisor puede realizar un ajuste de asignación de subcanales.
En la operación 1735, el transmisor puede realizar la codificación polar.
En la operación 1740, en base a un esquema predeterminado, el transmisor intercala una secuencia de bits obtenida como resultado de la codificación.
En la operación 1745, el transmisor puede intercalar bits dentro de un sub-bloque.
En la operación 1750, el transmisor almacena la secuencia de bits intercalada en una memoria intermedia.
En la operación 1755, el transmisor carga, a partir de esta memoria intermedia, M bits a ser transmitidos a través de un canal. En adelante, estos bits son transmitidos a través del canal después de que se haya realizado el intercalado de canales, la modulación y similares.
Dependiendo de diversos ejemplos, el ajuste de la asignación de subcanales de la operación 1730 y el intercalado de bits dentro de un subbloque de la operación 1745 pueden ser selectivamente realizados u omitidos.
La Figura 18 ilustra una estructura de un terminal de acuerdo con una realización de la divulgación.
Con referencia a la Figura 18, el terminal puede incluir un transceptor 1805, un controlador 1810, y un almacenamiento 1815. En la divulgación, el controlador 1810 puede definirse como un circuito, un circuito integrado de aplicación específica, o al menos un procesador.
El transceptor 1805 puede transmitir y recibir señales con otros dispositivos. Cuando el transmisor se implementa en un terminal, el transceptor 1805 puede recibir, por ejemplo, información del sistema y una señal de sincronización o de referencia de una estación base, y también transmitir una secuencia de bits a la estación base.
El controlador 1810 puede controlar la operación general del terminal de acuerdo con las realizaciones propuestas por la divulgación. Por ejemplo, el controlador 1810 puede controlar un flujo de señales entre bloques para realizar una operación de acuerdo con el diagrama de flujo descrito anteriormente. Específicamente, el controlador 1810 puede controlar el transmisor para codificar los bits de información como se ha descrito anteriormente en diversos ejemplos.
El almacenamiento 1815 puede almacenar al menos una información transmitida o recibida a través del transceptor 1805 e información generada a través del controlador 1810.
La Figura 19 ilustra una estructura de un terminal de acuerdo con una realización de la divulgación.
Con referencia a la Figura 19, el terminal puede incluir un transceptor 1905, un controlador 1910, y un almacenamiento 1915. En la divulgación, el controlador 1910 puede definirse como un circuito, un circuito integrado de aplicación específica, o al menos un procesador.
El transceptor 1905 puede transmitir y recibir señales con otros dispositivos. Cuando el receptor se implementa en un terminal, el transceptor 1905 puede recibir, por ejemplo, una secuencia de bits codificada desde una estación base.
El controlador 1910 puede controlar la operación general del terminal de acuerdo con las realizaciones propuestas por la divulgación. Por ejemplo, el controlador 1910 puede controlar un flujo de señales entre bloques para realizar una operación de acuerdo con el diagrama de flujo descrito anteriormente. Específicamente, el controlador 1910 puede controlar el receptor para decodificar los bits de información codificados como se ha descrito anteriormente en diversos ejemplos.
El almacenamiento 1915 puede almacenar al menos una información transmitida o recibida a través del transceptor 1905 e información generada a través del controlador 1910.
De acuerdo con un ejemplo de la divulgación, un procedimiento de codificación y concordancia de la tasa para un sistema de comunicación en base a códigos polares puede incluir operaciones de: determinar un tamaño de un código madre que se utilizará para codificar y decodificar los códigos polares de acuerdo con un número de bits de la clave y una tasa de código; identificar una secuencia de código polar que indica las prioridades de los subcanales cuando los bits de información se asignan a los subcanales; determinar una de las operaciones de perforación, acortamiento y repetición de acuerdo con el número de bits de la clave, la tasa de código y el tamaño del código madre determinado; determinar un intercalador en base a una permutación de bloques para el concordancia de la tasa de acuerdo con el tamaño del código madre; determinar la posición de una parte de los bits congelados mediante perforación/acortamiento en base al intercalador; codificar los bits de acuerdo con el patrón de bits congelados determinado y la secuencia de código polar o la fiabilidad de un canal polarizado; intercalar los bits codificados utilizando el intercalador determinado; y determinar un orden de transmisión de los bits intercalados, en base a la determinación de una de las operaciones de acortamiento, perforación y repetición.
El intercalador en base a la permutación de bloques puede determinarse tomando en consideración únicamente el tamaño del código madre, independientemente de las operaciones de perforación, acortamiento y repetición. Además, el intercalador en base a la permutación de bloques puede determinarse en función del número de sub-bloques y de un orden de intercalación de los sub-bloques. El orden de intercalación puede ser intercalar los sub-bloques en el orden de una secuencia de código polar con la misma longitud que el número de sub-bloques o en un orden arbitrario que satisfaga un orden parcial. En caso de acortamiento, un patrón de bits forzosamente congelados entre los bits de entrada de la codificación puede ser igual que un patrón de bits acortados entre los bits de salida de la codificación. En caso de perforación, un patrón de bits congelados forzosamente entre los bits de entrada de la codificación puede ser igual o tener un orden inverso al de un patrón de bits perforados entre los bits de salida de la codificación. El orden de transmisión de los bits intercalados puede determinarse de forma diferente en función de las operaciones de perforación, acortamiento y repetición, o determinarse igualmente con independencia de las operaciones de perforación, acortamiento y repetición.
El número de sub-bloques del intercalador en base a la permutación de bloques puede determinarse de acuerdo con el tamaño del código madre mientras se fija el tamaño del sub-bloque, determinarse de acuerdo con el tamaño de cada código madre, o determinarse como un número constante independientemente del tamaño del código madre. En la permutación de sub-bloques, el orden de intercalación puede determinarse de acuerdo con el número de sub­ bloques o el tamaño del código madre. El intercalador en base a la permutación de bloques puede realizar solamente una operación de permutación de sub-bloques o junto con al menos una de las operaciones de ajuste de asignación de sub-canales y una operación de intercalación de bits dentro de un sub-bloque.
Si bien la divulgación se ha mostrado y descrito con referencia a diversas realizaciones, completadas con ejemplos que pueden no estar dentro del alcance de las reivindicaciones pero que son útiles para comprender la invención, los expertos en la técnica comprenderán que pueden realizarse diversos cambios en la forma y los detalles a partir de las realizaciones sin apartarse del alcance de la divulgación tal como se define en las reivindicaciones adjuntas.

Claims (20)

REIVINDICACIONES
1. Un procedimiento realizado por un transmisor (1880) por el uso de un código polar, el procedimiento comprende:
identificar una primera secuencia de bits para ser transmitida a un receptor;
determinar una segunda secuencia de bits por la codificación de la primera secuencia de bits con el código polar;
identificar un número de sub-bloques divididos a partir de la segunda secuencia de bits;
realizar una intercalación en base a un patrón de intercalación en los sub-bloques de la segunda secuencia de bits; y
determinar una tercera secuencia de bits por la realización de un concordancia de la tasa de la segunda secuencia de bits intercalada,
en el que el número de sub-bloques es de 32, y
en el que el patrón de intercalación es
{0,1,2,4,3,5,6,7,8,16,9,17,10,18,11,19,12,20,13,21,14,22,15,23,24,25,26,28,27,29,30,31}.
2. El procedimiento de la reivindicación 1, que comprende además:
determinar una longitud de la segunda secuencia de bits como una potencia de 2,
en el que, en caso de que la longitud de la tercera secuencia de bits sea más corta que la de la segunda secuencia de bits, se determina que se utilizará una de las perforaciones o un acortamiento para la concordancia de la tasa, en base a una tasa de código que se determina en función de la longitud de la primera secuencia de bits y de la longitud de la tercera secuencia de bits, y
en el que en caso de que la longitud de la tercera secuencia de bits sea más larga que la longitud de la segunda secuencia de bits, se determina una repetición que se utilizará para la concordancia de la tasa.
3. El procedimiento de la reivindicación 2, en el que la determinación de la segunda secuencia de bits comprende además:
identificar las posiciones de los bits a ser perforados en caso de que se determine el uso de la perforación; ajustar los bits a ser perforados como 0.
4. El procedimiento de la reivindicación 2, en el que la determinación de la segunda secuencia de bits comprende:
identificar posiciones de los bits a ser acortados en caso de que se determine el uso del acortamiento; y ajustar los bits a ser perforados como 0.
5. El procedimiento de la reivindicación 2,
en el que, en caso de que la tasa de código sea inferior a un valor umbral, se determina que la perforación se utilice para la concordancia de la tasa.
6. El procedimiento de la reivindicación 2,
en el que en caso de que la tasa de código sea superior a un valor umbral, se determina que el acortamiento se utilice para la concordancia de la tasa.
7. El procedimiento de la reivindicación 2, en el que la determinación de la tercera secuencia de bits comprende además:
almacenar la segunda secuencia de bits intercalada en una memoria intermedia circular; y
realizar la perforación de una porción anterior de bits en la segunda secuencia de bits intercalada, en caso de que se determine que se utilizará la perforación,
en el que una longitud de la primera porción de bits se determina por la resta de la longitud de la tercera secuencia de bits de la longitud de la segunda secuencia de bits.
8. El procedimiento de la reivindicación 2, en el que la determinación de la tercera secuencia de bits comprende además:
almacenar la segunda secuencia de bits intercalada en una memoria intermedia circular; y
realizar el acortamiento de una última porción de bits de la segunda secuencia de bits intercalada, en caso de que se determine que se utilizará el acortamiento,
en el que una longitud de la última porción de bits se determina por la resta de la longitud de la tercera secuencia de bits de la longitud de la segunda secuencia de bits.
9. El procedimiento de la reivindicación 2, en el que la determinación de la tercera secuencia de bits comprende: almacenar la segunda secuencia de bits intercalada en una memoria intermedia circular; y
realizar la repetición de bits en la segunda secuencia de bits intercalada, en caso de que se determine que se utilizará la repetición, y
en el que una longitud de los bits a ser repetidos se determina por la resta de la longitud de la segunda secuencia de bits de la longitud de la tercera secuencia de bits.
10. Un aparato (1800) para transmitir información por el uso de un código polar, el aparato (1800) comprende:
un transceptor (1805); y
un controlador (1810) acoplado al transceptor y configurado para:
identificar una primera secuencia de bits que se transmitirá a un receptor,
determinar una segunda secuencia de bits por la codificación de la primera secuencia de bits con el código polar,
identificar un número de sub-bloques divididos de la segunda secuencia de bits, realizar una intercalación en base a un patrón de intercalación en los sub-bloques de la segunda secuencia de bits, y
determinar una tercera secuencia de bits por la realización de un concordancia de la tasa de la segunda secuencia de bits intercalada,
en el que el número de sub-bloques es de 32, y
en el que el patrón de intercalación es {0,1,2,4,3,5,6,7,8,16,9,17,10,18,11,19,12,20,13,21,14,22,15,23,24,25,26,28,27,29,30,31}.
11. El aparato (1800) de la reivindicación 10, en el que el controlador está configurado además para determinar una longitud de la segunda secuencia de bits como una potencia de 2
en el que, en caso de que la longitud de la tercera secuencia de bits sea más corta que la de la segunda secuencia de bits, se determina que se utilizará una de las perforaciones o un acortamiento para la concordancia de la tasa, en base a una tasa de código que se determina en función de la longitud de la primera secuencia de bits y de la longitud de la tercera secuencia de bits, y
en el que en caso de que la longitud de la tercera secuencia de bits sea más larga que la longitud de la segunda secuencia de bits, se determina una repetición que se utilizará para la concordancia de la tasa.
12. El aparato (1800) de la reivindicación 11, en el que el controlador está configurado además para:
identificar posiciones de los bits a ser perforados en caso de que se determine que se va a utilizar la perforación;
ajustar los bits a ser perforados como 0.
13. El aparato de la reivindicación 11, en el que el controlador está configurado además para:
identificar posiciones de los bits a ser acortados en caso de que se determine el uso del acortamiento, y ajustar los bits a ser perforados como 0.
14. El aparato (1800) de la reivindicación 11,
en el que, en caso de que la tasa de código sea inferior a un valor umbral, se determina que la perforación se utilice para la concordancia de la tasa.
15. El aparato de la reivindicación 11,
en el que, en caso de que la tasa de código sea superior a un valor umbral, se determina que el acortamiento se utilice para el concordancia de la tasa.
16. El aparato (1800) de la reivindicación 11, en el que el controlador está configurado además para:
almacenar la segunda secuencia de bits intercalada en una memoria intermedia circular; y
realizar la perforación de una porción anterior de bits en la segunda secuencia de bits intercalada, en caso de que se determine que se utilizará la perforación,
en el que una longitud de la primera porción de bits se determina por la resta de la longitud de la tercera secuencia de bits de la longitud de la segunda secuencia de bits.
17. El aparato de la reivindicación 11,
en el que el controlador está configurado además para:
almacenar la segunda secuencia de bits intercalada en una memoria intermedia circular, y
realizar el acortamiento de una última porción de bits de la segunda secuencia de bits intercalada, en caso de que se determine que se utilizará el acortamiento,
en el que una longitud de la última porción de bits se determina por la resta de la longitud de la tercera secuencia de bits de la longitud de la segunda secuencia de bits.
18. El aparato (1800) de la reivindicación 11, en el que el controlador está configurado además para:
almacenar la segunda secuencia de bits intercalada en una memoria intermedia circular, y
realizar la repetición de bits en la segunda secuencia de bits intercalada, en caso de que se determine que se utilizará la repetición, y
en el que una longitud de los bits a ser repetidos se determina por la resta de la longitud de la segunda secuencia de bits de la longitud de la tercera secuencia de bits.
19. Un procedimiento realizado por un receptor por el uso de un código polar, el procedimiento comprende:
recibir una señal;
identificar los bits de información, en base a la señal recibida;
en el que la disconcordancia de la tasa se realiza sobre una pluralidad de valores de la señal recibida en base a una longitud de los bits de información,
en el que la desintercalación de sub-bloques se realiza en base a un patrón de intercalación,
en el que se realiza decodificación por el uso del código polar para identificar los bits de información, y en el que el patrón de intercalación es
{0,1,2,4,3,5,6,7,8,16,9,17,10,18,11,19,12,20,13,21,14,22,15,23,24,25,26,28,27,29,30,31}.
20. Un aparato para recibir información por el uso de un código polar, el aparato comprende:
un transceptor; y
un controlador acoplado al transceptor y configurado para:
recibir una señal,
identificar los bits de información, en base a la señal recibida,
en el que la disconcordancia de la tasa se realiza sobre una pluralidad de valores de la señal recibida en base a una longitud de los bits de información,
en el que la desintercalación de sub-bloques se realiza en base a una patrón de intercalación, en el que se realiza decodificación por el uso del código polar para identificar los bits de información, y
en el que el patrón de intercalación es {0,1,2,4,3,5,6,7,8,16,9,17,10,18,11,19,12,20,13,21,14,22,15,23,24,25,26,28,27,29,30,31}.
ES18820113T 2017-06-19 2018-06-18 Procedimiento y aparato de concordancia de tasa para sistemas de comunicación y radiodifusión Active ES2901249T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20170077564 2017-06-19
KR20170097843 2017-08-01
KR1020170107573A KR102378324B1 (ko) 2017-06-19 2017-08-24 통신 및 방송 시스템을 위한 부호율-조정 방법 및 장치
PCT/KR2018/006868 WO2018236114A1 (en) 2017-06-19 2018-06-18 METHOD AND APPARATUS FOR FLOW ADAPTATION FOR COMMUNICATION AND BROADCASTING SYSTEMS

Publications (1)

Publication Number Publication Date
ES2901249T3 true ES2901249T3 (es) 2022-03-21

Family

ID=65008871

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18820113T Active ES2901249T3 (es) 2017-06-19 2018-06-18 Procedimiento y aparato de concordancia de tasa para sistemas de comunicación y radiodifusión

Country Status (10)

Country Link
US (2) US11223443B2 (es)
EP (2) EP3625887B1 (es)
JP (1) JP7189161B2 (es)
KR (1) KR102378324B1 (es)
CN (2) CN110800216B (es)
AU (1) AU2018288906B2 (es)
CA (1) CA3067966A1 (es)
ES (1) ES2901249T3 (es)
HU (1) HUE056494T2 (es)
PL (1) PL3625887T3 (es)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018126496A1 (en) * 2017-01-09 2018-07-12 Qualcomm Incorporated Bit allocation for encoding and decoding
MX2019011245A (es) 2017-03-22 2019-11-21 Idac Holdings Inc Intercalado por sub-bloque para sistemas de codificación polar, procedimientos y señalización.
KR102378324B1 (ko) * 2017-06-19 2022-03-25 삼성전자 주식회사 통신 및 방송 시스템을 위한 부호율-조정 방법 및 장치
US11483771B2 (en) * 2018-04-11 2022-10-25 Lg Electronics Inc. Method and apparatus for transmitting wakeup packet in wireless LAN system
KR102555639B1 (ko) 2018-07-27 2023-07-14 삼성전자 주식회사 천공된 극 부호의 설계 방법 및 장치
US11329754B2 (en) * 2020-03-03 2022-05-10 Rockwell Collins, Inc. Variable data rate broadcast method for channels requiring equalization
CN111245444B (zh) * 2020-03-20 2022-03-29 清华大学 归一化最小和ldpc译码方法及译码器
CN115622572A (zh) * 2020-04-22 2023-01-17 华为技术有限公司 编码、译码方法、装置及设备
CN114499743B (zh) * 2020-10-26 2024-05-28 深圳市中兴微电子技术有限公司 通信数据的处理方法、装置、设备及存储介质
CN112929127B (zh) * 2021-01-26 2022-05-24 中国科学院计算技术研究所 一种用于5g nr并行解交织和解速率匹配的方法和装置
CN115549851A (zh) * 2021-06-30 2022-12-30 华为技术有限公司 极化码的构造方法和装置
KR20230037264A (ko) * 2021-09-09 2023-03-16 삼성전자주식회사 통신 시스템에서 신호 송수신 방법 및 장치
CN117439701A (zh) * 2022-07-13 2024-01-23 华为技术有限公司 信道编码的方法和装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3057255B1 (en) 2013-11-04 2018-08-22 Huawei Technologies Co., Ltd. Rate matching method and apparatus for polar codes, and wireless communication device
WO2015074192A1 (zh) * 2013-11-20 2015-05-28 华为技术有限公司 极化码的处理方法和设备
EP3113398B1 (en) 2014-03-19 2020-04-22 Huawei Technologies Co., Ltd. Polar code rate-matching method and rate-matching device
KR102157667B1 (ko) 2014-05-15 2020-09-18 삼성전자주식회사 천공 장치 및 그의 천공 방법
RU2685034C2 (ru) * 2014-12-22 2019-04-16 Хуавэй Текнолоджиз Ко., Лтд. Устройство кодирования и способ кодирования полярным кодом
US9742440B2 (en) * 2015-03-25 2017-08-22 Samsung Electronics Co., Ltd HARQ rate-compatible polar codes for wireless channels
CN106817195B (zh) * 2015-12-02 2020-04-21 华为技术有限公司 用于极化码的速率匹配的方法和装置
US10171204B2 (en) * 2016-05-13 2019-01-01 Mediatek Inc. Coded bit puncturing for polar codes
EP3273602B1 (en) * 2016-07-19 2022-01-26 MediaTek Inc. Low complexity rate matching design for polar codes
EP3497837A1 (en) 2016-08-10 2019-06-19 IDAC Holdings, Inc. Advanced polar codes for next generation wireless communication systems
TWI652909B (zh) 2017-02-06 2019-03-01 聯發科技股份有限公司 極化碼交錯和位元選擇
MX2019011245A (es) 2017-03-22 2019-11-21 Idac Holdings Inc Intercalado por sub-bloque para sistemas de codificación polar, procedimientos y señalización.
KR102378324B1 (ko) * 2017-06-19 2022-03-25 삼성전자 주식회사 통신 및 방송 시스템을 위한 부호율-조정 방법 및 장치
WO2018236114A1 (en) * 2017-06-19 2018-12-27 Samsung Electronics Co., Ltd. METHOD AND APPARATUS FOR FLOW ADAPTATION FOR COMMUNICATION AND BROADCASTING SYSTEMS

Also Published As

Publication number Publication date
US11637653B2 (en) 2023-04-25
US20200322083A1 (en) 2020-10-08
CN110800216B (zh) 2023-07-04
AU2018288906B2 (en) 2022-06-02
KR102378324B1 (ko) 2022-03-25
HUE056494T2 (hu) 2022-02-28
CN116684040A (zh) 2023-09-01
JP7189161B2 (ja) 2022-12-13
PL3625887T3 (pl) 2022-01-10
EP3625887B1 (en) 2021-09-15
US20220116135A1 (en) 2022-04-14
KR20180138101A (ko) 2018-12-28
EP3625887A4 (en) 2020-06-17
EP3625887A1 (en) 2020-03-25
JP2020524464A (ja) 2020-08-13
EP4037193A1 (en) 2022-08-03
AU2018288906A2 (en) 2020-02-06
CA3067966A1 (en) 2018-12-27
US11223443B2 (en) 2022-01-11
AU2018288906A1 (en) 2020-01-16
CN110800216A (zh) 2020-02-14

Similar Documents

Publication Publication Date Title
ES2901249T3 (es) Procedimiento y aparato de concordancia de tasa para sistemas de comunicación y radiodifusión
US10742350B2 (en) Method and apparatus of rate-matching for communication and broadcasting systems
KR102206307B1 (ko) 폴라 코드를 사용하여 데이터를 인코딩하는 방법 및 장치
KR102428522B1 (ko) 무선 통신 시스템에서 극 부호를 이용한 부호화 및 복호화를 위한 장치 및 방법
CN105874736B (zh) 极性码的速率匹配方法和速率匹配装置
JP6770593B2 (ja) データ伝送方法及び送信器
WO2019062145A1 (zh) Ploar编码方法和编码装置、译码方法和译码装置
US11196446B2 (en) Method and apparatus for data processing in a communication system
KR102529800B1 (ko) 폴라 코드의 부호율 조정 방법 및 장치
CN108429599B (zh) 用于通信系统中的数据处理的方法和设备
CN110663189B (zh) 用于极化编码的方法和装置
CN111082812B (zh) 使用路径度量解码输入数据的设备及使用其的解码方法
CN112042139A (zh) 用于在无线通信系统中使用极性码编码和解码的装置和方法
KR20210006807A (ko) 통신 시스템에서 신호 송수신 장치 및 방법
WO2017101023A1 (zh) 通信方法及网络设备、用户设备
KR20190013374A (ko) 통신 또는 방송 시스템에서 극부호 부호화/복호화 방법 및 장치
EP3910827A1 (en) Polar coding and decoding method and apparatus
US20200036474A1 (en) Resource mapping method and apparatus thereof
CN111525980B (zh) 译码方法及装置
EP3605904B1 (en) Interleaving method and device
EP4354775A1 (en) Method, communication device, processing device, and storage medium for performing channel encoding, and method and communication device for performing channel decoding
CN116015533A (zh) 通信方法及装置
JP2015522989A (ja) 通信ネットワークにおけるpdcch検出エラーを除去するためのシステム及び方法