WO2022057599A1 - 极化码的编码方法和译码方法、及编码装置和译码装置 - Google Patents

极化码的编码方法和译码方法、及编码装置和译码装置 Download PDF

Info

Publication number
WO2022057599A1
WO2022057599A1 PCT/CN2021/115206 CN2021115206W WO2022057599A1 WO 2022057599 A1 WO2022057599 A1 WO 2022057599A1 CN 2021115206 W CN2021115206 W CN 2021115206W WO 2022057599 A1 WO2022057599 A1 WO 2022057599A1
Authority
WO
WIPO (PCT)
Prior art keywords
decoding
trellis
kernel matrix
stage
code
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.)
Ceased
Application number
PCT/CN2021/115206
Other languages
English (en)
French (fr)
Inventor
特罗菲米克格里戈里
卡拉克奇耶娃卢德米拉
特里福诺夫彼得
顾佳琦
李斌
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
Priority to EP21868427.2A priority Critical patent/EP4199396A4/en
Priority to CN202180061609.8A priority patent/CN116158031A/zh
Publication of WO2022057599A1 publication Critical patent/WO2022057599A1/zh
Priority to US18/183,272 priority patent/US12113548B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • H04L1/0069Puncturing patterns
    • 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/0072Error control for data other than payload data, e.g. control data
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3916Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding for block codes using a trellis or lattice

