This application relates to the field of communication technologies, and in particular, to an encoding method, a decoding method, and an apparatus.
With development of information technologies and progress of society, people have increasing requirements for information and put forward higher requirements for enjoying comprehensive services such as voice, data, image, and video services, and different types of multimedia services anytime and anywhere. Therefore, multimedia communication has become a focus of people's attention. A coding and transmission technology for original data such as a wireless video also becomes a research focus in an existing multimedia communication field. Coding is mainly classified into source coding and channel coding. A main indicator of the source coding is coding efficiency. A main objective of the channel coding is to improve reliability of information transmission.
Communication systems such as a cellular network communication system or a Wi-Fi communication system may use a separate source-channel coding (separate source-channel coding, SSCC) scheme. In this scheme, the source coding is usually completed at an application layer, and the channel coding is usually completed at a physical layer. Conventional source coding (for example, compression of sources such as images, videos, voices, and texts) does not have an error tolerance capability. Therefore, through source-channel coding, channel coding may be performed at the physical layer in combination with a retransmission mechanism or the like, to enable a receiver to implement error-free recovery of bits transmitted at the physical layer. To further improve transmission performance, the communication system may alternatively use a joint source-channel coding (joint source-channel coding, JSCC) scheme. This scheme can implement both source compression and channel protection. For example, the JSCC scheme may be implemented based on a low-density parity-check (low-density parity-check, LDPC) code.
However, performance of the JSCC scheme can be further improved.
Embodiments of this application provide an encoding method, a decoding method, and an apparatus, to effectively improve decoding performance.
According to a first aspect, an embodiment of this application provides an encoding method. The method includes: obtaining a first bit sequence, where the first bit sequence includes K information bits, and K is a positive integer; performing LDPC encoding on the first bit sequence based on a check matrix, to obtain a second bit sequence, where the check matrix is obtained based on a first base matrix, the first base matrix corresponds to a second base matrix, the second base matrix includes the following elements: 0, 1, and 2, an element 1 in a 2nd column of a check part in the second base matrix and an element 2 in a 1st column of the check part are located in a same row, and a quantity of elements 1 in the 2nd column is less than or equal to a quantity of elements 2 in the 1st column; and the second bit sequence includes M check bits, and M is a positive integer; and sending the second bit sequence.
According to a second aspect, an embodiment of this application provides a decoding method. The method includes: obtaining a second bit sequence, where the second bit sequence includes M check bits; and performing LDPC decoding on the second bit sequence based on a check matrix, to obtain K information bits, where the check matrix is obtained based on a first base matrix, the first base matrix corresponds to a second base matrix, the second base matrix includes the following elements: 0, 1, and 2, an element 1 in a 2nd column of a check part in the second base matrix and an element 2 in a 1st column of the check part are located in a same row, and a quantity of elements 1 in the 2nd column is less than or equal to a quantity of elements 2 in the 1st column.
In this embodiment of this application, the element 2 in the 1st column of the check part in the second base matrix and the element 1 in the 2nd column are located in the same row, and the quantity of elements 1 in the 2nd column is less than or equal to the quantity of elements 2 in the 1st column. A combination of the two columns can effectively improve decoding performance and reduce a decoding threshold. LDPC encoding and LDPC decoding are performed by using the check matrix provided in this embodiment of this application, so that the decoding performance in a scenario with a biased source can be effectively improved.
With reference to the first aspect or the second aspect, in a possible implementation, a quantity of rows of the first base matrix is equal to n times a quantity of rows of the second base matrix, and n is an integer greater than or equal to 2.
In this embodiment of this application, the quantity of rows of the second base matrix is less than the quantity of rows of the first base matrix, and the second base matrix may cover more first base matrices. Optionally, two communication parties store the second base matrix, so that storage space can be effectively saved.
With reference to the first aspect or the second aspect, in a possible implementation, a quantity of columns of the first base matrix is equal to n times a quantity of columns of the second base matrix, and n is an integer greater than or equal to 2.
In this embodiment of this application, the quantity of columns of the second base matrix is less than the quantity of columns of the first base matrix, and the second base matrix may cover more first base matrices. Optionally, two communication parties store the second base matrix, so that storage space can be effectively saved.
With reference to the first aspect or the second aspect, in a possible implementation, that the first base matrix corresponds to a second base matrix includes: The element 1 in the second base matrix is expanded to an n*n identity matrix or an n*n antisymmetric square matrix, and the element 2 in the second base matrix is expanded to an n*n all-1 matrix.
In this embodiment of this application, based on a relationship between the second base matrix and the first base matrix, one second base matrix may correspond to a plurality of first base matrices, so that two communication parties can select an appropriate first base matrix with reference to a code length requirement or a code rate requirement, to optimize decoding performance.
With reference to the first aspect or the second aspect, in a possible implementation, a sparsity of the first bit sequence is related to an encoding code rate. For example, a smaller value of the sparsity of the first bit sequence (indicating a sparser first bit sequence) indicates a larger encoding code rate.
In this embodiment of this application, a smaller sparsity of the first bit sequence indicates a smaller quantity of check bits sent by a transmitter, so that the encoding code rate is increased. Therefore, fewer channel transmission resources are occupied, transmission efficiency is higher, and decoding performance of a receiver is further effectively ensured.
With reference to the first aspect or the second aspect, in a possible implementation, at least one of the following is determined based on the sparsity of the first bit sequence: the quantity of rows of the second base matrix, the quantity of columns of the second base matrix, and a quantity of columns of an information part in the check matrix.
With reference to the first aspect or the second aspect, in a possible implementation, the 1st column of the check part in the second base matrix is a punctured column.
In this embodiment of this application, because a transmitter may transmit only the check bits, or transmit the check bits and some information bits, decoding performance can be effectively improved by setting a state column in the check part.
With reference to the first aspect or the second aspect, in a possible implementation, the first n columns of the check part in the first base matrix are punctured columns.
With reference to the first aspect or the second aspect, in a possible implementation, the second base matrix satisfies at least one of the following: the 1st column of the check part in the second base matrix is any one of the following: [1 2 1 2]T [2 1 2 1]T [1 1 1 2 2]T and [2 1 1 1 2]T; and a column weight of the 2nd column of the check part in the second base matrix is 1.
With reference to the first aspect or the second aspect, in a possible implementation, the sparsity of the first bit sequence is less than or equal to a first threshold.
With reference to the first aspect or the second aspect, in a possible implementation, the second base matrix includes:
Alternatively, the second base matrix includes:
With reference to the first aspect or the second aspect, in a possible implementation, the second base matrix includes:
With reference to the first aspect or the second aspect, in a possible implementation, the second base matrix includes:
Alternatively, the second base matrix includes:
With reference to the first aspect or the second aspect, in a possible implementation, the second base matrix includes:
With reference to the first aspect or the second aspect, in a possible implementation, the second base matrix includes:
Alternatively, the second base matrix includes:
With reference to the first aspect or the second aspect, in a possible implementation, the second base matrix includes:
Alternatively, the second base matrix includes:
With reference to the first aspect or the second aspect, in a possible implementation, the check matrix includes:
Alternatively, the check matrix includes:
It may be understood that the check matrix shown above is a matrix with eight rows and 18 columns. Although the check matrix is shown by using eight rows and 18 columns as an example, during actual application, the check matrix may alternatively be expanded to a matrix with more rows and more columns.
With reference to the first aspect or the second aspect, in a possible implementation, when the sparsity of the first bit sequence is greater than the first threshold, the second base matrix is shown as follows:
With reference to the first aspect or the second aspect, in a possible implementation, the 1st column in D is either of the following: [1 2 1 2 . . . ]T and [1 1 1 1 . . . ]T.
According to a third aspect, an embodiment of this application provides a communication apparatus, configured to perform the method according to any one of the first aspect or the possible implementations of the first aspect. The communication apparatus includes units that perform the method according to any one of the first aspect or the possible implementations of the first aspect. For example, the communication apparatus may include a processing unit and a transceiver unit.
According to a fourth aspect, an embodiment of this application provides a communication apparatus, configured to perform the method according to any one of the second aspect or the possible implementations of the second aspect. The communication apparatus includes units that perform the method according to any one of the second aspect or the possible implementations of the second aspect. For example, the communication apparatus may include a processing unit and a transceiver unit.
According to a fifth aspect, an embodiment of this application provides a communication apparatus. The communication apparatus includes a processor, configured to perform the method according to any one of the first aspect or the possible implementations of the first aspect. Alternatively, the processor is configured to execute a program stored in a memory. When the program is executed, the method according to any one of the first aspect or the possible implementations of the first aspect is performed.
In a possible implementation, the memory is located outside the communication apparatus.
In a possible implementation, the memory is located inside the communication apparatus.
In this embodiment of this application, the processor and the memory may alternatively be integrated into one component. In other words, the processor and the memory may alternatively be integrated together.
In a possible implementation, the communication apparatus further includes a transceiver. The transceiver is configured to receive a signal and/or send a signal.
According to a sixth aspect, an embodiment of this application provides a communication apparatus. The communication apparatus includes a processor, configured to perform the method according to any one of the second aspect or the possible implementations of the second aspect. Alternatively, the processor is configured to execute a program stored in a memory. When the program is executed, the method according to any one of the second aspect or the possible implementations of the second aspect is performed.
In a possible implementation, the memory is located outside the communication apparatus.
In a possible implementation, the memory is located inside the communication apparatus.
In this embodiment of this application, the processor and the memory may alternatively be integrated into one component. In other words, the processor and the memory may alternatively be integrated together.
In a possible implementation, the communication apparatus further includes a transceiver. The transceiver is configured to receive a signal and/or send a signal.
According to a seventh aspect, an embodiment of this application provides a chip. A communication apparatus includes a logic circuit and an interface. The logic circuit is coupled to the interface. The interface is configured to input a first bit sequence. The logic circuit is configured to perform LDPC encoding on the first bit sequence based on a check matrix, to obtain a second bit sequence. The interface is further configured to output the second bit sequence.
It may be understood that the communication apparatus shown in this embodiment of this application may be referred to as a chip, an encoder, an apparatus having an encoding function, or the like. This is not limited in embodiments of this application.
According to an eighth aspect, an embodiment of this application provides a chip. A communication apparatus includes a logic circuit and an interface. The logic circuit is coupled to the interface. The interface is configured to input a second bit sequence. The logic circuit is configured to perform LDPC decoding on the second bit sequence based on a check matrix.
It may be understood that the communication apparatus shown in this embodiment of this application may be referred to as a chip, a decoder, an apparatus having a decoding function, or the like. This is not limited in embodiments of this application.
According to a ninth aspect, an embodiment of this application provides a computer-readable storage medium. The computer-readable storage medium is configured to store a computer program. When the computer program is run on a computer, the method according to any one of the first aspect or the possible implementations of the first aspect is performed.
According to a tenth aspect, an embodiment of this application provides a computer-readable storage medium. The computer-readable storage medium is configured to store a computer program. When the computer program is run on a computer, the method according to any one of the second aspect or the possible implementations of the second aspect is performed.
According to an eleventh aspect, an embodiment of this application provides a computer program product. The computer program product includes a computer program or computer code (which may also be referred to as instructions). When the computer program or the computer code is run on a computer, the method according to any one of the first aspect or the possible implementations of the first aspect is performed.
According to a twelfth aspect, an embodiment of this application provides a computer program product. The computer program product includes a computer program or computer code (which may also be referred to as instructions). When the computer program or the computer code is run on a computer, the method according to any one of the second aspect or the possible implementations of the second aspect is performed.
According to a thirteenth aspect, an embodiment of this application provides a computer program. When the computer program is run on a computer, the method according to any one of the first aspect or the possible implementations of the first aspect is performed.
According to a fourteenth aspect, an embodiment of this application provides a computer program. When the computer program is run on a computer, the method according to any one of the second aspect or the possible implementations of the second aspect is performed.
According to a fifteenth aspect, an embodiment of this application provides a communication system. The communication system includes a transmitter and a receiver. The transmitter is configured to perform the method according to any one of the first aspect or the possible implementations of the first aspect, and the receiver is configured to perform the method according to any one of the second aspect or the possible implementations of the second aspect.
To make the objectives, technical solutions, and advantages of this application clearer, the following further describes this application with reference to the accompanying drawings.
Terms “first”, “second”, and the like in the specification, the claims, and the accompanying drawings of this application are merely used for distinguishing between different objects, and are not used for describing a specific order. In addition, terms such as “include” and “have” and any other variants thereof are intended to cover a non-exclusive inclusion. For example, processes, methods, systems, products, devices, or the like that include a series of steps or units are not limited to listed steps or units, but instead, optionally further include steps, units, or the like that are not listed, or optionally further include other steps or units inherent to these processes, methods, products, devices, or the like.
An “embodiment” mentioned in this specification means that a particular feature, structure, or characteristic described with reference to the embodiment may be included in at least one embodiment of this application. The phrase shown in various locations in the specification may not necessarily refer to a same embodiment, and is not an independent or optional embodiment exclusive from another embodiment. It may be understood explicitly and implicitly by a person skilled in the art that embodiments described in this specification may be combined with other embodiments.
In this application, “at least one (item)” means one or more, “a plurality of” means two or more, and “at least two (items)” means two or three or more. “And/or” is used for describing an association relationship between associated objects, and indicates that three relationships may exist. For example, “A and/or B” may represent three cases: Only A exists, only B exists, and both A and B exist, where A and B may be singular or plural. The character “/” generally indicates an “or” relationship between the associated objects. “At least one of the following” or a similar expression thereof means any combination of these items. For example, at least one of a, b, or c may indicate: a, b, c, “a and b”, “a and c”, “b and c”, or “a and b and c”.
The technical solutions provided in embodiments of this application may be applied to various communication systems, for example, an internet of things (internet of things, IoT) system, a narrowband internet of things (narrowband internet of things, NB-IoT) system, a long term evolution (long term evolution, LTE) system, a 5th generation (5th generation, 5G) communication system, a new radio (new radio, NR) system, and a new communication system that emerges in future communication development.
The technical solutions provided in embodiments of this application may also be applied to non-terrestrial network (non-terrestrial network, NTN) communication (which may also be referred to as non-terrestrial network communication), machine type communication (machine type communication, MTC), a long term evolution-machine (long term evolution-machine, LTE-M) technology, a device-to-device (device-to-device, D2D) network, a machine-to-machine (machine-to-machine, M2M) network, an internet of things (internet of things, IoT) network, an industrial internet, or another network. The IoT network may include, for example, an internet of vehicles. Communication modes in an internet of vehicles system are collectively referred to as vehicle-to-everything (vehicle-to-everything, V2X, where X can stand for anything). For example, the V2X may include vehicle-to-vehicle (vehicle-to-vehicle, V2V) communication, vehicle-to-infrastructure (vehicle-to-infrastructure, V2I) communication, vehicle-to-pedestrian (vehicle-to-pedestrian, V2P) communication, vehicle-to-network (vehicle-to-network, V2N) communication, or the like. For example, in
The technical solutions provided in embodiments of this application may also be applied to a wireless local area network (wireless local area network, WLAN) system, for example, Wi-Fi. For example, methods provided in embodiments of this application are applicable to the Institute of Electrical and Electronics Engineers (institute of electrical and electronics engineers, IEEE) 802.11 series protocols, such as the 802.11a/b/g protocol, the 802.11n protocol, the 802.11ac protocol, the 802.11ax protocol, the 802.11be protocol, and a next generation protocol. Other applicable protocols are not listed one by one herein. For another example, the methods are also applicable to a wireless personal area network (wireless personal area network, WPAN) based on an ultra wideband (ultra wideband, UWB) technology, such as the 802.15.4a protocol, the 802.15.4z protocol, and the 802.15.4ab protocol in the IEEE 802.15 series protocols, and a future generation of UWB WPAN protocol. Other applicable protocols are not listed one by one herein. A person skilled in the art easily understands that, various aspects in embodiments of this application may be extended to other networks using various standards or protocols, for example, Bluetooth (Bluetooth), a high performance radio LAN (high performance radio LAN, HIPERLAN) (which is a wireless standard similar to the IEEE 802.11 standard, and is mainly used in Europe), a wide area network (WAN), or other networks known or developed in the future. Therefore, regardless of a coverage area and a wireless access protocol that are used, the technical solutions provided in embodiments of this application are applicable to any suitable wireless network.
In a possible implementation,
The terminal device is an apparatus having a wireless transceiver function. The terminal device may communicate with an access network device (or may be referred to as an access device) in a radio access network (radio access network, RAN). The terminal device may also be referred to as user equipment (user equipment, UE), an access terminal, a terminal (terminal), a subscriber unit (subscriber unit), a subscriber station, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a user agent, a user apparatus, or the like. In a possible implementation, the terminal device may be deployed on land, including an indoor, outdoor, handheld, or vehicle-mounted device; may be deployed on the water (for example, a ship), or the like. In a possible implementation, the terminal device may be a handheld device having a wireless communication function, a vehicle-mounted device, a wearable device, a sensor, a terminal in an internet of things, a terminal in an internet of vehicles, an unmanned aerial vehicle, a terminal device in any form in a 5G network or a future network, or the like. This is not limited in embodiments of this application. It may be understood that the terminal device shown in this embodiment of this application may not only include a vehicle (for example, a car) in the internet of vehicles, but also may include a vehicle-mounted device, a vehicle-mounted terminal, or the like in the internet of vehicles. A specific form of the terminal device used in the internet of vehicles is not limited in embodiments of this application. It may be understood that the terminal devices shown in this embodiment of this application may further communicate with each other by using a technology such as D2D, V2X, or M2M. A communication method between the terminal devices is not limited in embodiments of this application.
The network device may be an apparatus that is deployed in the radio access network and that provides a wireless communication service for the terminal device. The network device may also be referred to as an access network device, an access device, a RAN device, or the like. For example, the network device may be a next generation NodeB (next generation NodeB, gNB), a next generation evolved NodeB (next generation evolved NodeB, ng-eNB), a network device in 6G communication, or the like. The network device may be any device having a wireless transceiver function, and includes but is not limited to the base station shown above (including a base station deployed on a satellite). Alternatively, the network device may be an apparatus that has a base station function in 6G. Optionally, the network device may be an access node, a wireless relay node, a wireless backhaul node, or the like in a Wi-Fi system. Optionally, the network device may be a radio controller in a cloud radio access network (cloud radio access network, CRAN) scenario. Optionally, the network device may be a wearable device, a vehicle-mounted device, or the like. Optionally, the network device may be a small cell, a transmission reception point (transmission reception point, TRP) (or may be referred to as a transmission point), or the like.
It may be understood that the network device may alternatively be a base station, a satellite, or the like in a future evolved public land mobile network (public land mobile network, PLMN). The network device may alternatively be a communication apparatus or the like functioning as a base station in a non-terrestrial communication system, D2D, V2X, or M2M. A specific type of the network device is not limited in embodiments of this application. In systems using different radio access technologies, names of communication apparatuses having functions of network devices may be different, and are not listed one by one in this embodiment of this application. Optionally, in some deployments of the network device, the network device may include a central unit (central unit, CU), a distributed unit (distributed unit, DU), and the like. In some other deployments of the network device, the CU may be further divided into a CU-control plane (control plane, CP), a CU-user plane (user plane, UP), and the like. In still some other deployments of the network device, the network device may alternatively be an open radio access network (open radio access network, ORAN) architecture or the like. A specific deployment manner of the network device is not limited in embodiments of this application.
In another possible implementation,
It may be understood that, in
The access point is an apparatus having a wireless communication function, supports communication or sensing by using a WLAN protocol, has a function of communicating with or sensing another device (for example, a station or another access point) in a WLAN network, and certainly may also have a function of communicating with or sensing another device. Alternatively, the access point is equivalent to a bridge that connects a wired network and a wireless network. A main function of the access point is to connect various wireless network clients together and then connect the wireless network to the Ethernet. In a WLAN system, the access point may be referred to as an access point station (AP STA). The apparatus having the wireless communication function may be an entire device, or may be a chip, a processing system, or the like installed in the entire device. The device in which the chip or the processing system is installed may implement the method, the function, and the like in embodiments of this application under control of the chip or the processing system. The AP in embodiments of this application is an apparatus that provides a service for the STA, and may support the 802.11 series protocols, subsequent protocols, or the like. For example, the access point may be an access point for a terminal (for example, a mobile phone) to access a wired (or wireless) network, and is mainly deployed at home, and inside a building and a campus. A typical coverage radius is tens to hundreds of meters. It is clear that the access point may alternatively be deployed outdoors. For another example, the AP may be a communication entity, for example, a communication server, a router, a switch, or a bridge, or the AP may include various forms of macro base stations, micro base stations, relay stations, and the like. It is clear that the AP may alternatively be a chip or a processing system in these devices in various forms, to implement the method and the function in embodiments of this application. For descriptions of the access point, refer to the descriptions of the network device in
The station is an apparatus having a wireless communication function, supports communication or sensing by using the WLAN protocol, and has a capability of communicating or sensing with another station or the access point in the WLAN network. In the WLAN system, the station may be referred to as a non-access point station (non-access point station, non-AP STA). For example, the STA is any user communication device that allows a user to communicate with or sense the AP and then communicate with the WLAN. The apparatus having the wireless communication function may be an entire device, or may be a chip, a processing system, or the like installed in the entire device. The device in which the chip or the processing system is installed may implement the method and the function in embodiments of this application under control of the chip or the processing system. For example, the station may be a wireless communication chip, a wireless sensor, a wireless communication terminal, or the like, and may also be referred to as a user. For another example, the station may be a mobile phone, a tablet computer, a set-top box, a smart television, a smart wearable device, a vehicle-mounted communication device, a computer, or the like supporting a Wi-Fi communication function. For descriptions of the station, refer to the descriptions of the terminal device in
A network architecture and a service scenario that are described in embodiments of this application are intended to describe the technical solutions in embodiments of this application more clearly, but do not constitute any limitation on the technical solutions provided in embodiments of this application. A person of ordinary skill in the art can know that, as a network architecture evolves and a new service scenario emerges, the technical solutions provided in embodiments of this application are also applicable to similar technical issues.
An NR LDPC code has been used as a channel coding scheme of a data channel for a 5G data channel, and the NR LDPC code is specially designed for a channel coding scenario. Therefore, if the NR LDPC code is directly used for data transmission for a biased source in a JSCC scenario, performance is greatly affected.
In view of this, embodiments of this application provide an encoding method, a decoding method, and an apparatus, to provide a set of JSCC-LDPC codes for the biased source in the JSCC scenario. The JSCC-LDPC code provided in embodiments of this application can effectively improve decoding performance, so that the performance is greatly improved in a scenario with the biased source. For example, the JSCC-LDPC code provided in embodiments of this application may be referred to as a combined-compression-correction protograph LDPC (combined-compression-correction protograph LDPC, 3C-P-LDPC) code or an LDPC code applicable to the biased source. A specific name of the JSCC-LDPC code provided in embodiments of this application is not limited in embodiments of this application. The 3C-P-LDPC code provided in embodiments of this application has a higher degree of design freedom, and can achieve excellent performance in a case of at least two different source sparsities, especially in a low error probability region. Optionally, a check matrix of the 3C-P-LDPC code provided in embodiments of this application may be used as a kernel matrix and expanded by using a structure similar to NR LDPC. Therefore, a check matrix set that supports more different source sparsities and code rates is obtained (as shown in a similar expansion manner below). The 3C-P-LDPC code provided in embodiments of this application is applicable to sources with different sparsities, and has good decoding performance. Therefore, the 3C-P-LDPC code has a wide application prospect for a next generation wireless communication system.
Before the encoding method and the decoding method provided in embodiments of this application are described, the following first describes in detail a design principle of the check matrix provided in embodiments of this application.
Generally, the JSCC-EXIT chart is used for decoding threshold analysis, and a JSCC-EXIT chart analysis method may be used as a core step of designing the 3C-P-LDPC code (also referred to as a 1st step of designing the 3C-P-LDPC code). As a basis for analyzing a theoretical decoding threshold of a base matrix, theoretical limit decoding performance of a given protograph may be learned of by analyzing the JSCC-EXIT chart.
As shown in
Generally, the protograph is in one-to-one correspondence with the base matrix. The decoding threshold of the protograph shown in this embodiment of this application may alternatively be equivalent to a decoding threshold of a second base matrix or a decoding threshold of a first base matrix shown below.
As shown in
It may be understood that whether C1 to C4 are satisfied is merely an example. For example, whether C1 to C4 are satisfied may be replaced with whether at least one of C1 to C4 is satisfied. The foregoing differential evolution iteration manner is merely an example. For example, a manner of optimizing an additional factor or a non-differential evolution manner may be used. This is not limited in embodiments of this application.
It should be noted that
3. S1 Structure and Constraint Conditions C1 to C4 For an NR LDPC code, except a bit corresponding to a state node, all other encoded bits need to be transmitted through a channel. In addition, because a structure of the NR LDPC code for a check part is fixed, optimization of a protograph (or a base matrix) of the NR LDPC code is almost optimization of an information part. The state node shown herein may be understood as a variable node corresponding to a punctured information bit in a channel coding scenario. As shown on the left of
However, in embodiments of this application, not all bits obtained through LDPC encoding need to be transmitted through the channel. Therefore, embodiments of this application provide a 3C-P-LDPC code. For example, in embodiments of this application, a check bit may be transmitted through the channel, and each information bit is punctured before transmission. For another example, in embodiments of this application, the check bit and some information bits may be transmitted through the channel. If the NR LDPC code is still used, a receiver cannot provide, for the information bits based on the transmitted check bit (including a core check bit and an expanded check bit), more information by using an optimized graph connection structure. Consequently, it is difficult to restore all or some of punctured information bits. However, according to the 3C-P-LDPC code provided in embodiments of this application, the information bits can be effectively restored based on the transmitted check bit. A structure of the 3C-P-LDPC code for a check part is not fixed, and a structure of the 3C-P-LDPC code for an information part may not be fixed. In other words, both optimization of the information part and optimization of the check part are included. In comparison with the NR LDPC code, the 3C-P-LDPC code has a higher degree of freedom and better decoding performance in a scenario with a biased source.
S1: Introduction of a state node into a check part in a base matrix may improve a decoding threshold of JSCC and actual performance of JSCC-LDPC. The actual performance shown herein is relative to extreme performance shown for the decoding threshold. In other words, the actual performance may be understood as actual performance when encoding and decoding are performed based on a required code length and code rate. As shown on the right of
C1: A check part square matrix obtained by expanding the base matrix is full-rank, so that it can be ensured that a source bit is encoded without a code rate loss. For example, whether a check matrix is full-rank may be determined in the following manner: In a protograph, an even item is set to 0, and an odd item is set to 1; or in a protograph, an even item is set to 1, and an odd item is set to 0. If a binary square matrix obtained in the foregoing manner is full-rank in a binary operation, a check part in the check matrix obtained by expanding the base matrix is also full-rank. The binary square matrix is.
C2: A maximum row weight and a maximum column weight in the base matrix are controlled to control a density of is in the matrix, so that performance of the base matrix can be effectively improved in a case of a medium or small code length. A quantity of columns whose weights are 1 and a quantity of rows whose weights are 1 in the base matrix are limited.
C3: A quantity of variable nodes whose degrees are 2 is controlled, to ensure that a minimum distance of a constructed code can increase linearly as a code length increases, and performance of an error floor is better controlled. The quantity of variable nodes whose degrees are 2 may be understood as a column including two is in the base matrix. As shown on the left of
C4: A plurality of protographs with a good decoding threshold are stored for further optimization. In embodiments of this application, a plurality of first base matrices may be obtained by optimizing one second base matrix. Therefore, two communication parties may select one first base matrix from the plurality of first base matrices based on an actual requirement, to optimize decoding performance. For example, to better select a protograph with excellent performance in a case of a medium or small code length, the plurality of protographs with the good threshold may be stored for further optimization. For example, for a short code, the decoding threshold cannot completely determine final performance of an actual code, because a complex subgraph structure in a factor graph of the short code severely affects decoding performance. Therefore, the plurality of protographs are stored, so that the two communication parties can have more choices.
Based on the foregoing S1 structure and the constraint conditions C1 to C4, in comparison with a conventional channel coding LDPC code, the 3C-P-LDPC code for the joint source-channel coding provided in embodiments of this application needs to satisfy more structural characteristics and constraint conditions. Therefore, matrices corresponding to the information part and the check part each can be optimized. In a specific design process of the protograph, in each design step, it needs to be ensured that a temporary or final check matrix designed or generated by using an evolutionary algorithm satisfies the basic architecture shown on the right (namely, S1) of
Based on the foregoing principle, embodiments of this application provide a plurality of base matrices and check matrices. The following describes the method in embodiments of this application.
501: The transmitter obtains a first bit sequence, where the first bit sequence includes K information bits, and K is a positive integer.
The first bit sequence may be understood as a to-be-sent bit sequence obtained by the transmitter. For example, the first bit sequence may be understood as a bit sequence including information content or a bit sequence that needs to be transmitted. Optionally, the first bit sequence may be understood as including the K information bits. The K information bits shown above may include a cyclic redundancy check (cyclic redundancy check, CRC). Alternatively, the K information bits may not include a CRC. In this case, the transmitter may not add the CRC or may add the CRC in a subsequent process of processing the first bit sequence. This is not limited in embodiments of this application. The first bit sequence may be a bit sequence on which source compression is not performed. Alternatively, the first bit sequence may be a bit sequence on which source compression is performed.
502: The transmitter performs LDPC encoding on the first bit sequence based on a check matrix, to obtain a second bit sequence, where the check matrix is obtained based on a first base matrix, the first base matrix corresponds to a second base matrix, the second bit sequence includes M check bits, and M is a positive integer.
The M check bits included in the second bit sequence may be directly obtained through LDPC encoding. Alternatively, the second bit sequence may be obtained through rate matching performed, by the transmitter, on a sequence that is obtained through LDPC encoding. For example, the transmitter obtains the second bit sequence by puncturing the sequence that is obtained through LDPC encoding. In an example, the second bit sequence may include the M check bits. In other words, only the check bits may be transmitted through a channel. In another example, the second bit sequence may include the M check bits and N information bits, where N is less than K. In other words, in addition to the check bits transmitted through a channel, a small quantity of information bits may be transmitted through the channel. A value relationship between K and M is not limited in embodiments of this application.
The second base matrix includes the following elements: 0, 1, and 2, and the second base matrix may satisfy at least one of the following conditions:
Condition 1: An element 1 in a 2nd column of a check part in the second base matrix and an element 2 in a 1st column of the check part are located in a same row, and a quantity of elements 1 in the 2nd column is less than or equal to a quantity of elements 2 in the 1st column.
The element 1 in the 2nd column and the element 2 in the 1st column of the second base matrix are located in the same row, so that decoding performance of the receiver can be ensured, a low decoding threshold can be ensured, and encoding and decoding complexity is low. In this embodiment of this application, decoding performance of the second base matrix when the quantity of elements 1 in the 2nd column is less than the quantity of elements 2 in the 1st column is better than decoding performance of the second base matrix when the quantity of elements 1 in the 2nd column is equal to the quantity of elements 2 in the 1st column.
Condition 2: A 1st column of a check part in the second base matrix is a punctured column.
The 1st column of the second base matrix may also be referred to as a state column. Because the transmitter may transmit only the check bits, or transmit the check bits and some information bits, decoding performance can be effectively improved by setting the state column in the check part.
It may be understood that the 1st column of the check part in the second base matrix may be referred to as the punctured column, may be referred to as the state column, or may be referred to as a state node. This is not limited in embodiments of this application. For descriptions of the state node, refer to
Condition 3: A quantity of rows of the second base matrix is determined based on a sparsity of the first bit sequence.
At least one of a quantity of rows of a check part in the second base matrix and a quantity of rows of an information part in the second base matrix may be determined based on the sparsity of the first bit sequence. Generally, a smaller sparsity of a source indicates a sparser source. Therefore, the receiver can effectively restore the information bits by using only the check bits. Therefore, a sparser source indicates a larger code rate, that is, a smaller quantity of check bits transmitted by the transmitter. For example, a sparser source indicates a smaller quantity of rows of the check part, and correspondingly, a smaller quantity of rows of the information part.
A quantity of rows of the second base matrix is determined based on the sparsity of the first bit sequence, so that the transmitter can select, based on different first bit sequences, a second base matrix that matches the sparsity, to better match the first bit sequence. In this way, decoding performance is optimized.
Condition 4: A quantity of columns of the second base matrix is determined based on a sparsity of the first bit sequence.
At least one of a quantity of columns of a check part in the second base matrix and a quantity of columns of the information part in the second base matrix is determined based on the sparsity of the first bit sequence. Generally, the check part in the base matrix is a square matrix. Therefore, when a source is sparser, the quantity of columns of the check part in the second base matrix may be smaller. If the source is less sparse, the receiver may fail to restore a large quantity of information bits by using the check bits. Therefore, the quantity of columns of the information part in the second base matrix may be smaller.
Different second base matrices are designed based on the sparsity of the first bit sequence, so that a degree of design freedom of the base matrix can be effectively improved.
Condition 5: A 1st column of a check part in the second base matrix is any one of the following: [1 2 1 2]T [1 1 2 2]T [2 2 1 1]T [2 1 2 1]T [1 1 1 2 2]T [1 1 2 2 1]T [1 2 2 1 1]T [2 2 1 1 1]T [1 2 1 2 1]T [2 1 1 1 2]T, and [2 1 2 1 1]T.
The 1st column of the check part in the second base matrix is a result obtained based on a compromise between a decoding threshold and a trapping set.
It may be understood that the 1st column of the check part in the second base matrix shown herein is merely an example. A matrix obtained through column permutation (or column transformation) or row permutation (or row transformation) performed on the second base matrix, the first base matrix, or the check matrix shown in this embodiment of this application also falls within the protection scope of embodiments of this application. In other words, a matrix obtained through column permutation performed on the second base matrix shown below also belongs to the second base matrix, and/or a matrix obtained through row permutation performed on the second base matrix shown below also belongs to the second base matrix. A matrix obtained through at least one of a column permutation operation or a row permutation operation performed on the first base matrix shown below also belongs to the first base matrix. A matrix obtained through at least one of a column permutation operation or a row permutation operation performed on the check matrix shown below also belongs to the check matrix.
Condition 6: A column weight of a 2nd column of a check part in the second base matrix is 1.
That the column weight of the 2nd column of the check part in the second base matrix is 1 may also be understood as that a degree of the 2nd column is 1. A combination of the condition 6 and the condition 1 can effectively improve decoding performance of the receiver and reduce encoding and decoding complexity.
Based on at least one of the foregoing condition 2 to condition 6 and the condition 1, a base matrix having a low decoding threshold may be obtained through differential evolution iteration of information by using the method shown in
A relationship between the first base matrix and the second base matrix may satisfy at least one of the following:
Condition 7: A quantity of rows of the first base matrix is equal to n times the quantity of rows of the second base matrix, where n is an integer greater than or equal to 2.
For example, n=2, n=3, or n=4. Examples are not listed one by one herein.
Condition 8: A quantity of columns of the first base matrix is equal to n times the quantity of columns of the second base matrix, where n is an integer greater than or equal to 2.
For the condition 7 and the condition 8, it may also be understood that the first base matrix may be obtained based on the second base matrix by using a lifting factor n.
Condition 9: The element 1 in the second base matrix is expanded to an n*n identity matrix or an n*n antisymmetric square matrix, and the element 2 in the second base matrix is expanded to an n*n all-1 matrix, where n is an integer greater than or equal to 2.
For example, the element 1 in the second base matrix may be expanded to a formula (1) or a formula (2), and the element 2 may be expanded to a formula (3).
It may be understood that each element 1 in the second base matrix may be expanded to the formula (1) or the formula (2), or a first quantity of elements 1 in the second base matrix may be expanded to the formula (1), and a second quantity of elements 1 may be expanded to the formula (2). A value relationship between the first quantity and the second quantity is not limited in embodiments of this application.
It may be understood that, based on the relationship between the first base matrix and the second base matrix, at least one of the condition 2, the condition 3, the condition 4, and the condition 6 that the second base matrix satisfies is also applicable to the first base matrix. For example, the first n columns of the first base matrix may be punctured columns. For another example, at least one of the quantity of rows or the quantity of columns of the first base matrix is determined based on the sparsity of the first bit sequence. For another example, column weights of a (n+1)th column to a (2n)th column of the first base matrix may be 1. Based on a relationship between the second base matrix and the check matrix, the foregoing condition that the second base matrix satisfies is also applicable to the check matrix. For example, at least one of a quantity of rows or a quantity of columns of the check matrix is determined based on the sparsity of the first bit sequence. For another example, a quantity of columns of an information part in the check matrix is inversely correlated with the sparsity of the first bit sequence. For another example, at least one of the quantity of rows and the quantity of columns of the check part in the check matrix is positively correlated with the sparsity of the first bit sequence. Descriptions of the first base matrix and the check matrix are not listed one by one.
At least one of the condition 1 to the condition 6 shown above may be combined with at least one of the condition 7 to the condition 9. Examples are not listed one by one herein. For descriptions of the first base matrix, the second base matrix, and the check matrix, refer to
It should be noted that, in view of a relationship between the second base matrix, the first base matrix, and the check matrix, during actual application, two communication parties may perform encoding and decoding by storing the second base matrix, the two communication parties may perform encoding and decoding by storing the first base matrix, or two communication parties may perform encoding and decoding by storing the check matrix. In other words, although the relationship between the second base matrix and the first base matrix is described above, it does not indicate that during actual application, the two communication parties definitely store the second base matrix. Generally, the two communication parties store the first base matrix.
503: The transmitter sends the second bit sequence, and correspondingly, the receiver receives the second bit sequence.
It may be understood that after the second bit sequence is obtained, the transmitter may not actually send the second bit sequence, but a symbol sequence obtained through operations such as rate matching, modulation, and frequency conversion performed on the second bit sequence. Correspondingly, the receiver may not receive the second bit sequence through a wired channel or a wireless channel, but a sequence obtained by transmitting the symbol sequence through the channel. Then, the receiver can obtain the second bit sequence only after performing operations corresponding to the operations performed by the transmitter. For brevity, the descriptions of step 503 are used in this embodiment of this application, but should not be construed as any limitation on embodiments of this application. In addition, that the transmitter sends the second bit sequence is used as an example to describe
504: The receiver performs LDPC decoding on the second bit sequence based on the check matrix, to obtain the K information bits.
For example, a decoding method may include any one of hard decision decoding, soft decision decoding, and hybrid decoding. This is not limited in embodiments of this application. For example, after obtaining the second bit sequence, the receiver may perform LDPC decoding on the second bit sequence. If a decoding error occurs or a specific threshold is not reached, LDPC decoding is performed again, and the K information bits are output until decoding is performed correctly or the specific threshold is reached. A condition for performing LDPC decoding again may include at least one of the following: failing to reach a quantity of decoding iterations and failing to succeed in verification of the check matrix. Optionally, if the receiver has a decoding error (or fails to perform decoding), the receiver sends retransmission indication information to the transmitter, to request the transmitter to perform retransmission. In addition, if failing to perform decoding, the receiver may store an initially transmitted sequence, to perform combined decoding on the initially transmitted sequence and a retransmitted sequence that is subsequently received.
It may be understood that, in addition to the check matrix, a code rate (which may also be referred to as an encoding code rate, a target code rate, or the like) may be further used in an encoding and decoding process. For example, the transmitter may perform LDPC encoding on the first bit sequence based on the check matrix and the code rate, and correspondingly, the receiver may perform LDPC decoding on the second bit sequence based on the check matrix and the code rate. For example, the code rate may be dynamically or statically configured by a network device for a terminal device. For example, the network device may send, to the terminal device by using radio resource control (radio resource control, RRC) signaling, information including the encoding code rate. For another example, the network device may send, to the terminal device by using downlink control information (downlink control information, DCI), information including the encoding code rate; or the network device may deliver, to the terminal device in a broadcast manner, information including the encoding code rate. This is not limited in embodiments of this application.
In this embodiment of this application, the element 2 in the 1st column of the check part in the second base matrix and the element 1 in the 2nd column are located in the same row, and the quantity of elements 1 in the 2nd column is less than or equal to the quantity of elements 2 in the 1st column. A combination of the two columns can effectively improve decoding performance and reduce a decoding threshold. LDPC encoding and LDPC decoding are performed by using the check matrix provided in this embodiment of this application, so that decoding performance in a scenario with a biased source can be effectively improved.
The following describes the second base matrix, the first base matrix, and the check matrix in this embodiment of this application.
In a possible implementation of this application, the second base matrix may be in two forms. One form corresponds to a case in which the sparsity of the first bit sequence is less than or equal to a first threshold, as shown in
Implementation 1 shown below may be understood as a second base matrix, a first base matrix, and a check matrix that are shown when the first threshold is equal to 0.05, Implementation 2 may be understood as a second base matrix, a first base matrix, and a check matrix that are shown when the first threshold is equal to 0.11, and Implementation 3 may be understood as a second base matrix, a first base matrix, and a check matrix that are shown when the first threshold is equal to 0.3.
In this embodiment of this application, an example in which the 1st column of the check part in the second base matrix is [1 2 1 2]T is used. The 1st column is specifically selected by eliminating the compromise between the decoding threshold and the trapping set (which may also be referred to as a loop trapping set). In addition, [1 2 1 2]T is compared with the following two columns: [1 2 2 2]T and [1 1 1 2]T. It is found through comparison that the second base matrix used when the 1st column of the check part is [1 2 1 2]T can be used to eliminate the compromise between the decoding performance and the trapping set. The column weight of the 2nd column of the check part in the second base matrix is 1. For example, the 2nd column may be [0 0 0 1]T. A combination of the 2nd column and the 1st column can achieve an extremely low decoding threshold, and the encoding and decoding complexity can be greatly reduced.
It should be noted that 1 in the 2nd column may be located at any location in the column, but a row in which 1 in the 1st column is located and 2 in the 1st column are located in the same row. Alternatively, this may be understood as that 1 in the column whose degree is 1 needs to be connected to 2 in the state column or located in a same row as 2 in the state column. It may be understood that, with reference to the descriptions of the condition 5 in
In an example, when the first threshold is equal to 0.05, the following two base matrix groups are provided based on the degree of design freedom and the encoding complexity: a base matrix group A (base group A) and a base matrix group B (base group B). It may be understood that both the base matrix group A and the base matrix group B may be understood as second base matrices. The base matrix group A may be understood as that a degree of freedom is higher during design of the base matrix, and a better decoding threshold or better decoding performance can be obtained. The base matrix group B may be understood as that a degree of freedom is slightly low during design of the base matrix, but encoding and decoding complexity is low, and especially, complexity on an encoding side is lower. For example, when the base matrix group A is used for encoding, inversion needs to be performed on some 4*4 square matrices for the check part in the base matrix. When the base matrix group B is used for encoding, inversion needs to be performed on some 3*3 square matrices for the check part in the base matrix. Then, a check bit corresponding to a column whose column weight is 1 is calculated.
According to the foregoing constraint condition C2, to optimize the decoding performance of the designed base matrix in a case of a medium or short code, a density of the base matrix is further constrained. That is, a maximum row weight and a maximum column weight are controlled. This embodiment of this application provides three independently designed density regions. A density refers to an x part in the base matrix shown below. C3R7 means that a maximum column weight of the x part in the base matrix does not exceed 3, and a maximum row weight of the x part does not exceed 7. A matrix density region is roughly divided into the following D1 to D3: D1 (C3R7, C3R6), D2 (C4R8, C4R7), and D3 (C5R9, C5R8, C5R7). It may be understood that D1, D2, and D3 may be understood as different base matrices at a same code rate.
It should be noted that the threshold (Thr) in this embodiment of this application may be understood as a decoding threshold corresponding to a corresponding code rate of the base matrix. The decoding threshold refers to minimum Eb/NO required for successful decoding of a 3C-P-LDPC code corresponding to the base matrix when the code length is infinite. A gap (Gap) refers to a distance (represented by dB) between the decoding threshold and Eb/NO corresponding to a channel capacity at the corresponding code rate.
In an example, the second base matrix (which may also be referred to as a base matrix group A) includes the following matrix with four rows and nine columns:
In another example, the second base matrix (which may also be referred to as a base matrix group A) includes the following matrix with four rows and nine columns:
It can be learned from the second base matrix shown above that an arrangement sequence of the check part and the information part is not limited in embodiments of this application.
In still another example, the second base matrix (which may also be referred to as a base matrix group B) includes the following matrix with four rows and nine columns:
In still another example, the second base matrix (which may also be referred to as a base matrix group B) includes the following matrix with four rows and nine columns:
A difference between the base matrix group A and the base matrix group B lies in whether all rows in a last row, except a 1st column and a 2nd column of the check part, are 0. Values of the columns in the last row, except the 1st column and the 2nd column of the check part, are constrained, so that a base matrix obtained through optimization can achieve a tradeoff (tradeoff) between decoding performance and implementation complexity.
Alternatively, based on the foregoing formula (2) and formula (3), the first base matrix may include the following matrix with eight rows and 18 columns:
When expansion is performed by using the foregoing formula (1) and formula (3), or by using the foregoing formula (2) and formula (3), an expansion manner is simple.
It may be understood that the first base matrix shown above is merely an example. Alternatively, some elements 1 in the second base matrix may be expanded to the formula (1), and the other elements 1 may be expanded to the formula (2). For example, the first base matrix may alternatively include the following matrix with eight rows and 18 columns:
In a combination manner, some elements 1 in the second base matrix are expanded to the formula (1), and the other elements 1 are expanded to the formula (2), so that a structure of the first base matrix obtained through expansion is more stable, and performance is better.
It may be understood that the foregoing first base matrix is shown by using n=2 as an example, and cases in which n=3, n=4, n=5, and the like are not shown one by one. n=2 should not be construed as a limitation on embodiments of this application. First base matrices obtained by expanding the second base matrix shown in
A lower part of
Alternatively, the first base matrix may include the following matrix with eight rows and 18 columns:
Alternatively, the first base matrix may include the following matrix with eight rows and 18 columns:
First base matrices obtained by expanding the second base matrix shown in
A lower part of
It may be understood that, for a manner of obtaining the first base matrix based on the second base matrix shown by an upper part of
In a possible implementation, to enable the base matrix group A and the base matrix group B to adapt to a wider range of source sparsities, the following expansion design is further performed in this embodiment of this application, and the second base matrix is shown as follows:
A represents an information part in the second base matrix, B represents a check part in the second base matrix, C is a matrix determined based on the code rate and the sparsity of the first bit sequence, a 1st column in D is a punctured column, and a remaining part other than the 1st column in D is obtained based on an identity matrix. For example, for A, refer to the information part shown in
It may be understood that base matrices shown in
It may be understood that, when the source sparsity is equal to 0.05, the two communication parties may use the second base matrix, the first base matrix, and the check matrix shown in Implementation 1, or the two communication parties may use the second base matrix, the first base matrix, and the check matrix shown in Implementation 2. A specific matrix used when the source sparsity is at a critical point is not limited in embodiments of this application. Similarly, when the source sparsity is equal to 0.11, the two communication parties may use the matrices shown in Implementation 2, or may use the matrices shown in Implementation 3.
In this embodiment of this application, the 2nd column of the check part in the second base matrix is [1 2 1 2]T, and the 1st column of the check part is [0 0 0 1]T. For descriptions of the 1st column and the 2nd column, refer to related descriptions in Implementation 1. Details are not described herein again.
For example, when the first threshold is equal to 0.11, the following two base matrix groups are provided based on the degree of freedom and the encoding complexity: a base matrix group A and a base matrix group B. For descriptions of the base matrix group A and the base matrix group B, refer to related descriptions in Implementation 1 (for example, refer to descriptions of the degrees of freedom, decoding thresholds, and complexity of the base matrix group A and the base matrix group B in Implementation 1; for another example, refer to descriptions of the difference between the base matrix group A and the base matrix group B in Implementation 1). Details are not described herein again.
According to the foregoing constraint condition C2, to optimize the decoding performance of the designed base matrix in a case of a medium or short code, a density of the base matrix needs to be further constrained. That is, a maximum row weight and a maximum column weight need to be controlled. This embodiment of this application provides three independently designed density regions. A density refers to an x part in the following base matrix. C3R7 means that a maximum column weight of the x part in the base matrix does not exceed 3, and a maximum row weight of the x part does not exceed 7. A matrix density region is roughly divided into the following D1 to D3: D1 (C3R5, C3R4), D2 (C4R5, C4R4), and D3 (C5R6, C5R5). For descriptions of Thr, Gap, and D1 to D3 in this embodiment of this application, refer to Implementation 1. Details are not described herein again.
In an example, the second base matrix (which may also be referred to as a base matrix group A) includes the following matrix with four rows and seven columns:
In another example, the second base matrix (which may also be referred to as a base matrix group A) includes the following matrix with four rows and seven columns:
In still another example, the second base matrix (which may also be referred to as a base matrix group B) includes the following matrix with four rows and seven columns:
In still another example, the second base matrix (which may also be referred to as a base matrix group B) includes the following matrix with four rows and seven columns:
Alternatively, based on the foregoing formula (2) and formula (3), the first base matrix may include the following matrix with eight rows and 14 columns:
It may be understood that the first base matrix shown above is merely an example. Alternatively, some elements 1 in the second base matrix may be expanded to the formula (1), and the other elements 1 may be expanded to the formula (2). For example, the first base matrix may further include the following matrix with eight rows and 14 columns:
It may be understood that the foregoing first base matrix is shown by using n=2 as an example, and cases in which n=3, n=4, n=5, and the like are not shown one by one. n=2 should not be construed as a limitation on embodiments of this application. First base matrices obtained by expanding the second base matrix shown in
A lower part of
Alternatively, the first base matrix may include the following matrix with eight rows and 14 columns:
Alternatively, the first base matrix may include the following matrix with eight rows and 14 columns:
First base matrices obtained by expanding the second base matrix shown in
A lower part of
It may be understood that, for a manner of obtaining the first base matrix based on the second base matrix shown by an upper part of
In a possible implementation, to enable the base matrix group A and the base matrix group B to adapt to a wider range of source sparsities, the following expansion design is further performed in this embodiment of this application, and the second base matrix is shown as follows:
A represents an information part in the second base matrix, B represents a check part in the second base matrix, C is a matrix determined based on the code rate and the sparsity of the first bit sequence, a 1st column in D is a punctured column, and a remaining part other than the 1st column in D is obtained based on an identity matrix. For example, for A, refer to the information part shown in
It may be understood that base matrices shown in
In this embodiment of this application, the 1st column of the check part in the second base matrix is [1 1 1 2 2]T. The 1st column is specifically selected by eliminating the compromise between the decoding threshold and the trapping set (which may also be referred to as a loop trapping set). In addition, [1 1 1 2 2]T is compared with the following two columns: [1 1 2 2 2]T and [1 1 1 1 2]T. It is found through comparison that the second base matrix used when the 1st column of the check part is [1 1 1 2 2]T can be used to eliminate the compromise between the decoding performance and the trapping set. The column weight of the 2nd column of the check part in the second base matrix is 1. For example, the 2nd column may be [0 0 0 0 1]T. A combination of the 2nd column and the 1st column can achieve an extremely low decoding threshold, and the encoding and decoding complexity can be greatly reduced. It may be understood that for descriptions of the 1st column and the 2nd column, refer to
For example, when the first threshold is equal to 0.3, a base matrix group C is designed in this embodiment of this application. When the base matrix group C is used for encoding, inversion needs to be performed on some 5×5 square matrices for the check part in the base matrix in the base matrix group C. Then, a check bit corresponding to a column whose column weight is 1 is calculated. Complexity of the base matrix group C is low.
According to the foregoing constraint condition C2, to optimize the decoding performance of the designed base matrix in a case of a medium or short code, a density of the base matrix is further constrained. That is, a maximum row weight and a maximum column weight are controlled. This embodiment of this application provides three independently designed density regions. A density refers to an x part in the base matrix shown below. C3R7 means that a maximum column weight of the x part in the base matrix does not exceed 3, and a maximum row weight of the x part does not exceed 7. A matrix density region is roughly divided into the following D1 to D3: D1 (C3R5, C3R4, C3R3), D2 (C4R6, C4R5, C4R4), and D3 (C5R7, C5R6, C5R5). For descriptions of Thr, Gap, and D1 to D3 in this embodiment of this application, refer to Implementation 1. Details are not described herein again.
In an example, the second base matrix (which may also be referred to as a base matrix group C) includes the following matrix with five rows and seven columns:
In another example, the second base matrix includes the following matrix with five rows and seven columns:
Alternatively, based on the foregoing formula (2) and formula (3), the first base matrix may include the following matrix with 10 rows and 14 columns:
It may be understood that the first base matrix shown above is merely an example. Alternatively, some elements 1 in the second base matrix may be expanded to the formula (1), and the other elements 1 may be expanded to the formula (2). For example, the first base matrix may further include the following matrix with 10 rows and 14 columns:
It may be understood that the foregoing first base matrix is shown by using n=2 as an example, and cases in which n=3, n=4, n=5, and the like are not shown one by one. n=2 should not be construed as a limitation on embodiments of this application. First base matrices obtained by expanding the second base matrix shown in
A lower part of
Alternatively, the first base matrix includes the following matrix with 10 rows and 14 columns:
Alternatively, the first base matrix includes the following matrix with 10 rows and 14 columns:
First base matrices obtained by expanding the second base matrix shown in
A lower part of
In a possible implementation, to enable the base matrix group C to adapt to a wider range of source sparsities, the following expansion design is further performed in this embodiment of this application, and the second base matrix is shown as follows:
A represents an information part in the second base matrix, B represents a check part in the second base matrix, C is a matrix determined based on the code rate and the sparsity of the first bit sequence, a 1st column in D is a punctured column, and a remaining part other than the 1st column in D is obtained based on an identity matrix. For example, for A, refer to the information part shown in
It may be understood that a base matrix shown in
In another possible implementation of this application, based on Implementation 1 to Implementation 3 shown above, the sparsity of the first bit sequence is divided into a value less than or equal to the first threshold or a value greater than the first threshold. In addition, the sparsity of the first bit sequence may be further divided into different intervals, for example, an interval in which the sparsity of the first bit sequence is less than or equal to 0.05, an interval in which the sparsity of the first bit sequence is greater than 0.05 and less than or equal to 0.11, an interval in which the sparsity of the first bit sequence is greater than 0.11 and less than or equal to 0.3, and an interval in which the sparsity of the first bit sequence is greater than 0.3. For example, when the interval in which the sparsity of the first bit sequence is less than or equal to 0.05 is used, for descriptions of the second base matrix, refer to
It may be understood that the foregoing interval division is merely an example. For example, the sparsity of the first bit sequence may be further divided into: an interval in which the sparsity of the first bit sequence is less than or equal to 0.05, an interval in which the sparsity of the first bit sequence is greater than 0.05 and less than or equal to 0.3, or an interval in which the sparsity of the first bit sequence is greater than 0.3. Examples are not listed one by one herein.
In terms of the channel coding, a CRC8+SCL32 decoding algorithm is used for Polar (JSCC or SSCC), and a maximum quantity of iterations for LDPC simulation is set to 20.
In
In
3C-P-LDPC-old represents a base matrix that is not optimized by using a trapping set, 3C-P-LDPC-TS-A represents a base matrix group A, 3C-P-LDPC-TS-B represents a base matrix group B, and 3C-LDPC represents a base matrix that is not optimized by using the mutual information shown in
Communication apparatuses provided in embodiments of this application are described below.
In this application, the communication apparatus is divided into functional modules based on the foregoing method embodiments. For example, each functional module may be divided to each corresponding function, or two or more functions may be integrated into one processing module.
The integrated module may be implemented in a form of hardware, or may be implemented in a form of a software functional module. It should be noted that, in this application, module division is an example, and is merely a logical function division. In actual implementation, another division manner may be used. The following describes in detail the communication apparatuses in embodiments of this application with reference to
In some embodiments of this application, the communication apparatus may be the transmitter or the chip shown above, and the chip may be disposed in the transmitter. In other words, the communication apparatus may be configured to perform a step, a function, or the like performed by the transmitter in the method embodiments.
The processing unit 1001 is configured to obtain a first bit sequence.
The processing unit 1001 is further configured to perform LDPC encoding on the first bit sequence based on a check matrix, to obtain a second bit sequence.
The processing unit 1001 is configured to output the second bit sequence by using the transceiver unit 1002.
It may be understood that that the processing unit shown herein outputs the second bit sequence by using the transceiver unit may be understood as follows: The processing unit may send the second bit sequence to another component by using the transceiver unit (for example, send the second bit sequence to an apparatus for modulation, or send the second bit sequence to an apparatus for frequency conversion), or the transceiver unit sends a modulation symbol and the like of the second bit sequence to a receiver by using the transceiver unit. Examples are not listed one by one in this embodiment of this application.
Still with reference to
The processing unit 1001 is configured to obtain a second bit sequence.
The processing unit 1001 is further configured to perform decoding on the second bit sequence based on a check matrix, to obtain K information bits.
It may be understood that the transceiver unit 1002 may be configured to input a signal such as a modulation symbol transmitted through a channel, and then the processing unit may process the signal to obtain the second bit sequence.
It may be understood that specific descriptions of the transceiver unit and the processing unit shown in this embodiment of this application are merely examples. For specific functions, steps, or the like of the transceiver unit and the processing unit, refer to the foregoing method embodiments. Details are not described herein.
It may be understood that, for descriptions of the first bit sequence, the second bit sequence, the 3C-P-LDPC code, the first base matrix, the second base matrix, the check matrix, and the like, refer to the foregoing method embodiments. Details are not described herein again.
The foregoing describes the communication apparatus in this embodiment of this application. The following describes possible product forms of the communication apparatus. It should be understood that a product in any form that has a function of the communication apparatus in
In a possible implementation, in the communication apparatus shown in
As shown in
For example, when the communication apparatus is configured to perform a step, a method, or a function performed by the transmitter, the processor 1120 is configured to obtain a first bit sequence. The processor 1120 is further configured to perform LDPC encoding on the first bit sequence based on a check matrix, to obtain a second bit sequence. The processor 1120 is configured to send the second bit sequence by using the transceiver 1110. For example, the transceiver 1110 may send a signal obtained through rate matching, modulation, or the like performed on the second bit sequence.
For example, when the communication apparatus is configured to perform a step, a method, or a function performed by the receiver, the processor 1120 is configured to: obtain a second bit sequence; and perform LDPC decoding on the second bit sequence based on a check matrix, to obtain K information bits.
It may be understood that the transceiver 1110 may be configured to receive a signal such as a modulation symbol transmitted through a channel, and then the processor may process the signal to obtain the second bit sequence.
It may be understood that for specific descriptions of the processor and the transceiver, refer to descriptions of the processing unit and the transceiver unit shown in
In various implementations of the communication apparatus shown in
Optionally, the communication apparatus 110 may further include one or more memories 1130, configured to store program instructions, data, and/or the like. The memory 1130 is coupled to the processor 1120. The coupling in this embodiment of this application may be an indirect coupling or a communication connection between apparatuses, units, or modules in an electrical form, a mechanical form, or another form, and is used for information exchange between the apparatuses, the units, or the modules. The processor 1120 may operate in cooperation with the memory 1130. The processor 1120 may execute the program instructions stored in the memory 1130. Optionally, at least one of the one or more memories may be included in the processor. Optionally, the one or more memories may be configured to store at least one of the second base matrix, the first base matrix, and the check matrix in embodiments of this application.
A specific connection medium between the transceiver 1110, the processor 1120, and the memory 1130 is not limited in embodiments of this application. In this embodiment of this application, the memory 1130, the processor 1120, and the transceiver 1110 are connected through a bus 1140 in
In this embodiment of this application, the processor may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or another programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, or the like. The processor can implement or execute the methods, the steps, and the logical block diagrams disclosed in embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor or the like. The steps of the methods disclosed in combination with embodiments of this application may be directly implemented by a hardware processor, or may be implemented by using a combination of hardware and software modules in the processor, or the like.
In embodiments of this application, the memory may include but is not limited to a non-volatile memory like a hard disk drive (hard disk drive, HDD) or a solid-state drive (solid-state drive, SSD), a random access memory (Random Access Memory, RAM), an erasable programmable read-only memory (Erasable Programmable ROM, EPROM), a read-only memory (Read-Only Memory, ROM), a portable read-only memory (Compact Disc Read-Only Memory, CD-ROM), or the like. The memory is any storage medium that can be used for carrying or storing program code in a form of an instruction or a data structure and that can be read and/or written by a computer (for example, the communication apparatus shown in this application). However, this application is not limited thereto. The memory in embodiments of this application may alternatively be a circuit or any other apparatus that can implement a storage function, and is configured to store program instructions and/or data.
For example, the processor 1120 is mainly configured to: process a communication protocol and communication data, control the entire communication apparatus, execute a software program, and process data of the software program. The memory 1130 is mainly configured to store the software program and data. The transceiver 1110 may include a control circuit and an antenna. The control circuit is mainly configured to: perform conversion between a baseband signal and a radio frequency signal and process the radio frequency signal. The antenna is mainly configured to receive and send a radio frequency signal in a form of an electromagnetic wave. The input/output apparatus, such as a touchscreen, a display, or a keyboard, is mainly configured to: receive data input by a user and output data to the user.
After the communication apparatus is powered on, the processor 1120 may read the software program in the memory 1130, interpret and execute instructions of the software program, and process data of the software program. When data needs to be sent in a wireless manner, the processor 1120 performs baseband processing on the to-be-sent data, and then outputs a baseband signal to a radio frequency circuit, and the radio frequency circuit performs radio frequency processing on the baseband signal, and then sends a radio frequency signal to the outside in a form of an electromagnetic wave through the antenna. When data is sent to the communication apparatus, a radio frequency circuit receives a radio frequency signal through the antenna, converts the radio frequency signal into a baseband signal, and outputs the baseband signal to the processor 1120. The processor 1120 converts the baseband signal into data and processes the data.
In another implementation, the radio frequency circuit and the antenna may be disposed independent of the processor that performs baseband processing. For example, in a distributed scenario, the radio frequency circuit and the antenna may be remotely disposed independent of the communication apparatus.
It may be understood that the communication apparatus shown in this embodiment of this application may alternatively include more components than those shown in
In another possible implementation, in the communication apparatus shown in
In this embodiment of this application, the logic circuit and the interface may be coupled to each other. A specific manner of connection between the logic circuit and the interface is not limited in embodiments of this application.
For example, when the communication apparatus is configured to perform a method, a function, or a step performed by the transmitter, the logic circuit 1201 is configured to obtain a first bit sequence. The logic circuit 1201 is further configured to perform LDPC encoding on the first bit sequence based on a check matrix, to obtain a second bit sequence. The interface 1202 is configured to output the second bit sequence.
It may be understood that the interface may output the second bit sequence, so that another component in the transmitter processes the second bit sequence. Alternatively, the interface is configured to output a symbol sequence obtained by performing operations such as rate matching, modulation, and frequency conversion on the second bit sequence.
Optionally, the communication apparatus may further include a memory. The memory may be configured to store at least one of the check matrix, a first base matrix, and a second base matrix. Generally, the memory may store the first base matrix.
For example, when the communication apparatus is configured to perform a method, a function, or a step performed by the receiver, the logic circuit 1201 is configured to: obtain a second bit sequence, and perform LDPC decoding on the second bit sequence based on a check matrix, to obtain K information bits.
It may be understood that the interface 1202 may be configured to input a signal such as a modulation symbol transmitted through a channel, and then a logic circuit may process the signal to obtain the second bit sequence. It is clear that the logic circuit that processes the signal may be the same as or different from the logic circuit that performs LDPC decoding. This is not limited in embodiments of this application.
It may be understood that, for descriptions of the first bit sequence, the second bit sequence, the 3C-P-LDPC code, the first base matrix, the second base matrix, the check matrix, and the like, refer to the foregoing method embodiments. Details are not described herein again.
It may be understood that the communication apparatus shown in embodiments of this application may implement the method provided in embodiments of this application in a form of hardware, or may implement the method provided in embodiments of this application in a form of software, or the like. This is not limited in embodiments of this application.
For specific implementation of embodiments shown in
An embodiment of this application further provides a wireless communication system. The wireless communication system includes a transmitter and a receiver. The transmitter and the receiver may be configured to perform the methods in any one of the foregoing embodiments. Alternatively, for the transmitter and the receiver, refer to the communication apparatuses shown in
In addition, this application further provides a computer program. The computer program is used for implementing operations and/or processing performed by the transmitter in the methods provided in this application.
This application further provides a computer program. The computer program is used for implementing operations and/or processing performed by the receiver in the methods provided in this application.
This application further provides a computer-readable storage medium. The computer-readable storage medium stores computer code. When the computer code is run on a computer, the computer is enabled to perform operations and/or processing performed by the transmitter in the methods provided in this application.
This application further provides a computer-readable storage medium. The computer-readable storage medium stores computer code. When the computer code is run on a computer, the computer is enabled to perform operations and/or processing performed by the receiver in the methods provided in this application.
This application further provides a computer program product. The computer program product includes computer code or a computer program. When the computer code or the computer program is run on a computer, operations and/or processing performed by the transmitter in the methods provided in this application are/is performed.
This application further provides a computer program product. The computer program product includes computer code or a computer program. When the computer code or the computer program is run on a computer, operations and/or processing performed by the receiver in the methods provided in this application are/is performed.
In several embodiments provided in this application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely an example. For example, division into the units is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces, indirect couplings or communication connections between the apparatuses or units, or electrical connections, mechanical connections, or connections in other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on an actual requirement to implement the technical effect of the solutions provided in embodiments of this application.
In addition, functional units in embodiments of this application may be integrated into one processing unit, each of the units may exist alone physically, or two or more units may be integrated into one unit. The integrated unit may be implemented in a form of hardware, or may be implemented in a form of a software functional unit.
When the integrated unit is implemented in the form of the software functional unit and sold or used as an independent product, the integrated unit may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of this application essentially, or the part contributing to the conventional technologies, or all or some of the technical solutions may be implemented in a form of a software product. The computer software product is stored in a readable storage medium and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the steps of the methods described in embodiments of this application. The readable storage medium includes any medium that can store program code, for example, a USB flash drive, a removable hard disk, a read-only memory (read-only memory, ROM), a random access memory (random access memory, RAM), a magnetic disk, or an optical disc.
The foregoing descriptions are merely specific implementations of this application, but are not intended to limit the protection scope of this application. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.
This application is a continuation of International Application No. PCT/CN2022/113749, filed on Aug. 19, 2022, the disclosure of which is hereby incorporated by reference in its entirety.
| Number | Date | Country | |
|---|---|---|---|
| Parent | PCT/CN2022/113749 | Aug 2022 | WO |
| Child | 19055867 | US |