Method and apparatus for encoding or decoding

CN123019751APending Publication Date: 2026-10-30HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510577672.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-30
Publication Date
2026-10-30

Smart Images

  • Figure CN123019751A_ABST
    Figure CN123019751A_ABST
Patent Text Reader

Abstract

The application provides a distributed design method of a reliability sequence of a polar code. For the construction of a long sequence, a "distributed" design method is adopted. Z base sequences and an arrangement method of indexes of polar sub-channels contained in the Z base sequences or between the Z base sequences are constructed. The Z base sequences are arranged according to a first arrangement method to obtain a long reliability sequence. Compared with directly constructing a reliability sequence with a large length, the distributed design can reduce the construction complexity.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of channel coding, and more specifically, to a method and apparatus for encoding or decoding. Background Technology

[0002] Polar codes are the first channel coding method that can be rigorously proven to "achieve" channel capacity. At different code lengths, especially for finite code lengths, Polar codes outperform Turbo codes and low-density parity-check codes (LDPC). Furthermore, Polar codes have lower computational complexity in encoding and decoding. These advantages led to Polar codes being chosen as the channel coding scheme for the control channel in the fifth-generation (5G) standard. In practice, the standard pre-stores a reliability sequence of length 1024 for constructing Polar codes.

[0003] The application scope of Polar codes may be further expanded, requiring the introduction of longer reliability sequences. For example, it may be necessary to construct reliability sequences for Polar codes with a length greater than 1024 (e.g., 2048, 4096, etc.).

[0004] Therefore, how to design long reliability sequences is an urgent problem to be solved. Summary of the Invention

[0005] This application provides a method and apparatus for encoding or decoding, and provides a method for constructing a reliability sequence of a polar code, which is particularly suitable for constructing reliability sequences of long polar codes and can reduce the construction complexity.

[0006] Firstly, an encoding method is provided, which can be executed by a communication device. This communication device can be a communication equipment (e.g., a network-side device, a terminal-side device, or an encoding device), or a component used in the communication equipment (e.g., a processor, chip, circuit, logic module capable of implementing all or part of the functions of the communication equipment, hardware and / or software, etc.). The component used in the communication equipment can be deployed within the communication equipment, or it can be independent of the communication equipment but coupled to it. The communication equipment is applied to the encoding side. The method includes: acquiring a first sequence of length N, the first sequence comprising Z base sequences, the indices of polarization sub-channels contained in the Z base sequences being arranged in the first sequence according to a first arrangement, the first sequence indicating the reliability order of the N polarization sub-channels, Z being an integer greater than 1, N being an integer greater than Z, and N being a power of 2; performing polarization encoding based on the first sequence to obtain an encoded sequence; and outputting the encoded sequence.

[0007] In the technical solution of this application, a "distributed" design approach is adopted for constructing the reliability sequence of longer polar codes (e.g., greater than 1024). This involves constructing Z base sequences, determining a first permutation, and then arranging the Z base sequences according to the first permutation to obtain a first sequence. Compared to directly constructing a longer reliability sequence, designing multiple base sequences in a distributed manner and then determining a long reliability sequence based on these base sequences reduces the construction complexity.

[0008] Secondly, a decoding method is provided, which can be executed by a communication device. This communication device can be a communication equipment (e.g., a network-side device, a terminal-side device, or a decoding device), or a component used in the communication equipment (e.g., a processor, chip, circuit, logic module capable of implementing all or part of the functions of the communication equipment, hardware and / or software, etc.). The component used in the communication equipment can be deployed within the communication equipment, or it can be independent of the communication equipment but coupled to it. The communication equipment is applied to the decoding side. The method includes: acquiring a first sequence of length N, the first sequence comprising Z base sequences, the indices of the polarization sub-channels contained in the Z base sequences being arranged in the first sequence according to a first arrangement, the first sequence indicating the reliability order of the N polarization sub-channels, Z being an integer greater than 1, N being an integer greater than Z, and N being a power of 2; performing polarization decoding based on the first sequence to obtain a decoded sequence; and outputting the decoded sequence.

[0009] The second method is the decoding method corresponding to the encoding method in the first aspect, which can achieve the technical effects described in the first aspect, and will not be elaborated further.

[0010] In some implementations of the first or second aspect, the first sequence is determined based on the Z base sequences and the first permutation.

[0011] In this implementation, the long reliability sequence (i.e., the first sequence) is obtained by arranging Z base sequences in a certain way (such as the first arrangement). Compared with directly designing the long reliability sequence, the complexity of sequence construction is lower in distributed design.

[0012] In some implementations of the first or second aspect, the Z base sequences and the first permutation are related.

[0013] In this implementation, the design of the Z base sequences and the determination of the first permutation are interrelated. In other words, the Z base sequences are determined based on the first permutation; therefore, different base sequences may result in different first permutations. Conversely, the first permutation is determined based on the Z base sequences; therefore, different first permutations may lead to different Z base sequences. Thus, the long-term reliable sequence is determined jointly by the Z base sequences and their permutation, ensuring sequence performance.

[0014] In some implementations of the first or second aspect, the first arrangement relates to the capacity allocation of the sub-channels of the polar code.

[0015] In this implementation, the arrangement of the Z basis sequences is related to the capacity allocation of the polarization sub-channels. As an example, a channel capacity allocation algorithm can be used to calculate the capacity allocation of the polarization sub-channels; this algorithm can be a known algorithm.

[0016] In some implementations of the first or second aspect, the first permutation is indicated by a first indicator vector, which includes Z sets of positions, each of which corresponds to one of the Z base sequences. The number of positions in each set is equal to the length of the corresponding base sequence. The permutation of all positions in the Z sets of positions in the first indicator vector corresponds to the first permutation.

[0017] The arrangement of all positions in the Z position sets refers to the relative order of all positions in the Z position sets.

[0018] In this implementation, the arrangement of the Z base sequences is indicated by an indicator vector. The encoding or decoding side stores the Z base sequences and the first indicator vector, thereby determining the first sequence.

[0019] In some implementations of the first or second aspect, the first permutation is determined based on a known reliability sequence of length Q, where Q is an integer greater than 1 and a power of 2.

[0020] In this implementation, the first arrangement is determined based on the reliability sequence, which can be the reliability sequence in NR, thus reducing the complexity of sequence design.

[0021] In some implementations of the first or second aspect, the lengths of the Z base sequences satisfy any of the following: the lengths of the Z base sequences are the same and are powers of 2; the Z base sequences include a first base sequence whose length is different from the lengths of the other base sequences, and the first base sequence is one or more.

[0022] In this implementation, the lengths of the Z base sequences may be the same or not exactly the same, allowing for a variety of flexible design approaches.

[0023] In some implementations of the first or second aspect, at least one of the Z base sequences is a reliability sequence of a corresponding length in the new radio interface (NR).

[0024] In this implementation, the Z base sequences used to construct the long reliability sequence include at least one reliability sequence of the corresponding length in NR, which can reduce design complexity and improve system compatibility.

[0025] In some implementations of the first or second aspect, the first arrangement relates to the ordering of the capacities of the N polarization sub-channels, wherein the ordering of the capacities of the N polarization sub-channels is determined based on at least one of the following: density evolution, Gaussian approximation, reliability sequence, polarization weight (PW) formula.

[0026] This implementation provides multiple ways to allocate channel capacity.

[0027] In some implementations of the first or second aspect, the method further includes: determining the Z base sequences and a first permutation.

[0028] In some implementations of the first or second aspect, determining Z base sequences and a first permutation includes: determining Z base sequences; and determining the first permutation based on the Z base sequences.

[0029] In this implementation, Z base sequences are first determined, and then the arrangement of the Z base sequences (i.e., the first arrangement) is determined based on the already determined Z base sequences to improve the performance of the designed long reliability sequence.

[0030] In some implementations of the first or second aspect, determining the Z base sequences and the first permutation includes: determining the first permutation; and determining the Z base sequences based on the first permutation.

