CN115412199A - Data processing method, data processing device, computing equipment and storage medium - Google Patents

Data processing method, data processing device, computing equipment and storage medium Download PDF

Info

Publication number
CN115412199A
CN115412199A CN202110593041.6A CN202110593041A CN115412199A CN 115412199 A CN115412199 A CN 115412199A CN 202110593041 A CN202110593041 A CN 202110593041A CN 115412199 A CN115412199 A CN 115412199A
Authority
CN
China
Prior art keywords
values
data
value
ith
numerical values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110593041.6A
Other languages
Chinese (zh)
Inventor
粱山锁
白铂
张弓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110593041.6A priority Critical patent/CN115412199A/en
Publication of CN115412199A publication Critical patent/CN115412199A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0043Realisations of complexity reduction techniques, e.g. use of look-up tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • G06F9/30178Runtime instruction translation, e.g. macros of compressed or encrypted instructions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables

Abstract

The application discloses a data processing method, a data processing device, computing equipment and a storage medium, and belongs to the technical field of communication. The method compresses N first numerical values in a first data stream into M second numerical values through a transmitting terminal to finish the encoding process without encoding and modulating the N first numerical values, and compared with an encoding scheme based on encoding modulation, the encoding scheme based on compression has low encoding complexity and correspondingly low decoding complexity, so that the decoding duration of a receiving terminal can be reduced, and the decoding efficiency of the receiving terminal is improved.

Description

