Data sending method, receiving method, communication device and communication system

By filling and encoding the initial information data in the power dual-mode communication system, the problem of resource waste in data transmission is solved, and the utilization rate and decoding success rate of network resources are improved.

CN118540027BActive Publication Date: 2024-12-13BEIJING SMARTCHIP SEMICON TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411007292.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-25
Publication Date
2024-12-13
Estimated Expiration
2044-07-25

AI Technical Summary

Technical Problem

The power dual-mode communication system has a problem of wasting network resources during data transmission. It is mainly because the data sending end needs to make up zeros to reach the length of the physical block when transmitting data whose length is less than the length of the physical block, resulting in waste of resources.

Method used

By filling the first data in the initial information data, generating the target information data, and encoding and sending it on the data sending end, the receiver can decode the original information data, avoiding the zero-compensation method, and improving the utilization rate of network resources and Decoding success rate.

Benefits of technology

It effectively improves the utilization rate of network resources, reduces resource waste, and improves the decoding success rate of the data receiver.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118540027B_ABST
    Figure CN118540027B_ABST
Patent Text Reader

Abstract

The present application discloses a data sending method, a receiving method, a communication device and a communication system, and relates to the field of communication technology. The data sending end can obtain first data based on the original information data to be sent, and use the first data to fill the initial information data including the original information data to obtain the target information data, and then send the data based on the target information data. The first data can be used for the data receiving end to decode and obtain the original information data. Since the method provided by the present application can fill the initial information data with useful information that can help the data receiving end to decode, compared with the method of filling 0 in the related art, it can effectively improve the utilization rate of network resources and reduce the waste of network resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a data sending method, a receiving method, a communication device and a communication system. Background Art

[0002] The data transmission process of the data transmitter in the power dual-mode communication system usually includes: dividing the data into physical blocks (PB) of a certain physical block length, and performing Turbo coding on the physical block to generate and send a coded bit stream. For data whose length is less than the physical block length, the data transmitter usually pads the data with zeros so that the length of the data after zero padding is the physical block length, and then performs Turbo coding.

[0003] It can be seen that the current way of data transmission in the power dual-mode communication system will waste network resources. Summary of the invention

[0004] The present application provides a data transmission method, a receiving method, a communication device and a communication system, which can solve the problem of network resource waste in data transmission in the power dual-mode communication system. The technical solution is as follows:

[0005] On the one hand, a data transmission method is provided, which is applied to a data transmission end in a power dual-mode communication system; the method comprises:

[0006] Based on the original information data to be sent, first data is acquired, where the first data is used for a data receiving end in the power dual-mode communication system to decode and obtain the original information data;

[0007] Using the first data to perform data padding on the initial information data to be sent to obtain target information data, wherein the length of the initial information data is equal to that of the target information data and both are greater than the length of the original information data, and the initial information data and the target information data both include the original information data;

[0008] Based on the target information data, coded data is acquired and transmitted, wherein the coded data includes the target information data.

[0009] Optionally, obtaining first data based on original information data to be sent includes:

[0010] Based on the original information data to be sent, obtaining second data;

[0011] Acquire the first data from the second data;

[0012] Wherein, if the preset coding rate for data transmission at the data transmitting end is 1 / 2, the second data is the original information data, or the original information data after the first zero-padding process; if the preset coding rate for data transmission at the data transmitting end is not 1 / 2, the second data is the verification data of the original information data after the second zero-padding process;

[0013] The length of the original information data after the first zero-padding process is a first length, and the first length is obtained by rounding up the quotient of the second length of the original information data and 8; the length of the original information data after the second zero-padding process is a third length, and the third length is a physical block length that is greater than the second length and the smallest among multiple physical block lengths supported by the data transmitting end for data transmission.

[0014] Optionally, the second length cannot be divided by 8; and the initial information data to be sent is filled with data using the first data to obtain target information data, including:

[0015] The first data is filled in the initial information data, except for the original information data after the first zero-padding process.

[0016] Optionally, if the number of retransmissions of the original information data is greater than or equal to 1, the first data filled in the target information data sent twice adjacently are different.

[0017] Optionally, the preset coding rate is 1 / 2, and the length of the second data is the first length N; and obtaining the first data from the second data includes:

[0018] Obtaining the number of retransmissions n of the original information data, where n is an integer greater than or equal to 0;

[0019] The data from the [n×(SN)]mod Nth byte to the [(n+1)×(SN)-1]mod Nth byte in the second data is determined as the first data, where S is the third length and mod represents a remainder operation.

[0020] Optionally, the preset coding rate of the data transmitting end for data transmission is 1 / 2; and obtaining the coded data based on the target information data includes:

[0021] The target information data is encoded to obtain encoded data.

[0022] Optionally, the preset coding rate is not 1 / 2; and obtaining the first data from the second data includes:

[0023] The second data is punctured to obtain first data.

[0024] Optionally, the second length is equal to the first length, or the second length is not divisible by 8, and the first data is filled in the initial information data, except for the original information data after the first zero-padding process; puncturing the second data to obtain the first data includes:

[0025] Determine a target value based on a quotient of a target difference value and the third length, wherein the target difference value is a difference value obtained by subtracting the first length N from the third length S;

[0026] Based on the target value, determining a first puncturing pattern, the first puncturing pattern being used to indicate that one bit of data is reserved for each bit of the target value in the second data;

[0027] The second data is punctured using the first puncturing pattern, and data of the first (SN) bytes of the second data retained after puncturing is determined as the first data.

[0028] Optionally, determining a first punching mode based on the target value includes:

[0029] Determining the first puncturing mode based on the target value and the number of retransmissions of the original information data;

[0030] The first puncturing pattern is further used to indicate: the position of 1 bit of data retained in each target value bit of data in the target value bit of data, wherein the position is determined based on the number of retransmissions.

[0031] Optionally, based on the target information data, obtaining the coded data includes:

[0032] According to the preset coding rate, obtaining a second puncturing pattern;

[0033] Using the second puncturing mode, puncturing the second data;

[0034] The second data retained after puncturing is added to the target information data to obtain encoded data.

[0035] Optionally, if the number of retransmissions of the original information data is greater than or equal to 1, the second puncturing pattern used for the previous time is different from the second puncturing pattern used for the next time.

[0036] Optionally, acquiring a second puncturing pattern according to the preset coding rate includes:

[0037] Obtaining the number of retransmissions of the original information data;

[0038] In the correspondence between the puncturing pattern, the coding rate and the number of retransmissions, the puncturing pattern corresponding to the preset coding rate and the number of retransmissions is determined as the second puncturing pattern.

[0039] On the other hand, a data receiving method is provided, which is applied to a data receiving end in a power dual-mode communication system; the method comprises:

[0040] Receive coded data sent by a data sending end, the coded data including: target information data, the target information data is obtained by filling initial information data with first data, the first data is determined based on original information data, the length of the initial information data is equal to that of the target information data, and both are greater than the length of the original information data, and the initial information data and the target information data both include the original information data;

[0041] Acquire soft information of a plurality of first bits of the encoded data, where the plurality of first bits are used to fill the first data;

[0042] Based on the soft information of a target bit among the multiple first bits and the average of the soft information of a second bit of the encoded data, updating the soft information of the second bit, wherein the data on the second bit is the data on the target bit;

[0043] The encoded data is decoded based on the soft information of the second bit position updated with the target bit position and the soft information of other bits except the second bit position.

[0044] Optionally, the preset coding rate for data transmission by the data transmitting end is 1 / 2, the number of the second bits is multiple, the multiple second bits are continuous, and the lengths of the multiple second bits and the multiple first bits are both (SN) bytes;

[0045] Among the plurality of second bits, the first second bit is the first bit of the [n×(SN)]modN byte in the target information data;

[0046] Among the multiple second bits, the last second bit is the last bit of the [(n+1)×(SN)-1]modN byte in the target information data;

[0047] Wherein, n is the number of retransmissions of the original information data, n is an integer greater than or equal to 0, and mod represents a modulo operation;

[0048] N is obtained by rounding up the quotient of the length of the original information data and 8; S is the smallest physical block length greater than N among multiple physical block lengths supported by the data transmitting end for data transmission.

[0049] Optionally, the preset coding rate for data transmission at the data transmitting end is not 1 / 2; and updating the soft information of the second bit based on the soft information of the target bit among the multiple first bits and the average of the soft information of the second bit of the encoded data includes:

[0050] If the encoded data includes the second bit, the soft information of the second bit is updated based on the soft information of the target bit among the multiple first bits and the average of the soft information of the second bit of the encoded data.

[0051] Optionally, the coded data further includes: target verification data; and the method further includes:

[0052] Determine a first puncturing pattern and a second puncturing pattern based on the number of retransmissions of the original information data, wherein the first puncturing pattern is used to puncture the second data to obtain the first data, and the second puncturing pattern is used to puncture the second data to obtain the target verification data, and the second data is the verification data of the original information after the second zero-padding process;

[0053] If the intersection of the first puncturing pattern and the second puncturing pattern is used to indicate that at least one bit in the second data is retained, determining that the encoded data includes the second bit;

[0054] If the intersection of the first puncturing pattern and the second puncturing pattern is used to indicate that any bit in the second data is not retained, it is determined that the encoded data does not include the second bit.

[0055] In another aspect, a first communication device is provided, the first communication device comprising: a processor; the processor is configured to:

[0056] Based on the original information data to be sent, first data is acquired, where the first data is used to decode the data receiving end in the power dual-mode communication system to obtain the original information data;

[0057] Using the first data to perform data padding on the initial information data to be sent to obtain target information data, wherein the length of the initial information data is equal to that of the target information data and both are greater than the length of the original information data, and the initial information data and the target information data both include the original information data;

[0058] Based on the target information data, coded data is acquired and transmitted, wherein the coded data includes the target information data.

[0059] Optionally, the processor is used to:

[0060] Based on the original information data to be sent, obtaining second data;

[0061] Acquire the first data from the second data;

[0062] Wherein, if the preset coding rate for data transmission at the data transmitting end is 1 / 2, the second data is the original information data, or the original information data after the first zero-padding process; if the preset coding rate for data transmission at the data transmitting end is not 1 / 2, the second data is the verification data of the original information data after the second zero-padding process;

[0063] The length of the original information data after the first zero-padding process is a first length, and the first length is obtained by rounding up the quotient of the second length of the original information data and 8; the length of the original information data after the second zero-padding process is a third length, and the third length is a physical block length that is greater than the second length and the smallest among multiple physical block lengths supported by the data transmitting end for data transmission.

[0064] Optionally, if the number of retransmissions of the original information data is greater than or equal to 1, the first data filled in the target information data sent twice adjacently is different.

[0065] Optionally, the preset coding rate is 1 / 2, and the length of the second data is the first length N; and the processor is configured to:

[0066] Obtaining the number of retransmissions n of the original information data, where n is an integer greater than or equal to 0;

[0067] The data from the [n×(SN)]mod Nth byte to the [(n+1)×(SN)-1]mod Nth byte in the second data is determined as the first data, where S is the third length and mod represents a remainder operation.

[0068] Optionally, the preset coding rate is not 1 / 2; and the processor is configured to:

[0069] The second data is punctured to obtain first data.

[0070] Optionally, the second length is equal to the first length, or the second length is not divisible by 8, and the first data is filled in the initial information data, except for the original information data after the first zero-padding process; the processor is used to:

[0071] Determine a target value based on a quotient of a target difference value and the third length, wherein the target difference value is a difference value obtained by subtracting the first length N from the third length S;

[0072] Based on the target value, determining a first puncturing pattern, the first puncturing pattern being used to indicate that one bit of data is reserved for each bit of the target value in the second data;

[0073] The second data is punctured using the first puncturing pattern, and data of the first (SN) bytes of the second data retained after puncturing is determined as the first data.

[0074] On the other hand, a second communication device is provided, the second communication device comprising: a processor; the processor is configured to:

[0075] Receive coded data sent by a data sending end, the coded data including: target information data, the target information data is obtained by filling initial information data with first data, the first data is determined based on original information data, the length of the initial information data is equal to that of the target information data, and both are greater than the length of the original information data, and the initial information data and the target information data both include the original information data;

[0076] Acquire soft information of a plurality of first bits of the encoded data, where the plurality of first bits are used to fill the first data;

[0077] Based on the soft information of a target bit among the multiple first bits and the average of the soft information of a second bit of the encoded data, updating the soft information of the second bit, wherein the data on the second bit is the data on the target bit;

[0078] The encoded data is decoded based on the soft information of the second bit position updated with the target bit position and the soft information of other bits except the second bit position.

[0079] Optionally, the preset coding rate for data transmission by the data transmitting end is 1 / 2, the number of the second bits is multiple, the multiple second bits are continuous, and the lengths of the multiple second bits and the multiple first bits are both (SN) bytes;

[0080] Among the plurality of second bits, the first second bit is the first bit of the [n×(SN)]modN byte in the target information data;

[0081] Among the multiple second bits, the last second bit is the last bit of the [(n+1)×(SN)-1]modN byte in the target information data;

[0082] Wherein, n is the number of retransmissions of the original information data, n is an integer greater than or equal to 0, and mod represents a modulo operation;

[0083] N is obtained by rounding up the quotient of the length of the original information data and 8; S is the smallest physical block length greater than N among multiple physical block lengths supported by the data transmitting end for data transmission.

[0084] Optionally, the preset coding rate for data transmission at the data transmitting end is not 1 / 2; and the processor is configured to:

[0085] If the encoded data includes the second bit, the soft information of the second bit is updated based on the soft information of the target bit among the multiple first bits and the average of the soft information of the second bit of the encoded data.

[0086] On the other hand, a computer-readable storage medium is provided, on which a computer program is stored, characterized in that when the computer program is executed by a processor, the data sending method or the data receiving method as described in the above aspects is implemented.

[0087] On the other hand, a power dual-mode communication system is provided, and the power dual-mode communication system includes: the communication device as described in the above aspects.

[0088] The beneficial effects brought about by the technical solution provided by this application include at least:

[0089] The present application provides a data sending method, a receiving method, a communication device and a communication system. The data sending end can obtain the first data based on the original information data to be sent, and use the first data to fill the initial information data including the original information data to obtain the target information data, and then send the data based on the target information data. The first data can be used for the data receiving end to decode and obtain the original information data. Since the method provided by the present application can fill the initial information data with useful information that can help the data receiving end to decode, compared with the method of filling 0 in the related art, this method can effectively improve the utilization rate of network resources and reduce the waste of network resources on the one hand; on the other hand, it can improve the decoding success rate of the data receiving end.

[0090] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become apparent from the description below, or will be learned through the practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0091] Figure 1 is a flow chart of a data sending method provided in an embodiment of the present application;

[0092] Figure 2 is a flow chart of another data sending method provided in an embodiment of the present application;

[0093] Figure 3 is a schematic diagram of the structure of a turbo encoder provided in an embodiment of the present application;

[0094] Figure 4 This is a schematic diagram of a data sending end obtaining coded data at a 1 / 2 coding rate provided in an embodiment of the present application;

[0095] Figure 5 This is a schematic diagram of a data sending end obtaining coded data at a non-1 / 2 coding rate provided in an embodiment of the present application;

[0096] Figure 6 is a flow chart of a data receiving method provided in an embodiment of the present application;

[0097] Figure 7 It is a structural diagram of a communication device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0098] Embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, and should not be construed as limiting the present application.

[0099] The embodiment of the present application provides a power dual-mode communication system, which includes: a first communication device and a second communication device. The first communication device and the second communication device can transmit data via high-speed power line carrier (HPLC) communication or wireless communication technology.

[0100] Each of the first communication device and the second communication device can act as a data transmitter to send data to the other communication device, and can also act as a data receiver to receive data sent by the other communication device.

[0101] Optionally, the wireless communication technology may be a high-speed radio frequency (HRF) technology.

[0102] The following uses the first communication device as a data sending end and the second communication device as a data receiving end as an example to exemplarily illustrate the data sending method and the data receiving method provided in the embodiments of the present application. Figure 1 is a flow chart of a data transmission method provided in an embodiment of the present application, which is applied to a first communication device (in this case, a data transmission end) in a power dual-mode communication system. Figure 1 , the method comprising:

[0103] Step 101: Obtain first data based on original information data to be sent.

[0104] When the data transmitting end needs to transmit data, it can obtain the original information data to be sent. The original information data is the specific information that the data transmitting end wants to transmit to the data receiving end. Then, the data transmitting end can obtain the first data based on the original information data. The first data is used for the data receiving end (i.e., the second communication device) to decode and obtain the original information data. That is, the first data is useful information for the data receiving end to decode.

[0105] In an embodiment of the present application, the data transmitting end may obtain the second data based on the original information data, and then obtain the first data from the second data. The second data may be the original information data, or may be the original information data after the first zero-padding process, or may be the verification data of the original information data after the second zero-padding process.

[0106] Step 102: Use the first data to fill the initial information data to be sent to obtain target information data.

[0107] The initial information data includes original information data, and all positions in the initial information data except the original information data are null values. The target information data includes original information data and first data. That is, the initial information data and the target information data both include original information data. Moreover, the length of the initial information data is equal to that of the target information data, and both are greater than the length of the original information data.

[0108] Step 103: Based on the target information data, obtain the encoded data and send the encoded data.

[0109] For example, the data transmitting end may encode the target information data (eg, turbo encoding) to obtain encoded data, and then send the encoded data.

[0110] In summary, the embodiment of the present application provides a data sending method, in which a data sending end can obtain first data based on the original information data to be sent, and use the first data to fill the initial information data including the original information data to obtain the target information data, and then send the data based on the target information data. The first data is used for the data receiving end to decode and obtain the original information data. Since the method provided by the embodiment of the present application can fill the initial information data with useful information that can help the data receiving end to decode, compared with the method of filling 0 in the related art, this method can effectively improve the utilization rate of network resources and reduce the waste of network resources on the one hand; on the other hand, it can improve the decoding success rate of the data receiving end.

[0111] The embodiment of the present application takes the encoder as a turbo encoder as an example to exemplify the data transmission method provided in the embodiment of the present application. The method can be applied to the data transmitting end in the power dual-mode communication system. Figure 2 , the method may include:

[0112] Step 201: Based on the current communication mode of the data transmitting end, obtain multiple physical block lengths supported by the data transmitting end for data transmission in the communication mode.

[0113] The communication mode may be an HPLC communication mode or an HRF communication mode.

[0114] The power dual-mode communication system supports different physical block lengths in different communication modes. For example, in the HPLC communication mode, the supported multiple physical block lengths (i.e., the length of the physical block) may include: 72 bytes, 139 bytes, 264 bytes, and 520 bytes. In the HPLC communication mode, PB72, PB136, PB264, and PB520 are supported. In the HRF communication mode, the supported multiple physical block lengths may include: 16 bytes, 40 bytes, 72 bytes, 136 bytes, 264 bytes, and 520 bytes. In the HRF communication mode, six modes of PB16, PB40, PB72, PB136, PB264, and PB520 are supported.

[0115] Therefore, when the data transmitter needs to send data, it can obtain multiple physical block lengths supported by data transmission in the current communication mode based on the current communication mode, that is, multiple physical block lengths currently supported by the data transmitter.

[0116] Specifically, if the current communication mode of the data transmitter is the HPLC communication mode, the data transmitter supports multiple physical block lengths including: PB72, PB136, PB264, and PB520. If the current communication mode of the data transmitter is the HRF communication mode, the data transmitter supports multiple physical block lengths including: PB16, PB40, PB72, PB136, PB264, and PB520. It can be seen that the physical block length supported by the power dual-mode communication system is limited.

[0117] Step 202: Based on the second length of the original information data to be sent, determine a third length from a plurality of physical block lengths supported by the data transmitting end for data transmission.

[0118] In power line communication, data is usually encapsulated and transmitted in the form of physical blocks. For example, the data transmitter can first divide the data into physical blocks of a certain length, and then process each physical block through a Turbo encoder to generate a coded bit stream and send it out. Selecting an appropriate physical block length can not only reduce communication costs, but also improve the working efficiency of the Turbo encoder, thereby improving the performance of the power dual-mode communication system. In addition, when the second length of the original information data to be sent is between the two physical block lengths, a larger physical block length must be used.

[0119] Based on this, when the data transmitting end needs to perform data transmission, the third length can be determined from multiple physical block lengths supported by the data transmitting end for data transmission based on the second length of the original information data to be transmitted. The third length is greater than the second length and has the smallest difference with the second length. That is, the third length is a length greater than the second length and the smallest length among the multiple lengths.

[0120] In the embodiment of the present application, the unit of the second length is usually bit, and the unit of the physical block length is usually byte. Therefore, the data sending end can first convert the units of the second length and the physical block length to be consistent, and then based on the second length, select the third length from multiple physical block lengths supported in the current communication mode.

[0121] For example, the data transmitting end may first obtain the quotient of the second length M of the original information data to be sent and 8, and round up the quotient to obtain the first length N. That is, the first length N may satisfy: Then, the data transmitting end may determine, among the multiple physical block lengths, a length that is greater than the first length and has the smallest difference with the first length as the third length S. The first length N and the third length S are both integer bytes.

[0122] Step 203: Acquire second data based on the original information data to be sent.

[0123] The second data is used to obtain the first data for filling the initial information data, and the second data depends on the preset coding rate adopted by the data sending end for data transmission.

[0124] In an embodiment of the present application, at each physical block length, the data transmitter can support at least one coding rate (referred to as code rate for short). For example, at PB72, PB136 and PB264 in the HPLC communication mode, the data transmitter supports a code rate of 1 / 2. At PB520 in the HPLC communication mode, the data transmitter supports two code rates, 1 / 2 and 16 / 18. At each physical block length in the HRF communication mode, the data transmitter supports two code rates, 1 / 2 and 4 / 5. Among them, a / b means a divided by b. For example, 1 / 2 means one-half.

[0125] Under different coding rates, the second data obtained by the data receiving end based on the original information data is different. Specifically, if the preset coding rate for data transmission at the data sending end is 1 / 2, the second data can be the original information data, or the original information data after the first zero padding process (also called short zero padding process). If the preset coding rate for data transmission at the data sending end is not 1 / 2, the second data can be the verification data of the original information data after the second zero padding process (also called long zero padding process).

[0126] The length of the original information data after the first zero-padding process is the first length N, that is, the first zero-padding process is used to make the length of the original information data after the first zero-padding process an integer byte. The length of the original information data after the second zero-padding process and the length of the check data of the original information data after the second zero-padding process are both the third length S.

[0127] Each of the first zero-padding process and the second zero-padding process refers to: adding 0 after the original information data. The preset coding rate is selected by the data transmitter from multiple coding rates specified in the protocol when performing data transmission.

[0128] Optionally, for the case where the preset coding rate is 1 / 2, if the second length of the original information data is divisible by 8, that is, the second length is an integer byte, then the second data may be the original information data. That is, at this time, there is no need to perform zero padding on the original information data. If the second length of the original information data cannot be divided by 8, that is, the second length is not an integer byte, then the second data may be the original information data after the first zero padding process.

[0129] Step 204: Obtain the first data from the second data.

[0130] The first data is used for decoding by the data receiving end to obtain the original information data. When the second data is the original information data or the original information data after the first zero padding process, the first data may be all or part of the original information data. At this time, the initial information data is filled with the first data obtained from the second data, which can improve the calculation accuracy of the soft information used in the decoding of the data receiving end, increase the merging gain of the soft information, and thus improve the decoding success rate of the data receiving end.

[0131] In the case where the second data is the verification data of the original information data after the second zero padding process, the first data may be part of the verification data. In this case, the initial information data is filled with the first data obtained from the second data, which can reduce the bit rate, thereby improving the decoding success rate of the data receiving end.

[0132] In the embodiment of the present application, when the preset coding rate is 1 / 2, the first data may be obtained by the data transmitting end from the second data according to a pre-stored acquisition rule, or may be obtained by the data transmitting end randomly from the second data, or may be a fixed portion of the second data (such as the front end portion of the second data, or the back end portion of the data). When the preset coding rate is not 1 / 2, the data transmitting end may puncture the second data to obtain the first data from the second data.

[0133] Furthermore, the length of the first data obtained by the data sending end from the second data may depend on the way in which the data sending end fills the initial information data. The way in which the initial information data is filled may include one of the following ways: Way 1, directly filling the first data after the original information data in the initial information data. Way 2, when the second length M of the original information data cannot be divided by 8, first fill N×8-M bits of zero after the original information data, and then fill the first data. That is, the first data is filled from the position after the first length of the initial information data, and accordingly, the first data is filled at the last SN byte of the initial information data.

[0134] If the data transmitting end uses method 2 to fill the initial information data, the length of the first data is SN bytes. If the data transmitting end uses method 1 to fill the initial information data, the length of the first data is S×8-M bits. Among them, when the second length M is divisible by 8, S×8-M is equal to (SN)×8. When the second length M is not divisible by 8, S×8-M is greater than (SN)×8.

[0135] It is understandable that when the data transmitting end transmits data to the data receiving end, it also sends an indication value for indicating the length of the effective load data. The length of the effective load data is a first length N, and the unit of the first length N is bytes. That is, when the second length of the original information data is an integer byte, the original information data is directly used as the effective load data. When the second length is not an integer byte, the original information data after the first zero padding process is used as the effective load data. In this way, the length of the effective load data is an integer byte. Compared with the method in which the effective load data is the length of the original information data and the unit of the length is bits, the size of the storage space occupied by the indication value can be effectively saved. For example, 3 bits can be saved.

[0136] In the embodiment of the present application, the length of the first data is SN bytes as an example, that is, the second length is equal to the first length N, or the data sending end uses the above-mentioned method 2 to fill the initial information data as an example, and the process of the data sending end puncturing the second data to obtain the first data is exemplarily described:

[0137] The data transmitting end may first determine the target value based on the quotient of the target difference value and the third length S. The target difference value is the difference between the third length S and the first length N. Then, the data transmitting end may determine the first puncturing pattern (also referred to as a puncturing sequence) based on the target value, and then use the first puncturing pattern to puncture the second data. For example, the data transmitting end may use the first puncturing pattern to puncture the second data (which is the check data of the original information data after the second zero padding process) in order from low to high. Afterwards, the data transmitting end may determine the data of the first (SN) bytes of the second data retained after puncturing as the first data.

[0138] The first puncturing pattern is used to indicate that one bit of data is reserved for each target value bit in the second data. The target value T and the quotient value R may satisfy: . That is, the target value T can satisfy: .

[0139] In an embodiment of the present application, the first puncturing pattern may include multiple groups of identical subsequences. The length of the subsequence is T bits. Among the T bits, one bit (i.e., data on one bit) is 1, and the remaining bits are 0. 1 indicates no puncturing, i.e., the data at the corresponding position is retained. 0 indicates puncturing, i.e., the data at the corresponding position is deleted. In addition, among the T bits, the rightmost bit is the lowest bit.

[0140] For example, assuming that T is 3, and the first puncturing pattern is 001001001001, and counting starts at 0 (that is, the index of the data starts at 0), then the second data is punctured using the first puncturing pattern, and the 0th, 3rd, 6th, and 9th bits of data can be retained, thereby obtaining 4 bits of data.

[0141] It is understandable that the data receiving end and the data sending end in the power dual-mode communication system can use the hybrid automatic repeat request (HARQ) technology for data transmission. Accordingly, after the data receiving end receives data in error, the data sending end can automatically retransmit the original information data to ensure the reliability of data transmission.

[0142] In an embodiment of the present application, if the number of retransmissions of the original information data is greater than or equal to 1, the first data filled in the target information data sent twice adjacently is different. That is, for the case where the preset coding rate is 1 / 2, each transmission is filled with information data different from the previous one. In this way, the combined gain of the soft information during decoding at the data receiving end can be further increased, thereby improving the decoding success rate of the data receiving end. For the case where the preset coding rate is not 1 / 2, each transmission is filled with check data different from the previous one. In this way, the check bits can be increased, thereby further reducing the code rate, and then the decoding success rate of the data receiving end can be improved.

[0143] The following takes the length of the first data as SN bytes as an example, and describes the process of the data transmitting end obtaining the first data from the second data in combination with the number of retransmissions.

[0144] When the preset coding rate is 1 / 2, the data sending end can obtain the number of retransmissions n of the original information data. n is an integer greater than or equal to 0. Then, the data sending end can determine the data from the [n×(SN)]mod Nth byte to the [n×(SN)-1]mod Nth byte in the second data (in this case, the original information data or the original information data after the first zero-padding process) as the first data. Wherein, mod represents a remainder operation. n is 0, indicating the first transmission of the original information data. n is 1, indicating the first retransmission of the original information data, that is, the first retransmission. In addition, the byte index starts from 0.

[0145] That is to say, starting from 0, when the original information data is transmitted for the first time, the data transmitter can use the data from the 0th byte to the SN-1th byte in the second data as the first data. If the original information data is retransmitted for the first time, the data from the SNth byte to the 2×(SN)-1th byte in the second data is used as the first data. And so on, the first data used to fill the initial information data with data is obtained each time it is retransmitted.

[0146] When the preset coding rate is not 1 / 2, the data transmitter may determine the first puncturing pattern based on the target value and the number of retransmissions of the original information data. In this case, the first puncturing pattern may also be used to indicate the position of the 1-bit data retained in each target value bit of data in the target value bit of data. The position is determined based on the number of retransmissions.

[0147] Specifically, if counting starts at 1, the index of bit 1 in each subsequence of the first puncturing pattern is the sum of the number of retransmissions and 1. For example, if the number of retransmissions is 0, the position of bit 1 is the first bit of T bits. If the number of retransmissions is 2, the position of bit 1 is the third bit of T bits.

[0148] If counting starts at 0, the index of bit 1 in the subsequence of the first puncturing pattern is the number of retransmissions. For example, if the number of retransmissions is 0, the position of bit 1 is the 0th bit of T bits. If the number of retransmissions is 2, the position of bit 1 is the 2nd bit of T bits.

[0149] For example, assuming that T is 4 and the number of retransmissions is 0, the subsequence may be 0001.

[0150] Step 205: Use the first data to fill the initial information data to be sent to obtain target information data.

[0151] The initial information data includes the original information data, and all positions in the initial information data except the original information data are null values. The target information data includes the original information data and the first data. That is, the initial information data and the target information data both include the original information data. Moreover, the length of the initial information data is equal to that of the target information data, and both are equal to the third length S mentioned above, that is, both are greater than the length of the original information data.

[0152] In the embodiment of the present application, when the second length of the original information data is equal to the first length N, or the length of the first data is greater than (SN) bytes, the data transmitting end can directly fill the first data in the initial information data, except for the original information data, to obtain the target information data. For example, the first data can be directly filled after the original information data.

[0153] If the length of the first data is SN bytes and the second length of the original information data cannot be divided by 8, the data sending end may fill the first data in the initial information data except for the original information data after the first zero padding process. That is, the data sending end may first fill 0 after the original information data in the initial information data, and then add the first data.

[0154] Step 206: Based on the target information data, obtain the encoded data and send the encoded data.

[0155] In the examples of this application, see Figure 3 ,The Turbo encoder consists of two identical component encoders (ENC1, ENC2). For each pair of information bits (u1, u2) input, the Turbo encoder can output information bits (u1, u2) and check bits (p, q). Among them, ENC1 and ENC2 use 8-state encoders.

[0156] It can be seen that after turbo encoding S bytes of information bits, S bytes of check bits can be obtained. Therefore, for the case where the preset coding rate is 1 / 2, the target information data and the check data of the target information data can be transmitted in full each time. Therefore, after the data sending end obtains the target information data, it can directly turbo encode the target information data to obtain the encoded data. Among them, the encoded data includes: S bytes of target information data, and S bytes of check data. For the sake of distinction, the check data of the original data after the second zero-padding process is referred to as the first check data, and the check data obtained after Turbo encoding the target information data is referred to as the second check data.

[0157] In the case where the preset coding rate is not 1 / 2, the data sending end can obtain the second puncturing pattern according to the preset coding rate, and use the second puncturing pattern to puncture the second data. Then, the data sending end can add the second data retained after puncturing to the target information data to obtain the encoded data. The encoded data includes: S bytes of target information data, and (S / code rate-S) bytes of target verification data. The target verification data is the second data retained after puncturing the second data using the second puncturing pattern.

[0158] It is understandable that the process of puncturing the second data using the second puncturing mode may include: puncturing the second data from right (i.e., low bit) to left (i.e., high bit) using the second puncturing mode, and arranging and outputting the remaining second data after puncturing. When outputting the coded data, the information data is output in sequence first, and then the remaining second data (i.e., target verification data) is output. When outputting the target verification data, the verification data p and the verification data q are interlaced, with p in front and q in the back.

[0159] Optionally, if the number of retransmissions of the original information data is greater than or equal to 1, the second puncturing pattern used in the previous time is different from the second puncturing pattern used in the next time. In this way, it can be ensured that as the number of retransmissions increases, the verification data is continuously accumulated, thereby reducing the code rate, and then further improving the decoding success rate of the data receiving end.

[0160] In an embodiment of the present application, the data sending end can obtain the number of retransmissions of the original information data, and determine the puncturing pattern corresponding to the preset coding rate and the number of retransmissions in the correspondence between the puncturing pattern, the coding rate and the number of retransmissions as the second puncturing pattern.

[0161] For example, the corresponding relationship can be recorded in a table. When the coding rate is 16 / 18, the corresponding relationship can be shown in Table 1. When the coding rate is 4 / 5, the corresponding relationship can be shown in Table 2.

[0162] Table 1

[0163]

[0164] Table 2

[0165]

[0166] It is understandable that the above Table 1 and Table 2 are only examples of the corresponding relationship and do not limit the corresponding relationship. For example, taking Table 2 as an example, when the number of retransmissions is 0, the corresponding second puncturing pattern may also be 00100010. When the number of retransmissions is 1, the corresponding second puncturing pattern may also be 10001000.

[0167] It can also be understood that when the data transmitter supports 16 / 18 code rates, when the maximum number of retransmissions exceeds 7 times, or when the maximum number of retransmissions exceeds 3 times under 4 / 5 code rates, the second puncturing mode starts to cycle from retransmission number 0 (i.e., new transmission). Similarly, when the maximum number of retransmissions supported exceeds the target value, the first puncturing mode starts to cycle from retransmission number 0 (i.e., new transmission).

[0168] In an embodiment of the present application, after the data sending end obtains the encoded data, it can perform channel interleaving processing on the encoded data, and then modulate the encoded data after the channel interleaving processing to obtain a modulated signal carrying the encoded data, and send the modulated signal.

[0169] According to the above description, when the second length M of the original information data cannot be divided by 8, for the case where the preset coding rate is 1 / 2, see Figure 4 , the data transmitting end can firstly perform zero padding on the original information data, and perform data padding based on the original information data after the zero padding process, to obtain S bytes of target information data. Then, the data transmitting end can use the target information data as the input data of turbo coding, perform turbo coding, obtain S bytes of second check data, and thus obtain 2S bytes of coded data. After that, the data transmitting end can perform channel interleaving on the coded data and then send it.

[0170] For the case where the preset coding rate is not 1 / 2, see Figure 5, the data transmitting end may first pad the original information data with zeros, and use the original information data after the padding with zeros as the input data of the turbo encoder for turbo encoding, and obtain the first check data of S bytes in length. Then, the data transmitting end may puncture the check data using the first puncturing mode, and use the first data retained after puncturing for data filling, and obtain the target information data. Furthermore, the data transmitting end may puncture the check data using the second puncturing mode, and use the target check data retained after puncturing, add it to the target information data, and obtain the coded data of (S / preset coding rate) bytes in length, and then perform channel interleaving on the coded data before sending it.

[0171] In addition, from Figure 4 and Figure 5 It can be seen that before performing zero padding processing on the original information data, the data sending end can perform scrambling processing on the original information data.

[0172] It is understandable that the sequence of the steps of the data transmission method provided in the embodiment of the present application can be appropriately adjusted, and the steps can also be increased or decreased accordingly according to the situation. For example, step 201 and step 202 can be deleted according to the situation. Any technician familiar with the technical field can easily think of a method of change within the technical scope disclosed in this application, which should be included in the protection scope of this application, so it will not be repeated.

[0173] In summary, the embodiment of the present application provides a data sending method, in which a data sending end can obtain first data based on the original information data to be sent, and use the first data to fill the initial information data including the original information data to obtain the target information data, and then send the data based on the target information data. The first data can be used for the data receiving end to decode and obtain the original information data. Since the method provided by the embodiment of the present application can fill the initial information data with useful information that can help the data receiving end to decode, compared with the method of filling 0 in the related art, this method can effectively improve the utilization rate of network resources and reduce the waste of network resources on the one hand; on the other hand, it can improve the decoding success rate of the data receiving end.

[0174] The embodiment of the present application provides a data receiving method, which is applied to a second communication device (ie, a data receiving end) in a power dual-mode communication system. Figure 6 , the method may include:

[0175] Step 301: Receive coded data sent by a data sending end.

[0176] The coded data includes: target information data. The target information data is obtained by filling the initial information data with the first data. That is, the target information data includes the original information data and the first data. The initial information data includes the original information data, and all positions in the initial information data except the original information data are null values. It can be seen that the initial information data and the target information data both include the original information data. Moreover, the length of the initial information data is equal to that of the target information data, and both are greater than the length of the original information data.

[0177] In addition, the first data is determined based on the original information data. The process of obtaining the first data can refer to the relevant implementation process of step 203 and step 204 described above, and the embodiment of the present application will not be repeated here.

[0178] It is understandable that if the preset coding rate of the data receiving end is 1 / 2, the coded data may include: target information data and second verification data. If the preset coding rate of the data receiving end is not 1 / 2, the coded data may include: target information data and target verification data.

[0179] Step 302: Obtain soft information of multiple first bits of the encoded data.

[0180] The multiple first bits are used to fill the first data, that is, the multiple first bits are filling bits in the initial information data and the target information data.

[0181] In an embodiment of the present application, for the case where the first data is filled in the last SN byte of the initial information data, that is, the first data is located at the last SN byte of the target information data, the multiple first bits are the bits at the Nth byte to the Sth byte in the target information data, that is, the bits at the last SN byte.

[0182] When the length of the first data is S×8-M bits and is greater than the SN byte, that is, the first data is located at the last S×8-M bits of the target information data, the multiple first bits are the last S×8-M bits of the target information data.

[0183] In an embodiment of the present application, a data receiving end may receive a modulated signal, which is modulated by the coded data after channel interleaving. Then, the data receiving end may demodulate the modulated signal and perform channel deinterleaving processing to obtain the coded data including soft information of each bit in the plurality of bits.

[0184] Step 303: Update the soft information of the second bit based on the soft information of the target bit among the multiple first bits and the average of the soft information of the second bit of the encoded data.

[0185] The data on the second bit is the data on the target bit. The second bit is different from the first bit. That is, when the data receiving end performs data filling, the data on the second bit is filled into the target bit.

[0186] In an embodiment of the present application, the first data may be obtained from the original information data, or may be obtained by puncturing the second data using the first puncturing pattern. The second data is the verification data (i.e., the first verification data) of the original information data after the second zero padding process. Furthermore, when the preset coding rate is not 1 / 2, the coded data also includes target verification data obtained by puncturing the second data using the second puncturing pattern. The first puncturing pattern and the second puncturing pattern may have an intersection, so a certain data in the verification data may belong not only to the first data, but also to the target verification data.

[0187] Thus, a certain data in the first data may not only be located at the first bit position, but may also be located at the second bit position in the coded data except the first bit position. That is, for the same data, the data receiving end can demodulate and obtain at least two soft information of the data.

[0188] Since the soft information of the payload data and the soft information of the target check data (or the second check data) after the target information data are usually used when decoding the encoded data, the data receiving end can update the soft information of the second bit based on the soft information of the target bit among the multiple first bits and the average of the soft information of the second bit of the encoded data, which can improve the calculation accuracy of the soft information, thereby improving the decoding accuracy.

[0189] It is understandable that, in the case where the first data is obtained from the original information data, that is, the preset coding rate of the data transmitting end is 1 / 2, for each first data, the data receiving end will inevitably demodulate and obtain at least two soft information. Therefore, the data receiving end can directly execute step 303.

[0190] In the case where the first data is obtained by puncturing the second data, that is, the preset coding rate of the data transmitting end is not 1 / 2, the plurality of bits of the coded data may include the second bit, or may not include the second bit. In this case, the data receiving end may detect whether the plurality of bits of the coded data include the second bit. If the data receiving end determines that the plurality of bits include the second bit, step 303 may be executed.

[0191] If the data receiving end determines that the plurality of bits do not include the second bit, the coded data can be decoded directly based on the soft information of each bit in the target information data and the soft information of each bit in the target verification data. That is, the data receiving end can retain the soft information of the verification data in the target information data, thereby improving the decoding success rate.

[0192] Optionally, the updated soft information of the second bit may be the average of the soft information of the target bit and the soft information of the second bit, or may be the product of the average and a preset coefficient. The preset coefficient may be pre-stored by the data receiving end, for example, may be 0.999.

[0193] Step 304: Decode the encoded data based on the updated soft information of the second bit and the soft information of other bits except the second bit.

[0194] In the embodiment of the present application, the data receiving end may decode the encoded data based on the updated soft information of the second bit and the soft information of other bits except the second bit and the target bit, for example, turbo decoding the encoded data.

[0195] Alternatively, before decoding, the data receiving end may update the soft information of the target bit to 0. Then, the data receiving end may directly decode the encoded data based on the updated soft information of the second bit and the soft information other than the second bit.

[0196] In the embodiment of the present application, the data receiving end may receive an indication value sent by the data transmitting end, and the indication value is used to indicate the length N of the effective load data included in the target information data. Then, based on the length N, the data receiving end may determine the third length S from multiple physical block lengths supported in the current communication mode, and determine the last (auxiliary value × 8) bits in the target information data as multiple first bits, thereby obtaining soft information of multiple first bits.

[0197] Among them, the auxiliary value is the difference between the third length S and the length N of the payload data, that is, the auxiliary value is SN. The third length is the length of the target information data. The process of determining the third length at the data receiving end can be the relevant implementation process of determining the third length at the data sending end, and the embodiments of the present application are not repeated here.

[0198] In the embodiment of the present application, a case where the number of retransmissions is greater than or equal to 1 and the first data filled in each two adjacent transmitted target coded data is different is taken as an example to exemplarily illustrate the process of the data receiving end obtaining the second bit.

[0199] For the case where the preset coding rate is 1 / 2, the number of second bits can be multiple. The multiple second bits are continuous, and the length of the multiple second bits and the length of the multiple first bits are both SN bytes. At this time, the data receiving end can determine the second bit according to the number of retransmissions n of the original information data and the length N of the payload data. Specifically, the data receiving end can determine the first bit of the [n×(SN)]mod N byte in the target information data as the first second bit among the multiple second bits; and determine the last bit of the [n×(SN)-1]mod N byte in the target information data as the last second bit among the multiple second bits. Wherein, the byte index starts from 0.

[0200] For the case where the preset coding rate is not 1 / 2, the data receiving end can determine the first puncturing pattern and the second puncturing pattern based on the number of retransmissions n of the original information data. Then, if the data receiving end determines that the intersection of the first puncturing pattern and the second puncturing pattern is used to indicate that any bit in the second data is not retained, it can be determined that the encoded data does not include the second bit. If the data receiving end determines that the intersection of the first puncturing pattern and the second puncturing pattern is used to indicate that at least one bit in the second data is retained, it can be determined that the encoded data includes the second bit. Then, the data receiving end can determine the position of each bit in the at least one bit as the position of a second bit.

[0201] Among them, the process of the data receiving end determining the first perforation pattern and the second perforation pattern can refer to the relevant implementation process of the data sending end determining the first perforation pattern and the second perforation pattern, and the embodiments of the present application will not be repeated here.

[0202] In the embodiment of the present application, if the encoded data is sent by the data sending end to the data receiving end for the first time, the data receiving end can directly execute step 304. If the encoded data is not sent by the data sending end to the data receiving end for the first time, that is, the number of retransmissions n of the original information data is greater than 0, the data receiving end can merge the soft information of each data (including information data and verification data) obtained this time with the soft information of each data obtained last time, and then execute step 304. Merging the soft information means: averaging the soft information of the same data. The soft information of each data obtained last time can be stored in a buffer.

[0203] When error correction is unsuccessful, the data receiving end can save the soft information of the data and combine it with the soft information of the subsequently retransmitted data before decoding. Therefore, the useful information contained in the erroneous data packet can be effectively utilized, thereby improving the decoding gain.

[0204] In summary, a data receiving method is provided in an embodiment of the present application, and a data receiving end can update the soft information of the second bit based on the soft information of the target bit among the multiple first bits of the received coded data and the average of the soft information of the second bit of the coded data, and then decode the coded data based on the updated soft information of the second bit. The coded data includes target information data, which is obtained by filling the initial information data with the first data obtained based on the original information data, and the multiple first bits are used to fill the first data, and the data on the second bit is the data on the target bit. Since the soft information of the bit where the first data is located can be used to update the soft information of the second bit, that is, the first data can help the data receiving end to decode, compared with the method in which the data on the multiple first bits is 0, the method of filling the first data can improve the decoding accuracy of the receiving end, thereby effectively improving the utilization rate of network resources and reducing the waste of network resources.

[0205] The embodiment of the present application provides a communication device, which may be the first communication device or the second communication device described above. Figure 7 , the communication device 400 may include: a processor 401. In the case where the communication device is a first communication device, the processor 401 may be configured to:

[0206] Based on the original information data to be sent, first data is obtained, where the first data is used to decode the data receiving end in the power dual-mode communication system to obtain the original information data;

[0207] Using the first data to perform data padding on the initial information data to be sent to obtain target information data, wherein the length of the initial information data is equal to that of the target information data and both are greater than the length of the original information data, and the initial information data and the target information data both include the original information data;

[0208] Based on the target information data, coded data is acquired and transmitted, the coded data including the target information data.

[0209] Optionally, the processor 401 may be configured to:

[0210] Based on the original information data to be sent, obtaining second data;

[0211] Obtaining the first data from the second data;

[0212] Wherein, if the preset coding rate for data transmission at the data transmitting end is 1 / 2, the second data is the original information data, or the original information data after the first zero-padding process; if the preset coding rate for data transmission at the data transmitting end is not 1 / 2, the second data is the verification data of the original information data after the second zero-padding process;

[0213] The length of the original information data after the first zero-padding process is a first length, which is obtained by rounding up the quotient of the second length of the original information data and 8; the length of the original information data after the second zero-padding process is a third length, which is a physical block length that is greater than the second length and the smallest among multiple physical block lengths supported by the data transmitting end for data transmission.

[0214] Optionally, the second length is not divisible by 8. The processor 401 may be configured to:

[0215] The first data is filled in the initial information data, except for the original information data after the first zero-padding process.

[0216] Optionally, if the number of retransmissions of the original information data is greater than or equal to 1, the first data filled in the target information data sent twice adjacently are different.

[0217] Optionally, the preset coding rate is 1 / 2, and the length of the second data is the first length N; and obtaining the first data from the second data includes:

[0218] Get the number of retransmissions n of the original information data, where n is an integer greater than or equal to 0;

[0219] The data from the [n×(SN)]mod N byte to the [(n+1)×(SN)-1]mod N byte in the second data is determined as the first data, where S is the third length and mod represents a remainder operation.

[0220] Optionally, the preset coding rate for data transmission by the data transmitting end is 1 / 2. The processor 401 may be configured to:

[0221] Based on the target information data, the coded data is obtained, including:

[0222] The target information data is encoded to obtain encoded data.

[0223] Optionally, the preset coding rate is not 1 / 2; the processor 401 may be used for:

[0224] The second data is punctured to obtain the first data.

[0225] Optionally, the second length is equal to the first length, or the second length cannot be divided by 8, and the first data is filled in the initial information data, except for the original information data after the first zero padding process. Optionally, the processor 401 can be used to:

[0226] Determine a target value based on a quotient of the target difference and the third length, wherein the target difference is a difference between the third length S and the first length N;

[0227] Based on the target value, determining a first puncturing pattern, the first puncturing pattern being used to indicate that one bit of data is reserved for each target value bit of data in the second data;

[0228] The second data is punctured using the first puncturing mode, and the data of the first (SN) bytes of the second data retained after the puncturing is determined as the first data.

[0229] Optionally, the processor 401 may be configured to:

[0230] Determining a first puncturing mode based on the target value and the number of retransmissions of the original information data;

[0231] The first puncturing pattern is also used to indicate: the position of 1 bit of data retained in each target value bit of data in the target value bit of data, and the position is determined based on the number of retransmissions.

[0232] Optionally, the processor 401 may be configured to:

[0233] Obtaining a second puncturing pattern according to a preset coding rate;

[0234] Using a second puncturing mode, puncturing the second data;

[0235] The second data retained after puncturing is added to the target information data to obtain encoded data.

[0236] Optionally, if the number of retransmissions of the original information data is greater than or equal to 1, the second puncturing pattern used in the previous time is different from the second puncturing pattern used in the next time.

[0237] Optionally, the processor 401 may be configured to:

[0238] Get the number of retransmissions of the original information data;

[0239] In the correspondence between the puncturing pattern, the coding rate and the number of retransmissions, the puncturing pattern corresponding to the preset coding rate and the number of retransmissions is determined as the second puncturing pattern.

[0240] In summary, an embodiment of the present application provides a first communication device, which can obtain first data based on original information data to be sent, and use the first data to fill the initial information data to obtain target information data, and then send data based on the target information data. The initial information data and the target information data both include original information data. Since the first data can be used for decoding by a data receiving end to obtain the original information data, compared with the method of filling the initial information data with 0 to obtain the target information data, the utilization rate of network resources can be effectively improved and the waste of network resources can be reduced.

[0241] It can be understood that, when the communication device is the second communication device described above, the processor 401 can be used to:

[0242] Receive coded data sent by a data transmitting end, the coded data including: target information data, the target information data is obtained by filling initial information data with first data, the first data is determined based on the original information data, the length of the initial information data is equal to that of the target information data, and both are greater than the length of the original information data, and the initial information data and the target information data both include the original information data;

[0243] Acquire soft information of a plurality of first bits of the encoded data, where the plurality of first bits are used to fill the first data;

[0244] Based on the soft information of the target bit among the plurality of first bit positions and the average of the soft information of the second bit position of the encoded data, the soft information of the second bit position is updated, wherein the data on the second bit position is the data on the target bit position;

[0245] The encoded data is decoded based on the soft information of the second bit position updated with the target bit position and the soft information of other bits except the second bit position.

[0246] Optionally, the preset coding rate for data transmission at the data transmitting end is 1 / 2, the number of the second bit positions is multiple, the multiple second bit positions are continuous, and the lengths of the multiple second bit positions and the multiple first bit positions are both (SN) bytes;

[0247] Among the multiple second bits, the first second bit is the first bit of the [n×(SN)]modN byte in the target information data;

[0248] Among the multiple second bits, the last second bit is the last bit of the [(n+1)×(SN)-1]modN byte in the target information data;

[0249] Wherein, n is the number of retransmissions of the original information data, and n is an integer greater than or equal to 0;

[0250] N is obtained by rounding up the quotient of the length of the original information data and 8; S is the smallest physical block length greater than N among multiple physical block lengths supported by the data transmitter for data transmission.

[0251] Optionally, the preset coding rate for data transmission at the data transmitting end is not 1 / 2. The processor 401 may be configured to:

[0252] If the encoded data includes a second bit, the soft information of the second bit is updated based on the soft information of the target bit among the plurality of first bits and the average of the soft information of the second bit of the encoded data.

[0253] Optionally, the coded data also includes: target verification data. The processor 401 may also be used for:

[0254] Based on the number of retransmissions of the original information data, determine a first puncturing mode and a second puncturing mode, wherein the first puncturing mode is used to puncture the second data to obtain the first data, and the second puncturing mode is used to puncture the second data to obtain target verification data, and the second data is the verification data of the original information after the second zero-padding process;

[0255] If the intersection of the first puncturing pattern and the second puncturing pattern is used to indicate that at least one bit in the second data is retained, determining that the encoded data includes the second bit;

[0256] If the intersection of the first puncturing pattern and the second puncturing pattern is used to indicate that any bit in the second data is not retained, it is determined that the encoded data does not include the second bit.

[0257] In summary, an embodiment of the present application provides a second communication device, which can update the soft information of the second bit based on the soft information of the target bit among the multiple first bits of the received coded data and the average of the soft information of the second bit of the coded data, and then decode the coded data based on the updated soft information of the second bit. The coded data includes target information data, which is obtained by filling the initial information data with the first data obtained based on the original information data, and the multiple first bits are used to fill the first data, and the data on the second bit is the data on the target bit. Since the soft information of the bit where the first data is located can be used to update the soft information of the second bit, that is, the first data can help the data receiving end to decode, compared with the method in which the data on the multiple first bits is 0, the method of filling the first data can improve the decoding success rate of the receiving end, thereby effectively improving the utilization rate of network resources and reducing the waste of network resources.

[0258] like Figure 7 As shown, the communication device 400 further includes: a memory 403. The processor 401 and the memory 403 are connected, such as through a bus 402. Optionally, the controller 400 may further include a transceiver 404. It should be noted that in actual applications, the transceiver 404 is not limited to one, and the structure of the controller 400 does not constitute a limitation on the embodiments of the present application.

[0259] Processor 401 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It may implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application. Processor 401 may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.

[0260] The bus 402 may include a path to transmit information between the above components. The bus 402 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus. The bus 402 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 7 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0261] The memory 403 is used to store a computer program corresponding to the data sending method or data receiving method of the above-mentioned embodiment of the present application, and the computer program is controlled and executed by the processor 401. The processor 401 is used to execute the computer program stored in the memory 403 to implement the contents shown in the above-mentioned method embodiment.

[0262] The communication device 400 includes, but is not limited to, a mobile phone, a laptop computer, a PAD (tablet computer), a smart meter, a power line communication adapter, a sensor, and a repeater. Figure 7 The communication device 400 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0263] An embodiment of the present application provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the data sending method or the data receiving method provided in the above method embodiment is implemented.

[0264] It should be noted that the logic and / or steps represented in the flowchart or described in other ways herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be specifically implemented in any computer-readable medium for use by an instruction execution system, device or equipment (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or equipment and execute instructions), or in combination with these instruction execution systems, devices or equipment. For the purpose of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or equipment, or in combination with these instruction execution systems, devices or equipment. More specific examples (non-exhaustive list) of computer-readable media include the following: an electrical connection portion with one or more wirings (electronic device), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and editable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or processing in other suitable ways if necessary, and then stored in a computer memory.

[0265] It should be understood that the various parts of the present application can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0266] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.

[0267] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In the description of this application, the meaning of "plurality" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined.

[0268] In this application, unless otherwise clearly specified and limited, the terms "installed", "connected", "connected", "fixed" and the like should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium, it can be the internal connection of two elements or the interaction relationship between two elements, unless otherwise clearly defined. For ordinary technicians in this field, the specific meanings of the above terms in this application can be understood according to specific circumstances.

[0269] Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limitations on the present application. Ordinary technicians in this field can change, modify, replace and modify the above embodiments within the scope of the present application.

Claims

1. A data transmission method, characterized in that: A data transmitting end applied to a power dual-mode communication system; the method comprises: Based on the original information data to be sent, first data is acquired, where the first data is used for a data receiving end in the power dual-mode communication system to decode and obtain the original information data; Using the first data to perform data padding on the initial information data to be sent to obtain target information data, wherein the length of the initial information data is equal to that of the target information data and both are greater than the length of the original information data, and the initial information data and the target information data both include the original information data; Based on the target information data, obtaining coded data, and sending the coded data, the coded data including the target information data; Wherein, obtaining the first data based on the original information data to be sent includes: obtaining the second data based on the original information data to be sent; and obtaining the first data from the second data; If the preset coding rate for data transmission at the data transmitting end is 1 / 2, the second data is the original information data, or the original information data after the first zero-padding process; if the preset coding rate for data transmission at the data transmitting end is not 1 / 2, the second data is the verification data of the original information data after the second zero-padding process; The length of the original information data after the first zero-padding process is a first length, and the first length is obtained by rounding up the quotient of the second length of the original information data and 8; the length of the original information data after the second zero-padding process is a third length, and the third length is a physical block length that is greater than the second length and the smallest among multiple physical block lengths supported by the data transmitting end for data transmission.

2. The method according to claim 1, characterized in that The second length is not divisible by 8; The initial information data to be sent is filled with data using the first data to obtain target information data, including: The first data is filled in the initial information data, except for the original information data after the first zero-padding process.

3. The method according to claim 1, characterized in that If the number of retransmissions of the original information data is greater than or equal to 1, the first data filled in the target information data sent twice adjacently are different.

4. The method according to claim 3, characterized in that The preset coding rate is 1 / 2, and the length of the second data is the first length N; Acquiring the first data from the second data includes: Obtaining the number of retransmissions n of the original information data, where n is an integer greater than or equal to 0; The data from the [n×(SN)]mod Nth byte to the [(n+1)×(SN)-1]mod Nth byte in the second data is determined as the first data, where S is the third length and mod represents a remainder operation.

5. The method according to any one of claims 1 to 4, characterized in that: The preset coding rate for data transmission by the data transmitting end is 1 / 2; Based on the target information data, obtaining coded data includes: The target information data is encoded to obtain encoded data.

6. The method according to claim 1, characterized in that The preset coding rate is not 1 / 2; obtaining the first data from the second data comprises: The second data is punctured to obtain first data.

7. The method according to claim 6, characterized in that The second length is equal to the first length, or the second length is not divisible by 8, and the first data is filled in the initial information data, except for the original information data after the first zero-padding process; Punching the second data to obtain the first data includes: Determine a target value based on a quotient of a target difference value and the third length, wherein the target difference value is a difference value obtained by subtracting the first length N from the third length S; Based on the target value, determining a first puncturing pattern, the first puncturing pattern being used to indicate that one bit of data is reserved for each bit of the target value in the second data; The second data is punctured using the first puncturing pattern, and data of the first (SN) bytes of the second data retained after puncturing is determined as the first data.

8. The method according to claim 7, characterized in that Based on the target value, determining a first punching mode includes: Determining the first puncturing mode based on the target value and the number of retransmissions of the original information data; The first puncturing pattern is further used to indicate: the position of 1 bit of data retained in each target value bit of data in the target value bit of data, wherein the position is determined based on the number of retransmissions.

9. The method according to any one of claims 6 to 8, characterized in that: Based on the target information data, obtaining coded data includes: According to the preset coding rate, obtaining a second puncturing pattern; Using the second puncturing mode, puncturing the second data; The second data retained after puncturing is added to the target information data to obtain encoded data.

10. The method according to claim 9, characterized in that If the number of retransmissions of the original information data is greater than or equal to 1, the second puncturing pattern used in the previous transmission is different from the second puncturing pattern used in the next transmission.

11. The method according to claim 10, characterized in that According to the preset coding rate, obtaining a second puncturing pattern includes: Obtaining the number of retransmissions of the original information data; In the correspondence between the puncturing pattern, the coding rate and the number of retransmissions, the puncturing pattern corresponding to the preset coding rate and the number of retransmissions is determined as the second puncturing pattern.

12. A data receiving method, characterized in that: A data receiving end applied to a power dual-mode communication system; the method comprises: Receive coded data sent by a data sending end, the coded data including: target information data, the target information data is obtained by filling initial information data with first data, the first data is determined based on original information data, the length of the initial information data is equal to that of the target information data, and both are greater than the length of the original information data, and the initial information data and the target information data both include the original information data; Acquire soft information of a plurality of first bits of the encoded data, where the plurality of first bits are used to fill the first data; Based on the soft information of a target bit among the multiple first bits and the average of the soft information of a second bit of the encoded data, updating the soft information of the second bit, wherein the data on the second bit is the data on the target bit; Decoding the encoded data based on the updated soft information of the second bit and the soft information of other bits except the second bit; Wherein, when the preset coding rate for data transmission at the data transmitting end is 1 / 2, the number of the second bits is multiple, the multiple second bits are continuous, and the lengths of the multiple second bits and the multiple first bits are both (SN) bytes; Among the plurality of second bits, the first second bit is the first bit of the [n×(SN)]modN byte in the target information data; Among the multiple second bits, the last second bit is the last bit of the [(n+1)×(SN)-1]modN byte in the target information data; Among them, n is the number of retransmissions of the original information data, n is an integer greater than or equal to 0, and mod represents a remainder operation; N is obtained by rounding up the quotient of the length of the original information data and 8; S is the smallest physical block length greater than N among multiple physical block lengths supported by the data sending end for data transmission.

13. The method according to claim 12, characterized in that When the preset coding rate for data transmission at the data transmitting end is not 1 / 2; based on the soft information of the target bit in the multiple first bits and the average of the soft information of the second bit of the encoded data, updating the soft information of the second bit includes: If the encoded data includes the second bit, the soft information of the second bit is updated based on the soft information of the target bit among the multiple first bits and the average of the soft information of the second bit of the encoded data.

14. The method according to claim 13, characterized in that The coded data also includes: target verification data; the method also includes: Determine a first puncturing pattern and a second puncturing pattern based on the number of retransmissions of the original information data, wherein the first puncturing pattern is used to puncture the second data to obtain the first data, and the second puncturing pattern is used to puncture the second data to obtain the target verification data, and the second data is the verification data of the original information after the second zero-padding process; If the intersection of the first puncturing pattern and the second puncturing pattern is used to indicate that at least one bit in the second data is retained, determining that the encoded data includes the second bit; If the intersection of the first puncturing pattern and the second puncturing pattern is used to indicate that any bit in the second data is not retained, it is determined that the encoded data does not include the second bit.

15. A first communication device, characterized in that: The first communication device comprises: a processor; the processor is configured to: Based on the original information data to be sent, first data is acquired, where the first data is used to decode the data receiving end in the power dual-mode communication system to obtain the original information data; Using the first data to perform data padding on the initial information data to be sent to obtain target information data, wherein the length of the initial information data is equal to that of the target information data and both are greater than the length of the original information data, and the initial information data and the target information data both include the original information data; Based on the target information data, obtaining coded data, and sending the coded data, the coded data including the target information data; The process of the processor acquiring the first data based on the original information data to be sent includes: Based on the original information data to be sent, obtaining second data; Acquire the first data from the second data; Wherein, if the preset coding rate for data transmission at the data transmitting end in the electric power dual-mode communication system is 1 / 2, the second data is the original information data, or the original information data after the first zero-padding process; if the preset coding rate for data transmission at the data transmitting end is not 1 / 2, the second data is the verification data of the original information data after the second zero-padding process; The length of the original information data after the first zero-padding process is a first length, and the first length is obtained by rounding up the quotient of the second length of the original information data and 8; the length of the original information data after the second zero-padding process is a third length, and the third length is a physical block length that is greater than the second length and the smallest among multiple physical block lengths supported by the data transmitting end for data transmission.

16. The first communication device according to claim 15, characterized in that: If the number of retransmissions of the original information data is greater than or equal to 1, the first data filled in the target information data sent twice adjacently are different.

17. The first communication device according to claim 16, characterized in that: The preset coding rate is 1 / 2, and the length of the second data is the first length N; and the processor is used for: Obtaining the number of retransmissions n of the original information data, where n is an integer greater than or equal to 0; The data from the [n×(SN)]mod Nth byte to the [(n+1)×(SN)-1]mod Nth byte in the second data is determined as the first data, where S is the third length and mod represents a remainder operation.

18. The first communication device according to claim 15, characterized in that: The preset coding rate is not 1 / 2; and the processor is used for: The second data is punctured to obtain first data.

19. The first communication device according to claim 18, characterized in that: The second length is equal to the first length, or the second length cannot be divided by 8, and the first data is filled in the initial information data, except for the original information data after the first zero padding process; the processor is used to: Determine a target value based on a quotient of a target difference value and the third length, wherein the target difference value is a difference value obtained by subtracting the first length N from the third length S; Based on the target value, determining a first puncturing pattern, the first puncturing pattern being used to indicate that one bit of data is reserved for each bit of the target value in the second data; The second data is punctured using the first puncturing pattern, and data of the first (SN) bytes of the second data retained after puncturing is determined as the first data.

20. A second communication device, characterized in that: The second communication device includes: a processor; the processor is configured to: Receive coded data sent by a data sending end, the coded data including: target information data, the target information data is obtained by filling initial information data with first data, the first data is determined based on original information data, the length of the initial information data is equal to that of the target information data, and both are greater than the length of the original information data, and the initial information data and the target information data both include the original information data; Acquire soft information of a plurality of first bits of the encoded data, where the plurality of first bits are used to fill the first data; Based on the soft information of a target bit among the multiple first bits and the average of the soft information of a second bit of the encoded data, updating the soft information of the second bit, wherein the data on the second bit is the data on the target bit; Decoding the encoded data based on the updated soft information of the second bit and the soft information of other bits except the second bit; Wherein, when the preset coding rate for data transmission at the data transmitting end is 1 / 2, the number of the second bits is multiple, the multiple second bits are continuous, and the lengths of the multiple second bits and the multiple first bits are both (SN) bytes; Among the plurality of second bits, the first second bit is the first bit of the [n×(SN)]modN byte in the target information data; Among the multiple second bits, the last second bit is the last bit of the [(n+1)×(SN)-1]modN byte in the target information data; Wherein, n is the number of retransmissions of the original information data, n is an integer greater than or equal to 0, and mod represents a modulo operation; N is obtained by rounding up the quotient of the length of the original information data and 8; S is the smallest physical block length greater than N among multiple physical block lengths supported by the data transmitting end for data transmission.

21. The second communication device according to claim 20, characterized in that: When the preset coding rate for data transmission at the data transmitting end is not 1 / 2; the processor is used to: If the encoded data includes the second bit, the soft information of the second bit is updated based on the soft information of the target bit among the multiple first bits and the average of the soft information of the second bit of the encoded data.

22. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 14 is implemented.

23. A power dual-mode communication system, characterized in that: The power dual-mode communication system comprises: a first communication device as described in any one of claims 15 to 19, and a second communication device as described in claim 20 or claim 21.