[0031] In this implementation, the arrangement of multiple base sequences (i.e., the first arrangement) is first determined, and then Z base sequences are determined based on the determined first arrangement to improve the performance of the designed long reliability sequence.

[0032] In some implementations of the first or second aspect, the Z base sequences are obtained in one of the following ways: the Z base sequences are obtained in parallel, and the determination of each base sequence in the Z base sequences is independent of the other base sequences; or, the Z base sequences are obtained serially, and p base sequences in the Z base sequences are determined based on at least one of the remaining base sequences in the Z base sequences other than the p base sequences, where p is an integer greater than or equal to 1 and p is less than Z; or, partial indices of each base sequence in the Z base sequences are obtained in parallel, and the remaining indices of the Z base sequences are determined in parallel.

[0033] This implementation provides multiple ways to acquire the Z base sequences to adapt to different design requirements. For example, serial acquisition can improve the performance of the designed sequence; parallel acquisition can simplify sequence design; or parallel acquisition of some elements in the base sequence (specifically, the polarization channel index) can improve the flexibility of base sequence design.

[0034] In some implementations of the first or second aspect, N, Z, and the first arrangement satisfy at least one of the following: when N is the same, Z is different; when N is different, Z is the same and the first arrangement is different; and when N is different, both Z and the first arrangement are different.

[0035] In this implementation, there are multiple possible design options for the length N of the long reliability sequence, the number Z of the base sequences, and the arrangement of the Z base sequences to meet different communication scenarios (or communication requirements), such as high bit rate scenarios, low bit rate scenarios, and low latency scenarios. At least one of N, Z, and the first arrangement may adopt different design methods depending on the communication scenario (or communication requirements), allowing for flexible fulfillment of various communication needs.

[0036] Thirdly, a communication device is provided, which has the function of implementing the method in the first aspect or any possible implementation of the first aspect. The function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more units corresponding to the above-described function.

[0037] As an example, the communication device includes a processing module and a communication module, wherein the processing module is used to: acquire a first sequence of length N, and perform polar coding based on the first sequence to obtain a coded sequence. The communication module is used to output the coded sequence.

[0038] Fourthly, a communication device is provided, which has the function of implementing the method in the second aspect or any possible implementation of the second aspect. The function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more units corresponding to the above-described function.

[0039] As an example, the communication device includes a processing module and a communication module, wherein the processing module is used to: acquire a first sequence of length N, and decode a received value sequence based on the first sequence to obtain a decoded sequence; the communication module is used to output the decoded sequence.

[0040] In the third or fourth aspect described above, as an example, the communication module can be an RF module, and the processing module can be a processor (in some implementations, it can also be considered an encoder or decoder). The processing performed by the communication module and the processing module respectively is only an example. The processing involved in the complete link from the information bit sequence on the transmitting side to the modulation symbol, and the processing involved in the complete link from the received value sequence on the receiving side to the decoded sequence, are usually completed collaboratively by the RF module and the processor. However, the specific division of labor depends on the communication standard, hardware architecture, or performance requirements. For example, when the processor integrates modulation (or demodulation) functions, the process of obtaining the encoded sequence through encoding, or the process of obtaining the decoded sequence through decoding, can be completed in the processor. For example, when the modulation (or demodulation) function is performed by the radio frequency (RF) module, on the encoding side, the processor is responsible for encoding to obtain an encoded sequence and sending the encoded sequence to the RF module. The RF module performs mapping and modulation processing to obtain a symbol sequence and sends it. On the decoding side, the RF module is responsible for demodulating and demapping the received value sequence (or what is considered a noisy signal) received on the channel to obtain an LLR sequence and sending it to the processor. The processor decodes based on the LLR sequence to obtain the decoded sequence.

[0041] Fifthly, a communication device is provided, comprising at least one processor configured to cause the communication device to execute the method of the first aspect or any possible implementation thereof; or to execute the method of the second aspect or any possible implementation thereof. Optionally, the at least one processor is coupled to at least one memory for storing computer programs or instructions, and the at least one processor is configured to call and run the computer program or instructions from the at least one memory, causing the communication device to execute the method of the first aspect or any possible implementation thereof; or to execute the method of the second aspect or any possible implementation thereof. Optionally, the at least one processor may be included in the communication device or may be configured outside the communication device. Optionally, the communication device further includes the at least one memory. Optionally, the communication device further includes at least one communication interface. As an example, the communication interface may include an input interface and / or an output interface, or may be an interface circuit.

[0042] Sixthly, a communication device is provided, comprising a communication interface and a circuit. The communication interface is configured to receive a signal to be processed and transmit the signal to the circuit. The circuit is configured to process the signal to perform a method as described in the first aspect or any possible implementation thereof; or to perform a method as described in the second aspect or any possible implementation thereof. Optionally, the communication interface is further configured to output a signal processed by the circuit. Optionally, the signal may include information and / or data. Optionally, the communication device may be a chip (e.g., a baseband chip) or a chip system.

[0043] A seventh aspect provides a computer-readable storage medium storing computer program code or instructions that, when executed on a computer, cause the method of the first aspect or any possible implementation thereof to be implemented; or, the method of the second aspect or any possible implementation thereof to be implemented.

[0044] Eighthly, a computer program product is provided, the computer program product comprising computer program code or instructions, which, when executed on a computer, cause the method in the first aspect or any possible implementation thereof to be implemented; or, as in the second aspect or any possible implementation thereof, the method to be implemented.

[0045] Ninth aspect, a wireless communication system is provided, including the communication device as described in the third aspect and the communication device as described in the fourth aspect. Attached Figure Description

[0046] Figure 1 This is an example of a communication system applicable to the technical solutions of this application.

[0047] Figure 2 This is a schematic diagram of the basic process of wireless communication.

[0048] Figure 3 A schematic flowchart illustrating the encoding method provided in this application.

[0049] Figure 4 A schematic structural diagram of the communication device provided in this application.

[0050] Figure 5 A schematic structural diagram of another communication device provided in this application.

[0051] Figure 6 A schematic structural diagram of the chip provided in this application. Detailed Implementation

[0052] The technical solutions in this application will now be described with reference to the accompanying drawings.

[0053] The technical solutions of this application can be applied to various communication systems, including but not limited to: satellite communication systems, fifth-generation (5G) systems or new radio (NR) systems, long-term evolution (LTE) systems, LTE frequency division duplex (FDD) systems, LTE time division duplex (TDD) systems, future communication systems, etc. Furthermore, they can also be applied to sidelink (SL) communication, vehicle-to-everything (V2X) communication, machine-to-machine (M2M) communication, machine-type communication (MTC), and Internet of Things (IoT) communication systems, or other communication systems, etc., which are not limited herein.

[0054] The communication system applicable to this application may include one or more transmitters and one or more receivers. Optionally, one of the transmitters and receivers may be a terminal device, and the other may be a network device.

[0055] For example, a terminal device may also be referred to as user equipment (UE), access terminal, user unit, user station, mobile station, mobile station, mobile terminal (MT), remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user apparatus. In the embodiments of this application, the terminal device may be a device that provides voice and / or data connectivity to a user, and can be used to connect people, objects, and machines, such as a handheld device with wireless connectivity, in-vehicle equipment, etc. The terminal device in the embodiments of this application may be a mobile phone, tablet computer, laptop computer, PDA, mobile internet device (MID), wearable device, virtual reality (VR) device, augmented reality (AR) device, wireless terminal in industrial control, wireless terminal in self-driving, wireless terminal in remote medical surgery, wireless terminal in smart grid, wireless terminal in transportation safety, wireless terminal in smart city, wireless terminal in smart home, etc. Optionally, the UE may be used to act as a base station. For example, the UE may act as a scheduling entity, providing sidelink signals between UEs in V2X or SL, etc.

