USPatent applicationPatented

Method and apparatus for constructing coding sequence

Granted 13 Jul 2021 · 1 office action

Life of the application

9 dated events
⤢ drag to zoom20202022202420262028203020322034203620382040ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

Embodiments of this application provide a method and an apparatus for constructing a coding sequence. The method includes: storing a reliability sequence corresponding to a basic sequence, where a length of the reliability sequence corresponding to the basic sequence is less than or equal to a length of a reliability sequence corresponding to a mother code sequence; storing a reliability reference sequence, where the reliability reference sequence includes at least one element remaining after the reliability sequence corresponding to the basic sequence is excluded from the reliability sequence corresponding to the mother code sequence; and constructing a coding sequence by using the reliability sequence corresponding to the basic sequence and an element in the reliability reference sequence. During implementation of this application, during storage, only the reliability sequence corresponding to the basic sequence and the reliability reference sequence are stored. Because a sum of the length of the reliability sequence corresponding to the basic sequence and a length of the reliability reference sequence is far less than the length of the original reliability sequence, storage overheads can be reduced.

Description

19 parts
›CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of International Application No. PCT/CN2018/080379, filed on Mar. 24, 2018, which claims priority to Chinese Patent Application No. 201710184944.2, filed on Mar. 24, 2017. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.

›TECHNICAL FIELD

This application relates to the communications field, and in particular, to a technical solution for constructing a coding sequence.

›BACKGROUND

The rapid evolution of wireless communication indicates that a 5G communications system will present some new characteristics in the future. Three most typical communication scenarios include an Enhanced Mobile Broadband (eMBB) scenario, a Massive Machine Type Communication (mMTC), scenario, and an Ultra Reliable Low Latency (URLLC) scenario. Demands of these communication scenarios pose a new challenge to an existing LTE technology.

As a most basic wireless access technology, channel coding is one of important research objects that satisfy a 5G communication demand. Since the Shannon theory was put forward, scholars of various countries have being devoted to finding a coding/decoding method that can reach a Shannon limit and that has relatively low complexity. In the progress of 5G standard formulation, a low density parity code (LDPC) has been accepted as a data channel coding scheme for the eMBB scenario, and a polar code has been accepted as a control channel coding scheme for the eMBB scenario. However, the URLLC scenario and the mMTC scenario impose a strict requirement on a latency and reliability of channel coding.

A polar code is a coding scheme proposed by Arikan based on channel polarization. The polar code is the first and the only known channel coding method that can strictly provably “reach” a channel capacity.

Brief description of polar coding/decoding is as follows:

A polar code is a linear block code. A generator matrix of the polar code is F N , and a polar coding process is x 1 N =u 1 N F N , where u 1 N =(u 1 , u 2 , . . . u N ) is a binary row vector with a length of N (that is, a code length), F N is an N×N matrix, and F N =F 2 ⊗(log 2 N ) . Herein,

F 2 = [ 1 0 1 1 ] ,

and F 2 ⊗(log 2 N ) is defined as a Kronecker product of log 2 N matrices F 2 . All the foregoing addition and multiplication operations are addition and multiplication operations in a binary Galois field. In the polar coding process, some bits in u 1 N are used to carry information and are referred to as information bits, and a set of indexes of these bits is denoted as A; and the other bits are set to fixed values pre-agreed on between a receive end and a transmit end and are referred to as fixed bits, and a set of indexes of these bits is denoted as a complementary set A c of A.

It is noted that, in a classical polar code, an information bit is a part carrying information. Actually, because an information bit further undergoes cyclic redundancy check coding, parity check coding, and the like before undergoing polar code coding, an index set A in a polar code construction process includes sequences of K info +K check information bit sequence numbers with highest reliability other than a sequence number of a to-be-punctured bit, where K info is a quantity of information bits, K check is a quantity of check bits, and the check bit includes but is not limited to a cyclic redundancy check (CRC) bit and a dynamic check bit, and K check ≥0. Without loss of generality, in the following example of polar code construction, K information bits are used as an example, and a check bit is included in the information bits.

A process for determining an information bit set A based on an information bit length and a coding codeword length is referred to as a polar code construction process. Currently, polar code construction includes methods such as online calculation of reliability (an error probability) of each subchannel and offline storage of a reliability sequence and a reliability sorting sequence.

However, in a creation process of this application, the inventor found that, storage overheads of a reliability sequence in the prior art are very large, and this is not conducive to product implementation.

›SUMMARY · 1 of 2

To resolve a problem in the prior art that storage overheads for constructing a polar code are large, this application provides a method for constructing a coding sequence and a corresponding apparatus.

In this application, some transformations are performed on a reliability sequence corresponding to a mother code sequence with a maximum length of N max , and the reliability sequence corresponding to the mother code sequence is indicated by a reliability sequence corresponding to a basic sequence and a reliability reference sequence. Then, a coding sequence is constructed based on the stored reliability sequence corresponding to the basic sequence and the stored reliability reference sequence. In an implementation, a coding sequence in embodiments of this application is a polar code sequence.

A length of the reliability sequence corresponding to the basic sequence is less than or equal to a length of the reliability sequence corresponding to the mother code sequence; the basic sequence is a subset of the mother code sequence; the reliability sequence corresponding to the basic sequence is a subset of the reliability sequence corresponding to the mother code sequence; and the reliability reference sequence includes at least one element remaining after the reliability sequence corresponding to the basic sequence is excluded from the reliability sequence corresponding to the mother code sequence.

During storage, only the reliability sequence corresponding to the basic sequence and the reliability reference sequence are stored. Because a sum of the length of the reliability sequence corresponding to the basic sequence and a length of the reliability reference sequence is far less than the length of the reliability sequence corresponding to the mother code sequence, storage overheads can be reduced, and the reliability sequence corresponding to the mother code sequence can be indicated.

In addition, the method provided in this application further includes: storing a reliability quantization sequence and a reliability quantization reference sequence. The reliability quantization sequence is a sequence obtained through quantization of the reliability sequence corresponding to the basic sequence, and the reliability quantization reference sequence is obtained through quantization of the reliability reference sequence

According to another aspect, this application provides an apparatus for constructing a coding sequence, including:

a memory, configured to store a reliability sequence corresponding to a basic sequence, where a length of the reliability sequence corresponding to the basic sequence is less than or equal to a length of a reliability sequence corresponding to a mother code sequence, where

the memory is further configured to store a reliability reference sequence, where the reliability reference sequence includes at least one element remaining after the reliability sequence corresponding to the basic sequence is excluded from the reliability sequence corresponding to the mother code sequence; and

a processor, configured to construct a coding sequence by using the reliability sequence corresponding to the basic sequence and the reliability reference sequence that are stored in the memory.

In this embodiment of this application, the apparatus for constructing a coding sequence is a terminal or a network side device.

An embodiment of this application provides a terminal, where the function may be implemented by hardware; and a structure of the terminal includes a transceiver and processor. The function may be alternatively implemented by hardware by executing corresponding software. The hardware or software includes one or more modules corresponding to the foregoing function. The module may be software and/or hardware.

According to still another aspect, an embodiment of this application provides a network side device, where the network side device may be a base station, or may be a control node.

According to still another aspect, an embodiment of this application provides a base station, where the base station has a function of implementing an actual behavior of a base station in the foregoing method. The function may be implemented by hardware, or may be implemented by hardware by executing corresponding software. The hardware or software includes one or more modules corresponding to the foregoing function.

In an embodiment, a structure of the base station includes a processor and a transceiver, where the processor is configured to support the base station in performing the corresponding function in the foregoing method. The transceiver is configured to support communication between the base station and a terminal, send information or signaling in the foregoing method to the terminal, and receive information or an instruction sent by the base station. The base station may further include a memory, where the memory is configured to be coupled to the processor and stores a program instruction and data that are necessary for the base station.

According to still another aspect, an embodiment of this application provides a control node, where the control node may include a controller/processor, a memory, and a communications unit. The controller/processor may be configured to coordinate resource management and configuration between a plurality of base stations and perform the method described in the foregoing embodiment. The memory may be configured to store program code and data of the control node. The communications unit is configured to support communication between the control node and a base station.

According to still another aspect, an embodiment of this application provides a communications system, where the system includes the base station and the terminal that are described in the foregoing aspects. Optionally, the system may further include the control node in the foregoing embodiment.

According to still another aspect, an embodiment of this application provides a computer storage medium, configured to store a computer software instruction used by the foregoing base station. The computer storage medium includes a program designed for performing the method in the foregoing aspects.

›SUMMARY · 2 of 2

According to still another aspect, an embodiment of this application provides a computer storage medium, configured to store a computer software instruction used by the foregoing terminal. The computer storage medium includes a program designed for performing the method in foregoing aspects.

This application provides a reliability sequence and a reliability reference sequence that are used for constructing a coding sequence, where the reliability sequence includes reliability corresponding to a basic sequence.

For a form of the reliability sequence, refer to a description in the embodiments about a reliability sequence corresponding to a basic sequence, or a description in the embodiments about a reliability quantization sequence corresponding to a basic sequence.

The foregoing reliability sequence and reliability reference sequence may exist in a terminal or a network device.

›DESCRIPTION OF DRAWINGS

To describe the technical solutions in embodiments of this application, the following briefly describes the accompanying drawings required for describing the embodiments in this application. The accompanying drawings in the following description show merely some embodiments of this application, and a person of ordinary skill in the art may derive other drawings from these accompanying drawings without creative efforts.

FIG. 1 is a schematic diagram of an implementation scenario of a method for constructing a coding sequence according to this application;

FIG. 2 is a schematic diagram of Embodiment 1 of a method for constructing a coding sequence according to this application;

FIG. 3 is a schematic diagram of Embodiment 2 of a method for constructing a coding sequence according to this application;

FIG. 4 is another schematic diagram of Embodiment 2 of a method for constructing a coding sequence according to this application;

FIG. 5 is a schematic diagram of Embodiment 3 of a method for constructing a coding sequence according to this application;

FIG. 6 is another schematic diagram of Embodiment 3 of a method for constructing a coding sequence according to this application;

FIG. 7 is a schematic diagram of Embodiment 4 of a method for constructing a coding sequence according to this application;

FIG. 8 is another schematic diagram of Embodiment 5 of a method for constructing a coding sequence according to this application; and

FIG. 9 is a schematic diagram of an apparatus for constructing a coding sequence according to this application.

›DESCRIPTION OF EMBODIMENTS · 1 of 2

The following describes the embodiments provided in this application.

In a next generation communications network, three most typical communication scenarios include an eMBB scenario, an mMTC scenario, and a URLLC scenario. Demands of these communication scenarios pose a new challenge to an existing LTE technology. Channel coding for improving data transmission reliability and ensuring communication quality is a most basic wireless access technology. As shown in FIG. 1 , channel coding is first performed on source information; modulation is performed on encoded information; information having undergone coding and modulation is transmitted to a receive end through a channel; corresponding digital demodulation and rate de-matching are performed on received information at the receive end; and finally, the information is obtained by using a decoding technology corresponding to channel coding.

This application provides a technical solution for constructing a reliability sequence and constructing a coding sequence based on the reliability sequence in a channel coding process shown in FIG. 1 .

In the embodiments of this application, that a coding sequence is a polar (polar) code sequence is used as an example for description.

During polar code construction, for a mother code sequence with a given length of N max =2 l max , different methods such as density evolution, capacity transfer, and an empirical formula may be used to perform calculation to obtain a reliability sequence with a length of N max ; and sorting is performed on the reliability sequence with the length of N max in descending order or ascending order of reliability values, to obtain a reliability sorting sequence Q.

For the reliability sorting sequence Q with the given length of N max , reliability of a subchannel corresponding to an element Q i whose sequence number i is relatively small is relatively low (according to an ascending order), or reliability of a subchannel corresponding to an element Q i whose sequence number i is relatively small is relatively high (according to a descending order). During construction of a polar code with an information length of K and a coding length of M by using the sequence, operations of reading the sequence Q include the following:

1. Determine, based on the coding length M and the information length K info , a code length N of a reliability sequence used for constructing a coding sequence. In a possible implementation, N=2 ┌ log 2 M ┐ , where M is a coding length, ┌⋅┐ is a rounding up operation, a reliability sorting sequence Q with a length of N is read from the reliability sorting sequence Q with the length of N max .

2. Calculate N−M rate matching positions based on a rate matching condition.

