Communication method and apparatus
Patent Information
- Application Number
- CN202510537956.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-27
- Publication Date
- 2026-10-27
AI Technical Summary
然而,将TB划分为两个码块分别单独添加CRC,每个CRC仅针对其对应的一个码块进行校验,可能导致该TB传输的虚警率上升,造成数据传输断流
[0039]应当理解的是,本申请的第三方面至第八方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
Smart Images

Figure CN122993879A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communications, and more particularly to a communication method and apparatus. Background Technology
[0002] To ensure data integrity and reliability during data transmission, a cyclic redundancy check (CRC) can be added during data encoding. For a transport block (TB), the sending end can divide it into two blocks and add a CRC to each block separately, which is beneficial for efficient error correction and reducing the risk of erroneous TB transmission. However, dividing the TB into two blocks and adding separate CRCs, with each CRC only checking its corresponding block, may increase the false alarm rate of the TB transmission, causing data transmission interruptions. Summary of the Invention
[0003] This application provides a communication method and apparatus to reduce the false alarm rate of data transmission.
[0004] In a first aspect, embodiments of this application provide a communication method, which can be executed by a first communication device. The first communication device can be a network device or a terminal device, or it can be a component (such as a chip, chip system, processor, etc.) used in the network device or terminal device, or it can be a logic module or software capable of realizing all or part of the functions of the network device or terminal device. The component used in the network device or terminal device can be in the network device or terminal device, or it can be independent of the network device or terminal device. Embodiments of this application do not limit this.
[0005] The first communication device can be regarded as the encoding end or the sending end of information. The method includes: determining M first check sequences, each of the M first check sequences being determined based on at least two first code blocks, the M first check sequences corresponding one-to-one with the M first code blocks, the M first code blocks including at least two first code blocks, the M first code blocks belonging to the same transmission block, and M being an integer not less than 2; and sending the M first code blocks and the M first check sequences.
[0006] Each of the M first check sequences is determined based on at least two first code blocks, such that each first check sequence is associated with its corresponding first code block and at least one other first code block in the same transport block. This is beneficial for checking cross-code block errors and thus helps reduce the false alarm rate of data transmission.
[0007] In some implementations, each of the M first code blocks has the same length.
[0008] The length of each of the M first code blocks is the same. When the first communication device encodes each first code block and its corresponding first check sequence, it can use the same type of encoder, which helps to reduce the complexity of encoding and improve the efficiency of encoding.
[0009] In some implementations, at least two of the M first check sequences are determined based on the same N first code blocks, and the N first code blocks corresponding to each of the at least two first check sequences are arranged in different orders. The N first code blocks belong to the M first code blocks, where N is an integer not less than 2 and not greater than M.
[0010] In some implementations, the order of the N first code blocks includes N! possibilities, where "!" represents the factorial symbol.
[0011] In some implementations, N takes the same value as M.
[0012] When the value of N is the same as that of M, that is, at least two first check sequences are determined based on all M first code blocks. Determining the first check sequence based on all M first code blocks is beneficial to enhancing its cross-code block check capability.
[0013] In some implementations, each of the first check sequences in at least two first check sequences has the same length.
[0014] The fact that each of the at least two first check sequences has the same length indicates that the first communication device can use the same check sequence generation method when determining the at least two first check sequences, which is beneficial to improving the efficiency of determining the at least two first check sequences.
[0015] In some implementations, each of the M first check sequences is determined based on the M first code blocks, and the M first check sequences belong to K first check sequences, where K satisfies the relation K = M! (M!-1)(M!-2)...(M!-M+1), where "!" represents the factorial symbol.
[0016] Secondly, embodiments of this application provide a communication method, which can be executed by a second communication device. The second communication device can be a network device or a terminal device, or it can be a component (such as a chip, chip system, processor, etc.) used in the network device or terminal device, or it can be a logic module or software that can realize all or part of the functions of the network device or terminal device. The component used in the network device or terminal device can be in the network device or terminal device, or it can be independent of the network device or terminal device. Embodiments of this application do not limit this.
[0017] The second communication device can be regarded as an information decoding end or an information receiving end. The method includes: acquiring M second code blocks and M second check sequences, wherein the M second check sequences correspond one-to-one with the M second code blocks; verifying the M second code blocks according to the M second check sequences and M third check sequences, wherein each of the M third check sequences is determined based on at least two second code blocks, and the M third check sequences correspond one-to-one with the M second code blocks, wherein the M second code blocks include at least two second code blocks.
[0018] In some implementations, each of the M second code blocks has the same length.
[0019] The length of each of the M second code blocks is the same. When the second communication device decodes, it can use the same type of decoder, which helps to reduce the complexity of decoding and improve the efficiency of decoding.
[0020] In some implementations, at least two of the M third check sequences are determined based on the same N second code blocks. The N second code blocks corresponding to each of the at least two third check sequences are arranged in different orders. The N second code blocks belong to the M second code blocks, where N is an integer not less than 2 and not greater than M.
[0021] In some implementations, the order of the N second code blocks includes N! possibilities, where "!" represents the factorial symbol.
[0022] In some implementations, N takes the same value as M.
[0023] In some implementations, each of the at least two third check sequences has the same length.
[0024] In some implementations, each of the M third check sequences is determined based on the M second code blocks, and the M third check sequences belong to K third check sequences, where K satisfies the relation K = M! (M!-1)(M!-2)...(M!-M+1), where "!" represents the factorial symbol.
[0025] It should be understood that the second aspect of this application corresponds to the technical solution of the first aspect of this application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation are similar, and will not be repeated here.
[0026] Thirdly, embodiments of this application provide a communication device that can implement the methods of the first aspect and any possible implementation thereof; or, can implement the methods of the second aspect and any possible implementation thereof. The device includes corresponding modules for performing the above-described methods. The modules included in the device can be implemented in software and / or hardware.
[0027] The communication device can be a first communication device for implementing the methods in the first aspect and any possible implementation of the first aspect. In one possible implementation, the communication device may include modules or units that perform the methods / operations / steps / actions described in the first aspect and any possible implementation of the first aspect. These modules or units may be hardware circuits, software, or a combination of hardware circuits and software. For example, the communication device includes a processing module and a transceiver module.
[0028] The communication device can also be a second communication device for implementing the methods in the second aspect and any possible implementation of the second aspect. In one possible implementation, the communication device may include modules or units that perform the methods / operations / steps / actions described in the second aspect and any possible implementation of the second aspect. These modules or units may be hardware circuits, software, or a combination of hardware circuits and software. For example, the communication device includes a processing module and a transceiver module.
[0029] Fourthly, this application provides a communication device including a processor, which can be used to implement the methods of the first aspect and any possible implementation of the first aspect, or to implement the methods of the second aspect and any possible implementation of the second aspect, by executing a computer program in memory and / or by logic circuits.
[0030] In one possible implementation, the device further includes a communication interface. This communication interface is used to receive signals from other communication devices outside the device and transmit them to the processor, or to send signals from the processor to other communication devices outside the device. Exemplarily, the communication interface can be a transceiver, circuit, bus, module, pin, or other type of communication interface.
[0031] In one possible implementation, the device further includes a memory. This memory stores program instructions and data. The memory is coupled to a processor, which, when executing the instructions stored in the memory, can implement the methods described in the preceding aspects. Optionally, the memory and processor can be integrated together; alternatively, the memory can be located outside the processor and exist independently.
[0032] In one possible implementation, the communication device is a chip or chip system.
[0033] Fifthly, embodiments of this application provide a computer-readable storage medium storing a computer program (also referred to as code or instructions) that, when executed, implements the method in the first aspect and any possible implementation of the first aspect, or implements the method in the second aspect and any possible implementation of the second aspect.
[0034] In a sixth aspect, embodiments of this application provide a computer program product including instructions (also referred to as code) that, when executed, implement the method in the first aspect and any possible implementation of the first aspect, or implement the method in the second aspect and any possible implementation of the second aspect.
[0035] In a seventh aspect, embodiments of this application provide a chip system including at least one processor for supporting the implementation of the functions involved in the first aspect and any possible implementation of the first aspect, or for supporting the implementation of the functions involved in the second aspect and any possible implementation of the second aspect, such as receiving or processing data involved in the above methods.
[0036] In one possible design, the chip system also includes a memory for storing program instructions and data, which is located either inside or outside the processor.
[0037] The chip system can consist of chips or include chips and other discrete components.
[0038] Eighthly, embodiments of this application provide a communication system, which includes a first communication device and a second communication device, wherein the first communication device is used to implement the method in the first aspect and any possible implementation of the first aspect, and the second communication device is used to implement the method in the second aspect and any possible implementation of the second aspect.
[0039] It should be understood that the third to eighth aspects of this application correspond to the technical solutions of the first aspect of this application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation are similar, and will not be repeated here. Attached Figure Description
[0040] Figure 1 This is a schematic diagram of the architecture of a communication system applicable to the methods provided in the embodiments of this application;
[0041] Figure 2 This is a schematic diagram illustrating a communication scenario applicable to the methods provided in the embodiments of this application;
[0042] Figure 3 A diagram illustrating the division of a transport block into two code blocks and the addition of CRC bits;
[0043] Figure 4 A flowchart illustrating a communication method provided in one embodiment of this application;
[0044] Figure 5 This is a schematic diagram illustrating the determination of M first verification sequences according to an embodiment of this application;
[0045] Figure 6 This is a schematic diagram of the structure of a communication device provided in one embodiment of this application;
[0046] Figure 7 A schematic diagram of the structure of a communication device provided in another embodiment of this application;
[0047] Figure 8 This is a schematic diagram of a communication chip system architecture provided in one embodiment of this application;
[0048] Figure 9 This is a schematic diagram of an encoder chip architecture provided in one embodiment of this application;
[0049] Figure 10 This is a schematic diagram of a decoder chip architecture provided in one embodiment of this application. Detailed Implementation
[0050] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings.
[0051] Before introducing the methods provided in the embodiments of this application, the following points should be noted.
[0052] First, in the embodiments of this application, the terms "first" and "second" are used to distinguish identical or similar items with essentially the same function and purpose. For example, "first terminal device" and "second terminal device" are merely used to distinguish different terminal devices; similarly, "first resource" and "second resource" are merely used to distinguish different resources and do not limit their order of execution. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that "first" and "second" do not necessarily imply that they are different.
[0053] Second, in the embodiments of this application, "when," "under the circumstances," "if," "if," or similar expressions all refer to the device making corresponding processing under certain objective circumstances, and are not limited to a time, nor do they require the device to perform a judgment action when it is implemented, nor do they imply any other limitations.
[0054] Third, in the embodiments of this application, the words "exemplarily" or "for example" are used to indicate that they are examples, illustrations, or descriptions. Any embodiment or design that is described as "exemplarily" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design options. Specifically, the use of the words "exemplarily" or "for example" is intended to present the relevant concepts in a specific manner.
[0055] Fourth, in the embodiments of this application, "send" and "receive" indicate the direction of signal transmission. For example, "sending information to an electronic device" can be understood as the destination of the information being the electronic device, which may include sending directly via the air interface, or sending indirectly via the air interface by other devices, other units, or other modules. "Receiving information from a terminal device" can be understood as the source of the information being the terminal device, which may include receiving directly from the terminal device via the air interface, or receiving indirectly from the terminal device via the air interface by other devices, other units, or other modules. "Send" can also be understood as the "output" of the chip interface, and "receive" can also be understood as the "input" of the chip interface.
[0056] In other words, sending and receiving can occur between devices, such as between network devices and terminal devices; or they can occur within a device, such as between components, modules, chips, software modules, or hardware modules within a device via a bus, wiring, or interface.
[0057] It is understandable that information may undergo necessary processing, such as encoding and modulation, before being sent from the source to the destination. Similarly, the destination, upon receiving information from the source, may also perform corresponding processing, such as decoding and demodulation, to interpret the valid information from the source. Similar expressions in the embodiments of this application can be understood in a similar manner and will not be elaborated further.
[0058] Fifth, the technical solutions provided in this application can be applied to encoding / decoding between communication devices. Encoding / decoding between communication devices can include: encoding / decoding between access network devices and terminal devices, encoding / decoding between access network devices, and encoding / decoding between terminal devices, etc. In this application's embodiments, "encoding / decoding" can also be described as "encoding / decoding," "encoding / decoding," "network encoding / decoding," etc. In this application's embodiments, "encoding / decoding" can include: "external code encoding / decoding," and / or "internal code encoding / decoding," where "internal code encoding / decoding" can also be understood as "channel encoding / decoding."
[0059] Sixth, the method provided in this application embodiment can be applied to fourth-generation (4G) communication systems, such as long-term evolution (LTE) communication systems, as well as fifth-generation (5G) communication systems, such as 5G new wireless communication systems, and can also be applied to future communication systems, etc. This application embodiment does not limit this.
[0060] The following will combine Figure 1 The system architecture applicable to the embodiments of this application is described in detail below.
[0061] Figure 1 This is a schematic diagram of the architecture of a communication system applicable to the methods provided in the embodiments of this application. Figure 1 The application scenarios applicable to the embodiments of this application are illustrated using the communication system architecture shown as an example. Figure 1 A possible, non-limiting system schematic diagram is shown. For example... Figure 1 As shown, the communication system includes a radio access network (RAN) 100 and a core network (CN) 200. Optionally, the communication system also includes an Internet 300. RAN 100 includes at least one access network device (such as...) Figure 1 110a and 110b (collectively referred to as 110) and at least one terminal device (such as Figure 1 RAN 100, denoted as RAN 120a-120j, is collectively referred to as RAN 120. RAN 100 may also include other RAN nodes, such as wireless relay equipment and / or wireless backhaul equipment. Figure 1 (Not shown in the image). Terminal device 120 is connected to access network device 110 wirelessly. Access network device 110 is connected to core network 200 wirelessly or via wired connection. The core network device in core network 200 and access network device 110 in RAN 100 can be different physical devices, or they can be the same physical device integrating core network logical functions and wireless access network logical functions.
[0062] RAN 100 can be a cellular system related to the 3rd Generation Partnership Project (3GPP), such as 4G, 5G mobile communication systems, or future communication systems. RAN 100 can also be an open access network (open RAN, O-RAN, or ORAN). RAN 100 can also be a cloud radioaccess network (CRAN), etc. RAN 100 can also be a communication system that integrates two or more of the above systems.
[0063] Understandable Figure 1 This application only illustrates one possible communication system architecture that can be applied to the embodiments of this application. In other possible scenarios, this communication system architecture may also include other devices.
[0064] In the aforementioned communication system, access network device 110 assists terminal devices in achieving wireless access. Multiple access network devices 110 in this communication system can be nodes of the same type or different types. In some scenarios, the roles of access network device 110 and terminal device 120 are relative, for example... Figure 1 Network element 120i can be a helicopter or a drone, and it can be configured as a mobile base station. For terminal devices 120j that access RAN 100 via network element 120i, network element 120i is a base station; however, for base station 110a, network element 120i is a terminal device. Access network device 110 and terminal device 120 are sometimes referred to as communication devices, for example... Figure 1 Network elements 110a and 110b can be understood as communication devices with base station functions, while network elements 120a-120j can be understood as communication devices with terminal functions.
[0065] In one possible scenario, access network equipment can be a base station, an evolved NodeB (eNodeB), a transmitting and receiving point (TRP), a transmitting point (TP), a next-generation NodeB (gNB), a base station in a future mobile communication system, a satellite, or an access point (AP) in a wireless fidelity (Wi-Fi) system, an integrated access and backhaul (IAB) node, or access network equipment in a mobile switching center non-terrestrial network (NTN) communication system; that is, it can be deployed on high-altitude platforms or satellites. Access network equipment can also be a macro base station (such as...). Figure 1 110a), micro base stations or indoor stations (such as Figure 1 Access network equipment can be 110b), relay nodes or donor nodes, or wireless controllers in CRAN scenarios. It can also function as a base station in device-to-device (D2D) communication, vehicle-to-everything (V2X) communication, drone communication, or machine-to-machine (M2M) communication. Optionally, access network equipment can also be servers, wearable devices, vehicles, or in-vehicle equipment. For example, in vehicle-to-everything (V2X) technology, the access network equipment can be a roadside unit (RSU).
[0066] In another possible scenario, multiple access network devices collaborate to assist terminals in achieving wireless access, with each device performing a portion of the base station's functions. For example, access network devices can be central units (CUs), distributed units (DUs), CU-control plane (CPs), CU-user plane (UPs), or radio units (RUs). CUs and DUs can be separate entities or included in the same network element, such as a baseband unit (BBU). RUs can be included in radio equipment or radio units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs). It is understood that access network devices can be CU nodes, DU nodes, or devices comprising both CU and DU nodes. Furthermore, CUs can be classified as access network devices within the RAN (RAN) or the CN (CN), without limitation.
[0067] In this embodiment, the form of the access network device is not limited. The device used to implement the function of the access network device can be the access network device itself; or it can be a device that supports the access network device in implementing the function, such as a chip system. The device can be installed in the access network device or used in conjunction with the access network device.
[0068] In the embodiments of this application, the terminal device may also be referred to as a terminal, user equipment (UE), mobile station (MS), mobile terminal (MT), etc., or a device used to provide voice or data connectivity to users, or an Internet of Things (IoT) device. For example, the terminal device includes handheld devices with wireless connectivity, vehicle-mounted devices, etc. Currently, terminal devices can include, for example: mobile phones, tablets, laptops, PDAs, mobile internet devices (MIDs), wearable devices (such as smartwatches, smart bracelets, pedometers, smart glasses, etc.), in-vehicle devices (such as cars, bicycles, electric vehicles, airplanes, ships, trains, high-speed trains, etc.), satellite terminals, virtual reality (VR) devices, augmented reality (AR) devices, smart point-of-sale (POS) machines, customer-premises equipment (CPE), light user equipment (UE), reduced capability user equipment (REDCAPUE), wireless terminals in industrial control, smart home devices (such as refrigerators, televisions, air conditioners, electricity meters, etc.), smart robots, robotic arms, workshop equipment, wireless terminals in autonomous driving, wireless terminals in smart healthcare, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, or wireless terminals in smart homes, and flying equipment (such as smart robots, hot air balloons, drones, airplanes), etc. The terminal can also be a vehicle device, such as a vehicle unit, vehicle module, vehicle chip, on-board unit (OBU), or telematics box (T-BOX). The terminal device can also be other devices with terminal functions. For example, the terminal device can also be a device that plays the role of a terminal in D2D communication.
[0069] This application does not limit the form of the terminal device. The device used to implement the terminal's functions can be a terminal device itself, or it can be a device that supports the terminal in implementing those functions, such as a chip system. This device can be installed in the terminal or used in conjunction with the terminal. In this application, the chip system can be composed of chips, or it can include chips and other discrete components.
[0070] Figure 2 This is a schematic diagram of a communication scenario applicable to the method provided in the embodiments of this application.
[0071] like Figure 2 As shown in (a) of this application, the method provided in this embodiment can be applied to point-to-point single-connection communication scenarios, in which two communication devices can communicate directly through a single communication link. For example, an access network device and a terminal device can communicate directly through a single communication link. In one possible scenario, the access network device can act as the receiver, and the terminal device can act as the transmitter, with the terminal device directly sending signals to the access network device through the communication link; however, this should not constitute any limitation on this application. For instance, in another possible scenario, the access network device can act as the transmitter, and the terminal device can act as the receiver, with the access network device directly sending signals to the terminal device through the communication link.
[0072] like Figure 2 As shown in (b) of this application, the method provided in this embodiment can also be applied to multi-hop single-connection communication scenarios, where multiple relay devices are included between the source device and the target device, and the connection between each pair of adjacent devices is a single point-to-point connection. For example, the access network device and the terminal device communicate through multiple relay devices.
[0073] like Figure 2 As shown in (c), the method provided in this application embodiment can also be applied to dual connectivity (DC) communication scenarios, where the terminal device can connect to two different access network devices (such as base stations) at the same time. The cell provided by the macro base station can be called the master cell group (MCG), and the corresponding base station can be called the master base station (abbreviated as master station). The cell provided by the small base station or micro base station can be called the secondary cell group (SCG), and the corresponding base station can be called the secondary base station (abbreviated as secondary station).
[0074] like Figure 2 As shown in (d) in the present application, the method provided in this embodiment can also be applied to multi-hop multi-connection communication scenarios. This architecture combines the features of multi-hop routing and multi-connection, with data transmitted through multiple relay devices and each device able to establish connections with multiple other devices simultaneously.
[0075] More generally, the communication scenarios applicable to the methods provided in this application include, but are not limited to: signal transmission (including uplink and downlink transmission) between access network devices and terminal devices, signal transmission between access network devices and relay devices, signal transmission between relay devices and terminal devices, signal transmission between multiple access network devices and one terminal device, or signal transmission between multiple access network devices and multiple terminal devices.
[0076] It should be understood that Figure 2 The communication scenarios shown are merely examples and should not be construed as limiting the methods provided in the embodiments of this application.
[0077] Channel coding is a core process in wireless communication. Its complete process includes adding check sequences, code block segmentation, error correction coding, rate adaptation, code block concatenation, data interleaving, and data scrambling. The core purpose of adding check sequences is to detect and correct errors that may occur during transmission, ensuring data integrity and reliability.
[0078] Taking CRC as an example, CRC can be used to verify the transmitted bit sequence. Given a fixed length of bit sequence to be transmitted, the sending end can select a CRC generator polynomial to obtain a CRC generator matrix, and then obtain the CRC bit sequence of the target length based on the CRC generator matrix. For example, if the length of the bit sequence to be transmitted is N, and the target length of the CRC bit sequence to be added is M, then the sending end selects a CRC generator polynomial to obtain a CRC generator matrix of dimension N*M. Multiplying the bit sequence of dimension 1*N by the N*M CRC generator matrix yields a CRC bit sequence of dimension 1*M, corresponding to the target length M.
[0079] The transmitting end encodes the bit sequence to be transmitted according to the aforementioned channel coding process and sends the encoded codewords to the receiving end. This is equivalent to the transmitting end transmitting both the bit sequence to be transmitted and the CRC bit sequence generated from that bit sequence to the receiving end. After receiving the corresponding codewords, the receiving end can decode them to obtain the bit sequence and its corresponding CRC bit sequence. Furthermore, the receiving end can recalculate a new CRC bit sequence based on the obtained bit sequence and compare it with the decoded CRC bit sequence. If they are identical, the CRC check passes, and the receiving end considers the bit sequence transmission successful. Otherwise, the CRC check fails, and the bit sequence transmission fails.
[0080] For a TB (Bit Trace), the transmitter can divide it into two code blocks and add a CRC (Cyclic Error Correction) to each code block, thereby achieving efficient error correction and reducing the risk of TB erroneous transmission. In 5G communication systems, whether to add CRC bits is related to the length of the bit sequence of the data to be transmitted. For example, if the length of a TB is A, and 1 ≤ A ≤ 11, the TB is not segmented into code blocks, and no CRC bits are added. The aforementioned code block can be called a "code block" (CB), but it can also be named in other ways; this application does not limit this.
[0081] When 12 ≤ A ≤ 1706, a block truncation (TB) can be divided into one or two code blocks (CBs). Dividing a TB into a single CB can be understood as the TB not undergoing code block segmentation; the entire TB is equivalent to a single CB. The transmitting end adds CRC bits to each CB and performs polar encoding. The CRC bit sequence added to the TB is called "TB-CRC," and the CRC bit sequence added to the CB is called "CB-CRC."
[0082] Assuming that after polar coding and rate matching, the total length of the concatenated codewords obtained from all CB codes is E, the number of CBs and the corresponding CRC bit lengths can be determined based on the values of the TB length A and the concatenated codeword length E. For example, the corresponding values are shown in Table 1 below:
[0083] Table 1
[0084] situation TB length (A) Codeword concatenation length (E) CRC bit length CB quantity 1 12≤A<20 - 6 1 2 20≤A<360 - 11 1 3 360≤A<1013 E<1088 11 1 4 360≤A<1013 E≥1088 11 2 5 1013≤A<1706 - 11 2
[0085] As shown in Table 1, there are 5 different cases when 12≤A≤1706. Based on the different cases, the required number of CBs and the length of the corresponding CRC bits can be determined.
[0086] Corresponding to scenarios 1 to 3 in Table 1, TB can be divided into a CB, that is, the entire TB is equivalent to a CB. The sending end can generate a CRC bit sequence for the entire TB, and the length of the CRC bit sequence is 6 or 11.
[0087] Corresponding to scenarios 4 and 5 in Table 1, TB can be divided into two CBs. Figure 3 A diagram illustrating the division of a transport block into two code blocks and the addition of CRC bits. (See diagram below.) Figure 3 As shown, TB is divided into two code blocks, CB1 and CB2. CB1 and CB2 are of equal length.
[0088] For example, the length of TB is A, and the length of the partitioned CB1 is... This indicates rounding down. The length of CB2 is... This indicates rounding up. It's understandable that if A is an even number, then the lengths of CB1 and CB2 are equal, both being A / 2. If A is an odd number, then... To keep the lengths of CB1 and CB2 equal, such as Figure 3 As shown, a bit with a value of 0 can be added to the front of CB1.
[0089] After dividing the TB into two code blocks, CB1 and CB2, the transmitting end adds CRC bit sequences to CB1 and CB2 respectively. For example... Figure 3 As shown, CB1 corresponds to CB-CRC1, and CB2 corresponds to CB-CRC2. The length of both CB-CRCs is 11.
[0090] In the scenario where the TB is divided into two CBs, the sending end performs a separate CB-CRC checksum for each CB. Correspondingly, after receiving the CB and its corresponding CB-CRC, the receiving end uses each CB-CRC to verify the corresponding CB. Figure 3 In this process, the receiving end can verify CB1 based on the 11-bit CB-CRC1 and verify CB2 based on the 11-bit CB-CRC2.
[0091] However, the CB-CRC corresponding to each CB can only verify that portion of the CB. That is, the CB-CRC corresponding to each CB verifies a local portion of the TB. If an error only affects a single CB and is not detected by its corresponding CB-CRC, the entire TB will be received incorrectly. Furthermore, when a TB is divided into two CBs, the CB-CRC corresponding to the segmented CB can also be understood as a segmented CRC. Segmented CRC struggles to capture joint error patterns across CBs. When a CRC check passes but a transmission error occurs, the false alarm rate of data transmission increases. The receiving end uploads erroneous data, potentially leading to transmission interruptions and serious consequences such as data corruption, logical errors, and security vulnerabilities.
[0092] To address the aforementioned technical problems, embodiments of this application provide a communication method and apparatus. A first communication apparatus can determine M first code blocks and their corresponding M first check sequences. Each of the M first check sequences is determined based on at least two of the M first code blocks, and the M first code blocks belong to the same transport block. Since each of the M first check sequences is determined based on at least two first code blocks, each first check sequence is associated with its corresponding first code block and other first code blocks within the same transport block. This facilitates the verification of cross-code block errors based on the first check sequences, thereby helping to reduce the false alarm rate of data transmission.
[0093] The following describes the method provided by the embodiments of this application from the perspective of communication device interaction. The embodiments of this application do not limit the specific form or number of each communication device. Below, taking a first communication device and a second communication device as examples, the communication method provided by the embodiments of this application will be described in detail. The method described below can be applied to... Figure 1 In the system shown, the first communication device may be, for example, Figure 1 The terminal device 120 in the system shown, and the second communication device may be, for example, a... Figure 1 The access network device 110 in the system shown, or the first communication device, may be, for example, Figure 1 The access network device 110 in the system shown, and the second communication device, for example, could be... Figure 1 The terminal devices 120 in the system shown are not listed here individually.
[0094] It should be understood that the first communication device can be the terminal device or access network device itself, or it can be a chip, chip system, or processor that supports the terminal device or access network device in implementing data transmission methods. It can also be a logic module or software that can implement all or part of the functions of the terminal device or access network device. This application embodiment does not specifically limit this. The second communication device can be the terminal device or access network device itself, or it can be a chip, chip system, or processor that supports the terminal device or access network device in implementing data transmission methods. It can also be a logic module or software that can implement all or part of the functions of the terminal device or access network device. This application embodiment does not specifically limit this.
[0095] It should also be understood that the methods described below can be applied to Figure 2 In the communication scenario shown, the first communication device may be, for example, Figure 2 In the various communication scenarios shown, the base station, terminal equipment, and relay equipment, and the second communication device may be, for example, Figure 2 The terminal devices, base stations, relay devices, etc. in the various communication scenarios shown will not be described in detail here.
[0096] Figure 4 This is a flowchart illustrating a communication method provided in one embodiment of this application. It is understood that... Figure 4 This is merely an example; the communication method provided in this application may include more or similar steps. For example... Figure 4 As shown, the communication method may include the following steps:
[0097] S401, the first communication device determines M first check sequences, each of the M first check sequences being determined based on at least two first code blocks, the M first check sequences corresponding one-to-one with the M first code blocks, the M first code blocks including at least two first code blocks, the M first code blocks belonging to the same transmission block, and M being an integer not less than 2.
[0098] In this configuration, the first communication device can be considered as an encoding end or a transmitting end of information. The first communication device sends data to the second communication device, which can be considered as a decoding end or a receiving end of information. The first communication device can divide a transmission block to be transmitted into M first code blocks, where M is an integer not less than 2. That is, the transmission block can be divided into two (M=2) first code blocks, corresponding to the aforementioned case where the transmitting end divides a TB into two CBs. Alternatively, the transmission block can also be divided into two or more (M>2) first code blocks, resulting in M first code blocks belonging to the same transmission block.
[0099] In this step, for each of the M first code blocks, the first communication device can determine the first check sequence corresponding to the first code block based on at least two first code blocks, including the first code block, thereby determining M first check sequences that correspond one-to-one with the above M first code blocks. The first check sequence corresponding to the first code block can be understood as the CB-CRC corresponding to the aforementioned CB, or it can be other bit sequences used for data verification; this application embodiment does not limit this.
[0100] As an example, the above determination of the first check sequence corresponding to the first code block based on at least two first code blocks, including the first code block, means that the first code block is concatenated with at least one other first code block among the above M first code blocks in a certain order to merge them into a whole. The first communication device can determine the corresponding first check sequence based on the merged whole.
[0101] For example, a first code block A has a dimension of 1*(X / 2), and another first code block B among M first code blocks also has a dimension of 1*(X / 2). By concatenating the first code blocks A and B in a certain order, a single entity can be obtained, which can be represented as [first code block A, first code block B] or [first code block B, first code block A], with a corresponding dimension of 1*X. The first communication device selects a CRC generator polynomial to obtain a CRC generator matrix of dimension X*Y. Multiplying the concatenated entity of dimension 1*X by the CRC generator matrix of dimension X*Y yields a CRC bit sequence of dimension 1*Y, which is the first check sequence corresponding to the first code block A.
[0102] S402, the first communication device sends M first code blocks and M first check sequences to the second communication device.
[0103] S403, the second communication device acquires M second code blocks and M second check sequences, with each of the M second check sequences corresponding to one of the M second code blocks.
[0104] In steps S402 and 403 above, the first communication device sends M first code blocks and M first check sequences to the second communication device. Correspondingly, the second communication device can receive M second code blocks and M second check sequences. The M second code blocks correspond one-to-one with the M first code blocks, and the M second check sequences correspond one-to-one with the M first check sequences. Since the M first code blocks and M first check sequences correspond one-to-one, the M second check sequences also correspond one-to-one with the M second code blocks.
[0105] S404, the second communication device verifies M second code blocks according to M second check sequences and M third check sequences, wherein each of the M third check sequences is determined based on at least two second code blocks, the M third check sequences correspond one-to-one with the M second code blocks, and the M second code blocks include at least two second code blocks.
[0106] As described above, for each of the M second code blocks, the second communication device can generate a third check sequence corresponding to that second code block based on at least two other second code blocks, thereby determining M third check sequences that correspond one-to-one with the M second code blocks. The second communication device compares the newly generated third check sequence with the acquired second check sequence. If they are completely identical, the check passes, and the second communication device can consider the corresponding second code block to have been successfully transmitted.
[0107] It is understood that the M second code blocks acquired by the second communication device correspond one-to-one with the aforementioned M first code blocks. Therefore, for each of the M second code blocks, when the second communication device generates a third check sequence based on at least two of the M second code blocks, these at least two second code blocks correspond to at least two of the M first code blocks. The first and second communication devices can determine the at least two second code blocks corresponding to each of the M first check sequences according to the protocol.
[0108] For example: A first communication device generates a first check sequence A corresponding to the first code block A based on the first code block A and the first code block B. The first communication device sends the first code block A and the first check sequence A to a second communication device. The second communication device acquires the second code block A and the second check sequence A. The second communication device then generates a third check sequence A corresponding to the second code block A based on the second code block A and the second code block B. The second code block A and the second code block B correspond to the first code block A and the first code block B, respectively. The second communication device compares the third check sequence A with the second check sequence A. If they are the same, the check passes, indicating that the second code block A was successfully transmitted, meaning that the second code block A acquired by the second communication device is the same as its corresponding first code block A. Otherwise, the check fails, indicating that the second code block A was transmitted incorrectly.
[0109] In some implementations, each of the M first code blocks has the same length. Similar to the aforementioned method where the transmitter divides a TB into two CBs of equal length, assuming the length of the transport block to which the M first code blocks belong is A, if A is divisible by M, then the length of each first code block is A / M. If A is not divisible by M, then the length of each of the M first code blocks can be calculated by rounding up or down as described above, and each first code block can be padded with 0 bits at the beginning or end to complete it into a code block of the same length.
[0110] For example, the first communication device can divide a 39-bit (A=39) transmission block into three (M=3) first code blocks. Since 39 is divisible by 3, each of the three first code blocks has a length of 13 bits. Alternatively, the first communication device can divide the transmission block into four (M=4) first code blocks. Since 39 is not divisible by 4, the first communication device can round up each first code block. The first three first code blocks have a length of 10 bits, and the last first code block has a length of 9 bits. The first communication device can add a 0 bit at the beginning or end of each first code block, so that the length of each of the four first code blocks is 10 bits.
[0111] In this implementation, since each of the M first code blocks has the same length, each of the M second code blocks that correspond one-to-one with the M first code blocks also has the same length. This allows the second communication device to use the same type of decoder to obtain the M second code blocks, thereby reducing the complexity of decoding.
[0112] In this embodiment, each of the M first check sequences is determined based on at least two first code blocks, such that each first check sequence is associated with its corresponding first code block and at least one other first code block in the same transport block. This is beneficial for checking cross-code block errors and thus helps reduce the false alarm rate of data transmission.
[0113] exist Figure 4 In the illustrated embodiment, each of the M first check sequences is determined based on at least two first code blocks. The number of first code blocks on which each first check sequence is based can be the same or different. If there are two first check sequences based on different numbers of first code blocks, then these two first check sequences must be determined based on different numbers of first code blocks. If there are two first check sequences based on the same number of first code blocks, then these two first check sequences can be determined based on the same number of first code blocks or on different numbers of first code blocks.
[0114] As one possible implementation, at least two of the above M first check sequences are determined based on the same N first code blocks. The N first code blocks corresponding to each of the at least two first check sequences are arranged in different orders, where the N first code blocks belong to the M first code blocks, and N is an integer not less than 2 and not greater than M.
[0115] For example, for a first code block A, the first communication device generates a corresponding first check sequence A based on N first code blocks, including the first code block A. Among the M first check sequences, there exists at least one other first check sequence B, which is also determined based on the N first code blocks, including the first code block A. It can be understood that the first check sequence B is the first check sequence corresponding to the first code block B; therefore, the N first code blocks also include the first code block B.
[0116] Simultaneously, when the first communication device generates the first verification sequence A based on the above N first code blocks, the N first code blocks can be arranged in a first order. When the first communication device generates the first verification sequence B based on the above N first code blocks, the N first code blocks can be arranged in a second order, where the first order and the second order are different arrangement orders.
[0117] Correspondingly, at least two of the aforementioned M third check sequences are determined based on the same N second code blocks. The N second code blocks corresponding to each of the at least two third check sequences are arranged in different orders, and the N second code blocks belong to the M second code blocks.
[0118] In some implementations, the arrangement of the above N first code blocks includes N! possibilities, where "!" represents the factorial symbol. Correspondingly, the arrangement of the N second code blocks corresponding to these N first code blocks also includes N! possibilities.
[0119] As described above, N first code blocks are concatenated in a specific order to form a whole; the order of concatenation determines the arrangement of the N first code blocks. It can be understood that concatenating N first code blocks means there are N code block positions. For the first position among these N positions, one can choose from the N first code blocks, resulting in N choices. After determining the first code block for the first position, the first code block for the second position is determined, choosing one from the remaining N-1 first code blocks, resulting in N-1 choices. This process continues until the (N-1)th position is determined, where one can choose one from the remaining two first code blocks, resulting in two choices. The Nth position, corresponding to the last remaining first code block, has only one choice.
[0120] The different first code blocks corresponding to the N code block positions are the permutations of the N first code blocks. According to the calculation method of permutations and combinations, there are N*(N-1)*(N-2)*……*2*1 possible permutations of the N first code blocks, which can be expressed as N! in factorial form.
[0121] In some implementations, the value of N is the same as that of M. It can be understood that when N = M, it is equivalent to at least two first check sequences being determined based on all M first code blocks. Correspondingly, there are M*(M-1)*(M-2)*……*2*1 possible arrangements of the M first code blocks, which can be represented by factorials as M!.
[0122] In some implementations, each of the M first check sequences is determined based on M first code blocks. These M first check sequences belong to K first check sequences, where K satisfies the relation K = M!(M!-1)(M!-2)...(M!-M+1), where "!" represents the factorial symbol. Correspondingly, each of the aforementioned M third check sequences is determined based on M second code blocks. These M third check sequences also include K types, where K satisfies the above relation.
[0123] There are M! possible arrangements of the above M first code blocks. When each of the M first check sequences is determined based on all M first code blocks, the arrangement of the M first code blocks determines the generated first check sequence when the first communication device generates a first check sequence based on the M first code blocks.
[0124] For the first parity check sequence among the M parity check sequences, one can be chosen from M! possible arrangements of the M first code blocks, resulting in M! choices. After determining the first parity check sequence, the second parity check sequence is further determined. The arrangements of the M first code blocks corresponding to the two parity check sequences are different, so one can be chosen from the remaining M! - 1 possibilities, resulting in M! - 1 choices. Similarly, for the (M-1)th parity check sequence among the M parity check sequences, one can be chosen from the remaining M! - M+2 possibilities, resulting in M! - M+2 possibilities. For the Mth parity check sequence among the M parity check sequences, one can be chosen from the remaining M! - M+1 possibilities, resulting in M! - M+1 possibilities. According to the calculation method of permutations and combinations, there are M! * (M! - 1) * (M! - 2) * ... * (M! - M+2) * (M! - M+1) possibilities for the M parity check sequences, which can be represented by transformation as: There are several possibilities, where K = M!.
[0125] In some implementations, each of the at least two first check sequences has the same length. Correspondingly, each of the at least two third check sequences also has the same length.
[0126] Understandably, each of the at least two first check sequences is determined based on all M first code blocks. Referring to the aforementioned method of generating CRC bit sequences, the length of the concatenated M first code blocks is fixed. The first communication device can select a check sequence generator polynomial to obtain a check sequence generator matrix with matching dimensions. In this implementation, since each first check sequence has the same length, the first communication device can select a fixed check sequence generator polynomial, reducing the possibility of repeatedly selecting the generator polynomial and improving the efficiency of the first communication device in determining at least two first check sequences. Similarly, the length of each of the at least two third check sequences is also the same, which improves the efficiency of the second communication device in determining at least two third check sequences.
[0127] If all M first check sequences have the same length, then the above check sequence generation matrix can be used to generate these M first check sequences, further improving the efficiency of determining the M first check sequences. Similarly, if all M third check sequences have the same length, it is beneficial to improve the efficiency of determining the M third check sequences.
[0128] Figure 5 This is a schematic diagram illustrating the determination of M first check sequences according to one embodiment of this application. As an example, the value of M is 3. Figure 5One of the transport blocks is divided into three blocks: the first block A, the second block B, and the third block C.
[0129] The length of this transmission block is L. This corresponds to the aforementioned implementation where each of the M first code blocks has the same length, such as... Figure 5 As shown, assuming that the value of L is divisible by 3, the length of each first code block in the first code block A to the first code block C is L / 3.
[0130] like Figure 5 As shown in (a), the first parity sequence A corresponding to the first code block A is generated based on the first code block A and the first code block B, and the first parity sequence B corresponding to the first code block B is generated based on the first code block A and the first code block B. That is, the two first parity sequences A and B are determined based on the same two (N=2) first code blocks. Figure 5 As shown in (a), the order of the two first code blocks corresponding to the first parity sequence A is [first code block A, first code block B], while the order of the two first code blocks corresponding to the first parity sequence B is [first code block B, first code block A]. The two correspond to the same two first code blocks, but the order of these two first code blocks is different.
[0131] like Figure 5 As shown in (b), each of the three first check sequences is generated based on the first code blocks A to C, which is equivalent to N having the same value as M. When sorting the three first code blocks A to C, there are M! = 3! = 6 possible permutations: [first code block A, first code block B, first code block C], [first code block A, first code block C, first code block B], [first code block B, first code block A, first code block C], [first code block B, first code block C, first code block A], [first code block C, first code block A, first code block B], and [first code block C, first code block B, first code block A].
[0132] As an example, Figure 5 The first parity sequence A is generated based on the arrangement order of [first code block A, first code block B, first code block C]. The first parity sequence B is generated based on the arrangement order of [first code block A, first code block C, first code block B]. The first parity sequence C is generated based on the arrangement order of [first code block B, first code block A, first code block C]. Each of the three first parity sequences corresponds to a different arrangement order.
[0133] exist Figure 5In (b), each of the three first check sequences is generated based on the first code blocks A to C. Therefore, the length of each of the three first check sequences can be the same, such as... Figure 5 As shown, the length of each first check sequence is P.
[0134] The communication method of the embodiments of this application has been described in detail above. The communication device of the embodiments of this application will be described in detail below. The communication device includes modules or units for performing each part of the above embodiments. The above modules or units can be software, hardware, or a combination of software and hardware. The following is only a brief illustrative example of the communication device. For details of the implementation, please refer to the description of the foregoing method embodiments, which will not be repeated below.
[0135] It should be understood that Figure 6 and Figure 7 The apparatus shown can be used to implement the functions of the first communication device or the second communication device in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments.
[0136] Figure 6 This is a schematic diagram of the structure of a communication device provided in one embodiment of this application. Figure 6 As shown, the communication device 600 includes a processing module 610 and a transceiver module 620, and the communication device 600 can be used to implement the above-mentioned... Figure 4 The functions of the first or second communication device in the method embodiments shown.
[0137] The modules included in the communication device 600 can be implemented through software and / or hardware.
[0138] One possible implementation is that the communication device 600 can be used to implement... Figure 4 The steps performed by the first communication device in the method embodiment shown can be network devices or terminal devices, or components (e.g., chips, chip systems, or processors) in network devices or terminal devices, or devices that can be used in conjunction with network devices or terminal devices, or logic modules or software that can implement all or part of the functions of network devices or terminal devices.
[0139] Another possible implementation is that the communication device 600 can be used to implement... Figure 4 The steps performed by the second communication device in the method embodiment shown can be network devices or terminal devices, or components (e.g., chips, chip systems, or processors) in network devices or terminal devices, or devices that can be used in conjunction with network devices or terminal devices, or logic modules or software that can implement all or part of the functions of network devices or terminal devices.
[0140] For example, the communication device 600 may include the ability to perform... Figure 4 The modules or units corresponding to the methods / operations / steps / actions described in the illustrated method embodiments can be hardware circuits, software, or a combination of hardware circuits and software.
[0141] For example, when the communication device 600 is used to implement Figure 4 In the method embodiment shown, when the first communication device functions, the processing module 610 is used to determine M first check sequences. Each of the M first check sequences is determined based on at least two first code blocks. The M first check sequences correspond one-to-one with the M first code blocks. The M first code blocks include at least two first code blocks and belong to the same transport block. M is an integer not less than 2. The transceiver module 620 (specifically, it can be a sending module) can be used to send the M first code blocks and the M first check sequences to the second communication device.
[0142] For example, when the communication device 600 is used to implement Figure 4 In the method embodiment shown, when the second communication device functions, the transceiver module 620 (specifically, a receiving module) is used to receive M first code blocks and M first verification sequences from the first communication device; the processing module 610 is used to obtain M second code blocks and M second verification sequences, with each of the M second verification sequences corresponding to one of the M second code blocks; the processing module 610 can also be used to verify the M second code blocks according to the M second verification sequences and M third verification sequences, where each of the M third verification sequences is determined based on at least two second code blocks, with each of the M third verification sequences corresponding to one of the M second code blocks, and the M second code blocks including at least two second code blocks.
[0143] It should be understood that the module division in the embodiments of this application is illustrative and only represents a logical functional division. In actual implementation, there may be other division methods. Furthermore, the functional modules in the various embodiments of this application can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0144] Figure 7 This is a schematic diagram of a communication device provided in another embodiment of this application. The communication device 700 can be a chip system, or it can be an apparatus configured with a chip system to implement the communication method in the above-described method embodiments. In this embodiment, the chip system can be composed of chips, or it can include chips and other discrete devices.
[0145] like Figure 7 As shown, the communication device 700 may include a processor 710, which can be used to execute computer programs or instructions stored in memory to achieve... Figure 3 The steps performed by the first or second communication device in the illustrated embodiment.
[0146] In one possible implementation, the communication device 700 further includes a communication interface 720. The communication interface 720 can be used to communicate with other devices via a transmission medium, thereby enabling the communication device 700 to communicate with other devices. The communication interface 720 can be, for example, a transceiver, interface, pin, bus, circuit, or any device capable of transmitting and receiving functions. The processor 710 can utilize the communication interface 720 to input and output data and to implement... Figure 3 The steps performed by the first or second communication device in the illustrated embodiment.
[0147] In one possible implementation, the communication device 700 further includes at least one memory 730 for storing program instructions and / or data. The memory 730 is coupled to the processor 710. The coupling in this embodiment is an indirect coupling or communication connection between devices, units, or modules, and can be electrical, mechanical, or other forms, used for information exchange between devices, units, or modules. The processor 710 may operate in conjunction with the memory 730. The processor 710 may execute program instructions stored in the memory 730. At least one of the above-mentioned memories may be included in the processor.
[0148] It should be understood that the coupling in the embodiments of this application is an indirect coupling or communication connection between devices, units, or modules, which can be electrical, mechanical, or other forms, used for information interaction between devices, units, or modules. The processor 710 may operate in conjunction with the memory 730. The embodiments of this application do not limit the specific connection medium between the processor 710, communication interface 720, and memory 730. Optionally, the processor 710, communication interface 720, and memory 730 are connected via a bus 740. The bus 740 is in... Figure 7 The connections between other components are shown in bold lines only and are not intended to be limiting. This bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, Figure 7 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0149] In one possible implementation, the communication device 700 is a system-on-a-chip (SoC). Alternatively, the processor 710 is an SoC.
[0150] Figure 8 This is a schematic diagram of a communication chip system architecture provided in one embodiment of this application.
[0151] like Figure 8 As shown, the communication chip system includes downlink processing and uplink processing. Downlink processing includes encoding, modulation, layer mapping, precoding, framing, and inverse fast Fourier transform (IFFT) of Layer 2 data, and finally processing it into an over-the-air signal via an intermediate frequency (IRF) module. Uplink processing includes processing the received signal through IRF to obtain baseband data, and then performing deframing, equalization, de-mapping, demodulation, and decoding via fast Fourier transform (FFT) to complete physical layer signal processing. The method provided in this application embodiment is mainly applicable to the encoding and decoding modules in the above-mentioned communication system architecture. For example, Figure 4 In the method shown, the encoding of each first code block and its corresponding first check sequence in step S402 is performed by the encoding module, and the acquisition of M second code blocks and M second check sequences in step S403 can be performed by the decoding module.
[0152] Figure 9 This is a schematic diagram of an encoder chip architecture provided in one embodiment of this application.
[0153] like Figure 9 As shown, the encoder chip includes a computing module, a control module, and a storage module. This encoder chip can be, for example, a low-density parity check (LDPC) encoder chip. The computing module can be used for TB CRC calculation, base graph (BG) selection, code block (CB) segmentation, CB CRC calculation, LDPC encoding, and code block concatenation. For example, in... Figure 4 In the illustrated embodiment, the calculation module can be used to determine M first verification sequences in step S401. The storage module can be used to store data, and the control module can be used to manage and coordinate the operations of other modules.
[0154] Figure 10 This is a schematic diagram of a decoder chip architecture provided in one embodiment of this application.
[0155] like Figure 10 As shown, the encoder chip includes a computing module, a control module, and a storage module. This encoder chip can be, for example, an LDPC encoder chip. The computing module can be used for rate matching, HARQ merging, LDPC decoding, and CB / TB CRC checksum verification to complete the decoding process. For example, in... Figure 4 In the illustrated embodiment, the calculation module can be used to perform step S404, which verifies M second code blocks based on M second check sequences and M third check sequences. Since LDPC encoding and decoding have high throughput requirements, a hardware accelerator (HAC) can be used in the SoC. The storage module can be used to store data, and the control module can be used to manage and coordinate the operations of other modules.
[0156] This application also provides a computer program product, which includes a computer program (also referred to as code or instructions), which, when run, can achieve... Figure 3 The steps performed by the first or second communication device in the illustrated embodiment.
[0157] This application also provides a computer-readable storage medium storing a computer program (also referred to as code or instructions). When the computer program is run, it can achieve... Figure 3 The steps performed by the first or second communication device in the illustrated embodiment.
[0158] It should be understood that the processor in the embodiments of this application can be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method embodiments can be completed by the integrated logic circuits in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a microprocessor unit (MPU), a microcontroller unit (MCU), a graphics processing unit (GPU), an artificial intelligence processor (AI processor) or a neural processing unit (NPU), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or a combination of one or more discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.
[0159] It should also be understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be a cache, random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0160] The terms "unit," "module," etc., used in this specification can be used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. In the embodiments of this application, "unit" and "module" have the same meaning and can be used interchangeably.
[0161] Those skilled in the art will recognize that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application. In the several embodiments provided in this application, it should be understood that the disclosed apparatus, devices, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for example, the division of the above units is merely a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interface; the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms.
[0162] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0163] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0164] In the above embodiments, the functions of each functional unit can be implemented entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. A computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. Computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs, DVDs), or semiconductor media (e.g., solid-state drives, SSDs), etc.
[0165] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the technology, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.
[0166] The above descriptions are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A communication method, characterized in that, The method includes: M first check sequences are determined, each of the M first check sequences being determined based on at least two first code blocks. The M first check sequences correspond one-to-one with the M first code blocks. The M first code blocks include the at least two first code blocks. The M first code blocks belong to the same transport block, and M is an integer not less than 2. Send the M first code blocks and the M first check sequences.
2. The method according to claim 1, characterized in that, The length of each of the M first code blocks is the same.
3. The method according to claim 1 or 2, characterized in that, At least two of the M first check sequences are determined based on the same N first code blocks. The N first code blocks corresponding to each of the at least two first check sequences are arranged in different orders. The N first code blocks belong to the M first code blocks, where N is an integer not less than 2 and not greater than M.
4. The method according to claim 3, characterized in that, The arrangement order of the N first code blocks includes N! possibilities, where "!" represents the factorial symbol.
5. The method according to claim 3 or 4, characterized in that, The value of N is the same as that of M.
6. The method according to any one of claims 3 to 5, characterized in that, The length of each of the at least two first check sequences is the same.
7. The method according to claim 5 or 6, characterized in that, Each of the M first check sequences is determined based on the M first code blocks. The M first check sequences belong to K first check sequences, and K satisfies the relation K = M! (M!-1)(M!-2)...(M!-M+1), where "!" represents the factorial symbol.
8. A communication method, characterized in that, The method includes: Obtain M second code blocks and M second check sequences, wherein the M second check sequences correspond one-to-one with the M second code blocks; The M second code blocks are checked according to the M second check sequences and the M third check sequences. Each of the M third check sequences is determined based on at least two second code blocks. The M third check sequences correspond one-to-one with the M second code blocks. The M second code blocks include the at least two second code blocks.
9. The method according to claim 8, characterized in that, The length of each of the M second code blocks is the same.
10. The method according to claim 8 or 9, characterized in that, At least two of the M third check sequences are determined based on the same N second code blocks. The N second code blocks corresponding to each of the at least two third check sequences are arranged in different orders. The N second code blocks belong to the M second code blocks, where N is an integer not less than 2 and not greater than M.
11. The method according to claim 10, characterized in that, The arrangement order of the N second code blocks includes N! possibilities, where "!" represents the factorial symbol.
12. The method according to claim 10 or 11, characterized in that, The value of N is the same as that of M.
13. The method according to any one of claims 10 to 12, characterized in that, The length of each of the at least two third check sequences is the same.
14. The method according to claim 13, characterized in that, Each of the M third check sequences is determined based on the M second code blocks. The M third check sequences belong to K third check sequences, and K satisfies the relation K = M! (M!-1)(M!-2)...(M!-M+1), where "!" represents the factorial symbol.
15. A communication device, characterized in that, The communication device includes a module for implementing the communication method as described in any one of claims 1 to 7, or includes a module for implementing the communication method as described in any one of claims 8 to 14.
16. A communication device, characterized in that, include: Processor, the processor being coupled to memory; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory, causing the communication device to perform the communication method as described in any one of claims 1 to 7, or to perform the communication method as described in any one of claims 8 to 14.
17. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the communication method as described in any one of claims 1 to 7, or to implement the communication method as described in any one of claims 8 to 14.
18. A computer program product, characterized in that, It includes a computer program that, when executed by a processor, implements the communication method as described in any one of claims 1 to 7, or implements the communication method as described in any one of claims 8 to 14.