[0056] In this embodiment, the device for implementing the terminal-side function can be a terminal device or a device capable of supporting the terminal device in implementing the function, such as a chip, chip system, hardware circuit, software module, or a combination of hardware circuit and software module. This device can be installed in the terminal device or used in conjunction with the terminal device. The chip system can be composed of chips or can include chips and other discrete components.

[0057] The network device in this application embodiment may include a network-side device that communicates with the terminal device, and the network device may include an access network device. The access network device in this application embodiment may refer to a radio access network (RAN) node (or device) that connects the terminal device to the wireless network. Access network equipment can broadly encompass or be replaced by various names such as: wireless access network equipment, base station, NodeB, evolved NodeB (eNB), next-generation NodeB (gNB), relay station, access point, transmitting and receiving point (TRP), transmitting point (TP), master station, auxiliary station, motor slide retainer (MSR) node, home base station, network controller, access node, wireless node, access point (AP), transmission node, transceiver node, baseband unit (BBU), remote radio unit (RRU), active antenna unit (AAU), remote radio head (RRH), central unit (CU), distributed unit (DU), radio unit (RU), positioning node, etc. A base station can be a macro base station, micro base station, relay node, donor node, or a combination thereof. A base station can also refer to a communication module, modem, or chip installed within the aforementioned equipment or apparatus. A base station can also be a mobile switching center, equipment performing base station functions in D2D, V2X, and M2M communications, network-side equipment in future communication networks, or equipment performing base station functions in future communication systems. A base station can support networks using the same or different access technologies. Optionally, a RAN node can also be a server, wearable device, vehicle, or in-vehicle equipment. For example, the access network equipment in vehicle-to-everything (V2X) technology can be a roadside unit (RSU). The embodiments of this application do not limit the specific technologies or equipment forms used in the network equipment.

[0058] Base stations can be fixed or mobile. For example, an airplane, helicopter, or drone can be configured to act as a mobile base station, and one or more cells can move depending on the location of the mobile base station. In other examples, an airplane, helicopter, or drone can be configured as a device to communicate with another base station.

[0059] In some deployments, the network devices mentioned in the embodiments of this application may be devices including CU, DU, or CU and DU, or devices with control plane CU nodes (central unit-control plane (CU-CP)) and user plane CU nodes (central unit-user plane (CU-UP)) and DU nodes. For example, the network devices may include gNB-CU-CP, gNB-CU-UP, and gNB-DU.

[0060] In some deployments, multiple RAN nodes collaborate to assist terminals in achieving wireless access, with different RAN nodes each implementing some of the base station's functions. For example, RAN nodes can be CUs, DUs, CU-CPs, CU-UPs, or RUs. CUs and DUs can be configured separately or included in the same network element, such as a BBU. RUs can be included in radio frequency equipment or radio frequency units, such as RRUs, AAUs, or RRHs.

[0061] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an open radio access network (ORAN / O-RAN) system, CU can also be called an open CU (open CU, O-CU), and DU can also be called an open DU (open DU, O-DU). CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software modules and hardware modules.

[0062] In this embodiment, the device for implementing network-side functions can be a network device or a device capable of supporting the network device in implementing corresponding functions, such as a chip, chip system, hardware circuit, software module, or a combination of hardware circuit and software module. This device can be installed in the network device or used in conjunction with the network device. The chip system can be composed of chips or may include chips and other discrete components.

[0063] Optionally, the communication system provided in this application embodiment may further include artificial intelligence (AI) network elements to implement some or all AI-related operations. AI network elements may also be referred to as AI nodes, AI devices, AI entities, AI modules, AI models, or AI units, etc. The AI ​​network element may be built into a network element within the communication system. For example, the AI ​​network element may be an AI module built into: access network equipment, core network equipment, cloud server, or operation, administration, and maintenance (OAM) to implement AI-related functions. The OAM may act as the network management system for the core network equipment and / or the access network equipment. Alternatively, the AI ​​network element may also be an independently configured network element within the communication system. Optionally, the terminal device or its built-in chip may also include an AI entity to implement AI-related functions.

[0064] The encoding method and corresponding decoding method provided in this application can be applied to a variety of communication scenarios.

[0065] Figure 1 This is an example of a communication system applicable to the technical solution of this application. The encoding method and corresponding decoding method provided in this application can be applied to... Figure 1 The communication between the network device and the terminal device shown is either uplink or downlink communication. In this communication scenario, the encoding device can be a terminal-side device in uplink communication or a network-side device in downlink communication; correspondingly, the decoding device can be a network-side device in uplink communication or a terminal-side device in downlink communication.

[0066] Figure 2 This is a schematic diagram of the basic process of wireless communication. For example... Figure 2 As shown, at the signal transmitting end (or encoding side), the signal source is transmitted after sequentially undergoing source coding, channel coding, and modulation. At the signal receiving end (or decoding side), the received signal is sequentially demodulated, channel decoded, and source decoded before being output to the destination.

[0067] The encoding method provided in this application corresponds to Figure 2 The channel coding process shown corresponds to the decoding method. Figure 2 The channel decoding process is shown in the diagram. The encoding method can be implemented by an encoding unit (e.g., an encoder or a device that supports the communication device in implementing the corresponding encoding function) in the communication device; the decoding method can be implemented by a decoding unit (e.g., a decoder or a device that supports the communication device in implementing the corresponding decoding function) in the communication device.

[0068] The encoding or decoding methods provided in this application are described below.

[0069] As an example, the encoding or decoding method can be performed by a communication device, which can refer to communication equipment in general (e.g., network-side equipment, terminal-side equipment, etc.) or components used in the communication equipment (e.g., processors, chips, circuits, etc., or logic modules, hardware and / or software that can implement all or part of the functions of the communication equipment). Components used in the communication equipment can be deployed in the communication equipment, or they can be independent of the communication equipment but coupled to it. Optionally, a communication equipment that can perform encoding functions can also be called an encoding device, and a communication equipment that can perform decoding functions can also be called a decoding device.

[0070] The following section uses the encoding and decoding devices as examples to illustrate the scheme of this application.

[0071] Considering the significant difficulty in directly constructing reliable sequences for long-length Polar codes, this application proposes a "distributed" construction method. This involves first constructing multiple base sequences, and then obtaining a reliable sequence of the desired length based on these base sequences. When constructing these base sequences, factors such as construction complexity, the performance of the reliable sequence, and compatibility with traditional systems must be considered simultaneously. This approach aims to achieve a balance between obtaining a reliable sequence for the target length of the Polar code and achieving a compromise between construction complexity and the performance of the reliable sequence.

[0072] Figure 3 This is a schematic flowchart illustrating the encoding method provided in this application. The method can be executed by a communication device, which can refer to a communication equipment (e.g., a network-side device, a terminal-side device, or an encoding device), or it can refer to components used in the communication equipment (e.g., a processor, chip, circuit, or a logic module, hardware, and / or software capable of implementing all or part of the functions of the communication equipment, etc.). The components used in the communication equipment can be deployed within the communication equipment, or they can be independent of the communication equipment but coupled to it.

[0073] The following explanation uses the encoding and decoding devices as examples to illustrate the scheme.

[0074] 310. The encoding device acquires a first sequence of length N, which includes Z base sequences. The polarization sub-channel indices contained in the Z base sequences are arranged in the first sequence according to a first arrangement. The first sequence indicates the reliability order of the N polarization sub-channels, where Z is an integer greater than 1 and N is an integer greater than Z and a power of 2. For example, for a first sequence of N=8, the first sequence includes Z=2 base sequences, denoted as base sequence #1 and base sequence #2, respectively. Base sequence #1 = [0 1 2 3], base sequence #2 = [4 5 6 7], and the first arrangement is [0 0 0 1 01 1 1]. Here, the 0 position is occupied by an element of base sequence #1, and the 1 position is occupied by an element of base sequence #2. Thus, the first sequence can be determined as [0 1 2 4 3 5 6 7]. Here, the first arrangement is represented by an indicator vector [0 0 0 1 0 1 1 1]. For an explanation of the indicator vector, please refer to the following embodiment.