3. Successively read, starting from i=0 (or N−1), elements whose reliability values are relatively small from the reliability sorting sequence Q with the length of; and if the element belongs to a rate matching position, skip the element until M−K elements are read.

A frozen position set is a union set of position sets obtained in operation 2 and operation 3, and an information bit sequence number set (with a size of K) is a complementary set of the frozen position set.

The foregoing reliability sorting sequence Q is obtained through reliability sequence sorting, and this process may be completed in an off-line manner.

In a method for constructing a coding sequence provided in an embodiment of this application, as shown in FIG. 2 , a reliability sequence corresponding to a basic sequence and a reliability reference sequence are stored first, where a length of the reliability sequence corresponding to the basic sequence is less than or equal to a length of a reliability sequence corresponding to a mother code sequence, and the reliability reference sequence includes at least one element remaining after the reliability sequence corresponding to the basic sequence is excluded from the reliability sequence corresponding to the mother code sequence.

Then, a coding sequence is constructed by using the reliability sequence corresponding to the basic sequence and the reliability reference sequence.

The reliability sequence corresponding to the mother code sequence is indicated by using {PW i , 0≤i≤2 l max }, the reliability sequence corresponding to the basic sequence is indicated by using PW i =Σ j=0 n−1 B j (β) j , and (i) dec (B n−1 B n−2 . . . B 0 ) bin , where (i) dec indicates that i is a decimal number, (B n−1 B n−2 . . . B 0 ) bin indicates a binary number, and β is an exponent base. The reliability sequence corresponding to the basic sequence may also be indicated by using {PW i ,0≤i≤2 l s }. The length of the reliability sequence {PW i , 0≤i≤2 l max } corresponding to the mother code sequence is N max =2 l max , and the length of the reliability sequence corresponding to the basic sequence is N s =2 l s , where 0≤l s <l max .

The length N s of the reliability sequence corresponding to the basic sequence is less than the length N max of the reliability sequence corresponding to the mother code sequence, and the reliability reference sequence stores several elements that can indicate the reliability sequence corresponding to the mother code sequence, the reliability reference sequence may be indicated by using

PW 2 l s = ( β ) l s , PW 2 l s + 1 = ( β ) l s + 1 , … ⁢ , PW 2 l max - 1 = ( β ) l max - 1

or {PW i ,i=2 l s , 2 l s +1 , . . . , 2 l max −1 }, and a length of the reliability reference sequence is only l max −l s . Therefore, during storage, only N s +(l max −l s ) values need to be stored, and the value is far less than N max , thereby greatly reducing storage overheads. In a reading process, extension is performed on the reference sequence or a plurality of times of reading are performed on the reference sequence, to obtain a subchannel set with high reliability, and a manner of extension or a plurality of times of reading is related to a type of the reliability sequence.

If the length of the stored reliability sequence corresponding to the basic sequence is N s =2 l s , according to a calculation formula PW i =Σ j=0 n−1 B j (β) j of a PW sequence, where (i) dec (B n−1 B n−2 . . . B 0 ) bin , and based on a stored sequence {PW i ,i=2 l s , 2 l s +1 , . . . , 2 l max −1 } formed by reliability reference values such as

›DESCRIPTION OF EMBODIMENTS · 2 of 2

PW 2 l s , PW 2 l s + 1 , … ⁢ , PW 2 l max - 1 ,

the reliability sequence corresponding to the mother code sequence with the length of N max can be completely indicated.

Based on this, during construction of a coding sequence such as a polar code sequence, the stored reliability sequence with the length of N s =2 l s and corresponding to the basic sequence is read based on a length of the polar code that needs to be constructed; extension is performed or a plurality of times of reading are performed, based on a value of an element in the reliability reference sequence, on the reliability sequence with the length of N s =2 l s and corresponding to the basic sequence; and (K info +K check ) information bit sequence numbers with highest reliability other than a sequence number of a to-be-punctured bit are selected to form an information bit sequence number set A, where K info is a quantity of information bits, K check is a quantity of check bits, and the check bit includes but is not limited to a CRC bit and a dynamic check bit, and K check ≥0. Then, a corresponding information bit sequence and a dynamic check bit sequence (if exists) are mapped to these sequence numbers; and remaining sequence numbers are a static frozen-bit sequence number set, and a value of a frozen bit is a fixed value agreed on between a receive end and a transmit end.

In examples of subsequent embodiments, obtaining an information bit sequence number set first is used as an example for description. A principle of obtaining a frozen-bit sequence number set first and then selecting a complementary set of the frozen-bit sequence number set to obtain an information bit sequence is the same as that of obtaining an information bit sequence number set first, and details are not repeated.

In an embodiment, constructing a coding sequence, the reliability sequence with the length of N is obtained by performing, by using an element in the reliability reference sequence

PW 2 l s = ( β ) l s , PW 2 l s + 1 = ( β ) l s + 1 , … ⁢ , PW 2 l max - 1 = ( β ) l max - 1 ,

extension on elements PW i =Σ j=0 n−1 B j (β) j in the reliability sequence with a length of N s and corresponding to the basic sequence, and β is an exponent base.

In an aspect, constructing a coding sequence includes:

recording a reliability sorting sequence Q, wherein the reliability sorting sequence Q is obtained through sorting performed on elements in the reliability sequence with the length of N based on reliability values.

In an aspect, constructing a coding sequence includes:

obtaining an information bit sequence number set A, wherein a quantity of elements in the information bit sequence number set A is equal to a threshold K; and the elements in the information bit sequence number set A are most reliable K elements that are in the reliability sorting sequence Q and whose sequence numbers do not satisfy a rate matching condition.

In an aspect, constructing a coding sequence includes:

obtaining an information bit sequence number set A, wherein a quantity of elements in the information bit sequence number set A is equal to a threshold K; and

the information bit sequence number set A is a complementary set of a frozen-bit sequence number set A c , and elements in the frozen-bit sequence number set A c are (N−K) elements that are in the reliability sorting sequence Q and whose sequence numbers satisfy a rate matching condition or whose reliability is lowest.

In an aspect, constructing a coding sequence includes:

obtaining an information bit sequence number set A, wherein a quantity of elements in the information bit sequence number set A is equal to a threshold K; and

an element in the information bit sequence number set A is an element that is in the reliability sequence with the length of N, whose value is greater than or equal to a threshold PW th of a polar code, and whose sequence number does not satisfy a rate matching condition.

In an aspect, constructing a coding sequence includes:

obtaining an information bit sequence number set A, wherein a quantity of elements in the information bit sequence number set A is equal to a threshold K; and

the information bit sequence number set A is a complementary set of a frozen-bit sequence number set A c , and an element in the frozen-bit sequence number set A c is an element that is in the reliability sequence with the length of N and whose value is less than a threshold PW th of a polar code or whose sequence number satisfies a rate matching condition.

The following describes, by using Embodiment 1 to Embodiment 4, a method for constructing a coding sequence provided in this application.

›Embodiment 1 · 1 of 5

Embodiment 1 describes storage processes of a reliability sequence corresponding to a basic sequence and a reliability reference sequence.

First, a reliability sequence corresponding to a mother code sequence with a length N max =2 l max is transformed into the following according to a p w formula:

Based on this, a reliability sequence corresponding to a basic sequence is as follows:

PW i =Σ j=0 n−1 B j (β) j , 0≤i≤ l s , and (i) dec (B n−1 B n−2 . . . B 0 ) bin , where (i) dec indicates that i is a decimal number, (B n−1 B n−2 . . . B 0 ) bin indicates a binary number, and β is a exponent base. A length of the reliability sequence corresponding to the basic sequence is N s =2 l s , where 0≤l s <l max .

The reliability reference sequence is

PW 2 l s = ( β ) l s , PW 2 l s + 1 = ( β ) l s + 1 , … ⁢ , PW 2 l max - 1 = ( β ) l max - 1 .

A length of the reliability reference sequence is l max −l s .

According to the reliability sequence PW i =Σ j=0 n−1 B j (β) j corresponding to the basic sequence, 0≤i≤2 l s , and the reliability reference sequence

PW 2 l s = ( β ) l s , PW 2 l s + 1 = ( β ) l s + 1 , … ⁢ , PW 2 l max - 1 = ( β ) l max - 1 ,

the reliability sequence corresponding to the mother code sequence with the length of N max can be completely indicated.

According to the foregoing formula, for reliability sequences corresponding to mother code sequences with different lengths N max , for example, when l max ∈[8, 9, 10, 11, 12], the mother code length is N max =2 l max ∈[256, 512, 1024, 2048, 4096]; l s ∈[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], and the length of the reliability sequence corresponding to the basic sequence is N s =2 l s ∈[1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048].

These cases are only used as examples. In this application, a reliability sequence corresponding to a mother code sequence with a length and a value range of the length of the reliability sequence corresponding to the basic sequence are not limited thereto. All the reliability sequences can be stored by using a method provided in an embodiment of this application, and the following separately uses mother code sequences with lengths of N max =512, 1024, 2048 as examples for description.

1. For a long reliability sequence corresponding to a mother code sequence with a length of N max =2 l max =2 9 =512, β=20 0.25 is set; and according to a prior-art storage manner, 13-bit quantization is performed on stored values of 512 elements in the reliability sequence, as shown in Table 1:

There may be the following several implementations, provided in this application, for transforming the reliability sequence with a length of 512 to a reliability sequence corresponding to a basic sequence and a reliability reference sequence:

(1) It is set that l s =3, N s =8, and PW i , 0≤I<8. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 13-bit quantization is performed on values of elements in the reliability sequence, an obtained reliability quantization sequence corresponding to the basic sequence is shown in Table 2:

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 3:

It can be learned from Table 2 and Table 3 that, during storage of the quantized reliability sequence corresponding to the basic sequence or the reliability quantization sequence, only 2 l s =2 3 =8 values need to be stored; during storage of the quantized reliability reference sequence or the reliability quantization reference sequence, l max −l s =9−3=6 values need to be stored; and only a total of 8+6=14 values need to be stored. Therefore, compared with a previous case in which 512 values need to be stored (Table 1), storage space of (512−14)/512=97.3% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

(2) It is set that l s =4, N s =16, and PW i , 0≤i<16. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 13-bit quantization is performed on values of elements in the reliability sequence, an obtained reliability quantization sequence corresponding to the basic sequence is shown in Table 4:

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 5:

It can be learned from Table 4 and Table 5 that, during storage of the quantized reliability sequence corresponding to the basic sequence or the reliability quantization sequence, only 2 l s =2 4 =16 values need to be stored; during storage of the quantized reliability reference sequence or the reliability quantization reference sequence, l max −l s =9−4=5 values need to be stored; and only a total of 16+5=21 values need to be stored. Therefore, compared with a previous case in which 512 values need to be stored (Table 1), storage space of (512−21)/512=95% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

(3) It is set that l s =5, N s =32, and PW i , 0≤i<32. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 13-bit quantization is performed on values of elements in the reliability sequence, an obtained reliability quantization sequence corresponding to the basic sequence is shown in Table 6:

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 7:

It can be learned from Table 6 and Table 7 that, during storage of the reliability sequence corresponding to the basic sequence or the reliability quantization sequence, only 2 l s =2 5 =32 values need to be stored; during storage of the quantized reliability reference sequence or the reliability quantization reference sequence, l max −l s =9−5=4 values need to be stored; and only a total of 32+4=36 values need to be stored. Therefore, compared with a case in which 512 values need to be stored for original reliability (Table 1), storage space of (512−36)/512=92.9% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

›Embodiment 1 · 2 of 5

(4) It is set that l s =6, N s =64, and PW i , 0≤i<64. A reliability sequence can be obtained according to the foregoing formula, and after 13-bit quantization is performed on values in the reliability sequence, an obtained reliability sequence is shown in Table 8:

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 9:

It can be learned from Table 7 and Table 8 that, during storage of the quantized reliability sequence corresponding to a basic sequence, only 2 l s =2 6 =64 values need to be stored; during storage of the values in the quantized reliability reference sequence, l max −l s =9−6=3 values need to be stored; and only a total of 64+3=67 values need to be stored. Therefore, compared with a previous case in which 512 values need to be stored (Table 1), storage space of (512−67)/512=86.9% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

(5) It is set that l s =7, N s =128, and PW i , 0≤i<128. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 13-bit quantization is performed on values in the reliability sequence, an obtained quantized reliability sequence corresponding to the basic sequence is shown in Table 10:

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 11:

It can be learned from Table 10 and Table 11 that, during storage of the reliability sequence, only 2 l s =2 7 =128 values need to be stored; during storage of the reliability reference sequence, l max −l s =9−7=2 values need to be stored; and only a total of 128+2=130 values need to be stored. Therefore, compared with a case in which 512 values need to be stored for original reliability (Table 1), storage space of (512−130)/512=74.6% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

(5) It is set that l s =8, N s =256, and PW i , 0≤i≤256. A reliability sequence can be obtained according to the foregoing formula, and after 13-bit quantization is performed on values in the reliability sequence, an obtained reliability sequence is shown in Table 12:

A reliability reference sequence obtained according to the foregoing formula is shown in Table 13:

It can be learned from Table 12 and Table 13 that, during storage of the reliability sequence, only 2 l s =2 8 =256 values need to be stored; during storage of the reliability reference sequence, l max −l s =9−8=1 value needs to be stored; and only a total of 256+1=257 values need to be stored. Therefore, compared with a case in which 512 values need to be stored for original reliability (Table 1), storage space of (512−257)/512=49.8% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

2. For a maximum-mother-code-length reliability sequence with a maximum mother code length of N max =2 l max =2 10 =1024, β=2 0.25 is set; and according to a prior-art storage manner, 14-bit quantization is performed on values in the sequence, and 1024 values are stored, as shown in Table 14:

There may be the following several implementations, provided in this application, for transforming a reliability sequence corresponding to a mother code sequence with a length of 1024 to a reliability sequence corresponding to a basic sequence and a reliability reference sequence:

(1) It is set that l s =3, N s =8, and PW i , 0≤i<8. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 14-bit quantization is performed on values in the reliability sequence, an obtained quantized reliability sequence corresponding to the basic sequence is shown in Table 15:

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 16:

It can be learned from Table 15 and Table 16 that, during storage of the quantized reliability sequence corresponding to the basic sequence, only 2 l s =2 3 =8 values need to be stored; during storage of the quantized reliability reference sequence, l max −l s =10−3=7 values need to be stored; and only a total of 8+7=15 values need to be stored. Therefore, compared with a previous case in which 1024 values need to be stored (Table 14), storage space of (1024−15)/1024=98.5% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

(2) It is set that l s =4, N s =16, and PW i , 0≤i<16. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, as shown in Table 17:

A reliability reference sequence obtained according to the foregoing formula is shown in Table 18:

The reliability sequence may be alternatively a limited precision quantization value of the original reliability sequence PW i , as long as a quantized reliability sequence still satisfies a same relative size relationship as the original reliability sequence.

For example, 14-bit quantization PW −quantization i =[(PW i /max{PW})g(2 14 −1)] may be performed based on Table 17 and Table 18, where PW, is a PW sequence before quantization, PW −quantization i is a quantized PW sequence, max{PW} is a maximum value of the PW sequence before quantization, ┌g┐ is a rounding up function, and a quantization precision is 14 bits. Table 19 and Table 20 are obtained after quantization is performed. The quantization precision is positively correlated with the length N max of the mother code sequence. For larger N max , higher quantization precision is usually needed to ensure that the quantized reliability sequence corresponding to the mother code sequence still satisfies the same relative size relationship as the original reliability sequence. Herein, the foregoing is only an example, a principle of a quantization manner of a reliability sequence of a mother code sequence with another length is the same as that in the foregoing, and details are not repeated.

It can be learned from Table 19 and Table 20 that, during storage of a quantized reliability sequence corresponding to a basic sequence, only 2 l s =2 4 =16 values need to be stored; during storage of a quantized reliability reference sequence, l max −l s =10−4=6 values need to be stored; and only a total of 16+6=22 values need to be stored. Therefore, compared with a previous case in which 1024 values need to be stored (Table 14), storage space of (1024−22)/1024=97.8% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

›Embodiment 1 · 3 of 5

(3) It is set that l s =5, N s =32, and PW i , 0≤i<32. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 14-bit quantization is performed on values of elements in the reliability sequence, an obtained quantized reliability sequence corresponding to the basic sequence is shown in Table 21:

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 22:

It can be learned from Table 21 and Table 22 that, during storage of the quantized reliability sequence corresponding to the basic sequence, only 2 l s =2 5 =32 values need to be stored; during storage of the values in the quantized reliability reference sequence, l max −l s =10−5=5 values need to be stored; and only a total of 32+5=37 values need to be stored. Therefore, compared with a previous case in which 1024 values need to be stored (Table 14), storage space of (1024−37)/1024=96.4% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

(4) It is set that l s =6, N s =64, and PW i , 0≤i<64. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 14-bit quantization is performed on values in the reliability sequence, an obtained quantized reliability sequence corresponding to the basic sequence is shown in Table 23:

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 24:

It can be learned from Table 23 and Table 24 that, during storage of the quantized reliability sequence corresponding to the basic sequence, only 2 l s =2 6 =64 values need to be stored; during storage of the values in the quantized reliability reference sequence, l max −l s =10−6=4 values need to be stored; and only a total of 64+4=68 values need to be stored. Therefore, compared with a previous case in which 1024 values need to be stored (Table 14), storage space of (1024−68)/1024=93.3% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

(5) It is set that l s =7, N s =128, and PW i , 0≤i<128. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 14-bit quantization is performed on values in the reliability sequence, an obtained quantized reliability sequence corresponding to the basic sequence is shown in Table 25:

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 26:

It can be learned from Table 25 and Table 26 that, during storage of the quantized reliability sequence corresponding to the basic sequence, only 2 l s =2 7 =128 values need to be stored; during storage of the values in the quantized reliability reference sequence, l max −l s =10−7=3 values need to be stored; and only a total of 128+3=131 values need to be stored. Therefore, compared with a previous case in which 1024 values need to be stored (Table 14), storage space of (1024−131)/1024=87.2% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

(6) It is set that l s =8, N s =256, and PW i , 0≤i<256. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 14-bit quantization is performed on values in the reliability sequence, an obtained quantized reliability sequence corresponding to the basic sequence is shown in Table 27:

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 28:

It can be learned from Table 27 and Table 28 that, during storage of the quantized reliability sequence corresponding to the basic sequence, only 2 l s =2 8 =256 values need to be stored; during storage of the values in the quantized reliability reference sequence, l max −l s =10−8=2 values need to be stored; and only a total of 256+2=258 values need to be stored. Therefore, compared with a case in which 1024 values need to be stored for original reliability (Table 14), storage space of (1024−258)/1024=74.8% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

(7) It is set that l s =9, N s =512, and PW i , 0≤i<512. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 14-bit quantization is performed on values in the reliability sequence, an obtained quantized reliability sequence corresponding to the basic sequence is shown in Table 29:

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 30:

It can be learned from Table 29 and Table 30 that, during storage of the quantized reliability sequence corresponding to the basic sequence, only 2 l s =2 9 =512 values need to be stored; during storage of the values in the quantized reliability reference sequence, l max −l s =10−9=1 value needs to be stored; and only a total of 512+1=513 values need to be stored. Therefore, compared with a previous case in which 1024 values need to be stored (Table 14), storage space of (1024−513)/1024=49.9% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

3. For a reliability sequence corresponding to a mother code sequence with a length of N max =2 l max =2 11 =2048, β=2 0.25 is set, 14-bit quantization is performed, and 2048 values are stored according to a prior-art storage manner, as shown in Table 31:

There may be the following several implementations, provided in this application, for transforming a maximum-mother-code-length reliability sequence with a length of 2048 to a reliability sequence and a reliability reference sequence:

(1) It is set that l s =3, N s =8, and PW i , 0≤i<8. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 14-bit quantization is performed on values in the reliability sequence, an obtained quantized reliability sequence corresponding to the basic sequence is shown in Table 32:

›Embodiment 1 · 4 of 5

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 33:

It can be learned from Table 32 and Table 33 that, during storage of the quantized reliability sequence corresponding to the basic sequence, only 2 l s =2 3 =8 values need to be stored; during storage of the values in the quantized reliability reference sequence, l max −l s =11−3=8 values need to be stored; and only a total of 8+8=16 values need to be stored. Therefore, compared with a previous case in which 2048 values need to be stored (Table 31), storage space of (2048−16)/2048=99.2% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

(2) It is set that l s =4, N s =16, and PW i , 0≤i<16. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 14-bit quantization is performed on values in the reliability sequence, an obtained quantized reliability sequence corresponding to the basic sequence is shown in Table 34:

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 35:

It can be learned from Table 34 and Table 35 that, during storage of the quantized reliability sequence corresponding to the basic sequence, only 2 l s =2 4 =16 values need to be stored; during storage of the values in the quantized reliability reference sequence, l max −l s =11−4=7 values need to be stored; and only a total of 16+7=23 values need to be stored. Therefore, compared with a previous case in which 2048 values need to be stored (Table 31), storage space of (2048−23)/2048=98.9% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

(3) It is set that l s =5, N s =32, and PW i , 0≤i<32. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 14-bit quantization is performed on values in the reliability sequence, an obtained quantized reliability sequence corresponding to the basic sequence is shown in Table 36:

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 37:

It can be learned from Table 36 and Table 37 that, during storage of the quantized reliability sequence corresponding to the basic sequence, only 2 l s =2 5 =32 values need to be stored; during storage of the values in the quantized reliability reference sequence, l max −l s =11−5=6 values need to be stored; and only a total of 32+6=38 values need to be stored. Therefore, compared with a previous case in which 2048 values need to be stored (Table 31), storage space of (2048−38)/2048=98.1% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

(4) It is set that l s =6, N s =64, and PW i , 0≤i<64. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 14-bit quantization is performed on values in the reliability sequence, an obtained quantized reliability sequence corresponding to the basic sequence is shown in Table 38:

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 39:

It can be learned from Table 38 and Table 39 that, during storage of the quantized reliability sequence corresponding to the basic sequence, only 2 l s =2 6 =64 values need to be stored; during storage of the values in the quantized reliability reference sequence, l max −l s =11−6=5 values need to be stored; and only a total of 64+5=69 values need to be stored. Therefore, compared with a previous case in which 2048 values need to be stored (Table 31), storage space of (2048−69)/=96.6% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

(5) It is set that l s =7, N s =128, and PW i , 0≤i<128. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 14-bit quantization is performed on values in the reliability sequence, an obtained quantized reliability sequence corresponding to the basic sequence is shown in Table 40:

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 41:

It can be learned from Table 40 and Table 41 that, during storage of the quantized reliability sequence corresponding to the basic sequence, 2 l s =2 7 =128 values need to be stored; during storage of the values in the quantized reliability reference sequence, only l max −l s =11−7=4 values need to be stored; and only a total of 128+4=132 values need to be stored. Therefore, compared with a previous case in which 2048 values need to be stored (Table 31), storage space of (2048−132)/2048=93.5% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

(6) It is set that l s =8, N s =256, and PW i , 0≤i<256. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 14-bit quantization is performed on values in the reliability sequence, an obtained quantized reliability sequence corresponding to the basic sequence is shown in Table 42:

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 43:

It can be learned from Table 42 and Table 43 that, during storage of the quantized reliability sequence corresponding to the basic sequence, only 2 l s =2 8 =256 values need to be stored; during storage of the values in the quantized reliability reference sequence, l max −l s =11−8=3 values need to be stored; and only a total of 256+3=259 values need to be stored. Therefore, compared with a previous case in which 2048 values need to be stored (Table 31), storage space of (2048−258)/2048=87.4% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

(7) It is set that l s =9, N s =512, and PW i , 0≤i<512. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 14-bit quantization is performed on values in the reliability sequence, an obtained quantized reliability sequence corresponding to the basic sequence is shown in Table 44:

›Embodiment 1 · 5 of 5

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 45:

It can be learned from Table 44 and Table 45 that, during storage of the quantized reliability sequence corresponding to the basic sequence, only 2 l s =2 9 =512 values need to be stored; during storage of the values in the quantized reliability reference sequence, l max −l s =11−9=2 values need to be stored; and only a total of 512+2=514 values need to be stored. Therefore, compared with a previous case in which 2048 values need to be stored (Table 31), storage space of (2048−514)/2048=74.9% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

(8) It is set that l s =10, N s =1024, and PW i , 0≤i<1024. A reliability sequence corresponding to a basic sequence can be obtained according to the foregoing formula, and after 14-bit quantization is performed on values in the reliability sequence, an obtained quantized reliability sequence corresponding to the basic sequence is shown in Table 46:

A quantized reliability reference sequence obtained according to the foregoing formula is shown in Table 47:

It can be learned from Table 46 and Table 47 that, during storage of the quantized reliability sequence corresponding to the basic sequence, 2 l s =2 10 =1024 values need to be stored; during storage of the values in the quantized reliability reference sequence, only l max −l s =11−10=1 value needs to be stored; and only a total of 1024+1=1025 values need to be stored. Therefore, compared with a previous case in which 2048 values need to be stored (Table 31), storage space of (2048−1025)/2048=49.9% can be saved, thereby greatly reducing storage overheads and improving storage efficiency.

It should be noted that, different reliability sequences corresponding to basic sequences may be obtained by setting values of β. In the foregoing embodiment, β=2 0.25 is used as an example. In another implementation, it may be set that β=2 0.5 , β=2 0.75 , and the like.

In addition, based on different requirements, different l s may be further selected, a value range thereof is 0≤l s <l max . A length of a reliability sequence corresponding to a basic sequence and corresponding to i and a length of a reliability reference sequence corresponding to l s are respectively 2 l s and l max −l s .

All reliability sequences corresponding to mother code sequences with different lengths of N max , such as N max =258, 512, 1024, 2048, 4096, may be stored by using the method provided in the embodiments of this application.

Based on Embodiment 1, transformation calculation is performed, by using the PW formula, on the reliability sequence with the length of N max =2 l max and corresponding to the mother code sequence to obtain the reliability sequence with the length of N s =2 l s and corresponding to the basic sequence, and this embodiment provides a corresponding reading manner. The following provides description separately by using Embodiment 2 to Embodiment 4.

›Embodiment 2

During construction of a coding sequence, for example, a polar code, a coding length is M, and an information length is K info . During construction of the polar code by reading the reliability sequence N s provided in Embodiment 1 and corresponding to the basic sequence, there are the two following cases:

(1) When N≤N s , N elements are obtained from the reliability sequence corresponding to the basic sequence, where values of the N elements are greater than those of the N s −N elements in the N s elements, and bit positions that are corresponding to the N elements and that are in the basic sequence form the coding sequence.

(2) When N>N s , the reliability sequence corresponding to the basic sequence is extended based on an element in the reliability reference sequence to form a reliability sequence with a length of N, where bit positions that are corresponding to the reliability sequence with the length of N and that are in the mother code sequence form the coding sequence.

A code length N of the reliability sequence is determined based on the coding length M and the information length K info . In a possible implementation, N=2 ┌ log 2 M ┐ , where M is the coding length, and ┌⋅┐ is a rounding up operation.

FIG. 3 is a schematic diagram of reading a reliability sequence according to this embodiment, and a reading process is shown in FIG. 4 , and includes the following operations:

Operation 100 . Determine a value relationship between N and N s ; when N≤N s , proceed to operation 101 ; or when N>N s , proceed to operation 102 .

Operation 101 . When N≤N s , read the first N elements from the reliability sequence with the length of N s and corresponding to the basic sequence, to form a reliability sequence with a length of N, where values of the N elements are greater than those of the N s −N elements in the N s elements; and form a coding sequence by using bit positions that are corresponding to the N elements and that are in the basic sequence.

When N=N s , the first N elements in the reliability sequence corresponding to the basic sequence are all elements in the reliability sequence with the length of N.

Operation 102 . When N>N s , extend, by using an element in a reliability reference sequence {PW i ,i=2 l s , 2 l s +1 , . . . , 2 l max −1 }, a reliability sequence {PW i , 0≤i≤2 l s } with a length of N s and corresponding to the basic sequence.

During each extension, {PW i ,0≤i≤2 l s } is extended to {PW i ,0≤i≤2 l s +1 }, where

PW i + 2 l s = PW i + ( β ) l s , i = 0 , 1 , … ⁢ ⁢ 2 l 1 - 1 ,

the foregoing operation is repeated, until a length of an extended reliability sequence is N.

Operation 103 . Record a reliability sorting sequence Q, where the reliability sorting sequence Q is obtained through sorting performed on elements in the reliability sequence with the length of N based on reliability values.

Operation 104 . Successively read the elements from the reliability sorting sequence Q from back to front (from front to back) according to a rate matching condition.

Operation 105 . If a sequence number corresponding to a read element satisfies the rate matching condition, skip the element.

Otherwise, in operation 106 , the sequence number of the element is added to an information bit sequence number set A.

Operation 105 and operation 106 are circulated until a set size of read sequence numbers is K.

In this case, the information bit sequence number set A is a most reliable sequence number set, and its complementary set A c (relative to a set {0, 1, . . . , N−1}) is a frozen-bit sequence number set.

When the method for constructing a polar code by reading a reliability sorting sequence in Embodiment 2 is implemented, storage overheads are small, and different rate matching manners can be flexibly adapted.

›Embodiment 3

In Embodiment 3, during polar code construction based on the reliability sequence N provided in Embodiment 1 and corresponding to the basic sequence, a threshold PW th is stored in advance for a coding length M, an information length K, and a rate matching manner of each polar code that may appear in a system. The threshold may be stored in a form of a threshold table. The threshold indicates that reliability of a sub-channel is greater than or equal to (or greater than) the threshold and that a sequence number of the sub-channel does not satisfy a rate matching condition that a sub-channel sequence number set size is K. K=K info +K check , where K info is a value of an information length, and K check is a value of a length of a CRC bit and/or a dynamic check bit.

As shown in the schematic diagram 4 and a flowchart 5 , operation 200 to operation 202 in Embodiment 3 are the same as operation 100 to operation 102 in Embodiment 1. Operation 200 to operation 202 are as follows: When N≤N s , read N elements from the reliability sequence with the length of N s and corresponding to the basic sequence, to form a reliability sequence with a length of N, where values of the N elements are greater than those of the N s −N elements in the N s elements; and form a coding sequence by using bit positions that are corresponding to the N elements and that are in the basic sequence; and

when N>N s , extend, by using an element in a reliability reference sequence {PW i , i=2 l s , 2 l s +1 , . . . , 2 l max −1 }, a reliability sequence {PW i , 0≤i≤2 l s } with a length of N s and corresponding to the basic sequence until a length of an extended reliability sequence is N, where the reliability sequence with the length of N is a basis for constructing a coding sequence; and form a coding sequence by using bit positions that are corresponding to N elements in the reliability sequence and that are in the basic sequence.

Operation 203 . Search for a threshold of a polar code that needs to be constructed.

Then, both each element PW i of the reliability sequence with the length of N and a sequence number thereof are compared with the threshold PW th based on rate matching and the reliability sequence with the length of N.

In operation 204 , it is determined whether a value of PW i of the reliability sequence with the length of N is greater than or equal to (or greater than) the threshold PW th .

Operation 205 . Determine whether a sequence number i corresponding to PW i satisfies a rate matching condition.

Operation 206 . Add all elements that satisfy operation 204 but do not satisfy operation 205 to an information bit sequence number set A.

Operation 205 and operation 206 are circulated until a set size of read sequence numbers is K.

In this case, the information bit sequence number set A is a most reliable sequence number set, and its complementary set A c (relative to a set {0, 1, . . . , N−1}) is a frozen-bit sequence number set.

During reading the reliability sequence corresponding to the basic sequence in Embodiment 3, N reliability values obtained after extension may be simultaneously compared with the threshold, a comparison process supports parallel processing, and has high processing efficiency, thereby improving efficiency of constructing a polar code.

›Embodiment 4 · 1 of 4

In Embodiment 4, during polar code construction based on the reliability sequence N s provided in Embodiment 1 and corresponding to the basic sequence, a threshold PW th is stored in advance for a coding length M, an information length K, and a rate matching manner of each polar code that may appear in a system. The threshold may be stored in a form of a threshold table. The threshold indicates that reliability of a sub-channel is greater than or equal to (or greater than) the threshold and that a sequence number of the sub-channel does not satisfy a rate matching condition that a sub-channel sequence number set size is K.

Referring to a schematic diagram 6 and a flowchart 7 for reading a reliability sequence, a method in Embodiment 4 includes the following operations:

Operation 300 . Determine a value relationship between N and N s ; when N≤N s , proceed to operation 301 ; or when N>N s , proceed to operation 302 .

Operation 301 . When N≤N s , obtain N elements from the reliability sequence corresponding to the basic sequence, where values of the N elements are greater than those of the N s −N elements in the N s elements; and form a coding sequence by using bit positions that are corresponding to the N elements and that are in the basic sequence, where when N=N s , the first N elements in the reliability sequence are all elements in the reliability sequence.

Operation 302 . Obtain, based on N seg times, N elements from the reliability sequence corresponding to the basic sequence, and form a coding sequence by using bit positions that are corresponding to the N elements and that are in a mother code sequence, where N seg =N/N s .

Operation 303 . Search for a threshold PW th of a to-be-constructed polar code.

Operation 304 . During the x th time of reading an information bit sequence number set (a binary value of x is indicated as B l z −1 B l z −2 . . . B 0 , and l x =log 2 ┌M/N short ┐), calculate PW th,x−1 , where

PW th , x - 1 = PW th - ∑ n = 0 l x - 1 ⁢ B n ⁢ PW 2 l 1 + n ,

and

PW 2 l 1 + n

is read from a reliability n=0 reference sequence.

Then, both each element PW i of the reliability sequence corresponding to the basic sequence and a sequence number thereof are compared with the threshold PW th,x−1 based on a rate matching condition and the reliability sequence with the length of N s .

In operation 305 , it is determined whether a value of PW i of the reliability sequence corresponding to the basic sequence is greater than or equal to (or greater than) the threshold PW th,x−1 . It should be noted that, during the x+1 th time of reading, both each element PW i of the reliability sequence corresponding to the basic sequence and a sequence number thereof are compared with the threshold PW th,x based on the rate matching condition and the reliability sequence with the length of N s (as shown in FIG. 6 ).

Operation 306 . Determine whether an extension sequence number i+(x−1)gN s corresponding to a sequence number i of PW i satisfies a rate matching condition.

Operation 307 . Add all sequence numbers i+(x−1)gN s , of elements, that satisfy operation 305 but do not satisfy operation 306 to the information bit sequence number set A.

Operation 305 to operation 307 are circulated until a set size of read sequence numbers is K.

In this case, the information bit sequence number set A is a most reliable sequence number set, and its complementary set A c (relative to a set {0, 1, . . . , N−1}) is a frozen-bit sequence number set.

In another implementation process, a frozen-bit sequence number set A c is read first, and then its complementary set is selected to obtain an information bit sequence number set A.

During implementation of the method for constructing a polar code by reading a reliability sorting sequence provided in Embodiment 4, extension does not need to be performed on a stored short reliability sequence, segmentation and parallel reading of the short reliability sequence are supported (all segments can be compared with a threshold). Therefore, a reading delay is relatively small, thereby improving efficiency of constructing a polar code.

According to the method for constructing a polar code provided in the embodiments of this application, some transformations are performed on a maximum-mother-code-length reliability sequence with a maximum mother code length of N max , and the maximum-mother-code-length reliability sequence is indicated by a reliability sequence and a reliability reference sequence. Then, a polar code is constructed based on the stored reliability sequence and reliability reference sequence. The reliability sequence is a subset of the maximum-mother-code-length reliability sequence, and an element in the reliability reference sequence indicates an offset between the reliability sequence and the maximum-mother-code-length reliability sequence. During storage, only the reliability sequence and the reliability reference sequence are stored. Because a sum of a length of the reliability sequence and a length of the reliability reference sequence is far less than a length of the original reliability sequence, storage overheads can be reduced, and the maximum-mother-code-length reliability sequence can also be indicated.

In the foregoing embodiments provided in this application, each solution for constructing a polar code provided in the embodiments of this application is described from a perspective of storing a reliability sequence, reading a reliability sequence, and obtaining an information bit sequence number set. It can be understood that, the foregoing method may be implemented in each network element. To implement the foregoing functions, each network element such as a terminal, a base station, or a control node includes a corresponding hardware structure and/or software module for performing each function. A person skilled in the art should easily be aware that, in combination with the examples described in the embodiments disclosed in this specification, units and algorithms operations may be implemented by hardware or a combination of hardware and computer software in this application. Whether a function is implemented by hardware or in a manner of driving hardware by a computer software depends on a particular application and a design constraint of the technical solution. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.

›Embodiment 4 · 2 of 4

As shown in FIG. 9 , in an implementation, an apparatus for constructing a coding sequence provided in this application includes a memory 403 and a controller/processor 402 .

The memory 403 stores a reliability sequence corresponding to a basic sequence, where a length of the reliability sequence corresponding to the basic sequence is less than or equal to a length of a reliability sequence corresponding to a mother code sequence; the length of the reliability sequence corresponding to the mother code sequence is N max =2 l max ; and the length of the reliability sequence corresponding to the basic sequence is N s 2 l s , where 0≤l s <l max . The memory 403 is further configured to store a reliability reference sequence, where the reliability reference sequence includes at least one element remaining after the reliability sequence corresponding to the basic sequence is excluded from the reliability sequence corresponding to the mother code sequence; and a length of the reliability reference sequence is l max −l s .

The reliability sequence corresponding to the basic sequence and the reliability reference sequence are used for constructing a coding sequence, for example, a polar code sequence.

The controller/processor 402 is configured to construct a coding sequence such as a polar code sequence by using the reliability sequence and the reliability reference sequence that are stored in the memory 403 .

In an implementation, the reliability sequence corresponding to the basic sequence is {PW i , 0≤i≤2 l s }, where PW i =Σ j=0 n−1 B j (β) j , and (i) dec (B n−1 B n−2 . . . B 0 ) bin . The reliability reference sequence is {PW i ,i=2 l s , 2 l s +1 , . . . , 2 l max −1 } or (β) l s , (β) l max +1 , . . . , (β) l max −1 .

When l max ∈[7, 8, 9, 10, 11, 12], a value range of the length of the reliability sequence corresponding to the mother code sequence is N max =2 l max ∈[128, 512, 1024, 2048, 4096].

l s ∈[1, 2, 3, 4, 5, 6], and a value range of the length of the reliability sequence corresponding to the basic sequence is N s =2 l s ∈[1, 4, 8, 16, 32, 64].

For mother code sequences with different lengths of N max =2 l max , a manner for generating reliability sequences and reliability reference sequences corresponding to the mother code sequences, refer to description in the foregoing method Embodiment 1, and details are not repeated herein.

In addition, the controller/processor 402 is further configured to: quantize the reliability sequence corresponding to the basic sequence to obtain the reliability quantization sequence, and quantize the reliability reference sequence to obtain the reliability quantization reference sequence.

The memory 401 is further configured to store the reliability quantization sequence and the reliability quantization reference sequence.

A function of the foregoing controller/processor 402 may be implemented by a circuit or by general purpose hardware by executing software code. When the function of the foregoing controller/processor 402 may be implemented by general purpose hardware by executing software code, the memory 403 is further configured to store program code that can be executed by the controller/processor 402 . When running the program code stored in the memory 403 , the controller/processor 402 performs the foregoing function.

In an implementation, the controller/processor 402 is configured to: when N≤N s , obtain N elements from the reliability sequence corresponding to the basic sequence, where values of the N elements are greater than those of the N s −N elements in the N s elements; and form a coding sequence by using bit positions that are corresponding to the N elements and that are in the basic sequence.

The controller/processor 402 is further configured to extend, based on an element in the reliability reference sequence, the reliability sequence corresponding to the basic sequence, to form a reliability sequence with a length of N; and form a coding sequence by using bit positions that are corresponding to the reliability sequence with the length of N and that are in the mother code sequence. The reliability sequence with the length of N is obtained by the processor by extending, by using an element in the reliability reference sequence {PW i , i=2 l s , 2 l s +1 , . . . , 2 l max −1 }, the reliability sequence {PW i , 0≤i≤2 l s } with the length of N s and corresponding to the basic sequence.

In addition, the memory 403 is further configured to record a reliability sorting sequence Q, where the reliability sorting sequence Q is obtained by the controller/processor 402 by performing sorting on elements in the reliability sequence with the length of N based on reliability values. The controller/processor 402 is further configured to obtain an information bit sequence number set A, where a quantity of elements in the information bit sequence number set A is equal to a threshold K; and the elements in the information bit sequence number set A are elements that are in the reliability sorting sequence Q and whose sequence numbers do not satisfy a rate matching condition.

In another implementation, the controller/processor 402 is further configured to obtain an information bit sequence number set A, where a quantity of elements in the information bit sequence number set A is equal to a threshold K; and the elements in the information bit sequence number set A are elements that are in the reliability sequence with the length of N, whose values are greater than or equal to a threshold PW th of a polar code, and whose sequence numbers do not satisfy a rate matching condition.

In another implementation, the controller/processor 402 is further configured to: when N≤N s , obtain N elements from the reliability sequence corresponding to the basic sequence, where values of the N elements are greater than those of the N s −N elements in the N s elements; and form a coding sequence by using bit positions that are corresponding to the N elements and that are in the basic sequence.

›Embodiment 4 · 3 of 4

When N>N s , the controller/processor 402 is further configured to obtain, based on N seg times, N elements from the reliability sequence corresponding to the basic sequence, and form a coding sequence by using bit positions that are corresponding to the N elements and that are in the mother code sequence, where N seg =N/N s .

Bit positions that are corresponding to K elements in the N elements and that are in the mother code sequence are used for information bit transmission.

The K elements are elements that are in the reliability sequence with the length of N, whose values are greater than or equal to a threshold PW th of a polar code, and whose sequence numbers do not satisfy a rate matching condition. The processor selects a complementary set of the K elements used for information bit transmission, to obtain N−K elements used for frozen bit transmission.

Alternatively, bit positions that are corresponding to the N−K elements in the N elements other than the K elements and that are in the mother code sequence are used for frozen bit transmission. The N−K elements used for frozen bit transmission are elements that are in the reliability sequence with the length of N and whose values are less than a threshold PW th of the coding sequence or whose sequence numbers satisfy rate matching. The controller/processor 402 selects a complementary set of the N−K elements used for frozen bit transmission, to obtain the K elements used for information bit transmission. The K elements used for information bit transmission and the N−K elements used for frozen bit transmission form the N elements with a coding length.

During the x th time of reading in the N seg times of reading, the controller/processor 402 reads N s elements in the reliability sequence with the length of N, and corresponding to the basic sequence; calculates a threshold PW th,x−1 based on a threshold PW th of the coding sequence, calculates a sequence number i+(x−1)gN s based on a sequence number i of the N s elements; selects an element that is in the N s elements, whose reliability is greater than or equal to the threshold PW th,x−1 , and whose sequence number i+(x−1)gN s does not satisfy a rate matching condition; and adds the sequence number i+(x−1)gN s of the element to an information bit sequence number set A used for information bit transmission, where a quantity of elements in the information bit sequence number set A is equal to a threshold K.

The controller/processor 402 selects a complementary set of the information bit sequence number set A to obtain N−K elements used for frozen bit transmission, and forms N elements with the coding length by using the K elements in the information bit sequence number set A that are used for information bit transmission and the N−K elements used for frozen bit transmission.

Alternatively, the obtaining, based on N seg times, N elements from the reliability sequence corresponding to the basic sequence includes:

during the x th time of reading in the N seg times of reading, reading, by the controller/processor 402 , N s elements in the reliability sequence with the length of N s , and calculating a threshold PW th,x−1 based on a threshold PW th of a polar code;

calculating, by the controller/processor 402 , a sequence number i+(x−1)gN s based on a sequence number i of the N s elements, selecting an element that is in the N s elements and whose reliability is less than the threshold PW th,x−1 or whose sequence number i+(x−1)gN s satisfies a rate matching condition, and adding the sequence number i+(x−1)gN s of the element to a frozen-bit sequence number set A c used for frozen bit transmission;

selecting, by the controller/processor 402 , a complementary set of the frozen-bit sequence number set A c to obtain K elements used for information bit transmission, to form an information bit sequence number set A, where a quantity of the elements in the information bit sequence number set A is equal to a threshold K; and

forming the N elements with a coding length by using the K elements in the information bit sequence number set A that are used for information bit transmission and the N−K elements used for frozen bit transmission.

For processing operations, refer to the method Embodiment 2 to Embodiment 4, and details are not repeated herein.

Further, the apparatus for constructing a polar code may further include an encoder 4051 , a modulator 4052 , a demodulator 4054 , and a decoder 4053 . The encoder 4051 is configured to obtain data/signaling that is to be sent by a network side device to a terminal or data/signaling that is to be sent by the terminal to the network side device, and encode the data/signaling. The modulator 4052 modulates data/signaling obtained by encoding by the encoder 4051 and transmits modulated data/signaling to a transceiver 401 , and the transceiver 401 sends the modulated data/signaling to the terminal or another network side device.

The demodulator 4054 is configured to obtain the data/signaling sent by the terminal or the another network side device, and perform demodulation on the data/signaling. The decoder 4053 is configured to decode data/signaling obtained through demodulation by the demodulator 4054 .

The foregoing encoder 4051 , modulator 4052 , demodulator 4054 , and decoder 4053 can be implemented by an integrated modem processor 405 . These units perform processing according to a wireless access technology used in a wireless access network (for example, an access technology used for an LTE system and another evolved system).

The network side device may further include a communications interface 404 , configured to support communication between the apparatus for constructing a polar code and another network entity. It can be understood that, FIG. 8 only shows a simplified design of the apparatus for constructing a polar code. In actual application, the foregoing transceiver 401 may include a transmitter and a receiver, and the apparatus may include any quantity of transmitters, any quantity of processors, any quantity of controllers/processors, any quantity of memories, any quantity of communications interface, and/or the like.

›Embodiment 4 · 4 of 4

In an implementation, the foregoing apparatus may be a terminal or a network side device. The network side device may be a base station or a control node.

In this application, a controller/processor of the foregoing base station, terminal, or control node may 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 another programmable logic device, a transistor logic device, a hardware component, or any combination thereof. The controller/processor may implement or execute various example logical blocks, modules, and circuits described with reference to content disclosed in this application. Alternatively, the processor may be a combination of processors implementing a computing function, for example, a combination of one or more microprocessors, or a combination of the DSP and a microprocessor.

Method or algorithm operations described with reference to the content disclosed in this application may be implemented by hardware, or may be implemented by a processor by executing a software instruction (for example, program code). The software instruction may be formed by a corresponding software module. The software module may be located in a RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, a register, a hard disk, a removable magnetic disk, a CD-ROM, or a storage medium of any other form known in the art. For example, a storage medium is coupled to a processor, so that the processor can read information from the storage medium or write information into the storage medium. Certainly, the storage medium may be alternatively a component of the processor. The processor and the storage medium may be located in the ASIC. In addition, the ASIC may be located in a terminal. Certainly, the processor and the storage medium may exist in the terminal as discrete components.

A person skilled in the art should be aware that in the foregoing one or more examples, functions described in this application may be implemented by hardware, software, firmware, or any combination thereof. When the present invention is implemented by software, the foregoing functions may be stored in a computer-readable medium or transmitted as one or more instructions or code in the computer-readable medium. The computer-readable medium includes a computer storage medium and a communications medium, where the communications medium includes any medium that enables a computer program to be transmitted from one place to another. The storage medium may be any available medium accessible to a general-purpose or dedicated computer.

The objectives, technical solutions, and benefits of this application are further described in detail in the foregoing embodiments. It should be understood that the foregoing descriptions are merely specific embodiments of this application, but are not intended to limit the protection scope of this application. Any modification, equivalent replacement or improvement made based on technical solutions of this application shall fall within the protection scope of this application.

›Tables in the description — 44
TABLE 1
041349190358399610741487
6941106118415971277169017682180
8251238131617281408182118992312
15191931200924222102251525933005
9811394147218841565197720552468
16752087216625782258267127493161
18062219229727092390280228803293
25002913299134033083349635743987
11671579165720701750216322412653
18612273235127642444285729353347
19922404248228952575298830663478
26863098317635893269368237604172
21482560263930512731314432223634
28423254333237453425383839164328
29733386346438763556396940474460
36674079415745704250466347415153
13881800187822911971238424622874
20812494257229842665307731553568
22132625270331162796320932873699
29063319339738103490390239804393
23692781285932722952336534433855
30633475355339663646405841374549
31943606368440973777419042684680
38884300437847914471488449625374
25542967304534573138355036284041
32483661373941513832424443224735
33793792387042833963437544534866
40734486456449764657506951475560
35363948402644394119453146105022
42294642472051324813522553035716
43614773485152644944535754355847
50545467554559575638605061286541
16502063214125532234264627243137
23442756283432472927334034183830
24752888296633783059347135493962
31693581366040723752416542434655
26313044312235343215362737054118
33253738381642283908432143994812
34563869394743594040445245304943
41504563464150534734514652245637
28173229330737203400381338914303
35113923400144144094450745854997
36424054413345454225463847165128
43364748482652394919533254105822
37984211428947014381479448725285
44924904498253955075548855665978
46235036511455265207561956976110
53175729580762205900631363916803
30383450352839413621403441124524
37314144422246354315472748055218
38634275435347664446485949375349
45574969504754605140555256316043
40194431450949224602501550935505
47135125520356165296570957876199
48445256533457475427584059186330
55385950602864416121653466127024
42044617469551084788520052785691
48985311538958015482589459726385
50305442552059335613602561046516
57236136621466266307671967977210
51865598567660895769618262606672
58796292637067836463687569537366
60116423650169146594700770857497
67047117719576087288770077788191
TABLE 2
01234567
041349190358399610741487
TABLE 3
8163264128256
694825981116713881650
TABLE 4
01234567
041349190358399610741487
89101112131415
6941106118415971277169017682180
TABLE 5
163264128256
825981116713881650
TABLE 6
01234567
041349190358399610741487
89101112131415
6941106118415971277169017682180
1617181920212223
8251238131617281408182118992312
2425262728293031
15191931200924222102251525933005
TABLE 7
3264128256
981116713881650
TABLE 8
01234567
041349190358399610741487
89101112131415
6941106118415971277169017682180
1617181920212223
8251238131617281408182118992312
2425262728293031
15191931200924222102251525933005
3233343536373839
9811394147218841565197720552468
4041424344454647
16752087216625782258267127493161
4849505152535455
18062219229727092390280228803293
5657585960616263
25002913299134033083349635743987
TABLE 9
64128256
116713881650
TABLE 10
01234567
041349190358399610741487
89101112131415
6941106118415971277169017682180
1617181920212223
8251238131617281408182118992312
2425262728293031
15191931200924222102251525933005
3233343536373839
9811394147218841565197720552468
4041424344454647
16752087216625782258267127493161
4849505152535455
18062219229727092390280228803293
5657585960616263
25002913299134033083349635743987
6465666768697071
11671579165720701750216322412653
7273747576777879
18612273235127642444285729353347
8081828384858687
19922404248228952575298830663478
8889909192939495
26863098317635893269368237604172
96979899100101102103
21482560263930512731314432223634
104105106107108109110111
28423254333237453425383839164328
112113114115116117118119
29733386346438763556396940474460
120121122123124125126127
36674079415745704250466347415153
TABLE 11
128256
13881650
TABLE 12
01234567
041349190358399610741487
89101112131415
6941106118415971277169017682180
1617181920212223
8251238131617281408182118992312
2425262728293031
15191931200924222102251525933005
3233343536373839
9811394147218841565197720552468
4041424344454647
16752087216625782258267127493161
4849505152535455
18062219229727092390280228803293
5657585960616263
25002913299134033083349635743987
6465666768697071
11671579165720701750216322412653
7273747576777879
18612273235127642444285729353347
8081828384858687
19922404248228952575298830663478
8889909192939495
26863098317635893269368237604172
96979899100101102103
21482560263930512731314432223634
104105106107108109110111
28423254333237453425383839164328
112113114115116117118119
29733386346438763556396940474460
120121122123124125126127
36674079415745704250466347415153
128129130131132133134135
13881800187822911971238424622874
136137138139140141142143
20812494257229842665307731553568
144145146147148149150151
22132625270331162796320932873699
152153154155156157158159
29063319339738103490390239804393
160161162163164165166167
23692781285932722952336534433855
168169170171172173174175
30633475355339663646405841374549
176177178179180181182183
31943606368440973777419042684680
184185186187188189190191
38884300437847914471488449625374
192193194195196197198199
25542967304534573138355036284041
200201202203204205206207
32483661373941513832424443224735
208209210211212213214215
33793792387042833963437544534866
216217218219220221222223
40734486456449764657506951475560
224225226227228229230231
35363948402644394119453146105022
232233234235236237238239
42294642472051324813522553035716
240241242243244245246247
43614773485152644944535754355847
248249250251252253254255
50545467554559575638605061286541
TABLE 14
06667921457941160717332399
11191785191125772061272628523518
13311997212327882273293830643730
24513116324239083392405841844849
15832249237530402525319033163982
27033368349441603644431044365101
29143580370643723856452146475313
40344700482554914975564157676432
18832548267433402824349036164281
30023668379444593944460947355401
32143880400646714155482149475613
43334999512557915275594060666732
34664132425749234407507351995864
45855251537760435527619263186984
47975463558962545739640465307196
59176582670873746858752476508315
22392905303136963180384639724638
33584024415048164300496550915757
35704236436250274512517753035969
46905355548161475631629764237088
38224488461452794763542955556221
49425607573363995883654966747340
51535819594566116095676068867552
62736938706477307214788080068671
41224787491355795063572958556520
52415907603366986182684869747640
54536119624469106394706071867851
65727238736480307514817983058971
57056370649671626646731274388103
68247490761682817766843185579223
70367702782884937977864387699435
815688218947961390979763988810554
26633328345441203604427043955061
37824448457452394723538955156181
39944659478554514935560157276392
51135779590565716055672068467512
42464911503757035187585359796644
53656031615768226307697270987764
55776243636970346518718473107976
66967362748881547638830384299095
45455211533760025487615262786944
56656330645671226606727273988063
58776542666873346818748476098275
69967662778884537937860387299395
61286794692075867070773578618527
72487914803987058189885589819646
74608125825189178401906791939858
857992459371100369521101861031210978
49015567569363595843650866347300
60216687681374786962762877548420
62336898702476907174784079668631
73528018814488098294895990859751
64857150727679427426809282188883
760482708396906185459211933710003
781684828608927387579423954910214
893596019727103939877105421066811334
67847450757682417726839185179183
790485698695936188459511963710302
811587818907957390579722984810514
92359901100271069210176108421096811634
8367903391599825930999741010010766
948710152102781094410428110941122011885
969910364104901115610640113061143212097
1081811484116101227511759124251255113217
31663832395846244108477348995565
42864951507757435227589360196684
44985163528959555439610562316896
56176283640970746558722473508016
47495415554162075691635664827148
58696535666173266810747676028268
60816746687275387022768878148479
72007866799286578142880789339599
50495715584165065990665667827448
61696834696076267110777579018567
63807046717278387322798781138779
75008165829189578441910792339898
66327298742480897574823983659031
775284178543920986939359948510150
796386298755942189059570969610362
9083974998751054010024106901081611482
54056071619768626347701271387804
65257190731679827466813282588923
67377402752881947678834484699135
785685228648931387979463958910255
69887654778084467930859587219387
810887748899956590499715984110506
8320898591119777926199271005310718
943910105102311089610381110461117211838
72887954808087458229889590219687
84079073919998659349100141014010806
861992859411100769561102261035211018
973910404105301119610680113461147212137
887195379663103289812104781060411270
999110656107821144810932115981172412389
1020210868109941166011144118091193512601
1132211988121131277912263129291305513720
58296495662072866770743675628227
69487614774084067890855586819347
71607826795286178102876788939559
8280894590719737922198871001310678
74128078820488698353901991459811
85329197932399899473101391026410930
874394099535102019685103501047611142
986310528106541132010804114701159612261
771283778503916986539319944510110
883194979623102889772104381056411230
904397099834105009984106501077611441
1016210828109541162011104117691189512561
92959960100861075210236109021102811693
1041411080112061187111356120211214712813
1062611292114181208311567122331235913025
1174512411125371320312687133521347814144
806887338859952590099675980110466
9187985399791064410129107941092011586
939910065101911085610340110061113211798
1051911184113101197611460121261225112917
965110317104431110810592112581138412050
1077011436115621222811712123771250313169
1098211648117741243911924125891271513381
1210212767128931355913043137091383514500
995110616107421140810892115581168312349
1107011736118621252712011126771280313469
1128211947120731273912223128891301513680
1240113067131931385813343140081413414800
1153412199123251299112475131411326713932
1265313319134451411013595142601438615052
1286513531136571432213806144721459815264
1398414650147761544214926155911571716383
TABLE 15
01234567
06667921457941160717332399
TABLE 16
8163264128256512
1119133115831883223926633166
TABLE 17
01234567
011.1892072.1892071.4142142.4142142.6034213.603421
89101112131415
1.6817932.6817932.8713.8713.0960064.0960064.2852145.285214
TABLE 18
163264128256512
22.3784142.8284273.36358644.756828
TABLE 19
01234567
06667921457941160717332399
89101112131415
11191785191125772061272628523518
TABLE 20
163264128256512
133115831883223926633166
TABLE 21
01234567
06667921457941160717332399
89101112131415
11191785191125772061272628523518
1617181920212223
13311997212327882273293830643730
2425262728293031
24513116324239083392405841844849
TABLE 22
3264128256512
15831883223926633166
TABLE 23
01234567
06667921457941160717332399
89101112131415
11191785191125772061272628523518
1617181920212223
13311997212327882273293830643730
2425262728293031
24513116324239083392405841844849
3233343536373839
15832249237530402525319033163982
4041424344454647
27033368349441603644431044365101
4849505152535455
29143580370643723856452146475313
5657585960616263
40344700482554914975564157676432
TABLE 24
64128256512
1883223926633166
TABLE 25
01234567
06667921457941160717332399
89101112131415
11191785191125772061272628523518
1617181920212223
13311997212327882273293830643730
2425262728293031
24513116324239083392405841844849
3233343536373839
15832249237530402525319033163982
4041424344454647
27033368349441603644431044365101
4849505152535455
29143580370643723856452146475313
5657585960616263
40344700482554914975564157676432
6465666768697071
18832548267433402824349036164281
7273747576777879
30023668379444593944460947355401
8081828384858687
32143880400646714155482149475613
8889909192939495
43334999512557915275594060666732
96979899100101102103
34664132425749234407507351995864
104105106107108109110111
45855251537760435527619263186984
112113114115116117118119
47975463558962545739640465307196
120121122123124125126127
59176582670873746858752476508315
TABLE 26
128256512
223926633166
TABLE 27
01234567
06667921457941160717332399
89101112131415
11191785191125772061272628523518
1617181920212223
13311997212327882273293830643730
2425262728293031
24513116324239083392405841844849
3233343536373839
15832249237530402525319033163982
4041424344454647
27033368349441603644431044365101
4849505152535455
29143580370643723856452146475313
5657585960616263
40344700482554914975564157676432
6465666768697071
18832548267433402824349036164281
7273747576777879
30023668379444593944460947355401
8081828384858687
32143880400646714155482149475613
8889909192939495
43334999512557915275594060666732
96979899100101102103
34664132425749234407507351995864
104105106107108109110111
45855251537760435527619263186984
112113114115116117118119
47975463558962545739640465307196
120121122123124125126127
59176582670873746858752476508315
128129130131132133134135
22392905303136963180384639724638
136137138139140141142143
33584024415048164300496550915757
144145146147148149150151
35704236436250274512517753035969
152153154155156157158159
46905355548161475631629764237088
160161162163164165166167
38224488461452794763542955556221
168169170171172173174175
49425607573363995883654966747340
176177178179180181182183
51535819594566116095676068867552
184185186187188189190191
62736938706477307214788080068671
192193194195196197198199
41224787491355795063572958556520
200201202203204205206207
52415907603366986182684869747640
2082092102112122013214215
54536119624469106394706071867851
216217218219220221222223
65727238736480307514817983058971
224225226227228229230231
57056370649671626646731274388103
232233234235236237238239
68247490761682817766843185579223
240241242243244245246247
70367702782884937977864387699435
248249250251252253254255
815688218947961390979763988810554
TABLE 28
256512
26633166
TABLE 29
01234567
06667921457941160717332399
89101112131415
11191785191125772061272628523518
1617181920212223
13311997212327882273293830643730
2425262728293031
24513116324239083392405841844849
3233343536373839
15832249237530402525319033163982
4041424344454647
27033368349441603644431044365101
4849505152535455
29143580370643723856452146475313
5657585960616263
40344700482554914975564157676432
6465666768697071
18832548267433402824349036164281
7273747576777879
30023668379444593944460947355401
8081828384858687
32143880400646714155482149475613
8889909192939495
43334999512557915275594060666732
96979899100101102103
34664132425749234407507351995864
104105106107108109110111
45855251537760435527619263186984
112113114115116117118119
47975463558962545739640465307196
120121122123124125126127
59176582670873746858752476508315
128129130131132133134135
22392905303136963180384639724638
136137138139140141142143
33584024415048164300496550915757
144145146147148149150151
35704236436250274512517753035969
152153154155156157158159
46905355548161475631629764237088
160161162163164165166167
38224488461452794763542955556221
168169170171172173174175
49425607573363995883654966747340
176177178179180181182183
51535819594566116095676068867552
184185186187188189190191
62736938706477307214788080068671
192193194195196197198199
41224787491355795063572958556520
200201202203204205206207
52415907603366986182684869747640
208209210211212213214215
54536119624469106394706071867851
216217218219220221222223
65727238736480307514817983058971
224225226227228229230231
57056370649671626646731274388103
232233234235236237238239
68247490761682817766843185579223
240241242243244245246247
70367702782884937977864387699435
248249250251252253254255
815688218947961390979763988810554
256257258259260261262263
26633328345441203604427043955061
264265266267268269270271
37824448457452394723538955156181
272273274275276277278279
39944659478554514935560157276392
280281282283284285286287
51135779590565716055672068467512
288289290291292293294295
42464911503757035187585359796644
296297298299300301302303
53656031615768226307697270987764
304305306307308309310311
55776243636970346518718473107976
312313314315316317318319
66967362748881547638830384299095
320321322323324325326327
45455211533760025487615262786944
328329330331332333334335
56656330645671226606727273988063
336337338339340341342343
58776542666873346818748476098275
344345346347348349350351
69967662778884537937860387299395
352353354355356357358359
61286794692075867070773578618527
360361362363364365366367
72487914803987058189885589819646
368369370371372373374375
74608125825189178401906791939858
376377378379380381382383
857992459371100369521101861031210978
384385386387388389390391
49015567569363595843650866347300
392393394395396397398399
60216687681374786962762877548420
400401402403404405406407
62336898702476907174784079668631
408409410411412413414415
73528018814488098294895990859751
416417418419420421422423
64857150727679427426809282188883
424425426427428429430431
760482708396906185459211933710003
432433434435436437438439
781684828608927387579423954910214
440441442443444445446447
893596019727103939877105421066811334
448449450451452453454455
67847450757682417726839185179183
456457458459460461462463
790485698695936188459511963710302
464465466467468469470471
811587818907957390579722984810514
472473474475476477478479
92359901100271069210176108421096811634
480481482483484485486487
8367903391599825930999741010010766
488489490491492493494495
948710152102781094410428110941122011885
496497498499500501502503
969910364104901115610640113061143212097
504505506507508509510511
1081811484116101227511759124251255113217
TABLE 31
05416441185765130714091950
9101451155420951676221723192861
10821624172622671848238924923033
19932534263631782758329934023943
12871829193124722053259426963238
21982739284133822963350436074148
23702911301335553135367637794320
32803821392444654045458746895230
15312072217527162296283829403481
24412982308536263207374838504391
26133155325737983379392040224564
35244065416747084289483049335474
28183359346240033584412542274768
37284270437249134494503551375679
39014442454450864666520753105851
48115352545559965576611862206761
18212362246430052586312732303771
27313272337439163496403741404681
29033444354740883668421043124853
38134354445749984579512052225764
31083649375142933873441445175058
40184559466252034783532554275968
41904732483453754956549755996141
51015642574462855866640765107051
33513893399545364117465847605302
42624803490554475027556856716212
44344975507856195199574158436384
53445885598865296110665167537294
46395180528258245404594560486589
55496090619367346314685669587499
57216262636569066487702871307671
66317173727578167397793880408582
21652706280933502930347235744115
30753616371942603841438244845026
32473789389144324013455446575198
41584699480153434923546455676108
34523994409646374218475948615403
43634904500655475128566957726313
45355076517857205300584159446485
54455986608966306210675268547395
36964237433948814461500251055646
46065147525057915372591360156556
47785320542259635544608561876729
56896230633268736454699570987639
49835524562761685749629063926933
58936435653770786659720073027844
60666607670972506831737274758016
69767517762081617741828383858926
39854527462951704751529253955936
48965437553960815661620263056846
50685609571262535833637564777018
59786519662271636744728573877929
52735814591664586038657966827223
61836724682773686948749075928133
63556896699975407121766277648306
72667807790984508031857286759216
55166058616067016282682369257467
64276968707076117192773378368377
65997140724277847364790580088549
75098050815386948275881689189459
68047345744779897569811082138754
77148255835888998479902191239664
78868427853090718652919392959836
87969338944099819562101031020510747
25753116321837593340388139844525
34854026412846704250479248945435
36574198430148424423496450665607
45675109521157525333587459766518
38624403450650474627516952715812
47725313541659575538607961816722
49445486558861295710625163536895
58556396649870406620716172647805
41054647474952904871541255156056
50165557565962015781632264256966
51885729583263735953649565977138
60986639674272836864740575078049
53935934603665786158669968027343
63036844694774887068761077128253
64757016711976607241778278848426
73857927802985708151869287959336
43954936503955805161570258046345
53055847594964906071661267147256
54786019612166626243678468877428
63886929703175737153769577978338
56826224632668676448698970917633
65937134723677787358789980028543
67657306740979507530807281748715
76758216831988608441898290849625
59266467657071116691723373357876
68367377748080217602814382458787
70087550765281937774831584188959
79198460856291048684922593289869
72137754785783987979852086229164
812486658767930888899430953310074
829688378939948190619602970510246
920697479850103919971105131061511156
47405281538359245505604661496690
56506191629368356415695670597600
58226363646670076587712972317772
67327274737679177498803981418683
60276568667072126792733474367977
69377478758181227703824483468887
71097651775382947875841685189060
80208561866392048785932694299970
62706812691474557036757776798221
71817722782483667946848785909131
73537894799785388118866087629303
826388048907944890299570967210213
75588099820187438323886489679508
846890099112965392339775987710418
8640918192849825940699471004910591
955010092101941073510316108571096011501
65607101720477457325786779698510
74708012811486558236877788799421
76438184828688278408894990529593
855390949196973893189859996210503
78478389849190328613915492569798
87589299940199439523100641016710708
893094719573101159695102371033910880
984010381104841102510606111471124911790
809186328735927688569398950010041
900195429645101869767103081041010952
917397159817103589939104801058211124
1008410625107271126910849113901149312034
93789919100221056310144106851078711329
1028810830109321147311054115951169812239
1046111002111041164611226117671187012411
1137111912120151255612136126781278013321
30623603370542473827436844715012
39724513461651574737527953815922
41444685478853294910545155536095
50545596569862395820636164647005
43494890499355345114565657586299
52595801590364446025656666687210
54315973607566166197673868417382
63426883698575277107764877518292
45935134523657775358589960026543
55036044614666886268681069127453
56756216631968606440698270847625
65857127722977707351789279948536
58806421652470656645718772897830
67907331743479757556809781998740
69627504760681477728826983718913
78738414851690588638917992829823
48825423552660675648618962916833
57926334643669776558709972027743
59656506660871506730727173747915
68757416751980607640818282848825
61706711681373546935747675798120
70807621772382657845838684899030
72527793789684378017855986619202
816287048806934789289469957110113
64136954705775987179772078228363
73237865796785088089863087329274
74968037813986808261880289059446
840689479049959191719713981510356
77008242834488858466900791099651
8611915292549796937699171002010561
87839324942799689548100901019210733
969310234103371087810459110001110211643
52275768587064125992653366367177
61376678678173226902744475468087
63096850695374947075761677188259
72197761786384047985852686299170
65147055715876997279782179238464
74247965806886098190873188339375
75968138824087818362890390069547
850790489150969292729813991610457
67587299740179427523806481678708
76688209831188538433897490779618
78408381848490258605914792499790
87509292939499359516100571015910701
80458586868892308810935294549995
895594969599101409721102621036410905
912796699771103129893104341053611078
1003810579106811122210803113441144711988
70477588769182327813835484568998
79578499860191428723926493679908
813086718773931588959436953910080
904095819684102259805103471044910990
833488768978951991009641974410285
9245978698881043010010105511065411195
94179958100611060210182107241082611367
1032710868109711151211093116341173612278
857891199222976393439885998710528
948810030101321067310254107951089711439
966110202103041084510426109671107011611
1057111112112141175611336118771198012521
986510407105091105010631111721127411816
1077611317114191196011541120821218512726
1094811489115911213311713122551235712898
1185812399125021304312624131651326713808
56366178628068216402694370457587
65477088719077317312785379568497
67197260736279047484802581288669
76298170827388148394893690389579
69247465756781087689823083338874
78348375847890198599914192439784
80068547865091918772931394159956
891694589560101019682102231032510867
71677708781183527933847485769117
807786198721926288439384948710028
825087918893943590159556965910200
916097019804103459925104671056911110
845489969098963992209761986410405
93659906100081055010130106711077411315
953710078101811072210302108441094611487
1044710988110911163211213117541185612398
74577998810086428222876388669407
836789089011955291339674977610317
853990819183972493059846994810490
94509991100931063410215107561085911400
87449285938899299510100511015310694
965410196102981083910420109611106311605
982710368104701101110592111331123611777
1073711278113811192211502120441214612687
898895299631101739753102941039710938
989810439105421108310663112051130711848
1007010611107141125510836113771147912020
1098011522116241216511746122871238912931
1027510816109191146011040115821168412225
1118511726118291237011951124921259413136
1135711899120011254212123126641276713308
1226812809129111345313033135741367714218
78018343844589868567910892109752
87129253935598969477100181012110662
888494259527100699649101901029310834
979410335104381097910559111011120311744
908996309732102739854103951049811039
999910540106421118410764113051140811949
1017110712108151135610936114781158012121
1108111623117251226611847123881249013032
9332987399761051710098106391074111282
1024210784108861142711008115491165112193
1041510956110581160011180117211182412365
1132511866119691251012090126321273413275
1061911161112631180411385119261202912570
1153012071121731271512295128361293913480
1170212243123461288712467130091311113652
1261213153132561379713378139191402114562
962210163102651080710387109281103111572
1053211073111761171711297118391194112482
1070411246113481188911470120111211312655
1161512156122581279912380129211302413565
1090911450115531209411675122161231812859
1181912361124631300412585131261322813770
1199212533126351317612757132981340113942
1290213443135451408713667142081431114852
1115311694117961233811918124591256213103
1206312604127071324812828133701347214013
1223512776128791342013001135421364414185
1314513687137891433013911144521455415096
1244012981130841362513205137471384914390
1335013891139941453514116146571475915301
1352214064141661470714288148291493215473
1443314974150761561815198157391584216383
TABLE 32
01234567
05416441185765130714091950
TABLE 33
81632641282565121024
9101082128715311821216525753062
TABLE 34
01234567
05416441185765130714091950
89101112131415
9101451155420951676221723192861
TABLE 35
1632641282565121024
1082128715311821216525753062
TABLE 36
01234567
05416441185765130714091950
89101112131415
9101451155420951676221723192861
1617181920212223
10821624172622671848238924923033
2425262728293031
19932534263631782758329934023943
TABLE 37
32641282565121024
128715311821216525753062
TABLE 38
01234567
05416441185765130714091950
89101112131415
9101451155420951676221723192861
1617181920212223
10821624172622671848238924923033
2425262728293031
19932534263631782758329934023943
3233343536373839
12871829193124722053259426963238
4041424344454647
21982739284133822963350436074148
4849505152535455
23702911301335553135367637794320
5657585960616263
32803821392444654045458746895230
TABLE 39
641282565121024
15311821216525753062
TABLE 40
01234567
05416441185765130714091950
89101112131415
9101451155420951676221723192861
1617181920212223
10821624172622671848238924923033
2425262728293031
19932534263631782758329934023943
3233343536373839
12871829193124722053259426963238
4041424344454647
21982739284133822963350436074148
4849505152535455
23702911301335553135367637794320
5657585960616263
32803821392444654045458746895230
6465666768697071
15312072217527162296283829403481
7273747576777879
24412982308536263207374838504391
8081828384858687
26133155325737983379392040224564
8889909192939495
35244065416747084289483049335474
96979899100101102103
28183359346240033584412542274768
104105106107108109110111
37284270437249134494503551375679
112113114115116117118119
39014442454450864666520753105851
120121122123124125126127
48115352545559965576611862206761
TABLE 41
1282565121024
1821216525753062
TABLE 42
01234567
05416441185765130714091950
89101112131415
9101451155420951676221723192861
1617181920212223
10821624172622671848238924923033
2425262728293031
19932534263631782758329934023943
3233343536373839
12871829193124722053259426963238
4041424344454647
21982739284133822963350436074148
4849505152535455
23702911301335553135367637794320
5657585960616263
32803821392444654045458746895230
6465666768697071
15312072217527162296283829403481
7273747576777879
24412982308536263207374838504391
8081828384858687
26133155325737983379392040224564
8889909192939495
35244065416747084289483049335474
96979899100101102103
28183359346240033584412542274768
104105106107108109110111
37284270437249134494503551375679
112113114115116117118119
39014442454450864666520753105851
120121122123124125126127
48115352545559965576611862206761
128129130131132133134135
18212362246430052586312732303771
136137138139140141142143
27313272337439163496403741404681
144145146147148149150151
29033444354740883668421043124853
152153154155156157158159
38134354445749984579512052225764
160161162163164165166167
31083649375142933873441445175058
168169170171172173174175
40184559466252034783532554275968
176177178179180181182183
41904732483453754956549755996141
184185186187188189190191
51015642574462855866640765107051
192193194195196197198199
33513893399545364117465847605302
200201202203204205206207
42624803490554475027556856716212
208209210211212213214215
44344975507856195199574158436384
216217218219220221222223
53445885598865296110665167537294
224225226227228229230231
46395180528258245404594560486589
232233234235236237238239
55496090619367346314685669587499
240241242243244245246247
57216262636569066487702871307671
248249250251252253254255
66317173727578167397793880408582
TABLE 43
2565121024
216525753062
TABLE 44
01234567
05416441185765130714091950
89101112131415
9101451155420951676221723192861
1617181920212223
10821624172622671848238924923033
2425262728293031
19932534263631782758329934023943
3233343536373839
12871829193124722053259426963238
4041424344454647
21982739284133822963350436074148
4849505152535455
23702911301335553135367637794320
5657585960616263
32803821392444654045458746895230
6465666768697071
15312072217527162296283829403481
7273747576777879
24412982308536263207374838504391
8081828384858687
26133155325737983379392040224564
8889909192939495
35244065416747084289483049335474
96979899100101102103
28183359346240033584412542274768
104105106107108109110111
37284270437249134494503551375679
112113114115116117118119
39014442454450864666520753105851
120121122123124125126127
48115352545559965576611862206761
128129130131132133134135
18212362246430052586312732303771
136137138139140141142143
27313272337439163496403741404681
144145146147148149150151
29033444354740883668421043124853
152153154155156157158159
38134354445749984579512052225764
160161162163164165166167
31083649375142933873441445175058
168169170171172173174175
40184559466252034783532554275968
176177178179180181182183
41904732483453754956549755996141
184185186187188189190191
51015642574462855866640765107051
192193194195196197198199
33513893399545364117465847605302
200201202203204205206207
42624803490554475027556856716212
208209210211212213214215
44344975507856195199574158436384
216217218219220221222223
53445885598865296110665167537294
224225226227228229230231
46395180528258245404594560486589
232233234235236237238239
55496090619367346314685669587499
240241242243244245246247
57216262636569066487702871307671
248249250251252253254255
66317173727578167397793880408582
256257258259260261262263
21652706280933502930347235744115
264265266267268269270271
30753616371942603841438244845026
272273274275276277278279
32473789389144324013455446575198
280281282283284285286287
41584699480153434923546455676108
288289290291292293294295
34523994409646374218475948615403
296297298299300301302303
43634904500655475128566957726313
304305306307308309310311
45355076517857205300584159446485
312313314315316317318319
54455986608966306210675268547395
320321322323324325326327
36964237433948814461500251055646
328329330331332333334335
46065147525057915372591360156556
336337338339340341342343
47785320542259635544608561876729
344345346347348349350351
56896230633268736454699570987639
352353354355356357358359
49835524562761685749629063926933
360361362363364365366367
58936435653770786659720073027844
368369370371372373374375
60666607670972506831737274758016
376377378379380381382383
69767517762081617741828383858926
384385386387388389390391
39854527462951704751529253955936
392393394395396397398399
48965437553960815661620263056846
400401402403404405406407
50685609571262535833637564777018
408409410411412413414415
59786519662271636744728573877929
416417418419420421422423
52735814591664586038657966827223
424425426427428429430431
61836724682773686948749075928133
432433434435436437438439
63556896699975407121766277648306
440441442443444445446447
72667807790984508031857286759216
448449450451452453454455
55166058616067016282682369257467
456457458459460461462463
64276968707076117192773378368377
464465466467468469470471
65997140724277847364790580088549
472473474475476477478479
75098050815386948275881689189459
480481482483484485486487
68047345744779897569811082138754
488489490491492493494495
77148255835888998479902191239664
496497498499500501502503
78868427853090718652919392959836
504505506507508509510511
87969338944099819562101031020510747
TABLE 45
5121024
25753062
TABLE 46
01234567
05416441185765130714091950
89101112131415
9101451155420951676221723192861
1617181920212223
10821624172622671848238924923033
2425262728293031
19932534263631782758329934023943
3233343536373839
12871829193124722053259426963238
4041424344454647
21982739284133822963350436074148
4849505152535455
23702911301335553135367637794320
5657585960616263
32803821392444654045458746895230
6465666768697071
15312072217527162296283829403481
7273747576777879
24412982308536263207374838504391
8081828384858687
26133155325737983379392040224564
8889909192939495
35244065416747084289483049335474
96979899100101102103
28183359346240033584412542274768
104105106107108109110111
37284270437249134494503551375679
112113114115116117118119
39014442454450864666520753105851
120121122123124125126127
48115352545559965576611862206761
128129130131132133134135
18212362246430052586312732303771
136137138139140141142143
27313272337439163496403741404681
144145146147148149150151
29033444354740883668421043124853
152153154155156157158159
38134354445749984579512052225764
160161162163164165166167
31083649375142933873441445175058
168169170171172173174175
40184559466252034783532554275968
176177178179180181182183
41904732483453754956549755996141
184185186187188189190191
51015642574462855866640765107051
192193194195196197198199
33513893399545364117465847605302
200201202203204205206207
42624803490554475027556856716212
208209210211212213214215
44344975507856195199574158436384
216217218219220221222223
53445885598865296110665167537294
224225226227228229230231
46395180528258245404594560486589
232233234235236237238239
55496090619367346314685669587499
240241242243244245246247
57216262636569066487702871307671
248249250251252253254255
66317173727578167397793880408582
256257258259260261262263
21652706280933502930347235744115
264265266267268269270271
30753616371942603841438244845026
272273274275276277278279
32473789389144324013455446575198
280281282283284285286287
41584699480153434923546455676108
288289290291292293294295
34523994409646374218475948615403
296297298299300301302303
43634904500655475128566957726313
304305306307308309310311
45355076517857205300584159446485
312313314315316317318319
54455986608966306210675268547395
320321322323324325326327
36964237433948814461500251055646
328329330331332333334335
46065147525057915372591360156556
336337338339340341342343
47785320542259635544608561876729
344345346347348349350351
56896230633268736454699570987639
352353354355356357358359
49835524562761685749629063926933
360361362363364365366367
58936435653770786659720073027844
368369370371372373374375
60666607670972506831737274758016
376377378379380381382383
69767517762081617741828383858926
384385386387388389390391
39854527462951704751529253955936
392393394395396397398399
48965437553960815661620263056846
400401402403404405406407
50685609571262535833637564777018
408409410411412413414415
59786519662271636744728573877929
416417418419420421422423
52735814591664586038657966827223
424425426427428429430431
61836724682773686948749075928133
432433434435436437438439
63556896699975407121766277648306
440441442443444445446447
72667807790984508031857286759216
448449450451452453454455
55166058616067016282682369257467
456457458459460461462463
64276968707076117192773378368377
464465466467468469470471
65997140724277847364790580088549
472473474475476477478479
75098050815386948275881689189459
480481482483484485486487
68047345744779897569811082138754
488489490491492493494495
77148255835888998479902191239664
496497498499500501502503
78868427853090718652919392959836
504505506507508509510511
87969338944099819562101031020510747
512513514515516517518519
25753116321837593340388139844525
520521522523524525526527
34854026412846704250479248945435
528529530531532533534535
36574198430148424423496450665607
536537538539540541542543
45675109521157525333587459766518
544545546547548549550551
38624403450650474627516952715812
552553554555556557558559
47725313541659575538607961816722
560561562563564565566567
49445486558861295710625163536895
568569570571572573574575
58556396649870406620716172647805
576577578579580581582583
41054647474952904871541255156056
584585586587588589590591
50165557565962015781632264256966
592593594595596597598599
51885729583263735953649565977138
600601602603604605606607
60986639674272836864740575078049
608609610611612613614615
53935934603665786158669968027343
616617618619620621622623
63036844694774887068761077128253
624625626627628629630631
64757016711976607241778278848426
632633634635636637638639
73857927802985708151869287959336
640641642643644645646647
43954936503955805161570258046345
648649650651652653654655
53055847594964906071661267147256
656657658659660661662663
54786019612166626243678468877428
664665666667668669670671
63886929703175737153769577978338
672673674675676677678679
56826224632668676448698970917633
680681682683684685686687
65937134723677787358789980028543
688689690691692693694695
67657306740979507530807281748715
696697698699700701702703
76758216831988608441898290849625
704705706707708709710711
59266467657071116691723373357876
712713714715716717718719
68367377748080217602814382458787
720721722723724725726727
70087550765281937774831584188959
728729730731732733734735
79198460856291048684922593289869
736737738739740741742743
72137754785783987979852086229164
744745746747748749750751
812486658767930888899430953310074
752753754755756757758759
829688378939948190619602970510246
760761762763764765766767
920697479850103919971105131061511156
768769770771772773774775
47405281538359245505604661496690
776777778779780781782783
56506191629368356415695670597600
784785786787788789790791
58226363646670076587712972317772
792793794795796797798799
67327274737679177498803981418683
800801802803804805806807
60276568667072126792733474367977
808809810811812813814815
69377478758181227703824483468887
816817818819820821822823
71097651775382947875841685189060
824825826827828829830831
80208561866392048785932694299970
832833834835836837838839
62706812691474557036757776798221
840841842843844845846847
71817722782483667946848785909131
848849850851852853854855
73537894799785388118866087629303
856857858859860861862863
826388048907944890299570967210213
864865866867868869870871
75588099820187438323886489679508
872873874875876877878879
846890099112965392339775987710418
880881882883884885886887
8640918192849825940699471004910591
888889890891892893894895
955010092101941073510316108571096011501
896897898899900901902903
65607101720477457325786779698510
904905906907908909910911
74708012811486558236877788799421
912913914915916917918919
76438184828688278408894990529593
920921922923924925926927
855390949196973893189859996210503
928929930931932933934935
78478389849190328613915492569798
936937938939940941942943
87589299940199439523100641016710708
944945946947948949950951
893094719573101159695102371033910880
952953954955956957958959
984010381104841102510606111471124911790
960961962963964965966967
809186328735927688569398950010041
968969970971972973974975
900195429645101869767103081041010952
976977978979980981982983
917397159817103589939104801058211124
984985986987988989990991
1008410625107271126910849113901149312034
992993994995996997998999
93789919100221056310144106851078711329
10001001100210031004100510061007
1028810830109321147311054115951169812239
10081009101010111012101310141015
1046111002111041164611226117671187012411
10161017101810191020102110221023
1137111912120151255612136126781278013321

Claims as granted

20 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

3 codes
IPC · International Patent Classification
Section H — Electricity
  • H03M13/13
  • H04L1/00
  • H03M13/00

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomOct 2019Jan 2020Apr 2020Jul 2020Oct 2020Jan 2021Apr 2021Jul 2021USPTOApplicantNon-final rejectionResponse after non-final
USPTOApplicanthover for detail · click to open
Pendency
1.8 y
659 days filing → grant
Office actions
1
non-final + final
Responses
1
no RCE
Examiner
Mujtaba M Chaudry
art unit 2112 · TC 2100
Citations: 19 back · 0 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom2022202420262028203020322034203620382040Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock