Coding method and communication device
By prefreezing and reliability sorting of bits in the first sequence in 6G wireless communication, selecting appropriate bit positions to carry information bits, and adjusting the modulation order, the problem of presetting the modulation order cannot be flexibly adjusted, and the encoding performance is improved.
Patent Information
- Application Number
- CN202311473405.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-06
- Publication Date
- 2025-05-06
AI Technical Summary
In 6G wireless communication, the preset modulation order cannot be flexibly adjusted according to the number of information bits, resulting in extremely low bit rate and degradation of encoding performance.
By prefreezing the bits in the first sequence based on the first symbol number n, a second sequence is obtained, and the non-prefrozen bit positions are selected in order of reliability from high to low for carrying the information bits, and a third sequence is obtained. Then, the first modulation order is adjusted according to the third sequence to obtain the second modulation order so that it is smaller than the first modulation order.
It realizes flexible selection of modulation order based on the number of information bits configured in the current system, avoids encoding losses caused by extremely low bit rates and improves decoding performance.
Smart Images

Figure CN119945870A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of channel coding, and more specifically, to a coding method and a communication device. Background Art
[0002] Coding and modulation is a key technology to improve the spectrum efficiency of digital communication systems. In the sixth generation (6G) communication system, the significant gain brought by high-order modulation is an alternative technology for 6G wireless communication. In addition, compared with the multi-layer coding scenario, the system in wireless communication often pre-sets a modulation order and uses the modulation order to code and modulate the transmitted symbols. Since the modulation order is pre-set, it cannot be flexibly adjusted according to the number of information bits, and an extremely low code rate often occurs, resulting in a decrease in coding performance. Summary of the invention
[0003] The embodiment of the present application provides a coding method, which can flexibly select the modulation order, avoid the problem of capacity allocation caused by coding loss, and improve decoding performance.
[0004] In a first aspect, a coding method is provided, the method comprising: based on a first symbol number n, determining to pre-freeze bits corresponding to (Nn) symbols in a first sequence to obtain a second sequence, the first sequence corresponding to the symbol number N and a first modulation order M; selecting k non-pre-frozen bit positions from the second sequence in descending order of reliability for carrying k information bits; obtaining a third sequence; adjusting the first modulation order M according to the third sequence to obtain a second modulation order, the second modulation order being less than the first modulation order M, wherein N, n are positive integers and N≥n.
[0005] It should be understood that, in the case of N<n, the method provided in the present application can also be used to adjust the first modulation order to obtain the second modulation order. In particular, when N<n, the specific implementation is consistent with the method when N=n.
[0006] It should be understood that the first symbol number n is allocated by the system according to channel resources, and the specific value of n is not limited in this application.
[0007] It should also be understood that the first sequence is a sequence preset by the system, and the first sequence corresponds to the number of symbols N and the first modulation order M, that is, the length of the first sequence can be expressed as (N*M), wherein the specific values of N and M are not limited in this application.
[0008] It should also be understood that the second sequence is a sequence obtained by pre-freezing bits corresponding to (Nn) symbols in the first sequence based on the first symbol number n. Wherein, the second sequence includes pre-frozen bit positions corresponding to (Nn) symbols relative to the first sequence. The number of symbols and the modulation order corresponding to the second sequence are the same as those of the first sequence, that is, the second sequence corresponds to the number of symbols N and the first modulation order M.
[0009] It should also be understood that the third sequence selects k non-pre-frozen bit positions based on the second sequence in order of bit reliability from high to low. Wherein, when k information bits are selected from the second sequence in order of bit reliability from high to low. Wherein, when k information bits are selected in order of bit reliability from high to low, when a pre-frozen bit position is encountered, the pre-frozen bit position is skipped and the next non-pre-frozen bit position is selected. That is, the third sequence includes k non-pre-frozen bit positions for carrying the k information bits, or the third sequence is a sequence of N*M length, wherein the bit positions included in the sequence can be represented by 0,1 to represent pre-frozen positions and non-pre-frozen positions. For example, "0" represents a pre-frozen position, "1" represents a non-pre-frozen position, or "1" represents a pre-frozen position, and "0" represents a non-pre-frozen position.
[0010] According to the method provided in the present application, the corresponding bit positions in the first sequence preset by the system are pre-frozen according to the first symbol number n to obtain a second sequence; further, according to the k information bits, k non-pre-frozen bit positions are selected from the second sequence in order of bit reliability from high to low to carry the k information bits, to obtain a third sequence, and the third sequence includes the k information bits. In the present application, the first modulation order M is adjusted according to the third sequence to obtain a second modulation order, and the second modulation order is smaller than the first modulation order. Among them, the second modulation order is used to perform coding modulation on the symbols to be sent. Through the method in the present application, it is possible to select a suitable modulation order according to the number of information bits configured in the current system, thereby avoiding coding losses caused by extremely low code rates and improving decoding performance.
[0011] At the same time, in the present application, the system does not need to pre-set the modulation order of the symbol to be transmitted, thereby avoiding relatively complex calculations.
[0012] In combination with the first aspect, in some possible implementation methods, adjusting the first modulation order M according to the third sequence to obtain the second modulation order includes: determining that m modulation orders corresponding to k first bit positions in the third sequence do not satisfy the first condition, the k first bit positions are used to carry the k information bits, m is less than or equal to M, and m is a positive integer; determining a fourth sequence according to the k information bits and m, the k second bit positions in the fourth sequence correspond to m' modulation orders, the m' modulation orders satisfy the first condition, m' is less than m, and the k second bit positions are used to carry the k information bits; and using m' as the second modulation order.
[0013] Based on the above technical solution, the k information bits are respectively carried on the k first bit positions in the third sequence, wherein the second modulation order is further determined by judging whether the m modulation orders corresponding to the k first bit positions meet the first condition. When the m modulation orders do not meet the first condition, the fourth sequence is determined according to the k information bits and the modulation order m of the third sequence. The fourth sequence may be a sequence obtained after pre-freezing the bit positions corresponding to the lowest reliability layer or the highest layer in the m modulation orders of the third sequence, or the fourth sequence may be a sequence obtained after pre-freezing the bit positions corresponding to the lowest reliability layer or the highest layer in the modulation orders corresponding to other sequences (such as the fifth sequence). The k information bits are carried in the k second bit positions in the fourth sequence, the k second bit positions correspond to the m' modulation orders in the fourth sequence, the m' modulation orders meet the first condition, and further according to taking the m' as the second modulation order.
[0014] The fifth sequence may be a sequence obtained after pre-freezing the bit positions corresponding to the lowest reliability layer or the highest layer among the m modulation orders of the third sequence, or the fifth sequence may be a sequence obtained after pre-freezing the bit positions corresponding to the lowest reliability layer or the highest layer among the modulation orders corresponding to other sequences (e.g., the sixth sequence). The modulation order corresponding to the fifth sequence does not meet the first condition, and the modulation order corresponding to the sixth sequence does not meet the first condition.
[0015] In combination with the first aspect, in some possible implementation methods, determining the fourth sequence based on the k information bits and the m includes: determining a fifth sequence based on the k information bits and the m, the k third bit positions in the fifth sequence being used to carry the k information bits, the k third bit positions corresponding to m” modulation orders, and the m” modulation orders not satisfying the first condition; according to the fifth sequence, pre-freezing the bits corresponding to the lowest reliability layer or the highest layer of the m” modulation orders to obtain the fourth sequence, wherein m” is less than M, and m” is a positive integer.
[0016] Based on the above technical solution, the m' modulation orders corresponding to the fourth sequence meet the first condition, that is, before determining the sequence corresponding to the modulation order that meets the first condition, the method can cyclically determine whether the modulation order corresponding to the obtained sequence meets the first condition. If not, the bits corresponding to the lowest reliability layer or the highest layer corresponding to the sequence are pre-frozen to obtain a new sequence. The modulation order corresponding to the new sequence is then determined until the modulation order meets the first condition. For example, if the m' modulation order corresponding to the fourth sequence meets the first condition, the m' is used as the second modulation order for coding and modulating the symbols to be sent.
[0017] In combination with the first aspect, in some possible implementation methods, the first condition includes: among the modulation orders where the k information bits are located, the ratio between the number of information bits included in the modulation order with the lowest reliability and the number of symbols N is greater than or equal to a first threshold; and / or the k information bits are located at bit positions corresponding to the same modulation order, and the first threshold is less than 1.
[0018] It should be understood that the first condition includes: the ratio between the number of k information bits included in the bit position corresponding to the modulation order with the lowest reliability and the first symbol number n is greater than or equal to the first threshold, and / or the k information bits are on the same modulation order, for example, m'=1.
[0019] It should also be understood that the first threshold can be understood as a code rate. Different modulation orders lead to different code rates, that is, the first threshold changes according to the number of modulation orders. For example, the larger the number of current modulation orders, the smaller the first threshold; the smaller the number of current modulation orders, the larger the first threshold.
[0020] Based on the above technical solution, by judging the first condition, a suitable modulation order can be selected according to the code length and code rate corresponding to the modulation order, thereby avoiding the coding loss of a lower code rate affecting the allocation of channel capacity.
[0021] In combination with the first aspect, in some possible implementation methods, adjusting the first modulation order M according to the third sequence to obtain the second modulation order includes: determining that m modulation orders corresponding to k first bit positions in the third sequence satisfy a first condition, the k first bit positions are used to carry the k information bits, m is less than M, and m is a positive integer; taking m as the second modulation order, wherein the first condition includes: among the modulation orders where the k information bits are located, the ratio of the number of information bits included in the modulation order with the lowest reliability to the first symbol number n is greater than or equal to a first threshold; and / or the k information bits are located at bit positions corresponding to the same modulation order, wherein the first threshold is less than 1.
[0022] Based on the above technical solution, the k information bits are respectively carried on the k first bit positions in the third sequence, wherein it is determined whether the m modulation orders corresponding to the k first bit positions meet the first condition, and the second modulation order is further determined. When the m modulation orders meet the first condition, m is used as the second modulation order.
[0023] It should be understood that, assuming that the m modulation orders corresponding to the third sequence are equal to the first modulation order M corresponding to the first sequence, that is, the symbols to be sent can be coded and modulated according to the first modulation order M of the first sequence preset by the system; assuming that the modulation order m corresponding to the third sequence is smaller than the first modulation order M corresponding to the first sequence, m is used as the second modulation order for coding and modulating the symbols to be sent.
[0024] In combination with the first aspect, in some possible implementations, the first threshold is less than or equal to 1 / 4, and the first threshold is negatively correlated with the number of modulation orders.
[0025] It should be understood that the first threshold can be understood as a code rate. The first threshold changes according to the number of modulation orders. For example, the larger the number of modulation orders, the smaller the first threshold; the smaller the number of modulation orders, the larger the first threshold.
[0026] In combination with the first aspect, in some possible implementations, when the first modulation order M is the modulation order of a first quadrature amplitude modulation QAM, the first modulation order M is used to determine the number of constellation points of the first QAM, and the number of constellation points of the first QAM satisfies: A=2 2M ;
[0027] When the second modulation order is the modulation order of the second QAM, the second modulation order is used to determine the number of constellation points of the second QAM, and the number of constellation points of the second QAM satisfies a=2 2*第二调制阶数 .
[0028] In combination with the first aspect, in some possible implementation methods, the method also includes: determining the codeword corresponding to the number of coding layers based on the first number of symbols n and ki, the number of coding layers corresponding to the second modulation order, ki is the number of information bits included in the i-th layer in the number of coding layers, and i is a positive integer; sending n symbols corresponding to each layer in the number of coding layers, the n symbols are determined based on the codeword corresponding to the number of coding layers.
[0029] It should be understood that the number of coding layers corresponds to the second modulation order, and assuming that the second modulation order is m', the number of coding layers is m'. According to the second modulation order, the first number of symbols n and the number of information bits ki included in each layer in the number of coding layers, the codeword corresponding to each layer is determined, and n symbols corresponding to each layer are determined and sent based on the codeword of each layer.
[0030] In combination with the first aspect, in some possible implementations, when the second modulation order is greater than or equal to 4, the highest layer in the number of coding layers is not encoded.
[0031] In a second aspect, a communication device is provided, which includes: a processing unit, which is used to determine, based on a first symbol number n, to pre-freeze bits corresponding to (Nn) symbols in a first sequence to obtain a second sequence, wherein the first sequence corresponds to the number of symbols N and a first modulation order M; the processing unit is also used to select k non-pre-frozen bit positions from the second sequence in order of reliability from high to low for carrying k information bits to obtain a third sequence; the processing unit is also used to adjust the first modulation order M according to the third sequence to obtain a second modulation order, wherein the second modulation order is less than the first modulation order M, wherein N, n are positive integers and N≥n.
[0032] In combination with the second aspect, in some possible implementation methods, the processing unit is also used to determine that the m modulation orders corresponding to the k first bit positions in the third sequence do not meet the first condition, the k first bit positions are used to carry the k information bits, m is less than or equal to M, and m is a positive integer; the processing unit is also used to determine a fourth sequence based on the k information bits and m, the k second bit positions in the fourth sequence correspond to m' modulation orders, the m' modulation orders meet the first condition, m' is less than m, and the k second bit positions correspond to the k information bits; and use m' as the second modulation order.
[0033] In combination with the second aspect, in some possible implementation methods, the processing unit is also used to determine a fifth sequence based on the k information bits and the m, the k third bit positions in the fifth sequence correspond to the k information bits, the k third bit positions correspond to m” modulation orders, and the m” modulation orders do not meet the first condition; the processing unit is also used to pre-freeze the bits corresponding to the lowest reliability layer or the highest layer of the m” modulation orders according to the fifth sequence to obtain the fourth sequence, wherein m” is less than M and m” is a positive integer.
[0034] In combination with the second aspect, in some possible implementation methods, the first condition includes: among the modulation orders where the k information bits are located, the ratio of the number of information bits included in the modulation order with the lowest reliability to the first number of symbols n is greater than or equal to a first threshold; and / or the k information bits are located at bit positions corresponding to the same modulation order, and the first threshold is less than 1.
[0035] In combination with the second aspect, in some possible implementation methods, the processing unit is also used to determine that the m modulation orders corresponding to the k first bit positions in the third sequence meet the first condition, and the k first bit positions are used to carry the k information bits, m is less than M, and m is a positive integer; taking the m as the second modulation order, wherein the first condition includes: among the modulation orders where the k information bits are located, the ratio of the number of information bits included in the modulation order with the lowest reliability to the first symbol number n is greater than or equal to a first threshold; and / or, the k information bits are located at the bit positions corresponding to the same modulation order, wherein the first threshold is less than 1.
[0036] In combination with the second aspect, in some possible implementations, the first threshold is less than or equal to 1 / 4, and the first threshold is negatively correlated with the number of modulation orders.
[0037] It should be understood that the first threshold can be understood as a code rate. The first threshold varies according to the number of modulation orders. For example, the larger the number of modulation orders, the smaller the first threshold, and the smaller the number of modulation orders, the larger the first threshold.
[0038] In combination with the second aspect, in some possible implementations, when the first modulation order M is the modulation order of a first quadrature amplitude modulation QAM, the first modulation order M is used to determine the number of constellation points of the first QAM, and the number of constellation points of the first QAM satisfies: A=2 2M ;
[0039] When the second modulation order is the modulation order of the second QAM, the second modulation order is used to determine the number of constellation points of the second QAM, and the number of constellation points of the second QAM satisfies a=22*第二调制阶数 .
[0040] In combination with the second aspect, in some possible implementation methods, the processing unit is also used to determine the codeword corresponding to the number of coding layers based on the first number of symbols n and ki, the number of coding layers corresponds to the second modulation order, ki is the number of information bits included in the i-th layer in the number of coding layers, and i is a positive integer; the transceiver unit is used to send n symbols corresponding to each layer in the number of coding layers, and the n symbols are determined based on the codeword corresponding to the number of coding layers.
[0041] In combination with the second aspect, in some possible implementations, when the second modulation order is greater than or equal to 4, the highest layer in the number of coding layers is not encoded.
[0042] In a third aspect, a communication device is provided, which has the function of implementing the method in the first aspect or any possible implementation of the first aspect. The function can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more units corresponding to the above functions.
[0043] In a fourth aspect, a communication device is provided, comprising a processor and a memory. Optionally, a transceiver may also be included. The memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory, and control the transceiver to send and receive signals, so that the communication device performs the method in the first aspect or any possible implementation of the first aspect.
[0044] In a fifth aspect, a communication device is provided, comprising a processor and a communication interface, wherein the communication interface is used to receive data and / or information and transmit the received data and / or information to the processor, and the processor processes the data and / or information, and the communication interface is also used to output the data and / or information processed by the processor, so that the method in the first aspect, or any possible implementation of the first aspect, is executed.
[0045] In a sixth aspect, a computer-readable storage medium is provided, in which computer instructions are stored. When the computer instructions are executed on a computer, the method in the first aspect, or any possible implementation of these aspects, is executed.
[0046] In a seventh aspect, a computer program product is provided, the computer program product comprising a computer program code, which, when executed on a computer, enables the method in any possible implementation of the first aspect, or any of these aspects, to be executed. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] Figure 1It is a schematic diagram of the system architecture of a communication system applicable to the technical solution of the present application.
[0048] Figure 2 It is a schematic diagram of a modulated signal.
[0049] Figure 3 It is a schematic diagram of the MLC process of m-order modulation.
[0050] Figure 4 It is a simulation diagram of serial demodulation and parallel demodulation.
[0051] Figure 5 A schematic diagram of an MLC coding sequence.
[0052] Figure 6 It is a flow chart of a coding method provided in an embodiment of the present application.
[0053] Figure 7 It is a schematic flowchart of an encoding method provided in an embodiment of the present application.
[0054] Figure 8 It is a schematic diagram of the decoding performance simulation of BICM and MLC.
[0055] Fig. 9 This is another schematic diagram of the decoding performance simulation of BICM and MLC.
[0056] Fig.10 This is another schematic diagram of the decoding performance simulation of BICM and MLC.
[0057] Fig.11 This is another schematic diagram of the decoding performance simulation of BICM and MLC.
[0058] Fig.12 A schematic block diagram of a communication device 1200 provided in the present application.
[0059] Fig.13 A schematic structural diagram of the communication device 1300 provided in this application. DETAILED DESCRIPTION
[0060] The technical solution in this application will be described below in conjunction with the accompanying drawings.
[0061] The technical solutions of the embodiments of the present application can be applied to various communication systems, including but not limited to: satellite communication systems, fifth generation (5G) systems, long term evolution (LTE) systems (LTE frequency division duplex (FDD) systems, LTE time division duplex (TDD) systems), etc. The technical solutions provided in the present application can also be applied to future communication systems, such as the sixth generation mobile communication system. In addition, it can also be applied to device to device (D2D) communication, vehicle-to-everything (V2X) communication, machine to machine (M2M) communication, machine type communication (MTC), and Internet of Things (IoT) communication systems, or other communication systems, etc., which are not limited in this article.
[0062] The technical solution of the embodiments of the present application can also be applied to narrowband Internet of Things (NB-IoT), global system for mobile communications (GSM), enhanced data rate for GSM evolution (EDGE), wideband code division multiple access (WCDMA), code division multiple access 2000 (CDMA2000), time division-synchronization code division multiple access (TD-SCDMA), and the three major application scenarios of the next generation 5G mobile communication system, namely enhanced mobile broadband (eMBB), ultra-reliable and low-latency communications (URLLC) and massive machine type communications (eMTC).
[0063] Figure 1 The schematic diagram of the system architecture of the communication system applicable to the technical solution of the present application is shown in FIG. The communication system may include one or more network devices and one or more terminal devices.
[0064] Exemplarily, the terminal device may also be referred to as user equipment (UE), access terminal, user unit, user station, mobile station, mobile station, mobile terminal (MT), remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent or user device. The terminal device in the embodiment of the present application may refer to a device that provides voice and / or data connectivity to a user, and may be used to connect people, objects and machines, such as a handheld device with wireless connection function, a vehicle-mounted device, etc. The terminal device in the embodiment of the present application can be a mobile phone, a tablet computer, a laptop computer, a PDA, a mobile internet device (MID), a wearable device, a virtual reality (VR) device, an augmented reality (AR) device, a personal digital assistant, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in smart home, a mobile terminal on board a vehicle, etc. Optionally, the UE can be used to act as a base station. For example, the UE can act as a scheduling entity, which provides sidelink signals between UEs in V2X or D2D, etc.
[0065] In the embodiment of the present application, the device for realizing the function of the terminal can be a terminal, or a device capable of supporting the terminal to realize the function, such as a chip system or a chip, which can be installed in the terminal. In the embodiment of the present application, the chip system can be composed of a chip, or can include a chip and other discrete devices.
[0066] Exemplarily, the network device may be a device with wireless transceiver functions, which may be a device that provides wireless communication function services, and is usually located on the network side, including but not limited to the next generation base station (gNodeB, gNB) in the fifth generation (5G) communication system, the base station in the sixth generation (6G) mobile communication system, the base station in the future mobile communication system or the access node in the wireless fidelity (Wi-Fi) system, the evolved node B (eNB) in the long term evolution (LTE) system, the radio network controller (RNC), the node B (NB), the base station controller (BSC), the home base station (for example, home evolved NodeB, or home Node B, HNB), the base band unit (BBU), the transmission reception point (TRP), the transmitting point (TP), the base transceiver station (BTS), etc. In a network structure, the network device may include a centralized unit (CU) node, or a distributed unit (DU) node, or a RAN device including a CU node and a DU node, or a RAN device including a control plane CU node and a user plane CU node, and a DU node, or the network device may also be a wireless controller, a relay station, a vehicle-mounted device, and a wearable device in a cloud radio access network (CRAN) scenario. In addition, the base station may be a macro base station, a micro base station, a relay node, a donor node, or a combination thereof. The base station may also refer to a communication module, a modem, or a chip used to be set in the aforementioned device or apparatus. The base station may also be a mobile switching center and a device that performs the base station function in D2D, V2X, and M2M communications, a network-side device in a 6G network, and a device that performs the base station function in a future communication system. The base station can support networks with the same or different access technologies without limitation.
[0067] In the embodiment of the present application, the device for implementing the function of the network device can be a network device, or a device that can support the network device to implement the function, such as a chip system or a chip, which can be installed in the network device. In the embodiment of the present application, the chip system can be composed of a chip, or it can include a chip and other discrete devices.
[0068] It should be understood that the coding construction method provided by the present application can be used in dedicated network equipment or general equipment, can be applied to various network equipment (for example, base station equipment) as described above, and can also be applied to various terminal equipment as described above. Specifically, the scheme is mainly implemented by the channel coding unit in these devices.
[0069] The method provided in the embodiments of the present application can also be implemented through an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), etc., or through software (for example, a program code in a memory), without limitation.
[0070] Coding and modulation is a key technology to improve the spectrum efficiency of digital communication systems. In 6G communication, the significant gain brought by high-order modulation is an alternative technology for 6G wireless communication. Compared with high-order modulation in optical fiber communication, the code rate configuration used in wireless communication is not fixed, so a set of achievable and standardized high-order coding and modulation schemes is needed.
[0071] In the additive white Gaussian noise (AWGN) channel, the famous Shannon formula points out the maximum amount of information that can be transmitted per channel use under a given signal noise ratio (SNR), that is, the channel capacity, which can be calculated by formula (1):
[0072] C = 0.5*log2(1+SNR) (1)
[0073] Among them, the best input distribution to achieve channel capacity is Gaussian distribution. However, Gaussian distribution is a continuous distribution, while in digital communication systems, input signals are all discrete signals.
[0074] Take a binary discrete input digital communication system under a one-dimensional real AWGN channel as an example. If binary phase shift keying (BPSK) (equivalent to 2-pulse amplitude modulation (2-PAM)) is used, the modulator modulates an input information bit vi (vi takes the value of 0 or 1) into a transmission symbol si = 1-2*vi (si takes the value of +1 or -1). At this time, even if the SNR is very high, the message transmitted each time the channel is used is only log2(2) = 1 bit, that is, the channel capacity in the above formula (1) cannot be achieved.
[0075] If 4-PAM modulation is used, the modulator will map log2(4)=2 bits into one transmission symbol, for example Figure 2 For example, 4-PAM is used as follows: (v1=0, v2=0) is mapped to s1=-3; (v1=1, v2=0) is mapped to s2=-1; (v1=1, v2=1) is mapped to s3=+1; (v1=0, v2=1) is mapped to s4=+3. At this time, the maximum amount of information that can be transmitted per symbol sent will not exceed log2(4)=2 bits. Similarly, if M-PAM is used, M=2m, the modulator will map m bits into a transmission symbol according to a specific labeling rule, and the maximum amount of information that can be transmitted per symbol is m bits. It can be seen that in a discrete digital communication system, the amount of information that can be transmitted each time the channel is used (i.e., the spectrum efficiency) will increase with the increase of the modulation order M. As the modulation order increases, the spectrum efficiency will infinitely approach the rate in the above formula (1), but it will still not exceed the above channel capacity C.
[0076] In a two-dimensional complex AWGN channel, a real PAM signal on a one-dimensional straight line is expanded to a complex quadrature amplitude modulation (QAM) signal on a two-dimensional plane.
[0077] Figure 2 is a schematic diagram of a modulation signal. Figure 2 (1) in is a 4-PAM signal, Figure 2 (2) in the figure is a 16-QAM signal. It can be seen that after expanding to a two-dimensional plane signal, the maximum number of information bits that can be transmitted for each M2-QAM symbol is 2log2(M).
[0078] Next, in order to facilitate understanding of the embodiments provided in this application, the terms involved in this application are briefly introduced below:
[0079] Multi-level coding (MLC)
[0080] MLC technology is a modulation technology that combines coding and modulation. MLC neither increases the signal bandwidth nor reduces the actual data transmission rate, while improving the reliability of data transmission. Therefore, MLC is also called "high-efficiency bandwidth coding".
[0081] According to Shannon's channel capacity theorem, when the code rate of each component code in MLC is equal to the equivalent channel capacity of each channel, MLC technology will obtain better bit error rate and throughput performance. Therefore, the design focus of MLC technology lies in the appropriate selection of component code rate. The code rate of traditional linear block codes is relatively fixed. Generally, there are only a limited number of code rates to choose from, which makes it difficult to match the code rate of block codes with the equivalent channel capacity under different channel conditions. Unlike linear block codes, rateless codes can theoretically generate any number of groups of coded symbols based on the same group of information for transmission, thereby achieving continuous adjustment of the code rate. Obviously, compared with linear block codes, rateless codes are more likely to obtain a code rate close to the channel capacity, thereby obtaining a larger throughput and a lower bit error rate.
[0082] It should be understood that MLC divides a string of modulation symbols into m layers according to the different capacities of modulated bits in the symbols, and each layer is independently encoded.
[0083] Figure 3 is a schematic diagram of the MLC process for m-order modulation. Figure 3 The coding in the code is introduced by taking polar code as an example. For example, for an m-order modulation, the information bit stream z to be transmitted is first converted from serial to parallel and divided into m bit streams u1, u2, u3...u m. Each bit stream corresponds to a bit channel under high-order modulation, and polar coding is performed separately for the bit channel, that is, the codeword x1 output by the mth encoder constitutes the mth bit in the high-order modulation symbol. The N modulation symbols generated by the modulator (Mod) are sent to the channel for transmission. The demodulator (Dem) uses the channel reception sequence y to demodulate the soft value v1 required by the first polar decoder, and then the polar decoder uses the soft value sequence v1 corresponding to the first stream to decode u1. In order to demodulate the soft value v2 corresponding to the second stream, the polar code codeword x1 corresponding to u1 needs to be input into the demodulator, and the demodulator uses y and x1 to demodulate the soft value sequence v2 corresponding to the second stream, and inputs it into the second polar code decoder. The second polar code decoder uses the soft value sequence to decode u2, and then the demodulator uses the codewords x2 and x1 corresponding to u2 and u1, and the channel reception sequence y to demodulate the soft value sequence v3 corresponding to the third stream. Similarly, to demodulate the mth stream, the channel receiving sequence y and the codewords x1 to x2 of the previous m-1 polarization codes are required. m .
[0084] It can be seen that MLC uses serial demodulation, and the MLC requires m encoders and m decoders.
[0085] Demodulation refers to converting a modulation symbol (such as S1, S2, S3...S m ) into its corresponding bit sequence (e.g. v1, v2, v3...v m ) process. Among them, the demodulation method can be divided into serial demodulation and parallel demodulation.
[0086] The following uses a 4-PAM symbol as an example to illustrate the serial demodulation and parallel demodulation methods respectively. Assume that a 4-PAM symbol s corresponds to two bits (v1, v2), and the symbol received by the decoder after s passes through the AWGN channel is y.
[0087] (1) Serial demodulation
[0088] In order to obtain the value of v1, the probability P(v1=0|y) of v1=0 and the probability P(v1=1|y) of v1=1 are deduced according to y, and the value of v1 is determined according to the following formula (2):
[0089]
[0090] in
[0091]
[0092] akin,
[0093]
[0094] According to the above Figure 2 In the 4-PAM example given in (1), when calculating the probabilities of P(v1=0|y) and P(v1=1|y), S 00 =-3A, S 10 =-A, S 11 =+A,S 01 = +3A, in order to ensure the average transmission power E s =1, that is, 1 / 4*(|S 00 | 2 +|S 10 | 2 +|S 11 | 2 +|S 01 | 2 )=1, yes Then the value of v1 can be obtained by using the above formula (2).
[0095] In order to obtain the value of v2, serial demodulation needs to calculate the probability P(v2=0|y, v1) that v2=0 and the probability P(v2=1|y, v1) that v2=1 under the condition of a given value of v1, and then calculate the log-likelihood ratio of the above two probabilities. Then, the value of v2 is obtained according to formula (3):
[0096]
[0097] If v1 = 0,
[0098] but
[0099]
[0100] If v1=1:
[0101] but
[0102]
[0103] Thus, the probabilities of P(v2=0|y, v1) and P(v2=1|y, v1) can be calculated, and v2 can be serially demodulated according to the above formula (3).
[0104] (2) Parallel Demodulation
[0105] The process of calculating v1 is the same as that of serial demodulation in (1) above. Please refer to the above introduction for details.
[0106] In the process of calculating v2, the parallel demodulation does not need to use the value of v1, but takes the average of all possible values of v1 and determines the value of v2 0 according to the following formula (4):
[0107]
[0108] in,
[0109]
[0110] akin,
[0111]
[0112] It can be seen that serial demodulation needs to first estimate the value of v1 based on the received symbol y, and then use the estimated value of v1 and y to further estimate the value of v2. The only difference between parallel demodulation and serial demodulation is that parallel demodulation does not need to use the estimated value of v1 when calculating v2, so v1 and v2 can be obtained at the same time and can be implemented in parallel. For example, the demodulation method used by bit-interleaved coded modulation (BICM) is parallel demodulation. Assume that the receiving end receives the transmitted symbol from the transmitting end, and the receiving end demodulates the 6 bits of the transmitted symbol in parallel, and obtains 6 log-likelihood ratio (LLR) values at the same time. The receiving end deinterleaves according to the interleaved sequence, and decodes the deinterleaved sequence according to the 6 LLR values to obtain the final decoding result (such as the information sequence).
[0113] It should be understood that both serial demodulation and parallel demodulation can be regarded as a m The process of converting a high-order modulation channel of m symbols into m bit channels. For example, taking 4-PAM as an example, the channel capacity of the modulation channel is I(Y; V1, V2). Serial demodulation decomposes the modulation channel into two bit channels, where the capacity of the first bit channel is I(Y; V1) and the capacity of the second bit channel is I(Y; V2|V1). It can be proved that I(Y; V1, V2)=I(Y; V1)+I(Y; V2|V1), that is, serial demodulation will not cause capacity loss: Figure 4As shown by the solid lines in the figure, the first solid line from bottom to top is the bit channel capacity of V1 I(Y; V1), the second solid line is the bit channel capacity of V2 I(Y; V2|V1), and the third solid line from bottom to top is the modulation channel capacity I(Y; V1, V2) under serial demodulation. Parallel demodulation also decomposes the modulation channel into two bit channels, where the capacity of the first bit channel is I(Y; V1), but the capacity of the second bit channel is I(Y; V2). Since I(Y; V1, V2)>=I(Y; V1)+I(Y; V2), parallel demodulation will cause a certain capacity loss: Figure 4 As shown in the middle dotted line, the first dotted line from bottom to top is the bit channel capacity of V1 I(Y; V1), the second dotted line is the bit channel capacity of V2 I(Y; V2), and the third dotted line is the modulation channel capacity under parallel demodulation I(Y; V1) + I(Y; V2). It can be seen that parallel demodulation has a certain capacity loss compared to serial demodulation, but because parallel demodulation is simple to implement and can be parallelized, it is generally used at present.
[0114] In MLC, the coding construction generally adopts a single sequence or double sequence construction method. Taking polar code as an example, assume that the polar code construction in MLC adopts a single sequence construction method. Assume that there is a sequence Q of length N, whose index represents the reliability of each position in the Polar code mother code, where 0 is the lowest and N-1 is the highest. Q[i] represents the position in the coding sequence corresponding to the reliability of the i-th bit from low to high. For example, N=16, Q[0]=0, indicating that Q[0] is the 0th reliability position in the N-length sequence to be coded, that is, the least reliable position, and Q[0]=0 is the 0th position in the N-length sequence to be coded. Q
[12] =11, indicating that Q
[12] is the 12th reliability position in the N-length sequence to be coded, and Q
[12] =11 is the 11th position in the N-length sequence to be coded.
[0115] Generally, K information bits of a Polar code with a length of N1 can be found through a sequence with a length of N, where N1≤N. The following steps will be performed:
[0116] Step 1: Determine the frozen position in the Polar code.
[0117] The frozen positions include positions where Q[i]≥N, where Q[i] is a punctured or shortened position, and positions where the punctured Polar code needs to be additionally pre-frozen according to the NR protocol.
[0118] Step 2: Select K bits from the non-frozen bits in the sequence from N-1 to 0 as information bits.
[0119] It should be understood that in MLC, m Polar codes can be considered to be coupled through modulation, and the serial demodulation of MLC can be considered to be a stronger polarization effect than that of Polar code. Therefore, it is necessary to construct it through a double sequence, because the polarization effect comes from the serial demodulation of modulation and the polarization of Polar itself, and the two speeds are different.
[0120] Figure 5 The sequence is 64-bit with N=16 and modulation level 4. The orange area in the sequence indicates the position of the bit with the lowest MLC energy, the green area indicates the position of the bit with the second lowest MLC energy, the yellow area indicates the position of the bit with the second highest MLC energy, and the red area indicates the position of the bit with the highest MLC energy. When the modulation level of QAM is 16, two levels are used. Figure 5 The bit position is selected from the area with the lowest reliability and the area with the second lowest reliability; when the modulation order of QAM is preset to be 64, three levels are used, and Figure 5 The corresponding bit positions are selected for the areas with the lowest reliability, the second lowest reliability, and the second highest reliability; when the modulation order of QAM is preset to be 256, four levels are used. Figure 5 All regions in the are optional. If the number of I / Q independent symbols is insufficient, each region must select it. For example, for QAM16, N=8, the position numbers are 0-7, 16-23 to be compared with the Q sequence value.
[0121] It can be seen from the above Figure 5 The MLC coding method shown in adopts a two-dimensional sequence and pre-sets the modulation order of QAM in MLC. It can be seen that the modulation order of QAM is pre-designed, and the modulation order of QAM cannot be flexibly adjusted according to the number of information bits, resulting in low performance. At the same time, pre-setting the modulation order of QAM is more complex.
[0122] In response to the coding construction method introduced above, the present application provides a coding construction method, which can flexibly select the modulation order of QAM, avoid the capacity allocation problem caused by coding loss, and improve the modulation performance.
[0123] Figure 6 This is a flow chart of a coding method provided by an embodiment of the present application. The method may include the following steps:
[0124] 601. A first device determines, based on a first symbol number n, to pre-freeze bits corresponding to (Nn) symbols in a first sequence to obtain a second sequence.
[0125] It should be understood that the first sequence is a sequence pre-set and constructed by the system, and the maximum number of symbols supported by the first sequence is N, and the maximum modulation order supported (or called the first modulation order) is M. Alternatively, it can be understood that the first sequence corresponds to the number of symbols N and the first modulation order M, and the length of the first sequence is N*M.
[0126] As an example, assume that the first sequence is sequence Q, the number of symbols supported by sequence Q is N, the modulation order is M, and the length of sequence Q is N*M. The reliability of each bit position in the Q sequence can be represented by the index at the position, for example, 0 represents the position with the lowest reliability in the Q sequence, and N*M-1 represents the position with the highest reliability in the Q sequence. Q[i] can be used to represent the position in the coding sequence corresponding to the reliability of the i-th bit from low to high reliability. For example, in the Q sequence, N=16, Q[0]=0, indicating that it is located at the least reliable position and is the coding position No. 0 in the sequence to be coded with N=16; Q
[12] =11, indicating that it is located at the most reliable position and is the coding position No. 11 in the sequence to be coded with N=16.
[0127] It should also be understood that the specific content of Q[i] is used to indicate the coding position corresponding to the reliability, that is, the content can be composed of two parts. The first part indicates that Q[i] belongs to the Xth symbol, and the second part indicates that it belongs to the Yth level. Generally, this position can be represented by Y*N+X, and the value of Y starts from 0; or, this position can also be represented by (Y-1)*N+X, and the value of Y starts from 1.
[0128] It should be understood that the size of the first symbol number n is the number of symbols allocated / preset by the system, or the actual number of symbols configured by the system for the network, and n is a positive integer. The n can take a value of any size, for example, n is 15, 22, 12 or 6, etc., and the present application does not limit the specific value of n.
[0129] It should also be understood that the first device pre-freezes the bits corresponding to the (Nn) symbols in the first sequence according to the first symbol number n, that is, the pre-frozen bits cannot be used to place information bits. The first device pre-freezes the bits corresponding to the (Nn) symbols in the first sequence, and the resulting sequence can be called a second sequence. The second sequence is a sequence obtained after the bits corresponding to the (Nn) symbols in the first sequence are pre-frozen.
[0130] 602: The first device selects k non-pre-frozen bit positions from the second sequence in descending order of reliability to carry k information bits, to obtain a third sequence.
[0131] It should be understood that the k non-pre-frozen bits selected by the first device are used to place k information bits, where k is a positive integer. The size of k is configured by the system, or the system is configured according to network requirements, and this application does not make any specific limitation on this.
[0132] It should also be understood that the first device selects k non-pre-frozen bit positions from the second sequence according to the reliability from high to low to carry k information bits, thereby obtaining a third sequence. The third sequence includes k first bit positions, and the k first bit positions are used to carry the k information bits. Assume that the number of modulation orders occupied by the k first bit positions in the third sequence is m, m≤M, and m is a positive integer.
[0133] In the process of selecting k first bit positions, if the first device encounters a pre-frozen bit (eg, the pre-frozen bit determined in step 601), the pre-frozen bit is skipped and the next bit is selected.
[0134] 603. The first device adjusts the first modulation order M according to the third sequence to obtain a second modulation order.
[0135] In a possible implementation manner, the first device determines the second modulation order according to the number m of modulation orders occupied by k first bit positions in the third sequence.
[0136] Assume that the third sequence includes M modulation orders, each of the M modulation orders includes a first bit position, that is, the k information bits are distributed in the M modulation orders in the third sequence, that is, m=M, and M can be used as the second modulation order. Assume that when the second modulation order is a QAM modulation order, the number of constellation points of the QAM can be determined according to M. For example, the number of constellation points of the QAM satisfies: A=2 2M ; Or, there are x modulation orders in the third sequence that do not include the first bit position, that is, Mx modulation orders include the first bit position, that is, the number of modulation orders including the first bit position in the third sequence is: m=Mx, assuming that, when the second modulation order is the modulation order of QAM, the number of constellation points of the QAM can be determined according to m=Mx. For example, the number of constellation points of the QAM satisfies: A=2 2(M-x) .
[0137] It should be understood that k information bits correspond to k first bit positions in the third sequence, and the k first bit positions are at m modulation orders of the third sequence. The m can be used to determine the number of constellation points of the modulation mode (eg, QAM, PAM).
[0138] In another possible implementation manner, the first device adjusts the first modulation order according to the third sequence to determine the second modulation order.
[0139] The number of modulation orders of the k first bit positions in the third sequence is m, and the first device determines whether the m modulation orders meet the first condition, adjusts the first modulation order, and determines the second modulation order.
[0140] As an example, assuming that the m modulation orders corresponding to the k first bit positions in the third sequence do not meet the first condition, the k first bit positions are used to carry k information bits, where m is less than or equal to M, and m is a positive integer. The first device determines a new sequence, and determines whether the first condition is met based on the modulation order corresponding to the new sequence, until the modulation order corresponding to the new sequence meets the first condition, and then adjusts the first modulation order to the number of modulation orders that meet the first condition (or referred to as the second modulation order).
[0141] For example, the m modulation orders corresponding to the k first bit positions in the third sequence do not meet the first condition, and the fourth sequence is further determined based on the k information bits and the modulation order m of the third sequence. The k second bit positions in the fourth sequence correspond to m' modulation orders. The m' modulation orders meet the first condition, m' is less than m, and the k second bit positions are used to carry the k information bits; the first modulation order M is adjusted, and m' is used as the second modulation order.
[0142] For another example, the m modulation orders corresponding to the k first bit positions in the third sequence do not meet the first condition, and the first device determines the fifth sequence based on the k information bits and the modulation order m of the third sequence. The k third bit positions in the fifth sequence are used to carry the k information bits, and the k third bit positions correspond to m” modulation orders in the fifth sequence, and the m” modulation orders do not meet the first condition; further, according to the fifth sequence, the bits corresponding to the lowest reliability layer or the highest layer of the m” modulation orders in the fifth sequence are pre-frozen to obtain a fourth sequence. The k second bit positions in the fourth sequence correspond to m' modulation orders. The m' modulation orders meet the first condition, m' is less than m", and the k second bit positions are used to carry the k information bits. Adjust the first modulation order M and use m' as the second modulation order.
[0143] It should be understood that the first condition includes: among the modulation orders where the k information bits are located, the ratio between the number of information bits included in the modulation order with the lowest reliability and the first symbol number n is greater than or equal to the first threshold; and / or, the k information bits are located at the bit positions corresponding to the same modulation order.
[0144] It can be understood that the first condition is to judge the code rate corresponding to the modulation order with the lowest reliability among the modulation orders where the k information bits are located with the first threshold. If the code rate corresponding to the modulation order with the lowest reliability is greater than or equal to the first threshold, the modulation order corresponding to the sequence meets the first condition; if the code rate corresponding to the modulation order with the lowest reliability is less than the first threshold, the modulation order corresponding to the sequence does not meet the first condition.
[0145] Among them, the first threshold is less than 1. The size of the first threshold is predefined or preset by the system, and this application does not limit it. The first threshold is negatively correlated with the number of modulation orders. That is, the larger the number of modulation orders, the smaller the first threshold; the smaller the number of modulation orders, the larger the first threshold.
[0146] Optionally, the first threshold is less than or equal to 1 / 4.
[0147] It should also be understood that according to the first condition, the first modulation order is adjusted to obtain a detailed example of the second modulation order, see Figure 7 Detailed description in .
[0148] like Figure 6 The method shown in the figure may also include the following steps:
[0149] 604. The first device determines a codeword corresponding to a coding layer number according to the first symbol number n and ki, where the coding layer number corresponds to the second modulation order, and ki is the number of information bits included in the i-th layer of the coding layer number, where i is a positive integer.
[0150] It should be understood that the second modulation order corresponds to the number of coding layers. Assuming that the second modulation order is m', the number of coding layers is m', and k information bits are distributed in the m' coding layers. The number of information bits included in the i-th layer of each coding layer is ki, that is,
[0151] The first device determines the codeword corresponding to each layer according to the first symbol number n and ki.
[0152] 605. The first device sends n symbols corresponding to each layer in the coding layer number, where the n symbols are determined according to the codeword corresponding to the coding layer number.
[0153] It should be understood that the first device sends n symbols corresponding to each layer in the number of coding layers according to the codeword corresponding to each layer in the number of coding layers and the second modulation order.
[0154] according to Figure 6In the method shown, the first device pre-freezes the corresponding bit positions in the first sequence preset by the system according to the first symbol number n to obtain a second sequence; further, the first device selects k non-pre-frozen bit positions from the second sequence according to the k information bits in order of bit reliability from high to low to obtain a third sequence, and the third sequence includes the k non-pre-frozen bit positions, and the k non-pre-frozen bit positions are used to carry the k information bits. In this method, the first device adjusts the first modulation order M according to the third sequence to obtain a second modulation order, and the second modulation order is less than the first modulation order. Among them, the second modulation order is used to perform coding modulation on the symbols to be sent. Through the method in the present application, the first device can select a suitable modulation order according to the number of information bits configured in the current system, thereby avoiding coding losses caused by extremely low code rates. At the same time, the present application does not require the system to pre-set the modulation order for the symbols to be sent, thereby avoiding more complex calculations.
[0155] Next, we will combine Figure 7 The flowchart shown is an exemplary introduction. Figure 6 In step 603 of the method, the first device adjusts the first modulation order according to the third sequence to obtain the second modulation order.
[0156] Figure 7 is a schematic flow chart of an encoding method provided in an embodiment of the present application. Figure 7 As shown, the first device may perform the following steps:
[0157] Step 1: According to the first symbol number n, bits corresponding to (Nn) symbols in the first sequence are pre-frozen to obtain a second sequence.
[0158] The size of the first symbol number n is the number of symbols allocated by the system, or the actual number of symbols configured by the system for the network, and n is a positive integer.
[0159] Among them, the first sequence is a sequence pre-set and constructed by the system. The first sequence supports a maximum number of symbols of N and a maximum modulation order (or called the first modulation order) of M. Alternatively, it can be understood that the first sequence corresponds to N symbols and M modulation orders, and the length of the first sequence is N*M.
[0160] It should be understood that the bits corresponding to the (Nn) symbols in the first sequence are pre-frozen according to the first symbol number n, that is, the pre-frozen bits cannot be used to place information bits, which is the second sequence.
[0161] It should also be understood that step 1 is similar to the above Figure 6 The process is similar to step 601 in , and for details, please refer to the introduction in the above step 601.
[0162] Step 2: Select k non-pre-frozen bits from the second sequence in descending order of reliability to obtain a third sequence.
[0163] Among them, the k non-pre-frozen bits selected are used to place k information bits, where k is a positive integer. The size of the k information bits is configured by the system or configured by the system according to network requirements, and the present application does not make specific limitations on this.
[0164] It should be understood that k non-pre-frozen bits are selected from the second sequence in descending order of reliability to obtain a third sequence. The third sequence includes k first bit positions, and the k first bit positions are used to carry the k information bits. The number of modulation orders occupied by the k first bit positions in the third sequence is m, where m ≤ M and m is a positive integer.
[0165] It should also be understood that Step 1 is similar to Step 602 in the above Figure 6 and the specific introduction can be referred to in Step 602 above.
[0166] Step 3: The k information bits correspond to the k first bit positions in the third sequence, and determine that the number of modulation orders including the k first bit positions in the third sequence is m.
[0167] Among them, the k information bits correspond to the k first bit positions in the third sequence, and the k first bit positions are respectively located on m modulation orders in the third sequence, that is, the bits corresponding to the m modulation orders in the third sequence include the k first bit positions.
[0168] Step 4: Determine whether the m modulation orders meet the first condition.
[0169] Among them, determine whether the ratio of the number of first bit positions on the modulation order with the lowest reliability among the m modulation orders to the first symbol number n is greater than or equal to the first threshold, and / or whether m is equal to 1.
[0170] It should be understood that assume that the third sequence includes 4 modulation orders, namely level0, level1, level2, and leve3, where level0 has the lowest reliability and level3 has the highest reliability. The reliabilities corresponding to level0, level1, level2, and leve3 are from low to high as follows: level0 < level1 < level2 < level3. If the bit positions corresponding to level0, level1, level2, and leve3 are not pre-frozen, that is, the number of information bits carried by level0, level1, level2, and leve3 are k0, k1, k2, and k3 respectively, that is, k0 < k1 < k2 < k3.
[0171] Assume that k=11, n=22, and the bit corresponding to level3 in the third sequence is a pre-frozen bit, that is, m=3. The number of first bit positions included in level0, level1, and level2 are: 2, 4, and 5, respectively. Assume that when m=3, the first threshold is 1 / 28, and the ratio between the number of first bit positions included in level0 of the three modulation orders and n (or called the code rate) is: 1 / 11. The ratio between the number of first bit positions included in level0 and n is greater than the first threshold 1 / 28. It can be seen that the modulation order m=3 corresponding to the third sequence satisfies the first condition, that is, m=3 can be used to determine the number of constellation points of QAM. The number of constellation points of the QAM can satisfy: A=2 2*3 = 64. No further steps are required.
[0172] Assume that k=2, n=22, and the third sequence includes 4 modulation orders, namely level0, level1, level2 and level3. Among them, the bits corresponding to level1, level0 and level3 are pre-frozen bits, that is, m=1. The number of first bit positions on level2 is: 2. Since the modulation order of the information bit carried in the third sequence is 1, that is, the first condition is met, the number of constellation points of the QAM can meet: A=2 2*1 = 4. No further steps are required.
[0173] Assume that k=11, n=64, and the third sequence includes 4 modulation orders, namely level0, level1, level2 and level3. Among them, the bit corresponding to level3 is the pre-frozen bit, that is, m=3. The number of first bit positions included in level0, level1, and level2 are: 2, 4, and 5 respectively. Assume that when m=3, the first threshold is 1 / 28, and the ratio between the number of first bit positions included in level0 of the three modulation orders and n is: 1 / 32. The ratio between the number of first bit positions included in level0 and n is less than the first threshold 1 / 28, and m is not equal to 1. It can be seen that the three modulation orders corresponding to the third sequence do not meet the first condition, so continue to execute. Figure 7 Follow step 5 and subsequent steps in .
[0174] Assume again that k=13, n=150, and the third sequence includes 4 modulation orders, namely level0, level1, level2 and level3. Level0, level1, level2 and level3 in the third sequence can all be used to carry information bits, that is, m=4. Among them, the number of first bit positions included in level0, level1, level2 and level3 are: 1, 3, 4, 5 respectively. Assume that when m=4, the first threshold is 1 / 140, and the ratio between the number of first bit positions included in level0 of the four modulation orders and n is: 1 / 150. The ratio between the number of first bit positions included in level0 and n is less than the first threshold 1 / 140, and m is not equal to 1. It can be seen that the four modulation orders corresponding to the third sequence do not meet the first condition, then continue to execute. Figure 7 Follow step 5 and subsequent steps in .
[0175] Assume that k=7, n=22, and the third sequence includes 4 modulation orders, namely level0, level1, level2 and level3. The bits corresponding to level0 and level3 are pre-frozen bits, that is, m=2. Among them, the number of first bit positions included in level1 and level2 are: 2 and 5 respectively. Assume that when m=2, the first threshold is 1 / 12, and the ratio between the number of first bit positions included in level1 of the two modulation orders and n is: 1 / 11. The ratio between the number of first bit positions included in level1 and n is greater than the first threshold 1 / 12. It can be seen that the two modulation orders corresponding to the third sequence meet the first condition, that is, the number of QAM constellation points can be determined according to m=2. The number of QAM constellation points can satisfy: A=2 2*2 = 16. No further steps are required.
[0176] Step 5: Pre-freeze the bits corresponding to the lowest layer or the highest layer of bit reliability among the m modulation orders to obtain a fifth sequence.
[0177] It should be understood that if the number of first bit positions corresponding to at least one layer of modulation orders among the m modulation orders in the third sequence is less than or equal to the first threshold, then the bits corresponding to the lowest or highest layer of bit reliability in the third sequence are pre-frozen to obtain the fifth sequence.
[0178] Assume that the third sequence includes 4 modulation orders, namely level0, level1, level2 and level3. The bit corresponding to level0 is the bit with the lowest bit reliability in the third sequence; the bit corresponding to level3 is the bit with the highest bit reliability in the third sequence. When the number of first bit positions corresponding to at least one modulation order (for example, the modulation order with the lowest reliability) among the m modulation orders in the third sequence is less than or equal to the first threshold, the bits corresponding to level0 in the third sequence are pre-frozen to obtain the fourth sequence, or the bits corresponding to level3 in the third sequence are pre-frozen to obtain the fifth sequence.
[0179] Step 6: correspond the k information bits to the k third bit positions in the fifth sequence, and determine the number of modulation orders including the k third bit positions in the fifth sequence to be m".
[0180] The fifth sequence is a sequence after the bits corresponding to the highest or lowest bit reliability level in the third sequence are pre-frozen. Assume that the fifth sequence includes 4 modulation levels, namely level0, level1, level2 and level3. The bits corresponding to level0 or level3 are pre-frozen bits and cannot be used to store information bits.
[0181] Among them, the k information bits correspond to k third bit positions in the fifth sequence, and the k third bit positions are respectively located at m" modulation orders in the fifth sequence, that is, the bits corresponding to the m" modulation orders in the fifth sequence include the k third bit positions.
[0182] Step 7: Determine whether the m" modulation orders meet the first condition.
[0183] Among them, it is determined whether the number of third bit positions on at least one modulation order among the m" modulation orders is greater than or equal to a first threshold, and / or m"=1.
[0184] Assume that k=9, n=22, and the fifth sequence includes 4 modulation orders, namely level0, level1, level2 and level3. Among them, the bits corresponding to level0 and level3 are pre-frozen bits, that is, m”=2. The number of third bit positions on level1 and level2 are: 4 and 5 respectively. Assume that when the modulation order is 2, the first threshold is 1 / 12, and in the two modulation orders level1 and level2, the ratio between the number of third bit positions included in level1 and n is: 1 / 11. The ratio between the number of third bit positions included in level1 and n is greater than the first threshold 1 / 12. It can be seen that the two modulation orders corresponding to the fifth sequence meet the first condition, that is, the number of QAM constellation points can be determined according to m”=2. The number of QAM constellation points can satisfy: A=2 2*2 = 16. No further steps are required.
[0185] Assume again that k=2, n=6, and the fifth sequence includes 4 modulation orders, namely level0, level1, level2 and level3. Among them, the bits corresponding to level1, level3 and level2 are pre-frozen bits, that is, m"=1. The number of third bit positions included on level1 is: 2. In the fifth sequence, level1 includes 2 third bit positions. Since m"=1, the m" modulation orders corresponding to the fifth sequence meet the first condition. The number of constellation points of the QAM can meet: A=2 2*1 = 4. No further steps are required.
[0186] Assume that k=8, n=48, and the fifth sequence includes 4 modulation orders, namely level0, level1, level2 and level3. Among them, the bits corresponding to level0 and level3 are pre-frozen bits, that is, m”=2. The number of third bit positions included in level1 and level2 are: 3 and 5 respectively. Assume that when m”=2, the first threshold is 1 / 12, and the ratio between the number of third bit positions included in level1 of the two modulation orders and n is: 3 / 48. The ratio between the number of third bit positions included in level1 and n is less than the first threshold 1 / 12, and m” is not equal to 1. It can be seen that the two modulation orders corresponding to the fifth sequence do not meet the first condition, then continue to execute. Figure 7 Follow step 8 and subsequent steps in .
[0187] Step 8: Pre-freeze the bits corresponding to the lowest or highest bit reliability layer in the m" modulation orders to obtain a fourth sequence.
[0188] It should be understood that if the number of first bit positions corresponding to at least one layer of modulation orders among the m" modulation orders in the fifth sequence is less than the first threshold, the bits corresponding to the lowest layer or the highest layer of bit reliability in the fifth sequence are pre-frozen to obtain a fourth sequence.
[0189] Assume that the fifth sequence includes 4 modulation orders, namely level0, level1, level2 and level3. In step 5, the bits corresponding to level0 in the third sequence are pre-frozen to obtain the fifth sequence. The bits corresponding to level0 in the fifth sequence are pre-frozen bits. At this time, the bits corresponding to level1 are the bits with the lowest reliability in the fifth sequence; the bits corresponding to level3 are the bits with the highest bit reliability in the fifth sequence. Among them, when the ratio of the number of third bit positions corresponding to the modulation order with the lowest reliability among the m" modulation orders in the fifth sequence to the first symbol number n is less than the first threshold value, the bits corresponding to level1 in the fifth sequence are pre-frozen to obtain the fourth sequence, or the bits corresponding to level3 in the fifth sequence are pre-frozen to obtain the fourth sequence.
[0190] It should also be understood that step 8 is similar to step 5 above and will not be described in detail here.
[0191] Step 9: correspond the k information bits to k second bit positions in the fourth sequence, and determine the number of modulation orders including the k second bit positions in the fourth sequence as m'.
[0192] The fourth sequence is a sequence after the bits corresponding to the highest or lowest bit reliability layer in the fifth sequence are pre-frozen. Assume that the fourth sequence includes 4 modulation orders, namely level0, level1, level2 and level3. In step 5, the bits corresponding to level0 are pre-frozen, and no information bits can be placed. In step 8, the bits corresponding to level1 or level3 can be pre-frozen, and no information bits can be placed.
[0193] The k information bits correspond to k second bit positions in the fourth sequence, and the k second bit positions are respectively located at m' modulation orders in the fourth sequence, that is, the bits corresponding to the m' modulation orders in the fourth sequence include the k second bit positions.
[0194] Step 10: Determine whether the m' modulation orders meet the first condition.
[0195] It is determined whether the ratio of the number of second bit positions on the modulation order with the lowest reliability among the m′ modulation orders to the first symbol number n is greater than or equal to a first threshold, and / or whether m′ is equal to 1.
[0196] Assume that k=9, n=22, and the fourth sequence includes 4 modulation orders, namely level0, level1, level2 and level3. Among them, the bits corresponding to level0 and level3 are pre-frozen bits, that is, m'=2. The number of second bit positions included on level1 and level2 are: 4 and 5 respectively. Assume that when m'=2, the first threshold is 1 / 12, and the ratio between the number of first bit positions included in level1 of the two modulation orders and n is: 2 / 11. The ratio between the number of second bit positions included in level1 of the two modulation orders and n is greater than the first threshold 1 / 12. It can be seen that the two modulation orders corresponding to the fourth sequence meet the first condition, that is, the number of QAM constellation points is determined according to m'=2. The number of QAM constellation points can satisfy: A=2 2*2 = 16. No further steps are required.
[0197] Assume again that k=2, n=22, and the fourth sequence includes 4 modulation orders, namely level0, level1, level2 and level3. Among them, the bits corresponding to level0, level1 and level3 are pre-frozen bits, that is, m'=1. The number of second bit positions on level2 is: 2. Since m'=1, there is no need to determine the relationship between the ratio between the number of second bit positions corresponding to level2 and the first symbol number n and the first threshold value, and the corresponding 1 modulation order of the fourth sequence meets the first condition. The number of constellation points of the QAM can satisfy: A=2 2*1 = 4. No further steps are required.
[0198] Assume that k=8, n=45, and the fourth sequence includes 4 modulation levels, namely level0, level1, level2 and level3. Among them, the bits corresponding to level0 and level1 are pre-frozen bits, that is, m'=2. The number of second bit positions included on level2 and level3 are: 3, 5 respectively. Assume that when m'=2, the first threshold is 1 / 12, and the ratio between the number of second bit positions included in level2 of the two modulation levels and n is: 1 / 15. The ratio between the number of second bit positions included in level2 and n is less than the first threshold 1 / 12, and m' is not equal to 1, then continue to execute as follows Figure 7 Steps 5 to 7, or steps 8 to 10 or similar steps, are performed to further determine the number of QAM constellation points.
[0199] Assume again that k=6, n=33, and the fourth sequence includes 4 modulation orders, namely level0, level1, level2 and level3. Among them, the bits corresponding to level2 and level3 are pre-frozen bits, that is, m'=2. The number of second bit positions included in level0 and level1 are: 2, 4 respectively. Assume that when m'=2, the first threshold is 1 / 12, and the ratio between the number of second bit positions included in level0 of the two modulation orders and n is: 2 / 33. The ratio between the number of second bit positions included in level0 and n is less than the first threshold 1 / 12. It can be seen that the two modulation orders corresponding to the third sequence do not meet the first condition, and m"=2, and is not equal to 1, then continue to execute the same Figure 7 Steps 5 to 7, or steps 8 to 10 or similar steps, are performed to further determine the number of QAM constellation points.
[0200] It should be understood that, as mentioned above Figure 7 As shown, according to the modulation order of the bit position carrying the information bit and the first condition, it is judged whether it is necessary to pre-freeze the bit position corresponding to the highest reliability layer or the lowest layer in the sequence, re-match the information bit to the non-pre-frozen bit position, adjust the first modulation order to obtain the second modulation order, and the information bits included in each coding layer corresponding to the second modulation order meet the preset condition (such as the first condition). In this way, a suitable modulation order is obtained to avoid the coding loss caused by the extremely low code rate in the coding modulation process, which affects the channel capacity allocation.
[0201] The method proposed in the present application is described in detail above. As an example, the following provides, based on the method proposed in the present application, the variation between the symbol signal-to-noise ratio and the spectrum efficiency required for the decoding process when the error rate of the data packet reaches 1%.
[0202] Figure 8 It is a schematic diagram of the decoding performance simulation of BICM and MLC.
[0203] in, Figure 8 The BICM shown is a modulation order determined according to the modulation and coding strategy MCS table corresponding to the data channel of NR, and the MLC is a modulation order determined according to the method provided in this application. Figure 8As shown, when the spectrum efficiency is the same, the symbol signal-to-noise ratio of MLC decoded through SC is the lowest, the symbol signal-to-noise ratio of MLC decoded through Successive Cancellation List 8 is the second lowest, the symbol signal-to-noise ratio of BICM decoded through Successive Cancellation List 8 is the highest, and the symbol signal-to-noise ratio of BICM decoded through SC is the second highest. It can be seen that in the coding method provided by the present application, by adjusting the modulation order preset by the system, a suitable modulation order is selected to encode and modulate the symbol, thereby ensuring the decoding performance of the receiving end.
[0204] Fig. 9 This is another schematic diagram of the decoding performance simulation of BICM and MLC.
[0205] It should be understood that Fig. 9 is based on Figure 8 simulation, Fig. 9 The performance difference between BICM through SC decoding and MLC through SC decoding, as well as the performance difference between BICM through Successive Cancellation List 8 decoding and MLC through Successive Cancellation List 8 decoding are further analyzed in.
[0206] Fig.10 This is another schematic diagram of the decoding performance simulation of BICM and MLC.
[0207] in, Fig.10 The BICM shown is to select the best modulation order according to the modulation and coding strategy MCS table corresponding to the data channel of NR, and the MLC is the modulation order determined according to the method provided by this application. Fig.10 As shown in the figure, when the spectrum efficiency is the same, the symbol signal-to-noise ratio of MLC decoded through Successive Cancellation List 8 is the lowest, the symbol signal-to-noise ratio of BICM decoded through Successive Cancellation List8 is the second lowest, the symbol signal-to-noise ratio of MLC decoded through SC is the second highest, and the symbol signal-to-noise ratio of BICM decoded through SC is the highest. It can be seen that by selecting the best modulation order, the decoding performance of BICM is better than that of Figure 8 The decoding performance of the modulation order determined by MCS is improved. At the same time, ML provides a coding method through this application, adjusts the modulation order preset by the system, selects a suitable modulation order to code and modulate the symbol, and the decoding performance of the receiving end is significantly better than that of BICM.
[0208] Fig.11 This is another schematic diagram of the decoding performance simulation of BICM and MLC.
[0209] It should be understood that Fig.11 is based on Fig.10 The simulation diagram of Fig.11 The performance difference between BICM through SC decoding and MLC through SC decoding, as well as the performance difference between BICM through Successive Cancellation List 8 decoding and MLC through Successive Cancellation List 8 decoding are further analyzed in.
[0210] It is understood that the steps in the above figures are only exemplary and not strictly limited. In addition, the sequence numbers of the above processes do not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application.
[0211] It can also be understood that some coding sequence names are involved in the various embodiments of the present application, and their naming does not limit the protection scope of the embodiments of the present application.
[0212] It can also be understood that some optional features in the embodiments of the present application may not depend on other features in some scenarios, or may be combined with other features in some scenarios, without limitation.
[0213] It can also be understood that in the above-mentioned various method embodiments, the methods and operations implemented by the first device can also be implemented by components (such as chips or circuits) that can be implemented by the first device, without limitation.
[0214] Corresponding to the methods given in the above-mentioned method embodiments, the embodiments of the present application also provide corresponding devices, which include modules for executing the corresponding methods in the above-mentioned method embodiments. The module can be software, hardware, or a combination of software and hardware. It can be understood that the technical features described in the above-mentioned method embodiments are also applicable to the following device embodiments.
[0215] Fig.12 1 is a schematic block diagram of a communication device 1200 provided in this application. Fig.12 , the communication device 1200 includes a processing unit 1210 and a communication unit 1220. The device 1200 can implement the steps or processes corresponding to those performed by the first device in the above method embodiment, wherein the processing unit 1210 is used to perform the processing-related operations of the first device in the above method embodiment, and the communication unit 1220 is used to perform the sending-related operations of the first device in the above method embodiment. For example, each unit of the communication device 1200 is used to implement the following functions:
[0216] The processing unit 1210 is used to determine, based on the first symbol number n, to pre-freeze the bits corresponding to (Nn) symbols in the first sequence to obtain a second sequence, the first sequence corresponding to the symbol number N and the first modulation order M; the processing unit 1210 is also used to select k non-pre-frozen bit positions from the second sequence in order of reliability from high to low to obtain a third sequence, the k non-pre-frozen bit positions are used to carry k information bits; the processing unit 1210 is also used to adjust the first modulation order M according to the third sequence to obtain a second modulation order, the second modulation order is less than the first modulation order M. Wherein, N, n, k are positive integers, and N≥n.
[0217] In each embodiment of the communication device 1200 corresponding to the transmitting end, the processing unit 1210 is used to perform the processing and / or operation implemented by the first device in addition to the sending and receiving actions. The communication unit 1220 is used to perform the receiving (or inputting) action of the first device, and / or, to perform the sending (or outputting) action of the first device.
[0218] It should be understood that the device 1200 herein is embodied in the form of a functional unit. The term "unit" herein may refer to an application specific integrated circuit (ASIC), an electronic circuit, a processor (e.g., a shared processor, a dedicated processor, or a group processor, etc.) and a memory for executing one or more software or firmware programs, a combined logic circuit, and / or other suitable components that support the described functions.
[0219] The apparatus 1200 of each of the above schemes has the function of implementing the corresponding steps performed by the first device in the above method. The function can be implemented by hardware, or by hardware executing the corresponding software implementation. The hardware or software includes one or more modules corresponding to the above functions; for example, the communication unit can be replaced by a transceiver (for example, the sending unit in the communication unit can be replaced by a transmitter, and the receiving unit in the communication unit can be replaced by a receiver), and other units, such as the processing unit, can be replaced by a processor to respectively perform the sending and receiving operations and related processing operations in each method embodiment.
[0220] In addition, the communication unit may also be a transceiver circuit (for example, it may include a receiving circuit and a transmitting circuit), and the processing unit may be a processing circuit. In an embodiment of the present application, the device 1200 may be the first device in the aforementioned embodiment, or may be a chip or a chip system, for example, a system on chip (SoC), wherein the communication unit may be an input / output circuit, a communication interface, and the processing unit may be a processor or a microprocessor or an integrated circuit integrated on the chip. This is not limited here.
[0221] Fig.13 1 is a schematic structural diagram of the communication device 1300 provided in this application. Fig.13 The communication device 1300 includes: one or more processors 1310, one or more memories 1320, and one or more communication interfaces 1330. The processor 1310 is used to control the communication interface 1330 to send and receive signals, the memory 1320 is used to store a computer program, and the processor 1310 is used to call and run the computer program from the memory 1320, so that the communication device 1300 performs the processing performed by the transmitting end or the receiving end in each method embodiment of the present application.
[0222] For example, the processor 1310 may have Fig.12 The functions of the processing unit 1210 shown in FIG. 1 and the communication interface 1330 may have Fig.12 Specifically, the processor 1310 may be used to execute a process or operation executed by the communication device, and the communication interface 1330 may be used to execute a sending and / or receiving operation of the communication device.
[0223] Optionally, the memory and processor in the above-mentioned device embodiments may be physically independent units, or the memory may be integrated with the processor, which is not limited in the present application.
[0224] In addition, the present application also provides a computer-readable storage medium, in which computer instructions are stored. When the computer instructions are executed on a computer, the operations and / or processing performed by the first device in each method embodiment of the present application are executed.
[0225] In addition, the present application also provides a computer program product, which includes computer program code or instructions. When the computer program code or instructions are run on a computer, the operations and / or processing performed by the first device in each method embodiment of the present application are executed.
[0226] In addition, the present application also provides a chip, which includes a processor, a memory for storing computer programs is set independently of the chip, and the processor is used to execute the computer program stored in the memory, so that a device equipped with the chip performs the operations and / or processing performed by the first device in any method embodiment.
[0227] Furthermore, the chip may further include a communication interface. The communication interface may be an input / output interface, or an interface circuit, etc. Furthermore, the chip may further include the memory.
[0228] Optionally, the processor may be one or more, the memory may be one or more, and the memory may be one or more.
[0229] In addition, the present application also provides a communication device (for example, a chip or a chip system), including a processor and a communication interface, according to the operation and / or processing performed by the first device in any of the aforementioned method embodiments, the communication interface is used to receive (or referred to as input) message bits to be encoded, and the processor encodes the message bits to be encoded. Optionally, the communication interface is also used to send (or referred to as output) data and / or information processed by the processor.
[0230] In addition, the present application also provides a communication device, comprising at least one processor, wherein the at least one processor is coupled to at least one memory, and the at least one processor is used to execute a computer program or instruction stored in the at least one memory, so that the communication device performs the operations and / or processing performed by the first device in any method embodiment.
[0231] In addition, the present application also provides a communication system, including the first device in the method embodiment of the present application.
[0232] The memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus RAM (DRRAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0233] The method provided in the above embodiment can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product may include one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated.
[0234] In order to clearly describe the technical solutions of the embodiments of the present application, in the embodiments of the present application, numbers such as "first" and "second" are used to distinguish the same or similar items with substantially the same functions and effects. Those skilled in the art can understand that numbers such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit them to be different.
[0235] In the embodiments of the present application, "at least one" means one or more, and "more" means two or more. "And / or" describes the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the associated objects before and after are in an "or" relationship.
[0236] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0237] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0238] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0239] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0240] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0241] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0242] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage media include: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks or optical disks.
Claims
1. A coding method, characterized in that: include: Based on the first symbol number n, determine to pre-freeze bits corresponding to (Nn) symbols in the first sequence to obtain a second sequence, wherein the first sequence corresponds to the symbol number N and the first modulation order M; Selecting k non-pre-frozen bit positions from the second sequence in descending order of reliability for carrying k information bits, to obtain a third sequence; adjusting the first modulation order M according to the third sequence to obtain a second modulation order, wherein the second modulation order is smaller than the first modulation order M, Wherein, N, n, k are positive integers, and N ≥ n.
2. The method according to claim 1, characterized in that The step of adjusting the first modulation order M according to the third sequence to obtain a second modulation order includes: Determine that m modulation orders corresponding to k first bit positions in the third sequence do not satisfy a first condition, the k first bit positions are used to carry the k information bits, m is less than or equal to M, and m is a positive integer; Determine a fourth sequence according to the k information bits and m, wherein k second bit positions in the fourth sequence correspond to m' modulation orders, the m' modulation orders satisfy the first condition, m' is less than m, and the k second bit positions are used to carry the k information bits; The m' is used as the second modulation order.
3. The method according to claim 2, characterized in that The determining a fourth sequence according to the k information bits and the m includes: Determine a fifth sequence according to the k information bits and m, wherein k third bit positions in the fifth sequence are used to carry the k information bits, the k third bit positions correspond to m″ modulation orders, and the m″ modulation orders do not satisfy the first condition; According to the fifth sequence, bits corresponding to the lowest reliability layer or the highest reliability layer in the m″ modulation orders are pre-frozen to obtain the fourth sequence, Wherein, m" is less than M, and m" is a positive integer.
4. The method according to claim 2 or 3, characterized in that: The first condition includes: Among the modulation orders where the k information bits are located, a ratio between the number of information bits included in the modulation order with the lowest reliability and the first number of symbols n is greater than or equal to a first threshold; and / or, The k information bits are located at bit positions corresponding to the same modulation order, The first threshold is less than 1.
5. The method according to claim 1, characterized in that The step of adjusting the first modulation order M according to the third sequence to obtain a second modulation order includes: Determine that m modulation orders corresponding to k first bit positions in the third sequence meet a first condition, the k first bit positions are used to carry the k information bits, m is less than M, and m is a positive integer; Taking m as the second modulation order, The first condition includes: among the modulation orders where the k information bits are located, the ratio between the number of information bits included in the modulation order with the lowest reliability and the first number of symbols n is greater than or equal to a first threshold; and / or the k information bits are located at bit positions corresponding to the same modulation order, The first threshold is less than 1.
6. The method according to claim 4 or 5, characterized in that: The first threshold is less than or equal to 1 / 4, and the first threshold is negatively correlated with the number of modulation orders.
7. The method according to any one of claims 1 to 6, characterized in that When the first modulation order M is the modulation order of the first quadrature amplitude modulation QAM, the first modulation order M is used to determine the number of constellation points of the first QAM, and the number of constellation points of the first QAM satisfies: A=2 2M ; When the second modulation order is the modulation order of the second QAM, the second modulation order is used to determine the number of constellation points of the second QAM, and the number of constellation points of the second QAM satisfies a=2 2*第二调制阶数 .
8. The method according to any one of claims 1 to 7, characterized in that The method further comprises: Determine a codeword corresponding to a coding layer number according to the first symbol number n and ki, wherein the coding layer number corresponds to the second modulation order, ki is the number of information bits included in the i-th layer of the coding layer number, and i is a positive integer; n symbols corresponding to each layer in the coding layer number are sent, and the n symbols are determined according to the codeword corresponding to the coding layer number.
9. The method according to claim 8, characterized in that When the second modulation order is greater than or equal to 4, the highest layer in the number of coding layers is not encoded.
10. A communication device, characterized in that: include: A processing unit, configured to determine, based on a first symbol number n, to pre-freeze bits corresponding to (Nn) symbols in a first sequence to obtain a second sequence, wherein the first sequence corresponds to the symbol number N and the first modulation order M; The processing unit is further configured to select k non-pre-frozen bit positions from the second sequence in descending order of reliability for carrying k information bits, to obtain a third sequence; The processing unit is further configured to adjust the first modulation order M according to the third sequence to obtain a second modulation order, wherein the second modulation order is smaller than the first modulation order M. Wherein, N, n, k are positive integers, and N ≥ n.
11. The device according to claim 10, characterized in that The processing unit is further used to determine that m modulation orders corresponding to k first bit positions in the third sequence do not meet the first condition, the k first bit positions are used to carry the k information bits, m is less than or equal to M, and m is a positive integer; The processing unit is further used to determine a fourth sequence according to the k information bits and m, the k second bit positions in the fourth sequence correspond to m' modulation orders, the m' modulation orders meet the first condition, m' is less than m, and the k second bit positions are used to carry the k information bits; The processing unit is further configured to use the m' as the second modulation order.
12. The device according to claim 11, characterized in that The processing unit is further used to determine a fifth sequence according to the k information bits and m, wherein the k third bit positions in the fifth sequence are used to carry the k information bits, the k third bit positions correspond to m″ modulation orders, and the m″ modulation orders do not meet the first condition; The processing unit is further configured to pre-freeze bits corresponding to the lowest reliability layer or the highest reliability layer in the m″ modulation orders according to the fifth sequence to obtain the fourth sequence, Wherein, m" is less than M, and m" is a positive integer.
13. The device according to claim 11 or 12, characterized in that The first condition includes: Among the modulation orders where the k information bits are located, a ratio between the number of information bits included in the modulation order with the lowest reliability and the first number of symbols n is greater than or equal to a first threshold; and / or, The k information bits are located at bit positions corresponding to the same modulation order, The first threshold is less than 1.
14. The device according to claim 10, characterized in that The processing unit is further used to determine that m modulation orders corresponding to k first bit positions in the third sequence meet a first condition, the k first bit positions are used to carry the k information bits, m is less than M, and m is a positive integer; The processing unit is further configured to use the m as the second modulation order, The first condition includes: among the modulation orders where the k information bits are located, the ratio between the number of information bits included in the modulation order with the lowest reliability and the first number of symbols n is greater than or equal to a first threshold; and / or the k information bits are located at bit positions corresponding to the same modulation order, The first threshold is less than 1.
15. The device according to claim 13 or 14, characterized in that The first threshold is less than or equal to 1 / 4, and the first threshold is negatively correlated with the number of modulation orders.
16. The device according to any one of claims 10 to 15, characterized in that When the first modulation order M is the modulation order of the first quadrature amplitude modulation QAM, the first modulation order M is used to determine the number of constellation points of the first QAM, and the number of constellation points of the first QAM satisfies: A=2 2M ; When the second modulation order is the modulation order of the second QAM, the second modulation order is used to determine the number of constellation points of the second QAM, and the number of constellation points of the second QAM satisfies a=2 2*第二调制阶数 .
17. The device according to any one of claims 10 to 16, characterized in that The processing unit is further configured to determine a codeword corresponding to a coding layer number according to the first symbol number n and ki, the coding layer number corresponding to the second modulation order, ki being the number of information bits included in the i-th layer in the coding layer number, and i being a positive integer; The transceiver unit is used to send n symbols corresponding to each layer in the coding layer number, and the n symbols are determined according to the codeword corresponding to the coding layer number.
18. The device according to claim 17, characterized in that When the second modulation order is greater than or equal to 4, the highest layer in the number of coding layers is not encoded.
19. A communication device, characterized in that: The device comprises at least one processor coupled to at least one memory, wherein the at least one processor is configured to execute a computer program or instruction stored in the at least one memory so as to enable the communication device to perform the method according to any one of claims 1 to 9.
20. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and when the computer instructions are executed on a computer, the method according to any one of claims 1 to 9 is performed.
21. A computer program product, characterized in that The computer program product comprises a computer program code which, when run on a computer, causes the method according to any one of claims 1 to 9 to be performed.