[0075] Here, the first sequence of length N refers to the reliability sequence of the polar code of the desired length. N is the length of the parent code of the polar code, which is an integer power of 2. In the "distributed" design method of the reliability sequence provided in this application, the sequence of length N can be determined by Z base sequences, where N and Z are positive integers.

[0076] In one implementation, the length N of the first sequence is greater than or equal to the total length of the Z base sequences.

[0077] In one example, the total length of the Z base sequences is equal to the length N of the first sequence.

[0078] In another example, the first sequence is determined based on Z base sequences, and the length N of the first sequence is greater than or equal to the total length of the Z base sequences. For example, there are Z = 1 base sequences, denoted as base sequence #1, with a length of 1024. When determining the first sequence of length N = 2048, base sequence #1 indicates the order of polarimetric subchannels with an index range of 0 to 1023. Furthermore, the elements in base sequence #1 are uniformly biased by the same 1024, resulting in an order of polarimetric subchannels with an index range of 1024 to 2047. Based on the reliability sequences of polarimetric subchannels with an index range of 0 to 1023 and the reliability sequences with an index range of 1024 to 2047, the first sequence of length N = 2048 can be determined. In this example, only base sequence #1 can be stored; in this case, the length N of the first sequence is greater than the total length of the Z = 1 base sequences.

[0079] It can be understood that in the construction method of polar codes, the reliability sequence is the sorting of the indices (or sequence numbers) of the polarization sub-channels, or the sorting of the bit position indices, with each bit position corresponding one-to-one with a polarization sub-channel. Taking the first sequence of length N as an example, the first sequence represents the sorting of the indices of N polarization sub-channels, which represents the sorting of the reliability of the N polarization sub-channels. Therefore, the elements in the reliability sequence or base sequence of the polar code in the embodiments of this application all refer to the indices (or sequence numbers) of the polarization sub-channels. For the sake of brevity, the "index of the polarization sub-channel" will also be simply referred to as "index" in the following embodiments.

[0080] In the "distributed" design proposed in this application, the encoding device first determines Z base sequences, and then determines a first sequence based on the Z base sequences. Specifically, the first sequence is formed by arranging the Z base sequences in a first permutation. In other words, the first sequence is determined based on the Z base sequences and the first permutation; that is, the first sequence can be determined once the Z base sequences and the first permutation have been determined.

[0081] As an example, the indices in the Z base sequences are used to obtain the first sequence through methods such as "crossing" or "concatenation" (or splicing). In other words, the first arrangement can be achieved through methods such as "crossing" or "concatenation" between the Z base sequences; or it can be achieved through methods such as "crossing," "splicing," or "concatenation" between the indices in the Z base sequences. As an example, "crossing" can be understood as the ordering of all elements contained in Z base sequences. For example, base sequence #1 = [0 1 2 3] and base sequence #2 = [4 5 6 7] are obtained by "crossing" to get the first sequence [0 1 2 4 3 5 6 7]. "Cascading" can be understood as the ordering of Z base sequences, where the ordering of elements contained in each base sequence is still continuous in the first sequence. For example, base sequence #1 = [0 1 2 3] and base sequence #2 = [4 5 6 7] are obtained by "cascading" to get the first sequence [0 1 2 3 4 5 6 7].

[0082] Among them, the Z base sequences and the first permutation are related.

[0083] In this embodiment of the application, the Z base sequences are related to the first permutation and can represent at least one of the following:

[0084] The Z base sequences are determined based on the first permutation method;

[0085] The first permutation method is determined based on Z base sequences.

[0086] In one implementation, the Z base sequences are determined based on a first permutation.

[0087] This implementation can be represented as follows: First, determine the first permutation; given the target length N and the first permutation, then determine Z base sequences. This can be understood as follows: because the first permutation is determined first, the subsequently determined Z base sequences must match the first permutation to obtain a first sequence that meets performance requirements. This implementation simplifies the design of the first permutation and reduces the complexity of designing long sequences.

[0088] As an example, the first arrangement is determined based on capacity allocation.

[0089] For example, given a length N, for the number of information bits K, iterate from 1 to N sequentially. For a given K, analyze and calculate the number of information bits in the first and second subcodes, and compare them with the number of information bits in the first and second subcodes when the number of information bits is K-1. If the number of information bits in the first subcode when the number of information bits is K is one more than the number of information bits in the first subcode when the number of information bits is K-1, then add a first position; conversely, if the number of information bits in the first subcode when the number of information bits is K-1 is one more than the number of information bits in the first subcode when the number of information bits is K, then add a second position. By iterating from 1 to N in this way, the set of first positions and the set of second positions are determined. Elements from base sequence #1 are placed in the first position, and elements from base sequence #2 are placed in the second position, thus determining the first arrangement. Here, base sequence #1 and base sequence #2 represent the two base sequences in the example of Z=2. As an example, the calculation of the number of information bits in the first subcode can be related to the channel capacity.

[0090] As an example, the number of information bits in the first subcode can be calculated using the following formula:

[0091]

[0092] Where K1 represents the number of information bits in the first sub-code. After determining K1, the number of information bits in the second sub-code is K2 = K - K1.

[0093] Where J(X)=1-exp(a*X) 3 +b*X 2 +c*X+d), a=1.81491E-3, b=-1.42675E-1, c=-8.22054E-2, d=5.49608E-2.

[0094] Alternatively, an approximation algorithm can be used to simplify the implementation of the function J(X), and this application does not impose any restrictions on this.

[0095] For a polar code of length N, the first subcode is the subcode corresponding to the subchannels from 0 to N / 2-1, and the second subcode is the subcode corresponding to the subchannels from N / 2 to N-1.

[0096] As another example, the first permutation is determined based on a known reliability sequence of length Q, where Q is an integer greater than 1 and a power of 2. For example, the first permutation is determined based on the reliability sequence of NR.

[0097] For example, based on a base sequence (denoted as Q) A (For example) The process of determining the first permutation can be as follows: Q A Given a length of R, Q is... A Performing a Kronecker operation on [1,1] yields a vector of length 2R. Positions less than R / 2 are set as the first set, and positions greater than or equal to R / 2 are set as the second set. In this example, the base sequence Q... A This can be a reliability sequence in NR, for example, a reliability sequence of length 1024 in NR. According to Q... A The sets of the first and second positions are obtained as follows:

[0098] I1 = kron(Q) A ,[1,1])<512;

[0099] I2=kron(Q A ,[1,1]≥512);

[0100] Where I1 represents the set of the first position and I2 represents the set of the second position.

[0101] In this arrangement, elements from base sequence #1 are placed at the first position, and elements from base sequence #2 are placed at the second position, thus determining the first permutation. Base sequence #1 and base sequence #2 represent the two base sequences in the example where Z=2.

[0102] In another implementation, the first permutation is determined based on Z base sequences.

[0103] This implementation can be represented as follows: First, determine Z base sequences; given the target length N and the Z base sequences, determine the first permutation. This can be understood as follows: because the Z base sequences are determined first, and these Z base sequences are arranged in a specific permutation, a first sequence that meets the performance requirements can be obtained. Therefore, this specific permutation (i.e., the first permutation) matches the already determined Z base sequences. This implementation simplifies the design of base sequences and reduces the complexity of designing long sequences.

[0104] One possible implementation is as follows: First, obtain Z base sequences, then search for "permutations" based on the Z base sequences, and the final determined permutation is the first permutation. This implementation can be understood as follows: After determining the Z base sequences, arrange the indices between or within the Z base sequences using multiple permutations, and determine the first permutation by comparing the sequence performance corresponding to different permutations. This implementation can improve the performance of the determined first sequence.