Definitions

  • the present application relates to the field of channel coding, and more particularly, to a polar code encoding method and decoding method, and an encoding device and a decoding device.
  • Polar codes have been able to be strictly proven to achieve channel capacity channel coding schemes. They have the characteristics of high performance, low complexity, and flexible matching methods. They have been approved by the 3rd generation partnership project 3GPP) determines the control channel coding scheme in some communication scenarios to become the 5th generation (5G).
  • N nth kronecker index
  • researchers have proved that using some well-designed high-dimensional kernel matrix to encode polar codes can bring higher polarization speed, that is, better decoding performance.
  • a high-dimensional kernel matrix will bring higher decoding complexity, and how to reduce the decoding complexity is an urgent problem to be solved.
  • the present application provides a polar code encoding method and decoding method, as well as an encoding device and a decoding device, in order to reduce the decoding complexity.
  • an encoding method is provided.
  • the method may be executed by the encoding end device, or may also be executed by a chip or a chip system or circuit configured in the encoding end device, which is not limited in this application.
  • the method may include: acquiring information bits; determining a target kernel matrix, the target kernel matrix being obtained by adjusting the original kernel matrix; and performing polarization coding on the information bits based on the target kernel matrix.
  • acquiring the information bits includes generating the information bits internally, and may also include receiving the information bits from the outside.
  • the dimension of the target kernel matrix is smaller than the dimension of the original kernel matrix.
  • a kernel matrix of known dimensions on the basis of a kernel matrix of known dimensions, a plurality of kernel matrices of relatively small dimensions are constructed. Encoding based on a small-dimensional kernel matrix can provide lower decoding complexity while ensuring the same performance.
  • the target kernel matrix is obtained by adjusting the partial distance of the original kernel matrix.
  • the target kernel matrix is obtained by adjusting the partial distance profile (PDP) of the original kernel matrix.
  • the partial distance of the original kernel matrix when adjusting the partial distance of the original kernel matrix, it can be adjusted according to the partial distance close to the Arikan matrix.
  • the target kernel matrix is obtained by adjusting the partial distance of the original kernel matrix and based on a depth-first search algorithm.
  • one or more of the following constraints are used for processing:
  • the candidate row set M satisfies: or,
  • the Hamming weight of the selected row v is greater than or equal to D i ; or,
  • i is used to represent the line number, i ⁇ [0,l-1]; wt(v) and wt(c) both represent Hamming weight; Represents the currently constructed kernel matrix Represents the kernel matrix First row; D i and Both represent partial distance; Represents the kernel matrix corresponding code; Represents a logical operation.
  • the currently constructed kernel matrix can represent the nucleus is building; or kernel After being built, it can represent the core that has been built
  • constraints on candidate rows and/or selected rows can be designed so as to speed up the convergence speed and further save the amount of computation.
  • the original kernel matrix is a kernel matrix K 24 with a dimension of (24 ⁇ 24), and the K 24 is:
  • the target kernel matrix is any of the following:
  • a decoding method is provided.
  • the method may be executed by the decoding end device, or may also be executed by a chip or a chip system or circuit configured in the decoding end device, which is not limited in this application.
  • the method may include: acquiring a sequence to be decoded; decoding the sequence to be decoded based on multiple trellis, and multiplexing the multiple trellis when decoding is based on a second trellis in the multiple trellis.
  • Intermediate result of decoding the first trellis among the trellis wherein the first trellis is used for the t-th stage of decoding the sequence to be decoded, and the second trellis is used for the decoding of the to-be-decoded sequence.
  • t is an integer greater than or equal to 0
  • i is an integer greater than or equal to 1.
  • acquiring the sequence to be decoded may mean receiving the sequence to be decoded from the outside.
  • the first trellis corresponds to the t-th stage of decoding, that is, in the t-th stage of decoding, decoding processing is performed based on the first trellis; or, in other words, a certain information bit of the sequence to be decoded is decoded.
  • the decoding process is performed based on the first trellis.
  • the second trellis corresponds to the t+i th stage of decoding, that is, in the t+i th stage of decoding, the decoding process is performed based on the second trellis; or in other words, another information of the sequence to be decoded is performed.
  • the decoding process is performed based on the second trellis.
  • the intermediate result of the first trellis decoding represents the result obtained based on the first trellis processing, or in other words, the result obtained by decoding in the t-th stage of decoding.
  • the intermediate result may include, for example, a decoding path based on the first trellis decoding and a corresponding path metric value.
  • multiple combinations are obtained after splicing all possible paths in a grid graph of a smaller level, and the optimal path and path value of a grid graph of a larger level are obtained by selecting the one with the largest path score among these possible combinations.
  • the decoding sequence to be decoded is decoded using the trellis Trellis decoding algorithm
  • the intermediate results obtained in different decoding stages can be reused. That is to say, when calculating on different grids, some calculation steps may be the same, so they can be multiplexed, which greatly reduces the decoding complexity and improves the decoding speed.
  • each of the plurality of grids is divided into a plurality of sub-grids.
  • the trellis image can be divided first, and the decoding process on the complete Trellis can be divided into pairs of sub-grids (sub-grids). trellis), which can reduce the decoding complexity.
  • the positions of the division points of the plurality of sub-grids are related to decoding complexity.
  • the position of the division point at which the trellis is divided is related to the decoding complexity.
  • an appropriate position of the dividing point can be selected according to the actual situation.
  • the location of the split points may affect the decoding complexity, therefore, certain split points may be selected in order to reduce the decoding complexity.
  • the method further includes: according to the degree of association between the first trellis and the second trellis, determining decoding based on the second trellis whether to multiplex the intermediate result of the first trellis decoding.
  • the degree of association between the first grid and the second grid may indicate whether the first grid and the second grid are the same or similar; or, may reflect multiple sub-grids corresponding to the first grid and the second grid. Whether the multiple sub-grids corresponding to the grid are the same or similar; or, it can also indicate whether there are the same calculation steps when processing based on the first grid and the second grid.
  • the decoding method further includes: according to the following information, judging whether to multiplex the first trellis decoding based on the second trellis decoding
  • the second aspect if Then when decoding based on the second trellis, multiplex the intermediate result of the first trellis decoding; or; if Then, when decoding based on the second trellis, multiplex the intermediate result of the first trellis decoding; wherein, Represents the code obtained by shortening the linear code C at the position except x ⁇ z ⁇ y in the t+ith stage of decoding, represents the code obtained by shortening the linear code C at the position except x ⁇ z ⁇ y in the t-th stage of decoding, It represents the code obtained by puncturing the linear code C at the position except x ⁇ z ⁇ y in the t+ith stage of decoding, Represents the code obtained by puncturing the linear code C at the position except x ⁇ z ⁇ y in the t-th stage of decoding.
  • multiplexing the intermediate result of the first trellis decoding includes: in the decoding When the t+ith stage is processed based on the second trellis, the intermediate result based on the first trellis decoding is directly used as the intermediate result of the second trellis decoding; or, in the decoding When the t+ith stage of the code is processed based on the second trellis, it is processed based on the result of the maximization operation in the first trellis processing
  • the coding is polar coding.
  • the sequence to be decoded is the sequence to be decoded obtained after polarization coding.
  • the present application provides an encoding device, the encoding device having the function of implementing the method in the above-mentioned first aspect and any possible implementation manners thereof.
  • the functions can be implemented by hardware, or can be implemented by hardware executing corresponding software.
  • the hardware or software includes one or more units corresponding to the above functions.
  • the encoding device when part or all of the functions are implemented by hardware, includes: an input interface circuit for acquiring information bits; a logic circuit for executing the encoding method in the first aspect above , performing polar coding on the information bits; and outputting an interface circuit for outputting the coded sequence.
  • the encoding device may be a chip or an integrated circuit.
  • the encoding device when part or all of the functions are implemented by software, includes: a memory for storing a computer program; a processor for executing the computer program stored in the memory, when the When the computer program is executed, the encoding apparatus can implement the encoding method described in the first aspect.
  • the memory may be a physically separate unit, or may be integrated with the processor.
  • the encoding device when part or all of the functions are implemented in software, the encoding device includes only a processor.
  • the memory for storing the program is located outside the encoding device, and the processor is connected to the memory through a circuit/wire for reading and running the program stored in the memory to execute the encoding method described in the first aspect.
  • the encoding device may be a chip or an integrated circuit.
  • the present application provides a decoding apparatus, the decoding apparatus having the function of implementing the method in the second aspect and any possible implementation manners thereof.
  • the functions can be implemented by hardware, or can be implemented by hardware executing corresponding software.
  • the hardware or software includes one or more units corresponding to the above functions.
  • the decoding device when part or all of the functions are implemented by hardware, includes: an input interface circuit for acquiring the sequence to be decoded; a logic circuit for executing the second aspect above The decoding method is used to decode the to-be-decoded sequence to obtain a decoding result; and an output interface circuit is used to output the decoding result.
  • the decoding device may be a chip or an integrated circuit.
  • the decoding device when part or all of the functions are implemented by software, the decoding device includes: a memory for storing a computer program; a processor for executing the computer program stored in the memory, when all When the computer program is executed, the decoding apparatus can implement the decoding method described in the second aspect.
  • the memory may be a physically separate unit, or may be integrated with the processor.
  • the decoding device when part or all of the described functions are implemented by software, the decoding device includes only a processor.
  • the memory for storing the program is located outside the decoding device, and the processor is connected to the memory through a circuit/wire for reading and running the program stored in the memory to execute the decoding method described in the second aspect.
  • the decoding device may be a chip or an integrated circuit.
  • the present application provides a network device including a transceiver, a processor and a memory.
  • the processor is used to control the transceiver to send and receive signals
  • the memory is used to store a computer program
  • the processor is used to call and run the computer program stored in the memory, so that the network device executes the method in any possible implementation manner of the first aspect.
  • the network device executes the encoding method of the first aspect above to encode the transmitted information bits.
  • the present application provides a network device including a transceiver, a processor and a memory.
  • the processor is used to control the transceiver to send and receive signals
  • the memory is used to store a computer program
  • the processor is used to call and run the computer program stored in the memory, so that the network device executes the method in any possible implementation manner of the second aspect.
  • the network device executes the decoding method of the second aspect above, and decodes the sequence to be decoded received from the transmitting end.
  • the present application provides a terminal device including a transceiver, a processor and a memory.
  • the processor is used to control the transceiver to send and receive signals
  • the memory is used to store a computer program
  • the processor is used to call and run the computer program stored in the memory, so that the terminal device executes the method in any possible implementation manner of the first aspect.
  • the terminal device when the terminal device acts as a transmitting end of information and/or data, the terminal device performs the encoding method of the first aspect above to encode the transmitted information bits.
  • the present application provides a terminal device including a transceiver, a processor and a memory.
  • the processor is used to control the transceiver to send and receive signals
  • the memory is used to store a computer program
  • the processor is used to call and run the computer program stored in the memory, so that the terminal device executes the method in any possible implementation manner of the second aspect.
  • the terminal device executes the decoding method of the second aspect above to decode the sequence to be decoded received from the transmitting end.
  • the present application provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, when the computer-readable storage medium runs on a computer, the computer executes any possible implementation manner of the first aspect or the second aspect method in .
  • the present application provides a computer program product, the computer program product includes computer program code, when the computer program code is run on a computer, the computer is made to execute any one of the possible implementations of the first aspect or the second aspect. method in method.
  • the present application provides a chip, comprising a logic circuit and a communication interface, the communication interface is used for receiving data and/or information to be processed, and transmitting the data and/or information to be processed to a
  • the logic circuit is used to perform the processing of the encoding, and the communication interface is also used to output the processed data and/or information.
  • the chip may be a chip configured in the transmitting end, and the data and/or information to be processed may be information bits.
  • the chip obtains the information bits through the communication interface and transmits them to the logic circuit; the logic circuit uses the encoding method described in the first aspect to encode the information bits; and the chip outputs the code through the communication interface After the polar codeword.
  • the communication interface may include an input interface and an output interface.
  • the input interface is used for acquiring information bits
  • the output interface is used for outputting the encoded polar codeword.
  • the chip may be a chip configured in the sending end, and the logic circuit is configured to generate information bits, and use the encoding method described in the first aspect to encode the information bits; and, the chip passes The communication interface outputs the encoded polar codeword.
  • the communication interface may include an input-output interface.
  • the input and output interface is used to output the encoded polar codeword.
  • the present application provides a chip, comprising a logic circuit and a communication interface, the communication interface is used for receiving data and/or information to be processed, and transmitting the data and/or information to be processed to a
  • the logic circuit is used for performing decoding processing, and the communication interface is also used for outputting processed data and/or information.
  • the chip may be a chip configured in the receiving end, and the data and/or information to be processed may be a sequence to be decoded.
  • the chip receives the sequence to be decoded through the communication interface, and transmits it to the logic circuit; the logic circuit uses the decoding method described in the second aspect to decode the sequence to be decoded;
  • the communication interface outputs the decoding result.
  • the communication interface may include an input interface and an output interface.
  • the input interface is used for receiving the to-be-decoded sequence
  • the output interface is used for outputting the decoding result.
  • the chip may be a chip configured in the receiving end, and the logic circuit is used to obtain the sequence to be decoded, and use the decoding method described in the second aspect to decode the sequence to be decoded; And, the chip outputs the decoding result through the communication interface.
  • the communication interface may include an input-output interface.
  • the input and output interface is used to output the decoding result.
  • the present application provides a communication system, including an encoding end device and a decoding end device.
  • FIG. 1 shows a schematic diagram of a wireless communication system applicable to this embodiment of the present application.
  • FIG. 2 shows a basic flow chart of communication using wireless technology.
  • FIG. 3 shows a schematic diagram of polar code encoding.
  • Figure 4 shows a possible schematic representation of the Trellis representation.
  • Figure 5 shows one possible schematic of the extended Trellis for the Arikan kernel matrix.
  • Figure 6 shows the comparison of the performance and complexity of decoding when the polar subcode of (4096, 2048) uses different polarized kernels on the encoding side.
  • Figure 7 shows the kernel K 16 matrix.
  • Figure 8 shows the kernel K'16 matrix.
  • Figure 9 shows the comparison of the performance and complexity of decoding when the polar subcode of (1024, 512) uses different polarized kernels on the encoding side.
  • Figure 10 shows the kernel K 32 matrix.
  • Figure 11 shows the kernel K'32 matrix.
  • Figure 12 shows a possible schematic diagram of trellis graph decoding based on the Viterbi algorithm.
  • FIG. 13 is a schematic block diagram of a decoding method provided according to an embodiment of the present application.
  • FIG. 14 is a schematic block diagram of an encoding method provided according to an embodiment of the present application.
  • Figures 15 to 18 show schematic diagrams of building a kernel with a dimension of 20 ⁇ 20 on the basis of the kernel K 24 .
  • FIG. 19 shows a schematic diagram of a constructed kernel matrix with a dimension of 20 ⁇ 20.
  • Figures 20-22 show schematic diagrams of a kernel matrix of dimension 20.
  • Figures 23 and 24 show schematic diagrams of a kernel matrix of dimension 21.
  • Figures 25 to 27 show schematic diagrams of a kernel matrix of dimension 24.
  • Figures 28 and 29 show schematic diagrams of a kernel matrix of dimension 25.
  • Figure 30 shows a schematic diagram of a kernel matrix of dimension 28.
  • Figure 31 shows a schematic diagram of a general trellis diagram and a split trellis diagram for (8,4) codes.
  • FIG. 32 to FIG. 34 are schematic diagrams showing the process of decoding the (8, 4) Hamming code using the trellis graph partitioning method.
  • FIGS 35-37 show schematic diagrams of the Arikan matrix kernel processing procedure for 2 iterations.
  • Figure 38 shows a schematic diagram of the kernel matrix K1.
  • Figure 39 shows a recursive trellis diagram suitable for use in embodiments of the present application.
  • Figures 40 and 41 show schematic diagrams comparing the performance and complexity of (1024, 512) polar subcodes based on the kernel K 32 , the kernel K' 32 and the Arikan kernel.
  • Figure 42 and Figure 43 show schematic diagrams comparing performance and complexity with 5G LDPC codes.
  • FIG. 44 is a schematic block diagram of an apparatus provided by this application.
  • FIG. 45 is a schematic structural diagram of the device provided by the present application.
  • FIG. 46 is another schematic structural diagram of the device provided by the present application.
  • the wireless communication systems may include, but are not limited to: a wireless local access network (WLAN) system, a narrow band-internet of things, NB-IoT) system, 5th generation (5G) system or new radio (NR), long term evolution (LTE) system or communication system after 5G, etc.
  • WLAN wireless local access network
  • NB-IoT narrow band-internet of things
  • 5G 5th generation
  • NR new radio
  • LTE long term evolution
  • the technical solutions of the embodiments of the present application can also be applied to device (device to device, D2D) communication, machine to machine (machine to machine, M2M) communication, machine type communication (machine type communication, MTC), satellite communication and vehicle Communication in networked systems.
  • D2D device to device
  • M2M machine to machine
  • MTC machine type communication
  • satellite communication satellite communication and vehicle Communication in networked systems.
  • V2X the communication methods in the Internet of Vehicles system are collectively referred to as V2X (X stands for anything).
  • V2X communication includes: vehicle-to-vehicle (V2V) communication, vehicle-to-infrastructure (V2I) communication ) communication, vehicle-to-pedestrian (V2P) or vehicle-to-network (V2N) communication, etc.
  • V2V vehicle-to-vehicle
  • V2I vehicle-to-infrastructure
  • V2P vehicle-to-pedestrian
  • V2N vehicle-to-network
  • the technical solutions of the embodiments of the present application can be applied to application scenarios of 5G mobile communication systems, such as enhanced mobile broadband (eMBB), high reliability and low latency communication (ultra reliable low latency communication, URLLC), enhanced mobile broadband (eMBB), Massive machine type communication (eMTC), etc.
  • eMBB enhanced mobile broadband
  • URLLC ultra reliable low latency communication
  • eMBB enhanced mobile broadband
  • eMTC Massive machine type communication
  • the network device mentioned in this application can be any device with a wireless transceiver function.
  • the equipment includes but is not limited to: evolved Node B (evolved Node B, eNB), Radio Network Controller (Radio Network Controller, RNC), Node B (Node B, NB), Base Station Controller (Base Station Controller, BSC) , Base Transceiver Station (BTS), home base station (for example, Home evolved NodeB, or Home Node B, HNB), baseband unit (BaseBand Unit, BBU), wireless fidelity (Wireless Fidelity, WIFI) system Access point (AP), wireless relay node, wireless backhaul node, transmission point (TP) or transmission and reception point (TRP), etc., and can also be 5G, such as NR , a gNB in the system, or, a transmission point (TRP or TP), one or a group of (including multiple antenna panels) antenna panels of a base station in a 5G system, or, it can also be a network node that
  • a gNB may include a centralized unit (CU) and a DU.
  • the gNB may also include an active antenna unit (active antenna unit, AAU for short).
  • the CU implements some functions of the gNB, and the DU implements some functions of the gNB.
  • the CU is responsible for processing non-real-time protocols and services, and implementing functions of radio resource control (RRC) and packet data convergence protocol (PDCP) layers.
  • RRC radio resource control
  • PDCP packet data convergence protocol
  • the DU is responsible for processing physical layer protocols and real-time services, and implementing the functions of the radio link control (RLC) layer, the media access control (MAC) layer and the physical (PHY) layer.
  • RLC radio link control
  • MAC media access control
  • PHY physical layer
  • the higher-layer signaling such as the RRC layer signaling
  • the network device may be a device including one or more of a CU node, a DU node, and an AAU node.
  • the CU can be divided into network devices in an access network (radio access network, RAN), and the CU can also be divided into network devices in a core network (core network, CN), which is not limited in this application.
  • the terminal equipment mentioned in this application may also be referred to as user equipment (UE), access terminal, subscriber unit, subscriber station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, A wireless communication device, user agent or user equipment.
  • the terminal device in the embodiment of the present application may be a mobile phone (mobile phone), a tablet computer (Pad), a computer with a wireless transceiver function, a virtual reality (virtual reality, VR) terminal device, an augmented reality (augmented reality, AR) terminal equipment, wireless terminals in industrial control, wireless terminals in self driving, wireless terminals in remote medical, wireless terminals in smart grid, transportation security ( Wireless terminals in transportation safety), wireless terminals in smart cities, wearable wireless terminals, wireless terminals in smart homes, and so on.
  • the embodiments of the present application do not limit application scenarios.
  • FIG. 1 and FIG. 2 To facilitate understanding of the embodiments of the present application, a communication system applicable to the embodiments of the present application is first described in detail with reference to FIG. 1 and FIG. 2 .
  • FIG. 1 is a schematic diagram of a wireless communication system applicable to an embodiment of the present application.
  • the wireless communication system may include at least one network device 110 and at least one terminal device (eg, 111 , 112 and 113 shown in FIG. 1 ).
  • the network device 110 and the terminal device perform wireless communication.
  • the network device 110 sends a signal to the terminal device
  • the network device 110 is the encoding end
  • the terminal device is the decoding end.
  • the terminal device sends a signal to the network device 110
  • the terminal device is the encoding end
  • the network device is the decoding end.
  • the original information is encoded by the encoder, transmitted through the channel, received by the decoder, and decoded by the decoder to restore the original information.
  • the encoding end may also be called a sending end (or a sending device), and the decoding end may also be called a receiving end (or a receiving device) of information or data.
  • the sending device may be a network device, and the receiving device may be a terminal device.
  • the sending device may be a terminal device, and the receiving device may be a network device.
  • the sending device may be a terminal device, and the receiving device may be a terminal device.
  • the sending device may be a network device, and the receiving device may be a network device.
  • FIG. 1 is only an exemplary illustration, and the present application is not limited thereto.
  • the embodiments of the present application can also be applied to any communication scenario of uplink/downlink control channel coding and decoding in the 5G eMBB scenario.
  • Figure 2 is a basic flow chart of communication using wireless technology.
  • the source of the transmitting end is sent on the channel after source coding, channel coding, rate matching and modulation in sequence. After receiving the signal, the receiver obtains the sink after demodulation, rate matching, channel decoding and source decoding in sequence.
  • the technical solutions provided in the embodiments of the present application can be used in the channel coding and channel decoding modules shown in the dotted box in Fig. 2 .
  • Channel encoding and decoding is one of the core technologies in the field of wireless communication, and the improvement of its performance will directly improve network coverage and user transmission rate.
  • polar codes have been able to be strictly proved to be a channel coding scheme that can reach the channel capacity. It has the characteristics of high performance, low complexity, and flexible matching methods. It has been identified by 3GPP as a 5G control channel eMBB scenario (uplink). /downlink) control channel coding scheme.
  • FIG. 3 shows a schematic diagram of polar code encoding.
  • the symbol Represents binary addition, its input is the left side and the lower side, and the output is the right side.
  • Each solid line in Figure 3 represents 1 bit.
  • the 8-bit encoded bits are modulated and sent through the noise channel.
  • bits to be encoded are ordered differently according to their respective reliability. Generally, bits with higher reliability are set as information bits (data), bits with lower reliability are set as fixed bits (frozen), and the value of fixed bits (frozen) is usually set to 0. In actual transmission, the sender and the The receiver is known. As shown in Figure 3, u 7 , u 6 , u 5 , and u 3 are the four bits with the highest reliability, which are set as information bits (data), and u 4 , u 2 , u 1 , and u 0 are the reliability bits. The last four bits are set as fixed bits (frozen).
  • Trellis decoding is a traditional decoding method of convolutional codes. For linear block codes, it can also be decoded by Trellis. Trellis decoding is a maximum likelihood (maximum likelihood, ML)/MAP decoding method, which can bring good decoding performance, but correspondingly, its decoding complexity is very high. Given a linear block code whose check matrix is H, all codewords need to conform to:
  • H (i) represents the i-th column of the check matrix H.
  • the node in the grid graph at time j is marked as:
  • FIG. 4 shows a possible schematic representation of the Trellis representation.
  • the basic constituent units represented by Trellis are Trellis nodes (nodes 1, 2, . . . , 20 in Fig. 4).
  • Trellis nodes nodes 1, 2, . . . , 20 in Fig. 4
  • check matrix Its Trellis representation is shown in Figure 4.
  • Polar code is a constructive channel coding method that can reach the capacity of binary input discrete memoryless channel.
  • B-DM channel (B-DMC) W The capacity of the B-DM channel (B-DMC) W can be defined as:
  • the B-DM channel Pap parameter can be defined as:
  • is called the polarization index
  • the polarization index is represented by E(K).
  • the polarization index is 1/2.
  • the polarization index can measure the convergence speed of the decoding performance, and a larger polarization index represents a faster convergence speed, so that better decoding performance can be obtained in the case of a shorter code length.
  • scaling exponent Another key feature of polarized nuclei is scaling exponent, which can be understood to characterize the performance of the nuclear matrix. It should be understood that the embodiment of the present application is concerned with the function of scaling exponen, and the Chinese expression corresponding to scaling exponent may be a scaling index or other expressions, which is not limited.
  • the scaling exponent is a parameter related to the channel.
  • d H (a, b) represents the Hamming distance between the vectors a and b
  • the vector D can be defined as the partial distance profile (PDP).
  • PDP partial distance profile
  • nk, and the remaining bits are information bits.
  • the above probability corresponds to the number of decoding the most probable path.
  • the log-likelihood ratio (LLR) can be approximately expressed as:
  • the complexity of the core processing during decoding is also considered. Sometimes a kernel with better performance may bring higher decoding complexity, so the kernel matrix construction or selection needs to be considered comprehensively.
  • Fig. 6 shows the performance and complexity of the polar subcode (polar subcode) of (4096, 2048) when different polar kernels K 16 and K' 16 are used on the encoding side and SCL decoding is used on the decoding side
  • nuclei K 16 and K' 16 are shown in Figures 7 and 8.
  • ⁇ (K) represents the processing complexity of kernel K. It should be noted that, here the core processing algorithm based on recursion is mainly used as an example for illustrative description.
  • K 16 can bring better performance than K' 16 , but its decoding complexity is higher, so at this time, for the selection of the kernel matrix, it is necessary to consider the compromise between performance and complexity.
  • FIG. 9 shows the performance and complexity comparison when the polar subcode of (1024, 512) adopts K' 32 and polar kernel K 32 on the encoding side, and when SCL decoding is used on the decoding side, and the kernel K 32 and K' 32 are shown in Figures 10 and 11.
  • the linear block code can be decoded by a method based on Trellis, and the polar code is also a linear block code, and this method can also be used for decoding.
  • the specific decoding steps may be as follows, for example.
  • LLR can be based on Calculated.
  • the above method is a kind of ML/MAP algorithm.
  • the code length is long, the decoding complexity is very high, which is difficult to be accepted.
  • the embodiments of the present application propose that improvements can be made from the encoding end and/or the decoding end, so that the decoding complexity can be reduced. For example, by comprehensively considering the actual situation, a required kernel matrix is selected from the constructed multiple kernel matrices, so that performance and decoding complexity can be taken into account.
  • the trellis code is used for decoding, the trellis graph is divided, and the final trellis optimization path is obtained by processing the results of each division, which can reduce the decoding complexity.
  • FIG. 13 is a schematic block diagram of an encoding method 1300 provided according to an embodiment of the present application.
  • the encoding end device obtains the information bits to be encoded.
  • the information bits may be generated internally; or, may also be received from outside, which is not limited.
  • the adjustment of the original kernel matrix may include at least the following two schemes.
  • Scheme 1 one or more kernel matrices obtained by adjusting the PD of the original kernel matrix.
  • One or more kernel matrices are obtained based on scheme 1, and an appropriate target kernel matrix can be selected from the one or more kernel matrices.
  • Scheme 2 by adjusting the dimension of the original kernel matrix, constructs multiple kernel matrices with different dimensions from the original kernel matrix.
  • One or more kernel matrices are obtained based on scheme 2, and an appropriate target kernel matrix can be selected from the one or more kernel matrices.
  • adjusting the dimension of the original kernel matrix means that the dimension of the kernel matrix is changed by modulating the original kernel matrix. For example, the rows and/or columns of the original kernel matrix are processed accordingly, so that the rows of the constructed kernel matrix are smaller than the rows of the original kernel matrix, and the columns of the constructed kernel matrix are smaller than the columns of the original kernel matrix.
  • multiple core matrices may be constructed first, and based on the constructed core matrices, an appropriate core matrix may be selected for coding according to actual communication conditions.
  • the kernel matrix is constructed or selected, performance and decoding complexity are comprehensively considered, and the decoding complexity can be reduced by selecting an appropriate kernel matrix used in encoding.
  • one or more kernel matrices are constructed by adjusting the original kernel matrix, and a suitable target kernel matrix is selected from the one or more kernel matrices. Then the Kronecker product of the data vector and the corresponding constructed target kernel matrix is used to implement the encoding. Then it is transmitted through the channel after rate matching, modulation and other modules.
  • FIG. 14 is a schematic block diagram of a decoding method 1400 provided according to an embodiment of the present application.
  • the first trellis corresponds to the t-th decoding stage
  • the second trellis corresponds to the t+i-th decoding stage. That is to say, in the t-th decoding stage, the decoding process is performed based on the first trellis, and in the t+i-th decoding stage, the decoding process is performed based on the second sub-grid. For example, in the t-th decoding stage, decoding is performed based on the first trellis, and in the t+1-th decoding stage, decoding is performed based on the second trellis.
  • the results obtained by processing in each decoding stage can be recorded as intermediate results.
  • the obtained result may be recorded as an intermediate result of the first trellis decoding.
  • the intermediate result may include the decoding path and the corresponding path metric value obtained by decoding in the t-th decoding stage.
  • a composite branch table (CBT) is used to represent. That is to say, the content stored by the CBT may include the corresponding path and path value during decoding. At each stage of decoding, there can be one CBT.
  • the decoding sequence to be decoded is decoded by using the trellis Trellis decoding algorithm
  • the intermediate results obtained in different decoding stages can be reused. That is to say, when calculating on different grids, some calculation steps may be the same, so they can be multiplexed, which greatly reduces the decoding complexity and improves the decoding speed.
  • the embodiments of the present application mainly take the first grid and the second grid as examples for illustrative description, and for each grid in the multiple sub-grids, or in other words, at each stage of decoding, it is possible to determine Whether this decoding stage can reuse intermediate results decoded by other decoding stages.
  • each of the plurality of grids is divided into a plurality of sub-grids.
  • the trellis diagram may be divided first, and the decoding process on the complete Trellis may be divided into pairs of sub-grids (sub trellis) decoding process, which can reduce the decoding complexity.
  • the decoding method provided by the embodiment of the present application may also be referred to as recursive trellis decoding or recursive trellis division decoding.
  • multiple kernel matrices may be constructed through solution 1 and/or solution 2.
  • an appropriate kernel matrix can be selected for encoding according to the actual situation.
  • Scheme 2 by adjusting the dimension of the original kernel matrix, constructs multiple kernel matrices with different dimensions from the original kernel matrix.
  • Scheme 1 by adjusting the PD of the original kernel matrix, constructs multiple kernel matrices.
  • a plurality of kernel matrices are constructed by adjusting the PDP.
  • a given PDP is adjusted, and a depth-first search is performed according to the adjusted PDP.
  • depth-first algorithm is mainly used as an example for illustrative description.
  • constraints can be designed to reduce the search space and the number of searches. Constraints, for example, can be considered from one or more of the following aspects.
  • the candidate row set M needs to satisfy:
  • constraints listed above with respect to the candidate row set M and the selected row are only exemplary descriptions, and are not limited thereto.
  • other constraints on the candidate row set M or selected rows such as variants of the above constraints, are also applicable to the embodiments of the present application.
  • a possible algorithm flow may include the following steps.
  • Step 1 adjust the PDP to obtain one or more new PDPs.
  • this step 1 for a given PDP, it can be manually adjusted.
  • this PDP can be made as close as possible to the PDP of the Arikan matrix, for example:
  • E(K) is used to represent the polarization index, and the polarization index can measure the convergence speed of the decoding performance.
  • a larger polarization index represents a faster convergence speed, so that the In the case of shorter code length, better decoding performance can also be obtained.
  • the scaling exponent is represented by ⁇ (K), and the scaling exponent can be used to characterize the performance of the kernel matrix.
  • the complexity is represented by ⁇ (K), that is, the processing complexity of the kernel K. This will not be described below.
  • Step 2 for each new PDP, perform a depth-first search kernel construction method.
  • one or more new PDPs can be obtained.
  • the following depth-first search kernel matrix construction method can be performed.
  • this row needs to satisfy its row weight equal to the last value of D, namely:
  • the algorithm or the kernel construction can be stopped when any of the following conditions are met: when a suitable kernel matrix is found; or, after searching all the rows of the candidate set, the row that satisfies the condition still cannot be found Let the algorithm continue.
  • kernel matrices can be obtained, and then some parameters of these kernel matrices can be compared, such as polarization index (such as E(K)), scaling exponent (such as ⁇ (K)), and by comparing Based on the decoding complexity (such as ⁇ (K)) of the codewords encoded by these kernel matrices, the best and most suitable kernel matrix is selected according to actual requirements.
  • the algorithm of this method is simple, and the calculation is also simple and easy to implement.
  • constraints may also be added, such as the constraints in relation to aspect 1 and aspect 2 above, in order to reduce the number of attempts and duration.
  • the candidate row set M can also be set as:
  • Condition 3 when selecting a row v from the candidate row set M, and calculating the partial distance between it and the constructed row, if Then there is no need to continue the operation at this time, and the current v is directly discarded, and a new row is selected from the candidate row set M.
  • the PDP when adjusting the PDP, may be adjusted in a direction that makes the PDP close to the PDP of the Arikan matrix. It should be understood that adjusting the PDP in a direction close to the PDP of the Arikan matrix is only a possible adjustment manner, which is not limited thereto.
  • the PDP for the best constructed kernel matrix is not necessarily the one that satisfies the closest arikan kernel matrix.
  • the kernel matrix of the PDP whose PDP is closest to the arikan kernel matrix is not necessarily selected.
  • Scheme 1 is described in detail above, and multiple kernel matrices can be constructed through scheme 1.
  • Option 2 is described below.
  • Scheme 2 by adjusting the dimension of the original kernel matrix, constructs multiple kernel matrices with different dimensions from the original kernel matrix.
  • a plurality of relatively small-dimensional kernel matrices are constructed on the basis of an existing relatively large-dimensional kernel matrix. Encoding based on a small-dimensional kernel matrix can provide lower decoding complexity while ensuring the same performance.
  • a shortening method can be used to construct a plurality of relatively small-dimensional kernel matrices on the basis of an existing relatively large-dimensional kernel matrix. It should be understood that other algorithms that can construct a kernel matrix of small dimensions on the basis of a kernel matrix of existing dimensions, or algorithms that can implement the same function, are all applicable to the embodiments of the present application.
  • the shortening algorithm is mainly used as an example for illustrative description.
  • Step 1 consider an l ⁇ l kernel, that is, determine the original kernel matrix.
  • Step 2 select the column j ⁇ [l].
  • Step 3 add row i to all rows with 1 in column j, where i is the row corresponding to the last 1 in this column.
  • Step 4 Delete the i-th row and the j-th column to obtain a (l-1) ⁇ (l-1) kernel K'. It can be known that ⁇ (K') ⁇ (K), that is, the decoding complexity corresponding to the kernel of small dimension is lower.
  • the decoding complexity of the kernel matrix constructed by the above method will be lower, and by repeating the above method t times, a kernel of (l-t) ⁇ (l-t) can be obtained.
  • the core K 24 is taken as an example below, and a specific example is given in conjunction with FIG. 15 to FIG. 19 .
  • the original kernel matrix is the kernel K 24 shown in FIG. 15 .
  • the specific process can be as follows. In the embodiment of the present application, it is assumed that the row sequence number and the column sequence both start from 0.
  • the kernel matrix K 20 as shown in FIG. 19 can be obtained.
  • the kernel matrix constructed on the basis of the kernel K 24 may include one or more of the following: the kernel K 23 shown in FIG. 16 , the kernel K 22 shown in FIG. 17 , and the kernel K 22 shown in FIG. 18 .
  • an appropriate kernel matrix may be selected from the above-mentioned multiple kernel matrices according to the actual situation and comprehensive consideration, such as comprehensive consideration of performance and complexity.
  • the kernel matrix obtained by the above method will have lower decoding complexity under the condition of using the same decoding algorithm, such as ⁇ (K 20 ) ⁇ (K 24 ). Based on this, the selection of the kernel matrix can be comprehensively considered according to the actual situation, such as comprehensive consideration of performance and complexity, to select an appropriate kernel matrix.
  • kernel matrix forms constructed by the embodiments of the present application are listed below.
  • a kernel matrix with dimension 20 can be shown in Figures 20 to 22.
  • a kernel matrix of dimension 21 can be shown in Figure 23 and Figure 24.
  • a kernel matrix of dimension 24 can be shown in FIGS. 25 to 27 .
  • a kernel matrix of dimension 25 can be shown in Figure 28 and Figure 29.
  • FIG. 30 Another example, a kernel matrix with dimension 28, can be shown in FIG. 30 .
  • a kernel matrix with dimension 32 can be shown in FIG. 10 .
  • kernel matrices enumerated in FIG. 20 to FIG. 30 are only exemplary descriptions, and are not limited thereto.
  • multiple kernel matrices may be constructed first, for example, multiple kernel matrices are constructed by the above solution 1 and/or solution 2. Based on the constructed kernel matrix, according to the actual communication situation, an appropriate kernel matrix is selected for encoding. In this way, when the kernel matrix is constructed or selected, performance and decoding complexity are comprehensively considered, and the decoding complexity can be reduced by selecting an appropriate kernel matrix used in encoding.
  • the trellis image can be divided first, and the decoding process on the complete Trellis can be divided into the decoding process on the sub trellis. .
  • the optimal path can then be finally selected by combining the intermediate results of decoding each small trellis graph.
  • a possible algorithm flow may include the following aspects.
  • multi-level segmentation is performed for the trellis diagram of each stage t during polar code decoding.
  • the path from time h to time h' corresponds to the coset ph,h' (C)/s h,h' (C).
  • the left figure shows the general trellis diagram of the (8,4) code
  • the right figure shows the partition trellis diagram of the (8,4) code.
  • CBT composite branch table
  • ML decoding is performed on the (n,k) code, that is, p 0,n (C)/s 0,n (C) contains only one element, so the CBT (0,n) is stored using ML The corresponding path and path value during decoding.
  • the CBT is only named for convenience of description, and the nomenclature does not limit the protection scope of the embodiments of the present application.
  • the embodiment of the present application does not limit the CBT to include only two elements.
  • the CBT may also include other elements, which is not limited.
  • correlation discrepancy is used here to represent the score corresponding to the element (that is, the path l(D)), and other schemes that can be used to represent the score (or path value) corresponding to the element are also applicable to the embodiments of the present application.
  • D y ⁇ p x,y (C)/s x,y (C) one can enumerate all D' ⁇ p x,z (C)/s x,z (C) and D' ⁇ p z,y (C)/s z,y (C) coset.
  • D y ⁇ p x,y (C)/s x,y (C) one can enumerate all D' ⁇ p x,z (C)/s x,z (C) and D' ⁇ p z,y (C)/s z,y (C) coset.
  • the process of decoding the (8, 4) Hamming code by using the method of trellis graph partitioning is exemplarily introduced through FIG. 32 to FIG. 34 .
  • the received signal at the receiving end is The trellis diagram corresponding to the code with length 8 is divided, as shown in FIG. 32 , it can be divided into four sub-codes with length 2, and the four sub-codes with length 2 correspond to a sub- trellis diagram respectively.
  • Figure 32 shows the corresponding path and path value calculation process for the segment [0,1]. As shown in Figure 32, for [0,1], the corresponding path and path value of [0,1] can be obtained by the following calculation:
  • [2, 3], [4, 5], [6, 7] and their corresponding sub-grid graphs can be represented, and various possible paths, i.e. path values, can be calculated in a similar way.
  • the segment [0,3] can be obtained by combining the corresponding paths of [0,1] and [2,3].
  • the path with the largest path score can be selected as the path of the segment [0, 3], such as the part enclosed by the dotted line in Figure 33.
  • the paragraph [4,7] on the right can also be obtained by the same operation.
  • the entire part of [0,7] can be obtained by combining [0,3] and [4,7], such as the one with the largest path score among all possible combinations of [0,3] and [4,7]
  • the path is obtained, as shown in Figure 34.
  • an appropriate position of the dividing point may be selected according to the actual situation.
  • the location of the split point may affect the decoding complexity. Taking a 24 ⁇ 24 kernel as an example, for the choice of z (z: x ⁇ z ⁇ y):
  • [0,24) is divided into [0,16) and [16,24), and further divided evenly. In this case, it may be necessary to: 250 additions and 124 comparisons.
  • the positions of the split points can be selected according to the complexity, for example, some split points can be selected so as to reduce the decoding complexity.
  • a, b respectively represent the corresponding coset D' ⁇ p x,z (C)/s x,z (C) and coset D' ⁇ p z,y (C)/s z,y (C)
  • the serial number of the element (for example, it can be expressed in binary).
  • Let w, v represent the serial number corresponding to the possible path of [x, y], then:
  • the complexity of the above calculation is approximately The complexity of this method is related to the segmentation strategy, that is, how to select the segmentation point z in x, y, which may affect the decoding complexity.
  • Aspect 6 a recursive grid-based kernel processing method.
  • some processing may be performed in the decoding process to further simplify the decoding complexity.
  • a possible design is to determine whether the intermediate result obtained based on the trellis decoding can be reused by other trellis according to the correlation degree of each trellis.
  • the decoding result obtained based on trellis decoding can be directly used in other trellis decoding . For example, if the combined CBT of each part in polar code decoding stage t is the same as the CBT in stage t+1, then in stage t+1, there is no need to recalculate.
  • each decoding stage it can be determined whether the results of each decoding stage can be reused according to the code obtained by shortening the linear code C in different decoding stages and/or the code obtained by performing the puncturing operation on the linear code C in different decoding stages.
  • the correlation degree of each grid can be determined according to the code obtained by shortening the linear code C in different decoding stages and/or the code obtained by performing the puncturing operation on the linear code C in different decoding stages. Whether the results of the decoding stage are reusable.
  • One possible implementation which can be checked by and relationship, and/or, and to determine whether the intermediate results of decoding can be reused.
  • the intermediate results of the decoding can be multiplexed. That is, if Then the CBT at stage t+1 can be a subset of the CBT at stage t, which can be obtained directly without recalculation.
  • the intermediate results of the decoding can be multiplexed.
  • the result of the maximization operation in the intermediate process can be saved to reduce the amount of computation in stage t+1.
  • Mode 1 can be used for each stage of polar code decoding. For example, at each stage of polar code decoding, it can be determined whether the above two conditions are satisfied.
  • the above method 2 can greatly reduce the amount of calculation and reduce the decoding time.
  • ⁇ ', ⁇ " are used to represent the offset, that is, ⁇ ', ⁇ " are dependent on offset.
  • p 0,4 (C (0) ) is a (4,4) code
  • s 0,4 (C (0) ) is a (4,3) code. It can be calculated that the coset leaders of coset p 0,4 (C (0) )/s 0,4 (C (0) ) are: (0,0,0,0) and (1,0,0, 0).
  • p 0,2 (C (0) ), p 2,4 (C (0) ) are (2,2) codes
  • s 2,4 (C (0) ) is a (2,1) code.
  • K (3) (1 1 1 1 1).
  • the Arikan matrix kernel processing procedure for 2 iterations is exemplified above.
  • the above-mentioned specific core processing process is only an exemplary illustration, which is not strictly limited.
  • Example 2 Kernel processing for high-dimensional kernel matrix.
  • the recursive-based trellis decoding method described above can be applied to each stage of polar code SC decoding.
  • the kernel matrix K1 is shown in FIG. 38
  • the polar code is subjected to the decoding method provided by this embodiment of the present application
  • FIG. 39 shows a partial recursive trellis diagram corresponding to this kernel.
  • the intermediate results of the decoding can be multiplexed.
  • the result of the maximization operation in the intermediate process can be saved to reduce the amount of computation in stage t+1.
  • Table 1 shows the complexity comparison between the decoding algorithm provided by the embodiment of the present application and the Viterbi decoding algorithm when different kernel matrices are used on the encoding side.
  • the embodiments of the present application can be used not only in the binary domain, but also in the non-binary domain.
  • Table 2 shows the complexity comparison between the decoding algorithm provided by the embodiment of the present application and the Viterbi decoding algorithm in the non-binary domain.
  • Reed-Solomon means Reed-Solomon code
  • Hermitian means Hermit.
  • FIG. 40 and FIG. 41 show the comparison of the performance and complexity of decoding on the decoding side when the polar subcode polar subcode of (1024, 512) adopts the kernel K 32 , the kernel K' 32 and the Arikan kernel on the encoding side.
  • the ordinate FER in Figures 40 and 41 represents the frame error ratio
  • the abscissa in Figure 40 represents the size or length of the space (list size)
  • the abscissa in Figure 41 represents the number of additions and comparisons ( number of summations and comparisons). It can be seen from FIG. 40 that in the case of the same list size, when the core K 32 and the core K' 32 are used, the decoding algorithm provided by the embodiment of the present application can be used to improve performance.
  • the line characterizing the Arikan nucleus intersects the lines characterizing the nucleus K 32 and the nucleus K' 32 at different FERs.
  • FIG. 42 and FIG. 43 show the comparison results of polar codes and low-density parity-check (LDPC codes) in terms of performance and complexity.
  • the abscissa E b /N 0 in Figures 42 and 43 represents the bit error rate
  • E b represents the signal energy per bit (bit)
  • N 0 represents the power spectral density of noise
  • the ordinate FER in Figure 42 represents the frame error rate (frame error ratio)
  • the ordinate in FIG. 43 represents the average number of operations.
  • polar codes have advantages in both performance and complexity.
  • the solutions on the encoding side and the decoding side may be used alone or in combination, which is not limited thereto.
  • the encoding method provided by the embodiment of the present application may be used for encoding, and the existing decoding method may be used for decoding.
  • the existing encoding method may be used for encoding
  • the decoding method provided by the embodiment of the present application may be used for decoding.
  • the encoding method provided by the embodiment of the present application may be used for encoding
  • the decoding method provided by the embodiment of the present application may be used for decoding.
  • the encoding (polar code encoding) is implemented by multiplying the Kronecker product of a data vector with some matrices (kernels), and a recursive trellis-based decoding method is used for decoding at the receiving end.
  • SC decoding is used as an example for illustrative description, which is not limited thereto.
  • the embodiments of the present application can also be used in decoding methods such as SCL, sequential decoding (sequential decoding), and SC-Flip.
  • the trellis graph when the decoding sequence to be decoded is decoded by using the trellis trellis decoding algorithm, the trellis graph may be divided first, and the decoding process on the complete Trellis may be divided into The decoding process on the sub-grid can reduce the decoding complexity.
  • some calculation steps when calculating on different sub-grids, some calculation steps may be the same, so they can be multiplexed multiple times, which greatly reduces the decoding complexity and improves the decoding speed.
  • multiple core matrices may be constructed first, and based on the constructed core matrices, an appropriate core matrix may be selected for coding according to actual communication conditions.
  • the kernel matrix is constructed or selected, performance and decoding complexity are comprehensively considered, and the decoding complexity can be reduced by selecting an appropriate kernel matrix used in encoding.
  • the methods and operations implemented by the decoding end device can also be implemented by a component (such as a chip or a circuit) that can be used for the decoding end device
  • a component such as a chip or a circuit
  • the methods and operations implemented by the encoding end device can also be implemented by components (eg, chips or circuits) that can be used for the encoding end device.
  • each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing unit. in the module.
  • the above-mentioned integrated modules can be implemented in the form of hardware, and can also be implemented in the form of software function modules. It should be noted that, the division of modules in the embodiments of the present application is schematic, and is only a logical function division, and there may be other division manners in actual implementation. The following description will be given by taking as an example that each function module is divided corresponding to each function.
  • FIG. 44 is a schematic block diagram of an apparatus provided by an embodiment of the present application.
  • the apparatus 4400 includes a transceiver unit 4410 and a processing unit 4420 .
  • the transceiver unit 4410 can implement corresponding communication functions, and the processing unit 4420 is used for data processing.
  • Transceiver unit 4410 may also be referred to as a communication interface or a communication unit.
  • the apparatus 4400 may further include a storage unit, which may be used to store instructions and/or data, and the processing unit 4420 may read the instructions and/or data in the storage unit, so that the apparatus implements the foregoing method embodiments .
  • a storage unit which may be used to store instructions and/or data
  • the processing unit 4420 may read the instructions and/or data in the storage unit, so that the apparatus implements the foregoing method embodiments .
  • the apparatus 4400 may be used to perform the actions performed by the encoding end device in the above method embodiments.
  • the apparatus 4400 may be the encoding end device or a component that can be configured in the encoding end device, and the transceiver unit 4410 is configured to perform the above operations.
  • the processing unit 4420 is configured to perform the operations related to the processing on the side of the encoding end device in the above method embodiments.
  • the apparatus 4400 may be used to perform the actions performed by the decoding end device in the above method embodiments.
  • the apparatus 4400 may be the decoding end device or a component that can be configured in the decoding end device.
  • the transceiver unit 4410 The processing unit 4420 is configured to perform the operations related to the transceiving on the side of the decoding end device in the above method embodiments, and the processing unit 4420 is configured to perform the operations related to the processing on the side of the decoding end device in the above method embodiments.
  • the apparatus 4400 is used to perform the actions performed by the encoding end device in the embodiment shown in FIG. 14 above, the transceiver unit 4410 is used to obtain information bits; the processing unit 4420 is used to: determine the target core matrix, The target kernel matrix is obtained by adjusting the original kernel matrix; the processing unit 4420 is further configured to: perform polarization coding on the information bits based on the target kernel matrix.
  • the dimension of the target kernel matrix is smaller than the dimension of the original kernel matrix.
  • the target kernel matrix is obtained by adjusting the partial distance of the original kernel matrix.
  • the target kernel matrix is obtained by adjusting the partial distance of the original kernel matrix and based on a depth-first search algorithm.
  • the candidate row set M satisfies: Or, when selecting the last i-th row from the candidate row set M, the Hamming weight of the selected row v is greater than or equal to D i ; or, when selecting the row v from the candidate row set M, and Calculate the partial distance between it and the already constructed row, if Then directly discard the row v, and select a new row from the candidate row set M; or, rows belonging to the same coset will not be selected again; where i is used to represent the row number, i ⁇ [0,l -1]; wt(v) and wt(c) both represent Hamming weight; Represents the currently constructed kernel matrix Represents the kernel matrix First row; D i and Both represent partial distance; Represents the kernel matrix corresponding code; Represents a logical operation.
  • the original kernel matrix is a kernel matrix K 24 of dimension (24 ⁇ 24), where K 24 is:
  • the target kernel matrix is any of the following:
  • the apparatus 4400 may implement steps or processes corresponding to the encoding end device in the method embodiments of the present application, and the apparatus 4400 may include a method for executing the method executed by the encoding end device in the method embodiments of FIG. 13 to FIG. 43 . unit.
  • each unit in the apparatus 4400 and the above-mentioned other operations and/or functions are respectively to implement the corresponding processes in the method embodiments of FIG. 13 to FIG. 43 .
  • the transceiver unit 4410 can be used to execute the step 1310 of the method 1300
  • the processing unit 4420 can be used to execute the steps 1320 and 1330 of the method 1300 .
  • the apparatus 4400 is used to perform the actions performed by the decoding end device in the above embodiment shown in FIG. 14 , the transceiver unit 4410 is used to: obtain the sequence to be decoded; the processing unit 4420 is used to: based on the multiple a trellis, decode the sequence to be decoded, and multiplex the intermediate results of the first trellis decoding among the multiple trellis when decoding based on the second trellis among the multiple trellis, wherein the first trellis
  • the grid is used for the t-th stage of decoding the sequence to be decoded, and the second grid is used for the t+i-th stage of decoding the sequence to be decoded, where t is an integer greater than 0 or equal to 0, and i is greater than 1 or equal to 1 the integer.
  • each of the plurality of grids is divided into a plurality of sub-grids.
  • the locations of split points of multiple sub-grids are related to decoding complexity.
  • processing unit 4420 is further configured to: determine, according to the degree of association between the first trellis and the second trellis, whether to multiplex the intermediate result of the first trellis decoding when decoding based on the second trellis.
  • the processing unit 4420 is specifically configured to: determine whether to multiplex the intermediate result of the first trellis decoding based on the second trellis decoding according to the following information: the t+i th stage of decoding A code obtained by performing a shortening operation on C and a code obtained by performing a shortening operation on linear code C in the t-th stage of decoding; and/or, a code obtained by performing a puncturing operation on the linear code C in the t+i-th stage of decoding The code obtained by puncturing the linear code C in the t-th stage of decoding.
  • the processing unit 4420 is specifically configured to: when the t+i th stage of decoding is processed based on the second trellis, directly use the intermediate result of decoding based on the first trellis as the result of the second trellis decoding. the intermediate result; or, when the t+i th stage of decoding is based on the second trellis processing, the processing is performed based on the result of the maximization operation in the first trellis processing.
  • the apparatus 4400 may implement steps or processes corresponding to the decoding end device in the method embodiments of the present application, and the apparatus 4400 may include a method for executing the decoding end device in the method embodiments of FIGS. method unit.
  • each unit in the apparatus 4400 and the above-mentioned other operations and/or functions are respectively to implement the corresponding processes in the method embodiments of FIG. 13 to FIG. 43 .
  • the transceiver unit 4410 can be used to execute the step 1410 of the method 1400
  • the processing unit 4420 can be used to execute the step 1420 of the method 1400 .
  • the processing unit 4420 in the above embodiments may be implemented by at least one processor or processor-related circuits.
  • the transceiver unit 4410 may be implemented by a transceiver or a transceiver-related circuit.
  • Transceiver unit 4410 may also be referred to as a communication unit or a communication interface.
  • the storage unit may be implemented by at least one memory.
  • the above-mentioned functions of the apparatus 4400 may be implemented by hardware, or by hardware executing corresponding software.
  • the apparatus 4400 may include one or more processors for executing a computer program stored in the memory, so that the apparatus 4400 executes any one of the method embodiments provided in this application.
  • the memory for storing the computer program is located outside the apparatus 4400, and the one or more processors are connected to the memory by circuits and/or wires.
  • the memory may be one or more.
  • apparatus 4400 also includes one or more memories.
  • the apparatus 4400 further includes one or more communication interfaces.
  • the one or more communication interfaces may be an input-output interface, or an output-output circuit, which is not limited in this application.
  • the apparatus 4400 may also be implemented by hardware.
  • an embodiment of the present application further provides an apparatus 4500 .
  • the apparatus 4500 includes a processor 4510 coupled to a memory 4520 for storing computer programs or instructions and/or data, and the processor 4510 for executing the computer programs or instructions and/or data stored in the memory 4520 such that The methods in the above method embodiments are performed.
  • the apparatus 4500 includes one or more processors 4510.
  • the apparatus 4500 may further include a memory 4520 .
  • the device 4500 may include one or more memories 4520 .
  • the memory 4520 may be integrated with the processor 4510, or provided separately.
  • the apparatus 4500 may further include a transceiver 4530, and the transceiver 4530 is used for signal reception and/or transmission.
  • the processor 4510 is used to control the transceiver 4530 to receive and/or transmit signals.
  • the apparatus 4500 is configured to implement the operations performed by the encoding end device in the above method embodiments.
  • the processor 4510 is configured to implement the processing-related operations performed by the encoding end device in the above method embodiments
  • the transceiver 4530 is configured to implement the transceiving-related operations performed by the encoding end device in the above method embodiments.
  • the apparatus 4500 is configured to implement the operations performed by the decoding end device in the above method embodiments.
  • the processor 4510 is configured to implement the processing-related operations performed by the decoding end device in the above method embodiments
  • the transceiver 4530 is configured to implement the transceiving-related operations performed by the decoding end device in the above method embodiments.
  • This embodiment of the present application further provides an apparatus 4600.
  • the apparatus 4600 may be used to perform the operations performed by the encoding end device in the above method embodiments, or the apparatus 4600 may be used to perform the above method embodiments by the decoding end device. The action performed by the device.
  • Apparatus 4600 may include input interface circuit 4610, logic circuit 4620, and output interface circuit 4620.
  • the apparatus 4600 may be configured to perform the operations performed by the decoding end device in the foregoing method embodiments.
  • the apparatus 4600 may also be a device or module in the decoding end for implementing channel decoding.
  • the apparatus 4600 may also be a chip configured in the receiving end.
  • the input interface circuit 4610 is used to obtain the sequence to be decoded; the logic circuit 4620 is used to decode the sequence to be decoded by using the decoding algorithm provided by this application; the output interface circuit 4630, Used to output the decoding result.
  • the logic circuit 4620 is used to obtain the sequence to be decoded, and use the decoding algorithm provided in this application to decode the sequence to be decoded; and the output interface circuit 4630 outputs the decoded sequence. code result.
  • the apparatus 4600 may be used to perform the operations performed by the encoding end device in the foregoing method embodiments.
  • the apparatus 4600 may also be a device or module in the encoding end for implementing encoding.
  • the apparatus 4600 may also be a chip configured in the transmitting end.
  • the input interface circuit 4610 is used to obtain information bits; the logic circuit 4620 is used to encode the information bits by using the coding algorithm provided by this application; and the output interface circuit 4630 is used to output the encoded information bits.
  • polar codewords are used to obtain information bits; the logic circuit 4620 is used to encode the information bits by using the coding algorithm provided by this application; and the output interface circuit 4630 is used to output the encoded information bits.
  • the logic circuit 4620 is configured to generate information bits, and use the encoding algorithm provided in this application to encode the information bits; and the output interface circuit 4630 outputs the encoded polar codeword .
  • apparatus 4600 may be a chip or an integrated circuit.
  • the chip may be a system on chip (system on chip, SOC), or a baseband chip or the like.
  • the above description mainly takes an example that the input interface circuit 4610 and the output interface circuit 4620 are separate interface circuits for illustrative description, which is not limited thereto.
  • input interface circuit 4610 and output interface circuit 4620 may be integrated into one interface.
  • Embodiments of the present application further provide a computer-readable storage medium, on which computer instructions for implementing the method executed by the encoding end device or the method executed by the decoding end device in the above method embodiments are stored.
  • the computer program when executed by a computer, the computer can implement the method executed by the encoding end device or the method executed by the decoding end device in the above method embodiments.
  • Embodiments of the present application also provide a computer program product including instructions, which when executed by a computer, enable the computer to implement the method executed by the encoding end device or the method executed by the decoding end device in the above method embodiments.
  • the present application also provides a chip including one or more memories and one or more processors.
  • the one or more memories are used to store a computer program, and the one or more processors are used to call and run the computer program from the one or more memories, so that the device on which the chip is installed executes the program. method of application.
  • the present application further provides a communication device, including the above-mentioned apparatus 4500 or apparatus 4600.
  • An embodiment of the present application further provides a communication system, where the communication system includes the encoding end device and the decoding end device in the above embodiments.
  • the decoding end in this document is also the receiving end of the signal and/or data.
  • the party sending the signal and/or data is the sending end.
  • the decoding end may be a network device (for example, a 5G gNB) in a communication system, or may be a terminal device, which is not limited in the solution of this application.
  • the encoding end in this document is also the transmitting end of the signal and/or data.
  • the party that receives the signal and/or data is the receiving end.
  • the encoding end may be a network device (for example, a 5G gNB) in a communication system, or may be a terminal device, which is not limited in the solution of the present application.
  • the encoding end device or the decoding end device may include a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer.
  • the hardware layer may include hardware such as a central processing unit (CPU), a memory management unit (MMU), and memory (also called main memory).
  • the operating system of the operating system layer can be any one or more computer operating systems that implement business processing through processes, such as Linux operating systems, Unix operating systems, Android operating systems, iOS operating systems, or Windows operating systems.
  • the application layer may include applications such as browsers, address books, word processing software, and instant messaging software.
  • the embodiments of the present application do not specifically limit the specific structure of the execution body of the methods provided by the embodiments of the present application, as long as the program in which the codes of the methods provided by the embodiments of the present application are recorded can be executed to execute the methods according to the embodiments of the present application.
  • the execution body of the method provided by the embodiments of the present application may be an encoding end device or a decoding end device, or a functional module in the encoding end device or the decoding end device that can call a program and execute the program.
  • aspects or features of the present application may be implemented as methods, apparatus, or articles of manufacture using standard programming and/or engineering techniques.
  • article of manufacture as used herein may encompass a computer program accessible from any computer-readable device, carrier or media.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server, data center, etc., which includes one or more available mediums integrated.
  • Useful media may include, but are not limited to, magnetic media or magnetic storage devices (eg, floppy disks, hard disks (eg, removable hard disks), magnetic tapes), optical media (eg, optical disks, compact discs) , CD), digital versatile disc (digital versatile disc, DVD), etc.), smart cards and flash memory devices (for example, erasable programmable read-only memory (EPROM), card, stick or key drive, etc. ), or semiconductor media (such as solid state disk (SSD), etc., U disk, read-only memory (ROM), random access memory (RAM), etc. that can store programs medium of code.
  • SSD solid state disk
  • Various storage media described herein may represent one or more devices and/or other machine-readable media for storing information.
  • the term "machine-readable medium” may include, but is not limited to, wireless channels and various other media capable of storing, containing, and/or carrying instructions and/or data.
  • processors mentioned in the embodiments of the present application may be a central processing unit (central processing unit, CPU), and may also be other general-purpose processors, digital signal processors (digital signal processors, DSP), application-specific integrated circuits ( application specific integrated circuit, ASIC), off-the-shelf programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the memory mentioned in the embodiments of the present application may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically programmable Erase programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • Volatile memory may be random access memory (RAM).
  • RAM can be used as an external cache.
  • RAM may include the following forms: static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM) , double data rate synchronous dynamic random access memory (double data rate SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchronous link dynamic random access memory (synchlink DRAM, SLDRAM) and Direct memory bus random access memory (direct rambus RAM, DR RAM).
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • SDRAM synchronous dynamic random access memory
  • SDRAM double data rate synchronous dynamic random access memory
  • ESDRAM enhanced synchronous dynamic random access memory
  • SLDRAM synchronous link dynamic random access memory
  • Direct memory bus random access memory direct rambus RAM, DR RAM
  • the processor is a general-purpose processor, DSP, ASIC, FPGA or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components
  • the memory storage module
  • memory described herein is intended to include, but not be limited to, these and any other suitable types of memory.
  • the disclosed apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the above-mentioned units is only a logical function division.
  • multiple units or components may be combined or may be Integration into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, which may be in electrical, mechanical or other forms.
  • the units described above as separate components may or may not be physically separated, and components shown as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to implement the solution provided in this application.
  • each functional unit in each embodiment of the present application may be integrated into one unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer may be a personal computer, a server, or a network device or the like.
  • Computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, server, or data center over a wire (e.g.
  • coaxial cable fiber optic, digital subscriber line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.) to another website site, computer, server, or data center.
  • DSL digital subscriber line
  • wireless eg, infrared, wireless, microwave, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Tires In General (AREA)

Abstract

本申请提供了一种极化码的编码方法和译码方法、编码装置和译码装置,以期可以降低译码复杂度,提高译码速度。该编码方法包括:获取信息比特;调整原始核矩阵,以构造一个或多个核矩阵,从该一个或多个核矩阵中选择一个合适的目标核矩阵;基于目标核矩阵,对信息比特极化编码。通过该编码方法,在核矩阵构造或选择时,就综合考虑性能和译码复杂度,能够实现通过选择合适的编码时所使用的核矩阵,降低译码复杂度。该译码方法包括:获取待译码序列;基于多个网格Trellis,对待译码序列译码,其中,在译码的不同阶段得到的中间结果可复用,如在译码的第t+i阶段,复用译码的第t阶段得到的中间结果。通过该译码方法,大大降低了译码复杂度。

Description

极化码的编码方法和译码方法、及编码装置和译码装置
本申请要求于2020年09月17日提交俄罗斯专利局、申请号为2020130551、申请名称为“极化码的编码方法和译码方法、及编码装置和译码装置”的专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及信道编码领域,更具体地,涉及一种极化码的编码方法和译码方法、及编码装置和译码装置。
背景技术
极化码(polar codes)已能够被严格证明达到信道容量的信道编码方案,具有高性能,较低复杂度,匹配方式灵活等特点,目前已经被第三代合作伙伴计划(3rd generation partnership project,3GPP)确定成为第五代(the 5 th generation,5G)的一些通信场景中控制信道编码方案。
原始的极化码基于核矩阵
Figure PCTCN2021115206-appb-000001
它的n次克罗内克指数
Figure PCTCN2021115206-appb-000002
对应一个码长为N=2 m的线性码。推广到高维核矩阵,研究者们证明,采用某些设计的比较好的高维核矩阵对极化码进行编码能够带来更高的极化速度,即更好的译码性能。但是高维核矩阵会带来较高的译码复杂度,如何降低译码复杂度是亟需解决的问题。
发明内容
本申请提供一种极化码的编码方法和译码方法、及编码装置和译码装置,以期降低译码复杂度。
第一方面,提供了一种编码方法。该方法可以由编码端设备执行,或者,也可以由配置于编码端设备中的芯片或芯片系统或电路执行,本申请对此不作限定。
该方法可以包括:获取信息比特;确定目标核矩阵,所述目标核矩阵是通过调整原始核矩阵获得的;基于所述目标核矩阵,对所述信息比特进行极化编码。
示例地,获取信息比特,包括内部产生信息比特,也可以包括从外部接收信息比特。
基于上述技术方案,采用极化编码时,可以基于原始核矩阵构造出多个核矩阵,基于构造出的核矩阵,根据实际通信情况,选择合适的目标核矩阵进行编码。通过该方式,在核矩阵构造或选择时,就综合考虑性能和译码复杂度,能够实现通过选择合适的编码时所使用的核矩阵,降低译码复杂度。
结合第一方面,在第一方面的某些实现方式中,所述目标核矩阵的维度小于所述原始核矩阵的维度。
基于上述技术方案,在已知维度的核矩阵的基础上,构造出多个相对较小维度的核矩阵。基于小维度的核矩阵进行编码,能在保证相同性能的情况下,提供更低的译码复杂度。
结合第一方面,在第一方面的某些实现方式中,所述目标核矩阵是通过调整所述原始核矩阵的部分距离partial distance获得的。
示例地,所述目标核矩阵是通过调整所述原始核矩阵的partial distance profile(PDP)获得的。
示例地,调整所述原始核矩阵的partial distance时,可以按照接近Arikan矩阵的partial distance进行调整。
结合第一方面,在第一方面的某些实现方式中,所述目标核矩阵是通过调整所述原始核矩阵的partial distance,并且基于深度优先搜索算法获得的。
结合第一方面,在第一方面的某些实现方式中,在基于所述深度优先搜索算法进行处理时,使用以下一项或多项约束条件进行处理:
候选行集合M满足:
Figure PCTCN2021115206-appb-000003
或者,
从所述候选行集合M中选择倒数第i行时,选择出来的行v汉明重量大于或等于D i;或者,
在从所述候选行集合M中选择出所述行v,并将其跟已构建好的行进行partial distance计算,如果
Figure PCTCN2021115206-appb-000004
那么直接抛弃所述行v,从所述候选行集合M中选择新的行;或者,
属于同一陪集的行不会再次被选中;
其中,i用于表示行号,i∈[0,l-1];wt(v)和wt(c)均表示汉明重量;
Figure PCTCN2021115206-appb-000005
表示当前构建的核矩阵
Figure PCTCN2021115206-appb-000006
表示核矩阵
Figure PCTCN2021115206-appb-000007
的第
Figure PCTCN2021115206-appb-000008
行;D i
Figure PCTCN2021115206-appb-000009
均表示partial distance;
Figure PCTCN2021115206-appb-000010
表示核矩阵
Figure PCTCN2021115206-appb-000011
对应的码;
Figure PCTCN2021115206-appb-000012
表示逻辑运算。
示例地,当前构建的核矩阵
Figure PCTCN2021115206-appb-000013
可以表示核
Figure PCTCN2021115206-appb-000014
正在构建;或者核
Figure PCTCN2021115206-appb-000015
构建好后,可以表示已构建完成的核
Figure PCTCN2021115206-appb-000016
基于上述技术方案,可以通过设计关于候选行和/或所选行的约束条件,以便加快收敛速度,可以进一步节省计算量。
结合第一方面,在第一方面的某些实现方式中,所述原始核矩阵为维度为(24×24)的核矩阵K 24,所述K 24为:
Figure PCTCN2021115206-appb-000017
Figure PCTCN2021115206-appb-000018
结合第一方面,在第一方面的某些实现方式中,所述目标核矩阵为以下任一项:
Figure PCTCN2021115206-appb-000019
或者,
Figure PCTCN2021115206-appb-000020
或者,
Figure PCTCN2021115206-appb-000021
或者,
Figure PCTCN2021115206-appb-000022
或者,
Figure PCTCN2021115206-appb-000023
或者,
Figure PCTCN2021115206-appb-000024
或者,
Figure PCTCN2021115206-appb-000025
或者,
Figure PCTCN2021115206-appb-000026
或者,
Figure PCTCN2021115206-appb-000027
或者,
Figure PCTCN2021115206-appb-000028
或者,
Figure PCTCN2021115206-appb-000029
或者,
Figure PCTCN2021115206-appb-000030
第二方面,提供了一种译码方法。该方法可以由译码端设备执行,或者,也可以由配置于译码端设备中的芯片或芯片系统或电路执行,本申请对此不作限定。
该方法可以包括:获取待译码序列;基于多个网格,对所述待译码序列进行译码,基于所述多个网格中的第二网格译码时,复用所述多个网格中的第一网格译码的中间结果,其中,所述第一网格用于对所述待译码序列译码的第t阶段,所述第二网格用于对所述待译码序列译码的第t+i阶段,t为大于0或等于0的整数,i为大于1或等于1的整数。
示例地,获取待译码序列,可以表示从外部接收待译码序列。
示例地,第一网格对应译码第t阶段,也就是说,在译码第t阶段,基于第一网格进行译码处理;或者说在对待译码序列的某一信息比特进行译码时,基于第一网格进行译码处理。示例地,第二网格对应译码第t+i阶段,也就是说,在译码第t+i阶段,基于第二网格进行译码处理;或者说在对待译码序列的又一信息比特进行译码时,基于第二网格进行译码处理。
示例地,第一网格译码的中间结果,即表示基于第一网格处理得到的结果,或者说,在译码第t阶段译码得到的结果。其中,中间结果例如可以包括:基于所述第一网格译码的译码路径和对应的路径度量值。
示例地,更小一级的网格图中所有可能路径拼接后得到多个组合,通过选择这些可能组合中路径分数最大的那个得出更大一级的网格图最优路径及路径值。
基于上述技术方案,采用网格Trellis的译码算法对待译码序列进行译码时,不同译码阶段得到的中间结果可复用。也就是说,在不同的网格上进行计算时,有些计算步骤可能相同,所以可以多次复用,这使得译码复杂度得到了很大程度的降低,且提高了译码速度。
结合第二方面,在第二方面的某些实现方式中,所述多个网格中的每个网格被分割为多个子网格。
基于上述技术方案,采用网格Trellis的译码算法对待译码序列进行译码时,可以先对 网格图进行分割,把在完整的Trellis上进行译码的过程分割成对子网格(sub trellis)上进行译码的过程,从而可以降低译码复杂度。
结合第二方面,在第二方面的某些实现方式中,所述多个子网格的分割点的位置与译码复杂度相关。
也就是说,将网格进行分割的分割点的位置与译码复杂度相关。
基于上述技术方案,可以根据实际情况,选择合适的分割点的位置。分割点的位置可能会影响译码复杂度,因此,可以选择某些分割点,以便降低译码复杂度。
结合第二方面,在第二方面的某些实现方式中,所述方法还包括:根据所述第一网格和所述第二网格的关联度,确定基于所述第二网格译码时是否复用所述第一网格译码的中间结果。
示例地,第一网格和第二网格的关联度,可以表示第一网格和第二网格是否相同或者相似;或者,可以体现第一网格对应的多个子网格和第二网格对应的多个子网格是否相同或者相似;或者,也可以表示基于第一网格和第二网格处理时,是否有相同的计算步骤。
基于上述技术方案,可以根据网格之间的关联度,例如第一网格和第二网格是否相同或相似,确定在译码不同阶段得到的中间结果是否可被复用。
结合第二方面,在第二方面的某些实现方式中,所述译码方法还包括:根据以下信息,判断基于所述第二网格译码时是否复用所述第一网格译码的中间结果:所述译码的第t+i阶段通过对线性码C进行缩短操作得到的码与所述译码的第t阶段通过对线性码C进行缩短操作得到的码;和/或,所述译码的第t+i阶段通过对线性码C进行打孔操作得到的码与所述译码的第t阶段通过对线性码C进行打孔操作得到的码。
基于上述技术方案,可以通过比较在不同译码阶段对线性码C进行缩短操作得到的码和/或对线性码C进行打孔操作得到的码,确定在译码不同阶段得到的中间结果是否可被复用。
结合第二方面,在第二方面的某些实现方式中,如果
Figure PCTCN2021115206-appb-000031
Figure PCTCN2021115206-appb-000032
那么基于所述第二网格译码时,复用所述第一网格译码的中间结果;或者;如果
Figure PCTCN2021115206-appb-000033
那么基于所述第二网格译码时,复用所述第一网格译码的中间结果;其中,
Figure PCTCN2021115206-appb-000034
表示译码的第t+i阶段通过对线性码C在除开x≤z<y的位置进行缩短操作得到的码,
Figure PCTCN2021115206-appb-000035
表示译码的第t阶段通过对线性码C在除开x≤z<y的位置进行缩短操作得到的码,
Figure PCTCN2021115206-appb-000036
表示译码的第t+i阶段通过对线性码C在除开x≤z<y的位置进行打孔操作得到的码,
Figure PCTCN2021115206-appb-000037
表示译码的第t阶段通过对线性码C在除开x≤z<y的位置进行打孔操作得到的码。
基于上述技术方案,可以根据上述条件,确定在译码不同阶段得到的中间结果是否可被复用。
结合第二方面,在第二方面的某些实现方式中,所述基于所述第二网格译码时,复用所述第一网格译码的中间结果,包括:在所述译码的第t+i阶段基于所述第二网格处理时,直接将基于所述第一网格译码的中间结果,作为所述第二网格译码的中间结果;或者,在 所述译码的第t+i阶段基于所述第二网格处理时,基于所述第一网格处理过程中的最大化操作的结果进行处理
结合第二方面,在第二方面的某些实现方式中,所述译码为极化译码。
也就是说,所述待译码序列为获取通过极化编码后的待译码序列。
基于上述技术方案,采用高维核矩阵进行编码时,采用常规网格算法进行译码时,polar码译码器译码复杂度较高,通过本申请实施例,不仅可以通过在子网格上译码降低译码复杂度,而且该方案和采用Arikan核进行编码,SCL进行译码的传统方案对比,能在保证相同性能的情况下,提供更低的译码复杂度。
第三方面,本申请提供一种编码装置,该编码装置具有实现上述第一方面及其任意可能的实现方式中的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
在一种可能的设计中,当所述功能的部分或全部通过硬件实现时,该编码装置包括:输入接口电路,用于获取信息比特;逻辑电路,用于执行上述第一方面中的编码方法,对所述信息比特进行极化编码;输出接口电路,用于输出编码后的序列。
可选的,该编码装置可以是芯片或者集成电路。
在一种可能的设计中,当所述功能的部分或全部通过软件实现时,该编码装置包括:存储器,用于存储计算机程序;处理器,用于执行存储器中存储的计算机程序,当所述计算机程序被执行时,该编码装置可以实现如上述第一方面所述的编码方法。
可选的,存储器可以是物理上独立的单元,也可以与处理器集成在一起。
在一种可能的设计中,当所述功能的部分或全部通过软件实现时,该编码装置包括仅包括处理器。用于存储程序的存储器位于编码装置之外,处理器通过电路/电线与存储器连接,用于读取并运行存储器中存储的程序,以执行上述第一方面中所述的编码方法。
在具体实现时,该编码装置可以为芯片或集成电路。
第四方面,本申请提供一种译码装置,该译码装置具有实现上述第二方面及其任意可能的实现方式中的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
在一种可能的设计中,当所述功能的部分或全部通过硬件实现时,该译码装置包括:输入接口电路,用于获取待译码序列;逻辑电路,用于执行上述第二方面中的译码方法,对所述待译码序列进行译码,得到译码结果;输出接口电路,用于输出译码结果。
可选的,该译码装置可以是芯片或者集成电路。
在一种可能的设计中,当所述功能的部分或全部通过软件实现时,该译码装置包括:存储器,用于存储计算机程序;处理器,用于执行存储器中存储的计算机程序,当所述计算机程序被执行时,该译码装置可以实现如上述第二方面所述的译码方法。
可选的,存储器可以是物理上独立的单元,也可以与处理器集成在一起。
在一种可能的设计中,当所述功能的部分或全部通过软件实现时,该译码装置包括仅包括处理器。用于存储程序的存储器位于译码装置之外,处理器通过电路/电线与存储器连接,用于读取并运行存储器中存储的程序,以执行上述第二方面中所述的译码方法。
在具体实现时,该译码装置可以为芯片或集成电路。
第五方面,本申请提供一种网络设备,包括收发器、处理器和存储器。处理器用于控 制收发器收发信号,存储器用于存储计算机程序,处理器用于调用并运行存储器中存储的计算机程序,使得网络设备执行第一方面任意可能的实现方式中的方法。
具体地,在网络设备作为信息和/或数据的发送端时,网络设备执行上述第一方面的编码方法,对发送的信息比特进行编码。
第六方面,本申请提供一种网络设备,包括收发器、处理器和存储器。处理器用于控制收发器收发信号,存储器用于存储计算机程序,处理器用于调用并运行存储器中存储的计算机程序,使得网络设备执行第二方面任意可能的实现方式中的方法。
具体地,在网络设备作为信息和/或数据的接收端时,网络设备执行上述第二方面的译码方法,对从发送端接收到的待译码序列进行译码。
第七方面,本申请提供一种终端设备,包括收发器、处理器和存储器。处理器用于控制收发器收发信号,存储器用于存储计算机程序,处理器用于调用并运行存储器中存储的计算机程序,使得终端设备执行第一方面任意可能的实现方式中的方法。
具体地,在终端设备作为信息和/或数据的发送端时,终端设备执行上述第一方面的编码方法,对发送的信息比特进行编码。
第八方面,本申请提供一种终端设备,包括收发器、处理器和存储器。处理器用于控制收发器收发信号,存储器用于存储计算机程序,处理器用于调用并运行存储器中存储的计算机程序,使得终端设备执行第二方面任意可能的实现方式中的方法。
具体地,在终端设备作为信息和/或数据的接收端时,终端设备执行上述第二方面的译码方法,对从发送端接收到的待译码序列进行译码。
第九方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面或第二方面中任意可能的实现方式中的方法。
第十方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第二方面中任意一种可能的实现方式中的方法。
第十一方面,本申请提供一种芯片,包括逻辑电路和通信接口,所述通信接口用于接收待处理的数据和/或信息,并将所述待处理的数据和/或信息传输至所述逻辑电路,所述逻辑电路用于执行编码的处理,以及,所述通信接口还用于输出处理后的数据和/或信息。
具体地,所述芯片可以为配置在发送端中的芯片,所述待处理的数据和/或信息可以为信息比特。所述芯片通过通信接口获取信息比特,并将其传输至逻辑电路;所述逻辑电路采用第一方面描述的编码方法,对该信息比特进行编码;以及,所述芯片通过所述通信接口输出编码后的极化码字。
可选地,所述通信接口可以包括输入接口和输出接口。输入接口用于获取信息比特,所述输出接口用于输出编码后的极化码字。
可选地,所述芯片可以为配置在发送端中的芯片,所述逻辑电路用于生成信息比特,并采用第一方面描述的编码方法,对该信息比特进行编码;以及,所述芯片通过所述通信接口输出编码后的极化码字。
可选地,所述通信接口可以包括输入输出接口。输入输出接口用于输出编码后的极化码字。
第十二方面,本申请提供一种芯片,包括逻辑电路和通信接口,所述通信接口用于接收待处理的数据和/或信息,并将所述待处理的数据和/或信息传输至所述逻辑电路,所述逻辑电路用于执行译码的处理,以及,所述通信接口还用于输出处理后的数据和/或信息。
具体地,所述芯片可以为配置在接收端中的芯片,所述待处理的数据和/或信息可以为待译码序列。所述芯片通过通信接口接收待译码序列,并将其传输至逻辑电路;所述逻辑电路采用第二方面描述的译码方法,对该待译码序列进行译码;以及,所述芯片通过所述通信接口输出译码结果。
可选地,所述通信接口可以包括输入接口和输出接口。输入接口用于接收所述待译码序列,所述输出接口用于输出译码结果。
可选地,所述芯片可以为配置在接收端中的芯片,所述逻辑电路用于获取待译码序列,并采用第二方面描述的译码方法,对该待译码序列进行译码;以及,所述芯片通过所述通信接口输出译码结果。
可选地,所述通信接口可以包括输入输出接口。输入输出接口用于输出译码结果。
第十三方面,本申请提供一种通信系统,包括编码端设备和译码端设备。
附图说明
图1示出了适用于本申请实施例的无线通信系统的一示意图。
图2示出了采用无线技术进行通信的基本流程示意图。
图3示出了polar码编码的一示意图。
图4示出了Trellis表示的一可能示意图。
图5示出了用于Arikan核矩阵的扩展Trellis的一可能示意图。
图6示出了(4096,2048)的polar subcode在编码侧采用不同极化核时,译码时的性能和复杂度对比。
图7示出了核K 16矩阵。
图8示出了核K' 16矩阵。
图9示出了(1024,512)的polar subcode在编码侧采用不同极化核时,译码时的性能和复杂度对比。
图10示出了核K 32矩阵。
图11示出了核K' 32矩阵。
图12示出了基于Viterbi算法的网格图译码的一可能示意图。
图13是根据本申请实施例提供的译码方法的一示意性框图。
图14是根据本申请实施例提供的编码方法的一示意性框图。
图15至图18示出了在核K 24的基础上构建维度为20×20核的示意图。
图19示出了构造出的维度为20×20核矩阵的示意图。
图20至图22示出了维度为20的核矩阵的示意图。
图23和图24示出了维度为21的核矩阵的示意图。
图25至图27示出了维度为24的核矩阵的示意图。
图28和图29示出了维度为25的核矩阵的示意图。
图30示出了维度为28的核矩阵的示意图。
图31示出了(8,4)码的一般性网格图和分割网格图的示意图。
图32至图34示出了利用网格图分割的方法对(8,4)汉明码进行译码的过程的示意图。
图35至图37示出了针对2次迭代的Arikan矩阵核处理过程的示意图。
图38示出了核矩阵K 1的一示意图。
图39示出了适用于本申请实施例的递归网格图。
图40和图41示出了基于核K 32,核K' 32以及Arikan核的(1024,512)polar subcode性能和复杂度对比的示意图。
图42和图43示出了与5G LDPC码进行性能和复杂度上的对比的示意图。
图44为本申请提供的装置的示意性框图。
图45为本申请提供的装置的一示意性结构图。
图46为本申请提供的装置的又一示意性结构图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例的技术方案可以应用于各种无线通信系统,例如该无线通信系统可以包括但不限于:无线局域网(wireless local access network,WLAN)系统、窄带物联网(narrow band-internet of things,NB-IoT)系统、第五代(5th generation,5G)系统或新无线(new radio,NR)、长期演进(long term evolution,LTE)系统或者5G之后的通信系统等。本申请实施例的技术方案还可以应用于设备到设备(device to device,D2D)通信,机器到机器(machine to machine,M2M)通信,机器类型通信(machine type communication,MTC),卫星通信以及车联网系统中的通信。其中,车联网系统中的通信方式统称为V2X(X代表任何事物),例如,该V2X通信包括:车辆与车辆(vehicle to vehicle,V2V)通信,车辆与路边基础设施(vehicle to infrastructure,V2I)通信、车辆与行人之间的通信(vehicle to pedestrian,V2P)或车辆与网络(vehicle to network,V2N)通信等。
例如,本申请实施例的技术方案可以应用于5G移动通信系统的应用场景中,如增强移动带宽(enhance mobile broadband,eMBB)、高可靠性低延迟通信(ultra reliable low latency communication,URLLC)、增强海量机器连接通信(massive machine type communication,eMTC)等。
本申请提及的网络设备,网络设备可以是任意一种具有无线收发功能的设备。该设备包括但不限于:演进型节点B(evolved Node B,eNB)、无线网络控制器(Radio Network Controller,RNC)、节点B(Node B,NB)、基站控制器(Base Station Controller,BSC)、基站收发台(Base Transceiver Station,BTS)、家庭基站(例如,Home evolved NodeB,或Home Node B,HNB)、基带单元(BaseBand Unit,BBU),无线保真(Wireless Fidelity,WIFI)系统中的接入点(Access Point,AP)、无线中继节点、无线回传节点、传输点(transmission point,TP)或者发送接收点(transmission and reception point,TRP)等,还可以为5G,如,NR,系统中的gNB,或,传输点(TRP或TP),5G系统中的基站的一个或一组(包括多个天线面板)天线面板,或者,还可以为构成gNB或传输点的网络节点,如基带单元(BBU),或,分布式单元(distributed unit,DU)等。
在一些部署中,gNB可以包括集中式单元(centralized unit,CU)和DU。gNB还可 以包括有源天线单元(active antenna unit,简称AAU)。CU实现gNB的部分功能,DU实现gNB的部分功能。比如,CU负责处理非实时协议和服务,实现无线资源控制(radio resource control,RRC),分组数据汇聚层协议(packet data convergence protocol,PDCP)层的功能。DU负责处理物理层协议和实时服务,实现无线链路控制(radio link control,RLC)层、媒体接入控制(media access control,MAC)层和物理(physical,PHY)层的功能。AAU实现部分物理层处理功能、射频处理及有源天线的相关功能。由于RRC层的信息最终会变成PHY层的信息,或者,由PHY层的信息转变而来,因而,在这种架构下,高层信令,如RRC层信令,也可以认为是由DU发送的,或者,由DU+AAU发送的。可以理解的是,网络设备可以为包括CU节点、DU节点、AAU节点中一项或多项的设备。此外,可以将CU划分为接入网(radio access network,RAN)中的网络设备,也可以将CU划分为核心网(core network,CN)中的网络设备,本申请对此不做限定。
本申请提及的终端设备也可以称为用户设备(user equipment,UE)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。本申请的实施例中的终端设备可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、可穿戴的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对应用场景不做限定。
为便于理解本申请实施例,首先结合图1和图2详细说明适用于本申请实施例的通信系统。
图1是适用于本申请实施例的无线通信系统的一示意图。如图1所示,无线通信系统可以包括至少一个网络设备110和至少一个终端设备(例如,图1中所示的111,112以及113)。网络设备110和终端设备进行无线通信。当网络设备110向终端设备发送信号时,网络设备110为编码端,终端设备为译码端。当终端设备向网络设备110发送信号时,终端设备为编码端,网络设备为译码端。
在如图1所示的无线通信系统中,原始的信息经过编码端(encoder)的编码后,经过信道的传输,被解码端(decoder)接收,经过解码端的译码,恢复出原始的信息。
其中,编码端也可以称为发送端(或者说,发送设备),解码端也可以称为信息或数据的接收端(或者说,接收设备)。该发送设备可以为网络设备,该接收设备可以为终端设备。或者,该发送设备可以为终端设备,该接收设备可以为网络设备。或者,该发送设备可以为终端设备,该接收设备可以为终端设备。或者,该发送设备可以为网络设备,该接收设备可以为网络设备。
应理解,上述图1仅是示例性说明,本申请并未限定于此。例如,本申请实施例还可以应用于5G eMBB场景上行/下行控制信道编解码的任何通信场景。
图2是采用无线技术进行通信的基本流程图。发送端的信源依次经过信源编码、信道编码、速率匹配和调制后在信道上发出。接收端收到信号后依次经过解调、解速率匹配、信道解码和信源解码后获得信宿。本申请实施例提供的技术方案可以用于如图2中虚线框 所示的信道编码和信道解码模块中。
信道编解码是无线通信领域的核心技术之一,其性能的改进将直接提升网络覆盖及用户传输速率。目前,极化码(polar codes)已能够被严格证明达到信道容量的信道编码方案,具有高性能,较低复杂度,匹配方式灵活等特点,目前已经被3GPP确定成为5G控制信道eMBB场景(上行/下行)控制信道编码方案。
为便于理解本申请实施例,下面首先对本申请中涉及的几个术语做简单介绍。
1、polar码的编码方式
参见图3,图3示出了polar码编码的一示意图。如图3所示,符号
Figure PCTCN2021115206-appb-000038
代表二进制相加,其输入为左侧和下侧,输出为右侧。图3中每条实线代表1比特。我们将{u 0,u 1,u 2,u 4}设置为固定比特(或者说冻结比特),将{u 3,u 5,u 6,u 7}共4位信息比特进行polar编码,得到8位编码比特。编码之后,再将该8位编码比特进行调制后经过噪声信道发送。
待编码比特根据他们各自的可靠度不同排序。一般地,可靠度较高的比特设置为信息比特(data),可靠度较低的比特设置为固定比特(frozen),固定比特(frozen)的值通常设置为0,在实际传输中发送端和接收端都已知。如图3所示,u 7,u 6,u 5,u 3为可靠度靠前的四位比特,设置为信息比特(data),u 4,u 2,u 1,u 0为可靠度靠后的四位比特,设置为固定比特(frozen)。
2、线性分组码网格(Trellis)表示
Trellis译码为卷积码的传统译码方式,对于线性分组码,也可以通过Trellis进行译码。Trellis译码为一种最大似然(maximum likelihood,ML)/MAP译码方式,通过该方式译码能够带来好的译码性能,但是相应的,其译码复杂度很高。给定一个线性分组码,其校验矩阵为H,则所有的码字都需要符合:
Figure PCTCN2021115206-appb-000039
其中,H (i)表示校验矩阵H的第i列。网格图中在第j时刻的节点,被标注为:
Figure PCTCN2021115206-appb-000040
图4示出了Trellis表示的一可能示意图。参见图4,Trellis表示的基本组成单元为Trellis节点(如图4中的节点1,2,…,20)。例如,校验矩阵
Figure PCTCN2021115206-appb-000041
其Trellis表示如图4所示。关于采用Trellis进行译码的详细方案可以参考现有的描述,对此不作限定。
3、信道参数
polar码是一种可达二进制输入离散无记忆信道容量的可构造性信道编码方式。
令W:{0,1}→Y为一个对称二进制(binary)离散无记忆信道(discrete memoryless channel)(B-DMC),其输入字母集合为x={0,1},输出字母集为Y,在给定输入x,信道输出是y的情况下,信道条件转移概率表示为:W(y|x)。
可以定义B-DM信道(B-DMC)W的容量为:
Figure PCTCN2021115206-appb-000042
可以定义B-DM信道巴氏参数为:
Figure PCTCN2021115206-appb-000043
4、核矩阵
Arikan在文献里推断极化是一种普遍现象,并不单单受限于其给出的
Figure PCTCN2021115206-appb-000044
其中
Figure PCTCN2021115206-appb-000045
Figure PCTCN2021115206-appb-000046
代表m次克罗内克(Kronecker)乘积。Korada等人证明了该结论并推广至高维核矩阵,证明了任意l×l的矩阵能够发生极化的条件是该矩阵的任意列置换矩阵不是上三角矩阵。其次,Korada等人还证明了当l≤15时,任意核矩阵的极化指数β都不能超过1/2。在相同码长下,更大的极化指数β代表相应的极化码的译码错误概率更低,相应的译码性能更好。然而高维核矩阵极化码主要的问题在于其译码算法复杂度较高,这是高维核矩阵研究的瓶颈问题之一。
5、极化指数(polarization exponent)
关于极化指数简单介绍几个定理,具体的可以参考现有技术的描述,此处不作限定。
定理1:给定一个B-DM信道W(即B-DWC W),对于F 2和任意β<1/2,可以得到:
Figure PCTCN2021115206-appb-000047
相应地,如果I(W)<1,对于任意β>1/2,可以得到:
Figure PCTCN2021115206-appb-000048
其中,β称为极化指数,码长n=2 m
Korada等人将上述定理推广至任意的高维核矩阵,此时,码长n=l m,即:
定理2:对于任意B-DM信道W(即B-DWC W)满足0<I(W)<1,满足以下条件,我们可以称一个l×l维的核矩阵K有极化指数E(K):
(1)对于任意β<E(K):
Figure PCTCN2021115206-appb-000049
(2)对于任意β>E(K):
Figure PCTCN2021115206-appb-000050
在这里,用E(K)来表示极化指数。对于Arikan的核,其极化指数为1/2。
给定一个矩阵K和相应的E(K),定理2表明:
1)当m趋于无穷时,如果0<R<I(W),β<E(K),那么存在一个大小为NR的集合A满足:
Figure PCTCN2021115206-appb-000051
A为信息比特集合,通过逐比特消除(successive cancellation,SC)译码,在SC译码下误帧率的界限为:
Figure PCTCN2021115206-appb-000052
2)当m趋于无穷时,如果R>0,β>E(K),那么任意大小为NR的集合A满足:
Figure PCTCN2021115206-appb-000053
A为信息比特集合,在SC译码下误帧率的界限为:
Figure PCTCN2021115206-appb-000054
由上可知,极化指数可以衡量译码性能的收敛速度,更大的极化指数代表着更快的收敛速度,从而使得在码长较短的情况下也能获得更优的译码性能。
6、标度指数(scaling exponent)
极化核的另外一个关键特性是scaling exponent,可以理解,scaling exponent可以用于表征核矩阵性能。应理解,本申请实施例关心的是scaling exponen的功能,关于scaling exponent对应的中文表达,可以为标度指数,也可以为其他表达,对此不作限定。
举个示例,给定信道容量为I(W)的信道W,期望错误概率P e,假设对应(N,k)的极化码,其核矩阵为K。如果希望以R=I(W)-Δ的速率进行传输,那么码长N满足:
Figure PCTCN2021115206-appb-000055
其中,μ(K)为scaling exponent。
可以理解,scaling exponent是一个和信道有关的参数。对于随机码来说,μ=2;对于polar码来说,当l→∞时,令K=F l,可以得到:
Figure PCTCN2021115206-appb-000056
在BEC信道下,采用Arikan核的polar码,其scaling exponent可以为3.627。
7、部分距离(partial distance)。
一个l×l的矩阵K,K[i]表示为该矩阵的第i行,其部分距离D i(i=0,…,l-1)为:
Figure PCTCN2021115206-appb-000057
Figure PCTCN2021115206-appb-000058
其中,d H(a,b)表示向量a和b之间的汉明距离,向量D可以定义为partial distance profile(PDP)。对任意B-DMC W,任意l×l的极化矩阵K及其部分距离
Figure PCTCN2021115206-appb-000059
相应的 极化指数E(K)可以表示为:
Figure PCTCN2021115206-appb-000060
事实上,随着l→∞,我们可以得到一个l×l的核使得极化指数无限接近于1。
应理解,上述定理仅是为理解做的简单说明,并不对本申请实施例的保护范围造成限定,具体地可以参考现有的描述,此处不作限定。
8、核矩阵编码
一个(n,k)的polar码(其中码长n为:n=l m),给定一个l×l的核矩阵K,
Figure PCTCN2021115206-appb-000061
其中,M (m)为数字翻转矩阵,相应的映射关系为:
Figure PCTCN2021115206-appb-000062
t i∈[l],[l]代表集合{0,1,…,l-1},相应的编码可以表示为
Figure PCTCN2021115206-appb-000063
其中,u i,i∈F是冻结比特,|F|=n-k,剩余比特为信息比特。
9、核处理(Kernel Processing)
polar码译码时,需要计算后验概率
Figure PCTCN2021115206-appb-000064
可以通过递归得到,为描述简单,令m=1,相应的任务可以被称为核处理,那么:
Figure PCTCN2021115206-appb-000065
上式也可以近似表示为:
Figure PCTCN2021115206-appb-000066
上式概率对应了在译码数中
Figure PCTCN2021115206-appb-000067
可能性的最大的路径。对数似然比(log-likelihood ratio,LLR)可以近似地表示为:
Figure PCTCN2021115206-appb-000068
其中,
Figure PCTCN2021115206-appb-000069
假设对于所有u j,i<j<l都是等概的,核K最后l-i+1行构成的矩阵可以生成对应的码字,那么S 1j可以通过对这些码字的陪集执行ML译码得到,陪集首由
Figure PCTCN2021115206-appb-000070
和核K前i行构成的矩阵相乘得到。
应理解,在本申请实施例中,多次提及陪集(coset),本领域技术人员应理解其含义。例如,如果G是一个群,H是G的一个子群,g是G的一个元素,那么gH={gh:对于所有h∈H}表示H的左陪集,Hg={hg:对于所有h∈H}表示H的右陪集。下文对此不再赘述。
10、Extended Kernel codes
考虑一个由K (i)生成的(l+1,l-i)码
Figure PCTCN2021115206-appb-000071
K (i)可以由以下规则从K得到:
1)K (i)的前l列通过获取K的最后l-i行得到;
2)K (i)的最后一列第一行置为1,其余行全部置为0。
例如,Arikan的核为
Figure PCTCN2021115206-appb-000072
可以得到
Figure PCTCN2021115206-appb-000073
K (1)=(1 1 1),其相应的Trellis如图5所示。
11、相关偏差(correlation discrepancy)
在采用Trellis进行译码时,需要对不同路径(即代表不同的译码结果)进行选择和对比,对于路径值(c的分数)的定义可以由多种方式给出,例如:
1)概率的对数。例如,可以表示为:logW(c|y)
2)相关性(correlation)。例如,可以表示为:
Figure PCTCN2021115206-appb-000074
其中,S(y i)为第i个LLR。
3)correlation discrepancy。例如,可以表示为:Σ iτ(S(y i),c i)。
定义
Figure PCTCN2021115206-appb-000075
关于
Figure PCTCN2021115206-appb-000076
的correlation discrepancy为:
Figure PCTCN2021115206-appb-000077
其中,
Figure PCTCN2021115206-appb-000078
且,
Figure PCTCN2021115206-appb-000079
可以得到:
Figure PCTCN2021115206-appb-000080
其中,
Figure PCTCN2021115206-appb-000081
对于上式的求解,可以等效于寻找码字
Figure PCTCN2021115206-appb-000082
的陪集中最后一位为0和1时最可能的码字,这可以通过在码字
Figure PCTCN2021115206-appb-000083
的Trellis执行Viterbi算法实现。假设码字的最后一位被擦除,那么相应的Trellis可以被定义为第i个扩展Trellis(extended Trellis)。一般来说,Viterbi算法的复杂度为O(2 min(i+1,l-i))。
在本申请实施例中,在选择极化核时,同时考虑译码时对核处理的复杂度。有的时候性能更好的核可能会带来更高的译码复杂度,因此核矩阵构造或者选择时还需要综合考虑。
一示例,图6示出了(4096,2048)的polar子码(polar subcode)在编码侧采用不同极化核K 16和K' 16时,译码侧采用SCL译码时的性能和复杂度对比,核K 16和K' 16如图7和图8所示。
可以知道:E(K 16)=E(K' 16)=0.51828;μ(K 16)=3.346,μ(K' 16)=3.45;φ(K 16)=472,φ(K' 16)=183。其中,φ(K)表示核K的处理复杂度。需要说明的是,此处主要以基于递归的核处理算法为例进行示例性说明。
可以看出,采用K 16相比于K' 16能带来更好的性能,但是其译码时复杂度更高,所以此时对于核矩阵的选择,还需要考虑性能和复杂度的折衷。
又一示例,图9示出了(1024,512)的polar subcode在编码侧采用K' 32以及极化核K 32时,译码侧采用SCL译码时的性能和复杂度对比,核K 32和K' 32如图10和图11所示。
可以知道:E(K 32)=0.5219,E(K' 32)=0.529;μ(K 32)=3.421,μ(K' 32)=3.207;φ(K 32)=532,φ(K' 32)=6770。可以看出,采用K' 32相比于K 32能带来更好的性能,但是其译码时复杂度更高,采用K' 32译码时的复杂度可能是采用K 32译码时的复杂度的十倍以上。
由上可知,在编码时,核矩阵的选择可以影响译码复杂度。
此外,前面提到线性分组码可以用基于Trellis的方法进行译码,polar码也是一种线性分组码,也可以采用这样的方法进行译码。具体译码步骤例如可以如下所示。
1)令l(j,s)为在时刻j-1时连接到时刻j的状态s的所有状态集合;
2)令c j-1,s',s为相应的连接边上的值;
3)定义节点值为
Figure PCTCN2021115206-appb-000084
4)LLR可以根据
Figure PCTCN2021115206-appb-000085
计算得出。
一示例,针对Arikan核采用Viterbi算法时,已知Arikan的核为
Figure PCTCN2021115206-appb-000086
可以得到
Figure PCTCN2021115206-appb-000087
其相应的网格图如图12所示。通过计算可以得到:
Figure PCTCN2021115206-appb-000088
上述方法是一种ML/MAP类算法,在码长较长的时候,译码复杂度很高,很难被接受的。
有鉴于此,本申请实施例提出,可以从编码端和/或译码端进行改进,以便可以降低译码复杂度。例如,通过根据实际情况综合考虑,从构造出的多个核矩阵中选择需要的核矩阵,从而可以兼顾性能和译码复杂度。又如,采用网格码译码,并对网格图进行分割,通过将各个分割后的结果进行处理,进而得到最终的网格优化路径,可以降低译码复杂度。
下面将结合附图详细说明本申请提供的各个实施例。
图13是根据本申请实施例提供的编码方法1300的一示意性框图。
1310,获取信息比特。
也就是说,编码端设备获取待编码的信息比特。该信息比特可以是内部产生;或者,也可以是从外部接收,对此不作限定。
1320,确定目标核矩阵,该目标核矩阵是通过调整原始核矩阵获得的。
在本申请实施例中,调整原始核矩阵,至少可以包括以下两种方案。
方案1,通过调节原始核矩阵的PD,得到的一个或多个核矩阵。基于方案1得到一个或多个核矩阵,可以从该一个或多个核矩阵中选择合适的目标核矩阵。
方案2,通过调整原始核矩阵的维度,构造出多个与原始核矩阵维度不同的核矩阵。基于方案2得到一个或多个核矩阵,可以从该一个或多个核矩阵中选择合适的目标核矩阵。
应理解,在方案2中,调整原始核矩阵的维度,表示的是通过调制原始核矩阵改变核矩阵的维度。例如,对原始核矩阵的行和/或列进行相应地处理,以使得构造出的核矩阵的行小于原始核矩阵的行,构造出的核矩阵的列小于原始核矩阵的列。
关于上述两种方案,下文详细介绍。
1330,基于目标核矩阵,对信息比特进行极化编码。
在本申请实施例中,采用极化编码时,可以先构造出多个核矩阵,基于构造出的核矩阵,根据实际通信情况,选择合适的核矩阵进行编码。通过该方式,在核矩阵构造或选择时,就综合考虑性能和译码复杂度,能够实现通过选择合适的编码时所使用的核矩阵,降低译码复杂度。
例如,在实际通信中,通过调整原始核矩阵,构造出一个或多个核矩阵,并且从该一个或多个核矩阵中选择出合适的目标核矩阵。然后将数据矢量和相应构造出来的目标核矩阵的克罗内克乘积来实现编码。然后经过速率匹配,调制等模块后经过信道传输。
关于编码侧的具体方案,下文详细介绍。
图14是根据本申请实施例提供的译码方法1400的一示意性框图。
1410,获取待译码序列;
1420,基于多个网格,对待译码序列进行译码,基于多个网格中的第二网格译码时,复用多个网格中的第一网格译码的中间结果,其中,第一网格用于对待译码序列译码的第t阶段,第二网格用于对待译码序列译码的第t+i阶段,t为大于0或等于0的整数,i为大于1或等于1的整数。
示例地,第一网格对应译码第t阶段,第二网格对应译码第t+i阶段。也就是说,在译码第t阶段,基于第一网格进行译码处理,在译码第t+i阶段,基于第二子网格进行译码处理。例如,在译码第t阶段,基于第一网格进行译码,在译码第t+1阶段,基于第二网格进行译码。
此外,在各个译码阶段处理得到的结果可以记为中间结果。例如,在译码第t阶段,基于第一网格译码时,得到的结果可以记为第一网格译码的中间结果。中间结果,例如可以包括在译码第t阶段译码得到的译码路径和对应的路径度量值。下文实施例中,为简洁,用复合分支表(composite branch table,CBT)表示。也就是说,CBT存储的内容可以包括译码时对应的路径和路径值。在译码的每个阶段,都可以对应一个CBT。
在本申请实施例中,采用网格Trellis的译码算法对待译码序列进行译码时,不同译码阶段得到的中间结果可复用。也就是说,在不同的网格上进行计算时,有些计算步骤可能相同,所以可以多次复用,这使得译码复杂度得到了很大程度的降低,且提高了译码速度。
应理解,本申请实施例主要以第一网格和第二网格为例进行示例性说明,对于多个子网格中的每个网格,或者说在译码的每个阶段,都可以判断该译码阶段是否可以复用其他译码阶段译码的中间结果。
可选地,多个网格中的每个网格被分割为多个子网格。
在本申请实施例中,采用网格Trellis的译码算法对待译码序列进行译码时,可以先对网格图进行分割,把在完整的Trellis上进行译码的过程分割成对子网格(sub trellis)上进行译码的过程,从而可以降低译码复杂度。
示例地,本申请实施例提供的译码方法也可以记为递归网格译码或者递归网格分割的译码。
例如,在实际通信中,经过解速率匹配,解调后,通过本申请实施例提出的基于递归网格分割的算法对其进行译码,译码复杂度低。
关于译码侧(即递归网格分割的算法)的具体方案,下文详细介绍。
下面从编码侧和译码侧分别介绍本申请实施例的方案。
编码侧
可选地,在本申请实施例中,可以通过方案1和/或方案2,构造出多个核矩阵。在核矩阵构造或选择时,可以根据实际情况,选择合适的核矩阵用于编码。
方案1,通过调节原始核矩阵的PD,构造出多个核矩阵;
方案2,通过调整原始核矩阵的维度,构造出多个与原始核矩阵维度不同的核矩阵。
下面分别介绍这两种方案。
方案1,通过调节原始核矩阵的PD,构造出多个核矩阵。
可选地,基于已有的PDP,通过调节该PDP,进而构造出多个核矩阵。
可选地,调节给定PDP,根据调节后的PDP进行深度优先搜索。
应理解,对于其他与深度优先搜索类似的算法,或者说可以实现同样功能的算法,都适用于本申请实施例。下文,为便于理解,主要以深度优先算法为例进行示例性说明。
一种可能的实现方式,在进行深度优先搜索时,可以通过设计一些约束条件,来降低搜索空间和搜索次数。约束条件,例如可以从以下一个或多个方面考虑。
方面1,设计关于候选行集合M的约束条件。也就是说,可以限定候选行集合满足一定的条件。
一可能条件,候选行集合M需要满足:
Figure PCTCN2021115206-appb-000089
方面2,设计关于所选行的约束条件。也就是说,可以限定选择出来的行满足一定的条件。
一可能条件,从候选行集合M中选择倒数第i行时,选择出来的行v需要满足其汉明重量大于或等于D i,即wt(v)≥D i
又一可能条件,在从M中选择出某行v,如果
Figure PCTCN2021115206-appb-000090
那么此 时无需再继续往下运算,可以直接抛弃当前v,从M中选择新的行。其中,
Figure PCTCN2021115206-appb-000091
表示逻辑运算,或者说异或逻辑运算。
又一可能条件,不能选择同一陪集的行,或者说属于同一陪集的行不会再次被选中。
应理解,上述针对候选行集合M和所选行列举的约束条件仅是示例性说明,对此不作限定。例如,针对候选行集合M或所选行的其他约束条件,如属于上述约束条件的变形形式,也适用于本申请实施例。
为理解,下面介绍适用于方案1的算法流程。一可能的算法流程可以包括如下步骤。
步骤1,调节PDP,得到一个或多个新PDP。
在该步骤1中,对于给定的一个PDP,可以对其进行手动调节。示例地,在调节时,可以使得这个PDP尽可能接近Arikan矩阵的PDP,例如:
例如,一个16×16的核K 16,其相应的PDP为[1,2,2,2,2,4,4,4,4,6,6,8,8,8,8,16],E(K 16)=0.51828,μ(K 16)=3.346,φ(K 16)=472。
如前所述,在本申请实施例中,用E(K)表示极化指数,极化指数可以衡量译码性能的收敛速度,更大的极化指数代表着更快的收敛速度,从而使得在码长较短的情况下也能获得更优的译码性能。用μ(K)表示标度指数scaling exponent,scaling exponent可以用于表征核矩阵性能。用φ(K)表示复杂度,即核K的处理复杂度。对此,下文不再介绍。
对其PDP进行手动调节,可以得到核K' 16的PDP:[1,2,2,4,2,2,4,4,6,6,8,8,4,8,8,16],E(K' 16)=0.51828,μ(K' 16)=3.45,φ(K' 16)=183。
又如,一个32×32的核K' 32,其相应的PDP为[1,2,2,2,2,4,4,4,6,2,4,4,6,6,8,4,8,4,8,8,8,12,12,12,12,12,16,16,16,16,16,32],E(K' 32)=0.529,μ(K' 32)=3.207,φ(K' 32)=6770。
对其PDP进行手动调节,可以得到核K 32的PDP:[1,2,2,4,2,4,2,4,6,8,2,4,6,8,4,6,8,12,4,8,12,16,4,8,12,16,8,16,8,16,16,32],E(K 32)=0.5219,μ(K 32)=3.421,φ(K 32)=532。
应理解,上述列举的构造出的新的PDP仅是示例性说明,还可以构造出更多数量的PDP。
步骤2,针对每个新的PDP,执行深度优先搜索的核构造方法。
通过对给定的PDP进行手动调节,能够得到一个或多个的新PDP,在这些新的PDP的基础上,针对每一个新的PDP,可以执行以下深度优先搜索的核矩阵构造方法。
(1)选择一个给定的PDP:D以及一个行向量候选集合M(或者说候选行集合M)。
(2)从倒数第一行
Figure PCTCN2021115206-appb-000092
开始构造核矩阵,这一行需要满足其行重和D最后一个值 相等,即:
Figure PCTCN2021115206-appb-000093
(3)接着构造倒数第二行
Figure PCTCN2021115206-appb-000094
这一行需要满足:
Figure PCTCN2021115206-appb-000095
(4)接着构造倒数第三行
Figure PCTCN2021115206-appb-000096
这一行需要满足:
Figure PCTCN2021115206-appb-000097
5)继续以上步骤,类似地,倒数第i行需要满足:
Figure PCTCN2021115206-appb-000098
在构造核矩阵的过程中,如果在候选行集合M中找不到满足以上条件的行,那么可以回退到上一步,重新找一个新的行
Figure PCTCN2021115206-appb-000099
然后继续接下来的流程。
在构造核矩阵的过程中,在满足以下任一条件时,可以停止该算法或者说停止核构造:找到合适的核矩阵时;或者,搜索了所有候选集合的行之后仍然无法找到满足条件的行使得算法继续进行下去。
通过上述步骤,可以得到多个构造出来的核矩阵,接下来可以通过对比这些核矩阵的一些参数,如极化指数(如E(K))、scaling exponent(如μ(K))以及通过对基于这些核矩阵编码后的码字进行译码的译码复杂度(如φ(K))等,根据实际需求,选择出最好最合适的核矩阵。此外,该方法算法简单,计算也简单易实现。
进一步地,还可以增加以下一项或多项约束条件,如上文关于方面1和方面2的约束条件,以便降低尝试次数和时长。
条件1,任何核K都可以通过加法将第i行加到第j行(j<i),从而核K转化为D i=wt(K[i])的核
Figure PCTCN2021115206-appb-000100
此外,还可以把候选行集合M设置为:
Figure PCTCN2021115206-appb-000101
条件2,从候选行集合M中选择倒数第i行时,选择出来的行v需要满足其汉明重量大于或等于D i,即wt(v)≥D i
条件3,在从候选行集合M中选择出某行v,将其跟已经构建好的行进行partial distance计算时,如果
Figure PCTCN2021115206-appb-000102
那么此时无需再继续往下运算,直接抛弃当前v,从候选行集合M中选择新的行。
例如,假设构建一个16×16的核
Figure PCTCN2021115206-appb-000103
(即当前构建的核
Figure PCTCN2021115206-appb-000104
为一个16×16的核),目前已经构建好的行:
Figure PCTCN2021115206-appb-000105
Figure PCTCN2021115206-appb-000106
Figure PCTCN2021115206-appb-000107
Figure PCTCN2021115206-appb-000108
Figure PCTCN2021115206-appb-000109
假设希望找到行
Figure PCTCN2021115206-appb-000110
满足
Figure PCTCN2021115206-appb-000111
那么,首先从候选行集合M中选择v=[1111110000000000]。可以发现,
Figure PCTCN2021115206-appb-000112
wt(c)=2<6,此时,没有必要继续后续的
Figure PCTCN2021115206-appb-000113
计算,当前的v直接抛弃。
条件4,属于同一陪集的行不会再次被选中。
在从候选行集合M中选择行进行核
Figure PCTCN2021115206-appb-000114
的构建时,如果某行v一旦被选中,计算陪集
Figure PCTCN2021115206-appb-000115
Figure PCTCN2021115206-appb-000116
假设已经计算了
Figure PCTCN2021115206-appb-000117
接下来需要计算
Figure PCTCN2021115206-appb-000118
如果
Figure PCTCN2021115206-appb-000119
那么
Figure PCTCN2021115206-appb-000120
即属于同一陪集的行不会再次被选中。
应理解,上述理解的条件1至条件4仅是示例性说明,对此不作限定。例如,针对候选行集合M,或者针对选择的行,还可以设计其他约束条件,以便可以降低尝试次数和时长。
此外,可选地,一种可能的实现方式,可以在调节PDP时,可以按照使得这个PDP接近Arikan矩阵的PDP的方向调节。应理解,按照接近Arikan矩阵的PDP的方向调节PDP仅是一种可能的调节方式,对此不作限定。例如,对于构造出来的最好的核矩阵的PDP不一定是满足最接近arikan核矩阵的PDP。又如,在选择最好最合适的核矩阵时,不一定是选择PDP最接近arikan核矩阵的PDP的核矩阵。
上文详细介绍了方案1,通过方案1可以构造出多个核矩阵。下面介绍方案2。
方案2,通过调整原始核矩阵的维度,构造出多个与原始核矩阵维度不同的核矩阵。
可选地,在已有的相对较大维度的核矩阵的基础上,构造出多个相对小维度的核矩阵。基于小维度的核矩阵进行编码,能在保证相同性能的情况下,提供更低的译码复杂度。
一种可能的实现方式,可以通过缩短(shortening)方法,在已有的相对较大维度的核矩阵的基础上,构造出多个相对小维度的核矩阵。应理解,对于其他可以在已有维度的核矩阵的基础上构造出小维度的核矩阵的算法,或者说可以实现同样功能的算法,都适用于本申请实施例。下文,为便于理解,主要以shortening算法为例进行示例性说明。
为理解,下面介绍适用于方案2的算法流程。一可能的算法流程可以包括如下步骤。
步骤1,考虑一个l×l的核,即确定原始核矩阵。
步骤2,选择列j∈[l]。
步骤3,将第i行添加到所有第j列中带有1的行,i为这一列中最后一个1对应的行。
步骤4,删除第i行和第j列,得到(l-1)×(l-1)的核K'。可以知道,φ(K')<φ(K),即小维度的核对应的译码复杂度更低。
通过上述方式构建的核矩阵,其译码复杂度会更低,通过重复上述方式t次,可以得到(l-t)×(l-t)的核。
为便于理解,下面以核K 24为例,结合图15至图19,列举一具体示例。
一可能的方案,原始核矩阵为图15所示的核K 24。对于维度为24×24的核K 24,其极化指数为E(K 24)=0.502911,μ(K 24)=3.61903,φ(K 24)=374。假设要在该核K 24的基础上构建一个新的维度为20×20核,具体过程可以如下。在本申请实施例中,假设行序号和列序列均是从0开始。
(1)选择第15列,可以看出,此列为1的行只有最后一行(即第23行)。可以删除第15列和第23行,得到K 23,如图15所示。如图15,将第15列和第23行用虚框框出。
(2)选择第14列,这一列1所在位置对应的行为第13行和第14行。可以将第14行添加到第13行,第13行的结果改变,删除第14列和第14行,得到K 22,如图16所示。在图16中,将第14列和第14行用虚框框出。
(3)选择第13列,这一列1所在位置对应的行为第16行和第18行。可以将第18行添加到第16行,第16行的结果改变,删除第13列和第18行,得到K 21,如图17所示。在图17中,将第13列和第18行用虚框框出。
(4)选择第12列,这一列1所在位置对应的行为第5行。可以删除第12列和第5行,得到K 20,如图18所示。在图18中,将第12列和第5行用虚框框出。
通过上述处理,可以得到如图19所示的核矩阵K 20
或者,在该核K 24的基础上构建的核矩阵,可以包括以下一项或多项:如图16所示的核K 23,如图17所示的核K 22,如图18所示的核K 21,如图19所示的核K 20。在实际通信过程中,可以根据实际情况,综合考虑,如综合考虑性能和复杂度,从上述多个核矩阵中选择合适的核矩阵。
应理解,上述仅是为便于理解做的示例性说明,对于中间的处理过程,也可能有其他变形,对此不作限定。
通过以上方法够到得到的核矩阵,在采用相同译码算法的情况下,其译码复杂度会更低,如φ(K 20)<φ(K 24)。基于此,可以根据实际情况对核矩阵的选择进行综合考虑,如综合考虑性能和复杂度,选择合适的核矩阵。
上文结合方案1和方案2,介绍了本申请实施例提供的核矩阵构造方法。应理解,方案1和方案2可以单独使用,也可以结合使用,对此不作限定。
作为示例,下面列举通过本申请实施例构造出的几个核矩阵的形式。
一示例,维度为20的核矩阵,可以如图20至图22所示。
又一示例,维度为21的核矩阵,可以如图23和图24所示。
又一示例,维度为24的核矩阵,可以如图25至图27所示。
又一示例,维度为25的核矩阵,可以如图28和图29所示。
又一示例,维度为28的核矩阵,可以如图30所示。
又一示例,维度为32的核矩阵,可以如图10所示。
应理解,上述图20至图30列举的核矩阵仅是示例性说明,对此不作限定。
基于本申请实施例提供的编码方法,采用极化编码时,可以先构造出多个核矩阵,如通过上述方案1和/或方案2构造多个核矩阵。基于构造出的核矩阵,根据实际通信情况,选择合适的核矩阵进行编码。通过该方式,在核矩阵构造或选择时,就综合考虑性能和译码复杂度,能够实现通过选择合适的编码时所使用的核矩阵,降低译码复杂度。
译码侧
如前所述,采用网格码译码时,可以先对网格图进行分割,把在完整的Trellis上进行译码的过程分割成对子网格图(sub trellis)上进行译码的过程。然后可以通过对每一个小的网格图译码的中间结果进行组合,最终选出最优路径。
例如,更小一级的网格图中所有可能路径拼接后得到多个组合,通过选择这些可能组合中路径分数最大的那个得出更大一级的网格图最优路径及路径值。
为便于理解,下面示出了可能的算法流程。一可能的算法流程可以包括如下几个方面的内容。
方面1,针对线性分组码的网格分割。
在本申请实施例中,针对polar码译码时每个阶段t的网格图进行多级分割。
假设给定一个(8,4)的线性码C,其生成矩阵为
Figure PCTCN2021115206-appb-000121
令C h,h'为其子码,且非0位只会出现在h≤i<h’的位置;令p h,h'(C)为通过对线性码C,在除开h≤i<h’的位置进行打孔(puncturing)操作得到的线性码;令s h,h'(C)=p h,h'(C h,h')为通过对线性码C,在除开h≤i<h’的位置进行缩短(shortening)操作得到的码。例如,当0≤i<4,即h=0,h’=4时,可以得到:
Figure PCTCN2021115206-appb-000122
Figure PCTCN2021115206-appb-000123
在网格图上,从时刻h到时刻h’的路径对应于陪集p h,h'(C)/s h,h'(C)。
如图31所示,左图给出了该(8,4)码的一般性网格图示意,右图给出了该(8,4)码的分割网格图,通过对陪集的计算p 0,4(C)/s 0,4(C),可以得到4个陪集,分别是:
①{(0000),(1111)}
②{(0011),(1100)}
③{(1010),(0101)}
④{(0110),(1001)}
根据图31中左图左半部分和右图左半部分的对应关系,可以看出,它们又各自代表了从0时刻状态到4时刻状态的路径。
方面2,线性分组码的网格译码。
对于每个陪集D∈p h,h'(C)/s h,h'(C),需要找到最可能的那个元素l(D)和它对应的分数,对此,可以定义一个复合分支表(composite branch table,CBT)用于存储这两个值。需要说明的是,关于元素对应的分数,例如可以通过前面术语解释中的correlation discrepancy表示,例如可以记为E(D)。作为示例,CBT (x,y)=(l(D),E(D))。需要说明的是,对(n,k)码进行ML译码,即p 0,n(C)/s 0,n(C)只包含一个元素,所以CBT (0,n)存储的是采用ML译码时对应的路径和路径值。
应理解,关于CBT仅是为便于描述做的命名,其命名不对本申请实施例的保护范围造成限定。此外,本申请实施例并不限定CBT中只能包括两个元素,在实际通信中,CBT中可能还包括其他元素,对此不作限定。
还应理解,此处用correlation discrepancy表示元素(即路径l(D))对应的分数,其他可以用于表征该元素对应的分数(或者说路径值)的方案,也适用于本申请实施例。
方面3,CBT的构建。
假设构建CBT x,y,y-x≥2。那么,对于某个z(x<z<y),可以构建CBT x,z和CBT z,y。对D y∈p x,y(C)/s x,y(C),可以枚举所有D'∈p x,z(C)/s x,z(C)和D”∈p z,y(C)/s z,y(C)的陪集。可以得到:
Figure PCTCN2021115206-appb-000124
可以看出,路径[x,y]截断成了两部分。此时,对于CBT x,y的构建,可以不必枚举所有D y∈p x,y(C)/s x,y(C),可以通过上述截断处理的方式得到,这能够带来复杂度的降低。
为便于理解,作为示例,通过图32至图34示例地介绍利用网格图分割的方法对(8,4)汉明码进行译码的过程。假设对于一个(8,4)的汉明码,经过信道传输后,在接收端的接收信号为
Figure PCTCN2021115206-appb-000125
对该长度为8的码对应的网格图进行分割,如图32 所示,可以分割为4个长度为2的子码,该4个长度为2的子码分别对应一子网格图。
图32示出了[0,1]这一段相应的路径及路径值计算过程。如图32所示,对于[0,1],可以通过如下计算,获得[0,1]这一段相应的路径及路径值:
对于ε 20,ε 20=ε 10+τ(S 2,0)=-1;
对于ε 21,ε 21=ε 10+τ(S 2,1)=-3;
对于ε 22,ε 22=ε 11+τ(S 2,0)=0;
对于ε 23,ε 23=ε 11+τ(S 2,1)=-2。
类似地,[2,3],[4,5],[6,7]和其相应的子网格图都可以表示出来,并用类似的方法计算出各种可能路径即路径值。
接下来,[0,3]这一段可以通过[0,1]和[2,3]相应路径组合起来得到。例如,可以选出其中路径分数最大的路径,作为[0,3]这一段的路径,如图33中虚线框起来的部分。类似地,右边[4,7]这一段也可以采用相同的操作得到。最终[0,7]整个部分可以通过[0,3]和[4,7]组合得到,如可以通过[0,3]和[4,7]各种可能组合中路径分数对应最大的那条路径得到,如图34所示。
在本申请实施例中,可以根据实际情况,选择合适的分割点的位置。分割点的位置可能会影响译码复杂度。以一个24×24的核为例,对于z的选择(z:x<z<y):
一示例,均匀分割。即z=(x+y)/2,在该情况下,可能需要:715次加法(summations)、以及449次比较(comparison)。
又一示例,优化算法分割。例如:[0,24)分成[0,16)和[16,24),并进一步均匀分割。在该情况下,可能需要:250次加法以及124次比较。
因此,在实际通信中,可以根据复杂度选择分割点的位置,如可以选择某些分割点,以便降低译码复杂度。
方面4,嵌套码及嵌套生成矩阵。
根据前面的定义,可以知道s x,y(C)∈p x,y(C),令p x,y(C)的生成矩阵表示为:
Figure PCTCN2021115206-appb-000126
令s x,y(C)的生成矩阵表示为:
Figure PCTCN2021115206-appb-000127
方面5,递归网格译码。
陪集D∈p x,y(C)/s x,y(C)和向量vG' x,y存在一一对应关系。其中
Figure PCTCN2021115206-appb-000128
是一 个k' x,y×(y-x)的矩阵。令CBT x,y[v].l:=l(D),CBT x,y[v].e:=E(D),那么:
Figure PCTCN2021115206-appb-000129
其中,a,b分别代表陪集D'∈p x,z(C)/s x,z(C)和陪集D”∈p z,y(C)/s z,y(C)中对应元素的序号(如可以用二进制表示)。令w,v代表[x,y]这一段可能路径对应的序号,那么:
Figure PCTCN2021115206-appb-000130
那么,a,b可以通过以下映射关系得到:
Figure PCTCN2021115206-appb-000131
Figure PCTCN2021115206-appb-000132
其中,a’,b’为不重要的参数。根据上式,可以得到:
Figure PCTCN2021115206-appb-000133
上述计算的复杂度大概为
Figure PCTCN2021115206-appb-000134
这种方法的复杂度和分割策略有关,即如何在x,y中选择分割点z,可能会影响译码复杂度。
方面6,基于递归网格的核处理方法。
作为示例,令
Figure PCTCN2021115206-appb-000135
由前面可以知道,
Figure PCTCN2021115206-appb-000136
Figure PCTCN2021115206-appb-000137
的元素(entries),且可以通过下面的式子递归得到:
Figure PCTCN2021115206-appb-000138
其中,
Figure PCTCN2021115206-appb-000139
CBT的元素的序号用v,a,b来表示。k'=dim p x,y(C),k”=dim s x,y(C)。
可选地,在译码过程中可以通过一些处理,进一步简化译码复杂度。
方式1,复用译码的中间结果。
一种可能的设计,根据各个网格的关联度,确定基于网格译码得到的中间结果是否可被其他网格复用。
一示例,各个网格的关联度较大时,如当各个网格相似或相同时,或者在满足一定条件时,基于网格译码得到的译码结果可被其他网格译码时直接使用。例如,在polar码译 码阶段t时的各个部分的组合CBT和阶段t+1时的CBT相同,那么在阶段t+1时,无需再次计算。
可选地,可以根据不同译码阶段对线性码C进行缩短操作得到的码和/或不同译码阶段对线性码C进行打孔操作得到的码,确定各译码阶段的结果是否可复用。或者说,可以根据不同译码阶段对线性码C进行缩短操作得到的码和/或不同译码阶段对线性码C进行打孔操作得到的码,确定各个网格的关联度,进而可以确定各译码阶段的结果是否可复用。
一种可能的实现方式,可以通过检查
Figure PCTCN2021115206-appb-000140
Figure PCTCN2021115206-appb-000141
的关系,和/或,
Figure PCTCN2021115206-appb-000142
Figure PCTCN2021115206-appb-000143
的关系来确定译码的中间结果是否可被复用。
情况1,
Figure PCTCN2021115206-appb-000144
Figure PCTCN2021115206-appb-000145
时,译码的中间结果可被复用。也就是说,如果
Figure PCTCN2021115206-appb-000146
那么阶段t+1时的CBT可为阶段t时的CBT的子集,可以直接获得,无需再次计算。
情况2,
Figure PCTCN2021115206-appb-000147
时,译码的中间结果可被复用。例如,可以保存中间过程中的最大化操作结果来降低阶段t+1的计算量。
方式1可以用于polar码译码的每一阶段。例如,在polar码译码的每一阶段,都可以判断上述两种情况是否满足。
方式2,简化计算量。
一种可能的设计,可以从所有CBT的元素(entry)中减去相同的值,该处理不会影响最终结果。为理解,下面列举具体示例。
一示例,对于k'=2,k”=1,考虑计算:
CBT x,y[0].e=max(CBT x,z[0].e+CBT z,y[0].e,CBT x,z[1].e+CBT z,y[1].e)
CBT x,y[1].e=max(CBT x,z[0].e+CBT z,y[1].e,CBT x,z[1].e+CBT z,y[0].e)
Δ=CBT x,y[0].e-CBT x,y[1].e=L x,z田L z,y
可以看出:
Δ=CBT x,y[0].e-CBT x,y[1].e=L x,z田L z,y
其中,L p,q=CBT p,q[0].e-CBT p,q[1].e;a田b=sgn(a)sgn(b)min(|a|,|b|)。
例如,可以设置CBT x,y[0].e=Δ,CBT x,y[1].e=0。在该情况下,仅需要3次操作,相比于直接的做法(直接的做法需要6次操作),可以减少很多计算量,降低译码时长。
又如,如果CBT p,q[1].e=0,还可以进一步减少计算量,如可以消除2次减法。
又一示例,对于k'=1,k”=0,考虑计算:
CBT x,y[v].e=CBT x,z[v].e+CBT z,y[v].e,v∈{0,1}
如果可以保证对于任何信道向量CBT x,z[1].e=CBT z,y[v].e=0,那么可以设置CBT x,z[1].e=0,在这种情况下,仅需一次加法。
应理解,在核处理过程中,通过一些计算上的处理,以降低计算量的方式,都适用于 本申请实施例。
在对很多不同的核处理时,通过上述方式2,可以大大降低计算量,降低译码时长。
在上文方面6中,主要以
Figure PCTCN2021115206-appb-000148
为例进行了示例性说明。当
Figure PCTCN2021115206-appb-000149
的时,关于CBT x,y[v].e的公式替换为下面公式即可:
Figure PCTCN2021115206-appb-000150
其中,δ'、δ”用于表示偏移量,即δ'、δ”为取决于
Figure PCTCN2021115206-appb-000151
的偏移量。
上文结合方面1至方面6详细介绍了译码侧的方案,下面为理解,结合具体示例举例说明。
示例一,针对2次迭代的Arikan矩阵核处理过程。
Figure PCTCN2021115206-appb-000152
以图35为例。对于
Figure PCTCN2021115206-appb-000153
可以知道:p 0,4(C (0))是一个(4,4)码,s 0,4(C (0))是一个(4,3)码。可以计算得出陪集p 0,4(C (0))/s 0,4(C (0))的陪集首为:(0,0,0,0)和(1,0,0,0)。
p 0,2(C (0))、p 2,4(C (0))为(2,2)码,s 0,2(C (0))、s 2,4(C (0))为(2,1)码。在时刻2时的状态为:S 2(0,0,0,0)={(0,0)}和S 2(1,0,0,0)={(1,0)}。因此,可以得到下式:
Figure PCTCN2021115206-appb-000154
Figure PCTCN2021115206-appb-000155
Figure PCTCN2021115206-appb-000156
其中,e i,j=τ(S(y j),i)。
以图36为例。对于
Figure PCTCN2021115206-appb-000157
可以知道:p x,x+2(C (1))=p x,x+2(C (0)),s x,x+2(C (1))=s x,x+2(C (0)),x∈{0,2},p 0,4(C (1))是一 个(4,3)码,s 0,4(C (1))是一个(4,2)码,考虑其陪集中的向量(0,0,0,0)和(1,0,1,0),假设u 0=0,可以得到下式:
Figure PCTCN2021115206-appb-000158
以图37为例。对于C (2)
Figure PCTCN2021115206-appb-000159
可以知道:p 0,2(C (2))、p 2,4(C (2))为(2,1)码;s 0,2(C (2))、s 2,4(C (2))为(2,0)码;p 0,4(C (2))为(4,2)码,s 0,4(C (2))是一个(4,1)码,考虑其陪集中的向量(0,0,0,0)和(1,1,0,0),所以S 2(0,0,0,0)={(0,0)}和S 2(1,1,0,0)={(1,1)},所以仅需考虑(2,0)码的陪集(0,0)和(1,1)。假设u 0=u 1=0时,可以得到:
Figure PCTCN2021115206-appb-000160
Figure PCTCN2021115206-appb-000161
对于C (3),K (3)=(1 1 1 1 1)。
可以知道:p 0,2(C (3))=p 0,2(C (2))=p 2,4(C (2))=p 2,4(C (3))为(2,1)码,s 0,2(C (2))、s 2,4(C (2))为(2,0)码,p 0,4(C (3))为(4,1)码,s 0,4(C (4))为(4,0)码,可以得到:
Figure PCTCN2021115206-appb-000162
上文示例地介绍了针对2次迭代的Arikan矩阵核处理过程。上述具体的核处理过程仅是示例性说明,对此不作严格限定。
示例二,针对高维核矩阵的核处理过程。
以SC译码为例,将上文所述的基于递归的网格译码方法可以应用于polar码SC译码的每一阶段。假设核矩阵K1如图38所示,对此polar码进行基于本申请实施例提供的译码方法,图39显示了与此内核相对应的部分递归网格图。
在一些情况下,如
Figure PCTCN2021115206-appb-000163
那么阶段t+1时的CBT可为阶段t时的CBT的子集,可以直接获得,无需再次计算。由图39(1)和图39(2)可以看出,在译码时t=1阶段,除了加粗箭头指示的部分,其余部分的网格和t=0阶段完全一致,这说明当译码在t=1阶段时,中间的结果都可以复用t=0阶段时的结果,可以无需再次计算,可以看出大量的计算量都节省了。
在一些情况下,如
Figure PCTCN2021115206-appb-000164
时,译码的中间结果可被复用。例如,可以保存中间过程中的最大化操作结果来降低阶段t+1的计算量。由图39(3)和图39(4)可以看出,译码在t=5阶段时中间的比较操作(最大化选择操作的结果),在t=6阶段可以被 复用,由此又能带来计算量的降低。
通过本申请实施例提供的译码方法,在polar码译码的不同阶段,如果前序阶段已经计算过的步骤在后续阶段重新出现,此时直接复用之前的计算结果,这能使得polar的译码复杂度大大降低。
表1示出了在编码侧采用不同的核矩阵时,采用本申请实施例提供的译码算法和Viterbi译码算法的复杂度比较。
表1
Figure PCTCN2021115206-appb-000165
由表1可以看出,本申请实施例提供的译码算法相比于现有算法,复杂度得到了大幅降低。
可选地,本申请实施例不仅可以用于二进制域,还可以用于非二进制域。表2示出了在非二进制域上,采用本申请实施例提供的译码算法和Viterbi译码算法的复杂度比较。其中,Reed-Solomon表示里德-所罗门码,Hermitian表示埃尔米特。
表2
Figure PCTCN2021115206-appb-000166
从表2可以看出,采用本申请实施例提供的译码算法,在非二进制域依旧能带来大幅的复杂度降低。
此外,图40和图41示出了(1024,512)的polar子码polar subcode在编码侧采用核K 32、 核K' 32以及Arikan核时,译码侧译码时的性能和复杂度对比。图40和图41中的纵坐标FER表示误帧率(frame error ratio),图40中的横坐标表示空间的大小或者长度(list size),图41中的横坐标表示加法和比较的数量(number of summations and comparisons)。从图40可以看出,在相同list size的情况下,采用了核K 32和核K' 32时,采用本申请实施例提供的译码算法,能带来性能的提升。在复杂度方面,可以看出,表征Arikan核的线与表征核K 32和核K' 32的线,在不同的FER处有交叉。具体来说,可以看出,核K 32对应的曲线和采用Arikan的核的曲线在FER=3×10 -4交叉处,K 32对应的曲线需要的list size为L=32,Arikan核对应的曲线需要list size为L=200。采用核K' 32时,达到和Arikan核相同FER时,需要的list size为L=96,此时采用Arikan的核需要的list size为L=4096。
图42和图43示出了polar码和低密度奇偶校验(Low-density Parity-check,LDPC码),性能和复杂度上的对比结果。图42和图43中的横坐标E b/N 0表示误比特率,E b表示每比特(bit)信号能量,N 0表示噪声的功率谱密度,图42中的纵坐标FER表示误帧率(frame error ratio),图43中的纵坐标表示操作的平均数量(average number of operations)。从图42和图43可以看出,polar码在性能和复杂度上都更有优势。
应理解,在本申请中的各个实施例中的公式仅是示例性说明,其不对本申请实施例的保护范围造成限定。上述各个实施例中的公式主要是结合当前技术中的设计给出的示例,各个参数的定义可以是一般意义上的定义。在计算上述各个涉及的参数的过程中,也可以根据上述公式进行计算,或者基于上述公式的变形进行计算,也可以根据其它方式进行计算以满足公式计算的结果。
还应理解,编码侧和译码侧的方案可以单独使用,也可以结合使用,对此不作限定。例如,可以采用本申请实施例提供的编码方法进行编码,采用现有的译码方法进行译码。又如,可以采用现有的编码方法进行编码,采用本申请实施例提供的译码方法进行译码。又如,可以采用本申请实施例提供的编码方法进行编码,并且采用本申请实施例提供的译码方法进行译码。一示例,在将数据矢量与某些矩阵(内核)的克罗内克乘积相乘来实现编码(polar码编码),并且在接收端采用基于递归网格的译码方法进行译码。
还应理解,在上述一些示例中,以SC译码为例进行示例性说明,对此不作限定。例如,本申请实施例还可以用于SCL,序列译码(sequential decoding),SC-Flip等译码方式中。
基于上述技术方案,在一些实施例中,采用网格Trellis的译码算法对待译码序列进行译码时,可以先对网格图进行分割,把在完整的Trellis上进行译码的过程分割成对子网格上进行译码的过程,从而可以降低译码复杂度。此外,在不同的子网格上进行计算时,有些计算步骤可能相同,所以可以多次复用,这使得译码复杂度得到了很大程度的降低,且提高了译码速度。
此外,基于上述技术方案,在一些实施例中,采用极化编码时,可以先构造出多个核矩阵,基于构造出的核矩阵,根据实际通信情况,选择合适的核矩阵进行编码。通过该方式,在核矩阵构造或选择时,就综合考虑性能和译码复杂度,能够实现通过选择合适的编 码时所使用的核矩阵,降低译码复杂度。
本文中描述的各个实施例可以为独立的方案,也可以根据内在逻辑进行组合,这些方案都落入本申请的保护范围中。例如,编码侧和译码侧的方案可以单独使用,也可以结合使用。
可以理解的是,上述各个方法实施例中,由译码端设备(如网络设备或终端设备)实现的方法和操作,也可以由可用于译码端设备的部件(例如芯片或者电路)实现,由编码端设备(如网络设备或终端设备)实现的方法和操作,也可以由可用于编码端设备的部件(例如芯片或者电路)实现。
以上详细说明了本申请实施例提供的方法。以下,结合图44至图46详细说明本申请实施例提供的装置。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见上文方法实施例,为了简洁,这里不再赘述。
本申请实施例可以根据上述方法示例对编码端设备或者译码端设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以采用对应各个功能划分各个功能模块为例进行说明。
图44是本申请实施例提供的装置的示意性框图。该装置4400包括收发单元4410和处理单元4420。收发单元4410可以实现相应的通信功能,处理单元4420用于进行数据处理。收发单元4410还可以称为通信接口或通信单元。
可选地,该装置4400还可以包括存储单元,该存储单元可以用于存储指令和/或数据,处理单元4420可以读取存储单元中的指令和/或数据,以使得装置实现前述方法实施例。
该装置4400可以用于执行上文方法实施例中编码端设备所执行的动作,这时,该装置4400可以为编码端设备或者可配置于编码端设备的部件,收发单元4410用于执行上文方法实施例中编码端设备侧的收发相关的操作,处理单元4420用于执行上文方法实施例中编码端设备侧的处理相关的操作。
或者,该装置4400可以用于执行上文方法实施例中译码端设备所执行的动作,这时,该装置4400可以为译码端设备或者可配置于译码端设备的部件,收发单元4410用于执行上文方法实施例中译码端设备侧的收发相关的操作,处理单元4420用于执行上文方法实施例中译码端设备侧的处理相关的操作。
作为另一种设计,该装置4400用于执行上文图14所示实施例中编码端设备所执行的动作,收发单元4410用于:获取信息比特;处理单元4420用于:确定目标核矩阵,目标核矩阵是通过调整原始核矩阵获得的;处理单元4420还用于:基于目标核矩阵,对信息比特进行极化编码。
作为一示例,目标核矩阵的维度小于原始核矩阵的维度。
作为又一示例,目标核矩阵是通过调整原始核矩阵的部分距离partial distance获得的。
作为又一示例,目标核矩阵是通过调整原始核矩阵的partial distance,并且基于深度优先搜索算法获得的。
作为又一示例,在基于深度优先搜索算法进行处理时,使用以下一项或多项约束条件 进行处理:候选行集合M满足:
Figure PCTCN2021115206-appb-000167
或者,从所述候选行集合M中选择倒数第i行时,选择出来的行v汉明重量大于或等于D i;或者,在从所述候选行集合M中选择出所述行v,并将其跟已构建好的行进行partial distance计算,如果
Figure PCTCN2021115206-appb-000168
那么直接抛弃所述行v,从所述候选行集合M中选择新的行;或者,属于同一陪集的行不会再次被选中;其中,i用于表示行号,i∈[0,l-1];wt(v)和wt(c)均表示汉明重量;
Figure PCTCN2021115206-appb-000169
表示当前构建的核矩阵
Figure PCTCN2021115206-appb-000170
表示核矩阵
Figure PCTCN2021115206-appb-000171
的第
Figure PCTCN2021115206-appb-000172
行;D i
Figure PCTCN2021115206-appb-000173
均表示partial distance;
Figure PCTCN2021115206-appb-000174
表示核矩阵
Figure PCTCN2021115206-appb-000175
对应的码;
Figure PCTCN2021115206-appb-000176
表示逻辑运算。
作为又一示例,原始核矩阵为维度为(24×24)的核矩阵K 24,K 24为:
Figure PCTCN2021115206-appb-000177
作为又一示例,目标核矩阵为以下任一项:
Figure PCTCN2021115206-appb-000178
或者,
Figure PCTCN2021115206-appb-000179
或者,
Figure PCTCN2021115206-appb-000180
或者,
Figure PCTCN2021115206-appb-000181
或者,
Figure PCTCN2021115206-appb-000182
或者,
Figure PCTCN2021115206-appb-000183
或者,
Figure PCTCN2021115206-appb-000184
或者,
Figure PCTCN2021115206-appb-000185
或者,
Figure PCTCN2021115206-appb-000186
或者,
Figure PCTCN2021115206-appb-000187
或者,
Figure PCTCN2021115206-appb-000188
或者,
Figure PCTCN2021115206-appb-000189
该装置4400可实现对应于根据本申请方法实施例中的编码端设备执行的步骤或者流程,该装置4400可以包括用于执行图13至图43的方法实施例中的编码端设备执行的方法的单元。并且,该装置4400中的各单元和上述其他操作和/或功能分别为了实现图13至图43的方法实施例中的相应流程。
其中,当该装置4400用于执行图13中的方法1300时,收发单元4410可用于执行方法1300中的步骤1310,处理单元4420可用于执行方法1300中的步骤1320和1330。
应理解,各单元执行上述相应步骤的具体过程在上述方法实施例中已经详细说明,为了简洁,在此不再赘述。
作为另一种设计,该装置4400用于执行上文图14所示实施例中译码端设备所执行的动作,收发单元4410用于:获取待译码序列;处理单元4420用于:基于多个网格,对待译码序列进行译码,基于多个网格中的第二网格译码时,复用多个网格中的第一网格译码的中间结果,其中,第一网格用于对待译码序列译码的第t阶段,第二网格用于对待译码序列译码的第t+i阶段,t为大于0或等于0的整数,i为大于1或等于1的整数。
作为一示例,多个网格中的每个网格被分割为多个子网格。
作为又一示例,多个子网格的分割点的位置与译码复杂度相关。
作为又一示例,处理单元4420还用于:根据第一网格和第二网格的关联度,确定基于第二网格译码时是否复用第一网格译码的中间结果。
作为又一示例,处理单元4420具体用于:根据以下信息,判断基于第二网格译码时是否复用第一网格译码的中间结果:译码的第t+i阶段通过对线性码C进行缩短操作得到的码与译码的第t阶段通过对线性码C进行缩短操作得到的码;和/或,译码的第t+i阶段通过对线性码C进行打孔操作得到的码与译码的第t阶段通过对线性码C进行打孔操作得到的码。
作为又一示例,如果
Figure PCTCN2021115206-appb-000190
那么基于第二网格译码时,复用第一网格译码的中间结果;或者;如果
Figure PCTCN2021115206-appb-000191
那么基于第二网格译码时,复用第一网格译码的中间结果;其中,
Figure PCTCN2021115206-appb-000192
表示译码的第t+i阶段通过对线性码C在除开x≤z<y的位置进行缩短操作得到的码,
Figure PCTCN2021115206-appb-000193
表示译码的第t阶段通过对线性码C在除开x≤z<y的位置进行缩短操作得到的码,
Figure PCTCN2021115206-appb-000194
表示译码的第t+i阶段通过对线性码C在除开x≤z<y的位置进行打孔操作得到的码,
Figure PCTCN2021115206-appb-000195
表示译码的第t阶段通过对线性码C在除开x≤z<y的位置进行打孔操作得到的码。
作为又一示例,处理单元4420具体用于:在译码的第t+i阶段基于第二网格处理时,直接将基于第一网格译码的中间结果,作为第二网格译码的中间结果;或者,在译码的第t+i阶段基于第二网格处理时,基于第一网格处理过程中的最大化操作的结果进行处理。
该装置4400可实现对应于根据本申请方法实施例中的译码端设备执行的步骤或者流程,该装置4400可以包括用于执行图13至图43的方法实施例中的译码端设备执行的方法的单元。并且,该装置4400中的各单元和上述其他操作和/或功能分别为了实现图13至图43的方法实施例中的相应流程。
其中,当该装置4400用于执行图14中的方法1400时,收发单元4410可用于执行方法1400中的步骤1410,处理单元4420可用于执行方法1400中的步骤1420。
上文实施例中的处理单元4420可以由至少一个处理器或处理器相关电路实现。收发单元4410可以由收发器或收发器相关电路实现。收发单元4410还可称为通信单元或通信接口。存储单元可以通过至少一个存储器实现。
在一个可能的设计中,装置4400的上述功能可以通过硬件实现,或者通过硬件执行相应的软件实现。
作为一个实施例,装置4400可以包括一个或多个处理器,所述一个或多个处理器用 于执行存储器中存储的计算机程序,以使装置4400执行本申请提供的任意一个方法实施例。
可选地,所述用于存储计算机程序的存储器位于装置4400之外,所述一个或多个处理器通过电路和/或电线与所述存储器连接。所述存储器可以为一个或多个。
可选地,装置4400还包括一个或多个存储器。
进一步可选地,装置4400还包括一个或多个通信接口。
作为一些示例,所述一个通信或多个通信接口可以为输入输出接口,或者输出输出电路,本申请对此不作限定。
作为另一个实施例中,装置4400还可以通过硬件实现。
如图45所示,本申请实施例还提供一种装置4500。该装置4500包括处理器4510,处理器4510与存储器4520耦合,存储器4520用于存储计算机程序或指令和/或数据,处理器4510用于执行存储器4520存储的计算机程序或指令和/或数据,使得上文方法实施例中的方法被执行。
可选地,该装置4500包括的处理器4510为一个或多个。
可选地,如图45所示,该装置4500还可以包括存储器4520。
可选地,该装置4500包括的存储器4520可以为一个或多个。
可选地,该存储器4520可以与该处理器4510集成在一起,或者分离设置。
可选地,如图45所示,该装置4500还可以包括收发器4530,收发器4530用于信号的接收和/或发送。例如,处理器4510用于控制收发器4530进行信号的接收和/或发送。
作为一种方案,该装置4500用于实现上文方法实施例中由编码端设备执行的操作。
例如,处理器4510用于实现上文方法实施例中由编码端设备执行的处理相关的操作,收发器4530用于实现上文方法实施例中由编码端设备执行的收发相关的操作。
作为另一种方案,该装置4500用于实现上文方法实施例中由译码端设备执行的操作。
例如,处理器4510用于实现上文方法实施例中由译码端设备执行的处理相关的操作,收发器4530用于实现上文方法实施例中由译码端设备执行的收发相关的操作。
本申请实施例还提供一种装置4600,该装置4600可以用于执行上述方法实施例中由编码端设备所执行的操作,或者,该装置4600可以用于执行上述方法实施例中由译码端设备所执行的操作。
装置4600可以包括输入接口电路4610、逻辑电路4620和输出接口电路4620。
作为一种方案,该装置4600可以用于执行上述方法实施例中由译码端设备所执行的操作。
可选地,装置4600也可以为译码端中用于实现信道解码的器件或模块。例如,信道解码器或信道解码电路等。或者,装置4600也可以为配置在接收端中的芯片。
在一种可能的实现方式中,输入接口电路4610,用于获取待译码序列;逻辑电路4620,用于采用本申请提供的译码算法,对待译码序列进行译码;输出接口电路4630,用于输出译码结果。
在又一种可能的实现方式中,逻辑电路4620,用于获取待译码序列,并采用本申请提供的译码算法,对该待译码序列进行译码;以及,输出接口电路4630输出译码结果。
作为另一种方案,该装置4600可以用于执行上述方法实施例中由编码端设备所执行 的操作。
可选地,装置4600也可以为编码端中用于实现编码的器件或模块。例如,编码器或编码电路等。或者,装置4600也可以为配置在发送端中的芯片。
在一种可能的实现方式中,输入接口电路4610,用于获取信息比特;逻辑电路4620,用于采用本申请提供的编码算法,对信息比特进行编码;输出接口电路4630,用于输出编码后的极化码字。
在又一种可能的实现方式中,逻辑电路4620,用于生成信息比特,并采用本申请提供的编码算法,对该信息比特进行编码;以及,输出接口电路4630输出编码后的极化码字。
可选地,装置4600可以是芯片或者集成电路。例如,所述芯片可以为片上系统(system on chip,SOC),也可以是基带芯片等。
可选地,上述主要以输入接口电路4610和输出接口电路4620分别为单独的接口电路为例进行了示例性说明,对此不作限定。例如,输入接口电路4610和输出接口电路4620可以集成为一个接口。
本申请实施例还提供一种计算机可读存储介质,其上存储有用于实现上述方法实施例中由编码端设备执行的方法,或由译码端设备执行的方法的计算机指令。
例如,该计算机程序被计算机执行时,使得该计算机可以实现上述方法实施例中由编码端设备执行的方法,或由译码端设备执行的方法。
本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得该计算机实现上述方法实施例中由编码端设备执行的方法,或由译码端设备执行的方法。
本申请还提供一种芯片,包括一个或多个存储器以及一个或多个处理器。所述一个或多个存储器用于存储计算机程序,所述一个或多个处理器用于从所述一个或多个存储器中调用并运行所述计算机程序,使得安装有所述芯片的设备执行使本申请的方法。
本申请还提供一种通信设备,包括上述装置4500或装置4600。
本申请实施例还提供一种通信系统,该通信系统包括上文实施例中的编码端设备与译码端设备。
本文中的译码端,也即信号和/或数据的接收端。相应地,发送信号和/或数据的一方为发送端。可选地,译码端可以为通信系统中的网络设备(例如,5G的gNB),也可以为终端设备,本申请的方案不作限定。
本文中的编码端,也即信号和/或数据的发送端。相应地,接收信号和/或数据的一方为接收端。可选地,编码端可以为通信系统中的网络设备(例如,5G的gNB),也可以为终端设备,本申请的方案不作限定。
所属领域的技术人员可以清楚地了解到,为描述方便和简洁,上述提供的任一种通信装置中相关内容的解释及有益效果均可参考上文提供的对应的方法实施例,此处不再赘述。
在本申请实施例中,编码端设备或译码端设备可以包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。其中,硬件层可以包括中央处理器(central processing unit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。操作系统层的操作系统可以是任意一种或多种通过进程(process)实现 业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。应用层可以包含浏览器、通讯录、文字处理软件、即时通信软件等应用。
本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构进行特别限定,只要能够通过运行记录有本申请实施例提供的方法的代码的程序,以根据本申请实施例提供的方法进行通信即可。例如,本申请实施例提供的方法的执行主体可以是编码端设备或译码端设备,或者,是编码端设备或译码端设备中能够调用程序并执行程序的功能模块。
本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本文中使用的术语“制品”可以涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。
其中,计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质(或者说计算机可读介质)例如可以包括但不限于:磁性介质或磁存储器件(例如,软盘、硬盘(如移动硬盘)、磁带)、光介质(例如,光盘、压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等)、智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmable read-only memory,EPROM)、卡、棒或钥匙驱动器等)、或者半导体介质(例如固态硬盘(solid state disk,SSD)等、U盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)等各种可以存储程序代码的介质。
本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于:无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
应理解,本申请实施例中提及的处理器可以是中央处理单元(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM)。例如,RAM可以用作外部高速缓存。作为示例而非限定,RAM可以包括如下多种形式:静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器 件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)可以集成在处理器中。
还需要说明的是,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。此外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元实现本申请提供的方案。
另外,在本申请各个实施例中的各功能单元可以集成在一个单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。例如,计算机可以是个人计算机,服务器,或者网络设备等。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。关于计算机可读存储介质,可以参考上文描述。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求和说明书的保护范围为准。

Claims (36)

  1. 一种编码方法,其特征在于,包括:
    获取信息比特;
    确定目标核矩阵,所述目标核矩阵是通过调整原始核矩阵获得的;
    基于所述目标核矩阵,对所述信息比特进行极化编码。
  2. 根据权利要求1所述的编码方法,其特征在于,
    所述目标核矩阵的维度小于所述原始核矩阵的维度。
  3. 根据权利要求1所述的编码方法,其特征在于,
    所述目标核矩阵是通过调整所述原始核矩阵的部分距离partial distance获得的。
  4. 根据权利要求3所述的编码方法,其特征在于,所述目标核矩阵是通过调整所述原始核矩阵的partial distance,并且基于深度优先搜索算法获得的。
  5. 根据权利要求4所述的编码方法,其特征在于,在基于所述深度优先搜索算法进行处理时,使用以下一项或多项约束条件进行处理:
    候选行集合M满足:
    Figure PCTCN2021115206-appb-100001
    或者,
    从所述候选行集合M中选择倒数第i行时,选择出来的行v汉明重量大于或等于D i;或者,
    在从所述候选行集合M中选择出所述行v,并将其跟已构建好的行进行partial distance计算,如果
    Figure PCTCN2021115206-appb-100002
    那么直接抛弃所述行v,从所述候选行集合M中选择新的行;或者,
    属于同一陪集的行不会再次被选中;
    其中,i用于表示行号,i∈[0,l-1];wt(v)和wt(c)均表示汉明重量;
    Figure PCTCN2021115206-appb-100003
    表示当前构建的核矩阵
    Figure PCTCN2021115206-appb-100004
    表示核矩阵
    Figure PCTCN2021115206-appb-100005
    的第
    Figure PCTCN2021115206-appb-100006
    行;D i
    Figure PCTCN2021115206-appb-100007
    均表示partial distance;
    Figure PCTCN2021115206-appb-100008
    表示核矩阵
    Figure PCTCN2021115206-appb-100009
    对应的码;
    Figure PCTCN2021115206-appb-100010
    表示逻辑运算。
  6. 根据权利要求1至5中任一项所述的编码方法,其特征在于,
    所述原始核矩阵为维度为(24×24)的核矩阵K 24,所述K 24为:
    Figure PCTCN2021115206-appb-100011
    Figure PCTCN2021115206-appb-100012
  7. 根据权利要求1至6中任一项所述的编码方法,其特征在于,所述目标核矩阵为以下任一项:
    Figure PCTCN2021115206-appb-100013
    或者,
    Figure PCTCN2021115206-appb-100014
    或者,
    Figure PCTCN2021115206-appb-100015
    或者,
    Figure PCTCN2021115206-appb-100016
    或者,
    Figure PCTCN2021115206-appb-100017
    或者,
    Figure PCTCN2021115206-appb-100018
    或者,
    Figure PCTCN2021115206-appb-100019
    或者,
    Figure PCTCN2021115206-appb-100020
    或者,
    Figure PCTCN2021115206-appb-100021
    或者,
    Figure PCTCN2021115206-appb-100022
    或者,
    Figure PCTCN2021115206-appb-100023
    或者,
    Figure PCTCN2021115206-appb-100024
  8. 一种译码方法,其特征在于,包括:
    获取待译码序列;
    基于多个网格,对所述待译码序列进行译码,基于所述多个网格中的第二网格译码时,复用所述多个网格中的第一网格译码的中间结果,
    其中,所述第一网格用于对所述待译码序列译码的第t阶段,所述第二网格用于对所述待译码序列译码的第t+i阶段,t为大于0或等于0的整数,i为大于1或等于1的整数。
  9. 根据权利要求8所述的译码方法,其特征在于,所述多个网格中的每个网格被分割为多个子网格。
  10. 根据权利要求9所述的译码方法,其特征在于,所述多个子网格的分割点的位置与译码复杂度相关。
  11. 根据权利要求8至10中任一项所述的译码方法,其特征在于,所述译码方法还包括:
    根据所述第一网格和所述第二网格的关联度,确定基于所述第二网格译码时是否复用所述第一网格译码的中间结果。
  12. 根据权利要求8至11中任一项所述的译码方法,其特征在于,所述译码方法还包括:
    根据以下信息,判断基于所述第二网格译码时是否复用所述第一网格译码的中间结果:
    所述译码的第t+i阶段通过对线性码C进行缩短操作得到的码与所述译码的第t阶段通过对线性码C进行缩短操作得到的码;和/或,
    所述译码的第t+i阶段通过对线性码C进行打孔操作得到的码与所述译码的第t阶段通过对线性码C进行打孔操作得到的码。
  13. 根据权利要求12所述的译码方法,其特征在于,
    如果
    Figure PCTCN2021115206-appb-100025
    那么基于所述第二网格译码时,复用所述第一网格译码的中间结果;或者
    如果
    Figure PCTCN2021115206-appb-100026
    那么基于所述第二网格译码时,复用所述第一网格译码的中间结果;
    其中,
    Figure PCTCN2021115206-appb-100027
    表示译码的第t+i阶段通过对线性码C在除开x≤z<y的位置进行缩短操作得到的码,
    Figure PCTCN2021115206-appb-100028
    表示译码的第t阶段通过对线性码C在除开x≤z<y的位置进行缩短操作得到的码,
    Figure PCTCN2021115206-appb-100029
    表示译码的第t+i阶段通过对线性码C在除开x≤z<y的位置进行打孔操作得到的码,
    Figure PCTCN2021115206-appb-100030
    表示译码的第t阶段通过对线性码C在除开x≤z<y的位置进行打孔操作得到的码。
  14. 根据权利要求8至13中任一项所述的译码方法,其特征在于,
    所述基于所述第二网格译码时,复用所述第一网格译码的中间结果,包括:
    在所述译码的第t+i阶段基于所述第二网格处理时,直接将基于所述第一网格译码的中间结果,作为所述第二网格译码的中间结果;或者,
    在所述译码的第t+i阶段基于所述第二网格处理时,基于所述第一网格处理过程中的最大化操作的结果进行处理。
  15. 一种编码装置,其特征在于,包括:收发单元和处理单元,
    所述收发单元,用于获取信息比特;
    所述处理单元,用于确定目标核矩阵,所述目标核矩阵是通过调整原始核矩阵获得的;
    所述处理单元,还用于基于所述目标核矩阵,对所述信息比特进行极化编码。
  16. 根据权利要求15所述的编码装置,其特征在于,
    所述目标核矩阵的维度小于所述原始核矩阵的维度。
  17. 根据权利要求15所述的编码装置,其特征在于,
    所述目标核矩阵是通过调整所述原始核矩阵的部分距离partial distance获得的。
  18. 根据权利要求17所述的编码装置,其特征在于,所述目标核矩阵是通过调整所述原始核矩阵的partial distance,并且基于深度优先搜索算法获得的。
  19. 根据权利要求18所述的编码装置,其特征在于,在基于所述深度优先搜索算法进行处理时,所述处理单元,还用于使用以下一项或多项约束条件进行处理:
    候选行集合M满足:
    Figure PCTCN2021115206-appb-100031
    或者,
    从所述候选行集合M中选择倒数第i行时,选择出来的行v汉明重量大于或等于D i;或者,
    在从所述候选行集合M中选择出所述行v,并将其跟已构建好的行进行partial distance计算,如果
    Figure PCTCN2021115206-appb-100032
    那么直接抛弃所述行v,从所述候选行集合M中选择新的行;或者,
    属于同一陪集的行不会再次被选中;
    其中,i用于表示行号,i∈[0,l-1];wt(v)和wt(c)均表示汉明重量;
    Figure PCTCN2021115206-appb-100033
    表示当前构 建的核矩阵
    Figure PCTCN2021115206-appb-100034
    表示核矩阵
    Figure PCTCN2021115206-appb-100035
    的第
    Figure PCTCN2021115206-appb-100036
    行;D i
    Figure PCTCN2021115206-appb-100037
    均表示partial distance;
    Figure PCTCN2021115206-appb-100038
    表示核矩阵
    Figure PCTCN2021115206-appb-100039
    对应的码;
    Figure PCTCN2021115206-appb-100040
    表示逻辑运算。
  20. 根据权利要求15至19中任一项所述的编码装置,其特征在于,
    所述原始核矩阵为维度为(24×24)的核矩阵K 24,所述K 24为:
    Figure PCTCN2021115206-appb-100041
  21. 根据权利要求15至20中任一项所述的编码装置,其特征在于,所述目标核矩阵为以下任一项:
    Figure PCTCN2021115206-appb-100042
    或者,
    Figure PCTCN2021115206-appb-100043
    或者,
    Figure PCTCN2021115206-appb-100044
    或者,
    Figure PCTCN2021115206-appb-100045
    或者,
    Figure PCTCN2021115206-appb-100046
    或者,
    Figure PCTCN2021115206-appb-100047
    或者,
    Figure PCTCN2021115206-appb-100048
    或者,
    Figure PCTCN2021115206-appb-100049
    或者,
    Figure PCTCN2021115206-appb-100050
    或者,
    Figure PCTCN2021115206-appb-100051
    或者,
    Figure PCTCN2021115206-appb-100052
    或者,
    Figure PCTCN2021115206-appb-100053
  22. 一种译码装置,其特征在于,包括:收发单元和处理单元,
    所述收发单元,用于获取待译码序列;
    所述处理单元,用于基于多个网格,对所述待译码序列进行译码,基于所述多个网格中的第二网格译码时,复用所述多个网格中的第一网格译码的中间结果,
    其中,所述第一网格用于对所述待译码序列译码的第t阶段,所述第二网格用于对所述待译码序列译码的第t+i阶段,t为大于0或等于0的整数,i为大于1或等于1的整数。
  23. 根据权利要求22所述的译码装置,其特征在于,所述多个网格中的每个网格被分割为多个子网格。
  24. 根据权利要求23所述的译码装置,其特征在于,所述多个子网格的分割点的位置与译码复杂度相关。
  25. 根据权利要求22至24中任一项所述的译码装置,其特征在于,所述处理单元,还用于:
    根据所述第一网格和所述第二网格的关联度,确定基于所述第二网格译码时是否复用所述第一网格译码的中间结果。
  26. 根据权利要求22至25中任一项所述的译码装置,其特征在于,所述处理单元,还用于:
    根据以下信息,判断基于所述第二网格译码时是否复用所述第一网格译码的中间结果:
    所述译码的第t+i阶段通过对线性码C进行缩短操作得到的码与所述译码的第t阶段通过对线性码C进行缩短操作得到的码;和/或,
    所述译码的第t+i阶段通过对线性码C进行打孔操作得到的码与所述译码的第t阶段通过对线性码C进行打孔操作得到的码。
  27. 根据权利要求26所述的译码装置,其特征在于,
    如果
    Figure PCTCN2021115206-appb-100054
    那么基于所述第二网格译码时,复用所述第一网格译码的中间结果;或者
    如果
    Figure PCTCN2021115206-appb-100055
    那么基于所述第二网格译码时,复用所述第一网格译码的中间结果;
    其中,
    Figure PCTCN2021115206-appb-100056
    表示译码的第t+i阶段通过对线性码C在除开x≤z<y的位置进行缩短操作得到的码,
    Figure PCTCN2021115206-appb-100057
    表示译码的第t阶段通过对线性码C在除开x≤z<y的位置进行缩短操作得到的码,
    Figure PCTCN2021115206-appb-100058
    表示译码的第t+i阶段通过对线性码C在除开x≤z<y的位置进行打孔操作得到的码,
    Figure PCTCN2021115206-appb-100059
    表示译码的第t阶段通过对线性码C在除开x≤z<y的位置进行打孔操作得到的码。
  28. 根据权利要求22至27中任一项所述的译码装置,其特征在于,
    所述基于所述第二网格译码时,复用所述第一网格译码的中间结果,包括:
    在所述译码的第t+i阶段基于所述第二网格处理时,直接将基于所述第一网格译码的中间结果,作为所述第二网格译码的中间结果;或者,
    在所述译码的第t+i阶段基于所述第二网格处理时,基于所述第一网格处理过程中的最大化操作的结果进行处理。
  29. 一种芯片,其特征在于,包括逻辑电路和通信接口,所述通信接口用于接收待处理的数据和/或信息,并将所述待处理的数据和/或信息传输至所述逻辑电路,所述逻辑电路用于执行如权利要求1-7中任一项所述的编码的处理,以及,所述通信接口还用于输出编码后的极化码字。
  30. 一种芯片,其特征在于,包括逻辑电路和通信接口,所述通信接口用于接收待处理的数据和/或信息,并将所述待处理的数据和/或信息传输至所述逻辑电路,所述逻辑电路用于执行如权利要求8-14中任一项所述的译码的处理,以及,所述通信接口还用于输出译码结果。
  31. 一种编码装置,其特征在于,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合,所述至少一个处理器用于执行所述至少一个存储器中存储的计算机程序或指令,以使所述通信装置执行如权利要求1-7中任一项所述的编码方法。
  32. 根据权利要求31所述的编码装置,其特征在于,所述至少一个处理器与所述至少一个存储器集成在一起。
  33. 一种译码装置,其特征在于,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合,所述至少一个处理器用于执行所述至少一个存储器中存储的计算机程序或指令,以使得所述通信装置执行如权利要求8-14中任一项所述的译码方法。
  34. 根据权利要求33所述的译码装置,其特征在于,所述至少一个处理器与所述至少一个存储器集成在一起。
  35. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,当计算机指令在计算机上运行时,如权利要求1-7中任一项所述的编码方法被实现。
  36. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算 机指令,当计算机指令在计算机上运行时,如权利要求8-14中任一项所述的译码方法被实现。
PCT/CN2021/115206 2020-09-17 2021-08-30 极化码的编码方法和译码方法、及编码装置和译码装置 Ceased WO2022057599A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP21868427.2A EP4199396A4 (en) 2020-09-17 2021-08-30 METHOD AND DEVICE FOR CODING A POLAR CODE AND METHOD AND DEVICE FOR DECODING A POLAR CODE
CN202180061609.8A CN116158031A (zh) 2020-09-17 2021-08-30 极化码的编码方法和译码方法、及编码装置和译码装置
US18/183,272 US12113548B2 (en) 2020-09-17 2023-03-14 Method and apparatus for encoding polar code, and method and apparatus for decoding polar code

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2020130551 2020-09-17
RU2020130551 2020-09-17

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/183,272 Continuation US12113548B2 (en) 2020-09-17 2023-03-14 Method and apparatus for encoding polar code, and method and apparatus for decoding polar code

Publications (1)

Publication Number Publication Date
WO2022057599A1 true WO2022057599A1 (zh) 2022-03-24

Family

ID=80775871

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/115206 Ceased WO2022057599A1 (zh) 2020-09-17 2021-08-30 极化码的编码方法和译码方法、及编码装置和译码装置

Country Status (4)

Country Link
US (1) US12113548B2 (zh)
EP (1) EP4199396A4 (zh)
CN (1) CN116158031A (zh)
WO (1) WO2022057599A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN121077612A (zh) * 2024-06-03 2025-12-05 华为技术有限公司 一种编码、译码方法和装置
CN121098333A (zh) * 2024-06-05 2025-12-09 华为技术有限公司 一种译码方法及译码装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160241258A1 (en) * 2013-10-26 2016-08-18 Huawei Technologies Co., Ltd. Decoding method and apparatus of polar code
US20180013868A1 (en) * 2016-07-11 2018-01-11 Qualcomm Incorporated Reinforced list decoding
WO2019161770A1 (en) * 2018-02-23 2019-08-29 Huawei Technologies Co., Ltd. Apparatus and methods for polar code construction and coding
CN111034057A (zh) * 2017-08-23 2020-04-17 华为技术有限公司 一种生成多核极化码的设备及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3852374A4 (en) * 2018-09-23 2021-12-08 Lg Electronics Inc. PROCESS FOR ENCODING / DECODING VIDEO SIGNALS AND ASSOCIATED EQUIPMENT
KR102632560B1 (ko) * 2018-10-19 2024-02-02 삼성전자주식회사 경로 메트릭을 이용하여 입력 데이터를 디코딩하는 장치 및 이를 이용하는 디코딩 방법
CA3274552A1 (en) * 2018-12-19 2025-10-31 Lg Electronics Inc. Video coding method on basis of secondary transform, and device for same
CN110868226B (zh) * 2019-11-19 2021-09-03 武汉理工大学 基于混合极化核的极化码的编译码方法
CN119788855B (zh) * 2019-12-31 2025-12-26 Oppo广东移动通信有限公司 变换方法、编码器、解码器以及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160241258A1 (en) * 2013-10-26 2016-08-18 Huawei Technologies Co., Ltd. Decoding method and apparatus of polar code
US20180013868A1 (en) * 2016-07-11 2018-01-11 Qualcomm Incorporated Reinforced list decoding
CN111034057A (zh) * 2017-08-23 2020-04-17 华为技术有限公司 一种生成多核极化码的设备及方法
WO2019161770A1 (en) * 2018-02-23 2019-08-29 Huawei Technologies Co., Ltd. Apparatus and methods for polar code construction and coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4199396A4

Also Published As

Publication number Publication date
US20230223956A1 (en) 2023-07-13
CN116158031A (zh) 2023-05-23
CN116158031A8 (zh) 2024-05-28
EP4199396A4 (en) 2024-02-21
EP4199396A1 (en) 2023-06-21
US12113548B2 (en) 2024-10-08

Similar Documents

Publication Publication Date Title
US10461779B2 (en) Rate-compatible polar codes
WO2019158031A1 (zh) 编码的方法、译码的方法、编码设备和译码设备
WO2023226690A1 (zh) 一种编码、译码方法及装置
WO2017092543A1 (zh) 用于极化码的速率匹配的方法和装置
WO2021136540A1 (zh) Ldpc码的编码的方法和通信装置
CN109075799A (zh) 极化Polar码的编译码方法及装置
US12463746B2 (en) Encoding and decoding method and apparatus
US20210279584A1 (en) Encoding method and apparatus, and decoding method and apparatus
US11936402B2 (en) Puncturing of polar codes with complementary sequences
US11451244B2 (en) Device and method for encoding and decoding using polar code in wireless communication system
CN111656692A (zh) 对与内码级联的系统删截后的极化码进行编码
WO2020135616A1 (zh) 极化编码调制的方法和装置
CN108282259A (zh) 一种编码方法及装置
WO2022188752A1 (zh) 一种编译码方法及装置
WO2018137568A1 (zh) 编码方法、编码装置和通信装置
US12113548B2 (en) Method and apparatus for encoding polar code, and method and apparatus for decoding polar code
US20240322939A1 (en) Information processing method and device
WO2022161449A1 (zh) 编码方法、译码方法、以及通信装置
WO2020156095A1 (zh) 译码的方法和译码装置
US20250167914A1 (en) Data processing method, apparatus, and device
WO2022171019A1 (zh) 一种编码和译码方法及相关装置
WO2019137523A1 (zh) 编码方法、编码设备以及系统
US20240405786A1 (en) Encoding method and encoding apparatus based on polar code
JP7769121B2 (ja) レートマッチング方法およびレートマッチング装置
WO2024055894A1 (zh) 一种编/译码方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21868427

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180061609.8

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 202317020555

Country of ref document: IN

ENP Entry into the national phase

Ref document number: 2021868427

Country of ref document: EP

Effective date: 20230317

NENP Non-entry into the national phase

Ref country code: DE

WWG Wipo information: grant in national office

Ref document number: 11202302047U

Country of ref document: SG

WWP Wipo information: published in national office

Ref document number: 11202302047U

Country of ref document: SG