A joint detection and decoding method, device, equipment, medium and product for a MIMO system
Through the joint detection and decoding method of the MIMO system, iterative updates are used to use the initial log likelihood ratio and the preset decoding algorithm to generate more reliable virtual codewords, which solves the problem of low quality of the initial log likelihood ratio when MIMO detection and channel decoding is combined, and improves data detection performance and convergence rate.
Patent Information
- Application Number
- CN202410971910.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-18
- Publication Date
- 2025-09-02
- Estimated Expiration
- 2044-07-18
AI Technical Summary
In the prior art, the combination of MIMO detection and channel decoding results in the low quality of the initial log-likelihood ratio, which leads to a slow convergence speed of the joint detection decoding system.
By conducting joint detection of the received vector, the initial log-likelihood ratio of each bit of each sent symbol is obtained, and iteratively updated using the preset decoding algorithm to generate more reliable virtual codewords and real codewords, and the codeword set is optimized through the European-style distance minimum principle to improve the quality of the virtual codeword list.
The performance of data detection and the convergence rate of joint detection and decoding are improved, and virtual code words that are closer to the real transmit code words are generated, which improves the generation quality of virtual code words lists.
Smart Images

Figure CN118944808B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of wireless communication technology, and in particular to a joint detection and decoding method, device, medium and product for a MIMO system. Background Art
[0002] In baseband signal processing in mobile communication systems, channel coding and Multiple-Input Multiple-Output (MIMO) technology are critical for ensuring high reliability and low latency. Channel coding effectively mitigates noise and interference during transmission by encoding data at the transmitter and decoding it at the receiver. MIMO technology utilizes multiple antennas at both the transmitter and receiver to fully utilize spatial resources and exploit inherent diversity and multiplexing gains. This can exponentially increase system channel capacity without increasing spectrum resources or antenna transmit power. In practical applications, combining MIMO detection with channel decoding can significantly improve the overall performance of communication systems.
[0003] In existing technologies, the quality of virtual codeword sets generated through conventional methods is unreliable, causing the calculated log-likelihood ratios to deviate significantly from the true distribution. This results in low-quality initial log-likelihood ratios fed back to the decoder by MIMO detection, slowing the convergence of the joint detection and decoding system. To enhance the performance of joint detection and decoding in MIMO systems, there is an urgent need to improve and optimize existing technical solutions. Summary of the Invention
[0004] In view of this, the present invention provides a joint detection and decoding method, device, medium and product for a MIMO system, which improves the performance of data detection and the convergence rate of joint detection and decoding.
[0005] According to one aspect of the present invention, an embodiment of the present invention provides a joint detection and decoding method for a MIMO system, the method comprising:
[0006] Performing joint detection on the received vector to obtain an initialized log-likelihood ratio of each bit of each transmitted symbol in the transmitted vector, and using the initialized log-likelihood ratio as the current log-likelihood ratio;
[0007] performing a decoding operation on the current log-likelihood ratio based on a preset decoding algorithm to obtain a virtual codeword and a first real codeword in a current iteration, storing the virtual codeword and the first real codeword in a first codeword set, and storing the first real codeword in a second codeword set;
[0008] Searching for a first target codeword in the first codeword set; wherein a first product of a first transmission vector modulated by the first target codeword and a channel matrix has a minimum Euclidean distance with the reception vector;
[0009] determining a next log-likelihood ratio for joint detection based on a competing codeword corresponding to the first target codeword, using the next log-likelihood ratio as a current log-likelihood ratio, returning to the step of decoding the current log-likelihood ratio based on a preset decoding algorithm, iteratively updating the first codeword set and the second codeword set until a preset number of iterations is reached, and outputting an updated target second codeword set;
[0010] Determine a second target codeword in the target second codeword set, and use the second target codeword as a joint detection decoding result; wherein, a second product result of a second transmission vector modulated by the second target codeword and the channel matrix has a minimum Euclidean distance with the reception vector.
[0011] According to another aspect of the present invention, an embodiment of the present invention further provides a joint detection and decoding device for a MIMO system, the device comprising:
[0012] a current likelihood ratio determination module, configured to detect the received vector to obtain an initialized log-likelihood ratio of each bit of each transmitted symbol in the transmitted vector, and use the initialized log-likelihood ratio as the current log-likelihood ratio;
[0013] a codeword determination module, configured to perform a decoding operation on the current log-likelihood ratio based on a preset decoding algorithm to obtain a virtual codeword and a first true codeword of a current iteration, store the virtual codeword and the first true codeword in a first codeword set, and store the first true codeword in a second codeword set;
[0014] a search module, configured to search for a first target codeword in the first codeword set; wherein a first product of a first transmission vector modulated by the first target codeword and a channel matrix has a minimum Euclidean distance with the reception vector;
[0015] a next likelihood ratio determination module, configured to determine a next log-likelihood ratio for joint detection based on a competing codeword corresponding to the first target codeword, use the next log-likelihood ratio as a current log-likelihood ratio, return to the step of decoding the current log-likelihood ratio based on a preset decoding algorithm, iteratively update the first codeword set and the second codeword set until a preset number of iterations is reached, and output an updated target second codeword set;
[0016] A decoding result determination module is configured to determine a second target codeword in the target second codeword set and use the second target codeword as a joint detection decoding result; wherein a second product of a second transmit vector modulated by the second target codeword and the channel matrix has a minimum Euclidean distance with the receive vector.
[0017] According to another aspect of the present invention, an embodiment of the present invention further provides an electronic device, comprising:
[0018] at least one processor; and
[0019] a memory communicatively connected to the at least one processor; wherein,
[0020] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can perform the joint detection and decoding method for the MIMO system according to any embodiment of the present invention.
[0021] According to another aspect of the present invention, an embodiment of the present invention further provides a computer-readable storage medium storing computer instructions, which are used to enable a processor to implement the joint detection and decoding method of the MIMO system described in any embodiment of the present invention when executed.
[0022] According to another aspect of the present invention, an embodiment of the present invention further provides a computer program product, characterized in that the computer program product includes a computer program, and when the computer program is executed by a processor, it implements the joint detection and decoding method of the MIMO system described in any embodiment of the present invention.
[0023] The technical solution of the embodiment of the present invention performs joint detection on the received vector to obtain an initialization log-likelihood ratio for each bit of each transmitted symbol in the transmitted vector, thereby providing a more reliable initialization log-likelihood ratio as a decoding input. A preset decoding algorithm is used to decode the current log-likelihood ratio to obtain a virtual codeword and the first real codeword of the current iteration. The first real codeword and the virtual codeword are stored according to a strategy. Based on this, a first target codeword is searched in the first codeword set. The next log-likelihood ratio is determined based on the competing codewords of the first target codeword to iteratively update the second codeword set. Ultimately, the second target codeword in the target second codeword set is used as the joint detection decoding result. This generates a virtual codeword with a closer Euclidean distance to the real transmitted codeword, improves the quality of the virtual codeword list generation, facilitates the calculation of the next log-likelihood ratio, and uses the next log-likelihood ratio to iteratively update the second codeword set, thereby improving data detection performance and the convergence rate of joint detection decoding.
[0024] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present invention, nor is it intended to limit the scope of the present invention. Other features of the present invention will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0026] Figure 1 A flowchart of a joint detection and decoding method for a MIMO system provided by one embodiment of the present invention;
[0027] Figure 2 A flowchart of another joint detection and decoding method for a MIMO system provided by one embodiment of the present invention;
[0028] Figure 3 A flowchart of a soft-input, hard-output ORB_GRAND decoding algorithm provided by one embodiment of the present invention;
[0029] Figure 4 A soft-input and soft-output ORBGRAND decoding algorithm process is provided in one embodiment of the present invention;
[0030] Figure 5 A schematic diagram of the overall architecture of joint detection and decoding for a MIMO system provided by one embodiment of the present invention;
[0031] Figure 6 This is a structural block diagram of a joint detection and decoding device for a MIMO system provided by one embodiment of the present invention;
[0032] Figure 7 A schematic structural diagram of an electronic device provided for implementing an embodiment of the present invention. DETAILED DESCRIPTION
[0033] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.
[0034] It should be noted that the terms "first", "second", etc. in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0035] In one embodiment, Figure 1 A flowchart of a joint detection and decoding method for a MIMO system is provided in one embodiment of the present invention. This embodiment is applicable to the case where joint detection and decoding are performed on received transmitted symbols. The method can be executed by a joint detection and decoding device of the MIMO system, and the joint detection and decoding device of the MIMO system can be implemented in the form of hardware and / or software.
[0036] like Figure 1 As shown, the method includes:
[0037] S110 , performing joint detection on the received vector to obtain an initialized log-likelihood ratio of each bit of each transmitted symbol in the transmitted vector, and using the initialized log-likelihood ratio as a current log-likelihood ratio.
[0038] The transmit vector can be understood as the transmit vector obtained by demodulating the codeword of the channel code received by the receiver. The initialization log-likelihood ratio can be understood as the first current log-likelihood ratio of the j-th bit of the i-th transmitted symbol. Because the current log-likelihood ratio is calculated repeatedly, the first calculated current log-likelihood ratio is called the initialization log-likelihood ratio.
[0039] In this embodiment, the MIMO system includes M T transmit antennas and M R The receiving antennas, the channel matrix is H, the modulation order is q, and the total number of transmission vectors sent is M T , the number of bits per transmission vector is 2 q ;make The codeword represents the channel code after encoding by the transmitter, where the channel code may include but is not limited to polar codes, linear block codes, and other channel codes; N is the code length, c i Represented as the i-th codeword, It is represented as the jth bit of the i-th codeword; the transmission vector after modulating the codeword, that is, the transmission vector corresponding to the codeword is expressed as in, s i Represented as the i-th sending vector, It is represented as the jth bit of the i-th transmitted symbol; the receiving vector at the receiving end is
[0040] In this embodiment, the spherical decoding strategy can be used to find an initial transmission vector that meets the preset constraints, and the initial transmission vector can be demodulated to obtain the corresponding demodulation codeword. All demodulation codewords are modulated using a preset modulation method to obtain a first modulation constellation diagram. Based on the first modulation constellation diagram, the channel matrix and the receiving vector, the initialization log-likelihood ratio of each bit of each transmitted symbol is determined, and the initialization log-likelihood ratio is used as the current log-likelihood ratio for iterative calculation. In some embodiments, the receiving vector can also be jointly detected using the MAX-LOG approximation principle and the zero-forcing detection criterion to obtain the initialization log-likelihood ratio of each bit of each transmitted symbol.
[0041] S120: Perform a decoding operation on the current log-likelihood ratio based on a preset decoding algorithm to obtain a virtual codeword and a first real codeword of the current iteration, store the virtual codeword and the first real codeword in a first codeword set, and store the first real codeword in a second codeword set.
[0042] The preset decoding algorithm may include noise guessing random additive noise GRAND, soft-input and soft-output ordered reliability bits guessing random additive noise decoding (Ordered Reliability Bits GRAND, ORBGRAND), and the like.
[0043] In this embodiment, the virtual codeword can also be referred to as a dummy codeword, meaning it is a codeword that fails the parity check constraint during the decoding process. The first real codeword can also be referred to as the first true codeword, meaning it is the first real codeword that passes the parity check constraint during the decoding process. The first codeword set is used to store the virtual codeword and the first real codeword; the second codeword set is used to store the first real codeword. In this embodiment, to facilitate the subsequent determination and reception of virtual codewords with a closer vector Euclidean distance, thereby improving the quality of the generated virtual codeword list, the virtual codeword and the first real codeword can be stored in the first codeword set, while the first real codeword can be stored in the second codeword set.
[0044] In this embodiment, a GRAND algorithm or an ORBGRAND algorithm may be used to decode the current log-likelihood ratio to obtain a virtual codeword and the first true codeword of the current iteration. Specifically, a hard decision is performed on the current log-likelihood ratio to obtain a corresponding decision result. Based on this decision result, the absolute value of the current log-likelihood ratio of the j-th bit of the i-th transmitted symbol is taken and arranged in a certain order to obtain an initial sorting result. For a test noise sequence of a given preset code length, a logical weight corresponding to the test noise sequence is set to generate a target noise sequence that satisfies the corresponding logical weight. The target noise sequence is extracted according to the noise occurrence probability and sorted according to the initial sorting result to obtain a target sorting result. The target noise sequence in the target sorting result is XORed with the decision result to obtain a codeword to be determined. The virtual codeword and the first true codeword are obtained based on whether the codeword to be determined satisfies a preset parity check constraint.
[0045] S130. Search for a first target codeword in the first codeword set; wherein a first product of a first transmission vector modulated by the first target codeword and a channel matrix has a minimum Euclidean distance with the reception vector.
[0046] The first target codeword may be understood as a codeword having the smallest Euclidean distance from the obtained receiving vector.
[0047] In this embodiment, the first codeword set includes all virtual codewords and the first real codeword when performing a decoding operation on the current log-likelihood ratio of the j-th bit of the i-th transmitted symbol. A first target codeword having a minimum Euclidean distance with the received vector is searched in the first codeword set. Specifically, each codeword in the first codeword set is traversed and the selected codewords are modulated in sequence to obtain a corresponding modulation constellation. The geometric shape of the constellation reflects the spatial distribution of the amplitude and phase of the modulated signal. First products of a first transmitted vector modulated by the first target codeword in the modulation constellation and a channel matrix are calculated, and the Euclidean distance between the first product and the received vector is determined. The first transmitted vector having the minimum Euclidean distance is demodulated to obtain the first target codeword, i.e., the first target codeword found in the first codeword set. In this embodiment, the selected codeword is modulated using various modulation schemes including, but not limited to, quadrature amplitude modulation (QAM) and phase-shift keying (PSK), thereby obtaining the corresponding modulation constellation.
[0048] S140. Determine the next log-likelihood ratio for joint detection based on the competing codewords corresponding to the first target codeword, use the next log-likelihood ratio as the current log-likelihood ratio, return to the step of decoding the current log-likelihood ratio based on the preset decoding algorithm, iteratively update the first codeword set and the second codeword set until a preset number of iterations is reached, and output the updated target second codeword set.
[0049] Among them, the next log-likelihood ratio can be understood as the next log-likelihood ratio corresponding to the current log-likelihood ratio of the j-th bit of the i-th transmitted symbol, and can include the first next log-likelihood ratio corresponding to the current log-likelihood ratio, the second next log-likelihood ratio, and so on, until multiple next log-likelihood ratios are reached until the preset number of iterations are reached. In this embodiment, the obtained next log-likelihood ratio will be used as the current log-likelihood ratio, and the decoding operation will be re-performed to iteratively update the first codeword set and the second codeword set until the preset number of iterations is reached. The preset number of iterations in this embodiment is the number of iterations pre-set according to demand, and this embodiment is not limited here.
[0050] In this embodiment, the contention codeword refers to a contention codeword pre-configured for the first target codeword. The contention codeword in this embodiment differs from the first target codeword only in that the bit value of the jth bit of the i-th transmitted symbol in the contention codeword and the first target codeword is different, and the bit values of the other bits except the jth bit are the same. For example, Represents the first target codeword, using represents the competing codeword corresponding to the first target codeword, if is 0111. When calculating the first bit of the i-th transmitted symbol, and The first bit is different, and the other bits are the same, which is represented as 1111.
[0051] In this embodiment, after obtaining the first target codeword, a corresponding competitive codeword is configured for the first target codeword according to a certain rule. Based on the competitive codeword of the first target codeword, a next log-likelihood ratio of the j-th bit of the i-th transmitted symbol for joint detection is determined, and the next log-likelihood ratio is used as the current log-likelihood ratio. Then, the process returns to S120, where a decoding operation is performed on the current log-likelihood ratio of the j-th bit of the i-th transmitted symbol based on a preset decoding algorithm to obtain a virtual codeword and the first real codeword after iteration, thereby updating the first codeword set and the second codeword set. The process then continues to search the first codeword set for the first target codeword having the minimum Euclidean distance with the received vector. The process iterates until a preset number of iterations is reached, and the updated target second codeword set and the target first codeword set are output. Thus, a second target codeword having the minimum Euclidean distance with the received vector is searched in the target second codeword set, and the second target codeword is used as the joint detection decoding result. Specifically, the specific implementation method of determining the next log-likelihood ratio of joint detection may include: first modulating the competing codeword to obtain a competing transmission vector, and determining the next log-likelihood ratio of joint detection based on the competing transmission vector, the receiving vector, the channel matrix and the second modulation constellation diagram corresponding to the first codeword set. Furthermore, the calculation of the next log-likelihood ratio can be divided into two cases. One is when the bit value of the j-th bit of the i-th transmitted symbol in the first target codeword is 1, the next log-likelihood ratio is calculated by the calculation expression of the next log-likelihood ratio corresponding to the bit value of the j-th bit is 1; the other is when the bit value of the j-th bit of the i-th transmitted symbol in the first target codeword is 0, the next log-likelihood ratio is calculated by the calculation expression of the next log-likelihood ratio corresponding to the bit value of the j-th bit is 0.
[0052] S150. Determine a second target codeword in the target second codeword set, and use the second target codeword as a joint detection decoding result; wherein, the second target codeword is modulated into a second product of a second transmission vector and a channel matrix, and has the smallest Euclidean distance with the reception vector.
[0053] In this embodiment, the second target codeword may be understood as a codeword having the smallest Euclidean distance from the obtained received vector.
[0054] In this embodiment, the second codeword set includes non-first true codewords when performing a decoding operation on the current log-likelihood ratio of the j-th bit of the i-th transmitted symbol. A second target codeword having a minimum Euclidean distance with the received vector is searched in the second codeword set. Specifically, all codewords in the second codeword set can be traversed, and the selected codewords can be modulated in sequence to obtain a corresponding modulation constellation diagram. A second product result of a second transmitted vector modulated by the second target codeword in the third modulation constellation diagram and a channel matrix is determined, and a second Euclidean distance between the second product result and the received vector is calculated. The second transmitted vector having the minimum second Euclidean distance is demodulated to obtain the second target codeword.
[0055] The above technical solution of the embodiment of the present invention performs joint detection on the received vector to obtain the current log-likelihood ratio of the j-th bit of the i-th transmitted symbol in the transmitted vector, which can provide a more reliable log-likelihood ratio as a decoding input. The current log-likelihood ratio of the j-th bit of the i-th transmitted symbol is decoded using a preset decoding algorithm to obtain a virtual codeword and a first real codeword, and the real codeword and the virtual codeword are stored according to a strategy. On this basis, a first target codeword is searched in the first codeword set, and a next log-likelihood ratio is determined based on the competing codewords of the first target codeword to iteratively update the first codeword set and the second codeword set. Finally, the second target codeword in the target second codeword set is used as the joint detection decoding result. This can improve the generation quality of the virtual codeword list, facilitate the calculation of the next log-likelihood ratio, and use the next log-likelihood ratio to iteratively update the second codeword set, thereby improving the data detection performance and the convergence rate of the joint detection decoding.
[0056] In one embodiment, Figure 2 A flowchart of another joint detection and decoding method for a MIMO system provided in one embodiment of the present invention. Based on the above embodiments, this embodiment further refines the steps of performing joint detection on a received vector to obtain an initialized log-likelihood ratio for each bit of each transmitted symbol in a transmitted vector; performing a decoding operation on the current log-likelihood ratio based on a preset decoding algorithm to obtain a virtual codeword and the first real codeword in the current iteration; searching for a first target codeword in a first codeword set; determining a next log-likelihood ratio for joint detection based on competing codewords of the first target codeword; and determining a second target codeword in a target second codeword set.
[0057] like Figure 2 As shown, the joint detection and decoding method for the MIMO system in this embodiment may specifically include the following steps:
[0058] S210 , searching for an initial transmission vector that meets a preset constraint condition from the received vector according to a preset spherical decoding strategy, and demodulating the initial transmission vector to obtain a corresponding demodulation codeword.
[0059] The preset spherical decoding strategy can be understood as a signal decoding algorithm used in MIMO communication systems, primarily for decoding complex received signals to recover transmitted information. In this embodiment, the preset spherical decoding strategy can efficiently find the most likely transmitted symbol combination in a MIMO system, thereby reducing decoding complexity. This can be understood as constructing a "sphere" on the complex plane. Then, by gradually decreasing the radius of the sphere, the received signal points are compared with possible transmitted symbol points to find the most likely transmitted symbol combination.
[0060] In this embodiment, the preset constraint condition can be understood as a configured search radius, and the initial transmission vector can be understood as an initial transmission vector whose transmission vector satisfies the preset constraint condition. In this embodiment, an appropriate search radius R can be set, and the received vector and the transmitted vector are compared according to a preset spherical decoding strategy to find an initial transmission vector that meets the preset constraint condition, and the initial transmission vector is demodulated to obtain a corresponding demodulation codeword. Specifically, the formula L = {c:s = mod(c), rH*s < R} can be used to find all initial transmission vectors that meet the constraint condition, and then demodulate to obtain the corresponding codeword, and store the codeword in a set, where L represents the set, c represents the codeword, s represents the transmission vector corresponding to c, Mod represents the modulation symbol, R represents the set radius, r represents the received vector, and H represents the channel matrix.
[0061] S220: Modulate all demodulation codewords using a preset modulation method to obtain a first modulation constellation.
[0062] Among them, the preset modulation mode may include but is not limited to QAM modulation, PSK modulation and other modulation modes. Of course, QAM modulation can include 4QAM modulation, 16QAM modulation and 64QAM modulation; PSK modulation can include QPSK modulation, BPSK modulation and other modes. This embodiment does not limit this.
[0063] In this embodiment, one of multiple modulation schemes such as QAM modulation and PSK modulation can be selected according to requirements to modulate all demodulation codewords to obtain a first modulation constellation diagram, wherein the first modulation constellation diagram is a modulation constellation diagram corresponding to a transmission vector that meets preset constraints.
[0064] S230 : Determine an initialized log-likelihood ratio of each bit of each transmitted symbol based on the first modulation constellation, the channel matrix, and the received vector, and use the initialized log-likelihood ratio as the current log-likelihood ratio.
[0065] In this embodiment, an initialization log-likelihood ratio of the j-th codeword in the i-th transmitted symbol is determined based on the first modulation constellation, the channel matrix, and the received vector. The initialization log-likelihood ratio is the first natural log-likelihood ratio. More specifically, the current log-likelihood ratio of the j-th codeword in the i-th transmitted symbol is calculated as follows:
[0066] Where, It is represented as a modulation constellation obtained by performing modulation based on the bit values of the bits other than the j-th bit when the j-th bit of the i-th transmission symbol in the first modulation constellation is fixed to the first bit value 1; It is represented as the modulation constellation obtained by modulating the bit values of the bits other than the j-th bit when the j-th bit of the i-th transmitted symbol in the first modulation constellation is fixed to the second bit value 0; s1 is represented as the modulation constellation obtained by modulating the bit values of the bits other than the j-th bit. The sending vector selected from The selected transmission vector; r represents the receiving vector; H represents the channel matrix; N represents the code length; ||·|| 2 Expressed as the square of the norm; where, It is represented as the next log-likelihood ratio corresponding to the current log-likelihood ratio; M T Indicates the total number of transmit antennas in a MIMO system.
[0067] It should be noted that when the current log-likelihood ratio is first calculated, and The value of both is 0, which means that when the current log-likelihood ratio is calculated for the first time, the next log-likelihood ratio in the formula is 0; when the current log-likelihood ratio is not calculated for the first time, The value of is the accumulation of the current log-likelihood ratio calculated in each iteration, The value of is the current log-likelihood ratio calculated in the last iteration. It can be understood that if it is not the first time to calculate the current log-likelihood ratio, for example, the second time to calculate the current log-likelihood ratio, the current log-likelihood ratio calculated in the last iteration is substituted into the formula to calculate llr i,j , at this time, the formula and is the current log-likelihood ratio calculated last time.
[0068] S240 . Perform a hard decision on the current log-likelihood ratio of the j-th bit of the i-th transmitted symbol to obtain a first decision result.
[0069] In this embodiment, the hard decision can be determined and output by setting a threshold. Specifically, when the current log-likelihood ratio of the j-th bit of the i-th transmitted symbol is greater than 0, the decision is 1, and when the current log-likelihood ratio of the j-th bit of the i-th transmitted symbol is less than 0, the decision is 0. The first decision result in this embodiment can be expressed in the form of binary 0 and 1.
[0070] S250 . Determine the sign function value of the current log-likelihood ratio according to the first judgment result, take the absolute value of the sign function value, and arrange the absolute values to obtain an initial sorting result.
[0071] In this embodiment, whether the sign function value of the current log-likelihood ratio is positive or negative is determined based on the first hard decision result. Specifically, the relationship between the first hard decision result y and the current log-likelihood ratio can be expressed as follows: Among them, sign(LLR) represents the sign function value of the current log-likelihood ratio. When LLR ≥ 0, sign(LLR) = 1, otherwise, sign(LLR) = -1. After obtaining the sign function of the current log-likelihood ratio, the absolute value of the current log-likelihood ratio of the j-th bit of the i-th transmitted symbol is taken. The magnitude of the absolute value characterizes the reliability of the current log-likelihood ratio. The absolute values are arranged to obtain the initial sorting result, and the sorted subscript I is recorded.
[0072] S260. For a test noise sequence with a given preset code length, determine the minimum logical weight and the maximum logical weight corresponding to the test noise sequence, traverse the test noise sequence from the minimum logical weight to the maximum logical weight to generate a target noise sequence that satisfies the corresponding logical weight, and store the target noise sequence in the noise sequence set.
[0073] The preset code length refers to the code length corresponding to the channel code. The target noise sequence is a noise sequence that satisfies the logical weight.
[0074] In this embodiment, the test noise sequence is a binary sequence, and the sum of the subscripts of the positions of the non-zero elements in the binary sequence corresponds to a logical weight. For example, for a binary test noise sequence of length 4, the logical weight is defined as the sum of the subscripts of the non-zero elements. If the binary sequence consists of 4 0000s, i.e., there are no non-zero elements, the logical weight is 0; if the binary sequence is 1000, the logical weight is 1; if the binary sequence is 0100, the logical weight is 2; and if the binary sequence is 1111, the logical weight is 10. In this embodiment, because noise sequences with small logical weights have a higher probability of occurrence than noise sequences with large logical weights, the test noise sequence is traversed from the smallest logical weight to the largest logical weight to generate a target noise sequence that satisfies the corresponding logical weights, thereby ensuring that the decoding result is maximum likelihood decoding.
[0075] In this embodiment, for a test noise sequence of a given preset code length, the corresponding minimum and maximum logical weights are the default logical weights, where the minimum logical weight of the noise sequence is 0, and the maximum logical weight of the noise sequence is calculated as N(N+1) / 2, where N is the code length. The minimum and maximum logical weights corresponding to the test noise sequence are determined from 0 to N(N+1) / 2, and the test noise sequence is traversed from the minimum to the maximum logical weight to generate a target noise sequence that meets the corresponding logical weights. The target noise sequence is then stored in the noise sequence set.
[0076] S270 , sequentially extracting target noise sequences from the noise sequence set according to the noise occurrence probability, and rearranging the target noise sequences according to the sorting subscripts in the initial sorting result to obtain a target sorting result.
[0077] In this embodiment, target noise sequences are sequentially extracted from the noise sequence set according to the noise occurrence probability, wherein the first noise sequence extracted is an all-zero sequence, and the occurrence probability of the noise sequence extracted first is not lower than the occurrence probability of the noise sequence extracted later. At the same time, the target noise sequence is rearranged according to the sorting subscript in the initial sorting result to obtain a target sorting result, which is the new noise sequence.
[0078] S280 , performing an XOR operation on the target noise sequence in the target sorting result and the first decision result to obtain a codeword to be decided.
[0079] In this embodiment, an XOR operation is performed on the arranged new noise sequence and the first decision result to obtain a codeword to be determined, and a preset check matrix of the channel code and the codeword to be determined obtained by the XOR operation are multiplied to verify whether the codeword to be determined meets the parity check constraint.
[0080] S290 , judging whether the codeword to be determined satisfies a preset parity check constraint according to a preset channel code check matrix; if so, executing S2100 ; if not, executing S2110 .
[0081] The preset channel code check matrix is a check matrix corresponding to the channel code. Different channel codes correspond to different check matrices. After the code length of the channel code is determined, the preset channel code check matrix is determined. In this embodiment, the preset channel code check matrix is a constant.
[0082] In this embodiment, whether the codeword to be determined satisfies the preset parity check constraint is determined based on the preset channel code check matrix. If so, the first codeword that satisfies the parity check constraint is output as the first real codeword; wherein the first real codeword is the first real codeword that satisfies the preset parity check constraint. If not, the codeword that does not satisfy the parity check constraint is output as a virtual codeword, and the process returns to step S270 until all codewords to be determined are determined.
[0083] S2100 : Output the first codeword that satisfies the parity check constraint as the first true codeword.
[0084] In this embodiment, when the codeword to be determined satisfies the preset parity check constraint, the first codeword that satisfies the parity check constraint is output as the first true codeword.
[0085] S2110: Output the codeword that does not satisfy the parity check constraint as a virtual codeword, and return to step S270 until all the codewords to be determined are determined.
[0086] In this embodiment, when the codeword to be determined does not satisfy the preset parity check constraint, the codeword that does not satisfy the parity check constraint is output as a virtual codeword, and the process returns to step S270 until all codewords to be determined are determined.
[0087] For example, to facilitate a better understanding, the soft-input hard-output ORB_GRAND decoding algorithm is used to perform a decoding operation on the current log-likelihood ratio of the j-th bit of the i-th transmitted symbol to obtain a virtual codeword and the first real codeword of the current iteration. Figure 3 This is a flowchart of a soft-input hard-output ORB_GRAND decoding algorithm provided by one embodiment of the present invention. Figure 3 As shown, the specific steps are as follows:
[0088] a1. Initialize the preset check matrix of the channel code, the current log-likelihood ratio of the receiving end, and the hard decision result of the current log-likelihood ratio (ie, the first decision result), thereby determining the sign function value of the current log-likelihood ratio.
[0089] a2. Arrange the absolute values of the sign function values of the current log-likelihood ratio in ascending order and record the subscript I after sorting.
[0090] a3. For a given noise sequence, first generate an unordered noise sequence and store it in the L1 set.
[0091] a4. Based on the sorted subscript I, the disordered noise sequence in the L1 set is rearranged to obtain an ordered target noise sequence.
[0092] a5. Perform an XOR operation on the target noise sequence and the hard decision result y to obtain the codeword to be decided.
[0093] a6. Determine whether the codeword to be determined satisfies the preset parity check constraint based on the preset channel code check matrix. If so, execute a7; if not, execute a8 and return to a4 until all codewords to be determined are determined.
[0094] a7. Output the first codeword that satisfies the parity check constraint as the first true codeword.
[0095] a8. Output the codeword that does not satisfy the parity check constraint as a dummy codeword.
[0096] S2120: Store the virtual codeword and the first real codeword in a first codeword set, and store the first real codeword in a second codeword set.
[0097] S2130. Traverse all codewords in the first codeword set and modulate all codewords using a preset modulation method to obtain a second modulation constellation; wherein the second modulation constellation includes first transmission vectors corresponding to all codewords in the first codeword set.
[0098] In this embodiment, all codewords in the first codeword set are traversed, and all codewords are modulated using a preset modulation method to obtain a second modulation constellation diagram; the preset modulation method in this embodiment includes but is not limited to QAM modulation, PSK modulation and other modulation methods. Of course, QAM modulation can include 4QAM modulation, 16QAM modulation and 64QAM modulation; PSK modulation can include QPSK modulation, BPSK modulation and other methods, which are not limited in this embodiment.
[0099] S2140. Determine the first product results of each first transmission vector in the second modulation constellation diagram and the channel matrix, calculate the first Euclidean distance between the first product result and the receiving vector, and demodulate the target first transmission vector with the smallest first Euclidean distance to obtain the first target codeword.
[0100] In this embodiment, first product results of each first transmission vector in the second modulation constellation and the channel matrix are determined, a first Euclidean distance between the first product result and the received vector is calculated, and the target first transmission vector with the smallest first Euclidean distance is demodulated to obtain a first target codeword. Of course, the first product result in this embodiment is expressed in the form of a vector. More specifically, a formula for determining the target first transmission vector in this embodiment is expressed as: Where r represents the receiving vector; H represents the channel matrix; Represented as the second modulation constellation diagram; s 1 Represented as the first sent vector; argmin is used to represent the parameter value of a function that achieves the minimum value in its domain; ||·|| 2 Expressed as the squared norm.
[0101] S2150: Modulate the contention codeword to obtain a contention transmission vector.
[0102] In this embodiment, a contention codeword is modulated to obtain a contention transmission vector. The contention codeword is a contention codeword corresponding to a pre-configured first target codeword. It should be noted that the j-th bit value of the i-th transmitted symbol in the contention codeword and the first target codeword is different, and the bit values of all bits other than the j-th bit are the same.
[0103] S2160, determine the next log-likelihood ratio of joint detection based on the competing transmit vector, receive vector, channel matrix, and the second modulation constellation corresponding to the first codeword set, and use the next log-likelihood ratio as the current log-likelihood ratio, return to step S240 to iteratively update the second codeword set until a preset number of iterations is reached, and output the updated target second codeword set.
[0104] In this embodiment, the next log-likelihood ratio can be calculated in two cases, one is when the bit value of the j-th bit of the i-th transmitted symbol in the first target codeword is 1, and the other is when the bit value of the j-th bit of the i-th transmitted symbol in the first target codeword is 0. The calculated next log-likelihood ratio is used as the current log-likelihood ratio to iteratively update the second codeword set until a preset number of iterations is reached, and the updated target second codeword set is output.
[0105] Specifically, when the bit value of the j-th bit of the i-th transmitted symbol in the first target codeword is 1, the expression for calculating the next log-likelihood ratio of the joint detection is expressed as follows: Where, It is represented as a set of modulation constellations obtained by performing modulation based on the bit values of the bits other than the j-th bit when the j-th bit in the i-th transmitted symbol in the second modulation constellation is fixed to the first bit value 0; It represents a set of modulation constellations obtained by performing modulation based on bit values of bits other than the j-th bit when the j-th bit in the i-th transmitted symbol in the second modulation constellation is fixed to the second bit value 1; It represents the target first transmitted symbol; Expressed as The contention sending vector; s3 is represented by The sending vector selected from The selected transmission vector; r represents the received symbol; H represents the channel matrix; ||·|| 2 Expressed as the squared norm.
[0106] Specifically, when the bit value of the j-th bit of the i-th transmitted symbol in the first target codeword is 0, the expression for calculating the next log-likelihood ratio of the joint detection is expressed as follows: Where, The second modulation constellation diagram is represented as a set of modulation constellations obtained by performing modulation based on the bit values of the bits other than the j-th bit when the j-th bit in the i-th transmission symbol in the modulation constellation diagram is fixed to the second bit value 1; It is represented as the modulation constellation obtained by modulating the bit values of the bits other than the jth bit when the jth bit in the i-th transmitted symbol in the second modulation constellation is fixed to the first bit value 0. Denotes the target first sending vector; Expressed as The contention sending vector; s3 is represented by The sending vector selected from The selected transmission vector; r represents the receiving vector; H represents the channel matrix; ||·|| 2 Expressed as the squared norm.
[0107] S2170. Traverse all codewords in the target second codeword set and modulate all codewords using a preset modulation method to obtain a third modulation constellation; wherein the third modulation constellation includes second transmission vectors corresponding to all codewords in the second codeword set.
[0108] In this embodiment, all codewords in the target second codeword set are traversed, and all codewords are modulated using a preset modulation method to obtain a third modulation constellation diagram; wherein the third modulation constellation diagram includes second transmission vectors corresponding to all codewords in the second codeword set.
[0109] S2180. Determine the second product results of each second transmission vector in the third modulation constellation diagram and the channel matrix, calculate the second Euclidean distance between the second product result and the receiving vector, and demodulate the target second transmission vector with the smallest second Euclidean distance to obtain a second target codeword, and use the second target codeword as the joint detection decoding result.
[0110] In this embodiment, the second product results of each second transmission vector in the third modulation constellation and the channel matrix are determined, a second Euclidean distance between the second product results and the received vector is calculated, and a target second transmission vector whose second Euclidean distance reaches a preset second distance threshold is demodulated to obtain a second target codeword, which is used as the joint detection decoding result. Of course, the second product results in this embodiment are expressed in the form of a vector. Specifically, the formula for determining the target second transmission vector in this embodiment is expressed as: Where r represents the receiving vector; H represents the channel matrix; Represented as the third modulation constellation diagram; s 2 Represented as the second sent vector; argmin is used to represent the parameter value of a function that achieves the minimum value in its domain; ||·|| 2 Expressed as the squared norm.
[0111] The above technical solution of this embodiment uses a preset spherical decoding strategy to search for an initial transmission vector that meets preset constraints from pre-acquired received symbols, demodulate the initial transmission vector to obtain a corresponding demodulation codeword, modulate all demodulation codewords using a preset modulation method to obtain a first modulation constellation diagram, and determine the initialization log-likelihood ratio of the j-th codeword in the i-th transmitted symbol based on the first modulation constellation diagram, the channel matrix, and the received vector, which can further provide a more reliable initialization log-likelihood ratio as a decoding input; by making a hard decision on the current log-likelihood ratio of the j-th bit of the i-th transmitted symbol and arranging the noise sequence in order, The hard decision result and the ordered noise sequence are subjected to an exclusive-OR operation to obtain a codeword to be determined. Whether the codeword to be determined satisfies a preset parity check constraint is determined to output the first real codeword and virtual codeword of the current iteration. A first target codeword is searched in the first codeword set. The next log-likelihood ratio of joint detection is determined based on the competing codewords of the first target codeword, and the second target codeword in the target second codeword set is determined. This can further improve the generation quality of the virtual codeword list, facilitate the calculation of the next log-likelihood ratio, and iteratively update the second codeword set using the next log-likelihood ratio, thereby improving data detection performance and the convergence rate of joint detection decoding.
[0112] In one embodiment, to facilitate a better understanding of the process of the joint detection and decoding method of the MIMO system, Figure 4 A soft input and soft output ORBGRAND decoding algorithm process is provided in one embodiment of the present invention. Figure 4 As shown, the specific steps are as follows:
[0113] b1. Perform joint detection on the received transmission vector to obtain the initialized log-likelihood ratio of the j-th bit of the i-th transmission symbol in the corresponding transmission vector.
[0114] b2. Perform a decoding operation on the current log-likelihood ratio of the j-th bit of the i-th transmitted symbol based on a preset decoding algorithm to obtain a virtual codeword and a real codeword, and store the virtual codeword and the first real codeword in set L2, and store the non-first real codeword in set L3.
[0115] b3. Search the set L2 for the codeword with the minimum Euclidean distance to the pre-acquired received vector.
[0116] b4. Codeword-based The competing codewords determine the next log-likelihood ratio of the joint detection (ie, the soft output of the decoding module).
[0117] b5. Determine whether the maximum number of iterations has been reached. If so, execute b6; if not, execute b8.
[0118] b6. Output the updated set L3 and search in the set L3 for the codeword c whose Euclidean distance to the previously acquired received vector is the minimum. * .
[0119] b7. Output the codeword c with the minimum Euclidean distance * , as the joint detection decoding result.
[0120] b8. Use the next log-likelihood ratio (i.e., the soft output of the decoding module) as the current log-likelihood ratio (i.e., the soft input of the decoding module), and return to step b2 to iterate until the preset number of iterations is reached.
[0121] In one embodiment, to better understand the overall architecture flow of joint detection and decoding in a MIMO system, Figure 5 FIG1 is a schematic diagram of the overall structure of the joint detection decoding of a MIMO system provided by an embodiment of the present invention. Figure 5 As shown, the joint detection and decoding system of the MIMO system includes: an initialization module 510, a MIMO detection module 520, a decoding module 530 and a decision module 540;
[0122] For the iterative joint detection decoding system, the maximum number of iterations is set. When the first iteration is performed, the soft signal provided by the ORBGRAND decoding module is and Assign a value of 0 and substitute it into the formula Calculate llr i,j , and llr i,j Initialization is the soft information sent by the MIMO detection module to the ORBGRAND decoding module. For subsequent iterations, the soft information output by the ORBGRAND module in the previous iteration is used as feedback to calculate the llr i,j , and llr i,j As the soft information sent to the ORBGRAND decoding module by the MIMO detection module in the current iteration. In the above formula, It is represented as a modulation constellation obtained by performing modulation based on the bit values of the bits other than the j-th bit when the j-th bit of the i-th transmission symbol in the first modulation constellation is fixed to the first bit value 1; It is represented as the modulation constellation obtained by modulating the bit values of the bits other than the j-th bit when the j-th bit of the i-th transmitted symbol in the first modulation constellation is fixed to the second bit value 0; s1 is represented as the modulation constellation obtained by modulating the bit values of the bits other than the j-th bit. The transmission symbol selected from The selected transmission vector; r represents the receiving vector; H represents the channel matrix; N represents the code length; ||·|| 2 Expressed as the square of the norm; where, It is expressed as the next log-likelihood ratio corresponding to the current log-likelihood ratio.
[0123] In one embodiment, Figure 6 This is a structural block diagram of a joint detection decoding device for a MIMO system provided by an embodiment of the present invention. The device is suitable for performing joint detection decoding on a received transmission vector. The device can be implemented by hardware / software. Figure 6 As shown, the apparatus includes: a current likelihood ratio determination module 610 , a codeword determination module 620 , a search module 630 , a next likelihood ratio determination module 640 and a decoding result determination module 650 .
[0124] The current likelihood ratio determination module 610 is configured to perform joint detection on the received vector to obtain an initialized log-likelihood ratio of each bit of each symbol in the transmitted vector, and use the initialized log-likelihood ratio as the current log-likelihood ratio;
[0125] a codeword determination module 620 configured to perform a decoding operation on the current log-likelihood ratio based on a preset decoding algorithm to obtain a virtual codeword and a first true codeword of a current iteration, store the virtual codeword and the first true codeword in a first codeword set, and store true codewords other than the first true codeword in a second codeword set;
[0126] a search module 630 configured to search for a first target codeword in the first codeword set, wherein a first product of a first transmit vector modulated by the first target codeword and a channel matrix has a minimum Euclidean distance with the receive vector;
[0127] a next likelihood ratio determination module 640 configured to determine a next log-likelihood ratio for joint detection based on competing codewords of the first target codeword, use the next log-likelihood ratio as the current log-likelihood ratio, return to the step of decoding the current log-likelihood ratio based on the preset decoding algorithm, iteratively update the first codeword set and the second codeword set until a preset number of iterations is reached, and output an updated target second codeword set;
[0128] The decoding result determination module 650 is used to determine the second target codeword in the target second codeword set and use the second target codeword as the joint detection decoding result; wherein the second product result of the second transmission vector modulated by the second target codeword and the channel matrix has the smallest Euclidean distance with the received symbol.
[0129] In this embodiment, the current likelihood ratio determination module performs joint detection on the received vector to obtain a current log-likelihood ratio for each bit of each transmitted symbol, thereby providing a more reliable log-likelihood ratio as a decoding input. The next likelihood ratio determination module decodes the current log-likelihood ratio using a preset decoding algorithm to obtain a virtual codeword and the first real codeword of the current iteration. The real codeword and the virtual codeword are stored according to a strategy. Based on this, the module searches for a first target codeword in the first codeword set, determines a next log-likelihood ratio based on competing codewords of the first target codeword, and iteratively updates the second codeword set. Ultimately, the second target codeword in the target second codeword set is used as the joint detection decoding result. This module generates a virtual codeword with a closer Euclidean distance to the real transmitted codeword, thereby improving the quality of the generated virtual codeword list, facilitating the calculation of the next log-likelihood ratio, and iteratively updating the second codeword set, thereby providing better data detection performance and achieving a faster convergence rate.
[0130] In one embodiment, initializing the likelihood ratio determination module 610 includes:
[0131] a search unit, configured to search the received vector for an initial transmission vector that meets preset constraints according to a preset spherical decoding strategy, and demodulate the initial transmission vector to obtain a corresponding demodulation codeword;
[0132] a constellation determining unit, configured to modulate all demodulation codewords using a preset modulation scheme to obtain a first modulation constellation;
[0133] The current log-likelihood ratio determination unit is configured to determine an initialized log-likelihood ratio of each bit of each transmitted symbol based on the first modulation constellation, the channel matrix, and the received vector.
[0134] In one embodiment, the formula for calculating the current log-likelihood ratio of each bit in each transmitted symbol is the same as that in the above embodiment.
[0135] In one embodiment, the codeword determination module 620 includes:
[0136] A first decision module is configured to perform a hard decision on a current log-likelihood ratio of the j-th bit of the i-th transmitted symbol to obtain a first decision result;
[0137] a sorting unit, configured to determine a sign function value of the current log-likelihood ratio according to the first judgment result, take an absolute value of the sign function value, and arrange the absolute values to obtain an initial sorting result;
[0138] a noise generation unit, configured to determine, for a test noise sequence of a given preset code length, a minimum logical weight and a maximum logical weight corresponding to the test noise sequence, traverse the test noise sequence from the minimum logical weight to the maximum logical weight to generate a target noise sequence satisfying the corresponding logical weights, and store the target noise sequence in a noise sequence set; wherein the test noise sequence is a binary sequence, and the sum of the subscripts of the positions of the non-zero elements of the binary sequence corresponds to the logical weight;
[0139] a reordering unit, configured to sequentially extract target noise sequences from the noise sequence set according to noise occurrence probabilities, and rearrange the target noise sequences according to the sorting subscripts in the initial sorting result to obtain a target sorting result;
[0140] an XOR operation unit, configured to perform an XOR operation on the target noise sequence in the target sorting result and the first decision result to obtain a codeword to be decided;
[0141] A judging unit, configured to judge whether the codeword to be judged satisfies a preset parity check constraint according to a preset channel code check matrix;
[0142] A first result unit is configured to output a first codeword satisfying the parity check constraint as a first true codeword if is satisfied;
[0143] The second result unit is used to output the codeword that does not meet the parity check constraint as a virtual codeword if it is not satisfied, and return to the step of sequentially extracting the target noise sequence from the noise sequence set according to the noise occurrence probability until all the codewords to be determined are determined.
[0144] In one embodiment, the search module 630 includes:
[0145] a constellation determining unit, configured to traverse all codewords in the first codeword set and modulate all codewords using a preset modulation scheme to obtain a second modulation constellation; wherein the second modulation constellation includes first transmission vectors corresponding to all codewords in the first codeword set;
[0146] The first distance determination unit is used to determine the first product results of each of the first transmission vectors in the second modulation constellation diagram and the channel matrix, calculate the first Euclidean distance between the first product result and the receiving vector, and demodulate the target first transmission symbol with the smallest first Euclidean distance to obtain a first target codeword.
[0147] In one embodiment, the contention codeword is a pre-configured contention codeword corresponding to the first target codeword; wherein the contention codeword and the first target codeword have different bit values of the j-th bit of the i-th transmitted symbol, and the bit values of the other bits except the j-th bit are the same;
[0148] Accordingly, the next likelihood ratio determination module 640 includes:
[0149] a modulation unit, configured to modulate the contention codeword to obtain a contention transmission vector;
[0150] A next log-likelihood ratio determination unit is configured to determine a next log-likelihood ratio for joint detection based on the contention transmission vector, the reception vector, the channel matrix, and a second modulation constellation corresponding to the first codeword set.
[0151] In one embodiment, when the bit value of the j-th bit of the i-th transmitted symbol in the first target codeword is 1, the calculation formula for the next log-likelihood ratio of the joint detection is the same as the above embodiment;
[0152] When the bit value of the j-th bit of the i-th symbol in the first target codeword is 0, the calculation formula for the next log-likelihood ratio of the joint detection is the same as the above embodiment.
[0153] In one embodiment, the decoding result determination module 650 includes:
[0154] a constellation determining unit, configured to traverse all codewords in the target second codeword set and modulate all codewords using a preset modulation scheme to obtain a third modulation constellation; wherein the third modulation constellation includes second transmission vectors corresponding to all codewords in the second codeword set;
[0155] A demodulation unit is used to determine the second product results of each second sending vector in the third modulation constellation diagram and the channel matrix, calculate the second Euclidean distance between the second product result and the receiving vector, and demodulate the target second sending vector with the smallest second Euclidean distance to obtain a second target codeword.
[0156] The joint detection and decoding apparatus for a MIMO system provided in an embodiment of the present invention can execute the joint detection and decoding method for a MIMO system provided in any embodiment of the present invention, and has corresponding functional modules and beneficial effects of the execution method.
[0157] In one embodiment, Figure 7A schematic diagram of the structure of an electronic device provided for implementing an embodiment of the present invention. The electronic device 10 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or claimed herein.
[0158] like Figure 7 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., which is communicatively connected to the at least one processor 11. The memory stores a computer program that can be executed by the at least one processor. The processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 into the random access memory (RAM) 13. Various programs and data required for the operation of the electronic device 10 can also be stored in the RAM 13. The processor 11, ROM 12, and RAM 13 are connected to each other via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0159] Multiple components in the electronic device 10 are connected to the I / O interface 15, including an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a magnetic disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0160] The processor 11 may be any general-purpose and / or specialized processing component with processing and computing capabilities. Examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as the joint detection and decoding method for a MIMO system.
[0161] In some embodiments, the joint detection and decoding method for a MIMO system may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as the storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the joint detection and decoding method for a MIMO system described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform the joint detection and decoding method for a MIMO system in any other appropriate manner (e.g., by means of firmware).
[0162] Various embodiments of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0163] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the computer program is executed by the processor, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The computer program may be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0164] In the context of the present invention, computer-readable storage media can be tangible media that can contain or store a computer program for use with an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. Computer-readable storage media can include but are not limited to electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, computer-readable storage media can be machine-readable signal media. More specific examples of machine-readable storage media can include electrical connections based on one or more lines, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disk read-only memories (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0165] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0166] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0167] A computing system may include clients and servers. The clients and servers are typically remote from each other and typically interact via a communication network. This client-server relationship arises through computer programs running on the respective computers, creating a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host. This server is a hosting product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosting and VPS services.
[0168] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in the present invention can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved. This is not limited herein.
[0169] The above specific embodiments do not limit the scope of protection of the present invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention are intended to be included within the scope of protection of the present invention.
Claims
1. A joint detection and decoding method for a MIMO system, characterized in that: The method comprises: Performing joint detection on the received vector to obtain an initialized log-likelihood ratio of each bit of each transmitted symbol in the transmitted vector, and using the initialized log-likelihood ratio as the current log-likelihood ratio; performing a decoding operation on the current log-likelihood ratio based on a preset decoding algorithm to obtain a virtual codeword and a first real codeword in a current iteration, storing the virtual codeword and the first real codeword in a first codeword set, and storing the first real codeword in a second codeword set; Searching for a first target codeword in the first codeword set; wherein a first product of a first transmission vector modulated by the first target codeword and a channel matrix has a minimum Euclidean distance with the reception vector; determining a next log-likelihood ratio for joint detection based on a competing codeword corresponding to the first target codeword, using the next log-likelihood ratio as a current log-likelihood ratio, returning to the step of decoding the current log-likelihood ratio based on a preset decoding algorithm, iteratively updating the first codeword set and the second codeword set until a preset number of iterations is reached, and outputting an updated target second codeword set; Determine a second target codeword in the target second codeword set, and use the second target codeword as a joint detection decoding result; wherein, a second product result of a second transmission vector modulated by the second target codeword and the channel matrix has a minimum Euclidean distance with the reception vector.
2. The method according to claim 1, characterized in that The performing joint detection on the received vector to obtain the initialized log-likelihood ratio of each bit of each transmitted symbol in the transmitted vector includes: searching, from the received vectors, for an initial transmit vector that meets preset constraints according to a preset spherical decoding strategy, and demodulating the initial transmit vector to obtain a corresponding demodulated codeword; Modulating all demodulation code words using a preset modulation method to obtain a first modulation constellation diagram; An initialized log-likelihood ratio of each bit of each transmitted symbol is determined based on the first modulation constellation, the channel matrix, and the reception vector.
3. The method according to claim 2, characterized in that Calculate the current log-likelihood ratio of each bit in each transmitted symbol using the following formula: Where, It represents a modulation constellation obtained by performing modulation based on the bit values of the bits other than the j-th bit when the j-th bit of the i-th transmission symbol in the first modulation constellation is fixed to the first bit value 1; It represents the modulation constellation obtained by performing modulation based on the bit values of the bits other than the j-th bit when the j-th bit of the i-th transmission symbol in the first modulation constellation is fixed to the second bit value 0; s1 represents the modulation constellation obtained by performing modulation based on the bit values of the bits other than the j-th bit in the first modulation constellation; The sending vector selected from The selected transmission vector; r represents the receiving vector; H represents the channel matrix; N represents the code length; ||·|| 2 Expressed as the square of the norm; where, It is represented as the next log-likelihood ratio corresponding to the current log-likelihood ratio; Among them, when the current log-likelihood ratio is calculated for the first time, and The value is 0; M T Indicates the total number of transmitting antennas in the MIMO system; When the current log-likelihood ratio is not calculated for the first time, The value of is the accumulation of the current log-likelihood ratio calculated in each iteration, The value of is the current log-likelihood ratio calculated in the last iteration.
4. The method according to claim 1, wherein The decoding operation on the current log-likelihood ratio based on a preset decoding algorithm to obtain a virtual codeword and a first real codeword in a current iteration includes: Performing a hard decision on the current log-likelihood ratio of the j-th bit of the i-th transmitted symbol to obtain a first decision result; Determining a sign function value of the current log-likelihood ratio according to the first judgment result, taking an absolute value of the sign function value, and arranging the absolute values to obtain an initial sorting result; For a test noise sequence of a given preset code length, determining a minimum logical weight and a maximum logical weight corresponding to the test noise sequence, traversing the test noise sequence from the minimum logical weight to the maximum logical weight to generate a target noise sequence that satisfies the corresponding logical weights, and storing the target noise sequence in a noise sequence set; wherein the test noise sequence is a binary sequence, and the sum of the subscripts of the positions of the non-zero elements of the binary sequence corresponds to the logical weight; Sequentially extracting target noise sequences from the noise sequence set according to noise occurrence probabilities, and rearranging the target noise sequences according to the sorting subscripts in the initial sorting result to obtain a target sorting result; Performing an XOR operation on the target noise sequence in the target sorting result and the first decision result to obtain a codeword to be decided; Determining whether the codeword to be determined satisfies a preset parity check constraint according to a preset channel code check matrix; If it is satisfied, the first codeword that satisfies the parity check constraint is output as the first true codeword; If not, the codeword that does not meet the parity check constraint is output as a virtual codeword, and the process returns to the step of sequentially extracting target noise sequences from the noise sequence set according to the noise occurrence probability until all codewords to be determined are determined.
5. The method according to claim 1, wherein The searching for a first target codeword in the first codeword set includes: Traversing all codewords in the first codeword set and modulating all codewords using a preset modulation method to obtain a second modulation constellation; wherein the second modulation constellation includes first transmission vectors corresponding to all codewords in the first codeword set; Determine the first product results of each of the first transmitting vectors in the second modulation constellation diagram and the channel matrix, calculate the first Euclidean distance between the first product result and the receiving vector, and demodulate the target first transmitting vector with the smallest first Euclidean distance to obtain a first target codeword.
6. The method according to claim 1, characterized in that The contention codeword is a pre-configured contention codeword corresponding to the first target codeword; wherein the j-th bit value of the i-th transmitted symbol in the contention codeword and the first target codeword is different, and the bit values of other bits except the j-th bit are the same; Accordingly, determining a next log-likelihood ratio for joint detection based on a competing codeword corresponding to the first target codeword includes: Modulating the contention codeword to obtain a contention transmission vector; A next log-likelihood ratio for joint detection is determined based on the contention transmit vector, the receive vector, the channel matrix, and a second modulation constellation corresponding to the first codeword set.
7. The method according to claim 6, characterized in that When the bit value of the j-th bit of the i-th transmitted symbol in the first target codeword is 1, the calculation formula for the next log-likelihood ratio of joint detection is: Where, It represents a set of modulation constellations obtained by performing modulation based on bit values of bits other than the j-th bit when the j-th bit in the i-th transmitted symbol in the second modulation constellation is fixed to the first bit value 0; It represents a set of modulation constellations obtained by performing modulation based on bit values of bits other than the j-th bit when the j-th bit in the i-th transmitted symbol in the second modulation constellation is fixed to the second bit value 1; Denotes the target first sending vector; Expressed as The contention sending vector; s3 is represented by The sending vector selected from The selected transmission vector; r represents the receiving vector; H represents the channel matrix; ||·|| 2 Expressed as the squared norm; When the bit value of the j-th bit of the i-th transmitted symbol in the first target codeword is 0, the calculation formula for the next log-likelihood ratio of the joint detection is: Where, The second modulation constellation is represented as a modulation constellation set obtained by performing modulation based on bit values of bits other than the j-th bit when the j-th bit in the i-th transmission symbol in the modulation constellation set is fixed to the second bit value 1; It represents a set of modulation constellations obtained by performing modulation based on the bit values of bits other than the j-th bit when the j-th bit in the i-th transmission symbol in the second modulation constellation is fixed to the first bit value 0.
8. The method according to claim 1, characterized in that The determining of the second target codeword in the target second codeword set includes: Traversing all codewords in the target second codeword set and modulating all codewords using a preset modulation method to obtain a third modulation constellation; wherein the third modulation constellation includes second transmission vectors corresponding to all codewords in the second codeword set; Determine the second product results of each second sending vector in the third modulation constellation diagram and the channel matrix, calculate the second Euclidean distance between the second product result and the receiving vector, and demodulate the target second sending vector with the smallest second Euclidean distance to obtain a second target codeword.
9. A joint detection and decoding device for a MIMO system, characterized in that: The device comprises: an initialization likelihood ratio determination module, configured to perform joint detection on the received vector to obtain an initialization log-likelihood ratio of each bit of each transmitted symbol in the transmitted vector, and use the initialization log-likelihood ratio as the current log-likelihood ratio; a codeword determination module, configured to perform a decoding operation on the current log-likelihood ratio based on a preset decoding algorithm to obtain a virtual codeword and a first true codeword of a current iteration, store the virtual codeword and the first true codeword in a first codeword set, and store the first true codeword in a second codeword set; a search module, configured to search for a first target codeword in the first codeword set; wherein a first product of a first transmission vector modulated by the first target codeword and a channel matrix has a minimum Euclidean distance with the reception vector; a next likelihood ratio determination module, configured to determine a next log-likelihood ratio for joint detection based on a competing codeword corresponding to the first target codeword, use the next log-likelihood ratio as a current log-likelihood ratio, return to the step of decoding the current log-likelihood ratio based on a preset decoding algorithm, iteratively update the first codeword set and the second codeword set until a preset number of iterations is reached, and output an updated target second codeword set; A decoding result determination module is configured to determine a second target codeword in the target second codeword set and use the second target codeword as a joint detection decoding result; wherein a second product of a second transmit vector modulated by the second target codeword and the channel matrix has a minimum Euclidean distance with the receive vector.
10. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can perform the joint detection and decoding method for the MIMO system according to any one of claims 1 to 8.
11. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the joint detection and decoding method for a MIMO system according to any one of claims 1 to 8 when executed.
12. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the computer program implements the joint detection and decoding method for the MIMO system according to any one of claims 1 to 8.
Citation Information
Patent Citations
List-based hierarchical statistical decoding method, equipment and device and storage medium
CN116318191A
Decoding method and device, storage medium and electronic device
CN117713842A