[0105] It's understandable that different permutations result in different index orders in the first sequence. Alternatively, it can be understood that since the first sequence itself refers to a reliability sequence, different permutations correspond to different reliability sequences of length N. Therefore, the performance of the reliability sequences (i.e., the first sequence) corresponding to different permutations may differ. The permutation corresponding to the desired sequence performance is the first permutation. Alternatively, the first permutation can be considered the permutation that meets the requirements.

[0106] As an example, a suitable permutation may consider at least one of the following: sequence performance of the first sequence, construction complexity of the first sequence, transmission latency, and system compatibility. For instance, the first permutation could be one where the sequence performance of the first sequence meets the requirements while minimizing the construction complexity. Alternatively, in high-reliability transmission scenarios, such as ultra-reliable and low-latency communications (uRLLC), the first permutation could be the one with the optimal sequence performance among all searched permutations.

[0107] In another implementation, the Z base sequences and the first permutation can be determined in parallel.

[0108] This implementation can be understood as follows: the design of the Z base sequences and the first arrangement can be independent of each other. One possible implementation is to determine the first arrangement based on one or more of the following: channel capacity allocation, density evolution, Gaussian approximation, NR reliability sequence, and polarization weight (PW) formula. Here, the PW formula can also be replaced by its variant or improved formula, without limitation. This implementation can further improve the parallelism of sequence design and reduce the complexity of sequence design.

[0109] Therefore, there are several ways to determine the first sequence: first determine Z base sequences, then determine the first permutation, and finally determine the first sequence based on the Z base sequences and the first permutation; or first determine the first permutation, then determine Z base sequences, and finally determine the first sequence based on the Z base sequences and the first permutation; or determine Z base sequences and the first permutation in parallel.

[0110] As an example, for one of the Z base sequences, it can be determined based on one or more of the following: channel capacity, pre-computed known sequences, etc. For instance, if the length of base sequence #1 is less than or equal to (or less than) a threshold, the position of the information bit in base sequence #1 is determined using a sequence (e.g., a polarization weight sequence) or a density evolution technique; if the length of base sequence #1 is greater than (or equal to) the threshold, the position of the information bit in base sequence #1 can be determined using a recursive construction method (e.g., merging multiple small polar codes). Accordingly, the selected position of the information bit ensures that the decoding device can efficiently multiplex it, thereby reducing hardware complexity. The decoding device, receiving the transmission from the encoding device, can use a similar technique to identify the position of the information bit by recursively dividing the unpolarized channel.

[0111] As another example, the Z base sequences are obtained through one or more of the following methods: predefined protocol, calculating and sorting the reliability of the polar code channel using methods such as Gaussian approximation or density evolution, simulating the error probability of the polar code channel, or performing a computer search based on the performance of the polar codes, etc.

[0112] In one implementation, the first arrangement is related to the channel capacity.

[0113] One possible implementation is that the first arrangement is related to channel capacity allocation. Furthermore, this application applies to the construction of reliable sequences for polar codes; therefore, channel capacity allocation refers to the capacity allocation of polarized sub-channels. For example, the example of determining the first arrangement based on capacity allocation can be referred to in the embodiments involving the first and second sub-codes described above.

[0114] In one implementation, the arrangement of the polarization subchannels of length N can be indicated by an indicator vector. For example, a first arrangement refers to a specific arrangement, which can be indicated by a first indicator vector.

[0115] When the length of the first sequence is different, the indicator vector can be different. In other words, different indicator vectors correspond to different lengths of the first sequence.

[0116] Taking the first indicator vector as an example, the first indicator vector includes Z position sets, each of which corresponds to one of Z base sequences. The number of positions in each position set is equal to the length of the corresponding base sequence. The arrangement of all positions in the Z position sets of the first indicator vector corresponds to a first permutation. For example, the first indicator vector is [0 00 1 0 1 1 1 2 2 2 2 3 3 3 3], which includes four position sets: position set #0 consisting of 0s, position set #1 consisting of 1s, position set #2 consisting of 2s, and position set #3 consisting of 3s. In the first indicator vector, the number of 0s corresponds to the length of base sequence #0, the number of 1s corresponds to the length of base sequence #1, and so on, with the number of 3s corresponding to the length of base sequence #3. In this example, the lengths of base sequences #0 to #3 are equal and are all 4. The position corresponding to position #0 is placed with an index from base sequence #0, the position corresponding to position #1 is placed with an index from base sequence #1, the position corresponding to position #2 is placed with an index from base sequence #2, and the position corresponding to position #3 is placed with an index from base sequence #3. In this example, the length corresponding to the first permutation is 16, which is the length of the first sequence. Therefore, the four position sets contained in the first indicator vector contain a total of 16 positions, and these four position sets correspond one-to-one with Z = 4 base sequences. It can be seen that the first sequence can be determined by Z = 4 base sequences combined with the first permutation, and the first permutation can be indicated by the arrangement of all positions contained in the Z position sets in the first indicator vector.

[0117] In one implementation, the first arrangement is determined based on a known reliability sequence of length Q, where Q is an integer greater than 1 and a power of 2. For example, the first arrangement can be determined based on a reliability sequence in the NR, such as a reliability sequence of length 1024 in the NR. Here, the length of the reliability sequence in the NR used to determine the first arrangement is not limited; 1024 is merely an example, and other lengths are also possible.

[0118] In the embodiments of this application, there are multiple ways to design the Z base sequences.

[0119] 1. The length of the Z base sequences

[0120] The lengths of the Z basis sequences are flexibly determined. For example, the lengths of the Z basis sequences can satisfy any of the following conditions:

[0121] ① The Z base sequences have the same length, and are integer powers of 2;

[0122] ②The Z base sequences include the first base sequence, whose length is different from the lengths of the other base sequences. There are one or more first base sequences.

[0123] Below are some examples of ①.

[0124] As an example, consider determining Z = 8 basis sequences, where the length of each basis sequence can be an integer power of 2, such as 2^32. 8 ,2 9 ,2 10 And all Z base sequences are of equal length. For example, the length of each of the 8 base sequences is 2. 10 =1024, used to construct a long sequence of length 8192. For example, determining Z = 4 base sequences, each base sequence having a length of 2... 10 =1024, used to construct a long sequence of length 4096. This implementation does not require searching for longer sequences, which simplifies sequence design and achieves better error correction performance.

[0125] Furthermore, in one implementation, for Z base sequences of the same length, one of the base sequences can be the reliability sequence in NR, which can improve system compatibility.

[0126] For example, determine Z = 7 base sequences, each base sequence having a length of 2. 10 =1024, the remaining base sequence uses NR with a length of 2 10 The reliability sequence is obtained, and these 8 base sequences are used to construct the first sequence of length 8192. This design can reduce the number of base sequences that need to be designed, simplifying sequence design.

[0127] As another example, determine Z = 8 base sequences, each of length 2. 9 =512.

[0128] In one implementation, the eight base sequences include a base sequence of length 512 (e.g., referred to as base sequence #1), which is identical to a subsequence in the reliability sequence of the NR to improve system compatibility. For example, base sequence #1 is identical to a subsequence in the reliability sequence of the NR consisting of channel indices less than 512. Alternatively, base sequence #1 is identical to a subsequence in the reliability sequence of the NR consisting of channel indices greater than or equal to 512.

[0129] Here are some more examples from ②.

[0130] For example, we can determine Z = 7 base sequences, where one base sequence has a length of 1024 and the other 6 base sequences have a length of 512. Or, we can determine Z = 8 base sequences, where two base sequences have a length of 1024 and the rest have a length of 512. Alternatively, we can determine Z = 8 base sequences, including one base sequence of length 1024, one base sequence of length 512, and the rest of the base sequences have a length of 256.

[0131] In the implementation of ②, for the Z base sequences, there are no restrictions on the type (or number) of base sequence lengths, nor on the number of base sequences of each length. In other words, the lengths of the Z base sequences are not all the same.

[0132] In the implementation of ②, by configuring base sequences of different lengths, a flexible trade-off between sequence performance and sequence design complexity is achieved.

[0133] 2. Methods for obtaining the Z base sequences

[0134] Method 1

[0135] Parallel acquisition of Z basis sequences

[0136] For example, multithreading or parallel computing techniques can be used to simultaneously obtain Z = 4 base sequences of length 1024 to simplify sequence design.

[0137] Method 2

[0138] Serial acquisition of Z basis sequences

[0139] For example, we can first obtain a base sequence of length 1024, then determine a new base sequence of length 1024 based on this base sequence, and then obtain another new base sequence of length 1024 based on these two base sequences, until the required base sequence is determined. Taking Z=4 as an example, first determine a base sequence #1, then determine a base sequence #2 based on base sequence #1, then determine a base sequence #3 based on base sequences #1 and #2, and finally determine a base sequence #4 based on base sequences #1 to #3.

[0140] One implementation could be to use the reliability sequence of NR as the first base sequence, which serves as the basis for determining other base sequences, in order to improve system compatibility.

[0141] Method 3

[0142] Partial indices from the Z base sequences are obtained in parallel.

[0143] For example, a subset of indices for each of the Z base sequences can be obtained in parallel, and then the remaining indices for each base sequence can be determined in parallel. For instance, in the case of eight base sequences of length 512, the first 256 indices of each base sequence can be obtained in parallel, and then the last 256 indices of each base sequence can be determined in parallel. This approach improves the flexibility of base sequence design.

[0144] In Method 3, one implementation may be that one or more of the Z base sequences are reliability sequences in NR, in order to improve system compatibility.

[0145] As described above, the first sequence can be determined based on the Z base sequences and the first permutation method. There may be correspondences between some subsequences of the first sequence and the Z base sequences.

[0146] As an example, a subsequence of the first sequence corresponds to the i-th base sequence among the Z base sequences, where 0 ≤ i ≤ Z-1, and i is an integer. This correspondence may include, but is not limited to, one of the following correspondences:

[0147] Read Q indices consecutively from the first sequence according to the sub-channel index, which correspond to the i-th base sequence of length Q.

[0148] From the first sequence, according to the sub-channel index, at intervals of 2 d Read Q indices, which correspond to the i-th base sequence of length Q, where d is a positive integer.

[0149] Taking the above implementation of continuously reading Q indices as an example, the reliability sequence with a length of 8 is [0 1 2 4 3 5 67]. From this, four indices are read continuously in the order of sub-channel indices 4 to 7 to obtain the subsequence [4 5 6 7], which corresponds to the base sequence [01 2 3].

[0150] Optionally, in the above implementation, one possible implementation is that the length N of the first sequence, the number Z of the base sequences, and the first permutation satisfy at least one of the following:

[0151] Z differs depending on the value of N;

[0152] When N is different, Z is the same, but the first permutation is different;

[0153] With different values ​​for N, Z and the first permutation will be different.

[0154] For example, Z is positively correlated with N. The larger N is, the larger Z is.

[0155] As an example, when N = 2048, Z = 2; when N = 4096, Z = 4; when N = 1024, Z = 1.

[0156] As another example, when N = 2048, an indicator vector of length 2048 is stored; when N = 4096, an indicator vector of length 4096 is stored.

[0157] As another example, there are two first sequences of length 2048, where there are two base sequences Z=1 or Z=2, which correspond to two different indicator vectors.

[0158] As another example, it could be a combination of at least two of the above.

[0159] In the embodiments of this application, "sequence in NR" or "reliability sequence of NR" may refer to the reliability sequence of polar codes in the NR standard.

[0160] 320. The encoding device performs polar coding based on the first sequence to obtain the encoded sequence.

[0161] The encoding device encodes the information bit sequence based on a first sequence (i.e., a reliability sequence) to obtain an encoded sequence. For example, based on the first sequence, an information bit sequence of length K is mapped to K information bits of a bit to be encoded of length N, and polar coding is performed on the bit to be encoded to obtain the encoded bit sequence. As an example, the reliability of these K information bits is not lower than the reliability of other positions in the bit to be encoded. Optionally, the reliability of these K information bits can be the K positions with the highest reliability after removing rate-matching positions; or it can be the K positions with the highest reliability after removing pre-frozen positions, where the pre-frozen positions include rate-matching positions and additionally frozen positions.

[0162] Furthermore, the information bit sequence may include the information bits themselves, and K may be the number of information bits included in the information bit sequence. Alternatively, the information bit sequence may include information bits and cyclic redundancy check (CRC) bits, meaning the information bit sequence may be a CRC-encoded information bit sequence, and K may be the sum of the number of information bits and the number of CRC bits included in the information bit sequence. Alternatively, the information bit sequence may include information bits, CRC bits, and check bits, and K may be the sum of the number of information bits, the number of CRC bits, and the number of check bits included in the information bit sequence, where K is a positive integer.

[0163] 330. The encoding device outputs the encoded sequence.

[0164] This application primarily focuses on encoding methods, particularly methods for obtaining long reliability sequences (i.e., the first sequence). Other processing and / or operations in the encoding process are not detailed. However, those skilled in the art, based on the well-known encoding process of polar codes, will clearly understand that the encoding method 300 of this application also includes other processing and / or operations in the encoding process. For example, after the encoding device obtains the encoded sequence, the encoded sequence undergoes constellation mapping and modulation to obtain a symbol sequence. The encoding device then transmits the symbol sequence over the air interface.

[0165] In step 330, the encoding device outputs an encoded sequence, which may refer to outputting an encoded sequence obtained through polar encoding, so as to facilitate constellation mapping and modulation of the encoded sequence to obtain a symbol sequence for transmission; or, it may refer to the encoding device outputting a symbol sequence obtained based on the encoded sequence, without limitation. Optionally, the encoding device may also perform rate matching on the encoded bit sequence to obtain a rate-matched bit sequence. Optionally, the encoding device may also modulate the rate-matched bit sequence to obtain a modulated symbol sequence.

[0166] This application provides a method for constructing reliable sequences of polar codes in a "distributed" manner, which is particularly suitable for constructing long sequences. Addressing the industry bottleneck of the difficulty in constructing long sequences of polar codes, this application offers a feasible solution that helps reduce the complexity of constructing long sequences of polar codes, while also balancing compatibility, sequence performance, and other performance metrics.

[0167] Optionally, this application also provides a decoding method corresponding to the encoding method. The decoding process may include steps 340 to 360.

[0168] 340. The decoding device acquires the first sequence.

[0169] The process of the decoding device acquiring the first sequence can be referred to the description of step 310, and will not be repeated here.

[0170] 350. The decoding device decodes based on the first sequence to obtain the decoded sequence.

[0171] Specifically, the decoding device performs polar decoding based on the received value sequence of the channel and the first sequence.

[0172] The encoding device transmits a sequence of symbols through a channel, and the decoding device receives the interfered sequence, also known as the received value sequence. The decoding device converts the received value sequence into a log-likelihood ratio (LLR) sequence of known length through demodulation and demapping processes. The LLR sequence serves as the input to the decoding algorithm.

[0173] It is understandable that the symbol sequence on the encoding side may introduce noise signals during channel transmission. The sequence number sequence sent by the encoding device arrives at the decoding device through the air interface, and the received value sequence may be the same as or different from the symbol sequence.

[0174] The decoding device combines the LLR sequence and the first sequence to perform polar decoding, obtaining the decoding device's estimate of the information bit sequence, which is the decoded sequence.

[0175] In this application, the decoding algorithm used by the decoding device is not limited, including but not limited to the following decoding algorithms that can be polar codes: successive cancellation (SC) algorithm, successive cancellation list (SCL) algorithm, belief propagation (BP) algorithm, etc.

[0176] Optionally, step 360 is also included.

[0177] 360. The decoding device outputs the decoding sequence.

[0178] In the technical solution of this application, a "distributed" design approach is adopted for constructing the reliability sequence of longer polar codes (e.g., greater than 1024). This involves constructing Z base sequences, determining a first permutation, and then arranging the Z base sequences according to the first permutation to obtain a first sequence. Compared to directly constructing a longer reliability sequence, designing multiple base sequences in a distributed manner and then determining a long reliability sequence based on these base sequences reduces the construction complexity.

[0179] When the technical solution of this application is applied to encoding or decoding, the encoding device and the decoding device can store a first sequence (i.e., a determined long sequence), or they can store Z base sequences and a first permutation, without limitation. In the case of storing Z base sequences and the first permutation, based on the method in the above embodiments, the first sequence is determined according to the Z base sequences and the first permutation, and then encoding or decoding is performed based on the first sequence. Specifically, the first permutation can be indicated by a first indicator vector. Optionally, the encoding device and the decoding device may store at least one indicator vector and multiple base sequences.

[0180] In the above embodiments, the Z base sequences can be all or part of a plurality of base sequences stored by the encoding or decoding device. Similarly, the first indicator vector can be one of at least one indicator vector stored by the encoding or decoding device.

[0181] For example, taking the encoding side as an example, the encoding device stores Z base sequences and a first indicator vector, where the first indicator vector indicates a first permutation. The encoding device arranges the elements in the Z base sequences according to the first permutation indicated by the first indicator vector to obtain a first sequence. As another example, the encoding device stores E base sequences and multiple indicator vectors, where each indicator vector corresponds to a set of base sequences and the permutation of the base sequences contained in that set, as shown in Table 1.

[0182] Table 1

[0183] Indicator Vector 1 {Base sequence #1, Base sequence #2} Arrangement #1 Indicator Vector 2 {Base sequence #1, base sequence #2, base sequence #3, base sequence #4} Arrangement #2 Indicator Vector 3 {Base sequence #2, Base sequence #3} Arrangement #3

[0184] Take Table 1 as an example:

[0185] Indicator vector 1 corresponds to the set of base sequence #1 and base sequence #2, where the elements in base sequence #1 and base sequence #2 are arranged in permutation #1 to obtain a sequence #1, which is an example of the first sequence;

[0186] Indicator vector 2 corresponds to the set of base sequences #1 to #4, where the elements in base sequence #1 to #4 are arranged according to permutation #2 to obtain a sequence #2, which is an example of the first sequence;

[0187] Indicator vector 3 corresponds to the set of base sequences #2 and #3, where the elements in base sequence #2 and base sequence #3 are arranged in permutation #3 to obtain a sequence #3, which is an example of the first sequence.

[0188] As an example, in Table 1, the length N of the first sequence is different, and the number Z of the base sequences can be different; or, the length N of the first sequence is different, the base sequences are the same, but the arrangement of the base sequences is different; or, the length N of the first sequence is different, and both the number of base sequences and the arrangement of the base sequences are different.

[0189] Therefore, Table 1 can be extended into many different forms, which will not be listed here.

[0190] Furthermore, the encoding and decoding devices can store one or more first sequences. Different first sequences may be suitable for different transmission requirements. For example, the encoding device may store three first sequences: first sequence #1 may be the one with the best performance among the three; first sequence #2 may be the one with the lowest transmission delay among the three; and first sequence #3 may be a trade-off between the performance and transmission delay among the three first sequences. The encoding device selects one of these three first sequences for encoding based on the actual transmission requirements, and correspondingly, the decoding device uses the same first sequence for decoding.

[0191] The communication device provided in this application is described below.

[0192] Figure 4This is a schematic structural diagram of the communication device 1000 provided in this application. The communication device 1000 can be an encoding-side device, or a device applied to the encoding-side device and capable of implementing the corresponding functions of the encoding-side device in the method embodiments of this application, such as a chip, processor, or circuit. Alternatively, the communication device 1000 can be a decoding-side device, or a device applied to the decoding-side device and capable of implementing the corresponding functions of the decoding-side device in the method embodiments of this application, such as a chip, processor, or circuit.

[0193] Optionally, the communication device 1000 includes a processing module 1001, which may be a processor, a processing board, a processing unit, or a processing device, etc. When the communication device 1000 is an encoding-side device or a device applied to an encoding-side device, the processing module 1001 is used to: acquire a first sequence of length N, perform polar coding based on the first sequence, and obtain an encoded sequence, etc. Specific processes can be found in the detailed descriptions of the corresponding steps in the method embodiments, and will not be repeated here. When the communication device 1000 is a decoding-side device or a device applied to a decoding-side device, the processing module 1001 is used to: acquire a first sequence of length N, decode the received value sequence based on the first sequence, and obtain a decoded sequence, etc. Specific processes can be found in the detailed descriptions of the corresponding steps in the method embodiments, and will not be repeated here.

[0194] Optionally, the communication device 1000 further includes a communication module 1002, which may also be referred to as a transceiver module, transceiver, transceiver unit, or transceiver device, etc., for performing receiving (or input) and / or sending (or output) operations. For example, when the communication device 1000 is an encoding-side device or a device applied to an encoding-side device, the communication module 1002 can be used to acquire information bits and transmit the information bits to be encoded to the processing module 1001; and output the encoded sequence obtained by the processing module 1001 through encoding. When the communication device 1000 is a decoding-side device or a device applied to a decoding-side device, the communication module 1002 can be used to acquire a received value sequence and send the received value sequence to the processing module 1001; and output the decoded sequence obtained by the processing module 1001 decoding the received value sequence.

[0195] The aforementioned communication module and / or processing module can be implemented as a virtual module. For example, the processing module can be implemented as a software functional unit or a virtual device, and the communication module can be implemented as a software function or a virtual device. Alternatively, the processing module or communication module can also be implemented as a physical device, such as a chip / circuit (e.g., an integrated circuit or logic circuit). The communication module can be an input / output circuit and / or a communication interface, performing input operations (corresponding to the aforementioned receiving operation) and output operations (corresponding to the aforementioned sending operation); the processing module is an integrated processor, microprocessor, or circuit (e.g., an integrated circuit, logic circuit).

[0196] The module division in this application is illustrative and represents only one logical functional division. In actual implementation, other division methods are possible. Furthermore, the functional modules in the various examples of this application can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module. The integrated modules described above can be implemented in hardware, as software functional modules, or a combination of hardware and software.

[0197] Figure 5 This is a schematic structural diagram of another communication device provided in this application. The communication device 1100 can be used to implement the functions of any communication device (e.g., an encoding-side device or a decoding-side device) in the communication system described in the foregoing examples. The communication device 1100 may include at least one processor 1110. Optionally, the processor 1110 (or processing device) is coupled to a memory, which may be located within the communication device, integrated with the processor, or located outside the communication device. For example, the communication device 1100 may also include at least one memory 1120. The memory 1120 stores computer programs, instructions, or data necessary for implementing any of the above method embodiments; the processor 1110 may execute the computer programs, instructions, or data stored in the memory 1120 to perform the corresponding functions of the encoding-side device or decoding-side device in any of the above embodiments.

[0198] Optionally, the communication device 1100 may further include a communication interface 1130, through which the communication device 1100 can interact with other devices. For example, the communication interface 1130 may be a transceiver, circuit, bus, module, pin, or other type of communication interface. When the communication device 1100 is a chip-type device or circuit, the communication interface 1130 in the device 1100 may also be an input / output circuit, capable of inputting information (or receiving information) and / or outputting information (or sending information). The processor may be an integrated circuit or logic circuit, etc., and the processor can determine the output information based on the input information.

[0199] The coupling in this application refers to indirect coupling or communication connection between devices, units, or modules, which can be electrical, mechanical, or other forms, used for information exchange between devices, units, or modules. The processor 1110 may operate in conjunction with the memory 1120 and the communication interface 1130. This application does not limit the connection medium between the processor 1110, the memory 1120, and the communication interface 1130.

[0200] Figure 6 This is a schematic structural diagram of the chip provided in this application. Chip 30 includes a processing circuit 31 and a communication circuit 32. The processing circuit 31 can be a logic circuit, integrated circuit, etc., and the communication circuit 32 can be an input / output circuit, input / output interface, interface circuit, etc., capable of inputting information (or receiving information) or outputting information (or sending information). Chip 30 can execute the methods performed by the encoding or decoding device in the various embodiments of this application. The processing circuit 31 can be one or more processors, or all or part of the circuitry in one or more processors used for control or processing. Optionally, the functions on the encoding or decoding side can be deployed in different parts of the chip.

[0201] In addition, this application also provides a computer-readable storage medium storing computer instructions that, when executed on a computer, cause operations and / or processes performed by an encoding-side device or a decoding-side device in the various method embodiments of this application to be executed.

[0202] This application also provides a computer program product, which includes computer program code or instructions that, when executed on a computer, cause the operations and / or processes performed by the encoding-side device or decoding-side device in the various method embodiments of this application to be executed.

[0203] Furthermore, this application also provides a chip including a processor. A memory for storing a computer program is provided independently of the chip, and the processor is used to execute the computer program stored in the memory, such that operations and / or processes performed by an encoding-side device or a decoding-side device in any method embodiment are executed. Further, the chip may also include a communication interface. The communication interface may be an input / output interface or an interface circuit, etc. Further, the chip may also include the memory.

[0204] This application provides a communication system, including the encoding-side device and decoding-side device in the above method embodiments.

[0205] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0206] The processor in this application embodiment has signal processing capabilities and can be a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in this application can be directly implemented by the hardware processor, or implemented by a combination of hardware and software modules within the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory; the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above methods.

[0207] In the embodiments of this application, the memory can be volatile memory or non-volatile memory, or it can include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). The memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0208] The technical solutions provided in this application can be implemented in whole or in part through software, hardware, firmware, or any combination thereof. When implemented using software, they can be implemented in whole or in part as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a terminal device, an access network device, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media, etc.

