Coding method, device and equipment
By grouping the information bit set into groups and encoding them using N corresponding code rates, the problem of poor information bit encoding flexibility is solved, and transmission performance is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- VIVO MOBILE COMM CO LTD
- Filing Date
- 2024-10-24
- Publication Date
- 2026-04-24
AI Technical Summary
The limited flexibility of information bit encoding in existing technologies leads to poor transmission performance.
The information bit set is divided into N information bit groups, and each information bit group is encoded using N different code rates, so that the N code rates correspond one-to-one with the information bit groups.
It improves the flexibility of information bit encoding and enhances the transmission performance of the device.
Smart Images

Figure CN121923764A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of communication technology, specifically relating to an encoding method, apparatus, and device. Background Technology
[0002] In related technologies, encoding is performed at the granularity of a set of information bits (such as a transport block). Specifically, a code rate is used to uniformly encode a set of information bits, which results in relatively poor flexibility in information bit encoding. Summary of the Invention
[0003] This application provides an encoding method, apparatus, and device that can solve the problem of poor flexibility in information bit encoding.
[0004] Firstly, an encoding method is provided, including:
[0005] The first device groups the set of information bits into N groups, where N is an integer greater than 1.
[0006] The first device encodes the N information bit groups using N code rates to obtain the encoded output code blocks of the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups.
[0007] Secondly, an encoding device is provided, comprising:
[0008] The processing module is used to group the information bit set into N information bit groups, where N is an integer greater than 1;
[0009] The processing module is further configured to encode the N information bit groups using N code rates respectively, to obtain the encoded output code blocks of the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups.
[0010] Thirdly, an encoding apparatus is provided, the apparatus being configured to perform the steps of the encoding method provided in the embodiments of this application.
[0011] Fourthly, an apparatus is provided, comprising a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions, when executed by the processor, implementing the steps of the encoding method provided in the embodiments of this application.
[0012] Fifthly, a device is provided, including a processor and a communication interface, wherein the processor is used to group an information bit set to obtain N information bit groups, where N is an integer greater than 1; and to encode the N information bit groups using N code rates respectively to obtain encoded output code blocks of the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups.
[0013] In a sixth aspect, a terminal is provided, the terminal including a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions, when executed by the processor, implementing the steps of the method as described in the first aspect.
[0014] In a seventh aspect, a terminal is provided, including a processor and a communication interface. The processor is used to group information bit sets to obtain N information bit groups, where N is an integer greater than 1; and to encode the N information bit groups using N code rates to obtain encoded output code blocks of the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups.
[0015] Eighthly, a network-side device is provided, the network-side device including a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions, when executed by the processor, implementing the steps of the method as described in the first aspect.
[0016] In a ninth aspect, a network-side device is provided, including a processor and a communication interface, wherein the processor is used to group a set of information bits to obtain N information bit groups, where N is an integer greater than 1; and to encode the N information bit groups using N code rates to obtain encoded output code blocks of the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups.
[0017] In a tenth aspect, a readable storage medium is provided, on which a program or instructions are stored, which, when executed by a processor, implement the steps of the encoding method provided in the embodiments of this application.
[0018] Eleventhly, a chip is provided, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor being used to run programs or instructions to implement the steps of the encoding method provided in the embodiments of this application.
[0019] In a twelfth aspect, a computer program / program product is provided, which is stored in a storage medium and executed by at least one processor to implement the steps of the encoding method provided in the embodiments of this application.
[0020] In this embodiment, the first device groups the information bit set into N information bit groups, where N is an integer greater than 1. The first device encodes each of the N information bit groups using N code rates to obtain encoded output code blocks for the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups. By using N code rates to encode the N information bit groups separately, compared to using a single code rate to uniformly encode the information bit set, this embodiment improves the flexibility of information bit encoding and enhances the transmission performance of the device. Attached Figure Description
[0021] Figure 1 This is a schematic diagram of a system provided in an embodiment of this application;
[0022] Figure 2 This is a flowchart of an encoding method provided in an embodiment of this application;
[0023] Figure 3 This is a schematic diagram illustrating the reliability of a bit provided in an embodiment of this application;
[0024] Figure 4 This is a schematic diagram comparing the reliability of various encoding methods provided in the embodiments of this application;
[0025] Figure 5 This is a schematic diagram of an interlacing provided in an embodiment of this application;
[0026] Figure 6 This is another schematic diagram of interlacing provided in the embodiments of this application;
[0027] Figure 7 This is a schematic diagram of an encoding provided in an embodiment of this application;
[0028] Figure 8 This is a schematic diagram illustrating the reliability of another bit provided in an embodiment of this application;
[0029] Figure 9 This is a schematic diagram illustrating the reliability of another bit provided in an embodiment of this application;
[0030] Figure 10 This is a schematic diagram of another encoding provided in an embodiment of this application;
[0031] Figure 11 This is a schematic diagram of another encoding provided in an embodiment of this application;
[0032] Figure 12 This is a schematic diagram of another encoding provided in an embodiment of this application;
[0033] Figure 13This is a schematic diagram comparing the reliability of various encoding methods provided in the embodiments of this application;
[0034] Figure 14 This is a schematic diagram of a cascade provided in an embodiment of this application;
[0035] Figure 15 This is a structural diagram of an encoding device provided in an embodiment of this application;
[0036] Figure 16 This is a structural diagram of a communication device provided in an embodiment of this application;
[0037] Figure 17 This is a structural diagram of a terminal provided in an embodiment of this application;
[0038] Figure 18 This is a structural diagram of a network-side device provided in an embodiment of this application. Detailed Implementation
[0039] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.
[0040] The terms "first," "second," etc., used in this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same class, not limited in number; for example, the first object can be one or more. Furthermore, "or" in this application indicates at least one of the connected objects. For example, the scope of protection for "A or B" covers at least three scenarios: Scenario 1: including A but not B; Scenario 2: including B but not A; Scenario 3: including both A and B. In addition, the terms "A and / or B," "at least one of A and B," and "at least one of A or B" also cover at least the above three scenarios. The character " / " generally indicates that the preceding and following objects are in an "or" relationship.
[0041] The term "instruction" in this application can be either a direct instruction (or explicit instruction) or an indirect instruction (or implicit instruction). A direct instruction can be understood as one in which the sender explicitly informs the receiver of specific information, the operation to be performed, or the requested result, etc., in the instruction sent. An indirect instruction can be understood as one in which the receiver determines the corresponding information based on the instruction sent by the sender, or makes a judgment and determines the operation to be performed or the requested result, etc., based on the judgment result.
[0042] It is worth noting that the technologies described in this application are not limited to Long Term Evolution (LTE) / LTE-Advanced (LTE-A) systems, but can also be used in other wireless communication systems, such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Single-carrier Frequency-Division Multiple Access (SC-FDMA), or other systems. The terms "system" and "network" in this application are often used interchangeably, and the described technologies can be used with the systems and radio technologies mentioned above, as well as with other systems and radio technologies. The following description describes New Radio (NR) systems for illustrative purposes, and the term NR is used in most of the following description; however, these technologies can also be applied to systems other than NR systems, such as 6th generation (6G) radio systems. th Generation 6G communication system.
[0043] Figure 1This diagram illustrates a block diagram of a wireless communication system applicable to embodiments of this application. The wireless communication system includes a terminal 11 and a network-side device 12. The terminal 11 can be a mobile phone, tablet computer, laptop computer, notebook computer, personal digital assistant (PDA), handheld computer, netbook, ultra-mobile personal computer (UMPC), mobile internet device (MID), augmented reality (AR), virtual reality (VR) device, robot, wearable device, flight vehicle, vehicle user equipment (VUE), shipboard equipment, pedestrian user equipment (PUE), smart home devices (home appliances with wireless communication capabilities, such as refrigerators, televisions, washing machines, or furniture), game consoles, personal computers (PCs), ATMs, or self-service machines, etc. Wearable devices include: smartwatches, smart bracelets, smart headphones, smart glasses, smart jewelry (smart bracelets, smart chains, smart rings, smart necklaces, smart anklets, smart anklets, etc.), smart wristbands, smart clothing, etc. Among these, in-vehicle devices can also be referred to as in-vehicle terminals, in-vehicle controllers, in-vehicle modules, in-vehicle components, in-vehicle chips, or in-vehicle units, etc. It should be noted that the specific type of terminal 11 is not limited in this application embodiment. Network-side equipment 12 may include access network equipment or core network equipment, wherein access network equipment may also be referred to as Radio Access Network (RAN) equipment, radio access network function, or radio access network unit. Access network equipment may include base stations, Wireless Local Area Network (WLAN) access points (APs), or Wireless Fidelity (WiFi) nodes, etc.In this context, a base station may be referred to as a Node B (NB), Evolved Node B (eNB), Next Generation Node B (gNB), New Radio Node B (NR Node B), Access Point, Relay Base Station (RBS), Serving Base Station (SBS), Base Transceiver Station (BTS), Radio Base Station, Radio Transceiver, Basic Service Set (BSS), Extended Service Set (ESS), Home Node B (HNB), Home Evolved Node B, Transmit / Receive Point (TRP), or any other suitable term in the relevant field, as long as the same technical effect is achieved. The base station is not limited to any specific technical terminology. It should be noted that in this application embodiment, only a base station in an NR system is used as an example for introduction, and the specific type of base station is not limited.
[0044] Core network equipment, also known as core network nodes, core network functions, or core network elements, includes, but is not limited to, at least one of the following: Mobility Management Entity (MME), Access and Mobility Management Function (AMF), Session Management Function (SMF), User Plane Function (UPF), Policy Control Function (PCF), Policy and Charging Rules Function (PCRF), Edge Application Server Discovery Function (EASDF), Unified Data Management (UDM), Unified Data Repository (UDR), Home Subscriber Server (HSS), Centralized network configuration (CNC), Network Repository Function (NRF), Network Exposure Function (NEF), Local NEF (or L-NEF), and Binding Support Function. Support Functions (BSF), Application Functions (AF), Location Management Functions (LMF), Gateway Mobile Location Centres (GMLC), and Network Data Analytics Functions (NWDAF), etc. It should be noted that this application embodiment only uses core network equipment in the NR system as an example and does not limit the specific type of core network equipment. If the name of the core network equipment mentioned in this application embodiment changes in subsequent protocol versions (e.g., 6G), it will still be within the scope of protection of this application.
[0045] Optionally, the core network equipment can be implemented by one or more functional modules in a single device, or by multiple devices working together; this application does not specifically limit this. It is understood that the aforementioned functional modules can be network elements in hardware devices, software functional modules running on dedicated hardware, or virtualized functional modules instantiated on a platform (e.g., a cloud platform).
[0046] The following description, in conjunction with the accompanying drawings, details an encoding method, apparatus, and device provided in this application through some embodiments and application scenarios.
[0047] Please see Figure 2 , Figure 2 This is a flowchart of an encoding method provided in an embodiment of this application, such as... Figure 2 As shown, it includes the following steps:
[0048] Step 201: The first device groups the information bit set into N information bit groups, where N is an integer greater than 1.
[0049] The first device mentioned above can be a terminal or a network-side device. For example, if the first device is a terminal, the information bit set is uplink data or data transmitted between terminals; if the first device is a network-side device, the information bit set is downlink data.
[0050] In some implementations, the aforementioned set of information bits may be a transport block (TB).
[0051] In some implementations, the aforementioned set of information bits is the information code block obtained after dividing the TB into code blocks. That is, code block division is performed first, and then the divided code blocks are grouped, which is equivalent to dividing each code block into N sub-code blocks.
[0052] The number of information bit groups (i.e., the value of N) can be predetermined or determined based on transmission parameters, such as 2, 3 or 4.
[0053] In this embodiment of the application, the aforementioned information bit group can also be referred to as an information bit sequence.
[0054] Step 202: The first device encodes the N information bit groups using N code rates respectively to obtain the encoded output code blocks of the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups.
[0055] The aforementioned N code rates can be pre-configured or indicated by the network-side device, or N code rates determined based on the code rates corresponding to the aforementioned set of information bits. The code rate corresponding to the set of information bits is a code rate, which can also be called the overall code rate.
[0056] The above N code rates correspond one-to-one with the N information bit groups, which can be understood as each information bit group corresponding to a code rate.
[0057] The above-mentioned encoding of the N information bit groups using N code rates can be performed simultaneously using N code rates; or, the above-mentioned encoding of the N information bit groups using N code rates can be performed in a specific order using N code rates, such as encoding the information bit groups with higher code rates first and encoding the information bit groups with lower code rates later.
[0058] In this embodiment of the application, the encoding method is not limited. For example, the above encoding can be Low Density Parity Check Code (LDPC) encoding, or the above encoding can be Polar encoding, etc.
[0059] In this embodiment, since N code rates are used to encode the N information bit groups respectively, compared with using a single code rate to uniformly encode the information bit set, this embodiment can improve the flexibility of information bit encoding and is beneficial to improving the transmission performance of the device.
[0060] As an optional implementation, the value of N is fixed; or,
[0061] The value of N is related to the modulation order.
[0062] The aforementioned fixed values can be agreed upon in the protocol or configured by the network-side devices.
[0063] In some implementations, the value of N is 2.
[0064] Since N takes a fixed value, this reduces the coding complexity.
[0065] The value of N mentioned above is related to the modulation order, which can be used to determine the number of information bit groups based on the modulation order. For example, for 16-quadrature amplitude modulation (QAM) (modulation order (Q... m =4), the number of information bit groups is 2; for 64QAM(Q m =6), the number of information bit groups is 2 or 3; for 256QAM(Qm =8), the number of information bit groups is 2 or 4; for 1024QAM(Q m =10), the number of information bit groups is 2 or 5.
[0066] Since the value of N is related to the modulation order, this ensures that the number of information bit groups is matched with the modulation order, which is beneficial for improving modulation performance.
[0067] As an optional implementation, the information bit set is an information bit set with added cyclic redundancy check (CRC); or
[0068] After obtaining the N information bit groups, CRC is added to each of the N information bit groups.
[0069] The aforementioned set of information bits for adding TB CRC refers to dividing the set of information bits for adding TB CRC into N information bit groups. This allows for adding CRC once to the set of information bits, thus saving transmission overhead.
[0070] The above-mentioned method of adding CRC to each of the N information bit groups after obtaining them can be achieved by adding the corresponding CRC to each of the N information bit groups after obtaining them. This allows each information bit group to have its own corresponding CRC added, thereby improving the verification effect.
[0071] As an optional implementation, the N code rates may be different, and the average of the N code rates is equal to the code rate of the information bit set.
[0072] The existence of different bitrates among the above N bitrates can be that all N bitrates are different from each other, or that some of the N bitrates are the same and some are different.
[0073] The average of the above N code rates is equal to the code rate of the information bit set. This ensures that the average code rate of the N information bit groups is equal to the code rate of the information bit set, thereby guaranteeing that the overall code rate remains unchanged under block coding conditions to meet the relevant configuration requirements.
[0074] For example: the code rate R of each information bit group n (n=0,1,2,…,N-1) are different, and the code rate R of each packet is determined. n For n = 0, 1, 2, ..., N-1, the bit rate of each group satisfies (or ), where R is the code rate of the information bit set, that is, the overall code rate of data transmission.
[0075] In some implementations, the above N bitrates may be the same bitrate, and this application does not limit this.
[0076] As an optional implementation, the N bit rates are determined based on at least one of the following:
[0077] The protocol includes the following: Modulation and coding scheme (MCS) table, MCS level, preset rules, signaling indication, and code rate of the information bit set.
[0078] The MCS table mentioned above can include the above N bitrates, which avoids introducing additional information and saves configuration overhead.
[0079] Alternatively, the decision to perform block coding can be based on the MCS table or MCS level information. Block coding can be enabled by default when the modulation order Qm>=X or the MCS level IMCS>=Y, where X and Y are positive integers. The MCS tables 1-3 below show that block coding is enabled when Qm>=4, but it can also be enabled when, for example, Qm>=6 or Qm>=8.
[0080] The MCS tables mentioned above can be Table 1, Table 2, or Table 3 as shown below.
[0081] Table 1:
[0082]
[0083] In Table 1 above, the target code rate Rx represents the code rate of the aforementioned set of information bits, R0 and R1 represent the code rates corresponding to the two groups of information bits, and ΔR (i) R represents the bitrate difference parameter between different information bit groups when MCS Index = i. (i) +ΔR (i) and R (i) -ΔR (i) These represent the bitrates for packet 0 and packet 1 when MCS Index = i, respectively. The MCS table above provides R... (i) • The value of 1024, and the overall bitrate or block bitrate value in the MCS table is obtained by rounding up, rounding down, rounding to the nearest integer, or retaining 1 decimal place.
[0084] Table 2:
[0085]
[0086] in, R represents the code rate corresponding to information bit group n when MCS Index = i, where R (i)R represents the target bitrate when MCS Index = i, which is the bitrate corresponding to the above set of information bits. (i) +ΔR (i) and R (i) -ΔR (i) These represent the bit rates corresponding to information bit group 0 and information bit group 1 when MCSIndex = i, respectively. The overall bit rate R in the MCS table... (i) · 1024 or block code rate (R (i) +ΔR (i) )·1024 or (R (i) -ΔR (i) The value of 1024 is obtained by rounding up, rounding down, rounding to the nearest integer, or retaining one decimal place.
[0087] Specifically, based on the performance evaluation results of different bitrates, the bitrate must meet at least one of the following:
[0088] When N = 2, ΔR (i) The value can be any one of {0.01, 0.02, 0.03, 0.04, ..., 0.19, 0.20}.
[0089] In the MCS table (R) (i) +ΔR (i) )·1024 or (R (i) -ΔR (i) The value of 1024 is obtained by rounding up, rounding down, rounding to the nearest integer, or retaining one decimal place.
[0090] Or ΔR (i) The value of 1024 can be any one of the values in {10, 10.5, 11, 11.5, ..., 199.5, 200}.
[0091] Table 3:
[0092]
[0093] Among them, in Table 3 above, R represents the code rate corresponding to information bit group n when MCS Index = i, where R (i) This represents the target bitrate when MCS Index = i. If the number of information bit groups is fixed at 2, the information bit group bitrate in the table only includes... and Not included or or Overall bitrate R in the MCS table (i) · 1024 or block code rate The value is obtained by rounding up, rounding down, rounding to the nearest integer, or retaining one decimal place.
[0094] In some implementations, based on performance evaluation results, the bitrate satisfies at least one of the following:
[0095] When N=2, or The value can be any one of {0.01, 0.02, 0.03, 0.04, ..., 0.19, 0.20}.
[0096] Among them, information bit group 0 is the high code rate group, and information bit group 1 is the low code rate group;
[0097] MCS table The value is based on The result is obtained by rounding up, rounding down, rounding to the nearest integer, or retaining one decimal place.
[0098] Or or The value can be any one of {10, 10.5, 11, 11.5, ..., 199.5, 200}.
[0099] Alternatively, the code rate of different information bit groups is determined based on the sub-channel capacity corresponding to different bits in QAM modulation, for example:
[0100] The total channel capacity corresponding to the modulation symbols is: I = R·Q m Where I represents the modulation order Q m When the code rate is R, the total channel capacity (or spectral efficiency, which can be determined from the MCS table based on the MCS level) corresponding to the modulation symbols, where R represents the overall code rate of the information bit set, and Q... m Q is the modulation order. m =M, where M is the number of bits in the modulation symbol.
[0101] Given a total channel capacity for the modulation symbols, the first device can determine the channel capacity of the sub-channel corresponding to the M bits based on the total channel capacity of the modulation symbols. For example, it can determine the channel capacity of the sub-channel corresponding to the M bits based on the mapping relationship between the total channel capacity and the sub-channel capacity.
[0102] The determination of the channel capacity of the sub-channel corresponding to the M bits based on the total channel capacity of the modulation symbols can include:
[0103] Based on the total channel capacity of the modulation symbols and the preset channel capacity mapping relationship, the channel capacity of the sub-channels corresponding to the M bits is determined;
[0104] The channel capacity mapping relationship is the mapping relationship between the total channel capacity of the modulation symbol and the channel capacity of the sub-channel corresponding to each bit of the modulation symbol.
[0105] The aforementioned channel capacity mapping relationship can be a mapping relationship between the total channel capacity of the modulation symbol and the channel capacity of the sub-channel corresponding to each bit of the modulation symbol. For example, the aforementioned channel capacity mapping relationship can be a channel capacity table, which can be shown in Tables 4 and 5. Given a total channel capacity, the channel capacity of each sub-channel can be obtained. For example, for 16-QAM, when the calculated total channel capacity is 3 bits per second, the channel capacity of sub-channel 1 and sub-channel 3 is 0.841 bits per symbol, and the channel capacity of sub-channel 2 and sub-channel 4 is 0.679 bits per symbol. Understandably, since the data in the channel capacity table is discontinuous, once the total channel capacity is calculated, the channel capacity of each sub-channel can be queried based on the total channel capacity in the channel capacity table that is closest to the calculated total channel capacity. Alternatively, the smallest total channel capacity in the channel capacity table that is not less than the calculated total channel capacity value can be selected. For example, if the calculated total channel capacity is 3 bits / symbol, and the total channel capacity in the channel capacity table that is closest to this value is 3.041374 bits / symbol, then the channel capacity of each sub-channel can be queried based on 3.041374.
[0106] Table 4:
[0107]
[0108]
[0109] Table 5:
[0110]
[0111]
[0112] In some implementations, it is assumed that the size of the modulation constellation point set X is |X| = 2. M Using Gray mapping, let f(·) denote the mapping rule, then the modulation symbol is represented as: Each modulation symbol contains M bits, which are called constellation point labels. Let b j (x) represents the j-th bit of the label in the modulation symbol, where 1 ≤ j ≤ M. This modulation symbol channel can be considered as consisting of M parallel equivalent subchannels, b j (x) represents the input of each equivalent subchannel. Let Let represent the set of constellation points whose index is q at the j-th position, i.e.:
[0113]
[0114] Where q∈{0,1}, the capacity of the j-th subchannel can be calculated by the following formula:
[0115]
[0116] Where Y represents the set of channel output symbols, P Y|X (·) represents the channel transition probability. Represents the total channel probability, used for normalization. This represents the transition probability at position j.
[0117] Specifically, in the Monte Carlo simulation process, the channel capacity of each sub-channel can be calculated using the above formula, and then the simulation curves of the capacity of each sub-channel can be plotted. The total channel capacity is the sum of the channel capacities of all the sub-channels. Having obtained the simulation curves of the total channel capacity and the capacities of each sub-channel, the channel capacity table can be generated based on these curves.
[0118] It can be seen that when the modulation order is Q m At that time, the sub-channel capacity relationship is as follows:
[0119] Sub-channel The data corresponds to the I-channel data modulated by QAM, sub-channel The data corresponds to the Q-channel data of QAM modulation.
[0120] After determining the sub-channel capacity, the block code rate is determined based on the correlation between different information bit groups and the sub-channel, including:
[0121] When N is an integer associated with the modulation order, i.e. Each information bit group is associated with two sub-channels, and the two sub-channels have the same capacity. High-rate information bit groups are associated with high-capacity sub-channels, and low-rate information bit groups are associated with low-capacity sub-channels. This can include:
[0122] For 16QAM, the number of information bit groups N = 2: the sub-channels associated with information bit group 0 are sub-channels 1 and 3, and the sub-channels associated with group 1 are sub-channels 2 and 4;
[0123] For 64QAM, the number of information bit groups N = 3: the sub-channels associated with information bit group 0 are sub-channels 1 and 4, the sub-channels associated with information bit group 1 are sub-channels 2 and 5, and the sub-channels associated with information bit group 2 are sub-channels 3 and 6.
[0124] For 256QAM, the number of packets is N=4: the sub-channels associated with information bit group 0 are sub-channels 1 and 5, the sub-channels associated with information bit group 1 are sub-channels 2 and 6, the sub-channels associated with information bit group 2 are sub-channels 3 and 7, and the sub-channels associated with information bit group 3 are sub-channels 4 and 8.
[0125] For 1024QAM, when the number of packets is N=5: the sub-channels associated with information bit group 0 are sub-channels 1 and 6, the sub-channels associated with information bit group 1 are sub-channels 2 and 7, the sub-channels associated with information bit group 2 are sub-channels 3 and 8, the sub-channels associated with information bit group 3 are sub-channels 4 and 9, and the sub-channels associated with information bit group 4 are sub-channels 5 and 10.
[0126] Each information bit group is associated with two sub-channels, and the two sub-channels have the same capacity. The code rate of group n is calculated as follows: J n Let I represent the set of subchannel indices associated with information bit group n, where I represents the total channel capacity, N is the number of information bit groups, and R is the overall data transmission rate.
[0127] When N is a fixed integer, i.e., N=2, each information bit group is associated with a sub-channel. One, high-rate information bit group and higher capacity Subchannel correlation, low-rate information bit groups and lower capacity Subchannel associations can include:
[0128] For 16QAM, the sub-channels associated with information bit group 0 are sub-channels 1 and 3, and the sub-channels associated with information bit group 1 are sub-channels 2 and 4.
[0129] For 64QAM, the sub-channels associated with information bit group 0 are sub-channels 1, 4, and 2, and the sub-channels associated with information bit group 1 are sub-channels 5, 3, and 6.
[0130] For 256QAM, the sub-channels associated with information bit group 0 are sub-channels 1, 5, 2, and 6, and the sub-channels associated with information bit group 1 are sub-channels 3, 7, 4, and 8.
[0131] For 1024QAM, the sub-channels associated with information bit group 0 are sub-channels 1, 6, 2, 7, and 3, and the sub-channels associated with information bit group 1 are sub-channels 8, 4, 9, 5, and 10.
[0132] Each information bit group is associated with a sub-channel. The code rate of information bit group n is calculated as follows:
[0133] J n Let I represent the set of subchannel indices associated with information bit group n, where I represents the total channel capacity, N is the number of information bit groups, and R is the overall data transmission rate.
[0134] In some implementations, the MCS level can be mapped to the N bitrates, thereby determining the corresponding bitrate based on the mapping.
[0135] In some implementations, when the MCS level is in an MCS table, the MCS table includes indication information of the MCS level, such as the MCS index, and also includes the N bitrates.
[0136] By determining the above N bitrates through the MCS level, configuration overhead can be reduced.
[0137] The aforementioned preset rules can be pre-configured rules for determining the aforementioned N code rates. For example, given the code rate difference correlation parameter ΔR between information bit groups, when the number of groups is 2, the code rates corresponding to the 2 information bit groups are R-ΔR and R+ΔR, respectively; when the number of groups is 3, the code rates of the 3 information bit groups are R-ΔR, R, and R+ΔR, respectively; when the number of groups is 4, the code rates of the 4 information bit groups are R-2ΔR, R-ΔR, R+ΔR, and R+2ΔR, respectively; when the number of groups is 5, the code rates of the 5 information bit groups are R-2ΔR, R-ΔR, R, R+ΔR, and R+2ΔR, respectively, where R is the code rate of the information bit set, and ΔR is associated with at least one of the following: the MCS table used, the MCS level, and the Channel Quality Indicator (CQI).
[0138] The aforementioned signaling indications can be explicit or implicit, specifically indicated by relevant parameters in higher-level signaling or by relevant parameters in layer-1 signaling.
[0139] By using signaling indication, N code rates can be dynamically and flexibly indicated, making the encoding more flexible.
[0140] The N code rates of the aforementioned information bit set can be determined by adding a preset value to a portion of the N code rates based on the code rates of the information bit set, and subtracting a preset value from another portion of the N code rates based on the code rates of the information bit set, to obtain the aforementioned N code rates.
[0141] Determining the N code rates using the code rates of the aforementioned information bit set can save configuration overhead.
[0142] As an optional implementation, the number of information bits in the N information bit groups is associated with at least one of the following:
[0143] The resource unit number, transmission layer number, modulation order, value of N, code rate corresponding to information bit group, encoder input code block length, and CRC length; wherein, the CRC length includes the following item:
[0144] The length of the added TB CRC, the length of the added CRC for the information bit group, and the length of the added CRC for the encoder input code block.
[0145] The number of information bits in the above N information bit groups can be the same or different.
[0146] The length of the added TB CRC mentioned above refers to the length of the added TB CRC when the above information bit set is the information bit set with the added TB CRC.
[0147] The CRC length added to the information bit group mentioned above refers to the length of the CRC added to each of the N information bit groups after obtaining them.
[0148] The CRC length added to the encoder input code block mentioned above refers to the length of the CRC added to the code block after dividing the N information bit groups into code blocks.
[0149] In some implementations, the number of information bits in the aforementioned N information bit groups may be mapped to at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the information bit group, the encoder input code block length, and the CRC length. Based on this mapping relationship, the number of information bits in the N information bit groups can be directly determined.
[0150] In some implementations, the number of information bits for the above N information bit groups can be obtained by performing relevant calculations based on at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the information bit group, the encoder input code block length, and the CRC length.
[0151] For example, the number of information bits in the above N information bit groups can be calculated using the following formula:
[0152] or,
[0153]
[0154] Among them, subTBS n N represents the number of information bits in information bit group n (which can also be described as the TBsize of information bit group n). RE Where is the number of resource units, v is the number of transport layers, and Q is the number of transport layers. m R is the modulation order bit rate.n Let N be the code rate corresponding to the information bit group n. CRC Represents the numerical values associated with the CRC length; C1 and C2 are real numbers.
[0155] In some implementations, C1 is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the third information bit group, the encoder input code block length, and the CRC length added for the encoder input code block.
[0156] The C2 is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the fourth information bit group, the length of the encoder input code block, and the length of the CRC added to the encoder input code block.
[0157] In some implementations, C1 can be mapped to at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the third information bit group, the encoder input code block length, and the CRC length added to the encoder input code block. Based on this mapping relationship, the number of information bits in the N information bit groups can be directly determined.
[0158] In some implementations, C1 can be obtained by performing relevant calculations based on at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the third information bit group, the encoder input code block length, and the CRC length added to the encoder input code block.
[0159] For example: Where K0 represents a value associated with the encoder input code block length, such as the maximum code block length, or, K0 = K cb -N CB-CRC , where K cb N is the input code block length for the encoder. CB-CRC The CRC length added for the encoder input code block.
[0160] In some implementations, C2 may be mapped to at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the third information bit group, the encoder input code block length, and the CRC length added to the encoder input code block. Based on this mapping relationship, the number of information bits in the N information bit groups can be directly determined.
[0161] In some implementations, C2 can be obtained by performing relevant calculations based on at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the third information bit group, the encoder input code block length, and the CRC length added to the encoder input code block.
[0162] For example: Where K0 represents a value associated with the encoder input code block length, such as the maximum code block length, or, K0 = K cb -N CB-CRC , where K cb N is the input code block length for the encoder. CB-CRC The CRC length added for the encoder input code block.
[0163] The number of information bits in N information bit groups can be determined by at least one of the following: number of resource units, number of transmission layers, modulation order, value of N, code rate corresponding to information bit group, encoder input code block length, and CRC length. This eliminates the need for additional configuration of the number of information bits in N information bit groups, thereby reducing configuration overhead.
[0164] In some implementations, the number of information bits in the aforementioned N information bit groups can also be determined by looking up a table.
[0165] As an optional implementation, the N information bit groups include at least one of the following:
[0166] The third information bit group whose number of information bits is divisible by 8·C1, wherein C1 is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the third information bit group, the encoder input code block length, and the CRC length added for the encoder input code block.
[0167] The fourth information bit group is a sum of the number of information bits plus the length of the added TB CRC or the CRC length added for the information bit group, which is divisible by 8·C2, where C2 is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the fourth information bit group, the encoder input code block length, and the CRC length added for the encoder input code block.
[0168] The terms C1 and C2 are explained in the corresponding descriptions of the above embodiments, and will not be repeated here.
[0169] The third information bit group can be some or all of the above N information bit groups.
[0170] In this implementation, since the number of information bits in the third information bit group is divisible by 8·C1, and the size of a byte is 8 bits, the third information bit group can satisfy an integer number of bytes, thereby improving the utilization rate of bytes.
[0171] The fourth information bit group can be some or all of the above N information bit groups.
[0172] In this implementation, since the number of information bits in the fourth information bit group plus the CRC can satisfy an integer number of bytes, the utilization rate of bytes is improved.
[0173] As an optional implementation, the first device encodes the N information bit groups using N code rates respectively to obtain an encoded output code block of the N information bit groups, including:
[0174] The first device performs code block segmentation on the N information bit groups respectively to obtain code blocks of the N information bit groups;
[0175] The first device encodes the code blocks of the N information bit groups using N code rates respectively, to obtain the encoded output code blocks of the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups.
[0176] The first device described above can perform code block segmentation on the N information bit groups respectively, which can be done by segmenting each information bit group into code blocks, with each information bit group being divided into the same number of code blocks.
[0177] The first device described above can encode the code blocks of the N information bit groups using N code rates respectively. This can be done by using the same code rate for the code blocks of the same information group. For example, if the code rate corresponding to an information group is 0.82, then all code blocks of that information bit group are encoded using 0.82.
[0178] In this embodiment, by dividing the code into blocks and encoding the code blocks of the N information bit groups with N code rates respectively, encoding can be performed at the code block granularity, further improving the flexibility of encoding, so as to facilitate the subsequent use of more flexible interleaving and modulation, thereby improving the transmission performance of the device.
[0179] It should be noted that in some implementations, code block segmentation may not be performed, that is, encoding may be performed at the granularity of information bit groups.
[0180] In some implementations, each information bit group comprises C code blocks, where C is an integer greater than or equal to 1. The value of C is the number of code blocks determined by code block segmentation of the first information bit group, or the value of C is associated with at least one of the following:
[0181] The number of information bits in the first information bit group, the encoder input code block length, and the CRC length; wherein, the CRC length includes the following item:
[0182] The length of the added TB CRC, the length of the added CRC for the information bit group, and the length of the added CRC for the encoder input code block.
[0183] Wherein, the first information bit group is a specific (or reference) information bit group among the N information bit groups. For example, the first information bit group is the information bit group with the largest code rate among the N information bit groups, or the first information bit group is a predefined reference information bit group among the N information bit groups.
[0184] Since each information bit group includes C code blocks, the number of code blocks in each information bit group can be the same, thus reducing the complexity of subsequent interleaving and modulation processes.
[0185] The value of C mentioned above refers to the number of code blocks determined by dividing the first information bit group into code blocks. This can be understood as the number of code blocks obtained by dividing the first information bit group into code blocks.
[0186] Since the value of C is determined by the number of code blocks after dividing the first information bit group into code blocks, this ensures that the number of code blocks after dividing each information bit group is the same as the number of code blocks in the first information bit group. Thus, when the first information bit group is the information bit group with the highest code rate, the complexity of the subsequent interleaving and modulation processes can be reduced, and the transmission performance of the first information bit group can be better guaranteed.
[0187] The value of C mentioned above is related to at least one of the following: the number of information bits in the first information bit group, the length of the encoder input code block, and the CRC length. This can be understood as determining the value of C based on at least one of the following: the number of information bits in the first information bit group, the length of the encoder input code block, and the CRC length.
[0188] In some implementations, the value of C can be determined based on the mapping relationship between at least one of the number of information bits in the first information bit group, the encoder input code block length, and the CRC length and the value of C. Alternatively, the value of C can be obtained by performing correlation operations based on at least one of the number of information bits in the first information bit group, the encoder input code block length, and the CRC length.
[0189] For example, C can be calculated by determining whether to segment based on whether the number of bits in the information bit group is greater than the encoder input code block length, and then by dividing the number of bits in the information bit group + CRC length by the encoder input code block length to determine the value of C, that is, the number of code block segments.
[0190] Alternatively, the value of C can be determined using the following formula:
[0191]
[0192] Where, N CRC This indicates the CRC length added for TB or for the information bit group, where subTBS0 is the number of information bits, and K... cb N is the length of the input code block for the encoder. CRC N is the length of the added TB CRC. CB-Crc This indicates the length of the CRC above.
[0193] In the above embodiments, since the value of C is associated with at least one of the number of information bits in the first information bit group, the length of the encoder input code block, and the CRC length, the number of segmented code blocks can be matched with at least one of these items, thereby making the encoding more reliable.
[0194] In some embodiments, the first device encodes the code blocks of the N information bit groups using N code rates respectively, to obtain the encoded output code blocks of the N information bit groups, including:
[0195] The first device adds CRC to the code blocks of the N information bit groups respectively, and encodes the code blocks of the N information bit groups after adding CRC using N code rates respectively, to obtain the encoded output code blocks of the N information bit groups.
[0196] In this implementation, CRC can be added to the segmented code blocks to support code block-level verification, thereby improving the reliability of transmitted data.
[0197] As an optional implementation, the first parameter for encoding the N information bit groups is the same, and the first parameter includes at least one of the following:
[0198] The encoding base graph (BG), boost factor, parity check matrix, generator matrix, encoder input block length, encoder output block length, and master code rate;
[0199] or,
[0200] The second parameter for encoding the second information bit group is determined based on the third parameter of the second information bit group. The second parameter includes at least one of BG and boost factor. The third parameter includes at least one of the following: code rate, number of information bits, and code block length corresponding to the second information bit group. The second information bit group is any one of the N information bit groups.
[0201] In the above embodiments, since the first parameter is the same, these parameters can be reused when encoding each information bit group, so that the same encoder can be reused when encoding N information bit groups, which can simplify the encoding process and save resources.
[0202] In some implementations, when the first parameter for encoding the N information bit groups is the same, at least one of the BG and the boosting factor is determined based on the first information bit group.
[0203] The first information bit group mentioned above is described in the corresponding description of the above implementation method, and is not limited here.
[0204] The aforementioned BG can be based on the number of information bits in the first information bit group and the aforementioned boosting factor Z. c The boost factor Z can be determined based on the parameters associated with the code block length after the first information bit group is segmented, such as the boost factor Z being determined based on the parameter K0′ associated with the code block length after the first information bit group is segmented. c .
[0205] Among them, the associated parameters
[0206] B′0 represents the sum of the lengths of all code blocks after the information bit set corresponding to the first information bit group is divided into code blocks and CB CRC is added, where C is the number of code blocks.
[0207] This ensures that at least one of the BG and boosting factors used in the N information bit groups is determined based on the first information bit group, thus prioritizing the reliability performance of the first information bit group.
[0208] The above-mentioned second information bit group can be understood as any information bit group among the N information bit groups, meaning that the second parameter of any information bit group among the N information bit groups can be determined based on the third parameter of that information bit group.
[0209] In some implementations, the second parameter may be determined based on the mapping relationship between the second parameter and the third parameter, or the second parameter may be obtained by performing relevant calculations based on the third parameter. There is no specific limitation on this.
[0210] Since the second parameter for encoding the second information bit group is determined based on the third parameter of the second information bit group, the second parameter of each information bit group is determined according to its own third parameter, thus ensuring that the second parameter of each information bit group is matched to itself, which helps to ensure the transmission reliability of each information bit group.
[0211] As an optional implementation, the method further includes:
[0212] The first device performs a target operation based on the encoded output code block of the N information bit groups to acquire modulation data. The target operation includes modulation and further includes at least one of the following: rate matching and interleaving.
[0213] The first device sends the modulated data.
[0214] The modulation mentioned above can be QAM modulation or other modulation, such as phase shift keying (PSK).
[0215] In some implementations, the target operation described above may be to first perform rate matching, interleaving, and then modulation.
[0216] In some implementations, each information bit group comprises C code blocks, where C is an integer greater than or equal to 1, and the rate matching includes:
[0217] The first device performs rate matching on the encoded output code blocks of the N information bit groups respectively, to obtain C rate-matched output code blocks for each information bit group.
[0218] The rate-matched output code block mentioned above can also be referred to as the rate-matched output code block.
[0219] The above-mentioned N information bit groups are encoded output code blocks obtained by encoding the C code blocks of each information bit group, such as the C encoded output code blocks of each information bit group.
[0220] In some implementations, the above rate matching satisfies one of the following:
[0221] The first bit sequence of the N information bit groups has the same length;
[0222] The output code block length of the same sequence number in different information bit groups of the N information bit groups is the same for rate matching of the code block of the same sequence number.
[0223] The length of the first bit sequence of the N information bit groups is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, and the value of N;
[0224] Wherein, the length of the first bit sequence is equal to the sum of the C rate-matched output code blocks.
[0225] The fact that the first bit sequence of the above N information bit groups has the same length can be understood as the sum of the C rate-matched output code blocks of different information bit groups being the same.
[0226] Since the rate of the N information bit groups matches the length of the output bit sequence, the complexity can be reduced in the subsequent interleaving and modulation processes.
[0227] The fact that the output code block length of the same sequence number of code blocks in different information bit groups of the above N information bit groups is the same can be understood as the output code block length of the same sequence number of code blocks in different information bit groups being the same. For example, for code block 0 and code block 1, the output code block length of the rate matching of code block 0 in different information bit groups is the same, and the output code block length of the rate matching of code block 1 in different information bit groups is the same.
[0228] Since the output code block length of the same sequence number in different information bit groups of N information bit groups is the same, the complexity can be reduced when processing the rate-matched code block of the same sequence number in different information bit groups.
[0229] The association between the above-mentioned rate-matched output bit sequence length and at least one of the following: the number of resource units, the number of transmission layers, the modulation order, and the value of N. can be understood as the above-mentioned rate-matched output bit sequence length being determined based on at least one of the following: the number of resource units, the number of transmission layers, the modulation order, and the value of N.
[0230] In some implementations, the rate-matched output bit sequence length can be determined based on the mapping relationship between at least one of the following: the number of resource units, the number of transmission layers, the modulation order, and the value of N, and the rate-matched output bit sequence length.
[0231] In some implementations, the length of the rate-matched output bit sequence can be determined by performing correlation operations based on at least one of the following: the number of resource units, the number of transmission layers, the modulation order, and the value of N.
[0232] For example, the length of the rate-matched output bit sequence for information bit group n can be determined using the following formula:
[0233]
[0234] Among them, G n To rate-match the information bit group n with the output bit sequence length N, RE Where is the number of resource units, v is the number of transport layers, and Q is the number of transport layers. m The modulation order digital rate.
[0235] Since the length of the rate-matched output bit sequence is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, and the value of N, the length of the rate-matched output bit sequence of each information bit group can be better matched with the transmission resources and modulation, thereby improving the transmission reliability of the information bit group.
[0236] In some implementations, the interlacing includes:
[0237] The first device performs interleaving on the interleaved data, which includes:
[0238] The rate-matched output code block of the N information bit groups; or
[0239] The code block set is obtained by concatenating the rate-matched output code blocks of the N information bit groups. Each code block set is obtained by concatenating the N rate-matched output code blocks, and the N rate-matched output code blocks correspond to the N information bit groups respectively.
[0240] The aforementioned rate-matched output code block of N information bit groups can refer to N*C rate-matched output code blocks of N information bit groups.
[0241] The aforementioned interleaved data, including the rate-matched output code block of the N information bit groups, can be understood as interleaving directly after rate matching, which can improve transmission efficiency.
[0242] The aforementioned interleaved data includes a set of code blocks obtained by concatenating the rate-matched output code blocks of the N information bit groups. This can be understood as a set of code blocks obtained by concatenating the rate-matched output code blocks of the N information bit groups after rate matching, and then interleaving the code block set.
[0243] Each of the above code block sets is obtained by concatenating N rate-matched output code blocks. This can be understood as each code block set containing rate-matched output code blocks from N information bit groups. For example, if each information bit group includes C rate-matched output code blocks, concatenating the rate-matched output code blocks with the same sequence number from the N information bit groups yields C code block sets.
[0244] In the above embodiments, since the interleaved data includes the above-mentioned code block set, and the code block set is obtained by concatenating N rate-matched output code blocks, interleaving for a code block set each time can achieve joint interleaving based on N information bit groups, that is, joint interleaving of N information bit groups, thereby improving the reliability of the final transmission of information bits.
[0245] In some implementations, when the interleaved data includes rate-matched output code blocks of the N information bit groups, the first device interleaves the interleaved data by: the first device interleaving the rate-matched output code blocks of the N information bit groups in a first order, wherein the rate-matched output code blocks of the N information bit groups are fed into the interleaver in descending order of code rate.
[0246] In this implementation, since the rate-matched output code blocks of N information bit groups are fed into the interleaver in descending order of code rate, the rate-matched output code blocks of information bit groups with high code rates are fed into the interleaver first, and the rate-matched output code blocks of information bit groups with low code rates are fed into the interleaver first. However, the reliability performance of different bits differs during the modulation process. For example, taking 256QAM modulation as an example, the simulation results of the bit error rate for different bits corresponding to the modulation symbols are as follows: Figure 3 As shown, Figure 3 In the diagram, 301, 302, 303, and 304 represent the reliability corresponding to different bit positions. It can be seen that there are significant differences in the Block Error Rate (BLER) performance for different bit positions. Thus, because the rate-matched output code block of the high-rate information bit group is sent to the interleaver first, and the rate-matched output code block of the low-rate information bit group is sent to the interleaver first, during modulation, the information bits of the high-rate information bit group can be mapped to higher-reliability bits, and the information bits of the low-rate information bit group can be mapped to lower-reliability bits. This prioritizes improving the transmission reliability of the high-rate information bit group, ultimately resulting in higher overall transmission reliability for the information bit set.
[0247] Taking a scenario with 2 information bit groups, 256QAM modulation, and an overall data transmission code rate (i.e., the code rate of the information bit set) of 0.7 as an example, the performance of the above implementation method in terms of block error rate (BLER) under fading channels is compared as follows: Figure 4 As shown, when the code rate for information bit group 0 is 0.8 and the code rate for information bit group 1 is 0.6, the corresponding performance curve is 401; when the code rate for information bit group 0 is 0.82 and the code rate for information bit group 1 is 0.58, the corresponding performance curve is 402; when the code rate for information bit group 0 is 0.84 and the code rate for information bit group 1 is 0.56, the corresponding performance curve is 403; and the performance curve for encoding the information bit set without block coding (i.e., using a code rate of 0.7) is 404. Figure 4 It can be seen that the overall reliability of the above implementation method can be improved compared with the scheme without group coding.
[0248] In some implementations, when the interleaved data includes rate-matched output code blocks of the N information bit groups, the encoding process may involve first encoding the c-th code block of the N information bit groups in descending order of code rate, and then encoding the (c+1)-th code block of the N information bit groups in descending order of code rate. Assuming there are 2 information bit groups, and the code rate of information bit group 0 is higher than that of information bit group 1, the encoding is performed in the following order: information bit group 0 code block 0 → information bit group 1 code block 0 → information bit group 0 code block 1 → information bit group 1 code block 1 → information bit group 0 code block 2 → information bit group 1 code block 2…
[0249] In some implementations, the data can be rate-matched and then fed into the interleaver in descending order of code rate. For example, if the code rate of information bit group 0 is higher than that of information bit group 1, the data of code block 0 of information bit group 0 and code block 0 of information bit group 1 are fed into the interleaver in sequence for interleaving, and then the data of code block 1 of information bit group 0 and code block 1 of information bit group 1 are fed into the interleaver in sequence for interleaving.
[0250] In some implementations, where the interleaved data includes the code block set,
[0251] In any set of code blocks, the output code block of the information bit group with the higher code rate that is rate-matched is sent to the interleaver first, and the output code block of the information bit group with the lower code rate that is rate-matched is sent to the interleaver later.
[0252] In this implementation, when interleaving any set of code blocks, the output code blocks of the information bit groups with higher code rates that are rate-matched are sent to the interleaver first, and the output code blocks of the information bit groups with lower code rates that are rate-matched are sent to the interleaver later. This allows the information bits of the information bit groups with higher code rates to be mapped to higher reliability bits during modulation, and the information bits of the information bit groups with lower code rates to be mapped to lower reliability bits. This prioritizes improving the transmission reliability of the information bit groups with higher code rates, ultimately resulting in higher overall transmission reliability of the information bit sets.
[0253] In some implementations, when the interleaved data includes rate-matched output code blocks of the N information bit groups, the first device interleaves the interleaved data, including:
[0254] First, the system bits in the rate-matched output code block of the N information bit groups are sent to the interleaver in descending order of code rate. Then, the parity bits in the rate-matched output code block of the N information bit groups are sent to the interleaver in descending order of code rate.
[0255] In this implementation, the system bits with higher code rates are sent to the interleaver first, followed by the bits with lower code rates. Similarly, for parity bits, the bits with higher code rates are sent to the interleaver first, followed by the bits with lower code rates. This ensures that during modulation, the system bits of N information bit groups can be mapped to bits with higher reliability. Furthermore, the system bits of information bit groups with higher code rates are more easily mapped to bits with higher reliability, thereby improving the overall transmission reliability of the information bit set.
[0256] For example, when the code block number is equal to r (0 ≤ r ≤ C-1), the data of the N code blocks (corresponding to N information bit groups) undergoing joint interleaving can be represented as follows: in The system bit sequence corresponding to the information bit group 0 code block r is, where This is the parity bit sequence corresponding to the information bit group 0 code block r;
[0257] Assume the code rates of information bit groups 0 to N-1 satisfy R0>R1>…>R n-1 Bit reordering is performed before interleaving to obtain During each interleaving, data is fed into the interleaver in a left-to-right order. Specifically, the system bits of information bit groups 0 through N-1 are fed into the interleaver first, followed by the parity bits of information bit groups 0 through N-1. Then, the data is interleaved using a process with a depth (number of rows) of Qm and a number of columns of J. r / Q m The interleaver performs bit sequence interleaving Intertwining, in which Let r be the length of the code block of information bit group n. The specific process can be as follows: Figure 5 As shown.
[0258] In some implementations, when the interleaved data includes the code block set, the first device interleaves the interleaved data, including:
[0259] In any set of code blocks, the system bits in the output code blocks of each information bit group in the code block set are first sent to the interleaver in descending order of code rate, and then the parity bits in the output code blocks of each information bit group in the code block set are sent to the interleaver in descending order of code rate.
[0260] In this implementation, the system bits with higher code rates are sent to the interleaver first, followed by the bits with lower code rates. Similarly, for parity bits, the bits with higher code rates are sent to the interleaver first, followed by the bits with lower code rates. The specific process can be as follows: Figure 6As shown, this allows the system bits of N information bit groups to be mapped to higher reliability bits during modulation, and the system bits of information bit groups with higher code rates are more easily mapped to higher reliability bits, thereby improving the overall transmission reliability of the information bit set.
[0261] In some implementations, the first device uses a row-column interleaver to interleave the interleaved data, where the interleaver depth or the number of interleaver rows is equal to the modulation order, and the number of columns of the row-column interleaver is equal to the sum of the output code block lengths of the rate-matched N information bit groups.
[0262] In this embodiment, the interleaved data can be rate-matched output code blocks of N information bit groups or a set of code blocks obtained by concatenating the rate-matched output code blocks of the N information bit groups.
[0263] In this embodiment, since the interleaver depth or the number of interleaver rows is equal to the modulation order, and the number of columns of the row-column interleaver is equal to the sum of the output code block lengths of the rate-matched N information bit groups, the interleaving efficiency can be improved and the interleaving complexity can be reduced.
[0264] It should be noted that the embodiments of this application are not limited to using row and column interleavers for interleaving. For example, they can also be triangular interleavers, diagonal interleavers, spiral interleavers, odd-even interleavers, or random interleavers.
[0265] In this embodiment, the first device groups the information bit set into N information bit groups, where N is an integer greater than 1. The first device encodes each of the N information bit groups using N code rates to obtain encoded output code blocks for the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups. By using N code rates to encode the N information bit groups separately, compared to using a single code rate to uniformly encode the information bit set, this embodiment improves the flexibility of information bit encoding and enhances the transmission performance of the device.
[0266] The encoding methods provided in the embodiments of this application are illustrated below through several examples:
[0267] Example 1:
[0268] This embodiment illustrates the specific processes of block coding, rate matching, and interleaving, as follows: Figure 7 As shown, it includes:
[0269] Step 1: Divide the set of information bits to be transmitted (e.g., TB) into N information bit groups.
[0270] The set of information bits to be transmitted refers to the TB after adding TB CRC, which is divided into N information bit groups;
[0271] Alternatively, the TB without TB CRC can be grouped first, and then CRC can be added to the information bit set of each group.
[0272] The number of groups is fixed, and can be N=2; or, the number of groups is proportional to the modulation order Q. m Correlation, for example, for 16QAM(Q m =4), the number of groups is 2; for 64QAM(Q m =6), the number of groups is 2 or 3; for 256QAM(Q m =8), the number of groups is 2 or 4; for 1024QAM(Q m =10), the number of groups is 2 or 5.
[0273] The number of information bits corresponding to different information bit groups is determined based on at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the number of blocks, and the block code rate.
[0274] The code rate R of each information bit group n (n=0,1,2,…,N-1) are the same or different, and the code rate R of each information bit group is determined. n For n = 0, 1, 2, ..., N-1, the code rate of each information bit group satisfies (or ), where R is the overall data transmission rate, i.e., the rate of the information bit set.
[0275] Step 2: Divide the information bits corresponding to the N information bit groups into code blocks.
[0276] In this case, the number of code blocks obtained after code block segmentation is the same for different information bit groups, that is, C code blocks are obtained after code block segmentation of the information bits corresponding to each information bit group; specifically, code block segmentation can be performed according to the information bits corresponding to the information bit group with the highest code rate and the number of code blocks C is determined, and the information bits corresponding to other information bit groups are segmented according to the number of code blocks C.
[0277] Step 3: Encode the information bit sets of different information bit groups according to their respective code rates, such as LDPC encoding.
[0278] Optionally, CB CRC is added to the code blocks corresponding to different information bit groups, and they are encoded according to their respective code rates, so that each information bit group corresponds to C encoded output code blocks.
[0279] Optionally, LDPC encoding is performed on N information bit groups to satisfy at least one of the following:
[0280] When LDPC encoding the information bit sets corresponding to different information bit groups, the same LDPC BG and boost factor Z are used.
[0281] The same parity check matrix H is used when LDPC encoding the information bit sets corresponding to different information bit groups;
[0282] Different information bit groups correspond to the same encoded input code block length;
[0283] Different information bit groups correspond to the same encoded output code block length;
[0284] The mother code rate is the same for different information bit groups.
[0285] Step 4: Rate matching of the encoded output code blocks corresponding to different information bit groups.
[0286] Optionally, the total length of the rate-matched output bit sequence corresponding to different information bit groups (i.e., the sum of the lengths of the C rate-matched output code blocks) is equal;
[0287] Optionally, the total length of the rate-matched output bit sequence corresponding to different information bit groups is determined based on at least one of the following: the number of resource units, the number of transmission layers, the modulation order, and the number of groups.
[0288] Step 5: Concatenate the rate-matched code blocks corresponding to different information bit groups to obtain C code block sets. Each code block set contains N code blocks corresponding to different code rate groups.
[0289] Information bit groups are concatenated with code blocks corresponding to different information bit groups in descending order of code rate. That is, the code blocks output by rate matching corresponding to information bit groups with high code rate are placed first, and the code blocks output by rate matching corresponding to information bit groups with low code rate are placed later, so that the code blocks output by rate matching corresponding to information bit groups with high code rate are sent to the interleaver first.
[0290] Step 6: Perform bit interleaving on each concatenated code block set.
[0291] Interleaving is performed on a per-block basis, using a row-column interleaver, where the interleaver depth (number of rows) equals the modulation order Q. m .
[0292] Step 7: Concatenate the interleaved data, that is, concatenate the code block sets to obtain the modulation input bits.
[0293] Step 8: Perform QAM modulation on the modulated input bit sequence to obtain modulated data and send it.
[0294] Modulated with 256QAM, modulation order Q m Taking 8 as an example, each modulation symbol contains 8 bits. The reliability of these 8 bits can be divided into 4 levels, with every two bits having the same reliability. Based on the modulation order, the information bits to be transmitted are divided into 4 information bit groups. During QAM modulation, the bit set corresponding to each information bit group is mapped to 2 bits of the same reliability. Assuming each information bit group uses the same code rate, the error rate of the code blocks corresponding to each information bit group is statistically analyzed, and the results are as follows... Figure 8 As shown, 801, 802, 803 and 804 represent the performance curves corresponding to the four information bit groups. It can be seen that the bit sets corresponding to different information bit groups are mapped to bits with different reliability during modulation, so their bit error rate performance varies greatly.
[0295] To simplify the encoding and decoding process, the information bits to be transmitted can be divided into two information bit groups. The bit set corresponding to one information bit group is mapped to the four bits with lower reliability during adjustment, while the bit set corresponding to the other code rate group is placed into the four bits with higher reliability during QAM modulation.
[0296] When the fixed number of blocks is 2, assuming that each information bit group uses the same code rate, the error rate of the code block corresponding to each information bit group is statistically analyzed, and the result is as follows: Figure 9 As shown, 901 and 902 represent the performance curves corresponding to the two information bit groups, respectively. It can be seen that the bit sets corresponding to different information bit groups are mapped to bits with different reliability during modulation. Although there is no one-to-one mapping between each group and bits with different reliability as in the case of 4 groups, their bit error rate performance still has a large difference.
[0297] Therefore, in practical processing, different modulation orders are grouped in a unified way, that is, divided into 2 groups and mapped to Q with higher overall reliability respectively. m / 2 bits and Q with low overall reliability m Using 2 bits can improve data transmission performance by allocating an appropriate code rate to the two information bit groups, and greatly simplifies the encoding and decoding process. The corresponding block coding, rate matching, and interleaving methods are as follows: Figure 10 As shown.
[0298] In some implementations, taking a scenario with 2 packets, 256QAM modulation, and an overall data transmission code rate (i.e., the code rate of the information bit set) of 0.7 as an example, the BLER performance of this embodiment and a scheme without packet processing in a fading channel is compared as described above. Figure 4As shown, it can be seen that BLER performance varies for different block code rate allocation schemes (including block 0 code rate of 0.8 and block 1 code rate of 0.6; block 0 code rate of 0.82 and block 1 code rate of 0.58; block 0 code rate of 0.84 and block 1 code rate of 0.56), and performance can be improved compared to schemes that do not perform block processing (such as NR baseline coding scheme).
[0299] Example 2:
[0300] This embodiment mainly describes the calculation of the code rate corresponding to the information bit group, as follows:
[0301] Determine the number of coded output bit groups N, which is the number of information bit groups. For each coded output bit, the number of coded output bits in each information bit group (i.e., the total number of bits in each code block after rate matching for different information bit groups). The same can be based on the number of resource units N. RE Number of transmission layers v, modulation order Q m And the number of groups N is determined
[0302] The number of information bit groups can be fixed at 2 regardless of the modulation order, i.e., divided into high code rate information bit groups and low code rate information bit groups.
[0303] The number of information bit groups can vary depending on the modulation order. For example, for 16QAM, the number of information bit groups is 2; for 64QAM, the number of information bit groups is 2 or 3; for 256QAM, the number of information bit groups is 2 or 4; and for 1024QAM, the number of information bit groups is 2 or 5.
[0304] Determine the code rate R corresponding to each information bit group n For n = 0, 1, 2, ..., N-1, the code rate corresponding to each information bit group satisfies (or ), where R is the overall data transmission rate, i.e., the rate of the aforementioned set of information bits.
[0305] The bitrates corresponding to different information bit groups can be pre-defined by the protocol, for example, reflected in the MCS table. The bitrates of different groups can be determined by looking up the table. For example, the device can determine the number of groups and the bitrates of different groups based on the adopted MCS table and MCS level. If the number of groups is fixed at 2, the bitrates of different groups are determined by the MCS table and MCS level.
[0306] The code rate corresponding to different information bit groups can be calculated according to agreed rules. For example, given the inter-group code rate difference correlation parameter ΔR, when the number of groups is 2, the code rate corresponding to 2 information bit groups is R-ΔR, R+ΔR; when the number of information bit groups is 3, the code rate corresponding to 3 information bit groups is R-ΔR, R, R+ΔR; when the number of information bit groups is 4, the code rate corresponding to 4 information bit groups is R-2ΔR, R-ΔR, R+ΔR, R+2ΔR; when the number of information bit groups is 5, the code rate corresponding to 5 information bit groups is R-2ΔR, R-ΔR, R, R+ΔR, R+2ΔR, where ΔR is associated with at least one of the following: the MCS table used, the MCS level, and the CQI.
[0307] It can also be indicated by signaling, such as by relevant parameters in higher-level signaling or by relevant parameters in layer-1 signaling.
[0308] For determining the packet bit rate by looking up the MCS table, for example, if the number of packets is fixed at 2, the device can determine the bit rate corresponding to different information bit groups according to the MCS table and MCS level used. The MCS table design can be as shown in Table 1 above.
[0309] More generally, when determining the block code rate by looking up the MCS table, if the number of blocks is related to the modulation order, the device can determine the number of information bit groups or the code rate corresponding to different information bit groups based on the MCS table and MCS level used. The MCS table design can be as shown in Table 2 above.
[0310] Example 3:
[0311] This embodiment mainly describes the calculation of the number of information bits in an information bit group (which can be represented as TBsize or subTBsize), that is, the determination of the number of information bits in a group.
[0312] Specifically, this embodiment provides a method for calculating the TBsize of different information bit groups and the overall TBsize (i.e., the number of bits in the aforementioned information bit set), that is, determining the number of information bits in the information bit group and the total number of information bits transmitted, specifically including:
[0313] Determine the intermediate results of the information bits corresponding to each group. n = 0, 1, 2, ..., N-1, where It is based on the number of resource units N RE Number of transmission layers v, modulation order Q m The bitrate R of the packets n The number of groups N (the number of encoded output bits corresponding to each group) is calculated, specifically...
[0314] It is important to note that here... It can be an intermediate calculation result, or it can be determined by the number of information bits in each information bit group actually transmitted, based on the number of information bits in the final calculated information bit group.
[0315] The number of code blocks C corresponding to each information bit group is determined. The number of code blocks corresponding to each group is the same, where the number of code blocks C is based on the maximum number of information bits. The number of code blocks after code block segmentation, determined by the number of information bits corresponding to the highest code rate information bit group.
[0316] Determine the TBsize (or subTBS) corresponding to each information bit group. n (The actual number of information bits transmitted corresponding to each information bit group), wherein the TBsize calculation of at least one information bit group needs to consider the TB CRC length, which is related to the specific CRC addition method. That is, if only one CRC is added, the TBsize calculation of one information bit group considers the TBCRC length; if a CRC is added to each information bit group, the TBsize calculation of each information bit group considers the TB CRC length. The TBsize characteristics of different information bit groups include at least one of the following:
[0317] TBsize satisfies that it is divisible by 8·C1, which can be based on Among them, subTBS n This represents the TBsize corresponding to the information bit group n. K0 represents a value associated with the encoder input code block length. Alternatively, the TBsize value can be determined directly by looking up a table, as shown below:
[0318] right Quantize the value, if Then through Quantification is performed and TBSize is calculated by referring to Table 6, where Where N0, N1, N2, and N3 are positive integers.
[0319] Table 6:
[0320]
[0321] The sum of the TBsize and CRC length of the information bit group is divisible by 8·C2, which can be based on... Calculate, where N CRC This represents a numerical value associated with the CRC length. K0 represents a value associated with the length of the encoder input code block. Alternatively, the TBsize value can be determined by directly looking up a table. For details, please refer to the table lookup method described above. However, the values in the table can be different or the same, and there are no restrictions on this.
[0322] It is important to note that in the calculation of grouped TBsize It could also be It is based on Calculated, for example or K1, K2, A, and B are positive integers.
[0323] Determine the overall TBsize (i.e., the number of information bits in the information bit set): In this way, the final calculated total TBsize can be divided by 8·C after adding CRC (where 8 indicates that TBsize satisfies an integer number of bytes, 1 byte = 8 bits).
[0324] Example 4:
[0325] This embodiment mainly describes the code block segmentation of information bit groups, as follows:
[0326] The information bit groups are grouped according to the TBsize of each information bit group, and code block segmentation is performed separately for the information bits of different information bit groups. The number of code blocks corresponding to each information bit group is C. Specifically, the number of code blocks C is determined by segmenting the information bits corresponding to the highest code rate information bit group. The information bits corresponding to other groups are segmented into code blocks according to the same number of code blocks C. The TBsize calculation rule given in Example 2 can be followed, and the number of information bits corresponding to each C is divisible by the number of code blocks C.
[0327] Specifically, in this embodiment, information bit group 0 has the highest code rate among the N information bit groups, i.e., R0>R1>…>R N-1 Correspondingly, that is, subTBS0>subTBS1>…>subTBS N-1 Then, code block segmentation is performed based on the information bits corresponding to information bit group 0. It is understood that in this embodiment, the code rates corresponding to information bit groups 0 to N-1 are from high to low, but this embodiment does not limit this. Alternatively, the code rates corresponding to information bit groups 0 to N-1 can be from low to high. Accordingly, code block segmentation is performed based on the information bits corresponding to information bit group N-1.
[0328] Assuming that a CRC addition is performed once for the entire TB (i.e. the set of information bits in the above embodiment), that is, each information bit group is added to the TB CRC only once, then for information bit group 0, its TBsize (or subTBS1) takes into account the TB CRC length during the calculation process. For details, please refer to Embodiment 2.
[0329] After adding TB CRC, the number of information bits corresponding to each information bit group is B0, B1, ..., B N-1 Then the number of information bits corresponding to information bit group 0 is B0 = subTBS0 + N TB-CRC N TB-CRC This represents the TB CRC length, and the number of information bits corresponding to other information bit groups is B. n =subTBS n , n=1,2,…,N-1.
[0330] Determine the maximum code block length K corresponding to the information bit group 0. cb Then, based on the number of information bits corresponding to information bit group 0 (B0), the number of code block segments (C) is determined. Specifically, it can be:
[0331] If B0≤K cb If so, no code block segmentation is needed, and C = 1;
[0332] If B0>K cb , N cB-cRC Indicates the CB CRC length.
[0333] The information bit group 0 to information bit group N-1 are divided into code blocks according to the number of code blocks C. Each information bit group corresponds to C information code blocks, which are the encoded input code blocks.
[0334] Taking a data block size of 2 as an example, the process of TB grouping and code block segmentation can be found by referring to... Figure 11 .
[0335] Example 5:
[0336] In this embodiment, block LDPC encoding is used as an example for explanation.
[0337] After code block segmentation, CB CRC is added to each encoded input code block of the information bit group. Then, for each information bit group, LDPC encoding is performed block by block. Different information bit groups correspond to different code rates, including encoding method 1: based on the code rates R0, R1, ..., R of each information bit group. N-1 The number of information bits corresponding to each group, B0, B1, ..., B N-1Alternatively, the length of the code block after segmentation (including the CRC length) corresponding to each information bit group determines the BG and boost factor of the LDPC encoding for different groups.
[0338] Another encoding method is 2: different information bit groups use the same LDPC encoding BG and boost factor Z. This means that the information bits corresponding to different information bit groups use the same parity-check matrix H when LDPC encoding, resulting in the same input code block length, the same output code block (or codeword or mother codeword) length, and the same mother code rate for different groups. In this case, the LDPC encoding BG and boost factor are determined based on the information bits corresponding to the highest code rate information bit group, including:
[0339] BG is determined based on the number of information bits corresponding to the highest bit rate information bit group (i.e., bit sequence length, or TBsize of the highest bit rate information bit group) or the bit rate;
[0340] The boost factor Z is determined based on the block length (i.e., information block length) after segmentation of the highest bit rate information bit group, associated with the parameter K0′. c This makes the encoder input bit sequence length (i.e., the encoded input code block length) K = K b ·Z c ≥K′, where the code block length associated parameter after code block segmentation B′0 represents the sum of the lengths of all code blocks after the information bits corresponding to information bit group 0 are divided into code blocks and CB CRC is added, that is, B′0 = B0 + C·N CB-CRC .
[0341] At this point, the sequence length of each information bit group input to the encoder during LDPC encoding is fixed. Different information bit groups adapt to the corresponding encoding input bit number requirements by controlling the number of padding bits. For example, based on the highest bit rate information bit group 0, BG1 is selected, and the corresponding encoder input bit sequence length for each LDPC encoding is K = 22Z. c Z c If the corresponding boost factor is used, then other information bit groups also use BG1, and the encoder input bit sequence length is also K = 22Z each time LDPC encoding is performed. c Since different information bit groups correspond to different TBsizes, the code block length correlation parameter K′ after code block segmentation also varies. Therefore, bit padding is performed on each code block of different information bit groups to ensure that the encoder input bit sequence length for each code block of different information bit groups during LDPC encoding is always 22Z. c .like Figure 12As shown, taking an information bit group of 2 as an example, bit stuffing is performed on information bit group 0 and information bit group 1 to obtain the encoder input bit sequence. Since the code block length corresponding to information bit group 0 after code block segmentation is greater than the code block length corresponding to information bit group 1 after code block segmentation, each code block in information bit group 1 requires more stuffing bits to meet a specific length (e.g., K = 22Z) compared to information bit group 0. c The encoder input bit sequence required.
[0342] Compared to the method of determining the BG and boost factor for each bit corresponding to each information bit group, the method of using the same BG and boost factor for each information bit group during encoding only requires adjusting the padding bits of the code blocks corresponding to different information bit groups to meet the code rate requirements. In other words, the bit sets corresponding to different groups can reuse the same encoder when performing LDPC encoding, which can further simplify the encoding process and save resources.
[0343] Optionally, the encoding method can be determined based on the code rate of the information bit groups. For example, when the difference in code rate between different information bit groups relative to a specific information bit group (e.g., the group with the highest code rate) or the difference in TBsize between information bit groups does not exceed a preset threshold, encoding method 2 is used for the different information bit groups; when the difference in code rate between different information bit groups relative to a specific information bit group (e.g., the group with the highest code rate) or the difference in TBsize between information bit groups is not lower than (or exceeds) a preset threshold, encoding method 1 is used for the different information bit groups. For example, when R0>R1>…>R N-1 When |R0-R n If |≤ξ, information bit group n and information bit group 0 adopt encoding method 2; if |R0-R n |≥ξ, information bit group n and information bit group 0 adopt encoding method 1.
[0344] Taking a scenario with 2 information bit groups, 256QAM modulation, and an overall data transmission code rate of 0.7 as an example, and using the scheme provided in this embodiment with a unified BG and boosting factor for each information bit group (i.e., coding method 2), the BLER performance under fading channels is compared between the scheme without information bit group processing and the scheme using the unified BG and boosting factor for each information bit group. Figure 13 As shown, Figure 13 In the code, 1301, 1302, and 1303 represent different information bit group code rate allocation schemes (including information bit group 0 code rate of 0.8, information bit group 1 code rate of 0.6; information bit group 0 code rate of 0.82, information bit group 1 code rate of 0.58; information bit group 0 code rate of 0.84, information bit group 1 code rate of 0.56), respectively). These schemes exhibit varying BLER performance and, compared to schemes without block processing (NR baseline coding scheme),... Figure 13The 1304 in the middle can achieve performance improvement.
[0345] The encoding method used in this application embodiment can also be polar code encoding. The different code rates of different groups can be due to the different number of information bits and the number of frozen bits when different groups are encoded in Polar code.
[0346] Example 6:
[0347] This embodiment mainly describes packet rate matching (i.e., bit selection), as follows:
[0348] After obtaining the encoded output code blocks, rate matching (bit selection) is performed on each encoded output code block for each information bit group, including determining the total length of the rate-matched output bit sequence corresponding to each information bit group. For each information bit group, the total length of the rate-matched output bit sequence (i.e., the sum of the lengths of the C rate-matched output code blocks) is equal, that is, G0 = G1 = ... = G N-1 .
[0349] Based on the total length of the rate-matched output bit sequence corresponding to each information bit group, determine the length of the C rate-matched output code blocks corresponding to each information bit group. For example:
[0350] The length of the bit sequence after rate matching of the (r-th)th code block corresponding to the (n-th)th group is: The calculation method is as follows:
[0351]
[0352] Where, N L Q represents the transport layer number to which the transport block is mapped. m C′ represents the modulation order and the number of code blocks transmitted. If code block group (CBG) based transmission is not used, C′ is the number of code blocks after TB code block division.
[0353] After determining the lengths of the C rate-matched output code blocks corresponding to each information bit group, bit selection is performed on each encoded output code block to obtain the bit set of the output code block length that satisfies the rate matching.
[0354] Example 7:
[0355] This embodiment mainly describes the concatenation and interleaving of information bit group code blocks, as detailed below:
[0356] Block concatenation:
[0357] For the rate-matched output code blocks of each information bit group, code blocks from different information bit groups are concatenated. Specifically, the code blocks corresponding to different information bit groups are concatenated in descending order of code rate, that is, the rate-matched output code blocks corresponding to the information bit groups with higher code rates are placed first, followed by the rate-matched output code blocks corresponding to the information bit groups with lower code rates, so that the rate-matched output code blocks corresponding to the information bit groups with higher code rates are fed into the interleaver first. At this time, after concatenation, C sets of concatenated code blocks are obtained, and the bit sequence length corresponding to the r-th set of concatenated code blocks is...
[0358]
[0359] Taking a data block size of 2 as an example, the process of concatenating data block code blocks can be referred to... Figure 14 .
[0360] Grouping Interweaving:
[0361] Interleaving is performed on a block-by-block basis, using a row-column interleaver; data is written row-by-row and read column-by-column. The interleaver depth (number of rows) is equal to the modulation order Q. m The number of interleaver columns corresponding to the r-th concatenated code block set is For each set of code blocks, during interleaving, the bits in the code block corresponding to the high-rate group are first written into the interleaver, as described above. Figure 12 For example, when interleaving code block set 0, code block 0 corresponding to group 0 is sent to the interleaver first, and code block 0 corresponding to group 1 is sent to the interleaver later.
[0362] The bit sequence of the r-th concatenated code block set before interleaving is The interleaved bit sequence is The process of interweaving can be represented as:
[0363]
[0364]
[0365] According to the information bit group concatenation and interleaving processing in this embodiment, the bits corresponding to high-rate information bit groups can be preferentially mapped to high-reliability bits during QAM modulation, thereby improving transmission performance. On the other hand, the information bit group interleaving method used in this invention performs joint interleaving of multiple code blocks corresponding to different information bit groups, which can achieve better diversity gain compared to interleaving a single code block.
[0366] The C concatenated code blocks after interleaving are concatenated to obtain a modulation input bit sequence. This modulation input bit sequence is then subjected to QAM modulation to obtain modulated data, which is then transmitted. The QAM modulation method includes at least one of the following:
[0367] π / 2-BPSK:
[0368] BPSK:
[0369] QPSK:
[0370] 16QAM:
[0371] 64QAM:
[0372]
[0373] 1024QAM:
[0374]
[0375] Where b(i) is the modulation input bit and d(i) is the modulation symbol.
[0376] This application provides block coding, rate matching, and interleaving methods, including a block LDPC coding modulation, rate matching, and interleaving scheme based on the LDPC encoding and decoding framework of NR communication systems. Utilizing the characteristic of different modulation bit reliability in Gray mapping, block coding, rate matching, and interleaving are performed according to a specific code rate. Bits corresponding to information bit groups with higher code rates are preferentially placed on high-reliability modulation bits, improving data transmission performance. On one hand, compared to the LDPC encoding and decoding process in NR, this method fully leverages the characteristic of different bit reliability in QAM modulation to optimize the encoding and decoding process, resulting in improved transmission performance. On the other hand, through flexible bit grouping, coding methods, and the design of rate matching and block interleaving, the improved scheme has better compatibility with the BICM-based LDPC encoding and decoding framework, simplifying the encoding and decoding process. Furthermore, each information bit group can use the same BG and boost factor during encoding, thereby reusing the same encoder and saving hardware resources.
[0377] The encoding method provided in this application can be executed by an encoding device. This application uses an encoding device executing the encoding method as an example to illustrate the encoding device provided in this application.
[0378] This application provides an encoding device. As an example, the encoding device may be a communication device or a component within a communication device, such as a chip. The communication device may be a terminal, a network-side device, or a server, etc. Exemplarily, the terminal may include, but is not limited to, the type of terminal 11 listed above, and the network-side device may include, but is not limited to, the type of network-side device 12 listed above. This application does not impose specific limitations.
[0379] The encoding device includes a receiving module, a transmitting module, and a processing module. These modules can be implemented in software or hardware. When implemented in hardware, the processing module can be implemented by a processor. For example, the processor can include general-purpose processors, special-purpose processors, such as a Central Processing Unit (CPU), microprocessor, Digital Signal Processor (DSP), Artificial Intelligence (AI) processor, Graphics Processing Unit (GPU), Application Specific Integrated Circuit (ASIC), Network Processor (NP), Field Programmable Gate Array (FPGA), or other programmable logic devices, gate circuits, transistors, discrete hardware components, etc. The receiving and transmitting modules can be implemented by a communication interface, which can include one or more of the following: transceiver, pins, circuits, bus, radio frequency unit, etc.
[0380] For details, see Figure 15 When the encoding device is a terminal or a component within a terminal, or when the encoding device is a network-side device or a component within a network-side device, the encoding device 1500 includes:
[0381] Processing module 1501 is used to group the information bit set to obtain N information bit groups, where N is an integer greater than 1;
[0382] The processing module 1501 is further configured to encode the N information bit groups using N code rates respectively to obtain the encoded output code blocks of the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups.
[0383] Optionally, the value of N is a fixed value; or,
[0384] The value of N is related to the modulation order.
[0385] Optionally, the information bit set is a set of information bits with added Transport Block (TB) Cyclic Redundancy Check (CRC); or
[0386] After obtaining the N information bit groups, CRC is added to each of the N information bit groups.
[0387] Optionally, there may be different code rates among the N code rates, and the average of the N code rates is equal to the code rate of the information bit set.
[0388] Optionally, the N bit rates are determined based on at least one of the following:
[0389] The protocol includes the Modulation and Coding Scheme (MCS) table, MCS level, preset rules, signaling indication, and the code rate of the information bit set.
[0390] Optionally, the number of information bits in the N information bit groups is associated with at least one of the following:
[0391] The resource unit number, transmission layer number, modulation order, value of N, code rate corresponding to information bit group, encoder input code block length, and CRC length; wherein, the CRC length includes the following item:
[0392] The length of the added TB CRC, the length of the added CRC for the information bit group, and the length of the added CRC for the encoder input code block.
[0393] Optionally, the processing module 1501 performs code block segmentation on the N information bit groups to obtain code blocks of the N information bit groups; and encodes the code blocks of the N information bit groups using N code rates to obtain encoded output code blocks of the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups.
[0394] Optionally, each information bit group includes C code blocks, where C is an integer greater than or equal to 1. The value of C is the number of code blocks determined by code block segmentation of the first information bit group, or the value of C is associated with at least one of the following:
[0395] The number of information bits in the first information bit group, the encoder input code block length, and the CRC length; wherein, the CRC length includes the following item:
[0396] The length of the added TB CRC, the length of the added CRC for the information bit group, and the length of the added CRC for the encoder input code block.
[0397] Optionally, the processing module 1501 is used to add CRC to the code blocks of the N information bit groups respectively, and to encode the code blocks of the N information bit groups after adding CRC using N code rates respectively, so as to obtain the encoded output code blocks of the N information bit groups.
[0398] Optionally, the first parameter for encoding the N information bit groups is the same, and the first parameter includes at least one of the following:
[0399] Encoding base map (BG), boost factor, parity check matrix, generator matrix, encoder input block length, encoder output block length, and master code rate;
[0400] or,
[0401] The second parameter for encoding the second information bit group is determined based on the third parameter of the second information bit group. The second parameter includes at least one of BG and boost factor. The third parameter includes at least one of the following: code rate, number of information bits, and code block length corresponding to the second information bit group. The second information bit group is any one of the N information bit groups.
[0402] Optionally, when the first parameter for encoding the N information bit groups is the same, at least one of the BG and the boosting factor is determined based on the first information bit group.
[0403] Optionally, the first information bit group is the information bit group with the largest code rate among the N information bit groups.
[0404] Optionally, the N information bit groups include at least one of the following:
[0405] The third information bit group whose number of information bits is divisible by 8·C1, wherein C1 is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the third information bit group, the encoder input code block length, and the CRC length added for the encoder input code block.
[0406] The fourth information bit group is a sum of the number of information bits plus the length of the added TB CRC or the CRC length added for the information bit group, which is divisible by 8·C2, where C2 is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the fourth information bit group, the encoder input code block length, and the CRC length added for the encoder input code block.
[0407] Optionally, the processing module 1501 is further configured to perform a target operation based on the encoded output code block of the N information bit groups to obtain modulation data. The target operation includes modulation and further includes at least one of the following: rate matching and interleaving.
[0408] The device further includes:
[0409] A transmitting module is used to transmit the modulated data.
[0410] Optionally, each information bit group includes C code blocks, where C is an integer greater than or equal to 1, and the rate matching includes:
[0411] Rate matching is performed on the encoded output code blocks of the N information bit groups respectively to obtain C rate-matched output code blocks for each information bit group.
[0412] Optionally, the rate matching satisfies one of the following:
[0413] The first bit sequence of the N information bit groups has the same length;
[0414] The output code block length of the same sequence number in different information bit groups of the N information bit groups is the same for rate matching of the code block of the same sequence number.
[0415] The length of the first bit sequence of the N information bit groups is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, and the value of N;
[0416] Wherein, the length of the first bit sequence is equal to the sum of the C rate-matched output code blocks.
[0417] Optionally, the interlacing includes:
[0418] Interweaving is performed on the interleaved data, which includes:
[0419] The rate-matched output code block of the N information bit groups; or
[0420] The code block set is obtained by concatenating the rate-matched output code blocks of the N information bit groups. Each code block set is obtained by concatenating the N rate-matched output code blocks, and the N rate-matched output code blocks correspond to the N information bit groups respectively.
[0421] Optionally, when the interleaved data includes rate-matched output code blocks of the N information bit groups, the interleaving of the interleaved data includes: interleaving the rate-matched output code blocks of the N information bit groups in a first order, wherein the rate-matched output code blocks of the N information bit groups are fed into the interleaver in descending order of code rate.
[0422] In the case that the interleaved data includes the code block set,
[0423] In any set of code blocks, the output code block with the rate matching of the information bit group with the higher code rate is sent to the interleaver first, and the output code block with the rate matching of the information bit group with the lower code rate is sent to the interleaver later.
[0424] Optionally, when the interleaved data includes rate-matched output code blocks of the N information bit groups, the interleaving of the interleaved data includes:
[0425] First, the system bits in the rate-matched output code block of the N information bit groups are sent to the interleaver in descending order of code rate. Then, the parity bits in the rate-matched output code block of the N information bit groups are sent to the interleaver in descending order of code rate.
[0426] Optionally, when the interleaved data includes the code block set, the interleaving of the interleaved data includes:
[0427] In any set of code blocks, the system bits in the output code blocks of each information bit group in the code block set are first sent to the interleaver in descending order of code rate, and then the parity bits in the output code blocks of each information bit group in the code block set are sent to the interleaver in descending order of code rate.
[0428] Optionally, the processing module 1501 uses a row-column interleaver to interleave the interleaved data. The interleaver depth or the number of interleaver rows is equal to the modulation order, and the number of columns of the row-column interleaver is equal to the sum of the output code block lengths of the rate-matched N information bit groups.
[0429] The aforementioned encoding device can improve the flexibility of information bit encoding, which is beneficial to improving the transmission performance of the equipment.
[0430] The encoding device provided in this application embodiment can achieve... Figure 2 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.
[0431] like Figure 16 As shown, this application embodiment also provides a communication device 1600, including a processor 1601 and a memory 1602. The memory 1602 stores a program or instructions that can be executed on the processor 1601. For example, when the communication device 1600 is a first device, when the program or instructions are executed by the processor 1601, they implement the various steps of the above-described encoding method embodiment and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0432] This application embodiment also provides a terminal, including a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement, for example... Figure 2 The steps in the method embodiment shown are illustrated. This terminal embodiment corresponds to the above method embodiment, and all implementation processes and methods of the above method embodiments can be applied to this terminal embodiment and achieve the same technical effect. The terminal can be... Figure 15 The encoding device shown. Specifically, Figure 17 A schematic diagram of the hardware structure of a terminal to implement an embodiment of this application.
[0433] The terminal 1700 includes, but is not limited to, at least some of the following components: radio frequency unit 1701, network module 1702, audio output unit 1703, input unit 1704, sensor 1705, display unit 1706, user input unit 1707, interface unit 1708, memory 1709, and processor 1710.
[0434] Those skilled in the art will understand that the terminal 1700 may also include a power supply (such as a battery) for supplying power to various components. The power supply may be logically connected to the processor 1710 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system. Figure 17 The terminal structure shown does not constitute a limitation on the terminal. The terminal may include more or fewer components than shown, or combine certain components, or have different component arrangements, which will not be elaborated here.
[0435] It should be understood that, in this embodiment, the input unit 1704 may include a graphics processor 17041 and a microphone 17042. The graphics processor 17041 processes image data of still images or videos obtained by an image capture device (such as a camera) in video capture mode or image capture mode. The display unit 1706 may include a display panel 17061, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, or the like. The user input unit 1707 includes at least one of a touch panel 17071 and other input devices 17072. The touch panel 17071 is also called a touch screen. The touch panel 17071 may include a touch detection device and a touch controller. Other input devices 17072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, and joysticks, which will not be described in detail here.
[0436] In this embodiment, after receiving downlink data from the network-side device, the radio frequency unit 1701 can transmit it to the processor 1710 for processing; in addition, the radio frequency unit 1701 can send uplink data to the network-side device. Typically, the radio frequency unit 1701 includes, but is not limited to, antennas, amplifiers, transceivers, couplers, low-noise amplifiers, duplexers, etc.
[0437] The memory 1709 can be used to store software programs or instructions, as well as various data. The memory 1709 may primarily include a first storage area for storing programs or instructions and a second storage area for storing data. The first storage area may store the operating system, application programs or instructions required for at least one function (such as sound playback, image playback, etc.). Furthermore, the memory 1709 may include volatile memory or non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DRRAM). The memory 1709 in this embodiment includes, but is not limited to, these and any other suitable types of memory.
[0438] Processor 1710 may include one or more processing units; optionally, processor 1710 integrates an application processor and a modem processor, wherein the application processor mainly handles operations involving the operating system, user interface, and applications, and the modem processor mainly handles wireless communication signals, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into processor 1710.
[0439] The processor 1710 is used to group the information bit set into N information bit groups, where N is an integer greater than 1; and to encode the N information bit groups using N code rates to obtain the encoded output code blocks of the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups.
[0440] Optionally, the value of N is a fixed value; or,
[0441] The value of N is related to the modulation order.
[0442] Optionally, the information bit set is a set of information bits with added Transport Block (TB) Cyclic Redundancy Check (CRC); or
[0443] After obtaining the N information bit groups, CRC is added to each of the N information bit groups.
[0444] Optionally, there may be different code rates among the N code rates, and the average of the N code rates is equal to the code rate of the information bit set.
[0445] Optionally, the N bit rates are determined based on at least one of the following:
[0446] The protocol includes the Modulation and Coding Scheme (MCS) table, MCS level, preset rules, signaling indication, and the code rate of the information bit set.
[0447] Optionally, the number of information bits in the N information bit groups is associated with at least one of the following:
[0448] The resource unit number, transmission layer number, modulation order, value of N, code rate corresponding to information bit group, encoder input code block length, and CRC length; wherein, the CRC length includes the following item:
[0449] The length of the added TB CRC, the length of the added CRC for the information bit group, and the length of the added CRC for the encoder input code block.
[0450] Optionally, the step of encoding the N information bit groups using N code rates to obtain the encoded output code block of the N information bit groups includes:
[0451] The N information bit groups are divided into code blocks to obtain code blocks for the N information bit groups;
[0452] The code blocks of the N information bit groups are encoded using N code rates respectively to obtain the encoded output code blocks of the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups.
[0453] Optionally, each information bit group includes C code blocks, where C is an integer greater than or equal to 1. The value of C is the number of code blocks determined by code block segmentation of the first information bit group, or the value of C is associated with at least one of the following:
[0454] The number of information bits in the first information bit group, the encoder input code block length, and the CRC length; wherein, the CRC length includes the following item:
[0455] The length of the added TB CRC, the length of the added CRC for the information bit group, and the length of the added CRC for the encoder input code block.
[0456] Optionally, the step of encoding the code blocks of the N information bit groups using N code rates respectively to obtain the encoded output code blocks of the N information bit groups includes:
[0457] Each of the N information bit groups is assigned a CRC, and the N information bit groups are encoded using N code rates to obtain the encoded output code blocks of the N information bit groups.
[0458] Optionally, the first parameter for encoding the N information bit groups is the same, and the first parameter includes at least one of the following:
[0459] Encoding base map (BG), boost factor, parity check matrix, generator matrix, encoder input block length, encoder output block length, and master code rate;
[0460] or,
[0461] The second parameter for encoding the second information bit group is determined based on the third parameter of the second information bit group. The second parameter includes at least one of BG and boost factor. The third parameter includes at least one of the following: code rate, number of information bits, and code block length corresponding to the second information bit group. The second information bit group is any one of the N information bit groups.
[0462] Optionally, when the first parameter for encoding the N information bit groups is the same, at least one of the BG and the boosting factor is determined based on the first information bit group.
[0463] Optionally, the first information bit group is the information bit group with the largest code rate among the N information bit groups.
[0464] Optionally, the N information bit groups include at least one of the following:
[0465] The third information bit group whose number of information bits is divisible by 8·C1, wherein C1 is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the third information bit group, the encoder input code block length, and the CRC length added for the encoder input code block.
[0466] The fourth information bit group is a sum of the number of information bits plus the length of the added TB CRC or the CRC length added for the information bit group, which is divisible by 8·C2, where C2 is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the fourth information bit group, the encoder input code block length, and the CRC length added for the encoder input code block.
[0467] Optionally, the processor 1710 is further configured to: perform a target operation based on the coded output code block of the N information bit groups to obtain modulation data, wherein the target operation includes modulation and the target operation further includes at least one of the following: rate matching and interleaving;
[0468] Radio frequency unit 1701 is used to transmit the modulated data.
[0469] Optionally, each information bit group includes C code blocks, where C is an integer greater than or equal to 1, and the rate matching includes:
[0470] Rate matching is performed on the encoded output code blocks of the N information bit groups respectively to obtain C rate-matched output code blocks for each information bit group.
[0471] Optionally, the rate matching satisfies one of the following:
[0472] The first bit sequence of the N information bit groups has the same length;
[0473] The output code block length of the same sequence number in different information bit groups of the N information bit groups is the same for rate matching of the code block of the same sequence number.
[0474] The length of the first bit sequence of the N information bit groups is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, and the value of N;
[0475] Wherein, the length of the first bit sequence is equal to the sum of the C rate-matched output code blocks.
[0476] Optionally, the interlacing includes:
[0477] Interweaving is performed on the interleaved data, which includes:
[0478] The rate-matched output code block of the N information bit groups; or
[0479] The code block set is obtained by concatenating the rate-matched output code blocks of the N information bit groups. Each code block set is obtained by concatenating the N rate-matched output code blocks, and the N rate-matched output code blocks correspond to the N information bit groups respectively.
[0480] Optionally, when the interleaved data includes rate-matched output code blocks of the N information bit groups, the interleaving of the interleaved data includes: interleaving the rate-matched output code blocks of the N information bit groups in a first order, wherein the rate-matched output code blocks of the N information bit groups are fed into the interleaver in descending order of code rate.
[0481] Optionally, if the interleaved data includes the set of code blocks,
[0482] In any set of code blocks, the output code block of the information bit group with the higher code rate that is rate-matched is sent to the interleaver first, and the output code block of the information bit group with the lower code rate that is rate-matched is sent to the interleaver later.
[0483] Optionally, when the interleaved data includes rate-matched output code blocks of the N information bit groups, the interleaving of the interleaved data includes:
[0484] First, the system bits in the rate-matched output code block of the N information bit groups are sent to the interleaver in descending order of code rate. Then, the parity bits in the rate-matched output code block of the N information bit groups are sent to the interleaver in descending order of code rate.
[0485] Optionally, when the interleaved data includes the code block set, the interleaving of the interleaved data includes:
[0486] In any set of code blocks, the system bits in the output code blocks of each information bit group in the code block set are first sent to the interleaver in descending order of code rate, and then the parity bits in the output code blocks of each information bit group in the code block set are sent to the interleaver in descending order of code rate.
[0487] Optionally, a row-column interleaver is used to interleave the interleaved data, wherein the interleaver depth or the number of interleaver rows is equal to the modulation order, and the number of columns of the row-column interleaver is equal to the sum of the output code block lengths of the rate-matched N information bit groups.
[0488] The aforementioned terminals can improve the flexibility of information bit encoding, which is beneficial to improving the transmission performance of the equipment.
[0489] It is understood that the implementation process of each implementation method mentioned in this embodiment can refer to the relevant description of the above encoding method embodiment and achieve the same or corresponding technical effects. To avoid repetition, it will not be described again here.
[0490] This application embodiment also provides a network-side device, including a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement, for example... Figure 2 The steps of the method embodiment shown are illustrated. This network-side device embodiment corresponds to the above-described network-side device method embodiment. All implementation processes and methods of the above-described method embodiments can be applied to this network-side device embodiment and can achieve the same technical effect.
[0491] Specifically, embodiments of this application also provide a network-side device, which can be... Figure 15 The lower encoding device is shown. For example... Figure 18 As shown, the network-side device 18000 includes: an antenna 1801, a radio frequency (RF) device 1802, a baseband device 1803, a processor 1804, and a memory 1805. The antenna 1801 is connected to the RF device 1802. In the uplink direction, the RF device 1802 receives information through the antenna 1801 and transmits the received information to the baseband device 1803 for processing. In the downlink direction, the baseband device 1803 processes the information to be transmitted and sends it to the RF device 1802. The RF device 1802 processes the received information and transmits it through the antenna 1801.
[0492] The method executed by the network-side device in the above embodiments can be implemented in the baseband device 1803, which includes a baseband processor.
[0493] The baseband device 1803 may, for example, include at least one baseband board on which multiple chips are disposed, such as... Figure 18 As shown, one of the chips is, for example, a baseband processor, which is connected to the memory 1805 via a bus interface to call the program in the memory 1805 and execute the network device operation shown in the above method embodiment.
[0494] The network-side device may also include a network interface 1806, such as a Common Public Radio Interface (CPRI).
[0495] Specifically, the network-side device 18000 in this application embodiment further includes: instructions or programs stored in memory 1805 and executable on processor 1804, wherein processor 1804 calls the instructions or programs in memory 1805 to execute. Figure 15 The methods executed by each module shown achieve the same technical effect, and to avoid repetition, they will not be described in detail here.
[0496] The processor 1804 is used to group the information bit set into N information bit groups, where N is an integer greater than 1; and to encode the N information bit groups using N code rates to obtain the encoded output code blocks of the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups.
[0497] Optionally, the value of N is a fixed value; or,
[0498] The value of N is related to the modulation order.
[0499] Optionally, the information bit set is a set of information bits with added Transport Block (TB) Cyclic Redundancy Check (CRC); or
[0500] After obtaining the N information bit groups, CRC is added to each of the N information bit groups.
[0501] Optionally, there may be different code rates among the N code rates, and the average of the N code rates is equal to the code rate of the information bit set.
[0502] Optionally, the N bit rates are determined based on at least one of the following:
[0503] The protocol includes the Modulation and Coding Scheme (MCS) table, MCS level, preset rules, signaling indication, and the code rate of the information bit set.
[0504] Optionally, the number of information bits in the N information bit groups is associated with at least one of the following:
[0505] The resource unit number, transmission layer number, modulation order, value of N, code rate corresponding to information bit group, encoder input code block length, and CRC length; wherein, the CRC length includes the following item:
[0506] The length of the added TB CRC, the length of the added CRC for the information bit group, and the length of the added CRC for the encoder input code block.
[0507] Optionally, the step of encoding the N information bit groups using N code rates to obtain the encoded output code block of the N information bit groups includes:
[0508] The N information bit groups are divided into code blocks to obtain code blocks for the N information bit groups;
[0509] The code blocks of the N information bit groups are encoded using N code rates respectively to obtain the encoded output code blocks of the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups.
[0510] Optionally, each information bit group includes C code blocks, where C is an integer greater than or equal to 1. The value of C is the number of code blocks determined by code block segmentation of the first information bit group, or the value of C is associated with at least one of the following:
[0511] The number of information bits in the first information bit group, the encoder input code block length, and the CRC length; wherein, the CRC length includes the following item:
[0512] The length of the added TB CRC, the length of the added CRC for the information bit group, and the length of the added CRC for the encoder input code block.
[0513] Optionally, the step of encoding the code blocks of the N information bit groups using N code rates respectively to obtain the encoded output code blocks of the N information bit groups includes:
[0514] Each of the N information bit groups is assigned a CRC, and the CRC-added N information bit groups are encoded using N code rates to obtain the encoded output code blocks of the N information bit groups.
[0515] Optionally, the first parameter for encoding the N information bit groups is the same, and the first parameter includes at least one of the following:
[0516] Encoding base map (BG), boost factor, parity check matrix, generator matrix, encoder input block length, encoder output block length, and master code rate;
[0517] or,
[0518] The second parameter for encoding the second information bit group is determined based on the third parameter of the second information bit group. The second parameter includes at least one of BG and boost factor. The third parameter includes at least one of the following: code rate, number of information bits, and code block length corresponding to the second information bit group. The second information bit group is any one of the N information bit groups.
[0519] Optionally, when the first parameter for encoding the N information bit groups is the same, at least one of the BG and the boosting factor is determined based on the first information bit group.
[0520] Optionally, the first information bit group is the information bit group with the largest code rate among the N information bit groups.
[0521] Optionally, the N information bit groups include at least one of the following:
[0522] The third information bit group whose number of information bits is divisible by 8·C1, wherein C1 is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the third information bit group, the encoder input code block length, and the CRC length added for the encoder input code block.
[0523] The fourth information bit group is a sum of the number of information bits plus the length of the added TB CRC or the CRC length added for the information bit group, which is divisible by 8·C2, where C2 is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the fourth information bit group, the encoder input code block length, and the CRC length added for the encoder input code block.
[0524] Optionally, the processor 1804 is further configured to: perform a target operation based on the coded output code block of the N information bit groups to obtain modulation data, wherein the target operation includes modulation and the target operation further includes at least one of the following: rate matching and interleaving;
[0525] Radio frequency device 1802 is used to transmit the modulated data.
[0526] Optionally, each information bit group includes C code blocks, where C is an integer greater than or equal to 1, and the rate matching includes:
[0527] Rate matching is performed on the encoded output code blocks of the N information bit groups respectively to obtain C rate-matched output code blocks for each information bit group.
[0528] Optionally, the rate matching satisfies one of the following:
[0529] The first bit sequence of the N information bit groups has the same length;
[0530] The output code block length of the same sequence number in different information bit groups of the N information bit groups is the same for rate matching of the code block of the same sequence number.
[0531] The length of the first bit sequence of the N information bit groups is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, and the value of N;
[0532] Wherein, the length of the first bit sequence is equal to the sum of the C rate-matched output code blocks.
[0533] Optionally, the interlacing includes:
[0534] Interweaving is performed on the interleaved data, which includes:
[0535] The rate-matched output code block of the N information bit groups; or
[0536] The code block set is obtained by concatenating the rate-matched output code blocks of the N information bit groups. Each code block set is obtained by concatenating the N rate-matched output code blocks, and the N rate-matched output code blocks correspond to the N information bit groups respectively.
[0537] Optionally, when the interleaved data includes rate-matched output code blocks of the N information bit groups, the interleaving of the interleaved data includes: interleaving the rate-matched output code blocks of the N information bit groups in a first order, wherein the rate-matched output code blocks of the N information bit groups are fed into the interleaver in descending order of code rate.
[0538] Optionally, if the interleaved data includes the set of code blocks,
[0539] In any set of code blocks, the output code block of the information bit group with the higher code rate that is rate-matched is sent to the interleaver first, and the output code block of the information bit group with the lower code rate that is rate-matched is sent to the interleaver later.
[0540] Optionally, when the interleaved data includes rate-matched output code blocks of the N information bit groups, the interleaving of the interleaved data includes:
[0541] First, the system bits in the rate-matched output code block of the N information bit groups are sent to the interleaver in descending order of code rate. Then, the parity bits in the rate-matched output code block of the N information bit groups are sent to the interleaver in descending order of code rate.
[0542] Optionally, when the interleaved data includes the code block set, the interleaving of the interleaved data includes:
[0543] In any set of code blocks, the system bits in the output code blocks of each information bit group in the code block set are first sent to the interleaver in descending order of code rate, and then the parity bits in the output code blocks of each information bit group in the code block set are sent to the interleaver in descending order of code rate.
[0544] Optionally, a row-column interleaver is used to interleave the interleaved data, wherein the interleaver depth or the number of interleaver rows is equal to the modulation order, and the number of columns of the row-column interleaver is equal to the sum of the output code block lengths of the rate-matched N information bit groups.
[0545] The aforementioned network-side equipment can improve the flexibility of information bit encoding, which is beneficial to improving the transmission performance of the equipment.
[0546] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described encoding method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.
[0547] The processor mentioned above is the processor in the terminal described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk. In some examples, the readable storage medium may be a non-transient readable storage medium.
[0548] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above-described encoding method embodiments and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0549] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.
[0550] This application also provides a computer program / program product, which is stored in a storage medium and executed by at least one processor to implement the various processes of the above-described encoding method embodiments, and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0551] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
[0552] From the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of computer software products plus necessary general-purpose hardware platforms, and of course, they can also be implemented by hardware. The computer software product is stored in a storage medium (such as ROM, RAM, magnetic disk, optical disk, etc.) and includes several instructions to cause the terminal or network-side device to execute the methods described in the various embodiments of this application.
[0553] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other implementations under the guidance of this application without departing from the spirit and scope of the claims. All of these implementations are within the protection scope of this application.
Claims
1. An encoding method, characterized in that, include: The first device groups the set of information bits into N groups, where N is an integer greater than 1. The first device encodes the N information bit groups using N code rates to obtain the encoded output code blocks of the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups.
2. The method according to claim 1, characterized in that, The value of N is a fixed value; or, The value of N is related to the modulation order.
3. The method according to claim 1 or 2, characterized in that, The information bit set is the information bit set with added Transport Block (TB) Cyclic Redundancy Check (CRC); or After obtaining the N information bit groups, CRC is added to each of the N information bit groups.
4. The method according to any one of claims 1 to 3, characterized in that, There are different code rates among the N code rates, and the average value of the N code rates is equal to the code rate of the information bit set.
5. The method according to any one of claims 1 to 4, characterized in that, The N bitrates are determined based on at least one of the following: The protocol includes the Modulation and Coding Scheme (MCS) table, MCS level, preset rules, signaling indication, and the code rate of the information bit set.
6. The method according to any one of claims 1 to 5, characterized in that, The number of information bits in the N information bit groups is associated with at least one of the following: The resource unit number, transmission layer number, modulation order, value of N, code rate corresponding to information bit group, encoder input code block length, and CRC length; wherein, the CRC length includes the following item: The length of the added TB CRC, the length of the added CRC for the information bit group, and the length of the added CRC for the encoder input code block.
7. The method according to any one of claims 1 to 6, characterized in that, The first device encodes the N information bit groups using N code rates respectively, to obtain the encoded output code blocks of the N information bit groups, including: The first device performs code block segmentation on the N information bit groups respectively to obtain code blocks of the N information bit groups; The first device encodes the code blocks of the N information bit groups using N code rates respectively, to obtain the encoded output code blocks of the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups.
8. The method according to claim 7, characterized in that, Each information bit group comprises C code blocks, where C is an integer greater than or equal to 1. The value of C is the number of code blocks determined by dividing the first information bit group into code blocks, or the value of C is associated with at least one of the following: The number of information bits in the first information bit group, the encoder input code block length, and the CRC length; wherein, the CRC length includes the following item: The length of the added TB CRC, the length of the added CRC for the information bit group, and the length of the added CRC for the encoder input code block.
9. The method according to claim 7 or 8, characterized in that, The first device encodes the code blocks of the N information bit groups using N code rates respectively, to obtain the encoded output code blocks of the N information bit groups, including: The first device adds CRC to the code blocks of the N information bit groups respectively, and encodes the code blocks of the N information bit groups after adding CRC using N code rates respectively, to obtain the encoded output code blocks of the N information bit groups.
10. The method according to any one of claims 1 to 9, characterized in that, The first parameter for encoding the N information bit groups is the same, and the first parameter includes at least one of the following: Encoding base map (BG), boost factor, parity check matrix, generator matrix, encoder input block length, encoder output block length, and master code rate; or, The second parameter for encoding the second information bit group is determined based on the third parameter of the second information bit group. The second parameter includes at least one of BG and boost factor. The third parameter includes at least one of the following: code rate, number of information bits, and code block length corresponding to the second information bit group. The second information bit group is any one of the N information bit groups.
11. The method according to claim 10, characterized in that, When the first parameter for encoding the N information bit groups is the same, at least one of the BG and the boosting factor is determined based on the first information bit group.
12. The method according to claim 8 or 11, characterized in that, The first information bit group is the information bit group with the largest code rate among the N information bit groups.
13. The method according to any one of claims 1 to 12, characterized in that, The N information bit groups include at least one of the following: The third information bit group whose number of information bits is divisible by 8·C1, wherein C1 is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the third information bit group, the encoder input code block length, and the CRC length added for the encoder input code block. The fourth information bit group is a sum of the number of information bits plus the length of the added TB CRC or the CRC length added for the information bit group, which is divisible by 8·C2, where C2 is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, the value of N, the code rate corresponding to the fourth information bit group, the encoder input code block length, and the CRC length added for the encoder input code block.
14. The method according to any one of claims 1 to 13, characterized in that, The method further includes: The first device performs a target operation based on the encoded output code block of the N information bit groups to acquire modulation data. The target operation includes modulation and further includes at least one of the following: rate matching and interleaving. The first device sends the modulated data.
15. The method according to claim 14, characterized in that, Each information bit group comprises C code blocks, where C is an integer greater than or equal to 1, and the rate matching includes: The first device performs rate matching on the encoded output code blocks of the N information bit groups respectively, to obtain C rate-matched output code blocks for each information bit group.
16. The method according to claim 14 or 15, characterized in that, The rate matching satisfies one of the following: The first bit sequence of the N information bit groups has the same length; The output code block length of the same sequence number in different information bit groups of the N information bit groups is the same for rate matching of the code block of the same sequence number. The length of the first bit sequence of the N information bit groups is associated with at least one of the following: the number of resource units, the number of transmission layers, the modulation order, and the value of N; Wherein, the length of the first bit sequence is equal to the sum of the C rate-matched output code blocks.
17. The method according to any one of claims 14 to 16, characterized in that, The interweaving includes: The first device performs interleaving on the interleaved data, which includes: The rate-matched output code block of the N information bit groups; or The code block set is obtained by concatenating the rate-matched output code blocks of the N information bit groups. Each code block set is obtained by concatenating the N rate-matched output code blocks, and the N rate-matched output code blocks correspond to the N information bit groups respectively.
18. The method according to claim 17, characterized in that, When the interleaved data includes rate-matched output code blocks of the N information bit groups, the first device interleaves the interleaved data, including: the first device interleaves the rate-matched output code blocks of the N information bit groups in a first order, wherein the rate-matched output code blocks of the N information bit groups are fed into the interleaver in order of code rate from high to low.
19. The method according to claim 17, characterized in that, In the case that the interleaved data includes the code block set, In any set of code blocks, the output code block with the rate matching of the information bit group with the higher code rate is sent to the interleaver first, and the output code block with the rate matching of the information bit group with the lower code rate is sent to the interleaver later.
20. The method according to claim 17, characterized in that, When the interleaved data includes rate-matched output code blocks of the N information bit groups, the first device interleaves the interleaved data, including: First, the system bits in the rate-matched output code block of the N information bit groups are sent to the interleaver in descending order of code rate. Then, the parity bits in the rate-matched output code block of the N information bit groups are sent to the interleaver in descending order of code rate.
21. The method according to claim 17, characterized in that, When the interleaved data includes the code block set, the first device interleaves the interleaved data, including: In any set of code blocks, the system bits in the output code blocks of each information bit group in the code block set are first sent to the interleaver in descending order of code rate, and then the parity bits in the output code blocks of each information bit group in the code block set are sent to the interleaver in descending order of code rate.
22. The method according to claim 17 or 21, characterized in that, The first device uses a row-column interleaver to interleave the interleaved data. The interleaver depth or the number of interleaver rows is equal to the modulation order, and the number of columns of the row-column interleaver is equal to the sum of the output code block lengths of the rate-matched N information bit groups.
23. An encoding device, characterized in that, include: The processing module is used to group the information bit set into N information bit groups, where N is an integer greater than 1; The processing module is further configured to encode the N information bit groups using N code rates respectively, to obtain the encoded output code blocks of the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups.
24. The apparatus according to claim 23, characterized in that, The processing module performs code block segmentation on the N information bit groups to obtain code blocks of the N information bit groups; and encodes the code blocks of the N information bit groups using N code rates to obtain encoded output code blocks of the N information bit groups, wherein the N code rates correspond one-to-one with the N information bit groups.
25. The apparatus according to claim 24, characterized in that, The processing module is further configured to perform a target operation based on the encoded output code block of the N information bit groups to obtain modulation data. The target operation includes modulation and further includes at least one of the following: rate matching and interleaving. The device further includes: A transmitting module is used to transmit the modulated data.
26. The apparatus according to claim 25, characterized in that, Each information bit group comprises C code blocks, where C is an integer greater than or equal to 1, and the rate matching includes: Rate matching is performed on the encoded output code blocks of the N information bit groups respectively to obtain C rate-matched output code blocks for each information bit group.
27. The apparatus according to claim 25 or 26, characterized in that, The interweaving includes: Interweaving is performed on the interleaved data, which includes: The rate-matched output code block of the N information bit groups; or The code block set is obtained by concatenating the rate-matched output code blocks of the N information bit groups. Each code block set is obtained by concatenating the N rate-matched output code blocks, and the N rate-matched output code blocks correspond to the N information bit groups respectively.
28. The apparatus according to claim 27, characterized in that, When the interleaved data includes rate-matched output code blocks of the N information bit groups, the interleaving of the interleaved data includes: interleaving the rate-matched output code blocks of the N information bit groups in a first order, wherein the rate-matched output code blocks of the N information bit groups are fed into the interleaver in descending order of code rate.
29. A device, characterized in that, It includes a processor and a memory, the memory storing a program or instructions that can run on the processor, the program or instructions being executed by the processor to implement the steps of the encoding method as described in any one of claims 1 to 22.
30. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a processor, implement the steps of the encoding method as described in any one of claims 1 to 22.
31. A computer program product, characterized in that, The computer program product is stored in a storage medium, and the computer program product is executed by at least one processor to implement the steps of the encoding method as described in any one of claims 1 to 22.