This application relates to the field of communication technologies, and in particular, to a communication method and an apparatus.
As global communication technologies gradually develop, a development speed and application of wireless communication technologies have surpassed those of fixed communication technologies, and the wireless communication technologies develop in full swing. Intelligent terminals such as intelligent transportation devices, smart home devices, and robots gradually enter people's daily life.
The intelligent transportation device is used as an example. Development and application of an internet of vehicles technology attract more attention. In comparison with wired communication, in-vehicle wireless communication can further reduce a quantity, length, and weight of cable harnesses in a vehicle, and can reduce installation and maintenance costs of software and hardware in the vehicle. However, as functions of the vehicle become increasingly complex, and a quantity and types of in-vehicle communication nodes increase, a higher requirement is imposed on a capability of in-vehicle wireless communication. For two nodes in in-vehicle wireless communication, how to perform channel coding on a transmitted service is a problem to be resolved in embodiments of this application.
This application provides a communication method and an apparatus, to determine a channel coding scheme for a service transmitted between two nodes.
According to a first aspect, a communication method is provided. The method is performed by a first node, or a component (a chip, a circuit, or the like) disposed in a first node. The method includes: The first node performs channel coding on at least one code block (CB); and the first node sends at least one encoded CB to a second node, where the at least one CB is a CB of a first service. Optionally, the first service may also be referred to as a first-type data service, a noise reduction data service, an active noise reduction service, or the like.
It should be noted that the solution of this application focuses on describing a channel coding scheme of a CB. Therefore, in the foregoing method, only “sending at least one CB on which channel coding has been performed” is described. However, a person skilled in the art may learn that the first node does not send the at least one CB to the second node after performing only channel coding on the at least one CB. An actual communication process may further include but is not limited to: The first node performs at least one type of processing of rate matching, CB concatenation, data and control multiplexing, or channel interleaving on the at least one CB on which channel coding has been performed; and then sends, to the second node, at least one CB obtained after the at least one type of processing (or a bit stream corresponding to the at least one CB).
In a possible design, the method further includes: The first node obtains at least one of a size of a CB or a quantity of CBs corresponding to the first service; and the first node obtains the at least one CB by using at least one transport block of the first service based on the at least one of the size of the CB or the quantity of CBs.
According to the foregoing method, the at least one of the size of the CB or the quantity of CBs may be preconfigured on the first node and the second node; the first node or the second node may exchange the at least one of the size of the CB or the quantity of CBs by using higher layer signaling; or a master node of the first node or the second node may send the at least one of the size of the CB or the quantity of CBs to a slave node of the first node or the second node. This implementation is flexible.
In a possible design, the size of the CB is a sum of a size of an information bit of the CB and a size of a cyclic redundancy check (CRC), or the size of the CB is a size of an information bit of the CB. Optionally, the size of the CRC may be specified in a protocol, or may be preconfigured. This is not limited.
It can be learned from the foregoing that the size of the CB may be the size of the information bit of the CB, or the sum of the size of the information bit and the size of the CRC. In an implementation, if the size that is of the CB and that is obtained by the second node is the size of the information bit of the CB, the second node needs to obtain the at least one CB by using a first transport block TB based on the size of the CB and the size of the CRC. In another implementation, if the size that is of the CB and that is obtained by the second node is the sum of the size of the information bit and the size of the CRC, the second node obtains the at least one CB by using a first TB based on the obtained size of the CB.
In a possible design, no CRC is attached to the at least one transport block of the first service.
According to the foregoing method, complexity of channel coding is reduced.
Especially for a service that has a relatively high latency requirement, for example, the first service, a length of transmitted information may be reduced, so that a low latency is further ensured while complexity of channel coding is reduced.
In a possible design, the performing channel coding on at least one CB includes: performing channel coding on each of the at least one CB based on a mother code length of the CB, where the mother code length of the CB is determined based on at least one of a maximum mother code length, a minimum mother code length, or a minimum mother code rate; or performing channel coding on the at least one CB based on a mother code length of a CB, where the mother code length of the CB is determined based on at least one of a maximum mother code length, a minimum mother code length, or a minimum mother code rate.
In a possible design, the maximum mother code length is 128 or 256.
In a possible design, the minimum mother code length is 32.
It can be learned from the foregoing method that the maximum mother code length of the first-type data service is limited to 128, so that device complexity is reduced while a service requirement is met; and the minimum mother code length of the first-type data service is limited to 32, so that a service requirement that a minimum length of a CB is 24 bits can be met.
In a possible design, the minimum mother code rate is 1/8.
In a possible design, the method further includes: The first node sends indication information to the second node, where the indication information may be included in node capability information, auxiliary information, or the like. For example, the auxiliary information may include at least one of service feature information, attribute information, or the like. Optionally, the indication information may be a part or all of the attribute information, or the indication information may be a part or all of the service feature information. Specifically, the indication information is used for indicating the at least one of the size of the CB or the quantity of CBs corresponding to the first service. Alternatively, the first node receives indication information from the second node, where the indication information is used for indicating the at least one of the size of the CB or the quantity of CBs corresponding to the first service. Further optionally, the indication information may be carried in higher layer signaling, for example, radio resource control signaling.
According to the foregoing method, the first node or the second node receives the indication information to obtain the at least one of the size of the CB or the quantity of CBs, so that the CB can be configured more flexibly.
According to a second aspect, a communication method is provided. The method is performed by a second node, or a component (a chip, a circuit, or the like) disposed in a second node. The method includes: The second node receives a first service from a first node, where the first service includes at least one CB; and the second node performs channel decoding on the at least one CB. Optionally, the first service may also be referred to as a first-type data service, a noise reduction data service, an active noise reduction service, or the like.
It should be noted that this embodiment of this application focuses a process of performing channel decoding on a CB. A person skilled in the art may learn that the second node may further perform at least one of channel de-interleaving, data and control demultiplexing, CB de-concatenation, or rate de-matching on the at least one CB or at least one transport block.
In a possible design, the method further includes: The second node obtains at least one of a size of a CB or a quantity of CBs corresponding to the first service; and the second node obtains at least one transport block of the first service based on the at least one of the size of the CB or the quantity of CBs.
In a possible design, the size of the CB is a sum of a size of an information bit of the CB and a size of a CRC, or the size of the CB is a size of an information bit of the CB.
In a possible design, no CRC is attached to the at least one transport block of the first service.
According to the foregoing method, complexity of channel coding is reduced.
Especially for a service that has a relatively high latency requirement, for example, the first service, a length of transmitted information may be reduced, so that a low latency is further ensured while complexity of channel coding is reduced.
In a possible design, the performing channel decoding on the at least one CB includes: performing channel decoding on each of the at least one CB based on a mother code length of the CB, where the mother code length of the CB is determined based on at least one of a maximum mother code length, a minimum mother code length, or a minimum mother code rate; or performing channel decoding on the at least one CB based on a mother code length of a CB, where the mother code length of the CB is determined based on at least one of a maximum mother code length, a minimum mother code length, or a minimum mother code rate.
In a possible design, the maximum mother code length is 128 or 256.
In a possible design, the minimum mother code length is 32.
It can be learned from the foregoing method that the maximum mother code length of the first-type data service is limited to 128, so that device complexity is reduced while a service requirement is met; and the minimum mother code length of the first-type data service is limited to 32, so that a service requirement that a minimum length of a CB is 24 bits can be met.
In a possible design, the minimum mother code rate is 1/8.
In a possible design, the method further includes: The second node receives indication information from the first node, where the indication information is used for indicating the at least one of the size of the CB or the quantity of CBs corresponding to the first service; or the second node sends indication information to the first node, where the indication information is used for indicating the at least one of the size of the CB or the quantity of CBs corresponding to the first service. Optionally, the indication information may be included in node capability information, auxiliary information, or the like. For example, the auxiliary information may include at least one of service feature information, attribute information, or the like. The indication information may be a part or all of the attribute information, or the indication information may be a part or all of the service feature information. Further optionally, the indication information may be carried in higher layer signaling, for example, radio resource control signaling.
According to a third aspect, an apparatus is provided. For beneficial effects, refer to the description of the first aspect. The apparatus has functions of implementing the behaviors in the method embodiment in the first aspect. The functions may be implemented by executing corresponding hardware or software. The hardware or the software may include one or more units corresponding to the foregoing functions. In a possible design, the apparatus includes: a processing unit, configured to perform channel coding on at least one CB; and a communication unit, configured to send, to a second node, the at least one CB on which channel coding has been performed, where the at least one CB is a CB of a first service. These units may perform the corresponding functions in the method example in the first aspect. For details, refer to the detailed description in the method example. Details are not described herein again.
According to a fourth aspect, an apparatus is provided. For beneficial effects, refer to the description of the second aspect. The apparatus has functions of implementing the behaviors in the method embodiment in the second aspect. The functions may be implemented by executing corresponding hardware or software. The hardware or the software may include one or more units corresponding to the foregoing functions. In a possible design, the apparatus includes: a communication unit, configured to receive a first service from a first node, where the first service includes at least one CB; and a processing unit, configured to perform channel decoding on the at least one CB. These units may perform the corresponding functions in the method example in the second aspect. For details, refer to the detailed description in the method example. Details are not described herein again.
According to a fifth aspect, an apparatus is provided. The apparatus includes a communication interface and at least one processor, and optionally, further includes a memory. The memory is configured to store a computer program or instructions. When the at least one processor executes the computer program or the instructions, the apparatus is enabled to perform the method performed by the first node in the method embodiment in the first aspect. Optionally, the apparatus may be a chip system or an integrated circuit.
According to a sixth aspect, an apparatus is provided. The apparatus includes a communication interface and at least one processor, and optionally, further includes a memory. The memory is configured to store a computer program or instructions. When the at least one processor executes the computer program or the instructions, the apparatus is enabled to perform the method performed by the second node in the method embodiment in the second aspect. Optionally, the apparatus may be a chip system or an integrated circuit.
According to a seventh aspect, a computer program product is provided. The computer program product includes computer program code, and when the computer program code is run, the method performed by the first node in the first aspect is performed.
According to an eighth aspect, a computer program product is provided. The computer program product includes computer program code, and when the computer program code is run, the method performed by the second node in the second aspect is performed.
According to a ninth aspect, a chip system is provided. The chip system includes at least one processor, configured to implement a function of the first node in the method in the first aspect. In a possible design, the chip system further includes a memory, configured to store program instructions and/or data. The chip system may include a chip, or may include a chip and another discrete device.
According to a tenth aspect, a chip system is provided. The chip system includes at least one processor, configured to implement a function of the second node in the method in the second aspect. In a possible design, the chip system further includes a memory, configured to store program instructions and/or data. The chip system may include a chip, or may include a chip and another discrete device.
According to an eleventh aspect, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program, and when the computer program is run, the method performed by the first node in the first aspect is implemented.
According to a twelfth aspect, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program, and when the computer program is run, the method performed by the second node in the second aspect is implemented.
According to a thirteenth aspect, a system is provided. The system includes at least one of the apparatus in the third aspect or the fifth aspect and the apparatus in the fourth aspect or the sixth aspect.
To make objectives, technical solutions, and advantages of this application clearer, the following further describes this application in detail with reference to the accompanying drawings.
In a wireless communication scenario in which an intelligent terminal is located, there may be a plurality of communication domains in a specific communication area or range.
Two nodes in a same communication domain or different communication domains may communicate with each other. An example in which two communication nodes are a first node and a second node is used for description. In a possible scenario, as shown in
Embodiments of this application provide a communication method and an apparatus. The method includes: A first node performs channel coding on at least one CB; and the first node sends, to a second node, the at least one CB on which channel coding has been performed, where the at least one CB may be a CB of a first service.
In in-vehicle wireless communication, two types of data services may be included: a first-type data service and a second-type data service. The first-type data service is also referred to as a noise reduction service, and is characterized by that a relatively small data block is transmitted and a latency requirement is high. Channel coding for the first-type data service may use a Reed-Solomon code (RS code), a Polar code, or the like. The second-type data service is mainly a streaming rear-view mirror/360° surround view service, interconnection and projection of a mobile phone and an in-vehicle infotainment system, and the like, and is mainly characterized by that a rate is relatively high and the service is insensitive to a latency. Channel coding for the second-type data service may use a Polar code or the like. The method provided in embodiments of this application may be mainly applied to channel coding for the foregoing first-type data service.
Whether channel coding is performed on the second-type data service by using the method provided in embodiments of this application is not limited. In some embodiments, a channel coding scheme for the first-type data service is different from a channel coding scheme for the second-type data service. For example, a maximum mother code length corresponding to the first-type data service is 128 or 256, and a maximum mother code length corresponding to the second-type data service is 4096. For the channel coding scheme for the first-type data service, refer to the following description in
In a possible implementation, the channel coding scheme for the second-type data service is as follows:
It should be noted that a system architecture and a service scenario described in this application are intended to describe the technical solutions in this application more clearly, but do not constitute a limitation on the technical solutions provided in this application. A person skilled in the art may learn that, with evolution of the system architecture and emergence of a new service scenario, the technical solutions provided in this application are also applicable to similar technical problems. For example, embodiments of this application may also be applied to air interface communication. The first node may be a terminal device, and the second node may be a network device. Alternatively, the first node may be a network device, and the second node may be a terminal device.
Network elements in embodiments of this application include the first node, the second node, and the like. The node may be an electronic device having a data receiving and sending processing capability, and may include a terminal device or a network device, or may be a chip included in a terminal device or a network device. For example, the node may be a vehicle cockpit (e.g., cockpit domain) device, or a module in a vehicle cockpit device, for example, at least one or more of modules such as a CDC, a camera, a screen, a microphone, a speaker, an electronic key, and a passive entry passive start controller. In a specific embodiment, the node may alternatively be a data transfer device, for example, a base station, a router, a repeater, a bridge, or a switch; or may be a terminal device, for example, any type of user equipment (UE), a mobile phone, a tablet computer (pad), a desktop computer, earphones, or a speaker; or may include a machine intelligence device such as a self-driving device, a transportation safety device, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a machine type communication (MTC) device, an industrial control device, a telemedicine (remote medical) device, a smart grid device, or a smart city device, or may include a wearable device (for example, a smart watch, a smart band, or a pedometer), or the like. In some technical scenarios, a name of a device having a similar data receiving and sending capability may not be referred to as a node. However, for ease of description, electronic devices having a data receiving and sending capability are collectively referred to as nodes in embodiments of this application.
For ease of understanding, a process related to channel coding is first described. In wireless communication, generally, one piece of downlink control information, control signaling carried on a C link, or other possible control signaling may be used for scheduling one transport block (TB) or schedule a TB carried on one data channel. The data channel may be a physical downlink data channel or a physical uplink data channel. Generally, due to a limitation of a channel coding length, one TB is divided into a plurality of CBs. As shown in
Embodiments of this application focus a TB segmentation process and a channel coding process, and other processes are not described in detail.
In a design, it may be considered that one protocol data unit (PDU) at a media access control (MAC) layer corresponds to one TB.
For ease of understanding, some terms or nouns that may be used to describe one or more embodiments of this application are first described.
1. Length of a CB: In one understanding, the length of the CB is a length of an information bit of the CB. In another understanding, the length of the CB is a sum of a length of an information bit of the CB and a length of a CRC. For example, a length of one CB is 16 bits, and a length of an attached CRC is 8 bits. In this case, in embodiments of this application, the length of the CB may be 16 bits, or may be 24 bits. In the following description, the “length” and the “size” are not distinguished, and may be replaced with each other. For example, the length of the CB may be replaced with the size of the CB, or the size of the CB may be replaced with the length of the CB.
2. Mother code length: The mother code length is a length obtained after channel coding is performed on a CB. The length may be in a unit of bit. The channel coding scheme may be a Polar code, an RS code, a Turbo code, even an LDPC code, or the like. This is not limited.
3. Mother code rate: The mother code rate may also be referred to as a code rate, and is a ratio of a length of a CB after channel coding to a length of the CB before channel coding. For example, if the length of the CB before channel coding is 40 bits, and the length of the CB after channel coding is 120 bits, the mother code rate may be 40/120=1/3.
4. First service: The first service may also be referred to as a first-type data service, a noise reduction service, a noise reduction data service, an active noise reduction service, or the like. A length of an information bit of a CB corresponding to the first service is relatively short, and a latency requirement is relatively high. For example, the first service meets one or more of the following conditions: A sampling frequency is approximately 48 KHz (“approximately” herein reflects a possible error); only semi-persistent scheduling transmission is supported, and scheduling information is sent by using higher layer signaling; an information bit length of each CB is K, or a length of sampled data at each sampling point is 16, 24, or 32 bits; a coding scheme is an RS code or a Polar code; or a modulation scheme is at least one of quadrature phase-shift keying (QPSK), 16 quadrature amplitude modulation (16QAM), 64QAM, 256QAM, 1024QAM, or the like. In a specific example, the first service meets all the foregoing conditions, and for each radio frame, a size of one transport block is K*N bits, where every K bits constitute a group to constitute N CBs. Channel coding is performed on the CBs for sending.
5. Size of a CB and/or a quantity of CBs: In one understanding, the size of the CB is a size of each CB, and the quantity of CBs is a quantity of CBs included in one TB. For example, if one TB is 2400 bits, and the size of each CB may be 30 bits, the TB may include 80 CBs. Certainly, whether sizes of CBs included in one TB are the same is not limited. For example, sizes of CBs included in one TB may be the same, as shown in the foregoing example. Alternatively, sizes of CBs included in one TB may be different. For example, one TB includes three CBs, and sizes of the three CBs are N1, N2, and N3, where at least two of N1, N2, and N3 have different values. In another understanding, the size of the CB may be represented by using a related term such as a quantity of sampling bits (or precision), where the quantity of sampling bits (or precision) may be considered as a size, a length, or the like of an external signal sampled by a sampling device in each sampling cycle. The quantity of CBs may be represented by using a related attribute such as a quantity of sampling devices. Microphones, speakers, and the like in an in-vehicle environment are mostly arranged in an array form. Microphones are used as an example. A microphone array is usually a linear array, a disk planar array, a spatial array, or the like. Sampling precision of different microphone arrays may be the same or different. For example, a quantity of sampling bits of a microphone array 1, a microphone array 2, and a microphone array 3 may be respectively 16 bits, 24 bits, and 32 bits. A quantity of sampling bits of each microphone in each microphone array in one sampling cycle may be considered as a size of one CB. For example, the microphone arrays 1, 2, and 3 collect external audio signals based on their respective sampling precision, and send the external audio signals to a processing module. The processing module may pack 16-bit audio data, 32-bit audio data, and 64-bit audio data that are respectively sampled by the three microphone arrays in one sampling cycle into one TB.
It should be noted that the size of the CB and/or the quantity of CBs each may have different values based on different devices, different applications, different configurations, or the like corresponding to the first node and the second node.
In addition, in descriptions of this application, unless otherwise specified, “/” indicates an “or” relationship between associated objects. For example, A/B may indicate A or B. In this application, “and/or” describes only an association relationship between associated objects and indicates that three relationships may exist. For example, A and/or B may indicate the following three cases: Only A exists, both A and B exist, and only B exists, where A or B may be singular or plural. Moreover, in the descriptions of this application, unless otherwise specified, “a plurality of” means two or more than two. “At least one of the following items (pieces)” or a similar expression thereof refers to any combination of these items, including any combination of singular items (pieces) or plural items (pieces). For example, at least one item (piece) of a, b, or c may indicate: a, b, c, a and b, a and c, b and c, or a, b, and c, where a, b, and c may be singular or plural. In addition, to clearly describe the technical solutions in embodiments of this application, in embodiments of this application, words such as “first” and “second” are used for distinguishing between same items or similar items that have basically same functions or purposes. A person skilled in the art may understand that the words such as “first” and “second” do not limit a quantity or an execution sequence, and the words such as “first” and “second” do not indicate a definite difference.
In some embodiments, a TB corresponding to the first service may be divided into at least one CB in the following manner. Division herein is not limited to a division action. Instead, there is at least one CB in one TB based on a size of the TB, a size of the CB and/or a quantity of CBs, and another possible setting. It is set that the first service is transmitted between the first node and the second node, the first node serves as a sending party, and the second node serves as a receiving party. The size of the CB and/or the quantity of CBs are/is exchanged between the first node and the second node in advance. Alternatively, the size of the CB, the quantity of CBs, and/or the like may be preconfigured on the first node and the second node. This is not limited. The first node may divide the TB into at least one CB based on at least one of the size of the CB and/or the quantity of CBs. For example, if one TB includes 2400 bits, and a size of each CB is 30 bits, the TB includes 80 CBs. In this case, the first node may divide the TB into 80 CBs, and a size of each CB is 30 bits. After receiving the first service from the first node, the second node serving as the receiving party may obtain or determine, based on the at least one of the size of the CB and/or the quantity of CBs, a TB or a CB corresponding to the first service. The foregoing example is still used. For example, after receiving the first service from the first node, the second node may consider every 30 bits as one CB, and consider every 80 CBs as one TB. Optionally, if the quantity of CBs is 1, in some scenarios, the TB and the CB are equivalent, that is, the TB is directly considered as the CB.
In a possible implementation, the first node and the second node may negotiate the at least one of the size of the CB and/or the quantity of CBs. For example, the first node and the second node may exchange the at least one of the size of the CB and/or the quantity of CBs by using higher layer signaling (for example, radio resource control signaling) or other signaling. Alternatively, the first node may be a master node, the second node may be a slave node, and the first node may send indication information to the second node, where the indication information is used for indicating the at least one of the size of the CB and/or the quantity of CBs. Alternatively, the second node is a master node, the first node is a slave node, and the second node may send, to the first node, the indication information used for indicating the size of the CB and/or the quantity of the CBs. Optionally, the indication information may be included in node capability information, auxiliary information, or the like. For example, the auxiliary information may include at least one of service feature information, attribute information, or the like. The indication information may be a part or all of the attribute information, or the indication information may be a part or all of the service feature information. Further optionally, the indication information may be carried in higher layer signaling, for example, radio resource control signaling. It may be understood that the foregoing is described by using an example in which the master node notifies the slave node of the size of the CB and/or the quantity of the CBs. In some embodiments, a manner in which the slave node notifies the master node may alternatively be used. This is not limited. Even in some embodiments, in the first node and the second node, the master node and the slave node are not distinguished, or both the first node and the second node may be slave nodes. In this case, either of the two nodes may notify the other node. Optionally, in embodiments of this application, the master node may also be referred to as a C node or a control node, and the slave node may also be referred to as a T node, a terminal, or the like. A transmission link from the master node to the slave node may be referred to as a C link or a downlink, and a transmission link from the slave node to the master node may be referred to as a T link or an uplink.
In a possible implementation, in the first node or the second node, specifically, a higher layer, for example, a MAC layer, may obtain the at least one of the size of the CB and/or the quantity of CBs. Then, the higher layer notifies a physical layer, and the physical layer performs processes such as TB division or integration and channel coding. In comparison with a current solution in which a physical layer determines a size of each CB, a quantity of CBs, and/or the like based on a size of a transport block TB and a maximum allowed size of a CB, a feature of a service can be more effectively matched.
It should be noted that, in embodiments of this application, the first service may be transmitted between the first node and the second node through a wireless communication link. The wireless communication link between the first node and the second node may include various types of connection media, for example, a short-distance connection technology including 802.11b/g, Bluetooth, Zigbee, a radio frequency identification (RFID) technology, an ultra wideband (UWB) technology, or a wireless short-range communication system (for example, an in-vehicle wireless short-range communication system), and for another example, a long-distance connection technology including a radio access technology such as a Global System for Mobile Communications (GSM), a general packet radio service (GPRS), or a universal mobile telecommunication system (UMTS). Certainly, there is another wireless communication technology that may be used for supporting communication between the first node and the second node.
The following describes a method for performing channel coding on a CB. As shown in
Step 400: A first node performs channel coding on at least one CB. Further, the at least one CB is a CB of a first service.
The at least one CB is obtained by using a first TB, and the first TB is a TB of the first service. Optionally, the first TB is transmitted in one radio frame or in a plurality of consecutive radio frames, and a length of the radio frame is approximately 20.833 microseconds (us). Specifically, the at least one CB is obtained by performing CRC attachment on at least one segment in the first TB. That is, the at least one CB in this application is a CB to which a CRC is attached.
Optionally, no CRC attachment is performed on the first TB, or no CRC is attached to the first TB. Such a design reduces complexity of channel coding. Especially for a service that has a relatively high latency requirement, for example, the first service, a length of transmitted information may be reduced, so that a low latency is further ensured while complexity of channel coding is reduced.
In an optional implementation, that the at least one CB is obtained by using the first TB includes: The at least one CB is obtained by using at least one TB of the first service based on at least one of a size of a CB or a quantity of CBs corresponding to the first service. Optionally, there may be one or more first TBs of the first service.
Specifically, the at least one of the size of the CB or the quantity of CBs corresponding to the first service may be locally obtained by the first node, or indicated by indication information received from another node (for example, a second node), or obtained through pre-agreement or pre-negotiation, or may be predefined in a standard or a protocol. The indication information is received from the another node to obtain the at least one of the size of the CB or the quantity of CBs, so that the CB can be configured more flexibly.
Further, it can be learned from the foregoing description that the size of the CB may be a size of an information bit of a CB, or a sum of a size of an information bit and a size of a CRC. In an implementation, if the size that is of the CB and that is obtained by the second node is the size of the information bit of the CB, the second node needs to obtain the at least one CB by using the first TB based on the size of the CB and the size of the CRC. In another implementation, if the size that is of the CB and that is obtained by the second node is the sum of the size of the information bit and the size of the CRC, the second node obtains the at least one CB by using the first TB based on the obtained size of the CB. Optionally, the size of the CRC attached to the CB is predefined, for example, predefined according to a standard or a protocol. Alternatively, the size of the CRC may be preconfigured, pre-negotiated, or notified by using signaling.
Specifically, the foregoing channel coding process may be: performing channel coding on each of the at least one CB based on a mother code length of the CB; or performing channel coding on the at least one CB based on a mother code length of a CB, where the mother code length of the CB is determined based on at least one of a maximum mother code length, a minimum mother code length, or a minimum mother code rate.
In a possible implementation, the mother code length of the CB may be represented as N=2n, K is used for representing a length of one CB before channel coding, and E is used for representing a length of one CB after rate matching. In this case, a value of n meets the following condition:
If E≤(9/8)*2(┌log
n
1=┌log2 E┐−1;
otherwise, n1=┌log2 E┐; and
n
2=┌log2(K/Rmin)┐, where Rmin represents the minimum mother code rate, and a value of Rmin may be 1/8; and
n=max{min{n1,n2,nmax},nmin}
nmax represents n corresponding to the maximum mother code length. For example, if the maximum mother code length is 128, 128=27=2n
Step 401: The first node sends, to the second node, the at least one CB on which channel coding has been performed, where the at least one CB is the CB of the first service. Alternatively, step 401 may be understood as follows: The first node sends, to the second node, a bit stream corresponding to the at least one CB on which channel coding has been performed. Herein, for ease of description, description of the bit stream is omitted.
It should be noted that the solution of this application focuses on describing channel coding for the CB. Therefore, only “sending the at least one CB on which channel coding has been performed” is described in step 401. However, a person skilled in the art may learn that the first node does not send the at least one CB to the second node after performing only channel coding on the at least one CB. An actual communication process may further include but is not limited to: The first node performs at least one type of processing of rate matching, CB concatenation, data and control multiplexing, or channel interleaving on the at least one CB on which channel coding has been performed; and then sends, to the second node, at least one CB obtained after the at least one type of processing (or a bit stream corresponding to the at least one CB).
Step 402: Correspondingly, the second node performs channel decoding on the at least one CB. Optionally, the foregoing channel decoding process may be as follows: The second node performs channel decoding on each of the at least one CB based on a mother code length of the CB; or the second node may perform channel decoding on the at least one CB based on a mother code length of a CB, where the mother code length of the CB is determined based on at least one of a maximum mother code length, a minimum mother code length, or a minimum mother code rate. For a process of determining the mother code length of the CB based on at least one of the foregoing three, refer to the foregoing description. Refer to the description of step 401. Corresponding to the processing on the first node side, the second node may further perform at least one of channel de-interleaving, data and control demultiplexing, CB de-concatenation, rate de-matching, or the like on the at least one TB/CB. For ease of description, a specific process is not described in detail herein.
In in-vehicle wireless short-range communication, for a first-type data service, that is, a noise reduction service, a length of an information bit of each CB is 16, 24, 32, or the like, and a physical layer resource may be randomly allocated. According to a current mother code selection principle, a maximum mother code length may reach 4096. For the first-type data service, complexity is excessively high. This is not conducive to reducing a latency. To reduce complexity and match the length of the information bit of each CB, the mother code length needs to be limited. For example, the maximum mother code length is limited to 128 or 256.
For the first-type data service, a minimum length of each CB is 24 bits (including an 8-bit CRC). If a maximum code rate of the CB does not exceed 7/8, when a minimum mother code length of the CB is 32, a requirement is met. In addition, because a maximum length of each CB is 40, even if a mother code length 128 is used, a code rate of the CB is basically 1/3. Based on a common resource allocation granularity, the maximum mother code length 128 can meet an application requirement. Therefore, in a possible implementation method, for the first-type data service, the minimum mother code length and the maximum mother code length may be respectively set to 32 and 128. The maximum mother code length of the first-type data service is limited to 128, and the minimum mother code length of the first-type data service is limited to 32. The advantages are as follows.
If a maximum/minimum mother code length of each CB is not limited, a mother code length of each CB may be 32, 64, 128, 256, 512, 1024, 2048, 4096, or the like. Consequently, there are too many mother code types, and device implementation complexity is relatively high. This is not conducive to cost reduction, and also causes performance deterioration. However, in this embodiment of this application, the maximum mother code length of the first-type data service is limited to 128, the minimum mother code length of the first-type data service is limited to 32, and the mother code length of each CB of the first-type data service may have four types such as 32, 64, and 128. In this way, a quantity of mother code types is decreased and device complexity is reduced.
It can be learned from the foregoing that the maximum mother code length of the first-type data service is limited to 128, so that device complexity is reduced while a service requirement is met; and the minimum mother code length of the first-type data service is limited to 32, so that a service requirement that a minimum length of a CB is 24 bits can be met. Certainly, the foregoing description is provided by using an example in which the maximum mother code length is 128. If the maximum mother code length is 256, the maximum mother code length is still less than the maximum mother code length 4096 in the current solution, and advantages are similar.
In a possible implementation method, the solution provided in this embodiment of this application may also be applied to a channel coding process of control information. The control information may be control signaling carried on a C link, control signaling carried on a T link, or the like. For example, in in-vehicle wireless short-range communication, the channel coding scheme provided in this embodiment of this application can be used for both the first-type data service and the control information. In comparison with using different channel coding schemes for the first-type data service and the control information, implementation complexity can be reduced.
The method provided in embodiments of this application is described above in detail with reference to
In an example, the apparatus 500 may implement the function of the first node in the embodiment shown in
For example, the processing unit 502 is configured to perform channel coding on at least one CB; and the communication unit 501 is configured to send, to a second node, the at least one CB on which channel coding has been performed, where the at least one CB is a CB of a first service.
Optionally, the processing unit 502 is further configured to obtain at least one of a size of a CB or a quantity of CBs corresponding to the first service; and the processing unit 502 is further configured to obtain the at least one CB by using at least one transport block of the first service based on the at least one of the size of the CB or the quantity of CBs.
Optionally, the size of the CB is a sum of a size of an information bit of the CB and a size of a CRC, or the size of the CB is a size of an information bit of the CB.
Optionally, no CRC is attached to the at least one transport block of the first service.
Optionally, the performing channel coding on at least one CB includes: performing channel coding on each of the at least one CB based on a mother code length of the CB, where the mother code length of the CB is determined based on at least one of a maximum mother code length, a minimum mother code length, or a minimum mother code rate; or performing channel coding on the at least one CB based on a mother code length of a CB, where the mother code length of the CB is determined based on at least one of a maximum mother code length, a minimum mother code length, or a minimum mother code rate.
Optionally, the maximum mother code length is 128 or 256.
Optionally, the minimum mother code length is 32.
Optionally, the minimum mother code rate is 1/8.
Optionally, the first service is a noise reduction data service.
The communication unit 501 is further configured to send indication information to the second node, where the indication information is used for indicating the at least one of the size of the CB or the quantity of CBs corresponding to the first service; or the communication unit 501 is further configured to receive indication information from the second node, where the indication information is used for indicating the at least one of the size of the CB or the quantity of CBs corresponding to the first service.
In another example, the apparatus 500 may implement the function of the second node in the embodiment shown in
For example, the communication unit 501 is configured to receive a first service from a first node, where the first service includes at least one CB; and the processing unit 502 is configured to perform channel decoding on the at least one CB.
Optionally, the processing unit 502 is further configured to obtain at least one of a size of a CB or a quantity of CBs corresponding to the first service; and the processing unit 502 is further configured to obtain at least one transport block of the first service based on the at least one of the size of the CB or the quantity of CBs.
Optionally, the size of the CB is a sum of a size of an information bit of the CB and a size of a CRC, or the size of the CB is a size of an information bit of the CB.
Optionally, no CRC is attached to the at least one transport block of the first service.
Optionally, the performing channel decoding on the at least one CB includes: performing channel decoding on each of the at least one CB based on a mother code length of the CB, where the mother code length of the CB is determined based on at least one of a maximum mother code length, a minimum mother code length, or a minimum mother code rate; or performing channel decoding on the at least one CB based on a mother code length of a CB, where the mother code length of the CB is determined based on at least one of a maximum mother code length, a minimum mother code length, or a minimum mother code rate.
Optionally, the maximum mother code length is 128 or 256.
Optionally, the minimum mother code length is 32.
Optionally, the minimum mother code rate is 1/8.
Optionally, the first service is a noise reduction data service.
Optionally, the communication unit 501 is further configured to receive indication information from the first node, where the indication information is used for indicating the at least one of the size of the CB or the quantity of CBs corresponding to the first service; or the communication unit 501 is further configured to send indication information to the first node, where the indication information is used for indicating the at least one of the size of the CB or the quantity of CBs corresponding to the first service.
In embodiments of this application, division into the units is an example, is merely logical function division, and may be other division during actual implementation. In addition, functional units in embodiments of this application may be integrated into one processor, or 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.
It may be understood that in the foregoing embodiment, a function of the communication unit may be implemented by a communication interface, and a function of the processing unit may be implemented by a processor. The communication interface may include a transmitter, a receiver, and/or the like, respectively configured to implement functions of the sending unit and/or the receiving unit. The following provides description by using an example with reference to
The memory 601 is configured to provide storage space, where the storage space may store data such as an operating system and a computer program. The memory 601 may be one or a combination of a plurality of a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a portable read-only memory (e.g., a compact disc read-only memory (CD-ROM)), or the like.
The processor 602 is a module that performs an arithmetic operation and/or a logical operation, and may be specifically one or a combination of a plurality of processing modules such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor unit (VIPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), a coprocessor (assisting the central processing unit in completing corresponding processing and application), and a microcontroller unit (MCU).
The communication interface 604 may be configured to provide an information input or output for the at least one processor; and/or the communication interface 604 may be configured to receive data sent by an external device and/or send data to the external device, and may be a wired link interface including an Ethernet cable or the like, or may be a wireless link (Wi-Fi, Bluetooth, universal wireless transmission, an in-vehicle short-range communication technology, or the like) interface. Optionally, the communication interface 604 may further include a transmitter (for example, a radio frequency transmitter or an antenna), a receiver, or the like coupled to the interface.
The processor 602 in the apparatus 600 is configured to read the computer program stored in the memory 601, to perform the foregoing communication method, for example, the communication method described in the embodiment shown in
For example, the communication apparatus 600 may be the first node in the embodiment shown in
Alternatively, the communication apparatus 600 may be the second node in the embodiment shown in
An embodiment of this application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program. When the computer program is run on one or more processors, the method in the embodiment shown in
An embodiment of this application further provides a chip system. The chip system includes at least one processor and a communication interface. The communication interface is configured to send and/or receive data. The at least one processor is configured to invoke a computer program stored in at least one memory, to implement the method in the embodiment shown in
Further, the at least one processor may include at least one of a CPU, an MPU, an MCU, or a coprocessor.
An embodiment of this application further provides a terminal. The terminal may be a smart cockpit product, a vehicle, or the like. The terminal includes a first node and/or a second node. The first node (for example, one or more of modules such as a camera, a screen, a microphone, a speaker, a radar, an electronic key, a passive entry passive start system controller, and user equipment (UE)) is the first node in the embodiment shown in
Further optionally, the terminal may be an uncrewed aerial vehicle, a robot, a device in a smart home scenario, a device in a smart manufacturing scenario, or the like.
An embodiment of this application further provides a computer program product. When the computer program product runs on one or more processors, the communication method described in the embodiment shown in
All or a part of the foregoing embodiments may be implemented by using software, hardware, firmware, or any combination thereof. When software is used to implement the embodiments, all or a part of the embodiments may be implemented in a form of a computer instruction product. When computer instructions are loaded and executed on a computer, the procedures or functions according to embodiments of this application are all or partially implemented. The computer may be a general-purpose computer, a dedicated computer, a computer network, or another programmable apparatus. The computer instructions may be stored in a computer-readable storage medium, or may be transmitted by using a computer-readable storage medium. The computer-readable storage medium may be any usable medium accessible by a computer, or a data storage device, such as a server or a data center, integrating one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a digital versatile disc (DVD)), a semiconductor medium (for example, a solid-state disk (SSD)), or the like.
Sequence adjustment, combination, or deletion may be performed on the steps in the method embodiment of this application based on an actual requirement.
Combination, division, and deletion may be performed on the modules in the apparatus embodiments of this application based on an actual requirement.
This is a continuation of International Patent Application No. PCT/CN2020/113853 filed on Sep. 7, 2020, the disclosure of which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2020/113853 | Sep 2020 | US |
Child | 18179800 | US |