[0209] In the embodiments of this application, "at least one" refers to one or more items. "More than one" means two or more items. "And / or" is used to describe the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone.

[0210] The term "comprising" and any variations thereof used in the embodiments of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the steps or units listed, but may optionally include other steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or devices.

[0211] In this application, examples may reference each other without logical contradiction. For example, methods and / or terms between method embodiments may reference each other, functions and / or terms between device embodiments may reference each other, and functions and / or terms between device examples and method examples may reference each other.

[0212] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0213] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0214] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0215] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0216] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0217] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.

Claims

1. An encoding method, characterized in that, include: Obtain a first sequence of length N, the first sequence comprising Z base sequences, the indices of the polarization sub-channels contained in the Z base sequences being arranged in the first sequence according to a first arrangement, the first sequence indicating the reliability order of the N polarization sub-channels, Z being an integer greater than 1, N being an integer greater than Z, and N being a power of 2; Based on the first sequence, polar coding is performed to obtain the coded sequence; as well as, Output the encoded sequence.

2. A decoding method, characterized in that, include: Obtain a first sequence of length N, the first sequence comprising Z base sequences, the indices of the polarization sub-channels contained in the Z base sequences being arranged in the first sequence according to a first arrangement, the first sequence indicating the reliability order of the N polarization sub-channels, Z being an integer greater than 1, N being an integer greater than Z, and N being a power of 2; Based on the first sequence, polarization decoding is performed to obtain a decoded sequence; and... Output the decoded sequence.

3. The method according to claim 1 or 2, characterized in that, The first sequence is determined based on the Z base sequences and the first permutation.

4. The method according to any one of claims 1-3, characterized in that, The Z base sequences are related to the first arrangement.

5. The method according to any one of claims 1-4, characterized in that, The first arrangement is related to the capacity allocation of the sub-channels of the polar code.

6. The method according to any one of claims 1-5, characterized in that, The first arrangement is indicated by a first indicator vector, which includes Z position sets. Each of the Z position sets corresponds to one of the Z base sequences. The number of positions in each position set is equal to the length of the corresponding base sequence. The arrangement of all positions in the Z position sets in the first indicator vector corresponds to the first arrangement.

7. The method according to any one of claims 1-6, characterized in that, The first arrangement is determined based on a known reliability sequence of length Q, where Q is an integer greater than 1 and a power of 2.

8. The method according to any one of claims 1-7, characterized in that, The lengths of the Z basis sequences satisfy any one of the following: The Z base sequences have the same length and are powers of 2; The Z base sequences include a first base sequence, the length of which is different from the lengths of the other base sequences, and there are one or more first base sequences.

9. The method according to any one of claims 1-8, characterized in that, At least one of the Z base sequences is a reliability sequence of the corresponding length in the new radio frequency (NR).

10. The method according to any one of claims 1-9, characterized in that, The method further includes: Determine the Z base sequences and the first permutation.

11. The method according to claim 10, characterized in that, Determining the Z base sequences and the first permutation includes: Determine the Z base sequences; The first arrangement is determined based on the Z base sequences.

12. The method according to claim 10, characterized in that, Determining the Z base sequences and the first permutation includes: Determine the first arrangement; Based on the first arrangement, the Z base sequences are determined.

13. The method according to any one of claims 1-12, characterized in that, The Z base sequences are obtained based on one of the following methods: The Z base sequences are obtained in parallel, and the determination of each base sequence is independent of the other base sequences. or, The Z basis sequences are obtained serially, and p basis sequences among the Z basis sequences are determined based on at least one of the remaining basis sequences besides the p basis sequences, where p is an integer greater than or equal to 1 and p is less than Z; or, In parallel, partial elements of each of the Z base sequences are obtained, and then the remaining elements of the Z base sequences are determined in parallel.

14. The method according to any one of claims 1-13, characterized in that, The N, the Z, and the first arrangement satisfy at least one of the following: When N is different, Z is different; When N is different, Z is the same, and the first arrangement is different; When Z is different, Z and the first arrangement are not the same.

15. The method according to any one of claims 6-14, characterized in that, The process of obtaining the first sequence of length N includes: Read the stored first sequence of length N; or, Read the stored first indicator vector and the Z base sequences, wherein the first indicator vector indicates the first permutation; Based on the first indicator vector, the Z base sequences are arranged according to the first arrangement to obtain the first sequence of length N.

16. A communication device, characterized in that, include: Processing module, used for: Obtain a first sequence of length N, the first sequence comprising Z base sequences, the indices of the polarization sub-channels contained in the Z base sequences being arranged in the first sequence according to a first arrangement, the first sequence indicating the reliability order of the N polarization sub-channels, Z being an integer greater than 1, N being an integer greater than Z, and N being a power of 2; Based on the first sequence, polar coding is performed to obtain the coded sequence; as well as, The communication module is used to output the encoded sequence.

17. A communication device, characterized in that, include: Processing module, used for: Obtain a first sequence of length N, the first sequence comprising Z base sequences, the indices of the polarization sub-channels contained in the Z base sequences being arranged in the first sequence according to a first arrangement, the first sequence indicating the reliability order of the N polarization sub-channels, Z being an integer greater than 1, N being an integer greater than Z, and N being a power of 2; Based on the first sequence, polarization decoding is performed to obtain the decoded sequence; as well as, The communication module is used to output the decoded sequence.

18. A communication device, characterized in that, Includes a processor for executing computer programs or instructions to cause the communication device to perform the method as described in any one of claims 1-15.

19. The communication device according to claim 18, characterized in that, It also includes a communication interface for inputting and / or outputting signals.

20. The communication device according to claim 18 or 19, characterized in that, It also includes a memory for storing the computer program or instructions.

21. A communication device, characterized in that, Includes modules or units for performing the method as described in any one of claims 1-15.

22. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed on a computer, implement the method as described in any one of claims 1-15.

23. A computer program product, characterized in that, Includes a computer program or instructions for performing the method as described in any one of claims 1-15.