Disclosure of Invention
The application provides a data demodulation method, a data demodulation device, electronic equipment and a storage medium, which are used for solving the problems of higher hardware area and higher cost when demodulating data modulated by a high-order modulation mode in the related technology.
In a first aspect, an embodiment of the present application provides a data demodulation method, where the method includes:
Obtaining data to be demodulated, wherein the data to be demodulated is data obtained by modulating in a first modulation mode;
Selecting the data to be demodulated by using a sliding window to obtain first sub data to be demodulated to be input into a target demodulator, wherein the first sub data to be demodulated is data on reserved data bits in the data to be demodulated selected by the sliding window, the reserved data bits are obtained in advance based on the sliding position of the sliding window, the target demodulator demodulates by adopting a constellation map corresponding to a second modulation mode, and the order of the second modulation mode is lower than that of the first modulation mode;
inputting the first sub-data to be demodulated to the target demodulator for demodulation to obtain an intermediate demodulation result of the first sub-data to be demodulated;
And adjusting and compensating the intermediate demodulation result of the first sub-data to be demodulated to obtain a demodulation result corresponding to the data to be demodulated.
Optionally, the selecting the data to be demodulated by using a sliding window to obtain first sub data to be demodulated to be input into a target demodulator includes:
And under the condition that a third modulation mode does not exist between the second modulation mode and the first modulation mode, selecting the data to be demodulated by using a first sliding window, and determining the data of a first reserved data bit in the data selected by the first sliding window each time as the first sub-data to be demodulated, wherein the size of the first sliding window is determined based on the number of vector endpoints in a constellation map corresponding to the second modulation mode, and the first reserved data bit changes along with the change of the sliding position of the first sliding window.
Optionally, the adjusting and compensating the intermediate demodulation result of the first sub-data to be demodulated to obtain a demodulation result corresponding to the data to be demodulated includes:
determining a target sliding position of the first sliding window corresponding to the intermediate demodulation result of the first sub-data to be demodulated;
Acquiring a first adjustment strategy and a first compensation strategy corresponding to a target sliding position of the first sliding window, wherein the first adjustment strategy and the first compensation strategy are obtained by pre-determining a conversion relation between a constellation mapping diagram corresponding to the first modulation mode and a constellation mapping diagram corresponding to the second modulation mode;
and adjusting and compensating the intermediate demodulation result of the first sub-data to be demodulated based on the first adjustment strategy and the first compensation strategy to obtain a demodulation result corresponding to the data to be demodulated.
Optionally, the selecting the data to be demodulated by using a sliding window to obtain first sub data to be demodulated to be input into a target demodulator includes:
When a third modulation mode exists between the second modulation mode and the first modulation mode, selecting the data to be demodulated by using a second sliding window, and determining data of a second reserved data bit in the data selected by the second sliding window each time as second sub-data to be demodulated, wherein the size of the second sliding window is determined based on the number of vector endpoints in a constellation map corresponding to the third modulation mode, and the second reserved data bit changes along with the change of the sliding position of the second sliding window;
And selecting the second sub-data to be demodulated by using a first sliding window, and determining the first reserved data bit in the data selected by the first sliding window each time as the first sub-data to be demodulated, wherein the size of the first sliding window is determined based on the number of vector endpoints in a constellation map corresponding to the second modulation mode, and the first reserved data bit changes along with the change of the sliding position of the first sliding window.
Optionally, the adjusting and compensating the intermediate demodulation result of the first sub-data to be demodulated to obtain a demodulation result corresponding to the data to be demodulated includes:
determining a target sliding position of the first sliding window corresponding to the intermediate demodulation result of the first sub-data to be demodulated;
acquiring a second adjustment strategy and a second compensation strategy corresponding to the target sliding position of the first sliding window, wherein the second adjustment strategy and the second compensation strategy are obtained by pre-determining a conversion relation between a constellation mapping diagram corresponding to the second modulation mode and a constellation mapping diagram corresponding to the third modulation mode;
Based on the second adjustment strategy and the second compensation strategy, adjusting and compensating the intermediate demodulation result of the first sub-data to be demodulated to obtain an intermediate demodulation result of the second sub-data to be demodulated;
determining a target sliding position of the second sliding window corresponding to the intermediate demodulation result of the second sub-data to be demodulated;
Acquiring a third adjustment strategy and a third compensation strategy corresponding to a target sliding position of the second sliding window, wherein the third adjustment strategy and the third compensation strategy are obtained by pre-determining a conversion relation between a constellation mapping diagram corresponding to the third modulation mode and a constellation mapping diagram corresponding to the first modulation mode;
and adjusting and compensating the intermediate demodulation result of the second sub-data to be demodulated based on the third adjustment strategy and the third compensation strategy to obtain a demodulation result corresponding to the data to be demodulated.
Optionally, the inputting the first sub-data to be demodulated to the target demodulator to demodulate, to obtain an intermediate demodulation result of the first sub-data to be demodulated, includes:
under the condition that the first sub-data to be demodulated is input to the target demodulator for multiple times, multiple candidate results obtained by demodulating the first sub-data to be demodulated for multiple times are obtained;
respectively calculating the sum of absolute values of data corresponding to each candidate result in the plurality of candidate results;
And determining a candidate result corresponding to the maximum value calculated in the plurality of candidate results as an intermediate demodulation result of the first sub-data to be demodulated.
Optionally, after the adjusting and compensating the intermediate demodulation result of the first sub-data to be demodulated to obtain a demodulation result corresponding to the data to be demodulated, the method further includes:
acquiring the hardware bit width supported by the current hardware;
Converting the data represented by the hard bits obtained by compensation in the demodulation result corresponding to the data to be demodulated into soft bit representation according to the hardware bit width;
and inputting the converted demodulation result corresponding to the data to be demodulated into a decoder for decoding to obtain a decoding result.
In a second aspect, an embodiment of the present application further provides a data demodulation apparatus, where the apparatus includes:
The first acquisition module is used for acquiring data to be demodulated, wherein the data to be demodulated is data modulated by a first modulation mode;
The selecting module is used for selecting the data to be demodulated by utilizing a sliding window to obtain first sub data to be demodulated to be input into a target demodulator, wherein the first sub data to be demodulated is reserved data bits in the data to be demodulated selected by the sliding window, the reserved data bits are obtained by pre-determining based on the sliding position of the sliding window, the target demodulator adopts a constellation map corresponding to a second modulation mode for demodulation, and the order of the second modulation mode is lower than that of the first modulation mode;
The demodulation module is used for inputting the first sub-data to be demodulated to the target demodulator for demodulation to obtain an intermediate demodulation result of the first sub-data to be demodulated;
and the adjusting and compensating module is used for adjusting and compensating the intermediate demodulation result of the first sub-data to be demodulated to obtain a demodulation result corresponding to the data to be demodulated.
In a third aspect, an embodiment of the present application further provides an electronic device, including a processor, a communication interface, a memory, and a communication bus, where the processor, the communication interface, and the memory complete communication with each other through the communication bus;
a memory for storing a computer program;
And a processor, configured to implement the data demodulation method according to the first aspect when executing the program stored in the memory.
In a fourth aspect, an embodiment of the present application further provides a computer readable storage medium, on which a computer program is stored, which when executed by a processor implements the data demodulation method according to the first aspect.
Compared with the prior art, the method provided by the embodiment of the application has the advantages that the data to be demodulated is obtained through the data obtained through the modulation of the first modulation mode, the first data to be demodulated to be input into the target demodulator is obtained through the selection of the sliding window, the first data to be demodulated is data on reserved data bits in the data to be demodulated selected by the sliding window, the reserved data bits are obtained in advance based on the sliding position of the sliding window, the target demodulator is demodulated by adopting the constellation mapping diagram corresponding to the second modulation mode, the order of the second modulation mode is lower than that of the first modulation mode, the first data to be demodulated is input into the target demodulator to be demodulated, the intermediate demodulation result of the first data to be demodulated is obtained, and the intermediate demodulation result of the first data to be demodulated is adjusted and compensated to obtain the demodulation result corresponding to the data to be demodulated. By the method, the sliding window can be utilized to select the data to be demodulated to obtain the first sub data to be demodulated to be input into the target demodulator, and then the target demodulator is utilized to demodulate the first sub data to be demodulated to obtain the demodulation result corresponding to the data to be demodulated, so that the low-order target demodulator can be utilized to realize the demodulation function of the high-order data to be demodulated, the problem that the area and the cost of hardware are high due to the adoption of the high-order demodulator for demodulation can be effectively avoided, and the purpose of reducing the area and the cost of the hardware is achieved.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present application more apparent, the technical solutions of the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application, and it is apparent that the described embodiments are some embodiments of the present application, but not all embodiments of the present application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
Referring to fig. 1, fig. 1 is a flow chart of a data demodulation method according to an embodiment of the present application. As shown in fig. 1, the data demodulation method may include the steps of:
Step S102, data to be demodulated is obtained, wherein the data to be demodulated is data obtained by modulating in a first modulation mode.
Specifically, the data to be demodulated refers to data modulated by a first modulation scheme, where the first modulation scheme may be any one of modulation schemes such as QPSK, 16QAM, and 64 QAM. In actual transmission, the modulated data is often affected by noise in a transmission channel to generate a certain offset, so that the modulated data does not necessarily coincide with the position of a vector endpoint in a constellation map after transmission is completed, but has a certain offset.
Step S104, selecting data to be demodulated by utilizing a sliding window to obtain first sub data to be demodulated to be input into a target demodulator, wherein the first sub data to be demodulated is data on reserved data bits in the data to be demodulated selected by the sliding window, the reserved data bits are obtained in advance based on the sliding position of the sliding window, the target demodulator demodulates by adopting a constellation map corresponding to a second modulation mode, and the order of the second modulation mode is lower than that of the first modulation mode.
Specifically, the sliding window refers to a window that can be slid in a constellation map according to a specified sliding step. The size of the sliding window needs to be comprehensively determined according to the data to be demodulated and the modulation and demodulation mode adopted by the target demodulator. For example, when the data to be demodulated is data modulated by 16QAM and the target demodulator is a QPSK demodulator, the size of the sliding window is 2×2, when the data to be demodulated is data modulated by 64QAM and the target demodulator is a 16QAM demodulator, the size of the sliding window is 4*4, and when the data to be demodulated is data modulated by 256QAM and the target demodulator is a 64QAM demodulator, the size of the sliding window is 8×8. The sliding step of the sliding window may need to be set as needed, such as 1,2,3, etc. The smaller the sliding step length of the sliding window, the longer the number of times of sliding is required, but the higher the demodulation accuracy is, and the larger the sliding step length, the smaller the number of times of sliding is required, the shorter the number of times of demodulating is required, but the lower the demodulation accuracy is.
The first sub-data to be demodulated is data on reserved data bits in the data to be demodulated selected by the sliding window, wherein the reserved data bits are predetermined based on the sliding position of the sliding window. For convenience of understanding, the data to be demodulated is data modulated by 16QAM, and the target demodulator is a QPSK demodulator, which is illustrated in fig. 2 and 3, fig. 2 is a constellation map corresponding to QPSK, and fig. 3 is a constellation map corresponding to 16 QAM. When sliding is performed on the constellation map corresponding to 16QAM according to the longitudinal step size 1 and the transverse step size 1 by using a sliding window with a size of 2×2, the sliding is performed for 9 times, and the data selected by the sliding window can be mapped into the constellation map of QPSK by removing the fixed bits (00, 01, 10 or 11) at each sliding position and then reversing or shifting positions of some bit positions, as shown in fig. 4 to 12. That is, among the 4 vector end points selected for each sliding position of the sliding window (4 bits for each vector end point), there are 2 bits of deleted data bits and 2 bits of reserved data bits. For example, in fig. 4, the 0 th bit and the 1 st bit of the vector end point are deleted data bits, and the 2 nd bit and the 3 rd bit are reserved data bits, so that the constellation map of QPSK can be obtained by deleting "00" of the 0 th bit and the 1 st bit and then inverting the 2 nd bit and the 3 rd bit. In fig. 5, the 1 st and 2 nd bits of the vector end point are deleted data bits, and the 0 th and 3 rd bits are reserved data bits, so that the constellation mapping diagram of QPSK can be obtained by deleting "00" of the 1 st and 2 nd bits and then inverting the 3 rd bit. In fig. 6, the 0 th bit and the 1 st bit of the vector end point are deleted data bits, the 2 nd bit and the 3 rd bit are reserved data bits, so that the reserved data bits of the sliding window at each sliding position can be determined by deleting the 10 th bit and the 1 st bit, then inverting the 3 rd bit to obtain a constellation map of QPSK, and so on.
The target demodulator uses a constellation map corresponding to a second modulation scheme to demodulate, where the order of the second modulation scheme needs to be lower than that of the first modulation scheme. For example, when the first modulation scheme is 16QAM, the second modulation scheme may be QPSK, when the first modulation scheme is 64QAM, the second modulation scheme may be QPSK or 16QAM, and when the first modulation scheme is 256QAM, the second modulation scheme may be QPSK, 16QAM, or 64QAM.
Step S106, inputting the first sub-data to be demodulated to the target demodulator for demodulation, and obtaining an intermediate demodulation result of the first sub-data to be demodulated.
After obtaining the intermediate demodulation result of the first sub data to be demodulated, the first sub data to be demodulated may be input into a target demodulator, and the input first sub data to be demodulated is demodulated by the target demodulator, so as to obtain the intermediate demodulation result of the first sub data to be demodulated.
And step S108, adjusting and compensating the intermediate demodulation result of the first sub-data to be demodulated to obtain a demodulation result corresponding to the data to be demodulated.
Specifically, the adjustment can be operations such as inverting or sequencing the data bit, and the principle is determined based on constellation mapping conversion relations of different modulation modes. The compensation is mainly to compensate the data bit, and the value of the compensation can be 00, 01, 10 or 11.
For convenience of understanding, the description is continued with the target demodulator being a QPSK demodulator, where the data to be demodulated is 16QAM modulated data, and since the target demodulator demodulates the input first sub-data to be demodulated to obtain an intermediate demodulation result of the first sub-data to be demodulated with 2 bits, the intermediate demodulation result of the first sub-data to be demodulated with 2 bits needs to be adjusted (i.e. the operations of reversing and/or adjusting the positions of the corresponding sliding windows in fig. 4 to 12 are performed reversely), and then 2 bits of data are compensated based on the adjusted 2 bits of data (i.e. the deleted data bits corresponding to the positions of the sliding windows in fig. 4 to 12 are compensated).
It should be noted that, if the third modulation mode does not exist between the second modulation mode and the first modulation mode, only one sliding window is needed to select the data to be demodulated, so as to obtain the first sub-data to be demodulated to be input into the target demodulator, and after the first sub-data to be demodulated is input into the target demodulator to be demodulated, the intermediate demodulation result of the first sub-data to be demodulated is obtained, only one adjustment and compensation are needed to be performed on the intermediate demodulation result of the first sub-data to be demodulated, so as to obtain the demodulation result. If a third modulation mode exists between the second modulation mode and the first modulation mode, two sliding windows are needed to perform sliding selection on data to be demodulated twice to obtain first sub data to be demodulated to be input into the target demodulator, and after the first sub data to be demodulated is input into the target demodulator to be demodulated to obtain an intermediate demodulation result of the first sub data to be demodulated, the intermediate demodulation result of the first sub data to be demodulated is needed to be adjusted and compensated twice to obtain a demodulation result.
By the method, the sliding window can be utilized to select the data to be demodulated to obtain the first sub data to be demodulated to be input into the target demodulator, and then the target demodulator is utilized to demodulate the first sub data to be demodulated to obtain the demodulation result corresponding to the data to be demodulated, so that the low-order target demodulator can be utilized to realize the demodulation function of the high-order data to be demodulated, the problem that the area and the cost of hardware are high due to the adoption of the high-order demodulator for demodulation can be effectively avoided, and the purpose of reducing the area and the cost of the hardware is achieved.
In an optional embodiment, the step 104 of selecting the data to be demodulated by using a sliding window to obtain the first sub-data to be demodulated to be input into the target demodulator includes:
And under the condition that a third modulation mode does not exist between the second modulation mode and the first modulation mode, selecting data to be demodulated by using a first sliding window, and determining data of first reserved data bits in the data selected by the first sliding window each time as first sub-data to be demodulated, wherein the size of the first sliding window is determined based on the number of vector endpoints in a constellation map corresponding to the second modulation mode, and the first reserved data bits change along with the change of the sliding position of the first sliding window.
Specifically, when the third modulation mode does not exist between the second modulation mode and the first modulation mode, the first sliding window is used for selecting data to be demodulated, and data of a first reserved data bit in the data selected by the first sliding window each time is determined to be first sub-data to be demodulated, so that the first sub-data to be demodulated can be input to the target demodulator for demodulation, and an intermediate demodulation result of the first sub-data to be demodulated is obtained. Continuing with the above example, when the second modulation mode is QPSK and the first modulation mode is 16QAM, the data to be demodulated may be selected by using a first sliding window with a size of 2×2, and the data of the first reserved data bit in the data selected by the first sliding window each time is determined as the first sub-data to be demodulated. Thus, the first sub-data to be demodulated can be input to the QPSK demodulator for demodulation, and an intermediate demodulation result of the first sub-data to be demodulated is obtained. Of course, when the second modulation mode is 16QAM and the first modulation mode is 64QAM, the first sliding window with the size 4*4 may be used to select the data to be demodulated, and the data of the first reserved data bit in the data selected by the first sliding window each time may be determined as the first sub-data to be demodulated. In this way, the first sub-data to be demodulated can be input to the 16QAM demodulator for demodulation, and an intermediate demodulation result of the first sub-data to be demodulated is obtained.
By the method, when the third modulation mode does not exist between the second modulation mode and the first modulation mode, the data to be demodulated is selected through the first sliding window, so that first sub-data to be demodulated to be input into the target demodulator is obtained.
In an optional embodiment, the step 106 of adjusting and compensating the intermediate demodulation result of the first sub-data to be demodulated to obtain a demodulation result corresponding to the data to be demodulated includes:
Determining a target sliding position of a first sliding window corresponding to an intermediate demodulation result of the first sub-data to be demodulated;
Acquiring a first adjustment strategy and a first compensation strategy corresponding to a target sliding position of a first sliding window, wherein the first adjustment strategy and the first compensation strategy are obtained by pre-determining a conversion relation between a constellation mapping diagram corresponding to a first modulation mode and a constellation mapping diagram corresponding to a second modulation mode;
And adjusting and compensating the intermediate demodulation result of the first sub-data to be demodulated based on the first adjustment strategy and the first compensation strategy to obtain a demodulation result corresponding to the data to be demodulated.
Specifically, when the third modulation mode does not exist between the second modulation mode and the first modulation mode, after the first sub-data to be demodulated is input to the target demodulator to be demodulated to obtain an intermediate demodulation result of the first sub-data to be demodulated, a target sliding position of a first sliding window corresponding to the intermediate demodulation result of the first sub-data to be demodulated can be determined, and then a first adjustment strategy and a first compensation strategy corresponding to the target sliding position of the first sliding window are obtained, wherein the first adjustment strategy and the first compensation strategy are predetermined based on a conversion relationship between a constellation map corresponding to the first modulation mode and a constellation map corresponding to the second modulation mode. And then, based on the first adjustment strategy and the first compensation strategy, adjusting and compensating the intermediate demodulation result of the first sub-data to be demodulated to obtain a demodulation result corresponding to the data to be demodulated.
For convenience of understanding, the second modulation mode is QPSK, and the first modulation mode is 16QAM, and after the input first sub-data to be demodulated is demodulated by the QPSK demodulator, an intermediate demodulation result of the first sub-data to be demodulated with 2 bits is obtained, where the intermediate demodulation result of the first sub-data to be demodulated with 2 bits needs to be adjusted (i.e. the operations of inverting and/or adjusting the positions of the corresponding sliding windows in fig. 4 to 12 are performed reversely), and then 2 bits of data are compensated based on the adjusted 2 bits of data (i.e. the deleted data bits corresponding to the positions of the sliding windows in fig. 4 to 12 are compensated). The first adjustment strategy and the first compensation strategy are predetermined based on a conversion relationship between the constellation map corresponding to 16QAM and the constellation map corresponding to QPSK. Of course, if the second modulation scheme is required to be 64QAM, and the first modulation scheme is required to be 256QAM, the first adjustment policy and the first compensation policy at this time are predetermined based on the conversion relationship between the constellation map corresponding to 64QAM and the constellation map corresponding to 256 QAM.
According to the method, when the third modulation mode does not exist between the second modulation mode and the first modulation mode, the first adjustment strategy and the first compensation strategy are determined in advance based on the conversion relation between the constellation mapping diagram corresponding to the first modulation mode and the constellation mapping diagram corresponding to the second modulation mode, then the intermediate demodulation result of the first sub-data to be demodulated is adjusted and compensated by utilizing the first adjustment strategy and the first compensation strategy, so that the demodulation result corresponding to the data to be demodulated is obtained, and therefore, high-order demodulation can be achieved through multiplexing the low-order demodulator without reducing decoding performance.
In an optional embodiment, the step 104 of selecting the data to be demodulated by using a sliding window to obtain the first sub-data to be demodulated to be input into the target demodulator includes:
under the condition that a third modulation mode exists between the second modulation mode and the first modulation mode, selecting data to be demodulated by using a second sliding window, and determining data of a second reserved data bit in the data selected by the second sliding window each time as second sub-data to be demodulated, wherein the size of the second sliding window is determined based on the number of vector endpoints in a constellation map corresponding to the third modulation mode, and the second reserved data bit is changed along with the change of the sliding position of the second sliding window;
And selecting the second sub-data to be demodulated by using the first sliding window, and determining the first reserved data bit data in the data selected by the first sliding window each time as the first sub-data to be demodulated, wherein the size of the first sliding window is determined based on the number of vector endpoints in a constellation map corresponding to the second modulation mode, and the first reserved data bit changes along with the change of the sliding position of the first sliding window.
Specifically, when the third modulation mode exists between the second modulation mode and the first modulation mode, the data to be demodulated may be selected by using the second sliding window, and the data of the second reserved data bit in the data selected by the second sliding window each time is determined as the second sub-data to be demodulated, where the size of the second sliding window is determined based on the number of vector endpoints in the constellation map corresponding to the third modulation mode. And then selecting the second sub-data to be demodulated by using a first sliding window, and determining the first reserved data bit data in the data selected by the first sliding window each time as the first sub-data to be demodulated, wherein the size of the first sliding window is determined based on the number of vector endpoints in a constellation mapping diagram corresponding to the second modulation mode.
For example, when the second modulation scheme is QPSK and the first modulation scheme is 64QAM, because 16QAM is still present between QPSK and 64QAM, the data to be demodulated of 64QAM cannot be directly demodulated by the QPSK demodulator, and at this time, the data to be demodulated may be selected in the constellation map of 64QAM by using a second sliding window of 4*4, and it is assumed that the second sliding window is currently slid to the position of the rightmost upper corner of the constellation map, as shown in fig. 13. At this time, the first 2 bits of the data to be demodulated selected by the second sliding window can be deleted, and the last 4 bits are reserved as second sub data to be demodulated, so as to meet the modulation requirement of 16 QAM. The purpose of this is to delete the deleted data bits of the second sliding window at that sliding position and to retain the reserved data bits.
Then, the second sub-data to be demodulated is selected by using a first sliding window with a size of 2×2, deleting the deleted data bit in the data selected by the first sliding window each time, determining the data of the first reserved data bit as the first sub-data to be demodulated, and deleting the data bit can be seen in fig. 4 to 12. Thus, first sub data to be demodulated can be obtained. And finally, inputting the first sub-data to be demodulated into a QPSK demodulator for demodulation to obtain an intermediate demodulation result of the first sub-data to be demodulated.
In the case of sliding over the constellation map of 64QAM through the second sliding window, if sliding is performed with a vertical step size of 1 and a horizontal step size of 1, the second sliding window needs to be slid 25 times in total. The hardware product needs to consider the processing speed in addition to the block error rate (BLER), so the step size of the sliding window can be optionally scaled up within the allowed BLER range. If the second sliding window has a lateral step of 2 and a longitudinal step of 2, 3 sliding positions will be generated in the lateral direction, 3 sliding positions will be generated in the longitudinal direction, and the total of 9 sliding positions will be generated in the longitudinal direction, so that the processing speed is obviously improved compared with 25 sliding times.
By the method, when a third modulation mode exists between the second modulation mode and the first modulation mode, data are sequentially selected through the second sliding window and the first sliding window, and therefore first sub-data to be input into the target demodulator are obtained.
In an optional embodiment, the step 106 of adjusting and compensating the intermediate demodulation result of the first sub-data to be demodulated to obtain a demodulation result corresponding to the data to be demodulated includes:
Determining a target sliding position of a first sliding window corresponding to an intermediate demodulation result of the first sub-data to be demodulated;
Acquiring a second adjustment strategy and a second compensation strategy corresponding to a target sliding position of the first sliding window, wherein the second adjustment strategy and the second compensation strategy are obtained by pre-determining a conversion relation between a constellation mapping diagram corresponding to a second modulation mode and a constellation mapping diagram corresponding to a third modulation mode;
Based on a second adjustment strategy and a second compensation strategy, adjusting and compensating the intermediate demodulation result of the first sub-data to be demodulated to obtain an intermediate demodulation result of the second sub-data to be demodulated;
Determining a target sliding position of a second sliding window corresponding to an intermediate demodulation result of the second sub-data to be demodulated;
Acquiring a third adjustment strategy and a third compensation strategy corresponding to a target sliding position of the second sliding window, wherein the third adjustment strategy and the third compensation strategy are obtained by pre-determining a conversion relation between a constellation mapping diagram corresponding to a third modulation mode and a constellation mapping diagram corresponding to the first modulation mode;
And adjusting and compensating the intermediate demodulation result of the second sub-data to be demodulated based on the third adjustment strategy and the third compensation strategy to obtain a demodulation result corresponding to the data to be demodulated.
Specifically, when a third modulation mode exists between the second modulation mode and the first modulation mode, after the first sub-data to be demodulated is input to the target demodulator to be demodulated to obtain an intermediate demodulation result of the first sub-data to be demodulated, a target sliding position of the first sliding window corresponding to the intermediate demodulation result of the first sub-data to be demodulated can be determined first, and then a second adjustment strategy and a second compensation strategy corresponding to the target sliding position of the first sliding window are obtained, wherein the second adjustment strategy and the second compensation strategy are predetermined based on a conversion relationship between a constellation map corresponding to the second modulation mode and a constellation map corresponding to the third modulation mode. And then, based on the second adjustment strategy and the second compensation strategy, adjusting and compensating the intermediate demodulation result of the first sub-data to be demodulated to obtain the intermediate demodulation result of the second sub-data to be demodulated. Then, a target sliding position of a second sliding window corresponding to an intermediate demodulation result of the second sub-data to be demodulated can be determined, and a third adjustment strategy and a third compensation strategy corresponding to the target sliding position of the second sliding window are obtained, wherein the third adjustment strategy and the third compensation strategy are predetermined based on a conversion relation between a constellation map corresponding to a third modulation mode and a constellation map corresponding to the first modulation mode. And finally, based on a third adjustment strategy and a third compensation strategy, adjusting and compensating the intermediate demodulation result of the second sub-data to be demodulated to obtain a demodulation result corresponding to the data to be demodulated.
For convenience of understanding, the second modulation mode is QPSK, the first modulation mode is 64QAM, and after the input first sub-data to be demodulated is demodulated by the QPSK demodulator, an intermediate demodulation result of the first sub-data to be demodulated with 2 bits is obtained, where the intermediate demodulation result of the first sub-data to be demodulated with 2 bits needs to be adjusted (i.e. the reverse operation of the inversion and/or the modulation operation in fig. 4 to 12 is performed), and then 2 bits of data are compensated based on the adjusted 2 bits of data (i.e. the deleted data bits in fig. 4 to 12 are compensated), so as to obtain 4 bits of data (i.e. the intermediate demodulation result of the second sub-data to be demodulated in the foregoing). The second adjustment strategy and the second compensation strategy are predetermined based on the conversion relation between the constellation map corresponding to 16QAM and the constellation map corresponding to QPSK. Then, the intermediate demodulation result of the second sub-data to be demodulated with 4 bits needs to be adjusted, and 2 bits of data bits are compensated based on the adjusted 2 bits of data, so as to obtain 6 bits of data bits. The second adjustment strategy and the second compensation strategy are predetermined based on the conversion relation between the constellation map corresponding to 64QAM and the constellation map corresponding to 16 QAM.
By the method, when a third modulation mode exists between the second modulation mode and the first modulation mode, a demodulation result corresponding to data to be demodulated can be obtained through secondary adjustment and compensation, so that high-order demodulation can be realized through multiplexing the low-order demodulator, and decoding performance is not reduced.
In an optional embodiment, the step 104 of inputting the first sub-data to be demodulated to the target demodulator for demodulation to obtain an intermediate demodulation result of the first sub-data to be demodulated includes:
Under the condition that the first sub-data to be demodulated is input to the target demodulator for multiple times, multiple candidate results obtained by demodulating the first sub-data to be demodulated for multiple times are obtained;
Respectively calculating the sum of absolute values of data corresponding to each candidate result in the plurality of candidate results;
And determining a candidate result corresponding to the maximum value calculated in the plurality of candidate results as an intermediate demodulation result of the first sub-data to be demodulated.
As shown in fig. 14, for each data point under the 16QAM constellation map, 1011, 0011, 1111 and 0111 are selected once, 0001, 1001, 1010, 1110, 1101, 0101, 0110 and 0010 are selected 2 times, respectively, and the four middle data points 1000, 0000, 1100 and 0100 are selected 4 times, respectively. The data points far from the center of the coordinate axis are more difficult to make mistakes in demodulation on the constellation map, the data points near the center of the coordinate axis are more robust, and the data points near the center of the coordinate axis are more easy to make mistakes in demodulation, so that the robustness is weaker. Therefore, the data point selected for 1 time can be demodulated only once, the obtained data is reliable enough, and the more the sliding window is slid, the more the demodulated data is, the higher the error probability is, and the result needs to be judged. The way of judgment may be to take the sum of the absolute values of the data corresponding to each candidate result (i.e., the data represented by the soft bits of the LLR), and the larger it is considered the more robust it can be as the final intermediate demodulation result.
Taking the 0001 data point in the 16QAM constellation map as an example, because it was selected twice, assuming that the data represented by the LLR soft bits it took are [0.3,0.11,0.5, -0.3] and [0.5,0.334,0.7684, -0.01], respectively, which are summed to absolute values, we can get:
;;
Since 1.6124>1.21, [0.5,0.334,0.7684, -0.01] can be selected as the intermediate demodulation result.
By the method, one candidate result with the strongest robustness can be determined from the multiple candidate results obtained through demodulation and used as an intermediate demodulation result of the first sub-data to be demodulated, so that accuracy of the demodulation result is improved.
In an alternative embodiment, after adjusting and compensating the intermediate demodulation result of the first sub-data to be demodulated to obtain a demodulation result corresponding to the data to be demodulated, the method further includes:
acquiring the hardware bit width supported by the current hardware;
Converting data represented by hard bits obtained by compensation in a demodulation result corresponding to data to be demodulated into soft bit representation according to the hardware bit width;
and inputting the demodulation result corresponding to the converted data to be demodulated into a decoder for decoding to obtain a decoding result.
Since the data input to the decoder needs to be data represented by soft bits, and the data represented by hard bits of the data bits compensated in the demodulation result corresponding to the demodulated data needs to be converted into data represented by soft bits according to the hardware bit width. Here, the description is made taking a 4-bit hardware bit width as an example, wherein the most significant bit of the 4 bits is a sign bit, which represents a positive sign, and the other three bits are data bits, wherein the data range that can be expressed by the hardware is-7 to 7, the hard bit data 0 can be mapped to any value in the range of 0 to 7, and the hard bit data 1 can be mapped to any value in the range of-7 to 0.
For example, assume that the demodulation results corresponding to the data to be demodulated are [0,1,0.5,0.3], [0,1, -0.5,0.9], [0,1,0.7, -0.34], [0,1, -0.44, -0.876], where the first two data bits of each data are data represented by hard bits obtained by compensation, the data 0 represented by hard bits represents positive numbers, the data 1 represented by hard bits represents negative numbers, and the last two data bits are LLR soft bit data obtained by demodulation using the target demodulator. The first two data bits 0,1 need to be converted into a soft bit representation and input to the decoder for decoding.
In this way, it is ensured that the data input to the decoder is data represented by soft bits, and can be decoded by the decoder.
In an alternative embodiment, the data demodulation method may be implemented using a hardware structure as shown in fig. 15. The high-order data to be demodulated is firstly input into a sliding window module, the sliding window module controls the sliding window to slide according to configuration requirements, the data selected by the sliding window is delivered to a low-order demodulator, an intermediate demodulation result obtained by demodulation of the low-order demodulator is selected to be output, the output intermediate demodulation result is shifted or inverted, and then the part missing of the cross-order information is compensated based on a compensation mode determined by hardware implementation. And finally, outputting the data meeting the decoding requirement to a decoder for decoding.
In order to illustrate the performance of the data demodulation method provided by the invention, 256QAM data can be selected as data to be demodulated, a 64 QAM demodulator is adopted for demodulation, the sliding window is slid 9 times by setting the sliding step length of the sliding window to be 4, the most robust data is selected for output, then adjustment and compensation are carried out, and the performance obtained by decoding is shown in figure 16. In fig. 16, pre represents the BLER after demodulation with a 256QAM demodulator, and new represents the BLER after demodulation with a 64 QAM demodulator. It can be seen that there is little difference in the properties between the two.
The data demodulation method provided by the invention can utilize the low-order demodulator to realize the high-order demodulation requirement, and a certain operation processing time is sacrificed, but the area occupation is smaller and the adaptability is higher because the low-order demodulator is used. In addition, the invention also provides a method for obtaining the options of different performances with different time loss for different performance requirements, and a user can select a proper specific scheme through specific product requirements to realize a final circuit.
Referring to fig. 17, fig. 17 is a schematic structural diagram of a data demodulation device according to an embodiment of the present application. As shown in fig. 17, the data demodulation apparatus 1700 includes:
a first obtaining module 1702, configured to obtain data to be demodulated, where the data to be demodulated is data obtained by modulating with a first modulation mode;
The selecting module 1704 is configured to select data to be demodulated by using a sliding window to obtain first sub data to be demodulated to be input into the target demodulator, where the first sub data to be demodulated is reserved data bits in the data to be demodulated selected by the sliding window, the reserved data bits are predetermined based on a sliding position of the sliding window, and the target demodulator demodulates by using a constellation map corresponding to a second modulation mode, and an order of the second modulation mode is lower than that of the first modulation mode;
the demodulation module 1706 is configured to input the first sub-data to be demodulated to the target demodulator for demodulation, so as to obtain an intermediate demodulation result of the first sub-data to be demodulated;
And the adjusting and compensating module 1708 is configured to adjust and compensate the intermediate demodulation result of the first sub-data to be demodulated, so as to obtain a demodulation result corresponding to the data to be demodulated.
Further, the selection module 1704 includes:
The first selecting sub-module is configured to select data to be demodulated by using a first sliding window when a third modulation mode does not exist between the second modulation mode and the first modulation mode, and determine data of a first reserved data bit in the data selected by the first sliding window each time as first sub-data to be demodulated, where the size of the first sliding window is determined based on the number of vector endpoints in a constellation map corresponding to the second modulation mode, and the first reserved data bit changes along with a change of a sliding position of the first sliding window.
Further, the adjustment and compensation module 1708 includes:
The first determining sub-module is used for determining a target sliding position of a first sliding window corresponding to an intermediate demodulation result of the first sub-data to be demodulated;
The first acquisition sub-module is used for acquiring a first adjustment strategy and a first compensation strategy corresponding to a target sliding position of the first sliding window, wherein the first adjustment strategy and the first compensation strategy are obtained by pre-determining a conversion relation between a constellation mapping diagram corresponding to a first modulation mode and a constellation mapping diagram corresponding to a second modulation mode;
the first adjustment and compensation sub-module is used for adjusting and compensating the intermediate demodulation result of the first sub-data to be demodulated based on the first adjustment strategy and the first compensation strategy to obtain a demodulation result corresponding to the data to be demodulated.
Further, the selection module 1704 also includes:
The second selecting sub-module is used for selecting data to be demodulated by using a second sliding window under the condition that a third modulation mode exists between the second modulation mode and the first modulation mode, and determining data of second reserved data bits in the data selected by the second sliding window each time as second sub-data to be demodulated, wherein the size of the second sliding window is determined and obtained based on the number of vector endpoints in a constellation map corresponding to the third modulation mode, and the second reserved data bits change along with the change of the sliding position of the second sliding window;
and the third selecting sub-module is used for selecting the second sub-data to be demodulated by using the first sliding window, and determining the first reserved data bit data in the data selected by the first sliding window each time as the first sub-data to be demodulated, wherein the size of the first sliding window is determined based on the number of vector endpoints in a constellation map corresponding to the second modulation mode, and the first reserved data bit changes along with the change of the sliding position of the first sliding window.
Further, the adjustment and compensation module 1708 further includes:
the second determining submodule is used for determining a target sliding position of the first sliding window corresponding to the intermediate demodulation result of the first sub data to be demodulated;
The second acquisition sub-module is used for acquiring a second adjustment strategy and a second compensation strategy corresponding to the target sliding position of the first sliding window, wherein the second adjustment strategy and the second compensation strategy are obtained by pre-determining a conversion relation between a constellation mapping diagram corresponding to a second modulation mode and a constellation mapping diagram corresponding to a third modulation mode;
the second adjustment and compensation sub-module is used for adjusting and compensating the intermediate demodulation result of the first sub-data to be demodulated based on a second adjustment strategy and a second compensation strategy to obtain the intermediate demodulation result of the second sub-data to be demodulated;
the third determining submodule is used for determining a target sliding position of a second sliding window corresponding to the intermediate demodulation result of the second sub-data to be demodulated;
The third acquisition sub-module is used for acquiring a third adjustment strategy and a third compensation strategy corresponding to the target sliding position of the second sliding window, wherein the third adjustment strategy and the third compensation strategy are obtained by pre-determining a conversion relation between a constellation mapping diagram corresponding to a third modulation mode and a constellation mapping diagram corresponding to the first modulation mode;
And the third adjustment and compensation sub-module is used for adjusting and compensating the intermediate demodulation result of the second sub-data to be demodulated based on a third adjustment strategy and a third compensation strategy to obtain a demodulation result corresponding to the data to be demodulated.
Further, the demodulation module 1706 includes:
a fourth obtaining sub-module, configured to obtain a plurality of candidate results obtained by demodulating the first sub-data to be demodulated for a plurality of times, where the first sub-data to be demodulated is input to the target demodulator for a plurality of times;
a calculating sub-module, configured to calculate a sum of absolute values of data corresponding to each candidate result in the plurality of candidate results;
And the fourth determining sub-module is used for determining a candidate result corresponding to the maximum value calculated in the plurality of candidate results as an intermediate demodulation result of the first sub-data to be demodulated.
Further, the data demodulation apparatus 1700 further includes:
the second acquisition module is used for acquiring the hardware bit width supported by the current hardware;
The conversion module is used for converting the data represented by the hard bits, which are compensated in the demodulation result corresponding to the data to be demodulated, into soft bit representation according to the hardware bit width;
And the decoding module is used for inputting the demodulation result corresponding to the converted data to be demodulated to a decoder for decoding to obtain a decoding result.
It should be noted that, the data demodulation apparatus 1700 may implement the steps of the data demodulation method provided in any one of the foregoing method embodiments, and may achieve the same technical effects, which are not described herein in detail.
As shown in fig. 18, an embodiment of the present application further provides an electronic device comprising a processor 1811, a communication interface 1812, a memory 1813 and a communication bus 1814, wherein the processor 1811, the communication interface 1812, the memory 1813 complete communication with each other through the communication bus 1814,
A memory 1813 for storing a computer program;
in one embodiment of the present application, the processor 1811 is configured to implement the steps of the data demodulation method provided in any one of the foregoing method embodiments when executing the program stored in the memory 1813.
The electronic device provided by the embodiment of the application can be a module capable of realizing a communication function or a terminal device comprising the module, and the terminal device can be a mobile terminal or an intelligent terminal. The mobile terminal can be at least one of a mobile phone, a tablet personal computer, a notebook computer and the like, the intelligent terminal can be a terminal containing a wireless communication module such as an intelligent automobile, an intelligent watch, a sharing bicycle and an intelligent cabinet, and the module can be any one of a wireless communication module such as a 2G communication module, a 3G communication module, a 4G communication module, a 5G communication module and an NB-IOT communication module.
The embodiment of the application also provides a computer readable storage medium, on which a computer program is stored, which when executed by a processor implements the steps of the data demodulation method provided in any one of the method embodiments described above.
Embodiments of the present application also provide a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps of the data demodulation method described above.
It should be noted that in this document, relational terms such as "first" and "second" and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises an element.
The foregoing is only a specific embodiment of the application to enable those skilled in the art to understand or practice the application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.