ES2856961T3 - Método y aparato para generar código Polar híbrido - Google Patents

Método y aparato para generar código Polar híbrido Download PDF

Info

Publication number
ES2856961T3
ES2856961T3 ES17209921T ES17209921T ES2856961T3 ES 2856961 T3 ES2856961 T3 ES 2856961T3 ES 17209921 T ES17209921 T ES 17209921T ES 17209921 T ES17209921 T ES 17209921T ES 2856961 T3 ES2856961 T3 ES 2856961T3
Authority
ES
Spain
Prior art keywords
bits
bit
reliability
matrix
rows
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
ES17209921T
Other languages
English (en)
Inventor
Bin Li
Hui Shen
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Application granted granted Critical
Publication of ES2856961T3 publication Critical patent/ES2856961T3/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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Optical Communication System (AREA)

Abstract

Un método de codificación, que comprende: recibir una secuencia de bits de información a codificar, en la que la longitud de la secuencia de bits de información es K y K es un número entero positivo; obtener una primera matriz de N filas × N columnas y una secuencia que comprende N bits, en la que las N filas de la primera matriz corresponden a los N bits en la secuencia de una manera uno a uno y N es un número entero positivo; seleccionar K bits entre los N bits como bits de información, en donde las posiciones de los K bits se seleccionan según la confiabilidad de los N bits y el peso de las filas de la primera matriz correspondiente a los N bits, en donde K no es mayor que N; y la codificación polar de la secuencia de bits de información a codificar según las posiciones de los K bits para obtener una secuencia de bits codificada cuya longitud de código es N, en la que la codificación polar de la secuencia de bits de información a codificar según las posiciones de K bits comprende: la codificación polar de la secuencia de bits de información a codificar según un proceso de codificación donde GN es la primera matriz, es la secuencia que comprende los N bits, y es la secuencia de bits codificada, en la que los K bits de la secuencia de bits de información a codificar se colocan en las posiciones de los K bits seleccionados entre los N bits.

Description

DESCRIPCIÓN
Método y aparato para generar código Polar híbrido
Campo técnico
Las realizaciones de la presente invención se refieren al campo de codificación y decodificación, y más específicamente, a un método y un aparato para generar un código Polar híbrido (código polar).
Antecedentes
Un sistema de comunicaciones generalmente adopta la codificación de canales para mejorar la confiabilidad de la transmisión de datos, y garantizar la calidad de las comunicaciones. Un código Polar (código polar) es un modo de codificación que puede obtener la capacidad de Shannon y tener una baja complejidad de codificación y decodificación. El código Polar es un código de bloque lineal. Su matriz generadora es Gn., y su proceso de X, = u n , .N C r' j,
codificación es donde Gn. = BnF®1, y una longitud de código N=2n, n>0.
Figure imgf000002_0001
y Bn es una matriz transpuesta, por ejemplo, una matriz de inversión de bits (inversión de bits).
F®n es una potencia de kronecker (potencia de Kronecker) de F, y se define como F®n = F ® F® (n-1). El código polar puede expresarse como (N, K, A, uac) mediante el uso de un código de clase lateral, y el proceso de codificación del X,N - u a G n.(a ) © u aCG n (a c )
código Polar es ’ donde A es un conjunto de un índice de bits de información (información), Gn.(A) es una submatriz obtenida a través de una fila correspondiente a un índice en el conjunto A en Gn., y Gn.(Ac) es una submatriz obtenida a través de una fila correspondiente a un índice del conjunto AC en Gn.-uac indica bits congelados (congelados), el número de uac. es (N-K), y uac indica bits conocidos. Para simplificar, los bits congelados se pueden establecer en 0.
La decodificación del código Polar puede utilizar decodificación SC (cancelación sucesiva, cancelación sucesiva). Un proceso de decodificación del código Polar es el siguiente:
Se considera un código Polar, y un parámetro del código Polar es (N, K, A, uac).
En la decodificación Sc, las siguientes funciones de probabilidad condicional se calculan sucesivamente:
Figure imgf000002_0002
V N ti 1-1
es un vector de señal recibida (y1, y2, ..., yN), y i es un vector de bit (ui, U2, ..., un). W es una probabilidad de transición, y L indica una relación logarítmica de verosimilitud.
Si i c A, se toma una decisión de la siguiente manera:
Figure imgf000002_0003
Si i c A c , simplemente hace Ü¡ = u ¡ (3)
En las fórmulas anteriores (2) y (3), úi indica un valor de decisión de bit ui.
La complejidad de la decodificación SC es O(Nlog2N). Cuando una longitud de código N es muy largo, la decodificación SC puede lograr un buen rendimiento, que se acerca al límite de Shannon. Sin embargo, cuando N es corto o de longitud media, el rendimiento de la decodificación SC del código Polar no excede el rendimiento de un código Turbo o código LDPC (Comprobación de Paridad de Baja densidad, comprobación de paridad de baja densidad), y el rendimiento de decodificación debe mejorarse aún más.
En la decodificación SC, la decodificación se realiza bit a bit. Después de que cada bit se decodifica por completo, se toma una decisión difícil, y el resultado de la decisión difícil se utilizará para la decodificación de un bit posterior. De esta forma, puede existir propagación de errores, provocando así una degradación del rendimiento de decodificación. La decodificación de Lista (lista) reserva múltiples rutas candidatas y puede lograr un rendimiento de decodificación que se acerque a la máxima probabilidad. La decodificación SC y la decodificación de Lista se combinan para obtener la decodificación SC-Lista.
Un proceso de decodificación SC-Lista del código Polar se describe brevemente a continuación:
División de ruta: Cada vez, si üi indica bits de información, una ruta de decodificación actual se divide en dos rutas; una ruta üi = 0 y la otra ruta üi = 1. Cuando el número total de rutas excede un umbral predefinido L, se descarta una ruta menos confiable y solo se mantienen L rutas más confiables (llamadas rutas supervivientes); y se actualizan los valores de probabilidad en todas las rutas. L es un número entero positivo y puede llamarse el número de rutas supervivientes.
Sin división de ruta: Si üi indica bits congelados, no se divide ninguna ruta de decodificación, üi = ui se establece, el número de rutas permanece sin cambios, y los valores de probabilidad en todas las rutas se actualizan.
La complejidad de la decodificación SC-Lista es O(LxNxlog2N), y es aproximadamente L veces la complejidad de la decodificación SC.
El código Polar obtenido de la forma anterior se adapta bastante a la decodificación SC simple, pero una distancia de código mínima del código Polar no es muy grande. Incluso si se logra un rendimiento óptimo de decodificación ML (Máxima Similitud, máxima probabilidad) mediante la adopción de un algoritmo de decodificación SC-Lista mejorado, su rendimiento no es ideal, y una CRC (Comprobación de Redundancia Cíclica, comprobación de redundancia cíclica) debe conectarse en cascada para aumentar la distancia de código mínima. De esta forma, el rendimiento y la complejidad de la aplicación del código Polar se ven afectados.
La publicación de Hussami, Korada, Urbanke.: "Performance of Polar Codes for Channel and Source Coding", arxiv.org, Cornell University Library, 201 Olin Library, Ithaka, NY, 16 de enero de 2009, describe "Para el algoritmo de decodificación BP o MAP, la elección de bits congelados dada por Arikan no es necesariamente óptima. En el caso de decodificación MAP observamos (ver Figura 4) que el rendimiento mejora significativamente al seleccionar los bits congelados según la regla de RM. Esto no es una coincidencia, dmin se maximiza para esta elección. Esto sugiere que podría haber una regla que esté optimizada para la BP. Es una pregunta abierta interesante encontrar tal regla." La presente invención da una respuesta a la pregunta antes mencionada.
Compendio
La presente invención está definida por el método de la reivindicación 1 independiente y por el aparato de la reivindicación 9 independiente. Las características adicionales de la invención se presentan en las reivindicaciones dependientes. A continuación, las partes de la descripción y el dibujo que se refieren a realizaciones, que no están cubiertas por las reivindicaciones, no se presentan como realizaciones de la invención, sino como ejemplos útiles para comprender la invención.
La presente invención proporciona un método y un aparato para generar un código Polar híbrido según las reivindicaciones adjuntas, de modo que se pueda mejorar el rendimiento de un código Polar.
En las realizaciones de la presente invención, cuando se selecciona un bit de información de un código Polar híbrido, no solo se considera la confiabilidad de un bit, sino que también se considera el peso de una fila que es de una primera matriz y corresponde al bit. para que se pueda mejorar el rendimiento del código Polar.
Breve descripción de los dibujos
Para describir las soluciones técnicas en las realizaciones de la presente invención más claramente, a continuación se presentan brevemente los dibujos adjuntos necesarios para describir las realizaciones o la técnica anterior. Aparentemente, los dibujos adjuntos en la siguiente descripción muestran simplemente algunas realizaciones de la presente invención, y una persona con experiencia normal en la técnica aún puede derivar otros dibujos de estos dibujos adjuntos sin esfuerzos creativos.
La FIG. 1 es un diagrama de flujo de un método para generar un código Polar híbrido según una realización de la presente invención.
La FIG. 2 es un diagrama de flujo esquemático de un proceso para generar un código Polar híbrido según otra realización de la presente invención.
La FIG. 3 es un diagrama de flujo esquemático de un proceso para generar un código Polar híbrido según otra realización de la presente invención.
La FIG. 4 es un diagrama de flujo esquemático de un proceso para generar un código Polar híbrido según otra realización de la presente invención.
La FIG. 5 es un diagrama de flujo esquemático de un proceso para generar un código Polar híbrido según otra realización de la presente invención.
La FIG. 6 es un diagrama de flujo esquemático de un proceso para generar una palabra de código de un código Polar híbrido según otra realización de la presente invención.
La FIG. 7 es un diagrama de flujo esquemático de un proceso para generar una palabra de código de un código Polar híbrido según otra realización de la presente invención.
La FIG. 8 es un diagrama de flujo esquemático de un proceso para generar una palabra de código de un código Polar híbrido según otra realización de la presente invención.
La FIG. 9 es un diagrama de flujo esquemático de un proceso para generar una palabra de código de un código Polar híbrido según otra realización de la presente invención.
La FIG. 10 es un diagrama de flujo de un método de codificación según una realización de la presente invención; La FIG. 11 es un diagrama de flujo de un método de decodificación según un ejemplo de la presente invención; La FIG. 12 muestra una realización de un aparato para generar un código Polar híbrido según una realización de la presente invención;
La FIG. 13 es un diagrama de bloques esquemático de un aparato de codificación según otra realización de la presente invención;
La FIG. 14 es un diagrama de bloques de un transmisor según una realización de la presente invención;
La FIG. 15 es un diagrama de bloques de un aparato de decodificación según un ejemplo de la presente invención; La FIG. 16 es un diagrama de bloques de un receptor según una realización de la presente invención; y
La FIG. 17 es un diagrama de bloques de un aparato según otra realización de la presente invención.
Descripción de realizaciones
A continuación se describen clara y completamente las soluciones técnicas en las realizaciones de la presente invención con referencia a los dibujos adjuntos en las realizaciones de la presente invención. Aparentemente, las realizaciones que se describirán son simplemente una parte y no todas las realizaciones de la presente invención. Las realizaciones de la presente invención pueden aplicarse a varios sistemas de comunicaciones. Por lo tanto, la siguiente descripción no se limita a un sistema de comunicaciones específico, como un sistema global para comunicaciones móviles (Sistema Global de comunicación Móvil, GSM para abreviar), un sistema de acceso múltiple por división de código (Acceso Múltiple por División de Código, CDMA para abreviar) , un sistema de acceso múltiple por división de código de banda ancha (Acceso Múltiple por División de Código de Banda Ancha, WCDMA para abreviar), un sistema de servicio de radio por paquetes general (Servicio de Radio por Paquetes General, GPRS para abreviar), un sistema de evolución a largo plazo (Evolución a Largo Plazo, LTE para abreviar), un sistema dúplex por división de frecuencia LTE (Dúplex por División de Frecuencia, FDD para abreviar) y un sistema dúplex por división de tiempo LTE (Dúplex por División de Tiempo, TDD para abreviar), y un sistema universal de telecomunicaciones móviles (Sistema Universal de Telecomunicaciones Móviles, UMTS para abreviar ). Toda la información o los datos codificados que usa un código Turbo tradicional o un código LDPC en una estación base o terminal en los sistemas anteriores pueden codificarse mediante el uso de un código Polar en esta realización.
Debe tenerse en cuenta que, el número de elementos de código que no son 0 en una palabra de código se denomina peso de hamming (peso de código para abreviar, registrado como W) de la palabra de código.
Para un código binario, el peso de código W es el número de elementos 1 de código incluidos en una palabra de código. Por ejemplo, para una palabra de código 110000, su longitud de código n=6 y su peso de código W=2. El "peso" de cada fila en una matriz involucrada en este documento de patente se refiere al número de elementos que no son 0 en esta fila. Para una matriz binaria, se calcula el peso de cada fila de una matriz F binaria, es decir, se suma el número de 1 en esta fila y la suma obtenida es un valor de peso de esta fila.
El número de posiciones de información donde los dígitos son diferentes entre las posiciones de información correspondientes a dos grupos de códigos se denomina distancia entre los grupos de códigos y se denomina distancia de código para abreviar, y también se denomina distancia de hamming (Hamming), por ejemplo, una distancia de código entre un grupo de código 1100 y un grupo de código 0011 es 4. La "distancia de código" de un código polar híbrido involucrado en este documento de patente se refiere al número de posiciones de información donde los dígitos son diferentes entre las posiciones de información correspondientes a un bit de información a codificar y un código polar híbrido que se genera después de que se codifica este bit de información. La distancia de código incorpora el rendimiento de corrección de errores de la codificación. Una distancia de código mayor entre dos grupos de códigos antes y después de la codificación indica un mejor rendimiento de corrección de errores.
La FIG. 1 es un diagrama de flujo de un método para generar un código Polar híbrido según una realización de la presente invención. El método mostrado en la F iG. 1 puede ejecutarse mediante un extremo de codificación o un extremo de decodificación, o puede ejecutarse mediante un aparato generador de código Polar separado.
101: Obtener una primera matriz de NxN y una secuencia que incluya N bits, donde N es una longitud de código de un código Polar, N filas de la primera matriz corresponden a los N bits en la secuencia de una manera uno a uno, y N es un número entero positivo.
Por ejemplo, N puede ser 2n, donde n es un número entero no negativo.
De manera opcional, la primera matriz se puede generar según un valor de N, por ejemplo, la primera matriz se puede generar de una manera existente. Específicamente, un código Polar es un código de bloque lineal. Su matriz n =11N(^
generadora es Gn , y su proceso de codificación es 1 1 N ’ donde Gn =BNF®n.
Figure imgf000005_0001
y Bn es una matriz transpuesta, por ejemplo, una matriz de inversión de bits (inversión de bits).
F®n es una potencia de kronecker (potencia de Kronecker) de F, y se define como F®n = F ® F® (n-1). Aquí, F®n es una matriz de NxN.
La matriz anterior Gn. o una variante (por ejemplo F®n) de la Gn. se puede utilizar como primera matriz.
De manera opcional, como otra realización, se puede leer la primera matriz que está almacenada previamente y corresponde a un valor de N. En otras palabras, una primera matriz correspondiente a un valor diferente de N puede almacenarse previamente de manera local.
De manera opcional, como otra realización, la secuencia de 1 x N puede generarse según un valor de N, por ejemplo, n N i en lo anterior. La secuencia es un conjunto que incluye bits de información y bits congelados. De manera alternativa, se puede leer la secuencia almacenada previamente de 1 x N. En otras palabras, una secuencia n N i correspondiente a un valor diferente de N puede almacenarse previamente de manera local.
Las N filas de la primera matriz de N x N corresponden a N bits en una secuencia de una manera uno a uno. Específicamente, cada fila de la primera matriz corresponde a un bit en u N i .
102: Determinar la confiabilidad de los N bits y determine el peso de cada fila en las filas de la primera matriz.
En la realización de la presente invención, una forma de medición de confiabilidad no está limitada, por ejemplo, se puede hacer referencia a una medición de confiabilidad de un código Polar existente tal como capacidad de bits, un parámetro de Bhattacharyya, y una probabilidad de error. Sin embargo, para el código Polar existente, los bits de información se seleccionan basándose únicamente en la confiabilidad en un proceso de generación. Por lo tanto, es necesario mejorar aún más el rendimiento.
De manera opcional, como una realización, en el paso 102, se puede determinar la capacidad de cada bit entre los N bits, donde la confiabilidad de un bit con mayor capacidad es mayor.
La capacidad de cada bit se puede calcular de una manera existente. Por ejemplo, un canal W binario discreto sin memoria es dado, y capacidad I(W) se define como sigue:
Figure imgf000005_0002
De manera opcional, como otra realización, en el paso 102, se puede determinar un parámetro de Bhattacharyya de cada bit entre los N bits, donde la confiabilidad de un bit con un parámetro de Bhattacharyya más pequeño es mayor. Se proporciona un canal W discreto binario sin memoria y el parámetro Z(W) de Bhattacharyya se define de la siguiente manera:
Figure imgf000005_0003
Un parámetro de Bhattacharyya es relevante para un límite superior de una tasa de error de trama de decodificación de probabilidad máxima. Un valor más pequeño de un parámetro de Bhattacharyya indica una mayor confiabilidad de un bit de información.
De manera opcional, como otra realización, en el paso 102, se puede determinar una probabilidad de error de cada bit entre los N bits, donde la confiabilidad de un bit con una probabilidad de error menor es mayor. Por ejemplo, se puede obtener un patrón de error de cada bit a través de la simulación de Monte Carlo, y la probabilidad de error de cada bit se puede determinar con referencia al número de tiempos de simulación.
De manera opcional, como una realización, una forma de determinar el peso de una fila es agregar elementos que no sean 0 en cada fila. Por lo tanto, el peso de una fila puede indicar el número total de elementos 1 en esta fila.
103: Seleccionar, según la confiabilidad de los N bits y el peso de cada fila en las N filas de la primera matriz, K bits entre los N bits como bits de información, o seleccionar, según la confiabilidad de los N bits y el peso de cada fila en las N filas de la primera matriz, K filas entre las N filas de la primera matriz para construir una segunda matriz de K x N utilizada para codificar, para codificar una secuencia de bits de información a codificar según las posiciones de los bits de información o según la segunda matriz para generar el código Polar híbrido, donde K es la longitud de la secuencia de bits de información a codificar y es un número entero positivo no mayor que N.
Entre los N bits, los K bits son bits de información y otros N-K bits son bits congelados. Los bits de información son bits que se utilizan para codificar, y los bits congelados generalmente se ponen a 0. En la realización de la presente invención, el orden de determinación de los bits de información y los bits congelados no está limitado. Por ejemplo, cuando los K bits entre los N bits se seleccionan como bits de información, se pueden seleccionar primero K bits de información y los N-K bits restantes se utilizan como bits congelados; o se pueden obtener primero los N-K bits congelados, y luego los K bits restantes se utilizan como bits de información. Todas estas formas caen dentro del alcance de las realizaciones de la presente invención.
Una vez determinados los K bits de información, se colocan K bits de la secuencia de bits de información a codificar N
en las posiciones correspondientes a los K bits de información, y luego una secuencia de bits u i cuya longitud es N
Figure imgf000006_0001
se puede obtener, de modo que la codificación se puede realizar según
De la misma manera, cuando se seleccionan las K filas de la segunda matriz, las K filas pueden seleccionarse primero y las N-K filas restantes pueden eliminarse; o las N-K filas que necesitan eliminarse pueden obtenerse primero, y luego las K filas restantes pueden usarse para construir la segunda matriz. Todas estas formas caen dentro del alcance de las realizaciones de la presente invención.
De hecho, las K filas de la segunda matriz pueden corresponder a los K bits de información de una manera uno a uno. Específicamente, la segunda matriz puede ser Gn.(A) en lo anterior o una variante (por ejemplo, una matriz construida x ” = u aG n (a ) por K filas correspondientes en F®n) de Gn (A). De esta forma, la codificación se puede realizar según >
dónde ua indica la secuencia de bits de información a codificar, y la longitud es K. En un caso en el que los bits congelados se establecen en 0(uac = 0), los resultados de codificación cf = < G n. yXlN= u AGN.(A) son iguales.
La longitud del código N y el número K de los bits de información son valores que pueden preestablecerse. Es decir, una tasa de código de un código Polar híbrido obtenido según la realización de la presente invención es variable. La tasa de código está determinada por K y N, por ejemplo, K/N.
En la realización de la presente invención, cuando se selecciona un bit de información o una matriz de codificación de un código Polar híbrido, no solo se considera la confiabilidad de un bit, sino también el peso de una fila que es de una matriz y corresponde al bit se tiene en cuenta, de modo que se pueda mejorar el rendimiento del código Polar.
Además, el código Polar híbrido obtenido en la realización de la presente invención también se aplica a la decodificación SC o SC-Lista, que puede lograr un mejor rendimiento de decodificación y es un código Polar optimizado.
De manera opcional, como realización, en el paso 103, los K bits entre los N bits se seleccionan como los bits de información, donde la confiabilidad de los K bits es alta y el peso de las filas que son de la primera matriz y corresponden a los K bits es mayor que un primer umbral. Los bits de información seleccionados de esta manera tienen una distancia de hamming mayor, lo que mejora el rendimiento de un código Polar.
En la realización de la presente invención, se consideran al mismo tiempo dos factores, a saber, la confiabilidad y el peso de la fila, pero en la realización de la presente invención, el orden de uso de los dos factores no está limitado.
De manera opcional, como una realización, en el paso 103, la confiabilidad se puede utilizar para realizar la selección primero. Específicamente, los N bits se pueden clasificar según la confiabilidad; y se seleccionan los K bits entre los N bits clasificados, en orden descendente de la confiabilidad, como los bits de información, donde el peso de las filas que son de la primera matriz y corresponden a los K bits es mayor que el primer umbral.
De manera opcional, como una realización, en el paso 103, el peso de la fila puede usarse para realizar la selección primero. Específicamente, se puede eliminar un bit de los N bits para obtener los bits restantes, donde el peso de una fila que corresponde al bit es menor o igual que el primer umbral. Luego, los bits restantes se clasifican según la confiabilidad de los bits restantes, y finalmente se seleccionan los K bits entre los bits restantes clasificados, en orden descendente de confiabilidad, como los bits de información.
Cabe señalar que, en la realización anterior, un bit igual al primer umbral se utiliza como bit congelado, pero esto no está limitado en la realización de la presente invención; o se puede usar un bit igual al primer umbral como bit de información, y también se puede obtener un código Polar híbrido con un rendimiento similar. Por lo tanto dicha modificación también cae dentro del alcance de las realizaciones de la presente invención.
De manera opcional, como otra realización, antes del paso 103, el primer umbral también puede determinarse según un requisito de distancia de código mínima del código Polar híbrido. Sin embargo, en la realización de la presente invención, la manera de determinar el primer umbral no está limitada. El primer umbral también se puede determinar según otros factores o con referencia a otros factores además del requisito de distancia de código mínima.
Cabe señalar que, en la realización de la presente invención, la "clasificación" de los bits o filas es solo un proceso lógico ejecutado para una operación de selección de bits o filas, pero no es para cambiar un orden de clasificación de filas de bits de información o matrices de codificación que finalmente se obtienen. En otras palabras, los K bits de información finalmente obtenidos todavía se ordenan según su orden de posición original entre los N bits; y las K filas finalmente obtenidas también se ordenan según su orden de posición original en la primera matriz para construir la segunda matriz.
A continuación se describen las realizaciones de la presente invención con más detalle con referencia a ejemplos específicos. Cabe señalar que, los ejemplos mostrados en la FIG. 2 a la FIG. 9 sólo están destinados a ayudar a un experto en la técnica a comprender las realizaciones de la presente invención, pero no a limitar las realizaciones de la presente invención a un valor numérico específico o un escenario específico que se ejemplifica. Por ejemplo, una matriz F F®n se utiliza como ejemplo de una primera matriz a continuación, pero las realizaciones de la presente invención no se limitan a esto, y Gn. también se puede utilizar como primera matriz.
En los ejemplos mostrados en la FIG. 2 a la FIG. 5, se seleccionan directamente K bits como bits de información, pero las realizaciones de la presente invención no se limitan a esto; o pueden seleccionarse primero N-K bits congelados, y los K bits restantes se utilizan como bits de información. En este caso, una manera de seleccionar los N-K bits congelados puede ser opuesta a una manera de seleccionar los bits de información. Por ejemplo, N-K bits entre N bits se seleccionan como bits congelados, donde la confiabilidad de los N-K bits es baja o el peso de las filas de la matriz que corresponden a los N-K bits es menor o igual que un primer umbral.
La FIG. 2 es un diagrama de flujo esquemático de un proceso para generar un código Polar híbrido según otra realización de la presente invención. En una realización mostrada en la FIG. 2, la capacidad de bits se usa como una medida de confiabilidad, y cuando se va a seleccionar un bit de información, primero se considera la confiabilidad y N bits se clasifican según la confiabilidad; y luego, se seleccionan K bits entre los N bits clasificados, en orden descendente de confiabilidad, como bits de información, donde el peso de las filas que corresponden a los K bits es mayor que un primer umbral.
201: Generar una matriz F de N x N.
202: Determinar la capacidad de bits de N bits y determine el peso de las filas que corresponden a los N bits.
203: Ordenar los N bits según los valores de la capacidad de bits. Por ejemplo, los N bits se pueden clasificar en orden descendente de la capacidad de bits.
204: Entre los N bits clasificados, se determina sucesivamente, en orden descendente de la capacidad de bits, si el peso de una fila que corresponde a cada bit es mayor que un primer umbral.
205: Si se determina en el paso 204 que el peso de una fila que corresponde a un cierto bit es mayor que el primer umbral (una rama "Sí" del paso 204), seleccionar este bit como un bit de información y registrar un índice de este bit.
206: Aumentar el número i de bits de información seleccionados en 1.
207: Determinar si el número i de bits de información ha alcanzado K.
Si el número de bits de información no ha alcanzado K (una rama "No" del paso 207, es decir, i <K), volver al paso 204 y continuar determinando si el peso de una fila que corresponde a un siguiente bit es mayor que el primer umbral.
208: Si el número de bits de información ha alcanzado K (una rama "Sí" del paso 207, es decir, i = K), se ha completado la selección de los bits de información, es decir, los K bits registrados en el paso 205 se utilizan como los bits de información. Al mismo tiempo, los N-K bits restantes se utilizan como bits congelados.
209: Si se determina en el paso 204 que el peso de una fila que corresponde a un cierto bit es menor o igual que el primer umbral (una rama "No" del paso 204), eliminar este bit y no utilizar este bit como un bit de información. En otras palabras, este bit se registra como un bit congelado en el paso 208. En términos generales, el bit congelado puede establecerse en 0.
210: Una vez determinados los K bits de información y los N-K bits congelados, realice la codificación o decodificación Polar híbrida.
Según la realización de la presente invención, se puede seleccionar un bit como bit de información, donde la confiabilidad del bit es alta y el peso de una fila que corresponde al bit es mayor que un primer umbral, de modo que una distancia de código mínima de un código Polar se puede aumentar, lo que mejora el rendimiento del código Polar. Al mismo tiempo, el código Polar híbrido obtenido en la realización de la presente invención puede lograr un mejor rendimiento de decodificación SC o SC-Lista.
Además, debe tenerse en cuenta que, en el paso 208, si se han atravesado los N bits, pero el número de bits de información obtenidos todavía no alcanza K (i <K), se puede ajustar el primer umbral. Por ejemplo, un valor del primer umbral se reduce apropiadamente, y el método mostrado en la FIG. 2 se vuelve a ejecutar, hasta que el número de bits de información obtenidos pueda llegar a K.
La FIG. 3 es un diagrama de flujo esquemático de un proceso para generar un código Polar híbrido según otra realización de la presente invención. En una realización mostrada en la FIG. 3, la capacidad de bits se utiliza como medida de confiabilidad, y cuando se va a seleccionar un bit de información, primero se considera el peso de la fila, se elimina un bit de los N bits para obtener los bits restantes, donde el peso de una fila que corresponde al bit es menor o igual que un primer umbral, luego los bits restantes se clasifican según la confiabilidad de los bits restantes, y se seleccionan K bits entre los bits restantes clasificados, en orden descendente de confiabilidad, como bits de información.
301: Generar una matriz F de N x N.
302: Determinar la capacidad de bits de N bits y determinar el peso de las filas que corresponden a los N bits.
303: Determinar sucesivamente si el peso de una fila que corresponde a cada bit entre los N bits es mayor que un primer umbral.
304: Si se determina en el paso 303 que el peso de una fila que corresponde a un cierto bit es menor o igual que el primer umbral (una rama "No" del paso 303), eliminar este bit.
305: Si se determina en el paso 303 que el peso de una fila que corresponde a un cierto bit es mayor que el primer umbral (una rama "Sí" del paso 303), reservar temporalmente este bit. Después de atravesar los N bits, se obtienen los bits restantes. Se supone que el número de bits restantes es R y que R es un número entero positivo no mayor que N.
Es necesario señalar aquí que, si el número de bits restantes obtenidos en el paso 304 y el paso 305 es menor que K (R <K), se puede ajustar el primer umbral. Por ejemplo, un valor del primer umbral se reduce apropiadamente, y los pasos 303 a 305 mostrados en la FIG. 3 Se vuelven a ejecutar, hasta que el número de bits restantes obtenidos sea mayor o igual que K (R>K).
306: Ordenar los R bits restantes según los valores de la capacidad de bits. Por ejemplo, los R bits restantes se pueden clasificar en orden descendente de la capacidad de bits.
307: Entre los R bits restantes ordenados, seleccionar K bits restantes cuya capacidad de bits sea la máxima como bits de información y registrar los índices de los bits de información. Al mismo tiempo, los N-K bits restantes se utilizan como bits congelados. En términos generales, los bits congelados se pueden establecer en 0.
308: Una vez determinados los K bits de información y los N-K bits congelados, realizar la codificación o decodificación Polar híbrida.
Según la realización de la presente invención, se puede seleccionar un bit como bit de información, donde la confiabilidad del bit es alta y el peso de una fila que corresponde al bit es mayor que un primer umbral, de modo que una distancia de código mínima de un código Polar se puede aumentar, lo que mejora el rendimiento del código Polar. Al mismo tiempo, el código Polar híbrido obtenido en la realización de la presente invención puede lograr un mejor rendimiento de decodificación SC o SC-Lista.
La FIG. 4 es un diagrama de flujo esquemático de un proceso para generar un código Polar híbrido según otra realización de la presente invención. En una realización mostrada en la FIG. 4, se usa un parámetro de Bhattacharyya como medida de confiabilidad, y cuando se va a seleccionar un bit de información, se considera primero la confiabilidad y N bits se clasifican según la confiabilidad; y luego, se seleccionan K bits entre los N bits clasificados, en orden descendente de confiabilidad, como bits de información, donde el peso de las filas que corresponden a los K bits es mayor que un primer umbral.
401: Generar una matriz F de N x N.
402: Determinar los parámetros de Bhattacharyya de N bits y determine el peso de las filas que corresponden a los N bits.
403: Ordenar los N bits según los valores de los parámetros de Bhattacharyya. Por ejemplo, los N bits se pueden clasificar en orden ascendente de los parámetros de Bhattacharyya.
404: Entre los N bits clasificados, determinar sucesivamente, en orden ascendente de los parámetros de Bhattacharyya, si el peso de una fila que corresponde a cada bit es mayor que un primer umbral.
405: Si se determina en el paso 404 que el peso de una fila que corresponde a un cierto bit es mayor que el primer umbral (una rama "Sí" del paso 404), seleccionar este bit como un bit de información y registre un índice de este bit.
406: Aumentar el número i de bits de información seleccionados en 1.
407: Determinar si el número i de bits de información ha alcanzado K.
Si el número de bits de información no ha alcanzado K (una rama "No" del paso 407, es decir, i <K), regresar al paso 404 y continuar determinando si el peso de una fila que corresponde a un siguiente bit es mayor que el primer umbral.
408: Si el número de bits de información ha alcanzado K (una rama "Sí" del paso 407, es decir, i = K), la selección de los bits de información se ha completado, es decir, los K bits registrados en el paso 405 se utilizan como los bits de información. Al mismo tiempo, los N-K bits restantes se utilizan como bits congelados.
409: Si se determina en el paso 404 que el peso de una fila que corresponde a un cierto bit es menor o igual que el primer umbral (una rama "No" del paso 404), eliminar este bit y no utilizar este bit como un bit de información. En otras palabras, este bit se registra como un bit congelado en el paso 408. En términos generales, el bit congelado puede establecerse en 0.
410: Una vez determinados los K bits de información y los N-K bits congelados, realizar la codificación o decodificación Polar híbrida.
Según la realización de la presente invención, se puede seleccionar un bit como bit de información, donde la confiabilidad del bit es alta y el peso de una fila que corresponde al bit es mayor que un primer umbral, de modo que una distancia de código mínima de un código Polar se puede aumentar, lo que mejora el rendimiento del código Polar. Al mismo tiempo, el código Polar híbrido obtenido en la realización de la presente invención puede lograr un mejor rendimiento de decodificación SC o SC-Lista.
Además, debe tenerse en cuenta que, en el paso 408, si se han atravesado los N bits, pero el número de bits de información obtenidos todavía no alcanza K (i <K), se puede ajustar el primer umbral. Por ejemplo, un valor del primer umbral se reduce apropiadamente, y el método mostrado en la FIG. 4 se ejecuta de nuevo, hasta que el número de bits de información obtenidos pueda llegar a K.
La FIG. 5 es un diagrama de flujo esquemático de un proceso para generar un código Polar híbrido según otra realización de la presente invención. En una realización mostrada en la FIG. 5, un parámetro de Bhattacharyya se considera una medida de confiabilidad, y cuando se va a seleccionar un bit de información, primero se considera el peso de la fila, se quita un bit de los N bits para obtener los bits restantes, donde el peso de una fila que corresponde al bit es menor o igual que un primer umbral, luego los bits restantes se clasifican según la confiabilidad de los bits restantes, y se seleccionan K bits entre los bits restantes clasificados, en orden descendente de confiabilidad, como bits de información.
501: Generar una matriz F de N x N.
502: Determinar los parámetros de Bhattacharyya de N bits y determine el peso de las filas que corresponden a los N bits.
503: Determinar sucesivamente si el peso de una fila que corresponde a cada bit entre los N bits es mayor que un primer umbral.
504: Si se determina en el paso 503 que el peso de una fila que corresponde a un cierto bit es menor o igual que el primer umbral (una rama "No" del paso 503), eliminar este bit.
505: Si se determina en el paso 503 que el peso de una fila que corresponde a un cierto bit es mayor que el primer umbral (una rama "Sí" del paso 503), reservar temporalmente este bit. Después de atravesar los N bits, se obtienen los bits restantes. Se supone que el número de bits restantes es R y que R es un número entero positivo no mayor que N.
Es necesario señalar aquí que, si el número de bits restantes obtenidos en el paso 504 y el paso 505 es menor que K (R <K), el primer umbral puede ajustarse. Por ejemplo, un valor del primer umbral se reduce apropiadamente y los pasos 503 a 505 se muestran en la FIG. 5 se vuelven a ejecutar, hasta que el número de bits restantes obtenidos sea mayor o igual a K (R>K).
506: Ordenar los R bits restantes según los valores de los parámetros de Bhattacharyya. Por ejemplo, los R bits restantes se pueden clasificar en orden ascendente de los parámetros de Bhattacharyya.
507: Entre los R bits restantes ordenados, seleccione K bits restantes cuyo parámetro de Bhattacharyya sea el mínimo como bits de información, y registre índices de los bits de información. Al mismo tiempo, los N-K bits restantes se utilizan como bits congelados. En términos generales, los bits congelados se pueden establecer en 0.
508: Una vez determinados los K bits de información y los N-K bits congelados, realizar la codificación o decodificación Polar híbrida.
Según la realización de la presente invención, se puede seleccionar un bit como bit de información, donde la confiabilidad del bit es alta y el peso de una fila que corresponde al bit es mayor que un primer umbral, de modo que una distancia de código mínima de un código Polar se puede aumentar, lo que mejora el rendimiento del código Polar. Al mismo tiempo, el código Polar híbrido obtenido en la realización de la presente invención puede lograr un mejor rendimiento de decodificación SC o SC-Lista.
Para otra medición de confiabilidad, si un valor mayor de la medición corresponde a una mayor confiabilidad, se puede seleccionar un bit de información de la manera mostrada en la FIG. 2 y FIG. 4; y si un valor mayor de la medición corresponde a una menor confiabilidad, se puede seleccionar un bit de información de la manera mostrada en la FIG.
3 y FIG. 5. Por ejemplo, si se usa una probabilidad de error para indicar confiabilidad, se puede seleccionar un bit de información de una manera similar a la de la FIG. 3 y FIG. 5.
En los ejemplos mostrados en la FIG. 6 a la FIG. 9, K filas se seleccionan directamente para construir una segunda matriz. Es decir, se seleccionan K filas entre N filas de una primera matriz para construir una segunda matriz, donde la confiabilidad de los bits que corresponden a las K filas es alta y el peso de las filas es mayor que un primer umbral, pero las realizaciones de la presente invención no se limitan a esto; o N-K filas que no son necesarias para una segunda matriz pueden seleccionarse primero, y las K filas restantes se utilizan para construir la segunda matriz. En este caso, una manera de seleccionar las N-K filas puede ser opuesta a una manera de seleccionar las K filas. Por ejemplo, se seleccionan N-K filas entre N bits, donde la confiabilidad de los bits que corresponden a las N-K filas es baja o el peso de las filas es menor o igual que un primer umbral.
La FIG. 6 es un diagrama de flujo esquemático de un proceso para generar un código Polar híbrido según otra realización de la presente invención. En una realización mostrada en la FIG. 6, la capacidad de bits se usa como medida de confiabilidad, y cuando se deben seleccionar K filas de una segunda matriz, la confiabilidad se considera en primer lugar y N filas de una primera matriz se clasifican según la confiabilidad de los bits correspondientes; y luego las K filas entre las N filas clasificadas se seleccionan en orden descendente de la confiabilidad de los bits correspondientes para construir la segunda matriz, donde el peso de las filas es mayor que un primer umbral.
601: Generar una matriz F de N x N.
602: Determinar la capacidad de bits de N bits y determinar el peso de N filas.
603: Ordenar, según los valores de la capacidad de bits, las N filas correspondientes a los N bits. Por ejemplo, las N filas se pueden clasificar en orden descendente de la capacidad de bits.
604: Entre las N filas clasificadas, determinar sucesivamente, en orden descendente de la capacidad de bits, si el peso de cada fila es mayor que un primer umbral.
605: Si se determina en el paso 604 que el peso de una determinada fila es mayor que el primer umbral (una rama "Sí" del paso 604), seleccionar esta fila.
606: Aumentar el número i de filas seleccionadas en 1.
607: Determinar si el número i de las filas seleccionadas ha llegado a K.
Si el número de filas no ha llegado a K (una rama "No" del paso 607, es decir, i <K), volver al paso 604 y continúe determinando si el peso de una fila siguiente es mayor que el primer umbral.
608: Si el número de filas seleccionadas ha alcanzado K (una rama "Sí" del paso 607, es decir, i = K), se ha completado la selección de las K filas y se obtiene una segunda matriz de K x N.
609: Si se determina en el paso 604 que el peso de una determinada fila es menor o igual que el primer umbral (una rama "No" del paso 604), eliminar esta fila.
610: Una vez obtenida la segunda matriz de K x N, realizar la codificación o decodificación Polar híbrida.
Según la realización de la presente invención, se puede seleccionar una fila para construir una segunda matriz, donde la confiabilidad de un bit que corresponde a la fila es alta y el peso de la fila es mayor que un primer umbral, de modo que una distancia de código mínima de un código Polar se puede aumentar, lo que mejora el rendimiento del código Polar. Al mismo tiempo, el código Polar híbrido obtenido en la realización de la presente invención puede lograr un mejor rendimiento de decodificación SC o SC-Lista.
Además, debe tenerse en cuenta que, en el paso 608, si se han atravesado las N filas, pero el número de filas seleccionadas aún no alcanza K (i <K), se puede ajustar el primer umbral. Por ejemplo, un valor del primer umbral se reduce apropiadamente, y el método mostrado en la FIG. 6 se ejecuta de nuevo, hasta que el número de filas seleccionadas pueda llegar a K.
La FIG. 7 es un diagrama de flujo esquemático de un proceso para generar un código polar híbrido según otra realización de la presente invención. En una realización mostrada en la FIG. 7, la capacidad de bits se utiliza como una medida de confiabilidad, y cuando se deben seleccionar K filas de una segunda matriz, el peso de la fila se considera primero, una fila cuyo peso es menor o igual que un primer umbral se elimina para obtener filas restantes; y las filas restantes se clasifican según la confiabilidad de los bits que corresponden a las filas restantes, y se seleccionan K filas entre las filas restantes clasificadas en orden descendente de la confiabilidad de los bits correspondientes para construir una segunda matriz.
701: Generar una matriz F de N x N.
702: Determinar la capacidad de bits de N bits y determine el peso de N filas.
703: Determinar sucesivamente si el peso de las N filas es mayor que un primer umbral.
704: Si se determina en el paso 703 que el peso de una determinada fila es menor o igual que el primer umbral (una rama "No" del paso 703), eliminar esta fila.
705: Si se determina en el paso 703 que el peso de una determinada fila es mayor que el primer umbral (una rama "Sí" del paso 703), reservar temporalmente esta fila. Después de atravesar las N filas, se obtienen las filas restantes. Se supone que el número de filas restantes es R y que R es un número entero positivo no mayor que N.
Es necesario señalar aquí que, si el número de filas restantes obtenido en el paso 704 y el paso 705 es menor que K (R <K), el primer umbral puede ajustarse. Por ejemplo, un valor del primer umbral se reduce apropiadamente, y los pasos 703 a 705 se muestran en la FIG. 7 se ejecutan de nuevo, hasta que el número de filas restantes obtenidas sea mayor o igual a K (R>K).
706: Ordenar las R filas restantes según los valores de capacidad de bits de los bits correspondientes. Por ejemplo, las R filas restantes se pueden clasificar en orden descendente de capacidad de bits.
707: Entre las R filas restantes ordenadas, seleccionar K filas restantes correspondientes a bits cuya capacidad de bits sea la máxima, para obtener una segunda matriz de K x N.
708: Una vez obtenida la segunda matriz, realizar la codificación o decodificación Polar híbrida.
Según la realización de la presente invención, se puede seleccionar una fila para construir una segunda matriz, donde la confiabilidad de un bit que corresponde a la fila es alta y el peso de la fila es mayor que un primer umbral, de modo que una distancia de código mínima de un código Polar se puede aumentar , lo que mejora el rendimiento del código Polar. Al mismo tiempo, el código Polar híbrido obtenido en la realización de la presente invención puede lograr un mejor rendimiento de decodificación SC o SC-Lista.
La FIG. 8 es un diagrama de flujo esquemático de un proceso para generar un código Polar híbrido según otra realización de la presente invención. En una realización mostrada en la FIG. 8, se usa un parámetro de Bhattacharyya como medida de confiabilidad, y cuando se va a seleccionar un bit de información, se considera primero la confiabilidad y N filas de una primera matriz se clasifican según la confiabilidad de los bits correspondientes; y luego se seleccionan K filas entre las N filas clasificadas en orden descendente de la confiabilidad de los bits correspondientes para construir una segunda matriz, donde el peso de las filas es mayor que un primer umbral.
801: Generar una matriz F de N x N.
802: Determinar los parámetros de Bhattacharyya de N bits y determine el peso de N filas.
803: Ordenar, según los valores de los parámetros de Bhattacharyya, las N filas correspondientes a los N bits. Por ejemplo, las N filas se pueden ordenar en orden ascendente de los parámetros de Bhattacharyya.
804: Entre las N filas ordenadas, determinar sucesivamente, en orden ascendente de los parámetros de Bhattacharyya, si el peso de cada fila es mayor que un primer umbral.
805: Si se determina en el paso 804 que el peso de una determinada fila es mayor que el primer umbral (una rama "Sí" del paso 804), seleccionar esta fila.
806: Aumentar el número i de filas seleccionadas en 1.
807: Determinar si el número i de las filas seleccionadas ha llegado a K.
Si el número de filas seleccionadas no ha alcanzado K (una rama "No" del paso 807, es decir, i <K), regresar al paso 804 y continuar determinando si el peso de una fila siguiente es mayor que el primer umbral.
808: Si el número de filas seleccionadas ha alcanzado K (una rama "Sí" del paso 807, es decir, i = K), se ha completado la selección de las K filas y se obtiene una segunda matriz de K x N.
809: Si se determina en el paso 804 que el peso de una determinada fila es menor o igual que el primer umbral (una rama "No" del paso 804), eliminar esta fila.
810: Una vez obtenida la segunda matriz de K x N, realizar la codificación o decodificación polar híbrida.
Según la realización de la presente invención, se puede seleccionar una fila para construir una segunda matriz, donde la confiabilidad de un bit que corresponde a la fila es alta y el peso de la fila es mayor que un primer umbral, de modo que una distancia de código mínima de una palabra de código puede ser aumentada, lo que mejora el rendimiento de la palabra de código. Al mismo tiempo, una palabra de código obtenida en la realización de la presente invención puede lograr un mejor rendimiento de decodificación de SC o SC-Lista.
Además, debe tenerse en cuenta que, en el paso 808, si se han atravesado las N filas, pero el número de filas seleccionadas aún no alcanza K (i <K), se puede ajustar el primer umbral. Por ejemplo, un valor del primer umbral se reduce apropiadamente, y el método mostrado en la FIG. 8 se ejecuta de nuevo, hasta que el número de filas seleccionadas pueda llegar a K.
La FIG. 9 es un diagrama de flujo esquemático de un proceso para generar un código Polar híbrido según otra realización de la presente invención. En una realización mostrada en la FIG. 9, se utiliza un parámetro de Bhattacharyya como medida de confiabilidad, y cuando se deben seleccionar K filas de una segunda matriz, el peso de la fila se considera primero, una fila cuyo peso es menor o igual que un primer umbral se elimina para obtener las filas restantes; y las filas restantes se clasifican según la confiabilidad de los bits que corresponden a las filas restantes, y se seleccionan K filas entre las filas restantes clasificadas en orden descendente de la confiabilidad de los bits correspondientes para construir una segunda matriz.
901: Generar una matriz F de N x N.
902: Determinar los parámetros de Bhattacharyya de N bits y determine el peso de N filas.
903: Determinar sucesivamente si el peso de cada fila en las N filas es mayor que un primer umbral.
904: Si se determina en el paso 903 que el peso de una determinada fila es menor o igual que el primer umbral (una rama "No" del paso 903), eliminar esta fila.
905: Si se determina en el paso 903 que el peso de una determinada fila es mayor que el primer umbral (una rama "Sí" del paso 903), reservar temporalmente esta fila. Después de atravesar las N filas, se obtienen las filas restantes. Se supone que el número de filas restantes es R y que R es un número entero positivo no mayor que N.
Es necesario señalar aquí que, si el número de filas restantes obtenidas en el paso 904 y el paso 905 es menor que K (R <K), el primer umbral puede ajustarse. Por ejemplo, un valor del primer umbral se reduce apropiadamente y los pasos 903 a 905 se muestran en la FIG. 9 se vuelven a ejecutar, hasta que el número de filas restantes obtenidas sea mayor o igual a K (R>K).
906: Ordenar las R filas restantes según los valores de los parámetros de Bhattacharyya de los bits correspondientes. Por ejemplo, las R filas restantes se pueden ordenar en orden ascendente de los parámetros de Bhattacharyya.
907: Entre las R filas restantes ordenadas, seleccionar K filas restantes cuyo parámetro de Bhattacharyya sea el mínimo, para obtener una segunda matriz de K x N.
908: Una vez obtenida la segunda matriz de K x N, realizar la codificación o decodificación Polar híbrida.
Según la realización de la presente invención, se puede seleccionar una fila para construir una segunda matriz, donde la confiabilidad de un bit que corresponde a la fila es alta y el peso de la fila es mayor que un primer umbral, de modo que una distancia de código mínima de un código Polar puede ser aumentada, lo que mejora el rendimiento del código Polar. Al mismo tiempo, el código Polar híbrido obtenido en la realización de la presente invención puede lograr un mejor rendimiento de decodificación SC o SC-Lista.
Para otra medición de confiabilidad, si un valor mayor de la medición corresponde a una mayor confiabilidad, se puede seleccionar un bit de información de la manera mostrada en la FIG. 6 y FIG. 8; y si un valor mayor de la medición corresponde a una menor confiabilidad, se puede seleccionar un bit de información de la manera mostrada en la FIG.
7 y FIG. 9. Por ejemplo, si se usa una probabilidad de error para indicar confiabilidad, se puede seleccionar un bit de información de una manera similar a la de la FIG. 7 y FIG. 9.
En la realización de la presente invención, se consideran tanto la confiabilidad como el peso de la fila, de modo que se pueda obtener un código Polar híbrido cuya distancia de código mínima sea mejor. Al usar N = 2048 y K = 1024 como ejemplo, después de que los códigos Polares existentes se clasifiquen en orden descendente de capacidad, 1024 bits con la capacidad máxima son 1024 bits de izquierda a derecha, por lo tanto, que se selecciona como bits de información. Sin embargo, el peso de las filas que corresponden a los últimos varios bits de información entre los bits de información seleccionados es 16. Una distancia de código mínima de los códigos Polares existentes es 16. Según el código Polar híbrido en la realización de la presente invención, puede establecer que el peso mínimo de una fila que corresponde a cada bit no sea menor de 16 (es decir, un primer umbral se establece en 16). Por lo tanto, se puede eliminar un bit cuyo peso de fila sea menor o igual a 16, y los 1024 bits con la capacidad máxima se seleccionan solo de los bits restantes como los bits de información. Ningún peso de las filas que corresponden a los bits de información seleccionados es menor que 16 pero el peso de las filas es menor que 32. Una distancia de código mínima del código Polar híbrido obtenido en la realización de la presente invención es 32, y el código Polar híbrido tiene un mejor rendimiento.
Se comparan el rendimiento de decodificación del código Polar existente y el rendimiento de decodificación del código Polar híbrido en la realización de la presente invención en el caso de la misma decodificación SC-Lista. Se toma L = 32 como el número de rutas supervivientes de la decodificación SC-Lista, se puede encontrar que el código Polar híbrido es mejor que el código Polar existente. Por ejemplo, cuando una relación de energía a ruido (Eb / No) es 1,6dB, una FER (Relación de Error de Trama, relación de error de trama) del código Polar híbrido es menor que 10-3, pero una FER del código Polar existente solo puede alcanzar una magnitud de 10-2 en el mismo estado. Además, para el código Polar existente, la decodificación SC-Lista ha alcanzado un límite de decodificación ML óptimo (ML Bound), y el rendimiento de la decodificación SC-Lista no se puede mejorar más, pero un límite de decodificación ML óptimo del código Polar híbrido en la realización de la presente invención es mucho mejor que el del código Polar existente. Por ejemplo, un límite de decodificación ML óptimo de la FER del código Polar híbrido en la realización de la presente invención puede alcanzar básicamente una magnitud de 10-4 cuando la relación de energía a ruido es de 1,6 dB. Por lo tanto, el rendimiento del código Polar híbrido en la realización de la presente invención todavía puede mejorarse en gran medida. Por ejemplo, el límite ML de decodificación óptimo se puede alcanzar aumentando continuamente el número L de trayectos supervivientes.
La FIG. 10 es un diagrama de flujo de un método de codificación según una realización de la presente invención. El método mostrado en la FIG. 10 se ejecuta mediante un final de codificación.
1001: Recibir una secuencia de bits de información a codificar, donde la longitud de la secuencia de bits de información es K y K es un número entero positivo.
1002: Obtener una primera matriz de N x N y una secuencia que incluya N bits, donde N es una longitud de código de un código polar híbrido que se generará, N filas de la primera matriz corresponden a los N bits en la secuencia en una manera uno a uno, y N es un número entero positivo mayor o igual que K.
1003: Determinar la confiabilidad de los N bits y determinar el peso de cada fila en las N filas de la primera matriz.
1004: Seleccionar, según la confiabilidad de los N bits y el peso de cada fila en las N filas de la primera matriz, K bits entre los N bits como bits de información, o seleccionar, según la confiabilidad de los N bits y el peso de cada fila en las N filas de la primera matriz, K filas entre las N filas de la primera matriz para construir una segunda matriz de K x N utilizada para la codificación.
Para los pasos 1002 a 1004, se puede hacer referencia a los pasos 101 a 103 mostrados en la FIG. 1, por lo que la descripción no se repite.
1005: Codificar la secuencia de bits de información a codificar según las posiciones de los bits de información o según la segunda matriz para obtener una secuencia de bits codificada cuya longitud de código es N.
Por ejemplo, cuando se determinan los K bits de información en el paso 1004, las posiciones en 1 de K bits de la secuencia de bits de información se pueden determinar, de modo que la codificación se puede realizar según „X n, _ 1 n1,, N vrJ N .
Como otra realización, cuando la segunda matriz de K x N (por ejemplo, Gn.(A) o una variante de Gn.(A)) se determina
en el paso 1004, la codificación se puede realizar según X' u aG n.(a ), c|onc|e UA ¡nc|¡ca |a secuencia de bits de información a codificar que se recibe en el paso 1001.
En el caso de que los bits congelados se establezcan en 0(uac= 0), los resultados de codificación y x i _ uaG n.(A) SQn ¡gUa|es
En la realización de la presente invención, cuando se selecciona un bit de información o una matriz de codificación de un código Polar híbrido, no solo se considera la confiabilidad de un bit, sino también el peso de una fila que es de una matriz y corresponde al bit se considera, de modo que se pueda mejorar el rendimiento de una palabra de código. Además, el código Polar híbrido obtenido en la realización de la presente invención también se aplica a la decodificación SC o SC-Lista, que puede lograr un mejor rendimiento de decodificación y es un código Polar optimizado.
Además, la longitud N de código y el número K de los bits de información son valores que pueden preestablecerse. Es decir, una tasa de código de un código Polar híbrido obtenido según la realización de la presente invención es variable. La tasa de código está determinada por K y N, por ejemplo, K / N.
Cabe señalar que, un orden para ejecutar cada paso mostrado en la FIG. 10 no pretende limitar el alcance de las realizaciones de la presente invención. Una persona experta en la técnica puede cambiar el orden de ejecución de cada paso mostrado en la FIG. 10. Por ejemplo, el paso 1001 puede ejecutarse después de los pasos 1002 a 1004, o ejecutarse de manera síncrona con los pasos 1002 a 1004. Todos estos cambios caen dentro del alcance de las realizaciones de la presente invención.
La FIG. 11 es un diagrama de flujo de un método de decodificación según un ejemplo de la presente invención. El método mostrado en la FIG. 11 se ejecuta mediante un extremo de decodificación.
1101: Recibir una señal demodulada cuya longitud sea N.
1102: Obtener una primera matriz de N x N y una secuencia que incluya N bits, donde N filas de la primera matriz corresponden a los N bits en la secuencia de una manera uno a uno.
1103: Determinar la confiabilidad de los N bits y determinar el peso de cada fila en las N filas de la primera matriz.
1104: Seleccionar, según la confiabilidad de los N bits y el peso de cada fila en las N filas de la primera matriz, K bits entre los N bits como bits de información, o seleccionar, según la confiabilidad de los N bits y el peso de cada fila en las N filas de la primera matriz, K filas entre las N filas de la primera matriz para construir una segunda matriz de K x N usada para codificar, donde K es un número entero positivo no mayor que N.
Para los pasos 1102 a 1104, se puede hacer referencia a los pasos 101 a 103 mostrados en la FIG. 1, por lo que la descripción no se repite.
1105: Decodificar la señal demodulada según las posiciones de los bits de información o según la segunda matriz. En el ejemplo de la presente invención, no se limita una manera específica de decodificación. Por ejemplo, la decodificación SC o SC-Lista se puede utilizar para generar una secuencia de bits decodificada cuya longitud es K. En la realización de la presente invención, cuando se selecciona un bit de información o una matriz de codificación de un código Polar híbrido, no solo se considera la confiabilidad de un bit, sino también el peso de una fila que es de una matriz y corresponde al bit se considera, de modo que se pueda mejorar el rendimiento de una palabra de código. Además, el código Polar híbrido obtenido en la realización de la presente invención también se aplica a la decodificación SC o SC-Lista, que puede lograr un mejor rendimiento de decodificación y es un código Polar optimizado.
Además, la longitud del código N y el número K de los bits de información son valores que pueden preestablecerse. Es decir, una tasa de código de un código Polar híbrido obtenido según la realización de la presente invención es variable. La tasa de código está determinada por K y N, por ejemplo, K / N.
Cabe señalar que, un orden para ejecutar cada paso mostrado en la FIG. 11 no pretende limitar el alcance de las realizaciones de la presente invención. Una persona experta en la técnica puede cambiar el orden de ejecución de cada paso mostrado en la FIG. 11. Por ejemplo, el paso 1101 puede ejecutarse después de los pasos 1102 a 1104, o puede ejecutarse de manera síncrona con los pasos 1102 a 1104. Todos estos cambios caen dentro del alcance de las realizaciones de la presente invención.
La FIG. 12 es un diagrama de bloques de un aparato para generar un código Polar híbrido según una realización de la presente invención. Un aparato 60 mostrado en la FIG. 12 incluye una unidad 61 de obtención, una unidad 62 de determinación y una unidad 63 de selección.
La unidad 61 de obtención genera una primera matriz de N x N y una secuencia que incluye N bits, donde N es una longitud de código, N filas de la primera matriz corresponden a los N bits en la secuencia de una manera uno a uno, y N es un número entero positivo.
La unidad 62 de determinación determina la confiabilidad de N bits y determina el peso de cada fila en las N filas de la primera matriz.
La unidad 63 de selección selecciona, según la confiabilidad de los N bits y el peso de cada fila en las N filas de la primera matriz, K bits entre los N bits como bits de información, o selecciona, según la confiabilidad de los N bits y el peso de cada fila en las N filas de la primera matriz, K filas entre las N filas de la primera matriz para construir una segunda matriz de K x N utilizada para codificar, de modo que codifique una secuencia de bits de información a codificar según las posiciones de los bits de información o la segunda matriz para generar el código Polar híbrido, donde K es la longitud de la secuencia de bits de información a codificar y es un número entero positivo no mayor que N.
En la realización de la presente invención, cuando se selecciona un bit de información o una matriz de codificación de un código Polar híbrido, no solo se considera la confiabilidad de un bit, sino también el peso de una fila que es de una matriz y corresponde al bit se tiene en cuenta, por lo que se puede mejorar el rendimiento de un Polar.
Además, el código Polar híbrido obtenido en la realización de la presente invención también se aplica a la decodificación SC o SC-Lista, que puede lograr un mejor rendimiento de decodificación y es un código Polar optimizado.
El aparato 60 mostrado en la FIG. 12 puede implementar cada paso del método mostrado en la FIG. 1 a la FIG. 9. Para evitar repeticiones, no se repite la descripción detallada. El aparato 60 puede estar ubicado en cualquier elemento de red, por ejemplo, puede estar ubicado en un equipo de usuario o una estación base.
De manera opcional, como una realización, la unidad 61 de obtención puede generar la primera matriz según un valor de N, por ejemplo, puede generar la matriz anterior Gn. o una variante (por ejemplo, F®n) de la Gn. como la primera matriz. De manera alternativa, la unidad 61 de obtención puede leer la primera matriz que está almacenada previamente y corresponde a un valor de N. En otras palabras, una primera matriz correspondiente a un valor diferente de N puede almacenarse previamente de manera local.
De manera opcional, como otra realización, la unidad 61 de obtención puede generar la secuencia de 1 x N según un
valor de N, por ejemplo, u N 1 en lo anterior. La secuencia es un conjunto que incluye bits de información y bits congelados. De manera alternativa, la unidad 61 de obtención puede leer la secuencia almacenada previamente de 1
x N. En otras palabras, una secuencia u N i correspondiente a un valor diferente de N puede almacenarse previamente de manera local.
De manera opcional, como una realización, la unidad 63 de selección puede seleccionar los K bits entre los N bits como los bits de información, donde la confiabilidad de los K bits es alta y el peso de las filas que son de la primera matriz y corresponden a los K bits es mayor que un primer umbral. Los bits de información seleccionados de esta manera tienen una distancia de código mínima mayor, lo que mejora el rendimiento de un código Polar.
De manera opcional, como una realización, la unidad 62 de determinación puede determinar la capacidad de cada bit entre los N bits, donde la confiabilidad de un bit con mayor capacidad es mayor; o determinar un parámetro de Bhattacharyya de cada bit entre los N bits, donde la confiabilidad de un bit con un parámetro de Bhattacharyya más pequeño es mayor; o determinar una probabilidad de error de cada bit entre los N bits, donde la confiabilidad de un bit con una probabilidad de error menor es mayor.
De manera opcional, como otra realización, la unidad 63 de selección puede clasificar los N bits según la confiabilidad y seleccionar, en orden descendente de la confiabilidad, los K bits entre los N bits clasificados como los bits de información, donde el peso de las filas que son de la primera matriz y corresponden a los K bits es mayor que el primer umbral. Por ejemplo, la unidad 63 de selección puede seleccionar los bits de información según el método mostrado en la FIG. 2 y FIG. 4.
De manera opcional, como otra realización, la unidad 63 de selección puede eliminar un bit de los N bits para obtener los bits restantes, donde el peso de una fila que es de la primera matriz y corresponde al bit es menor o igual que el primer umbral, ordenar los bits restantes según la confiabilidad de los bits restantes y seleccionar, en orden descendente de confiabilidad, los K bits entre los bits restantes clasificados como bits de información. Por ejemplo, la unidad 63 de selección puede seleccionar los bits de información según el método mostrado en la FIG. 3 y FIG. 5.
De manera opcional, como otra realización, la unidad 63 de selección puede seleccionar las K filas entre las N filas de la primera matriz para construir la segunda matriz, donde la confiabilidad de los bits que corresponden a las K filas es alta y el peso de las filas es mayor que el primer umbral.
De manera opcional, como otra realización, la unidad 63 de selección puede clasificar las N filas de la primera matriz según la confiabilidad de los bits correspondientes, y seleccionar, en orden descendente de la confiabilidad de los bits correspondientes, las K filas entre las N filas clasificadas. para construir la segunda matriz, donde el peso de las filas es mayor que el primer umbral.
De manera opcional, como otra realización, la unidad 63 de selección puede eliminar una fila para obtener las filas restantes, donde el peso de la fila es menor o igual que el primer umbral, ordenar las filas restantes según la confiabilidad de los bits que corresponden a las filas restantes. y seleccione, en orden descendente de la confiabilidad de los bits correspondientes, las K filas entre las filas restantes clasificadas para construir la segunda matriz.
De manera opcional, como otra realización, la unidad 62 de determinación puede determinar además el primer umbral según un requisito de distancia de código mínima de un código Polar. Sin embargo, las realizaciones de la presente invención no se limitan a esto. Cuando la unidad 62 de determinación determina el primer umbral, se puede considerar además otro factor, por ejemplo, una tasa de código. La tasa de código se puede determinar mediante los valores de N y K anteriores, por ejemplo, es igual a K / N.
La FIG. 13 es un diagrama de bloques esquemático de un aparato de codificación según otra realización de la presente invención. En un aparato 130 de codificación mostrado en la FIG. 13, una pieza similar a la de la FIG. 12 se marca mediante el uso del mismo número de referencia y se omite la descripción repetida.
Como se muestra en la FIG. 13, además de una unidad 61 de obtención, una unidad 62 de determinación y una unidad 63 de selección, el aparato 130 de codificación puede incluir además una unidad 131 de recepción y una unidad 132 de codificación.
La unidad 131 de recepción recibe una secuencia de bits de información a codificar, donde la longitud de la secuencia de bits de información es K y K es un número entero positivo.
La unidad 61 de obtención genera una primera matriz de N x N y una secuencia que incluye N bits, donde N es una longitud de código de un código Polar, N filas de la primera matriz corresponden a los N bits en la secuencia de una manera uno a uno, y N es un número entero positivo.
La unidad 62 de determinación determina la confiabilidad de N bits y determina el peso de cada fila en las N filas de la primera matriz.
La unidad 63 de selección selecciona, según la confiabilidad de los N bits y el peso de cada fila en las N filas de la primera matriz, K bits entre los N bits como bits de información, o selecciona, según la confiabilidad de los N bits y el peso de cada fila en las N filas de la primera matriz, K filas entre las N filas de la primera matriz para construir una segunda matriz de K x N utilizada para la codificación, donde K es la longitud del objeto a codificar secuencia de bits de información a codificar y es un número entero positivo no mayor que N.
La unidad 132 de codificación codifica la secuencia de bits de información según las posiciones de los bits de información o según la segunda matriz para obtener una secuencia de bits codificada cuya longitud de código es N.
En la realización de la presente invención, cuando se selecciona un bit de información o una matriz de codificación de un código Polar híbrido, no solo se considera la confiabilidad de un bit, sino también el peso de una fila que es de una matriz y corresponde al bit se tiene en cuenta, de modo que se pueda mejorar el rendimiento del código Polar.
Además, el código Polar híbrido obtenido en la realización de la presente invención también se aplica a la decodificación SC o SC-Lista, lo que puede lograr un mejor rendimiento de decodificación.
La FIG. 14 es un diagrama de bloques de un transmisor según una realización de la presente invención. Un transmisor 140 mostrado en la FIG. 14 puede incluir el aparato 130 de codificación mostrado en la FIG. 13, por lo que se omite apropiadamente la descripción repetida.
Además, el transmisor 140 puede incluir además una unidad 141 de transmisión, configurada para transmitir una secuencia de bits codificada generada por el aparato 130 de codificación.
En la realización de la presente invención, cuando se selecciona un bit de información o una matriz de codificación de un código Polar híbrido, no solo se considera la confiabilidad de un bit, sino también el peso de una fila que es de una matriz y corresponde al bit se considera, de modo que se pueda mejorar el rendimiento de una palabra de código.
Además, el código Polar híbrido obtenido en la realización de la presente invención también se aplica a la decodificación SC o SC-Lista, lo que puede lograr un mejor rendimiento de decodificación.
La FIG. 15 es un diagrama de bloques de un aparato de decodificación según un ejemplo de la presente invención. En un aparato 150 de decodificación mostrado en la FIG. 15, una pieza similar a la de la FIG. 12 se marca mediante el uso del mismo número de referencia y se omite la descripción repetida.
Como se muestra en la FIG. 15, además de una unidad 61 de obtención, una unidad 62 de determinación y una unidad 63 de selección, el aparato 150 de decodificación puede incluir además una unidad 151 de recepción y una unidad 152 de decodificación.
La unidad 151 de recepción recibe una señal demodulada cuya longitud es N.
La unidad 61 de obtención genera una primera matriz de N x N y una secuencia que incluye N bits, donde N es una longitud de código de un código Polar, N filas de la primera matriz corresponden a los N bits en la secuencia de una manera uno a uno, y N es un número entero positivo.
La unidad 62 de determinación determina la confiabilidad de N bits y determina el peso de cada fila en las N filas de la primera matriz.
La unidad 63 de selección selecciona, según la confiabilidad de los N bits y el peso de cada fila en las N filas de la primera matriz, K bits entre los N bits como bits de información, o selecciona, según la confiabilidad de los N bits y el peso de cada fila en las N filas de la primera matriz, K filas entre las N filas de la primera matriz para construir una segunda matriz de K x N utilizada para codificar, donde K es un número entero positivo no mayor que N.
La unidad 152 de decodificación decodifica la señal demodulada según las posiciones de los bits de información o según la segunda matriz.
En la realización de la presente invención, cuando se selecciona un bit de información o una matriz de codificación de un código Polar híbrido, no solo se considera la confiabilidad de un bit, sino también el peso de una fila que es de una matriz y corresponde al bit se tiene en cuenta, de modo que se pueda mejorar el rendimiento del código Polar.
Además, el código Polar híbrido obtenido en la realización de la presente invención también se aplica a la decodificación SC o SC-Lista, lo que puede lograr un mejor rendimiento de decodificación.
La FIG. 16 es un diagrama de bloques de un receptor según una realización de la presente invención. Un receptor 160 mostrado en la FIG. 16 puede incluir el aparato 150 de decodificación mostrado en la FIG. 15, y por lo tanto se omite apropiadamente la descripción repetida.
Además, como se muestra en la FIG. 16, el receptor 160 puede incluir además una unidad 161 de demodulación, configurada para demodular una señal recibida para generar una señal demodulada cuya longitud es N.
En la realización de la presente invención, cuando se selecciona un bit de información o una matriz de codificación de un código Polar híbrido, no solo se considera la confiabilidad de un bit, sino también el peso de una fila que es de una matriz y corresponde al bit se tiene en cuenta, de modo que se pueda mejorar el rendimiento del código Polar.
Además, el código Polar híbrido obtenido en la realización de la presente invención también se aplica a la decodificación SC o SC-Lista, lo que puede lograr un mejor rendimiento de decodificación.
La FIG. 17 es un diagrama de bloques esquemático de un aparato según otra realización de la presente invención. Un aparato 80 mostrado en la FIG. 17 puede configurarse para implementar cada paso y método en las realizaciones del método anteriores. Un aparato 170 puede aplicarse a una estación base o un terminal en varios sistemas de comunicaciones. En una realización mostrada en la FIG. 17, el aparato 80 incluye un circuito 802 de transmisión, un circuito 803 de recepción, un procesador 804 de codificación, un procesador 805 de decodificación, una unidad 806 de procesamiento, una memoria 807 y una antena 801. La unidad 806 de procesamiento controla el funcionamiento del aparato 80, y la unidad 806 de procesamiento también puede denominarse CPU (Unidad de Procesamiento Central, unidad de procesamiento central). La memoria 807 puede incluir una memoria de sólo lectura y una memoria de acceso aleatorio, y proporciona una instrucción y datos para la unidad 806 de procesamiento. Una parte de la memoria 807 puede incluir además una memoria de acceso aleatorio no volátil (NVRAM). En una aplicación real, el aparato 80 puede estar integrado en o puede ser un dispositivo de comunicaciones inalámbricas como un teléfono móvil, y puede incluir además un portador que contenga el circuito 802 de transmisión y el circuito 803 de recepción, para permitir la transmisión y recepción de datos entre el aparato 80 y una posición remota. El circuito 802 de transmisión y el circuito 803 de recepción se pueden acoplar a la antena 801. Los componentes del aparato 80 se acoplan entre sí a través de un sistema 809 de bus, donde el sistema 809 de bus incluye además un bus de potencia, un bus de control y una señal de estado del bus, además de un bus de datos. Sin embargo, para una descripción clara, todos los buses están marcados como el sistema 809 de bus en la figura. El aparato 170 puede incluir además la unidad 806 de procesamiento configurada para procesar una señal, y de manera adicional incluye además el procesador 804 de codificación y el procesador 805 de decodificación.
El método descrito en las realizaciones de la presente invención puede aplicarse en el procesador 804 de codificación o el procesador 805 de decodificación, o se implementa mediante el procesador 804 de codificación o el procesador 805 de decodificación. El procesador 804 de codificación o el procesador 805 de decodificación es posiblemente un chip de circuito integrado y tiene la capacidad de procesar una señal. En un proceso de implementación, cada paso del método puede completarse mediante el uso de un circuito lógico integrado de hardware en el procesador 804 de codificación o el procesador 805 de decodificación o instrucciones en forma de software. Estas instrucciones pueden ser implementadas y controladas mediante el uso del procesador 806. Configurado para ejecutar el método descrito en las realizaciones de la presente invención, el procesador de decodificación anterior puede ser un procesador general, un procesador de señal digital (DSP), un circuito integrado específico de la aplicación (ASIC), una matriz de puertas programables en campo (FPGA) u otro dispositivo lógico programable, una puerta discreta o un dispositivo lógico de transistor, o un componente de hardware discreto; y puede implementar o ejecutar cada método, paso y diagrama de bloques lógicos descritos en las realizaciones de la presente invención. El procesador general puede ser un microprocesador o el procesador puede ser cualquier procesador o descodificador común, y así sucesivamente. El paso con referencia al método descrito en las realizaciones de la presente invención puede ser ejecutado y completado directamente por un procesador de decodificación de hardware o ejecutado y completado por una combinación de hardware y un módulo de software en un procesador de decodificación. El módulo de software puede estar ubicado en un medio de almacenamiento maduro en la técnica, tal como una memoria de acceso aleatorio, una memoria flash, una memoria de solo lectura, una memoria programable de solo lectura, una memoria programable borrable electrónicamente o un registro. El medio de almacenamiento está ubicado en la memoria 807, y el procesador 804 de codificación o el procesador 805 de decodificación lee información en la memoria 807 y completa los pasos del método con referencia al hardware. Por ejemplo, la memoria 807 puede almacenar información sobre un código Polar obtenido o bits congelados para el procesador 804 de codificación o el procesador 805 de decodificación para usar durante la codificación o decodificación.
Por ejemplo, la unidad 132 de codificación mostrada en la FIG. 13 puede ser implementada por el procesador 804 de codificación, y la unidad 152 de decodificación mostrada en la FIG. 15 puede ser implementada por el procesador 805 de decodificación. Además, la unidad 61 de obtención, la unidad 62 de determinación y la unidad 63 de selección mostradas en la FIG. 12 a 13 y la FIG. 15 pueden ser implementadas por el procesador 806, o pueden ser implementadas por el procesador 804 de codificación o el procesador 805 de decodificación.
Además, por ejemplo, el transmisor 140 mostrado en la FIG. 14 puede ser implementado por el procesador 804 de codificación, el circuito 802 de transmisión y la antena 801, y así sucesivamente. El receptor 150 mostrado en la FIG.
15 puede implementarse mediante la antena 801, el circuito 803 de recepción y el procesador 805 de decodificación, y así sucesivamente. Sin embargo, los ejemplos anteriores son solo a modo de ejemplo, pero no pretenden limitar las realizaciones de la presente invención a tales formas de implementación específicas.
Específicamente, la memoria 807 almacena instrucciones para permitir que el procesador 806, el procesador 804 de codificación o el procesador 805 de decodificación implementen las siguientes operaciones: generar una primera matriz de N x N y una secuencia que incluye N bits, donde N es un código longitud de un código Polar, N filas de la primera matriz corresponden a los N bits en la secuencia de una manera uno a uno, y N es un número entero positivo; determinar la confiabilidad de los N bits y determinar el peso de cada fila en las N filas de la primera matriz; seleccionando, según la confiabilidad de los N bits y el peso de cada fila en las N filas de la primera matriz, K bits entre los N bits como bits de información, o seleccionando, según la confiabilidad de los N bits y el peso de cada fila en las N filas de la primera matriz, K filas entre las N filas de la primera matriz para construir una segunda matriz de K x N utilizada para codificar, donde K es un número entero positivo no mayor que N.
En la realización de la presente invención, cuando se selecciona un bit de información o una matriz de codificación de un código Polar híbrido, no solo se considera la confiabilidad de un bit, sino también el peso de una fila que es de una matriz y corresponde al bit se tiene en cuenta, de modo que se pueda mejorar el rendimiento del código Polar.
Además, el código Polar híbrido obtenido en la realización de la presente invención también se aplica a la decodificación SC o SC-Lista, lo que puede lograr un mejor rendimiento de decodificación.
Un sistema de comunicaciones o un aparato de comunicaciones según una realización de la presente invención puede incluir el aparato 60, el aparato 130 de codificación, el transmisor 140, el aparato 150 decodificador, el receptor 160 o el aparato 170.
Un experto en la materia puede saber que, en combinación con los ejemplos descritos en las realizaciones descritas en esta especificación, las unidades y los pasos de algoritmo pueden implementarse mediante hardware electrónico o una combinación de software y hardware electrónico. El hecho de que las funciones sean realizadas por hardware o software depende de las aplicaciones particulares y de las condiciones de restricción de diseño de las soluciones técnicas. Una persona experta en la técnica puede utilizar diferentes métodos para implementar las funciones descritas para cada aplicación particular, pero no debe considerarse que tal implementación va más allá del alcance de la presente invención.
Una persona experta en la técnica puede entender claramente que, con el propósito de una descripción breve y conveniente, para un proceso de trabajo detallado del sistema, aparato y unidad anteriores, se puede hacer referencia al proceso correspondiente en las realizaciones del método anterior, y detalles no se describen aquí de nuevo.
En las diversas realizaciones proporcionadas en la presente solicitud, debe entenderse que el sistema, el aparato y el método descritos pueden implementarse de otras maneras. Por ejemplo, la realización del aparato descrita es meramente ejemplar. Por ejemplo, la división de unidades es simplemente una división de función lógica y puede ser otra división en la implementación real. Por ejemplo, una pluralidad de unidades o componentes pueden combinarse o integrarse en otro sistema, o algunas características pueden ignorarse o no realizarse. Además, los acoplamientos mutuos mostrados o discutidos o acoplamientos directos o conexiones de comunicaciones pueden implementarse a través de algunas interfaces. Los acoplamientos indirectos o conexiones de comunicaciones entre los aparatos o unidades pueden implementarse en formas electrónicas, mecánicas u otras.
Las unidades descritas como partes separadas pueden estar o no físicamente separadas, y las partes mostradas como unidades pueden o no ser unidades físicas, pueden estar ubicadas en una posición o pueden estar distribuidas en una pluralidad de unidades de red. Una parte o la totalidad de las unidades pueden seleccionarse según las necesidades reales para lograr los objetivos de las soluciones de las realizaciones.
Además, las unidades funcionales en las realizaciones de la presente invención pueden integrarse en una unidad de procesamiento, o cada una de las unidades puede existir sola físicamente, o dos o más unidades están integradas en una unidad.
Cuando las funciones se implementan en forma de una unidad funcional de software y se venden o utilizan como un producto independiente, las funciones pueden almacenarse en un medio de almacenamiento legible por ordenador. Sobre la base de tal comprensión, las soluciones técnicas de la presente invención esencialmente, o la parte que contribuye a la técnica anterior, o una parte de las soluciones técnicas, pueden implementarse en forma de un producto de software. El producto de software informático se almacena en un medio de almacenamiento e incluye varias instrucciones para instruir a un dispositivo informático (que puede ser un ordenador personal, un servidor o un dispositivo de red) para que realice todos o parte de los pasos de los métodos descritos en las realizaciones de la presente invención. El medio de almacenamiento anterior incluye: cualquier medio que pueda almacenar códigos de programa, como una unidad flash USB, un disco duro extraíble, una memoria de solo lectura (ROM, memoria de solo lectura), una memoria de acceso aleatorio (RAM, memoria de acceso aleatorio ), un disco magnético o un disco óptico.

Claims (15)

REIVINDICACIONES
1. Un método de codificación, que comprende:
recibir una secuencia de bits de información a codificar, en la que la longitud de la secuencia de bits de información es K y K es un número entero positivo;
obtener una primera matriz de N filas x N columnas y una secuencia que comprende N bits, en la que las N filas de la primera matriz corresponden a los N bits en la secuencia de una manera uno a uno y N es un número entero positivo; seleccionar K bits entre los N bits como bits de información, en donde las posiciones de los K bits se seleccionan según la confiabilidad de los N bits y el peso de las filas de la primera matriz correspondiente a los N bits, en donde K no es mayor que N; y
la codificación polar de la secuencia de bits de información a codificar según las posiciones de los K bits para obtener una secuencia de bits codificada cuya longitud de código es N, en la que la codificación polar de la secuencia de bits de información a codificar según las posiciones de K bits comprende:
Figure imgf000020_0001
-la codificación polar de la secuencia de bits de información a codificar según un proceso de codificación = „ u, Nr (j „ donde Gn es la primera matriz, i es la secuencia que comprende los N bits, es la secuencia de bits codificada, en la que los K bits de la secuencia de bits de información a codificar se colocan en las posiciones de los K bits seleccionados entre los N bits.
2. El método de codificación de la reivindicación 1, en el que los N bits se clasifican por confiabilidad.
3. El método de codificación de la reivindicación 1 o 2, en el que la confiabilidad de los K bits es alta y los pesos de las K filas que son de la primera matriz y corresponden a los K bits seleccionados son mayores que un primer umbral.
4. El método de codificación de la reivindicación 1 o 2, en el que seleccionar los K bits entre los N bits comprende: ordenar los N bits según la confiabilidad de los N bits; y
seleccionar, en orden descendente de confiabilidad, los K bits entre los N bits clasificados como los bits de información, en donde el peso de las filas que son de la primera matriz y corresponden a los K bits es mayor que el primer umbral.
5. El método de codificación de la reivindicación 1 o 2, en el que seleccionar los K bits entre los N bits comprende: eliminar un bit de los N bits para obtener los bits restantes, en donde el peso de una fila que es de la primera matriz y corresponde al bit es menor o igual que el primer umbral;
ordenar los bits restantes según la confiabilidad de los bits restantes; y
seleccionar, en orden descendente de confiabilidad, los K bits entre los bits restantes clasificados como los bits de información.
6. El método de codificación de una cualquiera de las reivindicaciones 1 a 5, en el que la confiabilidad de los N bits está determinada por uno de los siguientes:
determinar una capacidad de cada bit entre los N bits, en donde la confiabilidad de un bit con mayor capacidad es mayor; o
determinar un parámetro de Bhattacharyya de cada bit entre los N bits, en donde la confiabilidad de un bit con un parámetro de Bhattacharyya más pequeño es mayor; o
determinar una probabilidad de error de cada bit entre los N bits, en donde la confiabilidad de un bit con una probabilidad de error menor es mayor.
7. El método de codificación de una cualquiera de las reivindicaciones 3 a 6, en el que el primer umbral se determina según un requisito de distancia de código mínima de un código polar.
8. El método de codificación de cualquiera de las reivindicaciones 1-7, donde Gn= F®n, en donde F®n es una potencia de Kronecker de F y se define como F®n = F ® F® (n-1).
9. Un aparato de codificación, que comprende:
una unidad de recepción, configurada para recibir una secuencia de bits de información a codificar, en la que la longitud de la secuencia de bits de información es K y K es un número entero positivo;
una unidad de obtención, configurada para obtener una primera matriz de N filas x N columnas y una secuencia que comprende N bits, en la que las N filas de la primera matriz corresponden a los N bits en la secuencia de una manera uno a uno y N es un número entero positivo;
una unidad de selección, configurada para seleccionar K bits entre los N bits como bits de información, donde las posiciones de los K bits se seleccionan según la confiabilidad de los N bits y el peso de las filas de la primera matriz correspondientes a los N bits, en donde K no es mayor que N; y
una unidad de codificación, configurada para realizar una codificación polar de la secuencia de bits de información a codificar según las posiciones de los K bits para obtener una secuencia de bits codificada cuya longitud de código es N,
en el que la unidad de codificación está configurada para realizar una codificación polar de la secuencia de bits de información a codificar según un proceso de codificación X 1 - U í Í J n . , donde Gn es la primera matriz, es la secuencia que comprende los N bits, y x i es la secuencia de bits codificada, en la que los K bits de la secuencia de bits de información a codificar se colocan en las posiciones de los K bits que se seleccionan como los bits de información.
10. El aparato de codificación
Figure imgf000021_0001
la reivindicación 9, en el que los N bits se clasifican por confiabilidad.
11. El aparato de codificación de la reivindicación 9 o 10, en el que la confiabilidad de los K bits es alta y los pesos de las K filas que son de la primera matriz y corresponden a los K bits seleccionados son mayores que un primer umbral.
12. El aparato de codificación
Figure imgf000021_0002
la reivindicación 9 o 10, en el que la unidad de selección está configurada para: ordenar los N bits según la confiabilidad de los N bits; y
seleccionar, en orden descendente de confiabilidad, los K bits entre los N bits clasificados como los bits de información, en donde el peso de las filas que son de la primera matriz y corresponden a los K bits es mayor que el primer umbral;
o la unidad de selección está configurada para:
eliminar un bit de los N bits para obtener los bits restantes, en donde el peso de una fila que es de la primera matriz y corresponde al bit es menor o igual que el primer umbral;
ordenar los bits restantes según la confiabilidad de los bits restantes; y
seleccionar, en orden descendente de confiabilidad, los K bits entre los bits restantes clasificados como los bits de información.
13. El aparato de codificación de una cualquiera de las reivindicaciones 9 a 12, que comprende además una unidad de determinación configurada para:
determinar una capacidad de cada bit entre los N bits, en donde la confiabilidad de un bit con mayor capacidad es mayor; o
determinar un parámetro de Bhattacharyya de cada bit entre los N bits, en donde la confiabilidad de un bit con un parámetro de Bhattacharyya más pequeño es mayor; o
determinar una probabilidad de error de cada bit entre los N bits, en donde la confiabilidad de un bit con una probabilidad de error menor es mayor.
14. Un terminal, que comprende:
un aparato de codificación según una cualquiera de las reivindicaciones 9 a 13; y
una unidad de transmisión, configurada para transmitir la secuencia de bits codificada obtenida por el aparato de codificación.
15. Un medio legible por ordenador, que comprende código que, cuando es ejecutado por un ordenador, hace que el ordenador realice el método de una cualquiera de las reivindicaciones 1 a 8.
ES17209921T 2012-09-24 2013-07-02 Método y aparato para generar código Polar híbrido Active ES2856961T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210356670.8A CN103684477B (zh) 2012-09-24 2012-09-24 混合极性码的生成方法和生成装置

Publications (1)

Publication Number Publication Date
ES2856961T3 true ES2856961T3 (es) 2021-09-28

Family

ID=50320929

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17209921T Active ES2856961T3 (es) 2012-09-24 2013-07-02 Método y aparato para generar código Polar híbrido

Country Status (7)

Country Link
US (2) US10243592B2 (es)
EP (2) EP2899911B1 (es)
CN (2) CN106899311B (es)
BR (1) BR112015006374B1 (es)
ES (1) ES2856961T3 (es)
RU (2) RU2677589C2 (es)
WO (1) WO2014044072A1 (es)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220376708A1 (en) * 2017-01-09 2022-11-24 Zte Corporation Data processing method and device

Families Citing this family (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102015121B1 (ko) * 2012-10-17 2019-08-28 삼성전자주식회사 불휘발성 메모리 장치를 제어하도록 구성되는 컨트롤러 및 컨트롤러의 동작 방법
WO2015026148A1 (ko) * 2013-08-20 2015-02-26 엘지전자 주식회사 무선 접속 시스템에서 폴라 코딩을 이용한 데이터 송신방법
RU2667461C1 (ru) * 2013-12-31 2018-09-19 Хуавэй Текнолоджиз Ко., Лтд. Способ и система обработки полярного кода и беспроводное устройство связи
CN105164959B (zh) 2014-02-21 2019-06-21 华为技术有限公司 用于极化码的速率匹配的方法和装置
US9317365B2 (en) * 2014-03-06 2016-04-19 Seagate Technology Llc Soft decoding of polar codes
RU2571587C2 (ru) * 2014-04-10 2015-12-20 Самсунг Электроникс Ко., Лтд. Способ и устройство кодирования и декодирования данных в скрученном полярном коде
US20150333775A1 (en) * 2014-05-15 2015-11-19 Broadcom Corporation Frozen-Bit Selection for a Polar Code Decoder
EP3142257B1 (en) 2014-05-30 2020-08-26 Huawei Technologies Co., Ltd. Method and apparatus for constructing punctured polar code
CN104158549A (zh) * 2014-07-24 2014-11-19 南京大学 一种极性码译码方法及译码装置
CN107005690B (zh) * 2014-11-27 2019-10-01 华为技术有限公司 极化码的速率匹配的方法、装置和无线通信设备
RU2685034C2 (ru) 2014-12-22 2019-04-16 Хуавэй Текнолоджиз Ко., Лтд. Устройство кодирования и способ кодирования полярным кодом
CA2989338A1 (en) 2015-03-10 2016-09-15 Huawei Technologies Co., Ltd. Method and communications device for transmitting information
US9628114B2 (en) * 2015-03-31 2017-04-18 Macronix International Co., Ltd. Length-compatible extended polar codes
CN107408953A (zh) * 2015-04-01 2017-11-28 华为技术有限公司 编码方法、装置、基站和用户设备
WO2016172937A1 (zh) * 2015-04-30 2016-11-03 华为技术有限公司 一种利用多元极化码进行数据传输的方法、装置
TWI587638B (zh) * 2015-10-15 2017-06-11 旺宏電子股份有限公司 極化碼通道感知之執行方法與裝置
KR102350965B1 (ko) * 2015-10-30 2022-01-14 삼성전자주식회사 그룹 통신을 위한 방법 및 장치
US11144553B2 (en) * 2015-11-30 2021-10-12 International Business Machines Corporation Streaming programmable point mapper and compute hardware
CN106877973B (zh) * 2015-12-10 2020-04-14 华为技术有限公司 极化码处理的方法及通信设备
CN106899379B (zh) * 2015-12-18 2020-01-17 华为技术有限公司 用于处理极化码的方法和通信设备
US10312947B2 (en) * 2016-01-21 2019-06-04 Huawei Technologies Co., Ltd. Concatenated and sliding-window polar coding
TWI629872B (zh) * 2016-02-03 2018-07-11 旺宏電子股份有限公司 調整延伸極化碼的碼長度之方法及裝置
JP2019519131A (ja) * 2016-04-29 2019-07-04 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ポーラ符号を用いた符号化及び復号
CN109075805B (zh) 2016-05-12 2021-08-20 华为技术有限公司 实现极化码的设备和方法
CN107370560B (zh) * 2016-05-12 2020-04-21 华为技术有限公司 一种极化码的编码和速率匹配方法、装置及设备
US10361728B2 (en) * 2016-06-17 2019-07-23 Huawei Technologies Co., Ltd. Multiple-symbol combination based decoding for general polar codes
EP3474471B1 (en) * 2016-06-19 2022-10-05 LG Electronics Inc. Data transmission method and transmitter
US20180019766A1 (en) * 2016-07-14 2018-01-18 Qualcomm Incorporated Pipelining for polar code list decoding
CN109478897B (zh) * 2016-07-25 2023-05-12 高通股份有限公司 用于构造极化码的方法和装置
CN107666370B (zh) * 2016-07-29 2023-09-22 华为技术有限公司 编码方法和设备
CN108599900B (zh) 2016-08-11 2019-06-07 华为技术有限公司 用于极化编码的方法、装置和设备
CN107733562B (zh) 2016-08-12 2021-02-23 上海诺基亚贝尔股份有限公司 极化码的编解码方法及装置
US10320428B2 (en) * 2016-08-15 2019-06-11 Qualcomm Incorporated Outputting of codeword bits for transmission prior to loading all input bits
CN107800510B (zh) * 2016-09-05 2020-11-17 华为技术有限公司 极化Polar码编码的方法及装置
US10644829B2 (en) 2016-09-15 2020-05-05 Huawei Technologies Co., Ltd. Method and apparatus for encoding data using a polar code
US10756853B2 (en) * 2016-10-21 2020-08-25 Huawei Technologies Co., Ltd. Method and device for incremental redundancy hybrid automatic repeat request (IR-HARQ) re-transmission
EP3539237B1 (en) * 2016-11-11 2022-08-03 Telefonaktiebolaget LM Ericsson (publ) Error detection in communication systems using polar coded data transmission
WO2018098691A1 (zh) * 2016-11-30 2018-06-07 华为技术有限公司 一种控制信道生成方法、控制信道检测方法及相关设备
WO2018113994A1 (en) 2016-12-23 2018-06-28 Huawei Technologies Co., Ltd. Apparatus and method for generating polar codes
WO2018119883A1 (en) * 2016-12-29 2018-07-05 Qualcomm Incorporated Nested structure for polar code construction using density evolution
WO2018126378A1 (en) * 2017-01-05 2018-07-12 Qualcomm Incorporated Wireless communication with polar codes using a mask sequence for frozen bits
US10560221B2 (en) * 2017-01-05 2020-02-11 Huawei Technologies Co., Ltd. Apparatus and methods for training-based channel code design
CN117375765A (zh) 2017-01-05 2024-01-09 华为技术有限公司 速率匹配方法、编码装置和通信装置
US10348328B2 (en) 2017-01-06 2019-07-09 At&T Intellectual Property I, L.P. Reducing control channel overhead using polar codes
CN108289009B (zh) * 2017-01-09 2019-12-24 上海朗帛通信技术有限公司 一种被用于信道编码的ue、基站中的方法和设备
CN108289006B (zh) * 2017-01-09 2021-07-16 上海诺基亚贝尔股份有限公司 用于通信系统中的数据处理的方法和设备
WO2018126476A1 (en) * 2017-01-09 2018-07-12 Qualcomm Incorporated Rate-matching scheme for control channels using polar codes
WO2018132982A1 (zh) 2017-01-18 2018-07-26 深圳市汇顶科技股份有限公司 码字生成方法、错误位确定方法及其电路
CN108365850B (zh) * 2017-01-26 2022-02-11 华为技术有限公司 编码方法、编码装置和通信装置
CN110719141B (zh) * 2017-02-03 2020-08-21 华为技术有限公司 一种信息的传输方法、译码方法和装置
US10312946B2 (en) * 2017-02-06 2019-06-04 Mitsubishi Electric Research Laboratories, Inc. Soft-output decoding of codewords encoded with polar code
CN108429602B (zh) * 2017-02-15 2022-01-28 中兴通讯股份有限公司 一种数据处理方法、装置及发射端
US10985871B2 (en) * 2017-02-24 2021-04-20 Huawei Technologies Co., Ltd. Method to generate ordered sequence for polar codes
CN108540260B (zh) 2017-03-02 2019-12-24 华为技术有限公司 用于确定Polar码编解码的方法、装置和可存储介质
US10075197B1 (en) * 2017-03-07 2018-09-11 Lg Electronics Inc. Method and apparatus for transmitting hamming weight and codeword
WO2018165843A1 (en) * 2017-03-14 2018-09-20 Qualcomm Incorporated Mutual information based polar code construction
CN108574561B (zh) * 2017-03-14 2020-11-17 华为技术有限公司 极化码编码的方法和装置
US10651973B2 (en) 2017-03-22 2020-05-12 Huawei Technologies Co., Ltd. Method and apparatus for error-correction encoding using a polar code
KR102502529B1 (ko) * 2017-03-23 2023-02-21 퀄컴 인코포레이티드 폴라 코딩을 위한 패리티 비트 채널 할당
CN108631930B (zh) * 2017-03-24 2023-08-22 华为技术有限公司 Polar编码方法和编码装置、译码方法和译码装置
CN109150397B (zh) * 2017-03-24 2019-08-27 华为技术有限公司 一种构造极化码序列的方法及装置
CN107342844B (zh) * 2017-03-24 2022-09-02 华为技术有限公司 一种编码方法和装置
CN108631793B (zh) 2017-03-24 2022-04-22 华为技术有限公司 一种构造编码序列的方法,装置
CN108631936B (zh) * 2017-03-24 2020-09-25 展讯通信(上海)有限公司 极化码编译的方法及装置
CN107342845B (zh) 2017-03-25 2022-07-12 华为技术有限公司 一种速率匹配的方法和装置
WO2018179246A1 (en) * 2017-03-30 2018-10-04 Nec Corporation Check bit concatenated polar codes
WO2018176478A1 (en) 2017-04-01 2018-10-04 Qualcomm Incorporated Communication system and method having polar coding with two concatenated cyclic redundancy check codes
CN110495122B (zh) * 2017-04-01 2022-05-17 高通股份有限公司 具有带有两个级联循环冗余校验码的极性编码的通信系统和方法
CN108667464A (zh) * 2017-04-01 2018-10-16 华为技术有限公司 极化码编码和译码的方法、发送设备和接收设备
CN110048726B (zh) * 2017-04-25 2020-08-21 华为技术有限公司 编码方法、译码方法、装置和设备
CN108809331B (zh) * 2017-05-02 2020-07-21 华为技术有限公司 极化码信道编码方法、设备以及通信系统
CN108809486B (zh) 2017-05-03 2020-09-04 华为技术有限公司 Polar码编译码方法及装置
US11196445B2 (en) * 2017-05-04 2021-12-07 Nokia Technologies Oy Distributed CRC polar codes
CN114614947A (zh) 2017-05-04 2022-06-10 三星电子株式会社 在通信或广播系统中用于信道编码和解码的方法和设备
WO2018202142A1 (zh) * 2017-05-05 2018-11-08 中兴通讯股份有限公司 序列确定方法及装置、设备、存储介质
CN108809333B (zh) 2017-05-05 2021-05-04 华为技术有限公司 极化码编译码的方法、发送设备和接收设备
CN108809334B (zh) 2017-05-05 2021-07-20 中兴通讯股份有限公司 序列确定方法及装置、设备
CN108809500B (zh) * 2017-05-05 2020-12-22 华为技术有限公司 编码方法、装置和设备
WO2018202195A1 (zh) * 2017-05-05 2018-11-08 华为技术有限公司 编码方法、装置和设备
JP7210079B2 (ja) 2017-05-08 2023-01-23 コーヒレント・ロジックス・インコーポレーテッド Polar符号のビット分布のスケーラビリティを実現するための、強化分極重み付け
CN108880742B (zh) 2017-05-15 2020-08-25 华为技术有限公司 传输数据的方法、芯片、收发机和计算机可读存储介质
KR102452618B1 (ko) * 2017-06-08 2022-10-11 삼성전자주식회사 미리 정의된 정보를 사용하는 폴라 인코딩 및 디코딩
CN109150375A (zh) * 2017-06-16 2019-01-04 华为技术有限公司 一种编码方法、无线设备和芯片
CN108736899B (zh) * 2017-06-19 2019-07-12 华为技术有限公司 一种极化码编译码方法及装置
US11152959B2 (en) * 2017-07-12 2021-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Enhanced information sequences for polar codes
CN109286404B (zh) * 2017-07-21 2021-02-09 华为技术有限公司 一种Polar码编码方法及装置
CN109286403B (zh) * 2017-07-21 2022-05-10 华为技术有限公司 极化码编码的方法和装置
WO2019020182A1 (en) * 2017-07-26 2019-01-31 Huawei Technologies Co., Ltd. CONSTRUCTION OF A POLAR CODE BASED ON A DISTANCE CRITERION AND A RELIABILITY CRITERION, PARTICULARLY A POLAR CORE WITH MULTIPLE CORES
CN109309503B (zh) 2017-07-28 2022-05-10 华为技术有限公司 一种Polar码编码方法及装置
CN107592181B (zh) * 2017-08-02 2021-10-15 华为技术有限公司 一种Polar码编码方法及装置
CN109391343B (zh) 2017-08-02 2021-09-03 华为技术有限公司 一种Polar码编码方法及装置
US10659194B2 (en) 2017-08-02 2020-05-19 Huawei Technologies Co., Ltd. Polar code encoding method and apparatus in wireless communications
CN109327226B (zh) 2017-08-04 2023-10-20 华为技术有限公司 极化码的编译码方法、装置及设备
CN108111252B (zh) * 2017-08-04 2022-03-01 中兴通讯股份有限公司 序列生成、数据解码方法及装置
CN109391358B (zh) * 2017-08-11 2021-09-21 华为技术有限公司 极化码编码的方法和装置
US11632138B2 (en) * 2017-08-21 2023-04-18 Telefonaktiebolaget Lm Ericsson (Publ) UPO compliant information sequences for polar codes
WO2019037841A1 (en) 2017-08-23 2019-02-28 Huawei Technologies Co., Ltd. DEVICE AND METHOD FOR GENERATING MULTI-CORE POLAR CODE
US10425190B2 (en) * 2017-09-08 2019-09-24 Huawei Technologies Co., Ltd. Channel encoding method and apparatus in wireless communications
US10594439B2 (en) 2017-09-08 2020-03-17 Huawei Technologies Co., Ltd. Channel encoding method and apparatus in wireless communications to output a polar encoded bit sequence
CN108234081B (zh) * 2017-09-08 2019-02-12 华为技术有限公司 编码方法及装置
KR102031098B1 (ko) * 2017-11-16 2019-10-11 엘지전자 주식회사 Pbch 전송 방법 및 전송 장치, 및 pbch 수신 방법 및 수신 장치
WO2019102373A1 (en) * 2017-11-24 2019-05-31 Telefonaktiebolaget Lm Ericsson (Publ) Placement of known information bits for polar coding with mixed criteria
US10681388B2 (en) * 2018-01-30 2020-06-09 Google Llc Compression of occupancy or indicator grids
KR102482876B1 (ko) 2018-01-30 2022-12-29 삼성전자 주식회사 Mimo 채널에 대한 폴라 코드 생성 장치 및 방법
CN110166057B (zh) * 2018-02-13 2023-01-06 旺宏电子股份有限公司 极化码产生方法、电子装置及计算机可读取存储介质
CN110233698B (zh) * 2018-03-06 2021-11-19 北京紫光展锐通信技术有限公司 极化码的编码及译码方法、发送设备、接收设备、介质
CN108449163B (zh) * 2018-03-29 2021-01-26 海南大学 一种极化码性能分析方法
US20190356418A1 (en) * 2018-05-17 2019-11-21 Industrial Technology Research Institute Method of transmitting data encoded in polar code and electronic device using the same
US11031958B2 (en) * 2018-06-25 2021-06-08 Qualcomm Incorporated Hybrid polar code design for ultra-reliable low latency communications (URLLC)
CN112438023B (zh) * 2018-07-20 2024-03-29 上海诺基亚贝尔股份有限公司 极化编码和解码
CN109361495B (zh) 2018-12-07 2020-05-08 北京邮电大学 一种极化码构造方法、装置、电子设备及可读存储介质
CN113691300A (zh) 2018-12-25 2021-11-23 华为技术有限公司 一种数据传输方法及通信设备
CN111865487B (zh) 2019-04-29 2022-07-29 华为技术有限公司 一种编码方法及通信设备
CN110380737B (zh) * 2019-07-12 2020-10-02 北京邮电大学 一种极化码距离谱分析的方法及装置
CN110868226B (zh) * 2019-11-19 2021-09-03 武汉理工大学 基于混合极化核的极化码的编译码方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6145110A (en) 1998-06-22 2000-11-07 Ericsson Inc. Digital data decoder that derives codeword estimates from soft data
JP2004032679A (ja) * 2002-02-28 2004-01-29 Matsushita Electric Ind Co Ltd 通信装置及び通信システム
US7702986B2 (en) 2002-11-18 2010-04-20 Qualcomm Incorporated Rate-compatible LDPC codes
US8064767B2 (en) * 2003-09-22 2011-11-22 Celight, Inc. Optical orthogonal frequency division multiplexed communications with coherent detection
US7346832B2 (en) * 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
FI20055248A0 (fi) * 2005-05-25 2005-05-25 Nokia Corp Koodausmenetelmä, lähetin, tietoverkkoelementti ja tiedonvälitysterminaali
WO2008034285A1 (en) * 2006-09-18 2008-03-27 Fengwen Sun A family of ldpc codes for video broadcasting applications
US7934146B2 (en) 2006-10-18 2011-04-26 Nokia Corporation Method, apparatus and computer program product providing for data block encoding and decoding
US8386879B2 (en) 2007-08-23 2013-02-26 Nec Laboratories America, Inc. GLDPC encoding with Reed-Muller component codes for optical communications
WO2009084891A2 (en) * 2007-12-27 2009-07-09 Lg Electronics Inc. Generation of golay-based systematic block code supporting various sizes
KR101366284B1 (ko) * 2007-11-13 2014-02-20 엘지전자 주식회사 골레이 부호를 이용한 블록 부호 생성 방법, 데이터 부호화방법 및 데이터 부호화 장치
CN101453297B (zh) 2007-12-07 2010-12-01 中兴通讯股份有限公司 低密度生成矩阵码的编码方法和装置、及译码方法和装置
KR100970645B1 (ko) * 2007-12-24 2010-07-15 엘지전자 주식회사 블록 코드를 이용한 다양한 길이를 가진 정보의 채널 코딩방법
US8301979B2 (en) * 2008-10-07 2012-10-30 Sandisk Il Ltd. Low density parity code (LDPC) decoding for memory with multiple log likelihood ratio (LLR) decoders
TWI372523B (en) * 2008-11-14 2012-09-11 Realtek Semiconductor Corp Recording controller and decoder for parity-check code
CN101604976B (zh) * 2009-07-09 2013-03-27 上海交通大学 比特可靠性映射的校验矩阵预处理方法
KR20110060635A (ko) 2009-11-30 2011-06-08 전북대학교산학협력단 래딕스 4 기반의 폴라코드를 이용한 부호화방법
US8553982B2 (en) 2009-12-23 2013-10-08 Intel Corporation Model-based play field registration
US8595585B2 (en) * 2010-08-20 2013-11-26 Nec Laboratories America, Inc. Reverse concatenated encoding and decoding
US20120051452A1 (en) * 2010-09-01 2012-03-01 Nec Laboratories America, Inc. Modified coded hybrid subcarrier amplitude phase polarization modulation
US8768175B2 (en) * 2010-10-01 2014-07-01 Nec Laboratories America, Inc. Four-dimensional optical multiband-OFDM for beyond 1.4Tb/s serial optical transmission
US8699625B2 (en) * 2011-02-09 2014-04-15 Nec Laboratories America, Inc. Generalized OFDM (GOFDM) for ultra-high-speed serial optical transport networks
CN102164025B (zh) * 2011-04-15 2013-06-05 北京邮电大学 基于重复编码和信道极化的编码器及其编译码方法
KR20120054571A (ko) 2012-04-09 2012-05-30 전북대학교산학협력단 래딕스 4 기반의 폴라코드를 이용한 부호화방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220376708A1 (en) * 2017-01-09 2022-11-24 Zte Corporation Data processing method and device
US11799498B2 (en) 2017-01-09 2023-10-24 Zte Corporation Data processing method and device
US11909417B2 (en) * 2017-01-09 2024-02-20 Zte Corporation Data processing method and device

Also Published As

Publication number Publication date
RU2015115507A (ru) 2016-11-20
US10243592B2 (en) 2019-03-26
RU2017102403A3 (es) 2018-12-20
CN103684477A (zh) 2014-03-26
RU2677589C2 (ru) 2019-01-17
RU2017102403A (ru) 2018-12-20
CN106899311A (zh) 2017-06-27
EP3447925B1 (en) 2021-01-27
US20150194987A1 (en) 2015-07-09
WO2014044072A1 (zh) 2014-03-27
EP2899911B1 (en) 2018-02-21
EP3447925A1 (en) 2019-02-27
RU2610251C2 (ru) 2017-02-08
EP2899911A1 (en) 2015-07-29
BR112015006374B1 (pt) 2022-11-16
CN106899311B (zh) 2023-11-03
EP2899911A4 (en) 2016-06-22
BR112015006374A2 (pt) 2017-07-04
US10886950B2 (en) 2021-01-05
US20190190544A1 (en) 2019-06-20
CN103684477B (zh) 2017-02-01

Similar Documents

Publication Publication Date Title
ES2856961T3 (es) Método y aparato para generar código Polar híbrido
ES2894999T3 (es) Selección del tamaño del código madre para la codificación polar
JP6584036B2 (ja) 署名対応Polarエンコーダ及びデコーダ
ES2673513T3 (es) Procedimientos que emplean códigos de FEC con inactivación permanente de símbolos para procesos de codificación y decodificación
JP7471357B2 (ja) 符号化方法、復号方法、装置、および装置
TWI379523B (en) System and method for providing h-arq rate compatible codes for high throughput applications
JP2019533345A (ja) ポーラー符号を使用してデータを符号化するための方法及び装置
Ercan et al. On error-correction performance and implementation of polar code list decoders for 5G
KR20170136239A (ko) 순환 중복 검사와 극 부호를 이용하는 부호화를 위한 장치 및 방법
WO2018166423A1 (zh) 极化码编码的方法和装置
WO2017194013A1 (zh) 纠错编码方法及装置
JP2014505450A (ja) フレキシブルなソースブロックのマッピングを伴う伸縮性符号を使用した符号化および復号
EP3605848A1 (en) Method and device for polar code encoding
JPWO2014122772A1 (ja) 送信機および受信機、並びに符号化率可変方法
CN111446969A (zh) 一种级联crc码的极化码编码方法及装置
CN108199723A (zh) 一种基于双递归的分组马尔可夫叠加编码方法
Xia et al. An implementation of list successive cancellation decoder with large list size for polar codes
Oommen et al. FPGA implementation of an advanced encoding and decoding architecture of polar codes
Cheng et al. Encoder and list decoder of Reed-Solomon kernel based polar codes
Chen et al. Nonbinary polar coding with low decoding latency and complexity
ES2397540T3 (es) Acortamiento y perforación de códigos de comprobación de paridad de baja densidad (LDPC) para decodificación de canales
CN110022158B (zh) 一种译码方法及装置
CN108809485B (zh) 一种编码的方法和装置
CN109391353B (zh) 一种速率匹配的方法和装置
Heloir et al. Stochastic chase decoder for reed-solomon codes