Data processing method, data processing device, computing equipment and storage medium
Technical Field
The present application relates to the field of communications technologies, and in particular, to a data processing method, an apparatus, a computing device, and a storage medium.
Background
In a communication system, a transmitting end adopts a certain coding scheme to code a data stream, and sends the coded data to a receiving end, and then the receiving end decodes the received data to recover the data stream of the transmitting end.
Current coding schemes include two processes, binary coding and modulation. For example, the transmitting end performs binary coding on the data stream to obtain a coded sequence. Then, the transmitting end modulates the coding sequence, converts the modulated signal into an analog signal and sends the analog signal to the receiving end, and the receiving end demodulates the received signal and decodes the demodulated signal to obtain a data stream, thereby realizing decoding.
In order to increase the coding rate so that the signal transmitted in the channel can reach shannon capacity, the transmitting end generally increases the order of modulation when modulating the coding sequence. However, in the process of demodulating the received signal, the demodulation complexity and the modulation order of the receiving end form an exponential relationship. That is, the higher the modulation order, the higher the demodulation complexity, and accordingly, the longer the demodulation time length will be, which also prolongs the decoding time length of the receiving end, thereby reducing the decoding efficiency of the receiving end.
Disclosure of Invention
The embodiment of the application provides a data processing method, a data processing device, a computing device and a storage medium, which can reduce the decoding time of a receiving end and improve the decoding efficiency of the receiving end. The technical scheme is as follows:
in a first aspect, a data processing method is provided, where the method is performed by a transmitting end, and the method includes:
acquiring a first data stream, wherein the first data stream comprises N first numerical values; compressing the N first numerical values based on a compression matrix to obtain M second numerical values; performing digital-to-analog conversion on the M second numerical values to obtain a first analog signal; and transmitting the first analog signal.
The compression matrix comprises M rows and N columns of data, each second numerical value is obtained based on the N first numerical values and a corresponding row of data in the compression matrix, and M is an integer smaller than N.
The method compresses N first numerical values in a first data stream into M second numerical values through a transmitting terminal to finish the encoding process without encoding and modulating the N first numerical values, and compared with an encoding scheme based on encoding modulation, the encoding scheme based on compression has low encoding complexity and correspondingly low decoding complexity, so that the decoding time length of a receiving terminal can be reduced, and the decoding efficiency of the receiving terminal is improved.
In one possible implementation, the obtaining the first data stream includes:
receiving the first data stream; alternatively, the first and second liquid crystal display panels may be,
receiving a second data stream, the second data stream comprising J third values; coding the J third numerical values to obtain N first numerical values;
and J is an integer less than N, and each first numerical value is obtained based on part of the J third numerical values.
In one possible implementation, the N first values correspond to a same type of carry.
In a possible implementation manner, before the compressing the N first numerical values, the method further includes:
when the N first numerical values are binary data, updating a first numerical value which is 0 in the N first numerical values into a non-binary numerical value;
the compressing the N first values based on the compression matrix comprises:
and compressing the updated N first numerical values based on the compression matrix.
In one possible implementation, the non-binary value is any value other than 0 and 1.
In a possible implementation manner, the encoding the J third values to obtain the N first values includes:
dividing the J third numerical values into L data blocks; determining L rows of data or L rows of data corresponding to the L data blocks in the coding matrix as the N first numerical values;
each data block comprises a part of the J third values, each data block respectively corresponds to a column of data or a row of data in the coding matrix, and L is an integer smaller than J.
In a possible implementation manner, the encoding the J third values to obtain the N first values includes:
carrying out binary coding on the J third numerical values to obtain a coded numerical value group; updating the coded data which is 0 in the coded value group into a non-binary value;
the encoding value group comprises N encoding data, each encoding data is obtained by encoding based on a part of the J third values, and the N first values are data in the updated encoding value group.
In a possible implementation, the compression matrix is a gaussian matrix subject to independent co-distribution, or the compression matrix is a fast transformation matrix.
In one possible implementation, after the sending the first analog signal, the method further includes:
receiving a data retransmission request; performing digital-to-analog conversion on the retransmission data to obtain a second analog signal; transmitting the second analog signal;
wherein the data retransmission request is used for instructing retransmission of the value compressed by the N first values, and the retransmitted data includes the value compressed by the N first values.
In one possible implementation manner, before performing digital-to-analog conversion on the M second numerical values, the method further includes:
performing a clipping operation on the M second values;
the performing digital-to-analog conversion on the M second values includes:
and D/A conversion is carried out on the M second numerical values after amplitude limiting.
In a second aspect, a data processing method is provided, where the method is performed by a receiving end, and the method includes:
receiving a first analog signal; performing analog-to-digital conversion on the first analog signal to obtain M second numerical values, wherein each second numerical value is obtained based on N first numerical values and a corresponding row of data in a compression matrix, the compression matrix comprises M rows and N columns of data, N is an integer greater than 1, and M is an integer smaller than N;
and decoding the M second numerical values based on the compression matrix to obtain the N first numerical values.
In one possible implementation, the coding the M second values based on the compression matrix comprises:
and h iterative decoding is carried out on the M second numerical values based on the compression matrix to obtain an h iterative decoding result, wherein h is an integer larger than 0.
In a possible implementation manner, the h-th iterative decoding result is the N first values, and the h-th iterative decoding on the M second values based on the compression matrix includes:
and in the ith iterative decoding process, decompressing the M second numerical values based on the compression matrix and the (i-1) th iterative decoding result to obtain the ith iterative decoding result, wherein i is an integer which is greater than 1 and less than or equal to h.
In one possible implementation, the h iterative coding of the M second values based on the compression matrix comprises:
in the ith iterative decoding process, decompressing the M second numerical values based on the compression matrix and the ith-1 iterative decoding result to obtain an ith decoding numerical value group; decoding the ith decoding numerical value group to obtain an ith iterative decoding result;
if i is equal to h, the ith decoding value group comprises the N first values, and i is an integer which is greater than 1 and less than or equal to h.
In a possible implementation manner, the M second values are clipped values, and the decompressing the M second values based on the compression matrix and the i-1 th iterative decoding result includes:
based on the ith-1 iteration decoding result, performing minimum mean square error estimation on the M second numerical values to obtain an ith estimated numerical value; decompressing the ith estimated value based on the compression matrix;
the ith estimated value is a value estimated in the ith iterative decoding process before the amplitude limit of the plurality of second values.
In a possible implementation manner, the performing minimum mean square error estimation on the M second numerical values based on the i-1 st iteration coding result includes:
performing decorrelation operation on the ith-1 iteration decoding result to obtain ith external information; and performing minimum mean square error estimation on the M second numerical values based on the ith external information.
In a possible implementation manner, the decompressing the ith predictor based on the compression matrix includes:
based on the compression matrix, filtering the ith estimated value by adopting a matched filter MF;
or, based on the compression matrix, carrying out pseudo-inverse PI processing on the ith estimated value;
or, based on the compression matrix, performing linear minimum mean square error estimation LMMSE on the ith estimated value.
In a possible implementation manner, the M second values are clipped values, and the decoding operation on the ith decoding value group includes:
performing a decorrelation operation on the ith decoded value set; and performing decoding operation on the i-th decoding value group after the decorrelation.
In one possible implementation manner, the decompressing the M second values includes:
based on the compression matrix and the i-1 th iteration decoding result, filtering the M second numerical values by adopting a matched filter MF;
or, based on the compression matrix and the i-1 th iteration decoding result, performing pseudo-inverse PI processing on the M second numerical values;
or, based on the compression matrix and the (i-1) th iteration decoding result, performing linear minimum mean square error estimation (LMMSE) on the M second numerical data.
In one possible implementation, the method further includes:
if the decoding of the M second numerical values fails, sending a data retransmission request to a transmitting terminal, wherein the data retransmission request is used for indicating the transmitting terminal to retransmit the numerical values compressed by the N first numerical values;
receiving a second analog signal, and performing analog-to-digital conversion on the second analog signal to obtain retransmission data, wherein the retransmission data comprises values compressed by the N first values;
and performing an iterative decoding process on the historical data compressed by the N first values and the retransmission data, wherein the historical data comprises the M second values.
In a third aspect, a data processing apparatus is provided for executing the above data processing method. Specifically, the data processing apparatus includes functional modules configured to execute the data processing method provided in the first aspect or any one of the optional manners of the first aspect.
In a fourth aspect, a data processing apparatus is provided for performing the above data processing method. In particular, the data processing apparatus comprises functional modules for performing the data processing method provided by the second aspect or any one of the alternatives of the second aspect.
In a fifth aspect, a computing device is provided, the computing device comprising a processor and a memory, the memory having stored therein at least one program code, the program code being loaded and executed by the processor to perform operations as performed by the data processing method described above. For example, the data processing method provided by the first aspect or any optional manner of the first aspect is implemented.
In a sixth aspect, a computing device is provided, which comprises a processor and a memory, wherein at least one program code is stored in the memory, and the program code is loaded by the processor and executed to implement the operations performed by the data processing method as described above. For example, the data processing method provided by the second aspect or any alternative manner of the second aspect is implemented.
In a seventh aspect, a computer-readable storage medium is provided, in which at least one program code is stored, and the program code is loaded and executed by a processor to implement the operations performed by the data processing method as described above.
In an eighth aspect, a computer program product or a computer program is provided, the computer program product or the computer program comprising program code stored in a computer-readable storage medium, the program code being read by a processor of a computing device from the computer-readable storage medium, the program code being executed by the processor to cause the computing device to perform the method provided in the first aspect or the various alternative implementations of the first aspect, or to cause the computing device to perform the method provided in the second aspect or the various alternative implementations of the second aspect.
Drawings
Fig. 1 is a schematic diagram of a communication system provided in an embodiment of the present application;
fig. 2 is a schematic diagram of a communication system supporting a coding compression scheme according to an embodiment of the present application;
fig. 3 is a flowchart of a data processing method provided in an embodiment of the present application;
FIG. 4 is a diagram illustrating a comparison between system performance and code compression and code modulation provided by an embodiment of the present application;
fig. 5 is a flowchart of data processing under an automatic repeat request mechanism according to an embodiment of the present application;
fig. 6 is a schematic diagram of an incremental automatic repeat request mechanism according to an embodiment of the present disclosure;
fig. 7 is a flowchart of a data processing method provided in an embodiment of the present application;
fig. 8 is a schematic diagram illustrating a comparison of code words before and after slicing according to an embodiment of the present application;
fig. 9 is a flowchart of coding compression in a clipping situation according to an embodiment of the present application;
fig. 10 is a block diagram of an iterative decoder provided in an embodiment of the present application;
fig. 11 is a flowchart of decoding in a slicing situation according to an embodiment of the present application;
FIG. 12 is a graph comparing system performance for a wide/unlimited number of operating scenarios provided by embodiments of the present application;
FIG. 13 is a graph comparing system performance under a wide/unlimited operation condition provided by embodiments of the present application;
fig. 14 is a schematic diagram of a data processing method in a multiple access situation according to an embodiment of the present application;
fig. 15 is a schematic structural diagram of a data processing apparatus according to an embodiment of the present application;
fig. 16 is a schematic structural diagram of a data processing apparatus according to an embodiment of the present application;
fig. 17 is a schematic structural diagram of a computing device according to an embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the present application more clear, the following detailed description of the embodiments of the present application will be made with reference to the accompanying drawings.
The present application relates to a processing of a first data stream by a transmitting end, in which processing the transmitting end can process in units of sets of values. For convenience of description, various value sets may be involved in the processing of the value set in the first data stream by the transmitting end, and the various value sets involved in the present application are described as follows:
the first set of values: the set of values to be compressed can also be understood as a set of values before the compression process.
The second set of numerical values: the value set compressed from the first value set may be a value set after compression processing.
The third set of values: the set of values to be encoded can also be understood as a set of values before the encoding process.
The fourth set of values: the value set obtained by encoding the third value set may be understood as a value set after encoding processing.
A fifth set of values: each fifth value set may be split into at least one first value set for a value set obtained by interleaving the plurality of first values in the first data stream.
Fig. 1 is a schematic diagram of a communication system according to an embodiment of the present application, and referring to fig. 1, the system 100 includes a transmitting end 101 and a receiving end 102, where the number of the transmitting end 101 and the receiving end 102 is one (as shown in fig. 1) or more.
The transmitting end 101 is a device that performs encoding processing on a data stream. Optionally, the transmitting end 101 is a base station or a server, such as an evolved node B (eNB), a macro base station, a micro base station, a radio remote base station, and the like.
The receiving end 102 is a device that decodes the data output by the transmitting end 101 to recover the data stream. Alternatively, the receiving end 102 is a terminal, which may be referred to as an end station, user terminal, user device, access device, subscriber station, subscriber unit, mobile station, user agent, user equipment, portable terminal, laptop terminal, desktop terminal, or the like. For example, the terminal may be a mobile phone, a tablet, a set-top box, a smart television, a smart wearable device, a computer, an Artificial Intelligence (AI) product, or an internet of things (IoT) terminal. For example, a smart phone, a moving picture experts group audio Layer III (MP 3) player, a moving picture experts group audio Layer IV (MP 4) player, a notebook computer, a desktop computer, a communication server, a router, a switch, a network bridge, an intelligent bracelet, an intelligent speaker, an intelligent automobile, an intelligent instrument, an intelligent printer, an industrial intelligent computer, an intelligent code scanning device or an intelligent monitoring terminal, etc.
In another possible implementation manner, the transmitting end 101 is a terminal, and the receiving end 102 is a base station or a server.
The system 100 is adapted to a communication scenario with a high rate requirement, which includes a short-distance high-speed optical communication scenario, a high transmission rate scenario of wireless communication, and the like. Such as a data center with high speed transmission requirements, where the data center has fast data transmission between its various devices, which may be an optical transmission network. As another example, virtual Reality (VR) online gaming in a wireless scenario. As another example, a large-scale machine-type communication scenario supporting mass device reception, such as a wireless communication scenario with a large number of IoT devices or a communication scenario with a large number of mobile devices supporting fifth generation mobile communication (5 g) technology, etc., may be implemented.
In one possible implementation, the transmitting end performs a compression operation on the first data stream to generate a codeword to complete the encoding process, which may also be referred to as a compression process. The receiving end performs decompression operation on the codeword output by the transmitting end to recover the first data stream, so as to complete a decoding process, which may also be referred to as a decompression process.
In another possible implementation manner, the transmitting end performs an encoding operation on the second data stream to obtain a first data stream, and performs a compression operation on the first data stream to generate a codeword, so as to complete an encoding process, which may also be referred to as an encoding-compression process. The receiving end performs decompression operation and decoding operation on the codeword output by the transmitting end to recover the second data stream, so as to complete a decoding process, which may also be referred to as a decompression-decoding process. For example, fig. 2 shows a schematic diagram of a communication system supporting a coding compression scheme, where a transmitting end includes an encoder (encoder) and a compressor (compressor), and a receiving end as an iterative receiver (iterative receiver) includes a decompressor (decompressor) and a decoder (decoder). The encoder encodes partial data in the second data stream d to obtain a fourth value group c, where the fourth value group c is a data group or sequence composed of encoded data of the partial data values in the second data stream d, and after obtaining the fourth value group c, the encoder continues to encode the uncoded data in the second data stream d to obtain a new fourth value group c, and encodes each fourth value group c to form a first data stream. After the encoder encodes a fourth value group c, the compressor compresses the fourth value group c to obtain a code word x, and sends the code word x to the iterative receiver through a channel, wherein the channel between the transmitting end and the receiving end has high additivityAn additive white noise (AWGN) channel. Due to the presence of noise in the channel, the iterative receiver receives a codeword of y, where,
Figure BDA0003090255550000061
is noise in the channel (e.g. additive white gaussian noise), σ 2 I is the identity matrix. In addition, since the fourth value group is set as the value group to be compressed in the compression process, the fourth value group may also be referred to as the first value group, and the value groups to be compressed may be all represented by c in the present application. After the iterative receiver reaches the signal y, the iterative receiver adopts a decompressor and a decoder to carry out iterative decoding on the signal y for multiple times, in each iterative decoding, the decompressor carries out decompression operation on the signal y, the decoder carries out decoding operation on the decompression result of the time, and the decoding result of the time is used as prior information to be sent to the decompressor, so that the decompressor can carry out the next iterative decoding process based on the prior information and the signal y. And the decoding result in the last iterative decoding process is the first data stream recovered by the iterative receiver.
For further explanation, the encoding process performed by the transmitting end and the iterative decoding process performed by the receiving end refer to a flowchart of a data processing method provided in the embodiment of the present application shown in fig. 3.
301. The transmitting end obtains a first data stream, wherein the first data stream comprises N first numerical values.
The first data stream is a data stream to be compressed, the first data stream includes at least one first value group, each first value group includes the N first values, each first value group is a value group to be compressed, N is an integer greater than 1, and for convenience of description, value groups subsequently compressed by each first value group are referred to as second value groups or codewords. The N first values are used to represent the service data of the user. The traffic type of the traffic data may be any traffic type. The service data includes, for example, text data of a text type, video data of a video type, voice data of a voice type, game data of a game type, image data of an image type, and the like. Optionally, the N first values are further used to indicate user data, such as an Identity (ID), where the ID is used to uniquely indicate a user to indicate the user to which the first data stream belongs, and optionally, the first value used to indicate the user data is located before the first value used to indicate the service data in the first data stream. For example, the first 10 of the N first values are used to represent user data, and the first values following the first 10 first values are used to represent traffic data.
In a possible implementation manner, the N first values correspond to a same type of scale, and a value range of the N first values is determined by the scale corresponding to the N first values. For example, the N first values all correspond to binary systems, the N first values are binary data, and the value ranges of the N first values are numbers 0 and 1. For another example, the N first values all correspond to ternary, the N first values are ternary data, and the value ranges of the N first values are numbers 0,1, and 2. For another example, the N first values all correspond to hexadecimal, the N first values are hexadecimal data, and the value range of the N first values is numbers 0 to 9 and letters a to F. In different application scenarios, the N first values have different corresponding binary types, for example, in application scenario 1, the N first values are binary data, and in application scenario 2, the N first values are ternary data. The system type corresponding to the N first values may be set according to an actual application scenario, and the system type corresponding to the N first values is not limited in this application embodiment.
In a possible implementation manner, the manner in which the transmitting end acquires the first data stream includes any one of manner A1 and manner A2.
In the mode A1, the transmitting end receives the first data stream.
The first data stream is generated by a client. In a possible implementation manner, for a client, if a transmission instruction received by the client is used to instruct to output service data to a receiving end, the client converts the service data into S first numerical values (e.g., binary data), or if the transmission instruction received by the client is used to instruct to output service data to the receiving end and notify the receiving end of a user to which the service data belongs, the client converts the service data and user data of the user to which the service data belongs into S first numerical values. And after the client acquires the S first numerical values, the S first numerical values form the first data stream to be output. The transmitting end acquires the first data stream from the client, and after receiving the first data stream from the client, if S is an integer greater than N, the transmitting end divides the S first values into a plurality of first value groups, and each first value group includes N first values of the S first values. If S is an integer less than or equal to N, the transmitting end takes S first values as a first value group. Of course, in some embodiments, the number of first values in each of the first value sets may be different.
After the transmitting end acquires a first value group in the first data stream, the transmitting end performs the steps after step 301 on the first value group, that is, the process shown in fig. 3 is a process in which the transmitting end processes a first value group in a first data stream. After the transmitting end has performed the process shown in fig. 3 on a first set of values in the first data stream, the transmitting end performs the process shown in fig. 3 on the next first set of values in the first data stream.
The client may be any client installed in the transmitting end, or may be a client installed in other devices except the transmitting end. Here, the embodiment of the present application does not limit the client.
In the mode A2, the transmitting end obtains the first data stream in a coding mode, and at this time, the first data stream is a coded data stream.
For mode A2, this step 301 includes the following steps 3011-3012.
Step 3011, the transmitting end receives a second data stream, where the second data stream includes J third values, and J is an integer smaller than N.
The second data stream is a data stream to be transmitted, and the second data stream includes at least one third value group, and each third value group includes the J third values. The J third values are used to represent the service data of the user. The traffic type of the traffic data may be any traffic type. Optionally, the J third values are also used to indicate user data. Optionally, in the second data stream, the third value for indicating user data is located before the third value for indicating service data. In a possible implementation manner, the J third values correspond to the same type of scale, and the value range of the J third values is determined by the scale corresponding to the J third values.
The manner in which the transmitting end receives the second data stream is the same as the manner A1, and here, details of the manner in which the transmitting end receives the second data stream are not described in this embodiment of the application.
After the transmitter receives the second data stream, the transmitter divides the second data stream into at least one third value group, and each third value group includes J third values. After the transmitting end acquires a third value group in the second data stream, the transmitting end performs the steps after step 3011 on the third value group, where the process shown in fig. 3 is a process in which the transmitting end processes a third value group in the second data stream. After the transmitter has performed the process of fig. 3 for a third set of values in the second data stream, the transmitter performs the process of fig. 3 for the next third set of values in the second data stream.
Step 3012, the transmitting end encodes the J third values to obtain the N first values, where each first value is obtained based on a part of the J third values.
At this time, each first value is a value obtained by encoding a part of the J third values, and the N first values obtained by encoding the J third values may constitute a fourth value group, that is, the fourth value group is obtained by encoding the third value group to which the J third values belong. Due to the following to the fourthIf the N first values in the value group are compressed, the fourth value group, that is, the value group to be compressed, may be referred to as the first value group during the compression process, and accordingly, the first data stream including the fourth value group is an encoded data stream. For convenience of description, the second data stream is denoted as a second data stream d, and the second data stream d includes J third values, i.e., J
Figure BDA0003090255550000081
In a possible implementation manner, the manner in which the transmitting end encodes the J third values includes any one of manner B or manner C. The mode B is a block coding mode, and is shown in the following steps B1-B2.
And B1, dividing the J numerical values into L data blocks by the transmitting end, wherein each data block comprises a part of the J third numerical values, and each data block corresponds to a column of data or a row of data in the coding matrix.
The length of the L data blocks is the same, that is, the number of the third values in the L data blocks is the same. The coding matrix comprises a plurality of columns and a plurality of rows of data, and one row of data or one column of data in the coding matrix corresponds to one data block. The coding matrix comprises a row orthogonal matrix or a column orthogonal matrix such as a diagonal matrix or a Hadamard matrix. When the encoding matrix is a diagonal matrix, each non-zero data on the main diagonal in the diagonal matrix may be the same or different. One row of data or one column of data of the diagonal matrix corresponds to one data block. The Hadamard matrix is a square matrix formed by +1 and-1, each row of data is mutually orthogonal, and one row of data or one column of data of the Hadamard matrix corresponds to one data block.
Taking an example that one data block includes 2 third values, the coding matrix includes 4 rows and 4 columns of data, where a data block corresponding to a first column of data is 00, a data block corresponding to a second column of data is 01, a data block corresponding to a third column of data is 10, and a data block corresponding to a fourth column of data is 11. Of course, the number of the third numerical values in one data block may also be greater than 2, and here, the embodiments of the present application are not illustrated one by one.
In one possible implementation, the transmitting end divides J third values in the second data stream d into L data blocks, that is, the transmitting end divides J third values in the second data stream d into L data blocks
Figure BDA0003090255550000082
Wherein, d T Is a transpose of the J third values in the second data stream d,
Figure BDA0003090255550000083
is the transpose of the e-th of the L data blocks. e is an integer greater than 0 and less than or equal to L, L being an integer greater than 0.
When the encoding matrix is a diagonal matrix, each of the L data blocks corresponds to a row of data or a column of data in the diagonal matrix, and the corresponding row of data or column of data has a non-zero data, and other data are all 0.
And step B2, the transmitting end determines L rows of data or L rows of data corresponding to the L data blocks in the coding matrix as the N first numerical values.
When each column of data in the coding matrix corresponds to one data block, for any data block in the L data blocks, the transmitting end determines a column of data corresponding to the data block in the coding matrix based on the corresponding relation between each column of data in the coding matrix and the data block. After the L rows of data corresponding to the L data blocks are determined, the transmitting end combines the determined L rows of data into a fourth value set, where the fourth value set includes N first values. The fourth set of values may be expressed as
Figure BDA0003090255550000084
Wherein, c e For a column of data corresponding to the e-th data block in the coding matrix,
Figure BDA0003090255550000085
is the transposed vector of a column of data corresponding to the e-th data block in the coding matrix, J is more than 0 and less than N, N is an integer, e is more than 0 and less than or equal to L, and e is the wholeAnd (4) counting.
When each row of data in the coding matrix corresponds to one data block, for any data block in the L data blocks, the transmitting end determines a row of data corresponding to the data block in the coding matrix based on the corresponding relationship between each row of data in the coding matrix and the data block. And after the L rows of data corresponding to the L data blocks are determined, the transmitting end forms a fourth value group by the determined L rows of data.
In a possible implementation, when the coding matrix is a diagonal matrix, the process shown in steps B1-B2 is also referred to as a position modulation process or a sparse regression coding process. When the encoding matrix is a hadamard matrix, the process shown in the above steps B1-B2 is also referred to as a hadamard encoding process. The two coding schemes, position modulation and Hadamard coding, are equivalent in the Hamming distance sense.
Mode C is a coded modulation mode, as shown in steps C1-C2 below.
And C1, the transmitting end carries out binary coding (binary encoder) on the J third numerical values to obtain a coding numerical value group.
The set of encoded values includes N encoded data, each encoded data being encoded based on some of the J third values. Each encoded data is 0 or 1.
And C2, the transmitting end updates the coded data which is 0 in the coded value group into a non-binary value.
Wherein the non-binary value is any value other than 0 or 1, such as-1 or 3. The N first values are the data in the updated encoding value set.
In a possible implementation manner, for any one of the encoded data in the encoded value group, if the any one of the encoded data is 0, the transmitting end replaces the any one of the encoded data with the non-binary value, and if the any one of the encoded data is 1, the any one of the encoded data is kept unchanged. When the updating of the encoding value group is completed, the updated encoding value group is also the fourth value group, and each value in the updated encoding value group is the first value.
Note that, with the above-mentioned mode A2, after encoding one third value group in the second data stream into one first value group, the N first values in the first value group may be referred to as one first data stream, or each first value group encoded by each third value group in the second data stream may be referred to as one first data stream.
It should be noted that, with regard to the foregoing mode A1 or the foregoing mode B, after the transmitting end acquires the first data stream, when the N first values are all binary data, the transmitting end updates a first value that is 0 in the N first values to a non-binary value, and after the N first values are updated, the transmitting end performs each step after step 301 on the updated N first values. At this time, each of the updated N first numerical values is 1 or a non-binary numerical value.
In a possible manner, if the binary system corresponding to the N first values is not a binary system, the transmitting end may also update the first value that is 0 in the N first values to a non-binary value, so as to avoid that the first value that is 0 has no substantial physical meaning after the subsequent compression processing.
302. And the transmitting terminal compresses the N first numerical values based on the compression matrix to obtain M second numerical values.
The compression matrix comprises M rows and N columns of data, each second numerical value is obtained based on the N first numerical values and a corresponding row of data in the compression matrix, and M is an integer smaller than N. Optionally, M is an integer greater than 1 and less than N, optionally, the compression matrix is a gaussian matrix subject to independent co-distribution, the gaussian matrix is defined as a matrix of M × N, and each element in the gaussian matrix is subject to gaussian independent co-distribution. Optionally, the compression matrix is a fast transformation matrix, which may be a first fast transformation matrix of N × N or a second fast transformation matrix of M × N, wherein the fast transformation matrix includes Discrete Fourier Transform (DFT) matrices, and the second fast transformation matrix of M × N is a partial fast transformation matrix in the first fast transformation matrix, i.e., a matrix composed of M rows of data in the first fast transformation matrix.
Optionally, each second value is an inner product of the N first values and a corresponding row of data in the compression matrix. Each second value belongs to a target value range, and the target value range is determined by the preset quantization precision of the second value. For example, if the preset quantization precision is 8-bit binary quantization precision, each second value is identified by 8-bit binary indicator bits, and the target value range is 0-2 8 . Because the value range of each first value is determined by the binary system corresponding to each first value, and each second value is determined by the quantization precision actually set, the value range of each first value is smaller than that of each second value.
For convenience of description, the M second values are referred to as a codeword, that is, the codeword is a value group formed by the M second values, and may also be referred to as a second value group.
In a possible implementation manner, if the compression matrix is a gaussian matrix or a second fast transformation matrix that obeys independent and same distribution, the transmitting end determines the inner product between the compression matrix and the N first values as the codeword. E.g., codeword x = Ac, where x is the codeword, a is the compression matrix,
Figure BDA0003090255550000101
c is that the first set of values includes N first values,
Figure BDA0003090255550000102
defining the compression ratio of the codeword x as δ = M/N and the information rate of the first set of values c as R c = J/N, codeword x having information rate R x = J/M, according to compression ratio delta, information rate R c And an information rate R x Therefore, the following steps are carried out: r is x =R c δ, it follows that when the information rate R is c When constant, the information rate R can be dynamically adjusted according to the compression ratio delta x
In a possible implementation manner, if the compression matrix is a first fft matrix of N × N, the transmitting end calculates an inner product between the compression matrix and the N first values to obtain N second values, where each second value is an inner product between a row of data in the first fft matrix and the N first values. The transmitting terminal selects M second values from the N second values. And M rows of data corresponding to M second values in the first fast transformation matrix are also an M x N second fast transformation matrix.
Wherein the transmitting end selecting the M second values from the N second values includes: the transmitting end randomly selects M second numerical values from the N second numerical values. For another example, the transmitting end selects 1 second value from the N second values per target number of intervals until M second values are selected. The target number may be 1, 2 or any number, and the target number is not limited in this embodiment of the present application.
In a possible implementation manner, if the compression matrix is a first fft matrix of N × N, the transmitting end extracts M rows of data from the first fft matrix to form a second fft matrix of M × N, and the transmitting end calculates an inner product between the second fft matrix of M × N and the N first values to obtain M second values.
Wherein, the transmitting terminal extracts M rows of data from the first fast transformation matrix, and forms an M × N second fast transformation matrix, which comprises: and the transmitting terminal randomly extracts M rows of data from the first fast transformation matrix to form a second fast transformation matrix of M x N. For another example, the transmitting end extracts 1 row of data from the first fast transformation matrix every target row number, and after extracting M rows of data, the M rows of data are formed into a second fast transformation matrix of M × N. The target number of rows may be 1, 2, or any number, and the target number of rows is not limited in this embodiment of the present application.
At this time, since the second fft matrix of M × N includes a part of data in the first fft matrix of N × N, when the transmitting end compresses the N first values based on the second fft matrix of M × N, the complexity of compressing data at the transmitting end can be reduced, and accordingly, the receiving end can also reduce the complexity of decoding when decoding the data transmitted by the transmitting end.
In a possible implementation manner, if the compression matrix is a first fft matrix of N × N, after the transmitting end obtains M second values based on the first fft matrix of N × N, the transmitting end obtains position information of each second value, and stores the position information of each second value in association with an identifier of a codeword formed by the M second values. The position information of each second value is used for indicating the position of a row of values corresponding to each second value in the N-by-N first rapid transformation matrix. For example, if the position information of a second value is 2, the 2 nd row of data in the N × N first fft matrix corresponds to the second value, and the second value is an inner product of the 2 nd row of data and the N first values. And the position information of the M second values is the position information of the second fast transformation matrix of M × N.
303. And the transmitting terminal performs digital-to-analog conversion on the M second numerical values to obtain a first analog signal.
In a possible implementation manner, for at least one of the M second values, the transmitting end converts the at least one second value into one symbol of an analog signal, and combines each symbol converted by the M second values into the first analog signal.
304. The transmitting terminal transmits the first analog signal to a receiving terminal.
In one possible implementation, the transmitting end transmits the first analog signal to the receiving end through a channel between the transmitting end and the receiving end, where the channel may be an AWGN channel.
In a possible implementation manner, if the compression matrix is a first fast transformation matrix of N × N and the selection rule of a second fast transformation matrix of M × N or M second values is unknown to the receiving end, the transmitting end may further perform digital-to-analog conversion on the position information of the second fast transformation matrix of M × N and send the converted analog signal to the receiving end. If the fast transformation matrix of M × N or the selection rule of M second numerical values is known by the receiving end, the transmitting end does not perform digital-to-analog conversion on the position information pair of the second fast transformation matrix of M × N. Therefore, the position information of the second fast transformation matrix of M x N is prevented from being transmitted, and the data volume transmitted between the transmitting end and the receiving end is reduced.
305. The receiving end receives the first analog signal.
In one possible implementation, the receiving end receives the first analog signal from a channel between the transmitting end and the receiving end. Due to the existence of noise in the channel, the first analog signal received by the receiving end carries the noise.
306. The receiving end performs analog-to-digital conversion on the first analog signal to obtain M second numerical values, each second numerical value is obtained based on N first numerical values and a corresponding row of data in a compression matrix, the compression matrix comprises M rows and N columns of data, N is an integer larger than 1, and M is an integer smaller than N.
The compression matrix is an M × N compression matrix adopted when the transmitting end encodes N first values, that is, a compression matrix corresponding to the M second values.
In a possible implementation manner, the receiving end converts each symbol in the first analog signal into at least one second numerical value, so as to obtain the M second numerical values.
Since the received first analog signal carries noise, the M second values obtained by the receiving end also carry noise. For example, if the first analog signal output by the transmitting end is obtained by converting a codeword x, and the receiving end actually obtains a codeword y, where y = x + n = Ac + n, and the codeword y is the value set of the M second values obtained in this step 306.
307. The receiving end determines the compression matrix corresponding to the M second numerical values.
The compression matrix is a compression matrix of M × N used when the transmitting end encodes N first values, such as a gaussian matrix of M × N or a second fast transformation matrix of M × N that follows independent and same distribution.
In a possible implementation manner, the same compression matrix is stored locally at both the receiving end and the transmitting end, that is, the compression matrix is a compression matrix shared by the receiving end and the transmitting end. And when the compression matrix stored by the receiving end is a Gaussian matrix or a second fast transformation matrix of M x N which obeys independent and same distribution, the transmitting end determines the locally stored compression matrix as the compression matrix corresponding to the M second numerical values. When the compression matrix stored by the receiving end is the first fast transformation matrix of N x N, if the known transmitting end of the receiving end selects the second fast transformation matrix of M x N or the selection rule of M second numerical values, the receiving end selects M rows of data from the stored first fast transformation matrix according to the selection rule to form the second fast transformation matrix of M x N, and the second fast transformation matrix corresponds to the M second numerical values. If the receiving end does not know the selection rule, the receiving end receives the position information of the M x N second fast transformation matrix from the transmitting end, and M rows of data are selected from the stored first fast transformation matrix according to the position information to form an M x N second fast transformation matrix corresponding to the M second numerical values.
In a possible implementation manner, if the receiving end and the transmitting end both store a plurality of compression matrices, the plurality of compression matrices stored by the receiving end are the same as the plurality of compression matrices stored by the transmitting end, and the same compression matrices stored by the receiving end and the transmitting end correspond to the user identifier of the same user, so as to indicate that the compression matrices are used for processing the first data stream of the user. And the receiving end determines the compression matrix corresponding to the user identification as the compression matrix corresponding to the M second numerical values based on the user identification of the user to which the M second numerical values belong.
308. And the receiving end decodes the M second numerical values based on the compression matrix to obtain N first numerical values.
In a possible implementation manner, the receiving end performs an h-time iterative decoding process on the M second numerical values based on the compression matrix to obtain an h-time iterative decoding result. The transmitting end has different modes for acquiring the N first numerical values, and correspondingly, the receiving end has different processes for performing h times of iterative decoding on the M second numerical values.
In a possible implementation manner, if the transmitting end obtains N first values in the first data stream by the manner A2, each decoding process in the h iterative decoding processes is as shown in steps 3081-3082 below.
Step 3081, in the ith iterative decoding process, the receiving end decompresses the M second values based on the compression matrix and the ith-1 th iterative decoding result to obtain the ith decoding value set.
Wherein i is an integer greater than 0 and less than or equal to h. The ith decoding value group comprises N first values recovered in the ith iterative decoding process. If i is equal to h, the ith decoding value set comprises N first values: the N first values finally recovered by the receiving end, that is, the first value group adopted when the first analog signal is generated and finally recovered, that is, the fourth value group recovered in the i-1 st iterative decoding process.
And the ith iterative decoding result is a decoding result of the ith iterative decoding process and is J third numerical values recovered by the receiving end in the ith iterative decoding process. The decoding result of the i-1 th iteration decoding is a decoding result of the i-1 st iteration decoding process, namely J third values recovered by the receiving end in the i-1 st iteration decoding process, namely a third value group recovered in the i-1 st iteration decoding process.
When i =1, the M second values have not been subjected to the iterative decoding process before, and the i-1 st iterative decoding result may be zero. In the ith iterative decoding process, the i-1 iterative decoding result is prior information adopted in the ith iterative decoding process.
When i = h, the h-th iterative decoding result is a decoding result of the h-th iterative decoding process and J third values recovered by the receiving end in the h-th iterative decoding process, and the receiving end uses the h-th iterative decoding result as J third values adopted when the receiving end generates the first analog signal, namely, J third values finally recovered.
In one possible implementation, step 3081 includes any of the following modes D1-D3.
In the mode D1, the receiving end performs filtering processing on the M second values by using a Matched Filter (MF) based on the compression matrix and the i-1 th iterative decoding result.
In a possible implementation manner, the receiving end inputs the compression matrix, the i-1 st iterative decoding result, and the M second values into the MF, and the MF inputs the compression matrix, the i-1 st iterative decoding result, and the M second values into the following formula (1):
Figure BDA0003090255550000121
the MF outputs the recovered first value set
Figure BDA0003090255550000122
At this time, the first value group is output
Figure BDA0003090255550000123
I.e. the ith decoding value group, where y is the M second values received by the receiving end, and u is the (i-1) th iterative decoding result.
And in the mode D2, the receiving end performs Pseudo Inverse (PI) processing on the M second values based on the compression matrix and the (i-1) th iteration decoding result.
In a possible implementation manner, the receiving end inputs the compression matrix, the i-1 st iteration decoding result, and the M second values into formula (2):
Figure BDA0003090255550000131
the receiving end outputs a first value group based on the formula (2)
Figure BDA0003090255550000132
At this time, the first value group is output
Figure BDA0003090255550000133
I.e. the ith decoded value set.
And in the mode D3, the receiving end performs linear minimum mean square-error (LMMSE) estimation on at least one data in any code word based on the compression matrix and the (i-1) th iterative decoding result.
In one possible implementation, the receiving end inputs the compression matrix and at least one data in any one of the codewords into formula (3):
Figure BDA0003090255550000134
the receiving end outputs a first value group based on the formula (3)
Figure BDA0003090255550000135
At this time, the first value group is output
Figure BDA0003090255550000136
I.e. the ith decoded value set. Where ρ is the signal-to-noise ratio and I is the identity matrix.
It should be noted that, if the transmitting end updates the first value of 0 in the N first values to a non-binary value before compressing the acquired N first values, correspondingly, when i = h, the h-th decoding value set acquired by the receiving end may include the first value of the non-binary value, in order to avoid the influence of the non-binary value on the decoding operation, the transmitting end updates the first value of the h-th decoding value set to a non-binary value, and performs the following step 3082 on the updated h-th decoding value set.
Step 3082, the receiving end decodes the ith decoding value group to obtain the ith iterative decoding result.
And the ith iterative decoding result is a third value group in the second data stream recovered in the ith iterative decoding process. The decoding operation is the inverse of the encoding scheme used by the transmitting end to encode the third set of values into the N first values. For example, if the encoding mode adopted when the transmitting end encodes the third value group into the N first values is position modulation, the receiving end divides the ith decoding value group into L sub-value groups, each sub-value group includes a row of data or a column of data in a diagonal matrix, the receiving end obtains L data blocks corresponding to the L sub-value groups, combines the obtained L data blocks into a third value group in the second data stream, and the third value group is the ith iterative decoding result.
After the above steps 3081 and 3082 are completed, the ith iterative decoding process in the h iterative decoding processes is completed, and when i < h, the i +1 th iterative decoding process is started. And when i = h, the receiving end finishes the iterative decoding process and performs hard decision on each data in the h-th iterative decoding result.
If the transmitting end acquires the first data stream by the method A2, the processes shown in the above steps 301 to 302 may be referred to as an encoding-compressing process or an encoding process, and the processes shown in the above steps 3081 to 3082 may be referred to as a decompressing-decoding process or a decoding process.
In another possible implementation manner, if the transmitting end obtains N first values in the first data stream through the manner A1, each iterative decoding process in the h iterative decoding processes performed on the M second values by the receiving end includes the following step 308A.
Step 308A, in the ith iterative decoding process, the receiving end decompresses the M second values based on the compression matrix and the i-1 st iterative decoding result to obtain the ith iterative decoding result.
At this time, the ith iterative decoding result is N first values recovered by the receiving end in the ith iterative decoding process. The (i-1) th iterative decoding result is N first values recovered by the receiving end in the (i-1) th iterative decoding process.
When i =1, the M second values have not been subjected to the iterative decoding process before, and the i-1 th iterative decoding result may be zero. In the ith iterative decoding process, the i-1 iterative decoding result is prior information adopted in the ith iterative decoding process.
When i = h, the h-th iterative decoding result is N first values recovered by the receiving end in the h-th iterative decoding process, and the receiving end uses the h-th iterative decoding result as N first values adopted by the receiving end when the receiving end generates the first analog signal, that is, as the N first values finally recovered.
In a possible implementation manner, the decompressing operation performed by the receiving end on at least one data in any codeword based on the compression matrix and the i-1 st iterative decoding result includes any one of the manners D1 to D3, where the i-th decoding value set output by the receiving end is also the i-th iterative decoding result.
And if the ith iterative decoding process in the h iterative decoding processes is finished, starting to enter the (i + 1) th iterative decoding process when i is less than h. And when i = h, the receiving end finishes the iterative decoding process and performs hard decision on each data in the h-th iterative decoding result.
In a possible implementation manner, for this step 308A, if the transmitting end updates the first value that is 0 in the N first values to the non-binary value before compressing the N first values to the M second values, when i = h, the h-th decoding result may include a non-binary value in the M second values, and accordingly, the receiving end updates the second value that is a non-binary value in the h-th decoding result to 0, and the updated h-th decoding result is the N first values finally recovered by the receiving end.
According to the method provided by the embodiment of the application, the transmitting terminal compresses the N first numerical values in the first data stream into the M second numerical values to complete the encoding process, and the N first numerical values are not encoded and modulated.
The coding scheme of the coded modulation comprises low density parity check (low)LDPC) coding process and modulation process, for further explanation, the coding scheme of coding compression proposed in this application is superior to the coding scheme of coding modulation. The system performance curve shown in fig. 4 is obtained in the form of a simulation experiment. Fig. 4 is a diagram illustrating comparison of system performance between code compression and code modulation, where the comparison performance includes Bit Error Rate (BER) and Frame Error Rate (FER). Wherein, the performance curves corresponding to the EC in fig. 4 are: when the transmitting end adopts an encoding-compression (EC) encoding scheme, the receiving end carries out a system performance curve of an iterative decoding process. The system performance curve for LDPC in fig. 4 is: when the transmitting end adopts a coding scheme of code modulation, the receiving end demodulates the system performance curve of the decoding process. Wherein, the transmission rate of the code word in the coding scheme of code compression and code modulation is set as R x At 1.6bits/dimension, the transmission rate is sometimes also considered to be a code rate in the broad sense. The encoding-compression encoding scheme employed in fig. 4 is: and the transmitting end performs Hadamard code encoding on the first data stream, compresses the encoded fourth value set (namely the first value set) by taking the compression matrix as a Gaussian matrix subject to independent distribution, and obtains a code word, wherein the code length of the code word is 2019. The LDPC coding scheme in the coding scheme of the coded modulation adopts (6480, 16200) LDPC coding scheme in the DVB-S2 standard, and the modulation scheme in the coding scheme of the coded modulation adopts a standard 256 Quadrature Amplitude Modulation (QAM) scheme.
From the upper graph in fig. 4, it can be seen that the BER is greater than 10 -5 In the case of the same BER, the BER is higher than 10 when the signal-to-noise ratio (SNR) on the BER performance curve corresponding to the EC is low, and when the SNR is the same, the BER on the BER performance curve corresponding to the EC is low, as compared with the BER performance curve corresponding to the LDPC -5 The coding scheme for time-coded compression is preferred over the coding scheme for coded modulation.
From the upper graph in FIG. 4, it can be seen that the FER is greater than 10 -4 Comparing the FER performance curve corresponding to the LDPC, if the FER is the same, the FER performance curve corresponding to the EC is compared with the FER performance curve corresponding to the LDPCThe SNR is low, if the FER on the FER performance curve corresponding to EC is low under the condition of the same SNR, the FER is more than 10 -4 The coding scheme of time-coded compression is preferred to the coding scheme of coded modulation.
In a possible implementation manner, when M second values fail to be decoded, an incremental automatic repeat-request (ARQ) mechanism is adopted, the receiving end requests the transmitting end to retransmit data, and h iterative decoding processes are performed based on the data retransmitted by the transmitting end and the data failed to be decoded. For further explanation of the process, please refer to a flowchart of data processing under an automatic repeat request mechanism provided in an embodiment of the present application shown in fig. 5.
501. If the decoding of the M second values fails, the receiving end sends a data retransmission request to the transmitting end, where the data retransmission request is used to instruct the transmitting end to retransmit the values compressed by the N first values.
The data retransmission request is a negative-acknowledgement (NACK) response, and is used to notify the transmitting end that the history data compressed by the N first values is unavailable, and retransmit the values compressed by the N first values. Optionally, the data retransmission request carries an identifier of the first data stream or an identifier of a first value group to which the N first values belong.
In a possible implementation manner, at least one value of the N first values in the first data stream is a check information sequence, and the check information sequence is check data of the N first values. For example, binary data in the target position range of the N first values form a check information sequence, wherein the target position range may be located at the last of the N first values or before the first value representing the service data in the N first values. Here, the target position range among the N first numerical values is not limited in the embodiment of the present application.
For convenience of description, a plurality of first values identifying service data in the N first values are denoted as service sequences, and since a check information sequence and a service sequence exist in the N first values, data encoded by the check information sequence and the service sequence exist in a codeword (including M second values) obtained by compressing the N first values at a transmitting end, for convenience of description, the data encoded by the check information sequence in the codeword is denoted as first target data, and the data encoded by the service sequence in the codeword is denoted as second target data.
And after the receiving end receives the code word from the transmitting end, the receiving end performs a first iterative decoding process on the M second numerical values in the code word to obtain a first iterative decoding result of the code word. Wherein the first iterative decoding result includes a first iterative decoding result of the first target data and a first iterative decoding result of the second target data. The receiving end judges whether the code word is failed to decode based on the first iterative decoding result of the first target data and the first iterative decoding result of the second target data. For example, when the check information sequence is used to indicate the data amount of the service sequence, if the data amount indicated by the first iterative decoding result of the first target data is different from the data amount indicated by the first iterative decoding result of the second target data, the decoding of the codeword fails, otherwise, the receiving end continues to perform the iterative decoding process on the M second values in the codeword.
If the codeword decoding fails (i.e., the decoding of the M second values fails), the receiving end sends the data retransmission request to the transmitting end to request the transmitting end to retransmit the values compressed from the N first values.
502. The transmitting end receives the data retransmission request.
503. The transmitting end determines to retransmit the data based on the data retransmission request.
Wherein the retransmission data includes values compressed from the N first values. After receiving the data retransmission request, if the data retransmission request carries the identifier of the first value group to which the N first values belong, and the transmitting end determines that the N first values compressed by the first value group are not available for the last time of transmitting to the receiving end based on the identifier of the first value group to which the N first values belong, the transmitting end determines the first value group to which the N first values belong from at least one first value group in the first data stream based on the identifier of the first value group to which the N first values belong. If the data retransmission request carries the identifier of the first data stream, the transmitting end determines that the current first value set in the first data stream is the first value set to which the N first values belong, based on the identifier of the first data stream.
For convenience of description, the codeword to which the M second numerical values failed to be decoded belong is referred to as a first codeword (i.e., a codeword failed to be decoded), and a compression matrix adopted when the first codeword is compressed is referred to as a first compression matrix.
In one possible implementation, the transmitting end determines the retransmission data based on the type of the first compression matrix. Optionally, if the first compression matrix is a gaussian matrix subject to independent distribution, the transmitting end compresses the N first values based on a second compression matrix to obtain a second codeword, where the second codeword includes the M second values that are recompressed, and the second codeword is retransmission data. The second compression matrix is of the same dimension and type as the first compression matrix, for example, if the first compression matrix is a gaussian matrix with M × N and subject to independent distribution, the second compression matrix is also a gaussian matrix with M × N and subject to independent distribution. Optionally, the second compression matrix may be the same compression matrix as the first compression matrix, or may be a different compression matrix.
If the first compression matrix is a first fast transformation matrix of N x N, the transmitting terminal compresses the N first values based on the first fast transformation matrix to obtain N second values, and the M second values failed in the decoding are partial values of the N second values. The transmitting terminal selects a part of the second values again from the remaining values of the N second values, and determines the selected part of the second values as retransmission data. Wherein the remaining value is a value of the N second values other than the second value that has been transmitted to the receiving end. For example, the transmitting end selects Z second values from the remaining (N-M) second values in the N second values, and sends the second codeword to the receiving end by using the Z second values as second codewords. Wherein the (N-M) second values are the values of the N second values other than the M second values sent (i.e., the remaining second values), Z is equal to or not equal to M, and Z is an integer greater than 0 and less than or equal to (N-M).
In a possible implementation manner, a plurality of transmission rate ranges are provided in the transmitting end, and each transmission rate range corresponds to a data amount threshold, and the size of Z is determined by the current transmission rate. The transmitting end may determine the value of Z based on the current transmission rate.
Optionally, if the transmission rate when the first codeword is transmitted last time and the current transmission rate belong to different transmission rate ranges, the transmitting end determines the data amount threshold corresponding to the transmission rate range to which the current transmission rate belongs as Z. If the transmission rate of the last transmission of the first codeword and the current transmission rate belong to the same transmission rate range, which means that in the case of the current transmission rate, if M second values are sent again, decoding failure may also occur, and the transmitting end determines Z to be a value smaller than M.
504. The retransmission data is subjected to digital-to-analog conversion to obtain a second analog signal.
The process shown in step 504 is the same as that in step 303, and here, the description of step 504 is not repeated in this embodiment of the present application.
505. The transmitting end transmits the second analog signal to the receiving end.
The process shown in the above steps 503-505 is also a process in which the transmitting end sends the retransmission data to the receiving end based on the data retransmission request.
506. The receiving end receives a second analog signal from the transmitting end and performs analog-to-digital conversion on the second analog signal to obtain retransmission data.
Since there is noise in the channel between the receiving end and the transmitting end, the retransmission data actually received by the receiving end is the retransmission data carrying noise, that is, the retransmission data carrying noise is the sum of the noise and the retransmission data output by the transmitting end.
507. The receiving end carries out iterative decoding on the historical data compressed by the N first numerical values and the retransmitted data to obtain the N first numerical values, wherein the historical data comprises the M second numerical values.
The N first values are compressed into at least one group of historical data, and each group of historical data is a value obtained by compressing the N first values sent by the transmitting terminal in a single time before, for example, the last received M second values are a group of historical data.
In one possible implementation, this step 507 is implemented by the process shown in steps 5071-5073 described below.
Step 5071, the receiving end combines the historical data and the retransmission data received this time into the data to be decoded in the iterative decoding process.
Step 5072, the receiving end merges the history compression matrix corresponding to the history data and the retransmission compression matrix corresponding to the retransmission data into a target compression matrix.
The historical data is corresponding to at least one historical compression matrix, and one historical compression matrix is an M-N compression matrix adopted by a group of historical data. The retransmission compression matrix is a compression matrix used for compressing the retransmission data.
In a possible implementation manner, for any one group of historical data in at least one group of historical data, the receiving end determines a compression matrix used when the receiving end performs iterative decoding on any one group of historical data previously as a historical compression matrix corresponding to any one group of historical data. The process of determining the retransmission compression matrix used by the retransmission data by the receiving end is the same as the process of determining the compression matrices corresponding to the M second values by the receiving end in step 307, and here, the process of determining the retransmission compression matrix corresponding to the retransmission data by the receiving end is not repeated in this embodiment of the present application.
And after determining the retransmission compression matrix and at least one historical compression matrix, the receiving end combines the retransmission compression matrix and the at least one historical compression matrix into a target compression matrix. The target compression matrix is a compression matrix adopted in the iterative decoding process.
Step 5073, the receiving end performs an iterative decoding process on the data to be decoded based on the target compression matrix.
The process shown in step 5073 is the same as the process in which the receiving end decodes the M second values based on the compression matrix in step 308, except that the compression matrix used in the iterative process performed in step 5073 is the target compression matrix, the decoding object is the decoded data, the compression matrix used in the iterative process performed in step 308 is the first compression matrix (a historical compression matrix), and the decoding object is the M second values (a set of historical data), and this embodiment of the present application does not describe this step 5073 any more.
In a possible implementation manner, if the data to be decoded fails to be decoded, the receiving end uses the retransmitted data as the latest set of historical data, and performs the processes shown in the above steps 501 to 507 again until the decoding is successful.
According to the method provided by the embodiment of the application, when the decoding of the historical data fails, the receiving end informs the transmitting end to upload the data again, so that the receiving end can uniformly decode the historical data which fails in decoding and the retransmitted data, the decoding success rate is improved, and the scheme which combines a compressed coding scheme and a retransmission mechanism can be better suitable for a wireless communication scene. For example, when the decoding fails, the transmitting end determines the amount of data to be retransmitted according to the current transmission rate, and then retransmits the data to the receiving end, and after the receiving end receives the retransmitted data, the retransmitted data is combined with the historical data, and the unified decoding is performed. The advantage of transmission rate adaptation can make the compressed coding scheme suitable for communication scenarios with high reliability and low delay requirements, such as unmanned driving, augmented Reality (AR) based maintenance, telemedicine, and the like.
To further illustrate the process shown in fig. 5, please refer to the example shown in the upper and lower diagrams of fig. 6. Fig. 6 is a schematic diagram of an incremental automatic repeat request mechanism according to an embodiment of the present disclosure. Upper in FIG. 6The figure is illustrated by taking the compression matrix as a gaussian matrix subject to independent distribution, assuming that the J third values in the second data stream include 1011010111, when the J third values are transmitted for the first time, the encoder in the transmitting end encodes the J third values into a fourth value group c, and the compressor compresses the compression matrix a 1 Multiplying the fourth value group c to obtain a code word x 1 =A 1 c, and transmitting the code word x to a receiving end 1 (e.g., encoding codeword x 1 Converted to an analog signal and sent out), the fourth value set c is also the first value set c. Due to the existence of noise in the channel, the receiving end actually receives the code word y 1 =x 1 +n 1 Wherein n is 1 Is a code word x 1 The noise carried. Receiving end pair code word y 1 Iterative decoding is carried out, if the decoding fails, the receiving end sends NACK response (namely data retransmission request) to the transmitting end, and at the moment, the code word y 1 Is a set of historical data, A 1 Is a history compression matrix. When the receiving end receives the NACK response, the compressor compresses the matrix A 2 Multiplying the fourth value group c to obtain a code word x 2 =A 2 c code word x 2 For retransmitting data, the compressor sends a codeword x to the transmitting end 2 . Due to the existence of noise in the channel, the receiving end actually receives the retransmitted data as the codeword y 2 =x 2 +n 2 Wherein n is 2 Is a code word x 2 The noise carried, the receiving end will code the word y 1 And codeword y 2 Composing data to be decoded
Figure BDA0003090255550000181
Compress matrix A 1 And a compression matrix A 2 Merging into a target compression matrix
Figure BDA0003090255550000182
At this time
Figure BDA0003090255550000183
Wherein the content of the first and second substances,
Figure BDA0003090255550000184
the receiving end can compress the matrix based on the target
Figure BDA0003090255550000185
Data to be decoded
Figure BDA0003090255550000186
And carrying out iterative decoding. If the decoding is failed, the receiving end continues to send NACK response to the transmitting end and waits for the receiving end to send the code word x 3 (i.e., the second retransmission data), the data received by the receiving end is actually the codeword y 3 The receiving end converts the codeword y 1 Code word y 2 And codeword y 3 And forming data to be decoded, and performing iterative decoding by analogy until the decoding is successful.
The following diagram in fig. 6 is illustrated by taking a compression matrix as an example of a fast transformation matrix, assuming that J third values in the second data stream include 1011010111, when J third values are transmitted for the first time, an encoder in the transmitting end encodes the J third values into a fourth value group c, a compressor multiplies the first fast transformation matrix a of N by the fourth value group c to obtain a codeword x = Ac, and the compressor selects M second values from the codeword x as codewords
Figure BDA0003090255550000187
I.e. codeword x 1 And combining the code words
Figure BDA0003090255550000188
Sending to the receiving end, wherein the size of M is determined by the code word
Figure BDA0003090255550000189
Transmission rate R of x In this case, the fourth value group c is determined to be the first value group c. In fact, the M data are calculated based on M rows of data in the compression matrix A, and the M rows of data can form the compression matrix
Figure BDA00030902555500001810
(abbreviated as in FIG. 6
Figure BDA00030902555500001811
) The compression matrix
Figure BDA00030902555500001812
For a second fast transformation moment consisting of M rows of data in the first fast transformation matrix A, i.e. obtaining a codeword
Figure BDA00030902555500001813
The compression matrix used. Due to the presence of noise in the channel, the receiving end actually receives the codeword as
Figure BDA00030902555500001814
At this time n 1 Is a code word
Figure BDA00030902555500001815
The noise carried. Receiving end pair codeword y 1 Carrying out iterative decoding, if the decoding fails, the receiving end sends NACK response to the transmitting end, and at the moment, the code word y 1 Is a set of historical data that is,
Figure BDA00030902555500001816
is a history compression matrix. When receiving NACK response, compressor selects Z second values from the rest second values of code word x to compose retransmission data (marked as code word)
Figure BDA00030902555500001817
) I.e. code word x 2 And combining the code words
Figure BDA00030902555500001818
Sending the data to a receiving end, and forming a compression matrix by Z row data corresponding to the newly selected Z numerical values in the first fast transformation matrix A
Figure BDA00030902555500001819
(abbreviated as in FIG. 6
Figure BDA00030902555500001820
) Compressing the matrix
Figure BDA00030902555500001821
I.e. obtaining a code word
Figure BDA00030902555500001822
The compression matrix used. Due to the existence of noise in the channel, the receiving end actually receives the retransmitted data as code words
Figure BDA00030902555500001823
Wherein, at this time n 2 Is a code word
Figure BDA00030902555500001824
The receiving end converts the code word y into the noise carried by the received signal 1 And codeword y 2 Composing data to be decoded
Figure BDA00030902555500001825
Compressing the matrix
Figure BDA00030902555500001826
And a compression matrix
Figure BDA00030902555500001827
Merge into a target compression matrix
Figure BDA00030902555500001828
Then, at this time
Figure BDA00030902555500001829
The receiving end can compress the matrix based on the target
Figure BDA00030902555500001830
Data to be decoded
Figure BDA00030902555500001831
And carrying out iterative decoding. If the decoding is failed, the receiving end continues to send NACK response to the transmitting end, and waits for the receiving end to send the code word x again 3 Code word x 3 Corresponding toCompress the matrix to
Figure BDA00030902555500001832
(abbreviated as in FIG. 6
Figure BDA00030902555500001833
) Actually, the retransmission data received by the receiving end is the codeword y 3 The receiving end pair code word y 1 Code word y 2 And codeword y 3 And performing iterative decoding on the formed data to be decoded, and repeating the steps until the decoding is successful.
In a possible implementation manner, after the transmitting end obtains the codeword, it may perform amplitude limiting operation on the codeword to reduce a peak to average power ratio (PAPR) of the codeword, and accordingly, the receiving end performs amplitude limiting compensation on the codeword in a process of decoding the received codeword. To further illustrate the process, please refer to a flowchart of a data processing method provided in the embodiment of the present application shown in fig. 7.
701. The transmitting terminal acquires a first data stream, wherein the first data stream comprises N first numerical values.
The process shown in step 701 is implemented as the process shown in step 301. Here, the step 701 is not described in detail in this embodiment of the application.
702. And the transmitting terminal compresses the N first numerical values based on the compression matrix to obtain M second numerical values.
The process in step 702 is the same as the process in step 302, and the description of step 702 is omitted in this embodiment of the present application.
703. The transmitting end performs a clipping operation on the M second values.
For convenience of description, the M second values are referred to as a codeword, that is, the codeword is a value group formed by the M second values. The purpose of the slicing operation is to trim the magnitudes of the second values in the codeword such that the magnitude of each second value in the codeword is less than a magnitude threshold. In any application scenario, the transmitting end can perform a slicing operation on the codeword.
Wherein, the process of the transmitting end performing the amplitude limiting operation on the code word is as follows: and for any second value in the code word, if the amplitude of the any second value is smaller than or equal to the amplitude threshold value, keeping the any second value unchanged, and if the amplitude of the any second value is larger than the amplitude threshold value, modifying the any second value into the amplitude threshold value. To further embody the clipping process, see the clipping function clip (·) shown in equation (4) below.
Figure BDA0003090255550000191
Wherein x is o Is the o-th second value in the codeword x, o is an integer greater than 0 and less than or equal to M. clip (x) o ) The clipped data for the o-th second value. And B is an amplitude threshold, which may be set according to an actual application scenario, and the amplitude thresholds set in different application scenarios may be different.
Because the transmitting terminal carries out amplitude limiting operation on the second numerical values in the code words based on the amplitude threshold, the amplitude of each amplitude-limited second numerical value is within the amplitude threshold. For example, fig. 8 is a schematic diagram comparing codewords before and after slicing, where a left graph in fig. 8 is a distribution of each second value in a codeword, a right graph is a distribution of each second value in a codeword obtained after slicing, and compared with a codeword before slicing, each second value in a codeword obtained after slicing is distributed in a certain range, and the range is determined by an amplitude threshold.
In a possible implementation manner, a user selects different amplitude thresholds for different coding rates and signal-to-noise ratios through State Evolution (SE), so that the overall performance is improved to some extent. The reason for the improvement mainly depends on the curve fitting (curve matching) effect of iterative decoding. For example, the performance of each processor (such as a decompressor, a decoder, etc.) in the iterative decoding process of the receiving end can be characterized by a scalar function, and the performance of each step in the iterative decoding process can be accurately tracked. The user can select different limiting ratios, and curve fitting is carried out on the system performance according to the state evolution theory so as to find out the optimal performance. And an application scene is set for any code rate in an exhaustive mode, and a clipping threshold close to the optimal value is approximately found.
704. And the transmitting end performs digital-to-analog conversion on the M second numerical values after amplitude limiting to obtain a first analog signal.
Step 704 is the same as step 303, and here, the description of step 704 is not repeated in this embodiment of the present application. And for convenience of description, the clipped M second values are denoted as a target code word x, that is, the target code word is a value group formed by the clipped M second values.
705. The transmitting end transmits the first analog signal to the receiving end.
Taking the first data stream obtained by the method A2 as an example, the processes shown in steps 801-805 are further described, referring to a flowchart of encoding compression in the case of slicing provided in the embodiment of the present application shown in fig. 9. In fig. 9, taking a second data stream as an example, after a transmitting end acquires J third values in the second data stream, the transmitting end performs binary coding on the J third values, and updates coded data having a value of 0 in a coded value group obtained by binary coding to a non-binary value, so as to obtain N first values. The transmitting end compresses the N first values based on the compression matrix to obtain a code word. Then, the transmitting end carries out amplitude limiting operation on the code word, and sends the code word obtained after the amplitude limiting operation to the receiving end.
706. The receiving end receives the first analog signal.
Step 706 is the same as step 306, and here, the description of step 706 is not repeated in this embodiment of the present application.
707. The receiving end performs analog-to-digital conversion on the first analog signal to obtain M second numerical values, each second numerical value is obtained based on N first numerical values and a corresponding row of data in a compression matrix, the compression matrix comprises M rows and N columns of data, N is an integer larger than 1, and M is an integer smaller than N.
In step 707, the M second values are obtained as the clipped second values, and because of the existence of noise in the channel, the M second values received by the receiving end all carry noise, and then the target codeword actually received by the receiving end is y = α clip (x) + n, which is the target codeword x carrying noise.
Wherein, alpha is an active limiting parameter for adjusting transmission power, and is =1/E [ | clip (x) | 2 ]Alpha can be dynamically adjusted with Clipping Ratio (CR), wherein CR ≡ 10log 10 (B 2 /E[|x| 2 ]),E[·]Is a mathematical expectation function.
708. And the receiving end decodes the M second numerical values based on the compression matrix to obtain N first numerical values.
Wherein, the compression matrix is the compression matrix of M × N corresponding to the M second numerical values. In a possible implementation manner, the receiving end performs an h-time iterative decoding process on the M second numerical values based on the compression matrix to obtain an h-time iterative decoding result. The transmitting end has different modes for acquiring the N first numerical values, and correspondingly, the receiving end has different processes for performing h times of iterative decoding on the M second numerical values.
In a possible implementation manner, if the transmitting end obtains N first values in the first data stream by the method A2, each decoding process in the h iterative decoding processes is as shown in steps 7081 to 7082 below.
Step 7081, in the ith iterative decoding process, the receiving end decompresses the M second values based on the compression matrix and the ith-1 th iterative decoding result to obtain an ith decoding value set.
Wherein i is an integer greater than 0 and less than or equal to h. The ith decoding value group comprises N first values recovered in the ith iterative decoding process. If i is equal to h, the ith decoding value set comprises N first values: the N first values finally recovered by the receiving end, that is, the first value group adopted when the first analog signal is generated, that is, the fourth value group recovered in the i-1 th iterative decoding process, are finally recovered.
And the ith iterative decoding result is a decoding result of the ith iterative decoding process and is J third numerical values recovered by the receiving end in the ith iterative decoding process. The decoding result of the i-1 th iteration decoding is a decoding result of the i-1 st iteration decoding process, namely J third values recovered by the receiving end in the i-1 st iteration decoding process, namely a third value group recovered in the i-1 st iteration decoding process.
When i =1, the M second values have not been subjected to the iterative decoding process before, and the i-1 th iterative decoding result may be zero. In the ith iterative decoding process, the i-1 iterative decoding result is prior information adopted in the ith iterative decoding process.
When i = h, the h-th iterative decoding result is a decoding result of the h-th iterative decoding process and J third values recovered by the receiving end in the h-th iterative decoding process, and the receiving end uses the h-th iterative decoding result as J third values adopted when the receiving end generates the first analog signal, namely J third values finally recovered.
Since the M second values are the limited values, before decoding the M second values, the receiving end first removes the influence of the limiting operation on the M second values, and then decompresses the values from which the influence of the limiting operation is removed. In one possible implementation, this step 7081 includes steps 1A and 2A described below.
Step 1A, the receiving end performs minimum mean square error estimation on the M second numerical values based on the ith-1 iteration decoding result to obtain an ith estimated numerical value, wherein the ith estimated numerical value is a numerical value before amplitude limiting of the plurality of second numerical values estimated in the ith iteration decoding process.
And the ith estimated value is the value without the influence of the amplitude limiting operation in the ith iterative decoding process. And the estimated values of the M second values in the ith iterative decoding process before amplitude limiting. Because the i-1 iteration decoding result is the prior information adopted in the ith iteration decoding process, the receiving end can firstly remove the input and output correlation of the i-1 iteration decoding result and then remove the influence of amplitude limiting operation. In one possible implementation, the present step 1A includes the following steps 11 and 12.
Step 11, in the ith iterative decoding process, the receiving end performs decorrelation operation on the ith-1 th iterative decoding result to obtain ith external information (extrinsic information).
Wherein the decorrelation operation is an operation for removing correlation of inputs and outputs of a function. The ith external information is a result obtained by removing the input and output correlation when the ith-1 iteration decoding result is calculated, and can also be used as prior information generated in the ith-1 iteration decoding process, and can be understood as the probability distribution of the M second numerical values estimated in the ith-1 iteration process. Due to the decorrelation operation performed on the i-1 th iterative decoding result, it can also be understood that: and removing the influence of the prior information generated in the (i-2) th iteration process on the (i-1) th iteration decoding result.
When i =1, since the iterative decoding process has not been performed on the M second values before, and the i-1 st iterative decoding result is not yet obtained at this time, the receiving end does not perform this step 11. And when i >1, it indicates that the receiving end has performed i-1 times of iterative decoding process on the M second values, and at this time, the i-1 st iterative decoding result is obtained, then the receiving end executes this step 11.
In a possible implementation manner, the receiving end uses the data of the decoding operation in the i-1 th iteration process as the first vector r 1 The i-1 st iterative decoding result is recorded as eta (r) 1 ) The receiving end will eta (r) 1 )、r 1 And r 1 Variance of (y) 1 The following formula (5) is input:
Figure BDA0003090255550000211
the receiving end applies a second vector r 2 And output as the ith out-of-information.
And step 12, the receiving end performs minimum mean square error estimation on the M second numerical values based on the ith external information to obtain ith estimated data.
In one possible implementation, the receiving end performs minimum mean square error estimation on the M second values by using equation (6). Wherein, the formula (6) is:
Figure BDA0003090255550000212
wherein the content of the first and second substances,
Figure BDA0003090255550000213
and (4) estimating data for the ith, wherein p (x) is ith external information and is used as the estimated probability distribution of the M second values. When i =1, the receiving end does not perform the step 11, that is, the receiving end does not obtain the i-th extra-information through the step 11, and p (x) may be set to be a normal distribution. For example, when the code length (i.e., M) of the target code word to which the M second numerical values belong is greater than the target code length, the target code word is considered to be sufficiently long, and p (x) adopted by the receiving end in the process of performing the first iterative decoding on the M second numerical values in the target code word is the standard normal distribution. The target code length may be set according to an actual application scenario, and values of the target code length may be different in different application scenarios.
And step 2A, the receiving end decompresses the ith estimated data based on the compression matrix to obtain an ith decoding value group.
Wherein, the ith decoding value group is N first values recovered in the ith iterative decoding process. In a possible implementation manner, the decompressing the ith prediction data by the receiving end based on the compression matrix includes any one of the following manners E1 to E3.
In the mode E1, the receiving end performs filtering processing on the ith estimated data by using a matched filter based on the compression matrix.
In one possible implementation, the receiving end inputs the compression matrix and the ith estimate to the MF, and the MF inputs the compression matrix and the ith estimate to the following formula (7):
Figure BDA0003090255550000221
the MF outputs a first value group based on the above equation (7)
Figure BDA0003090255550000222
At this time, the first value group is output
Figure BDA0003090255550000223
I.e. the ith decoding value set, and y is the ith estimated data.
And E2, the receiving end performs pseudo-inverse processing on the ith estimated data based on the compression matrix.
In one possible implementation, the receiving end inputs the compression matrix and the ith prediction data into formula (8):
Figure BDA0003090255550000224
the receiving end outputs a first value group based on the formula (8)
Figure BDA0003090255550000225
At this time, the first value group is output
Figure BDA0003090255550000226
I.e., the ith decoding value set, when y is the ith estimated data.
And E3, the receiving end performs linear minimum mean square error estimation on the ith estimated data based on the compression matrix.
In one possible implementation, the receiving end inputs the compression matrix and the ith estimate data into equation (9):
Figure BDA0003090255550000227
the receiving end outputs a first value group based on the formula (9)
Figure BDA0003090255550000228
At this time, the first value group is output
Figure BDA0003090255550000229
I.e., the ith decoding value set, when y is the ith estimated data. ρ is the signal-to-noise ratio and I is the identity matrix.
Step 7082, the receiving end decodes the ith decoding numerical value group to obtain an ith iterative decoding result.
The ith iterative decoding result is J third values in the second data stream restored in the ith iterative decoding process. When i = h, the ith iterative decoding result is J third values finally recovered by the receiving end.
In a possible implementation manner, the receiving end removes the influence of the (i-1) th iterative decoding result in the ith decoding value group, and then performs decoding operation on the ith decoding value group after the influence is removed. For example, this step 7082 includes the following steps 1B-2B.
And step 1B, the receiving end carries out decorrelation operation on the ith decoding numerical value group.
In a possible implementation manner, the receiving end uses the data decompressed in the ith iteration process as the first vector r 1 The i-th decoded value is set as η (r) 1 ) The receiving end will eta (r) 1 )、r 1 And r 1 Variance of gamma 1 Inputting the above equation (5), and applying the second vector r 2 And outputting the correlation result as the ith decoding numerical value group after the decorrelation.
And step 2B, the receiving end decodes the ith decoding numerical value group after decorrelation to obtain the ith iterative decoding result.
The process shown in step 2B is the same as the process shown in step 3082, and here, the description of step 2B is omitted in this embodiment of the present application. And when i = h, the receiving end finishes the iterative decoding process and performs hard decision on each data in the h-th iterative decoding result.
For further explanation of the iterative decoding process shown in the above steps 7081-7082, refer to a block diagram of an iterative decoder provided in the embodiment of the present application shown in fig. 10. The iterative decoder shown in fig. 10 is configured as a receiving end, and includes a decompressor, a decoder, and 2 decorrelation operation processors, and in the process of performing the ith iterative decoding, the decompressor decompresses the received codeword y based on the extrinsic information and the compression matrix a to obtain an ith decoded value group. A decorrelation processor performs a decorrelation operation on the ith decoded value set based on extrinsic information to obtain a decorrelated ith decoded value set. And the decoder decodes the ith decoding numerical value group after decorrelation to obtain the ith iterative decoding result. And the other decorrelation operation processor performs decorrelation operation on the ith iterative decoding result based on the decorrelated ith decoding numerical value group to obtain the extrinsic information in the (i + 1) th iterative process, inputs the extrinsic information obtained in the (i + 1) th iterative process into the decompressor and starts the (i + 1) th iterative decoding process.
For further illustration of the decoding process shown in steps 7081-7082, refer to a flowchart of decoding in the slicing case provided in the embodiment of the present application shown in fig. 11. And after obtaining the M second numerical values after amplitude limiting, the receiving end determines the compression matrix corresponding to the M second numerical values. And then, the receiving end carries out h times of iterative decoding processes on the M second numerical values based on the compression matrix, in each iterative decoding process, the receiving end obtains external information based on a decoding result in the last iterative decoding process, the external information is used as prior information, the step 12 is carried out, estimated data are obtained, and therefore the effect of amplitude-limiting compensation distortion removal is achieved. Then, the decompressor decompresses the estimated data, the decoder decodes the result of the decompression operation to obtain a decoding result in the current iterative decoding process, if the h iterative decoding processes have not been executed, the next iterative decoding process is started, and if the h iterative decoding processes have been completed, the decoding result in the h iterative decoding process is subjected to hard decision, for example, the data greater than 0 in the decoding result is judged to be 1, and the data less than or equal to 0 in the decoding result is judged to be 0.
In another possible implementation manner, if the transmitting end obtains N first values in the first data stream through the manner A1, the receiving end performs each iterative decoding process in the h iterative decoding processes on the M second values, including the following step 708A.
Step 708A, in the ith iterative decoding process, the receiving end decompresses the M second values based on the compression matrix and the (i-1) th iterative decoding result to obtain an ith iterative decoding result.
At this time, the ith iterative decoding result is N first values recovered by the receiving end in the ith iterative decoding process. The (i-1) th iterative decoding result is N first values recovered by the receiving end in the (i-1) th iterative decoding process.
When i =1, the M second values have not been subjected to the iterative decoding process before, and the i-1 th iterative decoding result may be zero. In the ith iterative decoding process, the i-1 iterative decoding result is prior information adopted in the ith iterative decoding process.
When i = h, the h-th iterative decoding result is N first values recovered by the receiving end in the h-th iterative decoding process, and the receiving end uses the h-th iterative decoding result as N first values adopted by the receiving end when the receiving end generates the first analog signal, that is, as the N first values finally recovered.
Because the i-1 iteration decoding result is the prior information adopted in the ith iteration decoding process, the receiving end can firstly remove the input and output correlation of the i-1 iteration decoding result and then remove the influence of amplitude limiting operation. In one possible implementation, this step 708A includes the following steps 21-22.
And step 21, the receiving end performs minimum mean square error estimation on the M second numerical values based on the ith-1 iteration decoding result to obtain an ith estimated numerical value, wherein the ith estimated numerical value is a numerical value before amplitude limiting of the plurality of second numerical values estimated in the ith iteration decoding process.
The present step 21 is the same as the above step 12, and the difference is that in the above step 12, the i-1 st iterative decoding result is J third values recovered by the receiving end in the i-1 st iterative decoding process. In this step 21, the i-1 st iterative decoding result is N first values recovered by the receiving end in the i-1 st iterative decoding process.
And step 22, the receiving end decompresses the ith estimated data based on the compression matrix to obtain an ith iterative decoding result.
The ith iterative decoding result at this time is the ith decoding value group obtained in the step 2A, that is, N first values recovered by the receiving end in the ith iterative decoding process. Step 22 is similar to step 2A, and this step 22 is not described herein in detail in this embodiment of the present application.
In a possible implementation manner, when the decoding of the M second values fails, the receiving end sends a data retransmission request to the transmitting end to instruct the transmitting end to retransmit the data compressed by the N first values. And after receiving the data retransmission request, the transmitting end sends the retransmitted data after amplitude limiting to the transmitting end. When the receiving end receives the retransmitted data from the transmitting end, the retransmitted data and the historical data compressed by the N first values form data to be decoded, the compression matrix corresponding to the retransmitted data and the compression matrix corresponding to the historical data are combined into a target compression matrix, and the step 708 is performed on the data to be decoded based on the target compression matrix.
According to the method provided by the embodiment of the application, the code words comprising the M second numerical values are subjected to amplitude limiting operation through the transmitting end, so that the peak value average power ratio of the code words is reduced, and the implementation difficulty on hardware is also reduced.
The code word coded based on the diagonal matrix is also called a Sparse Regression Code (SRC), and experiments show that: if the SRC is similar to a gaussian codeword, the coding method of coding-compressing-amplitude limiting provided in the embodiment of the present application enables the high PAPR of the SRC to be greatly reduced, and the system performance at the medium and low bit rates can be greatly improved. The problem of high PAPR of SRC can be solved under the condition of not increasing complexity, and the system performance under the conditions of low code rate and limited code length can be greatly improved.
To further illustrate that the slicing operation can improve the performance of the codeword with the limited code length at a low code rate, refer to the performance curve shown in fig. 12. Fig. 12 is a graph comparing system performance under a finite/infinite operation condition according to an embodiment of the present application. At a transmission rate R x For example, =0.5, CR =12dB, and PAPR =0.79dB, the transmitting end performs clipping operation on a codeword (e.g., SRC) obtained by encoding and compressing, and sends the clipped codeword to the receiving end, the receiving end performs the iterative decoding process shown in the above steps 7081 to 7082 on the received codeword, and performs a monte carlo simulation experiment on the process to draw a BER performance curve when clipping operation (with clipping) is performed, as shown by a solid line in the left side of fig. 12. At a transmission rate R x For example, =0.5, CR =12dB, and PAPR =0.79dB, the transmitting end does not perform a clipping operation on a codeword obtained by encoding and compressing, directly sends the codeword to the receiving end, the receiving end performs the iterative decoding process shown in the above steps 3081-3082 on the received codeword, and performs a monte carlo simulation experiment on the process to draw a BER performance curve without a clipping operation (w/o clipping), as shown by a dotted line in the left side of fig. 12. At a transmission rate R x For example, =0.1, CR =2dB, and PAPR =2.51dB, the transmitting end performs amplitude limiting operation on the code word obtained by the encoding compression, and sends the code word after amplitude limiting to the receiving end, the receiving end performs the iterative decoding process shown in the above steps 7081-7082 on the received code word, and performs a monte carlo simulation experiment on the process to draw a BER performance curve when amplitude limiting operation is performed, as shown by a solid line in the right side of fig. 12. At a transmission rate R x For example, =0.1, CR =2dB, and PAPR =2.51dB, the transmitting end does not perform amplitude limiting operation on the code word obtained by encoding compression, directly sends the code word to the receiving end, the receiving end performs the iterative decoding process shown in the above steps 3081-3082 on the received code word, performs a monte carlo simulation experiment on the process to draw a BER performance curve without amplitude limiting operation,as shown in phantom in the right side of fig. 12. From the comparison of the performance curves shown in FIG. 12, it can be seen that the R values are the same x The clipping operation can improve the BER performance of the system in the case of CR and PAPR. At a different R x In this case, the performance of SRC at the receiving end is greatly improved, especially in the case of low code rate (e.g. R) x =0.5)。
Under the condition of limited code length and medium and low code rate, if the transmitting end performs amplitude limiting operation on other types of code words except the SRC and outputs the amplitude-limited code words, and this processing manner can also improve the performance of the communication system. To further illustrate this situation, refer to a comparative plot of system performance for a limited/unlimited operation scenario provided by the embodiment of the present application illustrated in fig. 13. At a transmission rate R x For example =0.5, the transmitting end performs amplitude limiting operation on a code word (the code word is not necessarily SRC) obtained by coding compression, sends the code word after amplitude limiting to the receiving end, the receiving end performs the iterative decoding process shown in the above steps 7081 to 7082 on the received code word, and performs a monte carlo simulation experiment on the process to draw a BER performance curve during amplitude limiting operation, as shown by a solid line in the left side of fig. 13. At a transmission rate R x For example, =0.1, the transmitting end does not perform amplitude limiting operation on the code word obtained by encoding compression, the code word is directly sent to the receiving end, the receiving end performs the iterative decoding process shown in the above steps 3081-3082 on the received code word, and performs a monte carlo simulation experiment on the process to draw a BER performance curve when there is no amplitude limiting operation, as shown by the dotted line in the left side of fig. 13. At a transmission rate R x For example, =0.1, the transmitting end performs amplitude limiting operation on the code word obtained by encoding and compressing, sends data in the code word after amplitude limiting to the receiving end, and the receiving end performs the iterative decoding process shown in the above steps 7081 to 7082 on the received data, and performs a monte carlo simulation experiment on the process to draw a BER performance curve when amplitude limiting operation is performed, as shown by a solid line in the right side of fig. 13. At a transmission rate R x For example =0.1, the transmitting end does not perform amplitude limiting operation on the code word obtained by encoding compression, the transmitting end directly sends the code word to the receiving end, and the receiving end performs iterative decoding shown in the above steps 3081-3082 on the received code wordAnd a monte carlo simulation experiment is performed for the process to draw a BER performance curve without the clipping operation, as shown by a dotted line in the right side of fig. 13. From a comparison of the performance curves shown in FIG. 13, at the transmission rate R x In the case of =0.5, the limiting operation improves the BER performance of the communication system, and the transmission rate R x In the case of =0.1, the clipping operation does not improve the BER performance of the communication system.
In one possible implementation, the iterative decoding process referred to in fig. 3, 5 or 7 is also referred to as a Generalized Approximate Message Passing (GAMP) process.
Fig. 3, 5, and 7 each describe a single data stream as an example. But within some large-scale machine-type communication systems. For example, a communication system suitable for a scenario of the internet of things and the like has the most important characteristics that a large number of potential users exist in the communication system, and a small number of active users exist at the same time. Wherein the potential users include users authorized to perform data transmission in the communication system, and the active users include users performing data transmission in the communication system. For example, a potential user logs in a client, the client sends a first data stream to a receiving end through a transmitting end, the potential user is activated, and the potential user becomes an active user. The user logged on the client that outputs the first data stream is also the active user. In some embodiments, the number of active users at the same time within the communication system may approach hundreds of orders of magnitude. For example, there are a large number of potential users in a communication system in a grant-free scenario, but there may be active users on the order of nearly hundreds or more at the same time.
For the above situation, the transmitting end may obtain multiple first data streams simultaneously, perform the processes shown in fig. 3, fig. 5, and fig. 7 on the multiple first data streams simultaneously, and output the data obtained by compressing the multiple first data streams simultaneously on the same time-frequency resource block, thereby facilitating to support mass users to transmit the first data streams simultaneously on the same time-frequency resource block. And, the plurality of first data streams are in one-to-one correspondence with a plurality of users, i.e. one first data stream belongs to one user. The multiple users may share the same compression matrix or may use the same compression matrix.
For example, fig. 14 shows a schematic diagram of a data processing method in case of multiple access, where a transmitting end includes q encoders and q compressors, the transmitting end receives data streams (i.e., second data streams) from q users, and for a kth user of the q users, a kth encoder of the q encoders encodes a data stream from the kth user to obtain a fourth value group c k A k-th compressor of the q compressors applies a compression matrix to the fourth set of values c based on the k-th user's corresponding compression matrix k Compressing to obtain a codeword, in which case the fourth set of values c k I.e. the first set of values c k . The transmitting terminal can convert the obtained q code words into an analog signal respectively, and superpose the obtained q analog signals into an analog signal to be output to the receiving terminal. The transmitting end can also superpose q code words, and then convert the code words obtained after superposition into analog signals to be output. And the receiving end converts the received analog signals into q code words, and then carries out decoding processing on each code word so as to recover q data streams at the transmitting end. Wherein q is an integer greater than 1, k is an integer greater than 0 and less than or equal to q.
It should be noted that, all of fig. 3, fig. 5 and fig. 7 are described by taking an example that the transmitting end compresses one first value group in one first data stream, and after the transmitting end acquires another first value group in the first data stream again, the transmitting end may process the another first value group according to the processing procedure of the previous first value group.
The manner of obtaining the first value set by the transmitting end described above may be that the transmitting end directly divides the first data stream into a plurality of first value sets, or that the transmitting end encodes a third value set in the second data stream into a fourth data set and takes the fourth value set as the first value set.
In another possible implementation manner, the transmitting end uses the X × N first values in the first data stream as a processing unit, and after acquiring the X × N first values in the first data stream, the transmitting end divides the X × N first values in the first data stream into X first values. The first values may be adjacent first values in the first data stream received by the transmitting end, or values encoded by X third groups of values in the second data stream. To further illustrate the process, see steps F1-F2 below.
And F1, the transmitting end carries out interleaving processing on the X N first numerical values in the first data stream to obtain a fifth numerical value group.
If the transmitting end acquires the first data stream in the mode A1, the first values of X N in the first data stream are the adjacent first values of X N in the first data stream. If the transmitting end acquires the first data stream in the mode A2, the X × N first values in the first data stream belong to the X fourth value groups. The fifth set of values includes the X N first values. The purpose of the interleaving processing is to break up the arrangement sequence of the X × N first values in the first data stream according to the interleaving rule, so that the different first values are more random, and the interleaving processing is favorable for resisting the influence caused by channel fading in the transmission process.
In a possible implementation manner, an arrangement order of the X × N first values in the fifth value group is determined by an interleaving step size of the interleaving process. If the interleaving step size is 0, the interleaver sequentially arranges the X × N first values in the first data stream to form the fifth value group. Corresponding to the X N first values in the first data stream being processed in an ordered arrangement, the position of the first value in the fifth set of values is unchanged in the first data stream. If the interleaving step is not 0, the transmitting end arranges the first X N values in the first data stream in sequence to obtain a value sequence, and the transmitting end selects a first value at intervals of the interleaving step from the first value in the value sequence until the end of the value sequence is selected to finish the first selection process. Then, the transmitting end starts from the second first value of the value sequence, selects a first value every interval of the interleaving step size until the end of the value sequence is selected, and finishes the second selection process. And repeating the above steps until all the first values in the value sequence are selected, and sequentially arranging the selected first values by the transmitting end according to the selected sequence to obtain the fifth value group. At this time, the position of the first value in the fifth value group is changed in the first data stream. For example, a numerical sequence obtained by sequentially arranging X × N first numerical values in the first data stream is 010010, the interleaving step is 2, and the process of interleaving the numerical sequence 010010 by the transmitting end is as follows: in the first selection process, the transmitting end selects 0, and 1 in turn from 010010 based on the interleaving step 2, and in the second selection process, the transmitting end selects 1, 0, and 0 in turn from 010010 based on the interleaving step 2, so that the final fifth value group is 001100.
The interleaving process described above is an interleaving process with sequential shift. In another possible implementation manner, the interleaving process may also be other manners, such as a regular interleaving manner (e.g., implemented by a regular interleaver), a random interleaving manner (e.g., implemented by a random interleaver), and an irregular interleaving manner (e.g., implemented by an irregular interleaver), etc. The interleaving method used in this application may be to break up the permutation order of the X × N first values in the first data stream, and the interleaving method in the embodiments of this application is not limited herein.
In a possible implementation manner, an interleaver is disposed in the transmitting end, and this step F1 is performed by the interleaver in the transmitting end, that is, the transmitting end performs interleaving processing on the X × N first values in the first data stream through the interleaver. The different types of interleavers use different interleaving processing modes, and the embodiments of the present application do not limit the types of interleavers.
F2, the transmitting end divides the fifth numerical value group into Y first numerical value groups.
Wherein Y is an integer greater than or equal to 1, each of the Y first value groups includes P first values, and P is an integer greater than or equal to 1. Optionally, the transmitting end divides a first value group from the fifth value group every P first values.
In one possible implementation, when Y = X, then P = N, and each of the Y first value groups includes N first values.
In another possible implementation, when Y ≠ X, then P ≠ N. For example, when Y =1, the first value set is also the fifth value set. For another example, when 1-straw Y-straw X, P > N, if the interleaving process is sequential processing and the X × N first values belong to X fourth value groups, then P first values in each of the Y first value groups belong to at least two fourth value groups. For another example, when Y > X, then 1 s are made P s, N, and if the manner of the interleaving process is an ordered arrangement process and the X × N first values belong to X fourth value groups, then P first values in each of the Y first value groups are part of values in one fourth value group.
Correspondingly, for any first value group in the Y first value groups, the transmitting end compresses any first value group based on the compression matrix of M x P to obtain M second values. Wherein, the M second values are inner products between the compression matrix of M × P and the any one of the first value sets (i.e. compression results of the any one of the first value sets). In a possible implementation manner, the M × P compression matrices used by the transmitting end to compress the Y first value groups may be the same compression matrix, and at this time, the transmitting end and the receiving end both store one M × P compression matrix, which reduces the memory occupied by the compression matrices. In another possible implementation manner, the M × P compression matrices used by the transmitting end to compress the Y first value groups may be Y different M × P compression matrices, and each first value group is compressed by using one compression matrix of the Y compression matrices. At this time, the transmitting end and the receiving end both store Y compression matrixes.
Correspondingly, the transmitting end converts the compression results of the Y first value groups into analog signals and transmits the analog signals to the receiving end. For example, the transmitting end converts the compression results of the Y first value groups into Y analog signals, each of the Y analog signals being converted from the compression results of one of the first value groups. The transmitting terminal sends the Y analog signals to the receiving terminal respectively, or the transmitting terminal combines the Y analog signals into one analog signal and sends the analog signal to the receiving terminal. For another example, the transmitting end combines the Y first value sets, converts the combined result into an analog signal, and sends the analog signal to the receiving end.
Accordingly, a deinterleaver is provided in the receiving end, which corresponds to the interleaver employed in the transmitting end, for implementing the inverse operation (i.e., deinterleaving process) of the interleaver. After the receiving end decodes the fifth value set, the receiving end performs deinterleaving processing on the X × N first values in the decoded fifth value set through the deinterleaver to recover actual positions of the X × N first values in the first data stream.
The method of the embodiments of the present application is described above, and the apparatus of the embodiments of the present application is described below.
Fig. 15 is a data processing apparatus provided in this embodiment, where the apparatus 1500 may be the transmitting end or the part of the transmitting end in fig. 3, fig. 5, and fig. 7, and is used to execute the method executed by the transmitting end.
The apparatus 1500 comprises:
an obtaining module 1501, configured to obtain a first data stream, where the first data stream includes N first values, and N is an integer greater than 1;
a compression module 1502, configured to compress the N first values based on a compression matrix to obtain M second values, where the compression matrix includes M rows and N columns of data, each second value is obtained based on the N first values and a corresponding row of data in the compression matrix, and M is an integer smaller than N;
a conversion module 1503, configured to perform digital-to-analog conversion on the M second values to obtain a first analog signal;
a sending module 1504, configured to send the first analog signal.
In one possible implementation manner, the obtaining module 1501 includes:
a receiving unit, configured to receive the first data stream;
or, the receiving unit is further configured to receive a second data stream, where the second data stream includes J third values, and J is an integer smaller than N;
the acquisition module 1501 further includes:
and the coding unit is used for coding the J third numerical values to obtain the N first numerical values, and each first numerical value is obtained based on part of the J third numerical values.
In one possible implementation, the N first values correspond to a same type of carry.
In one possible implementation manner, the apparatus 1500 further includes:
the updating module is used for updating a first numerical value which is 0 in the N first numerical values into a non-binary numerical value when the N first numerical values are all binary data;
the compressing module 1502 is further configured to compress the updated N first numerical values based on the compression matrix.
In one possible implementation, the non-binary value is any value other than 0 and 1.
In one possible implementation, the encoding unit is configured to:
dividing the J third numerical values into L data blocks, wherein each data block comprises partial numerical values in the J third numerical values, each data block corresponds to a column of data or a row of data in an encoding matrix, and L is an integer smaller than J;
and determining L columns of data or L rows of data corresponding to the L data blocks in the coding matrix as the N first numerical values.
In one possible implementation, the encoding unit is configured to:
binary coding is carried out on the J third numerical values to obtain a coded numerical value group, wherein the coded numerical value group comprises N coded data, and each coded data is obtained by coding based on partial numerical values in the J third numerical values;
and updating the coded data which is 0 in the coded value group into a non-binary value, wherein the N first values are the data in the updated coded value group.
In a possible implementation, the compression matrix is a gaussian matrix subject to independent co-distribution, or the compression matrix is a fast transformation matrix.
In a possible implementation manner, the obtaining module 1501 is further configured to receive a data retransmission request, where the data retransmission request is used to instruct to retransmit the value compressed by the N first values;
the conversion module 1503 is further configured to perform digital-to-analog conversion on the retransmission data to obtain a second analog signal, where the retransmission data includes a value compressed from the N first values;
the sending module 1504 is further configured to send the second analog signal.
In one possible implementation manner, the apparatus 1500 further includes:
the amplitude limiting module is used for carrying out amplitude limiting operation on the M second numerical values;
the conversion module is further configured to perform digital-to-analog conversion on the M second values after amplitude limiting.
It should be understood that the apparatus 1500 corresponds to the transmitting end in the foregoing method embodiment, and each module and the foregoing other operations and/or functions in the apparatus 1500 are respectively for implementing various steps and methods implemented by the transmitting end in the method embodiment, and specific details may be referred to the foregoing method embodiment, and are not described herein again for brevity.
It should be understood that the apparatus 1500 is only illustrated by the above-mentioned division of the functional modules in the process of compressing the first data stream, and in practical applications, the above-mentioned function distribution may be performed by different functional modules according to needs, that is, the internal structure of the apparatus 1500 is divided into different functional modules to perform all or part of the above-mentioned functions. In addition, the apparatus 1500 provided in the above embodiment is the same as the above method embodiment, and the specific implementation process thereof is described in the above method embodiment, which is not described herein again.
It is understood that the apparatus 1500 may correspond to the transmitting end 101 in the system 100, or to an executing component in the transmitting end 101.
All the above optional technical solutions may be combined arbitrarily to form optional embodiments of the present disclosure, and are not described in detail herein.
In the data processing apparatus provided in the foregoing embodiment, when the first data stream is compressed, only the division of the functional modules is illustrated, and in practical applications, the above function distribution may be completed by different functional modules according to needs, that is, the internal structure of the apparatus is divided into different functional modules, so as to complete all or part of the above described functions. In addition, the data processing apparatus and the data processing method provided in the foregoing embodiments belong to the same concept, and specific implementation processes thereof are described in the method embodiments, and are not described herein again.
Fig. 16 is a data processing apparatus according to an embodiment of the present application, and the apparatus 1600 may be the transmitting end or the portion of the transmitting end in fig. 3, fig. 5, and fig. 7, and is used for executing the method executed by the receiving end.
The apparatus 1600 includes:
a receiving module 1601, configured to receive a first analog signal;
a conversion module 1602, configured to perform analog-to-digital conversion on the first analog signal to obtain M second values, where each second value is obtained based on N first values and a corresponding row of data in a compression matrix, where the compression matrix includes M rows and N columns of data, N is an integer greater than 1, and M is an integer less than N;
a decoding module 1603, configured to decode the M second values based on the compression matrix to obtain the N first values.
In one possible implementation, the decoding module 1603 is configured to:
and based on the compression matrix, carrying out h times of iterative decoding on the M second numerical values to obtain an h time of iterative decoding result, wherein h is an integer larger than 0.
In one possible implementation, the decoding module 1603 is configured to:
and in the ith iterative decoding process, decompressing the M second numerical values based on the compression matrix and the ith-1 iterative decoding result to obtain an ith iterative decoding result, wherein i is an integer greater than 1 and less than or equal to h.
In one possible implementation, the decoding module 1603 includes:
a decompressing unit, configured to decompress, in an ith iterative decoding process, the M second values based on the compression matrix and an ith-1 th iterative decoding result to obtain an ith decoding value set, where if i is equal to h, the ith decoding value set includes the N first values, and i is an integer greater than 1 and less than or equal to h;
and the decoding unit is used for carrying out decoding operation on the ith decoding numerical value group to obtain an ith iterative decoding result.
In a possible implementation manner, the M second values are clipped values, and the decompression unit includes:
an estimating subunit, configured to perform minimum mean square error estimation on the M second values based on the i-1 st iterative decoding result to obtain an i-th estimated value, where the i-th estimated value is a value before amplitude limiting of the plurality of second values estimated in the i-th iterative decoding process;
and the decompression subunit is used for decompressing the ith estimated value based on the compression matrix.
In one possible implementation, the estimating subunit is configured to:
performing decorrelation operation on the ith-1 iteration decoding result to obtain ith external information;
and performing minimum mean square error estimation on the M second numerical values based on the ith external information.
In one possible implementation, the decompression subunit is configured to:
based on the compression matrix, filtering the ith estimated value by adopting a matched filter MF;
or, based on the compression matrix, carrying out pseudo-inverse PI processing on the ith estimated value;
or based on the compression matrix, carrying out linear minimum mean square error estimation LMMSE on the ith estimated value.
In a possible implementation manner, the M second values are clipped values, and the decoding unit is configured to:
performing a decorrelation operation on the ith decoded value set;
and performing decoding operation on the i-th decoding value group after the decorrelation.
In one possible implementation, the decompression unit is configured to:
based on the compression matrix and the i-1 th iteration decoding result, filtering the M second numerical values by adopting a matched filter MF;
or, based on the compression matrix and the i-1 th iteration decoding result, performing pseudo-inverse PI processing on the M second numerical values;
or, based on the compression matrix and the i-1 th iteration decoding result, performing linear minimum mean square error estimation (LMMSE) on the M second numerical data.
In one possible implementation manner, the apparatus 1600 further includes:
a sending module, configured to send a data retransmission request to a transmitting end if the decoding of the M second values fails, where the data retransmission request is used to instruct the transmitting end to retransmit the values compressed from the N first values;
the receiving module 1601 is further configured to receive a second analog signal, and perform analog-to-digital conversion on the second analog signal to obtain retransmission data, where the retransmission data includes values compressed from the N first values;
the decoding module 1603 is further configured to perform an iterative decoding process on the historical data compressed by the N first values and the retransmission data, where the historical data includes the M second values.
It should be understood that the apparatus 1600 corresponds to the receiving end in the foregoing method embodiment, and each module and the foregoing other operations and/or functions in the apparatus 1600 are respectively for implementing various steps and methods implemented by the receiving end in the method embodiment, and specific details may be referred to the foregoing method embodiment, and are not described herein again for brevity.
It should be understood that the device 1600 is only illustrated by the above-mentioned division of the functional modules in the decoding process, and in practical applications, the above-mentioned function distribution can be completed by different functional modules according to needs, that is, the internal structure of the device 1600 is divided into different functional modules to complete all or part of the above-mentioned functions. In addition, the apparatus 1600 provided by the above embodiment belongs to the same concept as the above method embodiment, and the specific implementation process thereof is described in the above method embodiment, which is not described herein again.
It is understood that the apparatus 1600 may correspond to the receiving end 102 in the system 100, or to an execution component in the receiving end 102.
All the above optional technical solutions may be combined arbitrarily to form the optional embodiments of the present disclosure, and are not described herein again.
In the data processing apparatus provided in the foregoing embodiment, only the division of the functional modules is illustrated in decoding, and in practical applications, the above functions may be distributed by different functional modules according to needs, that is, the internal structure of the apparatus is divided into different functional modules to complete all or part of the above described functions. In addition, the data processing apparatus and the data processing method provided by the above embodiments belong to the same concept, and specific implementation processes thereof are described in the method embodiments for details, which are not described herein again.
Fig. 17 is a schematic structural diagram of a computing device according to an embodiment of the present application, where the computing device 1700 may be configured as a transmitting end or a receiving end according to the foregoing embodiment.
The processor 1701 may be a general purpose Central Processing Unit (CPU), a Network Processor (NP), a microprocessor, or may be one or more integrated circuits such as an application-specific integrated circuit (ASIC), a Programmable Logic Device (PLD), or a combination thereof for implementing aspects of the present application. The PLD may be a Complex Programmable Logic Device (CPLD), a field-programmable gate array (FPGA), a General Array Logic (GAL), or any combination thereof.
A communication bus 1702 is used to transfer information between the above components. The communication bus 1702 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown, but this is not intended to represent only one bus or type of bus.
The Memory 1703 may be, but is not limited to, a read-only Memory (ROM) or other type of static storage device that can store static information and instructions, a Random Access Memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only Memory (EEPROM), a compact disk read-only Memory (CD-ROM) or other optical disk storage, optical disk storage (including compact disk, laser disk, optical disk, digital versatile disk, blu-ray disk, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. The memory 1703 may be separate and coupled to the processor 1701 via a communication bus 1702. The memory 1703 may also be integrated with the processor 1701.
Communication interface 1704 uses any transceiver or the like for communicating with other devices or a communication network. Communication interface 1704 includes a wired communication interface, and may also include a wireless communication interface. The wired communication interface may be an ethernet interface, for example. The ethernet interface may be an optical interface, an electrical interface, or a combination thereof. The wireless communication interface may be a Wireless Local Area Network (WLAN) interface, a cellular network communication interface, or a combination thereof.
In particular implementations, processor 1701 may include one or more CPUs, such as CPU0 and CPU1 shown in fig. 17, as one embodiment.
In particular implementations, computing device 1700 may include multiple processors, such as processor 1701 and processor 1705 shown in FIG. 17, for one embodiment. Each of these processors may be a single-Core Processor (CPU) or a multi-Core Processor (CPU). A processor herein may refer to one or more devices, circuits, and/or processing cores for processing data (e.g., computer program instructions).
In particular implementations, computing device 1700 may also include an output device 1706 and an input device 1707, as an embodiment. The output device 1706, which is in communication with the processor 1701, may display information in a variety of ways. For example, the output device 1706 may be a Liquid Crystal Display (LCD), a Light Emitting Diode (LED) display device, a Cathode Ray Tube (CRT) display device, a projector (projector), or the like. The input device 1707 communicates with the processor 1701 and may receive user input in a variety of ways. For example, the input device 1707 may be a mouse, a keyboard, a touch screen device, a sensing device, or the like.
In some embodiments, the memory 1703 is used to store program code 1710 for implementing the present scheme, and the processor 1701 may execute the program code 1710 stored in the memory 1703. That is, the computing device 1700 may implement the methods provided above in the fig. 3, 5, or 7 embodiments by the processor 1701 and the program code 1710 in the memory 1703.
The embodiments of the present application also provide a computer program product or a computer program, where the computer program product or the computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium, and a processor of the computing device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computing device executes the data processing method.
In addition, embodiments of the present application also provide an apparatus, which may be specifically a chip, a component or a module, and may include a processor and a memory connected to each other; the memory is used for storing computer execution instructions, and when the device runs, the processor can execute the computer execution instructions stored by the memory, so that the chip can execute the data processing method in the above method embodiments.
The apparatus, the device, the computer-readable storage medium, the computer program product, or the chip provided in this embodiment are all configured to execute the corresponding method provided above, so that the beneficial effects achieved by the apparatus, the device, the computer-readable storage medium, the computer program product, or the chip may refer to the beneficial effects in the corresponding method provided above, and are not described herein again.
Through the description of the foregoing embodiments, those skilled in the art will understand that, for convenience and simplicity of description, only the division of the functional modules is used for illustration, and in practical applications, the above function distribution may be completed by different functional modules as needed, that is, the internal structure of the device may be divided into different functional modules, so as to complete all or part of the functions described above. In addition, the data processing method embodiment provided by the above embodiment belongs to the same concept, and the specific implementation process thereof is described in the method embodiment, which is not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the above-described device embodiments are merely illustrative, and for example, the division of the modules or units is only one logical functional division, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or may be integrated into another device, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may be one physical unit or a plurality of physical units, that is, may be located in one place, or may be distributed in a plurality of different places. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application, or portions of the technical solutions that substantially contribute to the prior art, or all or portions of the technical solutions may be embodied in the form of a software product, where the software product is stored in a storage medium and includes several instructions to enable a device (which may be a single chip, a chip, or the like) or a processor (processor) to execute all or part of the steps of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a U disk, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disk.
In the description of this application, "/" means "or" unless otherwise stated, for example, A/B may mean A or B. "and/or" herein is merely an association describing an associated object, and means that there may be three relationships, e.g., a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone. Further, "at least one" means one or more, "a plurality" means two or more. The terms "first", "second", and the like do not necessarily limit the number and execution order, and the terms "first", "second", and the like do not necessarily limit the difference.
In this application, the words "exemplary" or "such as" are used herein to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "e.g.," is not necessarily to be construed as preferred or advantageous over other embodiments or designs. Rather, use of the word "exemplary" or "such as" is intended to present concepts related in a concrete fashion.
The above description is intended only to illustrate the alternative embodiments of the present application, and should not be construed as limiting the present application, and any modifications, equivalents, improvements and the like made within the spirit and principle of the present application should be included in the protection scope of the present application.

Claims (43)

1. A data processing method, wherein the method is performed by a transmitting end, and wherein the method comprises:
acquiring a first data stream, wherein the first data stream comprises N first numerical values, and N is an integer greater than 1;
compressing the N first numerical values based on a compression matrix to obtain M second numerical values, wherein the compression matrix comprises M rows and N columns of data, each second numerical value is obtained based on the N first numerical values and a corresponding row of data in the compression matrix, and M is an integer smaller than N;
performing digital-to-analog conversion on the M second numerical values to obtain a first analog signal;
and transmitting the first analog signal.
2. The method of claim 1, wherein obtaining the first data stream comprises:
receiving the first data stream;
alternatively, the first and second electrodes may be,
receiving a second data stream, wherein the second data stream comprises J third values, and J is an integer less than N;
and coding the J third numerical values to obtain the N first numerical values, wherein each first numerical value is obtained based on part of the J third numerical values.
3. The method according to claim 1 or 2, characterized in that the N first values correspond to a same type of carry.
4. The method of any of claims 1-3, wherein prior to compressing the N first values, the method further comprises:
when the N first numerical values are binary data, updating a first numerical value which is 0 in the N first numerical values into a non-binary numerical value;
the compressing the N first values based on the compression matrix comprises:
and compressing the updated N first numerical values based on the compression matrix.
5. The method of claim 4, wherein the non-binary value is any value other than 0 and 1.
6. The method according to claim 2, wherein said encoding said J third values to obtain said N first values comprises:
dividing the J third numerical values into L data blocks, wherein each data block comprises part of the J third numerical values, each data block corresponds to a column of data or a row of data in a coding matrix, and L is an integer smaller than J;
and determining L columns of data or L rows of data corresponding to the L data blocks in the coding matrix as the N first numerical values.
7. The method of claim 2, wherein said encoding said J third values to obtain said N first values comprises:
binary coding is carried out on the J third numerical values to obtain a coded numerical value group, wherein the coded numerical value group comprises N coded data, and each coded data is obtained by coding based on partial numerical values in the J third numerical values;
and updating the coded data which is 0 in the coded value group into a non-binary value, wherein the N first values are the data in the updated coded value group.
8. The method according to any of claims 1-7, wherein the compression matrix is a Gaussian matrix subject to independent co-distribution, or wherein the compression matrix is a fast transformation matrix.
9. The method of any of claims 1-8, wherein after said transmitting said first analog signal, said method further comprises:
receiving a data retransmission request, wherein the data retransmission request is used for instructing to retransmit the value compressed by the N first values;
performing digital-to-analog conversion on retransmission data to obtain a second analog signal, wherein the retransmission data comprises values compressed by the N first values;
and transmitting the second analog signal.
10. The method according to any of claims 1-9, wherein prior to performing digital-to-analog conversion on the M second values, the method further comprises:
performing a clipping operation on the M second values;
the performing digital-to-analog conversion on the M second numerical values includes:
and D/A conversion is carried out on the M second numerical values after amplitude limiting.
11. A data processing method, wherein the method is performed by a receiving end, and wherein the method comprises:
receiving a first analog signal;
performing analog-to-digital conversion on the first analog signal to obtain M second numerical values, wherein each second numerical value is obtained based on N first numerical values and a corresponding row of data in a compression matrix, the compression matrix comprises M rows and N columns of data, N is an integer larger than 1, and M is an integer smaller than N;
and decoding the M second numerical values based on the compression matrix to obtain the N first numerical values.
12. The method of claim 11, wherein the coding the M second values based on the compression matrix comprises:
and based on the compression matrix, carrying out h times of iterative decoding on the M second numerical values to obtain an h time of iterative decoding result, wherein h is an integer larger than 0.
13. The method of claim 12, wherein the h-th iterative decoding results in the N first values, and wherein the h-th iterative decoding of the M second values based on the compression matrix comprises:
and in the ith iterative decoding process, decompressing the M second numerical values based on the compression matrix and the ith-1 iterative decoding result to obtain an ith iterative decoding result, wherein i is an integer greater than 1 and less than or equal to h.
14. The method of claim 11, wherein the h iterative decoding of the M second values based on the compression matrix comprises:
in the ith iterative decoding process, decompressing the M second values based on the compression matrix and the ith-1 iterative decoding result to obtain an ith decoding value set, wherein if i is equal to h, the ith decoding value set comprises the N first values, and i is an integer greater than 1 and less than or equal to h;
and carrying out decoding operation on the ith decoding numerical value group to obtain an ith iterative decoding result.
15. The method according to claim 14, wherein the M second values are clipped values, and the decompressing the M second values based on the compression matrix and the i-1 th iterative decoding result comprises:
performing minimum mean square error estimation on the M second numerical values based on the ith-1 iteration decoding result to obtain an ith estimated numerical value, wherein the ith estimated numerical value is a numerical value which is estimated in the ith iteration decoding process before the amplitude limiting of the plurality of second numerical values;
and decompressing the ith estimated value based on the compression matrix.
16. The method according to claim 15, wherein said performing minimum mean square error estimation on said M second values based on the i-1 st iterative decoding result comprises:
performing decorrelation operation on the ith-1 th iteration decoding result to obtain ith external information;
and performing minimum mean square error estimation on the M second numerical values based on the ith external information.
17. The method according to claim 15 or 16, wherein the decompressing the i-th predictor based on the compression matrix comprises:
based on the compression matrix, filtering the ith estimated value by adopting a matched filter MF;
or, based on the compression matrix, carrying out pseudo-inverse PI processing on the ith estimated value;
or, based on the compression matrix, performing linear minimum mean square error estimation LMMSE on the ith estimated value.
18. The method according to any of claims 12-17, wherein said M second values are clipped values, and wherein said decoding said ith group of coded values comprises:
performing a decorrelation operation on the ith decoded value set;
and performing decoding operation on the i-th decoding value group after the decorrelation.
19. The method of claim 14, wherein decompressing the M second values comprises:
based on the compression matrix and the i-1 st iteration decoding result, filtering the M second numerical values by adopting a matched filter MF;
or, based on the compression matrix and the i-1 th iteration decoding result, carrying out pseudo inverse PI processing on the M second numerical values;
or, based on the compression matrix and the i-1 th iteration decoding result, performing linear minimum mean square error estimation (LMMSE) on the M second numerical data.
20. The method according to any one of claims 14-19, further comprising:
if the decoding of the M second numerical values fails, sending a data retransmission request to a transmitting terminal, wherein the data retransmission request is used for indicating the transmitting terminal to retransmit the numerical values compressed by the N first numerical values;
receiving a second analog signal, and performing analog-to-digital conversion on the second analog signal to obtain retransmission data, wherein the retransmission data comprises values compressed by the N first values;
and performing an iterative decoding process on the historical data compressed by the N first values and the retransmission data, wherein the historical data comprises the M second values.
21. A data processing apparatus, wherein the apparatus is executed by a transmitting end, the apparatus comprising:
an obtaining module, configured to obtain a first data stream, where the first data stream includes N first numerical values, and N is an integer greater than 1;
the compression module is used for compressing the N first numerical values based on a compression matrix to obtain M second numerical values, the compression matrix comprises M rows and N columns of data, each second numerical value is obtained based on the N first numerical values and a corresponding row of data in the compression matrix, and M is an integer smaller than N;
the conversion module is used for carrying out digital-to-analog conversion on the M second numerical values to obtain a first analog signal;
and the sending module is used for sending the first analog signal.
22. The apparatus of claim 21, wherein the obtaining module comprises:
a receiving unit, configured to receive the first data stream;
or, the receiving unit is further configured to receive a second data stream, where the second data stream includes J third values, and J is an integer smaller than N;
the acquisition module further comprises:
and the coding unit is used for coding the J third numerical values to obtain the N first numerical values, and each first numerical value is obtained based on part of the J third numerical values.
23. The apparatus of claim 21 or 22, wherein the N first values correspond to a same type of scale.
24. The apparatus according to any one of claims 21-23, further comprising:
the updating module is used for updating a first numerical value which is 0 in the N first numerical values into a non-binary numerical value when the N first numerical values are all binary data;
the compression module is further configured to compress the updated N first values based on the compression matrix.
25. The apparatus of claim 24, wherein the non-binary value is any value other than 0 and 1.
26. The apparatus of claim 22, wherein the encoding unit is configured to:
dividing the J third numerical values into L data blocks, wherein each data block comprises part of the J third numerical values, each data block corresponds to a column of data or a row of data in a coding matrix, and L is an integer smaller than J;
and determining L rows of data or L rows of data corresponding to the L data blocks in the coding matrix as the N first numerical values.
27. The apparatus of claim 22, wherein the encoding unit is configured to:
binary coding is carried out on the J third numerical values to obtain a coded numerical value group, the coded numerical value group comprises N coded data, and each coded data is obtained by coding based on part of the J third numerical values;
and updating the coded data which is 0 in the coded value group into a non-binary value, wherein the N first values are the data in the updated coded value group.
28. The apparatus according to any of claims 1-27, wherein the compression matrix is a gaussian matrix subject to independent co-distribution, or wherein the compression matrix is a fast transform matrix.
29. The apparatus according to any one of claims 21 to 28,
the obtaining module is further configured to receive a data retransmission request, where the data retransmission request is used to instruct to retransmit the value compressed by the N first values;
the conversion module is further configured to perform digital-to-analog conversion on the retransmission data to obtain a second analog signal, where the retransmission data includes a value compressed from the N first values;
the sending module is further configured to send the second analog signal.
30. The apparatus according to any one of claims 21-29, further comprising:
the amplitude limiting module is used for carrying out amplitude limiting operation on the M second numerical values;
the conversion module is further configured to perform digital-to-analog conversion on the M second values after amplitude limiting.
31. A data processing apparatus, characterized in that the apparatus is executed by a receiving end, the apparatus comprising:
the receiving module is used for receiving a first analog signal;
the conversion module is used for performing analog-to-digital conversion on the first analog signal to obtain M second numerical values, each second numerical value is obtained based on N first numerical values and corresponding row data in a compression matrix, the compression matrix comprises M rows and N columns of data, N is an integer larger than 1, and M is an integer smaller than N;
and the decoding module is used for decoding the M second numerical values based on the compression matrix to obtain the N first numerical values.
32. The apparatus of claim 31, wherein the coding module is configured to:
and based on the compression matrix, carrying out h times of iterative decoding on the M second numerical values to obtain an h time of iterative decoding result, wherein h is an integer larger than 0.
33. The apparatus of claim 32, wherein the coding module is configured to:
and in the ith iterative decoding process, decompressing the M second numerical values based on the compression matrix and the ith-1 iterative decoding result to obtain an ith iterative decoding result, wherein i is an integer greater than 1 and less than or equal to h.
34. The apparatus of claim 31, wherein the coding module comprises:
a decompressing unit, configured to perform a decompressing operation on the M second values based on the compression matrix and an i-1 th iterative decoding result in an i-th iterative decoding process to obtain an i-th decoded value set, where if i is equal to h, the i-th decoded value set includes the N first values, and i is an integer greater than 1 and less than or equal to h;
and the decoding unit is used for carrying out decoding operation on the ith decoding numerical value group to obtain an ith iterative decoding result.
35. The apparatus of claim 34, wherein the M second values are clipped values, and wherein the decompression unit comprises:
an estimating subunit, configured to perform minimum mean square error estimation on the M second values based on the i-1 st iterative decoding result to obtain an i-th estimated value, where the i-th estimated value is a value before amplitude limiting of the plurality of second values estimated in the i-th iterative decoding process;
and the decompression subunit is used for decompressing the ith estimated value based on the compression matrix.
36. The apparatus of claim 35, wherein the estimating subunit is configured to:
performing decorrelation operation on the ith-1 iteration decoding result to obtain ith external information;
and performing minimum mean square error estimation on the M second numerical values based on the ith external information.
37. The apparatus of claim 35 or 36, wherein the decompression sub-unit is configured to:
based on the compression matrix, filtering the ith estimated value by adopting a matched filter MF;
or, based on the compression matrix, carrying out pseudo-inverse PI processing on the ith estimated value;
or, based on the compression matrix, performing linear minimum mean square error estimation LMMSE on the ith estimated value.
38. The apparatus according to any of the claims 32-37, wherein the M second values are clipped values, and wherein the decoding unit is configured to:
performing a decorrelation operation on the ith decoded value set;
and performing decoding operation on the i-th decoding value group after the decorrelation.
39. The apparatus of claim 34, wherein the decompression unit is configured to:
based on the compression matrix and the i-1 th iteration decoding result, filtering the M second numerical values by adopting a matched filter MF;
or, based on the compression matrix and the i-1 th iteration decoding result, performing pseudo-inverse PI processing on the M second numerical values;
or, based on the compression matrix and the i-1 th iteration decoding result, performing linear minimum mean square error estimation (LMMSE) on the M second numerical data.
40. The apparatus of any one of claims 34-39, further comprising:
a sending module, configured to send a data retransmission request to a transmitting end if the decoding of the M second values fails, where the data retransmission request is used to instruct the transmitting end to retransmit the values compressed from the N first values;
the receiving module is further configured to receive a second analog signal, and perform analog-to-digital conversion on the second analog signal to obtain retransmission data, where the retransmission data includes values compressed from the N first values;
the decoding module is further configured to perform an iterative decoding process on the historical data compressed by the N first values and the retransmission data, where the historical data includes the M second values.
41. A computing device, characterized in that the computing device comprises a processor for executing program code to cause the computing device to perform the method of any of claims 1 to 10.
42. A computing device, characterized in that the computing device comprises a processor for executing program code to cause the computing device to perform the method of any of claims 11 to 20.
43. A computer-readable storage medium having stored therein at least one program code, the at least one program code being readable by a processor to cause a computing device to perform the method of any of claims 1 to 20.
CN202110593041.6A 2021-05-28 2021-05-28 Data processing method, data processing device, computing equipment and storage medium Pending CN115412199A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110593041.6A CN115412199A (en) 2021-05-28 2021-05-28 Data processing method, data processing device, computing equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110593041.6A CN115412199A (en) 2021-05-28 2021-05-28 Data processing method, data processing device, computing equipment and storage medium

Publications (1)

Publication Number Publication Date
CN115412199A true CN115412199A (en) 2022-11-29

Family

ID=84156402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110593041.6A Pending CN115412199A (en) 2021-05-28 2021-05-28 Data processing method, data processing device, computing equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115412199A (en)

Similar Documents

Publication Publication Date Title
US11165537B2 (en) Method for encoding information bit sequence in communication network
JP6817452B2 (en) Rate matching method, encoding device, and communication device
JP5506878B2 (en) Parity check matrix generation method for low density parity check code
CN107395319B (en) Code rate compatible polarization code coding method and system based on punching
EP3844883B1 (en) Method and system for decoding data using compressed channel output information
WO2018019044A1 (en) Encoding method and device
CN107370560A (en) Coding and speed matching method, the device and equipment of a kind of polarization code
WO2017121334A1 (en) Data-processing method and device
JP2003078419A (en) Device and method for transmitting information, and device and method for receiving information
WO2021104480A1 (en) Coding and decoding methods and devices
CN110892658B (en) Device and method for coding a message with a target probability distribution of coded symbols
CN110476357B (en) Polarization code transmission method and device
EP3577767A1 (en) Alteration of successive cancellation order in decoding of polar codes
JP2003229835A (en) Multiple access system and multiple access method
JP2008526164A (en) 3 stripe Gilbert low density parity check code
WO2018201983A1 (en) Polar code channel encoding method, device and communications system
KR101503995B1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
JP2008501278A (en) Extended convolution code
CN115412199A (en) Data processing method, data processing device, computing equipment and storage medium
EP4131785A1 (en) Encoding and decoding methods and apparatuses, and device
Huo et al. Iterative source and channel decoding relying on correlation modelling for wireless video transmission
JP2024507299A (en) Methods and devices for transmitting binary data
CN115549849A (en) Data processing method and device
CN111213346B (en) Method and computing device for facilitating multi-user detection
KR102424942B1 (en) Method of channel coding for communication systems and apparatus using the same

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination