Decoding method, device, equipment, medium and program product
The decoding method combining the spherical decoding algorithm and the channel quality parameters solves the problem of the existing decoding algorithm in balancing the decoding computational complexity and the bit error rate, thereby achieving an improvement in decoding accuracy and a reduction in the bit error rate.
Patent Information
- Application Number
- CN202410379525.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-29
- Publication Date
- 2025-09-30
AI Technical Summary
Existing decoding algorithms cannot strike a balance between decoding computational complexity and reducing bit error rate, resulting in reduced decoding accuracy.
A decoding method combining sphere decoding algorithm and channel quality parameters is adopted. By mapping the received signal with the pre-stored codebook, using the equal probability initialization strategy and sphere radius parameter to filter the codeword information, iterative decoding is performed to improve accuracy.
Iterative decoding is performed on the codeword information after two screening processes, which significantly improves the decoding accuracy, reduces the bit error rate, and reduces the decoding complexity.
Smart Images

Figure CN120729464A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of wireless communication technology, and in particular to a decoding method, device, equipment, medium and program product. Background Art
[0002] With the development of wireless communications, achieving large-scale IoT access in the 5G era is a huge challenge. Sparse Code Multiple Access (SCMA) technology is a new non-orthogonal multiple access solution suitable for 5G communications. This solution supports multiple mobile terminals to reuse the same air interface resources for resource sharing, significantly increasing the number of system accesses in IoT scenarios. SCMA technology can also flexibly adjust resource block sizes to meet the needs of different services, thereby improving the system's spectrum utilization to a certain extent. However, reducing the decoding computational complexity of SCMA and lowering the bit error rate are urgent issues that need to be addressed.
[0003] Currently, existing decoding algorithms cannot simultaneously balance decoding computational complexity and bit error rate reduction, which reduces decoding accuracy. Summary of the Invention
[0004] The embodiments of the present application provide a decoding method, apparatus, device, medium, and program product, which improve the accuracy of decoding.
[0005] The technical solution of this application is achieved as follows:
[0006] The embodiments of the present application provide a decoding method, apparatus, device, medium, and program product. The decoding method is applied to a decoding apparatus, and the decoding method includes:
[0007] Mapping the received signal with a pre-stored codebook to obtain codeword information corresponding to the received signal; wherein the codeword information includes codeword information of a resource node and codeword information of a user node;
[0008] filtering the codeword information of the resource node and the codeword information of the user node according to the spherical radius parameter and the channel quality parameter to obtain filtered codeword information;
[0009] Iterative decoding is performed according to the filtered codeword information to obtain a demodulated signal corresponding to the received signal.
[0010] In this way, the decoding device can obtain the codeword information of the user node and the codeword information of the resource node based on the equal probability initialization strategy and after mapping the received signal on the pre-stored codebook, and then perform a screening process on the codeword information of the resource node and the codeword information of the user node according to the spherical radius parameter corresponding to the spherical decoding algorithm, and perform a screening process on the codeword information of the resource node and the codeword information of the user node according to the quality parameter of the channel, so as to obtain the codeword information after two screenings. Finally, the decoding device can perform iterative decoding according to the screened codeword information to obtain the demodulated signal corresponding to the received signal, thereby improving the accuracy of decoding.
[0011] Furthermore, the filtering of the codeword information of the resource node and the codeword information of the user node according to the channel quality parameter and the spherical radius parameter corresponding to the spherical decoding algorithm to obtain the filtered codeword information includes:
[0012] Filtering the codeword information of the resource node according to a spherical radius parameter corresponding to the spherical decoding algorithm to obtain first filtered codeword information;
[0013] updating the codeword information of the resource node and the codeword information of the user node respectively based on the first filtered codeword information;
[0014] Filtering the codeword information of the user node according to the quality parameter of the channel to obtain second filtered codeword information;
[0015] The codeword information of the resource node and the codeword information of the user node are updated respectively based on the second filtered codeword information to obtain the filtered codeword information.
[0016] In this way, when the decoding device screens the codeword information of the resource node and the codeword information of the user node according to the quality parameters of the channel and the spherical radius parameters corresponding to the spherical decoding algorithm, it can first screen the codeword information of the resource node and the codeword information of the user node according to the spherical radius parameters corresponding to the spherical decoding algorithm, and then screen the codeword information of the resource node and the codeword information of the user node according to the quality parameters of the channel. At the same time, after each screening process, the codeword information of the resource node and the codeword information of the user node need to be updated, and the codeword information of the two needs to be jointly updated, so that the codeword information after two screening processes can be obtained, thereby improving the accuracy of decoding.
[0017] Furthermore, the filtering of the codeword information of the resource node and the codeword information of the user node according to the channel quality parameter and the spherical radius parameter corresponding to the spherical decoding algorithm to obtain the filtered codeword information includes:
[0018] Filtering the codeword information of the user node according to the quality parameter of the channel to obtain third filtered codeword information;
[0019] The codeword information of the resource node and the codeword information of the user node are updated respectively based on the codeword information after the third screening.
[0020] Filtering the codeword information of the resource node according to a spherical radius parameter corresponding to the spherical decoding algorithm to obtain fourth filtered codeword information;
[0021] The codeword information of the resource node and the codeword information of the user node are updated respectively based on the fourth filtered codeword information to obtain the filtered codeword information.
[0022] In this way, when the decoding device performs filtering processing on the codeword information of the resource node and the codeword information of the user node based on the channel quality parameter and the spherical radius parameter corresponding to the spherical decoding algorithm, the decoding device can first perform filtering processing on the codeword information of the resource node and the codeword information of the user node based on the channel quality parameter, and then perform filtering processing on the codeword information of the resource node and the codeword information of the user node based on the spherical radius parameter corresponding to the spherical decoding algorithm. At the same time, after each filtering process, the codeword information of the resource node and the codeword information of the user node need to be updated. The codeword information of both needs to be jointly updated, thereby obtaining codeword information after two filtering processes. After the first filtering based on the channel quality, the channel quality of the filtered codeword information is better than the channel quality of other codewords that do not participate in the subsequent iterative decoding. Then, in the filtering process based on the spherical radius parameter corresponding to the spherical decoding algorithm, the codeword information with better channel quality is filtered again. Therefore, the filtering process based on the spherical radius parameter corresponding to the spherical decoding algorithm is more conducive to the filtering process based on the spherical radius parameter corresponding to the spherical decoding algorithm, thereby improving the decoding accuracy.
[0023] Furthermore, filtering the codeword information of the resource node according to the spherical radius parameter corresponding to the spherical decoding algorithm to obtain the first filtered codeword information includes:
[0024] Determine the Euclidean distance between the candidate constellation point on the kth resource block in the resource node and the lth constellation point in the constellation point set corresponding to the received signal
[0025] In the Euclidean distance When the value of the first constellation point is less than the spherical radius parameter, the codeword corresponding to the l-th constellation point is determined as the first filtered codeword information;
[0026] In the Euclidean distance When the value is greater than or equal to the spherical radius parameter, the codeword corresponding to the l-th constellation point is deleted.
[0027] In this way, when the decoding device filters the codeword information of the resource node according to the spherical radius parameter corresponding to the spherical decoding algorithm and obtains the first filtered codeword information, it can first determine the Euclidean distance between the candidate constellation point on the kth resource block in the resource node and the lth constellation point in the constellation point set corresponding to the received signal. Then the Euclidean distance The size of the spherical radius parameter is compared with the size of the spherical radius parameter. If the value is less than the spherical radius parameter, it can be considered that the codeword corresponding to the lth constellation point meets the screening conditions, so the codeword corresponding to the lth constellation point can be determined as the first filtered codeword information. When the value is greater than or equal to the spherical radius parameter, it can be considered that the codeword corresponding to the lth constellation point does not meet the screening conditions, and the decoding device can delete the codeword corresponding to the lth constellation point, thereby improving the decoding accuracy.
[0028] Furthermore, filtering the codeword information of the user node according to the channel quality parameter to obtain the second filtered codeword information includes:
[0029] Determining the quality of a channel corresponding to the jth codeword in the codeword information;
[0030] When the quality of the channel corresponding to the j-th codeword is greater than the quality parameter of the channel, the j-th codeword is determined as the codeword information after the second screening; when the quality of the channel corresponding to the j-th codeword is less than or equal to the quality parameter of the channel, the j-th codeword is deleted.
[0031] In this way, when the decoding device filters the codeword information of the user node according to the channel quality parameter and obtains the second filtered codeword information, it can first determine the quality of the channel corresponding to the j-th codeword in the codeword information for further screening processing, and then compare the quality of the channel corresponding to the j-th codeword with the channel quality parameter. When the quality of the channel corresponding to the j-th codeword is greater than the channel quality parameter, it can be considered that the quality of the channel of the codeword is good and meets the conditions for iterative decoding, and can participate in subsequent iterative decoding processing, so that the j-th codeword can be determined as the second filtered codeword information; when the quality of the channel corresponding to the j-th codeword is less than or equal to the channel quality parameter, it is considered that the codeword does not meet the conditions for iterative decoding, and the j-th codeword can be deleted, thereby improving the accuracy of decoding.
[0032] Furthermore, in an embodiment of the present application, mapping the received signal with a pre-stored codebook to obtain codeword information corresponding to the received signal includes:
[0033] Determine a probability parameter according to an equal probability initialization strategy and an initial codeword set corresponding to the user node;
[0034] The received signal is mapped to a pre-stored codebook according to the probability parameter to obtain codeword information of the resource node and codeword information of the user node.
[0035] In this way, the decoding device can distribute the initial codewords corresponding to the received signal with equal probability based on the equal probability initialization strategy, thereby improving the convergence of the codewords and further improving the accuracy of decoding.
[0036] An embodiment of the present application provides a decoding device, the decoding device comprising:
[0037] An acquisition module is configured to map a received signal with a pre-stored codebook to obtain codeword information corresponding to the received signal; wherein the codeword information includes codeword information of a resource node and codeword information of a user node; based on a channel quality parameter and a spherical radius parameter corresponding to a spherical decoding algorithm, the codeword information of the resource node and the codeword information of the user node are respectively filtered to obtain filtered codeword information; and iterative decoding is performed based on the filtered codeword information to obtain a demodulated signal corresponding to the received signal.
[0038] In this way, the decoding device may include an acquisition module, which is used to map the received signal with a pre-stored codebook, so as to obtain the codeword information of the user node and the codeword information of the resource node. The acquisition module is also used to perform a screening process on the codeword information of the resource node and the codeword information of the user node according to the spherical radius parameter corresponding to the spherical decoding algorithm, and then perform a screening process on the codeword information of the resource node and the codeword information of the user node according to the quality parameter of the channel, so as to obtain the codeword information after two screenings. Finally, the decoding device can perform iterative decoding according to the screened codeword information to obtain the demodulated signal corresponding to the received signal, thereby improving the accuracy of decoding.
[0039] An embodiment of the present application provides a decoding device, which includes: a processor and a storage medium storing executable instructions, wherein the storage medium relies on the processor to perform operations through a communication bus, and when the executable instructions are executed by the processor, the decoding method described in one or more of the above embodiments is executed.
[0040] An embodiment of the present application provides a computer storage medium storing executable instructions. When the executable instructions are executed by a processor, the processor performs the decoding method described in one or more embodiments.
[0041] An embodiment of the present application provides a computer program product, including a computer program or instructions. When the computer program or instructions are executed by a processor, the decoding method as described in one or more embodiments is performed.
[0042] Beneficial effects of this application:
[0043] The decoding device can map the received signal in a pre-stored codebook. When the initial codeword corresponding to the received signal is allocated with equal probability based on the equal probability initialization strategy, the convergence of the codeword can be improved. At the same time, the codeword information of the user node and the codeword information of the resource node can be obtained after the mapping process. The codeword information of the resource node and the codeword information of the user node are then screened according to the spherical radius parameter corresponding to the spherical decoding algorithm. The codeword information of the resource node and the codeword information of the user node are screened according to the quality parameter of the channel, so that the codeword information after two screenings can be obtained. Finally, the decoding device can perform iterative decoding according to the screened codeword information to obtain the demodulated signal corresponding to the received signal, thereby improving the accuracy of decoding. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Figure 1 Schematic diagram of the structure of the decoding device provided in the embodiment of the present application Figure 1 ;
[0045] Figure 2 A schematic diagram of the structure of an iterative detection receiver provided in an embodiment of the present application;
[0046] Figure 3 A schematic diagram of a decoding method provided in an embodiment of the present application Figure 1 ;
[0047] Figure 4 A schematic diagram of a decoding method provided in an embodiment of the present application Figure 2 ;
[0048] Figure 5 A schematic diagram of a decoding method provided in an embodiment of the present application Figure 3 ;
[0049] Figure 6 Schematic diagram of the optimization scheme flow of the SCMA decoding detection algorithm provided in the embodiment of the present application;
[0050] Figure 7 A comparison chart of the complexity of the SCMA decoding detection algorithm provided in the embodiment of this application under different signal-to-noise ratios;
[0051] Figure 8 A comparison chart of the number of searches under different signal-to-noise ratios for the SCMA decoding detection algorithm provided in an embodiment of the present application;
[0052] Figure 9 A comparison chart of bit error rates at different iteration times for the SCMA decoding detection algorithm provided in an embodiment of the present application;
[0053] Figure 10 Schematic diagram of the structure of the decoding device provided in the embodiment of the present application Figure 2 ;
[0054] Figure 11 A schematic diagram of the structure of the decoding device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0055] In order to solve the problem of efficiently allocating limited resources to ensure that more users can obtain sufficient resources to improve the quality of communication, while meeting the problem of reducing the computational complexity of decoding and reducing the bit error rate, the present application proposes a decoding method that supports multi-user access with non-orthogonal characteristics, and uses a designed codebook instead of modulation and spread spectrum to achieve higher capacity and higher flexibility of access throughput. At the same time, the present application proposes a partial codeword sphere decoding (PCSD) detection algorithm to reduce the bit error rate of the SCMA system in the downlink fading channel, and at the same time reduce the decoding complexity of the SCMA decoding method. Furthermore, the embodiments of the present application propose a decoding method, device, equipment, medium and program product.
[0056] The technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application.
[0057] Based on the fact that there is no good method in the related art to simultaneously balance the decoding computational complexity and the reduction of the bit error rate, and the accuracy of decoding cannot be improved, an embodiment of the present application provides a decoding method, which is applied to a decoding device.
[0058] An embodiment of the present application provides a decoding method, which can be applied to a decoding device. Figure 1 Schematic diagram of the structure of the decoding device provided in the embodiment of the present application Figure 1 ,like Figure 1 As shown, the decoding device 100 includes an iterative detection receiver 101 and a decision device 102. The iterative detection receiver performs iterative update processing on the codeword information. After the decision device makes a decision, the user node decoder outputs the decoded information.
[0059] Further, Figure 2A schematic diagram of the structure of an iterative detection receiver provided in an embodiment of the present application is shown in FIG. Figure 2 As shown, the iterative detection receiver 101 includes a user node decoder 1011 and a resource node decoder 1012, and codeword information is iteratively updated between the user node decoder and the resource node decoder.
[0060] Furthermore, in the embodiments of the present application, Figure 3 A schematic diagram of a decoding method provided in an embodiment of the present application Figure 1 ,like Figure 3 As shown, the decoding method may include the following steps:
[0061] S101: Mapping a received signal with a pre-stored codebook to obtain codeword information corresponding to the received signal; wherein the codeword information includes codeword information of a resource node and codeword information of a user node.
[0062] In an embodiment of the present application, the iterative detection receiver includes a user node decoder and a resource node decoder. The decoding device can map the received signal to a pre-stored codebook, and then obtain the codeword information of the user node and the codeword information of the resource node.
[0063] In an embodiment of the present application, an equal probability initialization strategy can be used to allocate initial codewords corresponding to received signals with equal probability to improve the convergence of the codewords.
[0064] In the embodiment of the present application, the pre-stored codebook may represent a codebook pre-stored in a decoding device, which is used to perform subsequent mapping processing according to the received signal and the pre-stored codebook.
[0065] For example, in an embodiment of the present application, the codebook size of the pre-stored codebook may be any value greater than 0. For example, the codebook size of the pre-stored codebook may be 4, or the codebook size of the pre-stored codebook may be 6. This embodiment of the present application does not specifically limit this.
[0066] In the embodiment of the present application, after the mapping process, the determined codeword information includes: the codeword information of the resource node and the codeword information of the user node, and the codeword information between the two can be transmitted to each other.
[0067] In the embodiment of the present application, the mapping process may be a mapping process of the received signal on a pre-stored codebook based on an equal probability initialization strategy.
[0068] In the embodiment of the present application, the mapping process may further include a mapping process based on an equal probability initialization strategy on a pre-stored codebook according to the received signal, channel estimation, and noise.
[0069] In the embodiment of the present application, the decoding device may perform mapping processing on the received signal on a pre-stored codebook based on an equal probability initialization strategy.
[0070] Furthermore, in an embodiment of the present application, when mapping the received signal to a pre-stored codebook to obtain codeword information corresponding to the received signal, a probability parameter is determined based on an equal probability initialization strategy and an initial codeword set corresponding to the user node; and based on the probability parameter, the received signal is mapped to the pre-stored codebook to obtain codeword information of the resource node and codeword information of the user node.
[0071] In the embodiment of the present application, the initial codeword may be a codeword corresponding to the received signal.
[0072] In the embodiment of the present application, an equal probability initialization strategy is used to distribute the initial codewords with equal probability, thereby improving the convergence of the codewords.
[0073] S102: According to the channel quality parameter and the spherical radius parameter corresponding to the spherical decoding algorithm, the codeword information of the resource node and the codeword information of the user node are filtered and processed respectively to obtain filtered codeword information.
[0074] In an embodiment of the present application, the decoding device can map the received signal with the pre-stored codebook to obtain the codeword information corresponding to the received signal, and then first perform a screening process on the codeword information of the resource node and the codeword information of the user node according to the spherical radius parameter corresponding to the spherical decoding algorithm, and then perform a screening process on the codeword information of the resource node and the codeword information of the user node according to the quality parameter of the channel, so as to obtain the codeword information after two screenings.
[0075] In the embodiment of the present application, the spherical radius parameter can be determined by the noise power.
[0076] For example, in the embodiments of the present application, the spherical radius parameter can be any value greater than 0. For example, the spherical radius parameter can be 4, or the spherical radius parameter can be 6. The embodiments of the present application do not specifically limit this.
[0077] For example, in the embodiment of the present application, d u Channel coefficient h k,j (k∈ξ j ) are different, and the channel gain of each resource node is also different. Then, under the same threshold condition, the codeword x of the jth user mapped to N resource nodes at the same time is j (m j ) N non-zero elements x nj (m j )(1≤n≤N), the SCP (synthetic constellation point) on the nth resource node will also contain the codeword element x of user jnj (m j ), the gains obtained by these resource nodes are also different. The higher the gain, the higher the accuracy of the received information, and the more reliable it is.
[0078] In the embodiment of the present application, the quality of the channel corresponding to the codeword information of the resource node and the quality of the channel corresponding to the codeword information of the user node can be screened and processed through the quality parameters of the channel.
[0079] In an embodiment of the present application, the screening process can screen out the codeword information within the spherical radius parameter and the codeword information with better channel quality by setting the spherical radius parameter and the channel quality parameter, so as to determine the codeword information participating in subsequent iterative decoding.
[0080] In an embodiment of the present application, the filtered codeword information is obtained after two screenings and update processing. The screening processing includes screening the codeword information of the resource node and the codeword information of the user node according to the quality parameters of the channel and the spherical radius parameters corresponding to the spherical decoding algorithm.
[0081] In the embodiment of the present application, the update processing between the codeword information of the resource node and the codeword information of the user node is combined. When the codeword information of the resource node is updated, the codeword information of the user node is also updated.
[0082] Furthermore, in an embodiment of the present application, the codeword information of the resource node and the codeword information of the user node are respectively filtered and processed according to the quality parameters of the channel and the spherical radius parameters corresponding to the spherical decoding algorithm. When the filtered codeword information is obtained, the codeword information of the resource node is filtered according to the spherical radius parameters corresponding to the spherical decoding algorithm to obtain the first filtered codeword information; based on the first filtered codeword information, the codeword information of the resource node and the codeword information of the user node are respectively updated; the codeword information of the user node is filtered according to the quality parameters of the channel to obtain the second filtered codeword information; based on the second filtered codeword information, the codeword information of the resource node and the codeword information of the user node are respectively updated to obtain the filtered codeword information.
[0083] In an embodiment of the present application, when the decoding device screens the codeword information of the resource node and the codeword information of the user node according to the quality parameters of the channel and the spherical radius parameters corresponding to the spherical decoding algorithm, it can first screen the codeword information of the resource node and the codeword information of the user node according to the spherical radius parameters corresponding to the spherical decoding algorithm, and then screen the codeword information of the resource node and the codeword information of the user node according to the quality parameters of the channel. At the same time, after each screening process, the codeword information of the resource node and the codeword information of the user node need to be updated, and the codeword information of the two needs to be jointly updated, so that the codeword information after two screening processes can be obtained.
[0084] In the embodiment of the present application, the first filtered codeword information may be codeword information that meets the requirements of subsequent iterative decoding after filtering the codeword information of the resource node using the spherical radius parameter.
[0085] In the embodiment of the present application, the second filtered codeword information may be codeword information with better channel quality determined after filtering the codeword information of the user node using the quality parameter of the channel.
[0086] Furthermore, in an embodiment of the present application, when the codeword information of the resource node is screened according to the spherical radius parameter corresponding to the spherical decoding algorithm to obtain the first screened codeword information, the Euclidean distance between the candidate constellation point on the k-th resource block in the resource node and the l-th constellation point in the constellation point set corresponding to the received signal is determined. In Euclidean distance When the spherical radius parameter is less than the spherical radius parameter, the code word corresponding to the lth constellation point is determined as the code word information after the first screening; in the case of the Euclidean distance When it is greater than or equal to the spherical radius parameter, the codeword corresponding to the lth constellation point is deleted.
[0087] In an embodiment of the present application, when the decoding device filters the codeword information of the resource node according to the spherical radius parameter corresponding to the spherical decoding algorithm and obtains the first filtered codeword information, it can first determine the Euclidean distance between the candidate constellation point (synthetic constellation point) on the k-th resource block in the resource node and the l-th constellation point in the constellation point set corresponding to the received signal. Then the Euclidean distance The size of the spherical radius parameter is compared with the size of the spherical radius parameter. If the value is less than the spherical radius parameter, it can be considered that the codeword corresponding to the lth constellation point meets the screening conditions, so the codeword corresponding to the lth constellation point can be determined as the first filtered codeword information. When the value is greater than or equal to the spherical radius parameter, it can be considered that the codeword corresponding to the lth constellation point does not meet the screening conditions, and the decoding device can delete the codeword corresponding to the lth constellation point.
[0088] For example, in the embodiment of the present application, if the codebook size M=3 and the number of users d f =3, then the resource node r k There are 4 participating in the Message Passing Algorithm (MPA) iterative operation 3 =64 synthetic constellation points (SCP).
[0089] In the embodiment of the present application, the Euclidean distance represents the absolute distance between two points in the multidimensional space, that is, the shortest straight-line distance between the two points, by determining the Euclidean distance between the candidate constellation point (synthetic constellation point) on the k-th resource block in the resource node and the l-th constellation point in the constellation point set corresponding to the received signal This Euclidean distance can then be compared with the spherical radius parameter.
[0090] In the embodiment of the present application, the candidate constellation point on the k-th resource block in the resource node represents the constellation point participating in the MPA iterative calculation on the k-th resource block in the resource node.
[0091] Furthermore, in an embodiment of the present application, when the codeword information of the user node is filtered according to the quality parameter of the channel to obtain the second filtered codeword information, the quality of the channel corresponding to the j-th codeword in the codeword information is determined; when the quality of the channel corresponding to the j-th codeword is greater than the quality parameter of the channel, the j-th codeword is determined as the second filtered codeword information; when the quality of the channel corresponding to the j-th codeword is less than or equal to the quality parameter of the channel, the j-th codeword is deleted.
[0092] In an embodiment of the present application, when the decoding device filters the codeword information of the user node according to the quality parameter of the channel and obtains the codeword information after the second screening, it can first determine the quality of the channel corresponding to the j-th codeword in the codeword information for further screening processing, and then compare the quality of the channel corresponding to the j-th codeword with the quality parameter of the channel. When the quality of the channel corresponding to the j-th codeword is greater than the quality parameter of the channel, it can be considered that the quality of the channel of the codeword is good and meets the conditions for iterative decoding, and can participate in subsequent iterative decoding processing, so that the j-th codeword can be determined as the codeword information after the second screening; when the quality of the channel corresponding to the j-th codeword is less than or equal to the quality parameter of the channel, it is considered that the codeword does not meet the conditions for iterative decoding, and the j-th codeword can be deleted.
[0093] In the embodiment of the present application, by determining the quality of the channel corresponding to the j-th codeword in the codeword information and comparing it with the quality parameter of the channel, codeword information with better channel quality can be screened out.
[0094] In an embodiment of the present application, when the quality of the channel corresponding to the j-th codeword is less than or equal to the quality parameter of the channel, it is considered that the quality of the channel corresponding to the codeword does not meet the requirements of iterative decoding, and the j-th codeword can be deleted.
[0095] Furthermore, in an embodiment of the present application, the codeword information of the resource node and the codeword information of the user node are respectively filtered and processed according to the quality parameters of the channel and the spherical radius parameters corresponding to the spherical decoding algorithm to obtain the filtered codeword information, and the codeword information of the user node is filtered according to the quality parameters of the channel to obtain the third filtered codeword information; based on the third filtered codeword information, the codeword information of the resource node and the codeword information of the user node are respectively updated; according to the spherical radius parameters corresponding to the spherical decoding algorithm, the codeword information of the resource node is filtered to obtain the fourth filtered codeword information; based on the fourth filtered codeword information, the codeword information of the resource node and the codeword information of the user node are respectively updated to obtain the filtered codeword information.
[0096] In an embodiment of the present application, when the decoding device screens the codeword information of the resource node and the codeword information of the user node according to the channel quality parameter and the spherical radius parameter corresponding to the spherical decoding algorithm, the decoding device can first screen the codeword information of the resource node and the codeword information of the user node according to the channel quality parameter, and then screen the codeword information of the resource node and the codeword information of the user node according to the spherical radius parameter corresponding to the spherical decoding algorithm. At the same time, after each screening process, the codeword information of the resource node and the codeword information of the user node need to be updated. The codeword information of both needs to be jointly updated, and thus the codeword information after the two screening processes can be obtained. After the first screening based on the channel quality, the channel quality of the screened codeword information is better than the channel quality of other codewords that do not participate in the subsequent iterative decoding. Then, in the process of screening based on the spherical radius parameter corresponding to the spherical decoding algorithm, the codeword information with better channel quality is screened again, which is more conducive to the screening process based on the spherical radius parameter corresponding to the spherical decoding algorithm.
[0097] In the embodiment of the present application, the codeword information after the third screening may be codeword information with better channel quality determined after screening the codeword information of the user node according to the quality parameter of the channel.
[0098] In the embodiment of the present application, the fourth filtered codeword information may be codeword information that meets the requirements of subsequent iterative decoding after filtering the codeword information of the resource node using the spherical radius parameter.
[0099] It should be noted that, in the embodiment of the present application, the process of determining the codeword information after the first screening and the process of determining the codeword information after the fourth screening may be the same, and the embodiment of the present application does not specifically limit this.
[0100] It should be noted that in the embodiment of the present application, after the codeword information of the resource node is screened and processed according to the spherical radius parameter corresponding to the spherical decoding algorithm, the first filtered codeword information is determined, and then the codeword information of the user node is screened and processed according to the channel quality parameter to determine the second filtered codeword information. There is no direct impact.
[0101] It should be noted that in an embodiment of the present application, after the codeword information of the user node is screened and processed according to the quality parameters of the channel, the codeword information after the third screening is determined. At this time, the channel quality of the codeword information is better. Then, the codeword information of the resource node is screened and processed according to the spherical radius parameters corresponding to the spherical decoding algorithm. When the codeword information after the fourth screening is determined, a further screening process is performed on the codeword information with better channel quality.
[0102] It should be noted that, in the embodiment of the present application, the process of determining the codeword information after the second screening and the process of determining the codeword information after the third screening may be the same, and the embodiment of the present application does not specifically limit this.
[0103] S103: Perform iterative decoding according to the filtered codeword information to obtain a demodulated signal corresponding to the received signal.
[0104] In an embodiment of the present application, the codeword information of the resource node and the codeword information of the user node are respectively filtered and processed according to the quality parameters of the channel and the spherical radius parameters corresponding to the spherical decoding algorithm. After obtaining the filtered codeword information, the decoding device can perform iterative decoding according to the filtered codeword information, thereby obtaining a demodulated signal corresponding to the received signal.
[0105] In the embodiment of the present application, iterative decoding may be an iterative detection process of codeword information in a user node and a resource node in an iterative detection receiver.
[0106] In the embodiment of the present application, the demodulated signal corresponding to the received signal may be a signal obtained by iteratively decoding the filtered codeword information.
[0107] To summarize, the decoding method in the embodiment of the present application includes: mapping the received signal with a pre-stored codebook to obtain codeword information corresponding to the received signal; wherein the codeword information includes codeword information of the resource node and codeword information of the user node; according to the quality parameter of the channel and the spherical radius parameter corresponding to the spherical decoding algorithm, the codeword information of the resource node and the codeword information of the user node are respectively filtered and processed to obtain the filtered codeword information; iterative decoding is performed according to the filtered codeword information to obtain a demodulated signal corresponding to the received signal.
[0108] It can be seen from this that the decoding device can be based on the equal probability initialization strategy, and after mapping the received signal on the pre-stored code book, it can obtain the codeword information of the user node and the codeword information of the resource node, and then perform a screening process on the codeword information of the resource node and the codeword information of the user node according to the spherical radius parameter corresponding to the spherical decoding algorithm, and perform a screening process on the codeword information of the resource node and the codeword information of the user node according to the quality parameter of the channel, so as to obtain the codeword information after two screenings. Finally, the decoding device can perform iterative decoding according to the screened codeword information to obtain the demodulated signal corresponding to the received signal, thereby improving the accuracy of decoding.
[0109] Furthermore, in the embodiments of the present application, Figure 4 A schematic diagram of a decoding method provided in an embodiment of the present application Figure 2 ,like Figure 4 As shown, the decoding method may include:
[0110] S201: Mapping a received signal with a pre-stored codebook to obtain codeword information corresponding to the received signal; wherein the codeword information includes codeword information of a resource node and codeword information of a user node.
[0111] In an embodiment of the present application, the iterative detection receiver includes a user node decoder and a resource node decoder. The decoding device can map the received signal with a pre-stored codebook, and thus obtain the codeword information of the user node and the codeword information of the resource node.
[0112] In an embodiment of the present application, an equal probability initialization strategy can be used to allocate initial codewords corresponding to received signals with equal probability to improve the convergence of the codewords.
[0113] In the embodiment of the present application, the pre-stored codebook may represent a codebook pre-stored in a decoding device, which is used to perform subsequent mapping processing according to the received signal and the pre-stored codebook.
[0114] For example, in an embodiment of the present application, the codebook size of the pre-stored codebook may be any value greater than 0. For example, the codebook size of the pre-stored codebook may be 4, or the codebook size of the pre-stored codebook may be 6. This embodiment of the present application does not specifically limit this.
[0115] In the embodiment of the present application, after the mapping process, the determined codeword information includes: the codeword information of the resource node and the codeword information of the user node, and the codeword information between the two can be transmitted to each other.
[0116] In the embodiment of the present application, the mapping process may be a mapping process of the received signal on a pre-stored codebook based on an equal probability initialization strategy.
[0117] In the embodiment of the present application, the mapping process may further include a mapping process based on an equal probability initialization strategy on a pre-stored codebook according to the received signal, channel estimation, and noise.
[0118] In the embodiment of the present application, the decoding device may perform mapping processing on the received signal on a pre-stored codebook based on an equal probability initialization strategy.
[0119] Furthermore, in an embodiment of the present application, when mapping the received signal to a pre-stored codebook to obtain codeword information corresponding to the received signal, a probability parameter is determined based on an equal probability initialization strategy and an initial codeword set corresponding to the user node; and based on the probability parameter, the received signal is mapped to the pre-stored codebook to obtain codeword information of the resource node and codeword information of the user node.
[0120] In the embodiment of the present application, the initial codeword may be a codeword corresponding to the received signal.
[0121] In the embodiment of the present application, an equal probability initialization strategy is used to distribute the initial codewords with equal probability, thereby improving the convergence of the codewords.
[0122] S202: Filter the codeword information of the resource node according to the spherical radius parameter corresponding to the spherical decoding algorithm to obtain first filtered codeword information.
[0123] In an embodiment of the present application, the decoding device can perform mapping processing based on the received signal and the pre-stored code book based on an equal probability initialization strategy, determine the code word information corresponding to the received signal, and then screen the code word information of the resource node according to the spherical radius parameter corresponding to the spherical decoding algorithm, so as to obtain the code word information after the first screening.
[0124] In the embodiment of the present application, the spherical radius parameter can be determined by the noise power.
[0125] For example, in the embodiments of the present application, the spherical radius parameter can be any value greater than 0. For example, the spherical radius parameter can be 4, or the spherical radius parameter can be 6. The embodiments of the present application do not specifically limit this.
[0126] In the embodiment of the present application, the first filtered codeword information may be codeword information that meets the requirements of subsequent iterative decoding after filtering the codeword information of the resource node using the spherical radius parameter.
[0127] For example, in the embodiment of the present application, if the codebook size M=3 and the number of users d f =3, then the resource node r k There are 4 participating in the Message Passing Algorithm (MPA) iterative operation 3 =64 synthetic constellation points (SCP).
[0128] In the embodiment of the present application, the Euclidean distance represents the absolute distance between two points in the multidimensional space, that is, the shortest straight-line distance between the two points, by determining the Euclidean distance between the candidate constellation point (synthetic constellation point) on the k-th resource block in the resource node and the l-th constellation point in the constellation point set corresponding to the received signal This Euclidean distance can then be compared with the spherical radius parameter.
[0129] Furthermore, in an embodiment of the present application, when the codeword information of the resource node is screened according to the spherical radius parameter corresponding to the spherical decoding algorithm to obtain the first screened codeword information, the Euclidean distance between the candidate constellation point on the k-th resource block in the resource node and the l-th constellation point in the constellation point set corresponding to the received signal is determined. In Euclidean distance When the spherical radius parameter is less than the spherical radius parameter, the code word corresponding to the lth constellation point is determined as the code word information after the first screening; in the case of the Euclidean distance When it is greater than or equal to the spherical radius parameter, the codeword corresponding to the lth constellation point is deleted.
[0130] In an embodiment of the present application, when the decoding device filters the codeword information of the resource node according to the spherical radius parameter corresponding to the spherical decoding algorithm and obtains the first filtered codeword information, it can first determine the Euclidean distance between the candidate constellation point on the k-th resource block in the resource node and the l-th constellation point in the constellation point set corresponding to the received signal. Then the Euclidean distance The size of the spherical radius parameter is compared with the size of the spherical radius parameter. If the value is less than the spherical radius parameter, it can be considered that the codeword corresponding to the lth constellation point meets the screening conditions, so the codeword corresponding to the lth constellation point can be determined as the first filtered codeword information. When the value is greater than or equal to the spherical radius parameter, it can be considered that the codeword corresponding to the lth constellation point does not meet the screening conditions, and the decoding device can delete the codeword corresponding to the lth constellation point.
[0131] In the embodiment of the present application, the candidate constellation point on the k-th resource block in the resource node represents the constellation point participating in the MPA iterative calculation on the k-th resource block in the resource node.
[0132] S203: Based on the first filtered codeword information, the codeword information of the resource node and the codeword information of the user node are updated respectively.
[0133] In an embodiment of the present application, the decoding device filters the codeword information of the resource node according to the spherical radius parameter corresponding to the spherical decoding algorithm, obtains the first filtered codeword information, and then updates the codeword information of the resource node based on the first filtered codeword information, and simultaneously jointly updates the codeword information of the user node.
[0134] S204: Filter the codeword information of the user node according to the quality parameter of the channel to obtain the second filtered codeword information.
[0135] In an embodiment of the present application, after the decoding device updates the codeword information of the resource node and the codeword information of the user node respectively based on the codeword information after the first screening, it can also screen the codeword information of the user node according to the quality parameters of the channel to obtain the codeword information after the second screening.
[0136] In the embodiment of the present application, the quality of the channel corresponding to the codeword information of the resource node and the quality of the channel corresponding to the codeword information of the user node can be screened and processed through the quality parameters of the channel.
[0137] For example, in the embodiment of the present application, d u Channel coefficient h k,j (k∈ξ j ) are different, and the channel gain of each resource node is also different. Then, under the same threshold condition, the codeword x of the jth user mapped to N resource nodes at the same time is j (m j ) N non-zero elements x nj (m j )(1≤n≤N), the SCP (synthetic constellation point) on the nth resource node will also contain the codeword element x of user j nj (m j ), the gains obtained by these resource nodes are also different. The higher the gain, the higher the accuracy of the received information, and the more reliable it is.
[0138] Furthermore, in an embodiment of the present application, when the codeword information of the user node is filtered according to the quality parameter of the channel to obtain the second filtered codeword information, the quality of the channel corresponding to the j-th codeword in the codeword information is determined; when the quality of the channel corresponding to the j-th codeword is greater than the quality parameter of the channel, the j-th codeword is determined as the second filtered codeword information; when the quality of the channel corresponding to the j-th codeword is less than or equal to the quality parameter of the channel, the j-th codeword is deleted.
[0139] In an embodiment of the present application, when the decoding device filters the codeword information of the user node according to the quality parameter of the channel and obtains the codeword information after the second screening, it can first determine the quality of the channel corresponding to the j-th codeword in the codeword information for further screening processing, and then compare the quality of the channel corresponding to the j-th codeword with the quality parameter of the channel. When the quality of the channel corresponding to the j-th codeword is greater than the quality parameter of the channel, it can be considered that the quality of the channel of the codeword is good and meets the conditions for iterative decoding, and can participate in subsequent iterative decoding processing, so that the j-th codeword can be determined as the codeword information after the second screening; when the quality of the channel corresponding to the j-th codeword is less than or equal to the quality parameter of the channel, it is considered that the codeword does not meet the conditions for iterative decoding, and the j-th codeword can be deleted.
[0140] In the embodiment of the present application, by determining the quality of the channel corresponding to the j-th codeword in the codeword information and comparing it with the quality parameter of the channel, codeword information with better channel quality can be screened out.
[0141] In an embodiment of the present application, when the quality of the channel corresponding to the j-th codeword is less than or equal to the quality parameter of the channel, it is considered that the quality of the channel corresponding to the codeword does not meet the requirements of iterative decoding, and the j-th codeword can be deleted.
[0142] S205: Based on the second filtered codeword information, the codeword information of the resource node and the codeword information of the user node are updated respectively to obtain filtered codeword information.
[0143] In an embodiment of the present application, after the decoding device filters the codeword information of the user node according to the quality parameters of the channel and obtains the second filtered codeword information, it can also update the codeword information of the resource node based on the second filtered codeword information, and at the same time jointly update the codeword information of the user node, thereby obtaining the filtered codeword information.
[0144] In the embodiment of the present application, the update processing between the codeword information of the resource node and the codeword information of the user node is combined. When the codeword information of the resource node is updated, the codeword information of the user node is also updated.
[0145] In the embodiment of the present application, the second filtered codeword information may be codeword information with better channel quality determined after filtering the codeword information of the user node using the quality parameter of the channel.
[0146] It should be noted that in the embodiment of the present application, after the codeword information of the resource node is screened and processed according to the spherical radius parameter corresponding to the spherical decoding algorithm, the first filtered codeword information is determined, and then the codeword information of the user node is screened and processed according to the channel quality parameter to determine the second filtered codeword information. There is no direct impact.
[0147] S206: Perform iterative decoding according to the filtered codeword information to obtain a demodulated signal corresponding to the received signal.
[0148] In an embodiment of the present application, the codeword information of the resource node and the codeword information of the user node are respectively filtered and processed according to the quality parameters of the channel and the spherical radius parameters corresponding to the spherical decoding algorithm. After obtaining the filtered codeword information, the decoding device can perform iterative decoding according to the filtered codeword information, thereby obtaining a demodulated signal corresponding to the received signal.
[0149] In the embodiment of the present application, iterative decoding may be an iterative detection process of codeword information in a user node and a resource node in an iterative detection receiver.
[0150] In the embodiment of the present application, the demodulated signal corresponding to the received signal may be a signal obtained by iteratively decoding the filtered codeword information.
[0151] In an embodiment of the present application, the filtered codeword information is obtained after two screenings and update processing. The screening processing includes screening the codeword information of the resource node and the codeword information of the user node according to the quality parameters of the channel and the spherical radius parameters corresponding to the spherical decoding algorithm.
[0152] Furthermore, in the embodiments of the present application, Figure 5 A schematic diagram of a decoding method provided in an embodiment of the present application Figure 3 ,like Figure 5 As shown, the decoding method may further include the following steps:
[0153] S207: Filter the codeword information of the user node according to the quality parameter of the channel to obtain the third filtered codeword information.
[0154] In an embodiment of the present application, the decoding device may map the received signal with a pre-stored codebook, determine the codeword information corresponding to the received signal, and then perform a filter on the codeword information of the user node according to the quality parameter of the channel, thereby obtaining the codeword information after the third filter.
[0155] In the embodiment of the present application, the codeword information after the third screening may be codeword information with better channel quality determined after screening the codeword information of the user node according to the quality parameter of the channel.
[0156] Furthermore, in an embodiment of the present application, when the codeword information of the user node is filtered according to the quality parameter of the channel to obtain the third filtered codeword information, the quality of the channel corresponding to the j-th codeword in the codeword information is determined; when the quality of the channel corresponding to the j-th codeword is greater than the quality parameter of the channel, the j-th codeword is determined as the third filtered codeword information; when the quality of the channel corresponding to the j-th codeword is less than or equal to the quality parameter of the channel, the j-th codeword is deleted.
[0157] In an embodiment of the present application, the screening process can screen out the codeword information within the spherical radius parameter and the codeword information with better channel quality by setting the spherical radius parameter and the channel quality parameter, so as to determine the codeword information participating in subsequent iterative decoding.
[0158] It should be noted that, in the embodiment of the present application, the process of determining the codeword information after the second screening and the process of determining the codeword information after the third screening may be the same, and the embodiment of the present application does not specifically limit this.
[0159] S208: Based on the third filtered codeword information, the codeword information of the resource node and the codeword information of the user node are updated respectively.
[0160] In an embodiment of the present application, the decoding device can filter the codeword information of the user node according to the quality parameters of the channel, obtain the third filtered codeword information, and then update the codeword information of the resource node based on the third filtered codeword information, and at the same time jointly update the codeword information of the user node.
[0161] S209: Filter the codeword information of the resource node according to the spherical radius parameter corresponding to the spherical decoding algorithm to obtain fourth filtered codeword information.
[0162] In an embodiment of the present application, after the decoding device updates the codeword information of the resource node and the codeword information of the user node respectively based on the codeword information after the third screening, it can also screen the codeword information of the resource node according to the spherical radius parameter corresponding to the spherical decoding algorithm, so as to obtain the codeword information after the fourth screening.
[0163] Furthermore, in an embodiment of the present application, when the codeword information of the resource node is screened according to the spherical radius parameter corresponding to the spherical decoding algorithm to obtain the fourth screened codeword information, the Euclidean distance between the candidate constellation point on the k-th resource block in the resource node and the l-th constellation point in the constellation point set corresponding to the received signal is determined. In Euclidean distance When the spherical radius parameter is less than the spherical radius parameter, the code word corresponding to the lth constellation point is determined as the code word information after the fourth screening; in the case of the Euclidean distance When it is greater than or equal to the spherical radius parameter, the codeword corresponding to the lth constellation point is deleted.
[0164] S210: Based on the fourth filtered codeword information, the codeword information of the resource node and the codeword information of the user node are updated respectively to obtain filtered codeword information.
[0165] In an embodiment of the present application, after the decoding device filters the codeword information of the resource node according to the spherical radius parameter corresponding to the spherical decoding algorithm and obtains the fourth filtered codeword information, it can also update the codeword information of the resource node based on the fourth filtered codeword information, and at the same time jointly update the codeword information of the user node, thereby obtaining the filtered codeword information.
[0166] In the embodiment of the present application, the fourth filtered codeword information may be codeword information that meets the requirements of subsequent iterative decoding after filtering the codeword information of the resource node using the spherical radius parameter.
[0167] It should be noted that, in the embodiment of the present application, the process of determining the codeword information after the first screening and the process of determining the codeword information after the fourth screening may be the same, and the embodiment of the present application does not specifically limit this.
[0168] It should be noted that in an embodiment of the present application, after the codeword information of the user node is screened and processed according to the quality parameters of the channel, the codeword information after the third screening is determined. At this time, the channel quality of the codeword information is better. Then, the codeword information of the resource node is screened and processed according to the spherical radius parameters corresponding to the spherical decoding algorithm. When the codeword information after the fourth screening is determined, a further screening process is performed on the codeword information with better channel quality.
[0169] In an embodiment of the present application, the codeword information of the resource node and the codeword information of the user node are respectively filtered and processed according to the quality parameters of the channel and the spherical radius parameters corresponding to the spherical decoding algorithm. After obtaining the filtered codeword information, the decoding device can perform iterative decoding according to the filtered codeword information, thereby obtaining a demodulated signal corresponding to the received signal.
[0170] In summary, through the decoding method proposed in S201 to S210, the decoding device can obtain the codeword information of the received signal based on the equal probability initialization strategy and after mapping the received signal on the pre-stored codebook, the codeword information corresponding to the received signal includes the codeword information of the user node and the codeword information of the resource node; then the codeword information of the resource node is screened once according to the spherical radius parameter corresponding to the spherical decoding algorithm, so as to obtain the first filtered codeword information; then the codeword information of the resource node is updated based on the first filtered codeword information, and the codeword information of the user node is also jointly updated; at the same time, the codeword information of the user node can also be screened according to the quality parameter of the channel to obtain the second filtered codeword information; then the codeword information of the resource node is updated based on the second filtered codeword information, and the codeword information of the user node is jointly updated, so as to obtain the filtered codeword information; the decoding device can also First, the codeword information of the user node is screened according to the quality parameters of the channel, and the codeword information after the third screening can be obtained; then, the codeword information of the resource node is updated based on the codeword information after the third screening, and the codeword information of the user node is also jointly updated; then, the codeword information of the resource node is screened according to the spherical radius parameter corresponding to the spherical decoding algorithm, and the codeword information after the fourth screening can be obtained; then, the codeword information of the resource node can be updated based on the fourth screened codeword information, and the codeword information of the user node is jointly updated to obtain the screened codeword information; finally, according to the quality parameters of the channel and the spherical radius parameter corresponding to the spherical decoding algorithm, the codeword information of the resource node and the codeword information of the user node are screened respectively, and after obtaining the screened codeword information, the decoding device can perform iterative decoding according to the screened codeword information, so as to obtain the demodulated signal corresponding to the received signal.
[0171] It can be seen from this that the decoding device can be based on the equal probability initialization strategy, and after mapping the received signal on the pre-stored code book, it can obtain the codeword information of the user node and the codeword information of the resource node, and then perform a screening process on the codeword information of the resource node and the codeword information of the user node according to the spherical radius parameter corresponding to the spherical decoding algorithm, and perform a screening process on the codeword information of the resource node and the codeword information of the user node according to the quality parameter of the channel, so as to obtain the codeword information after two screenings. Finally, the decoding device can perform iterative decoding according to the screened codeword information to obtain the demodulated signal corresponding to the received signal, thereby improving the accuracy of decoding.
[0172] Based on the above embodiments, another embodiment of the present application provides a decoding method. The advantage of the present application is that it supports multi-user access with non-orthogonal characteristics, uses a designed code book instead of modulation and spread spectrum, and has higher capacity and higher flexibility in access throughput.
[0173] The present invention aims to propose a SCMA decoding method that reduces the bit error rate of the SCMA system in the downlink fading channel by considering both resource nodes and user nodes, and at the same time reduces the decoding complexity.
[0174] Specifically, during the initialization phase, a strategy of equal distribution of initial probabilities for some codewords is employed to improve convergence. After initialization, the posterior probabilities are iteratively updated in the iterative detection receiver. The iterative detection receiver includes a user node decoder and a resource node decoder, which are connected to the user node decoder. The posterior probabilities are jointly and iteratively updated between the resource node decoder and the user node decoder. The update only involves selecting SCPs within the spherical radius and those that further discard certain synthesized constellation points based on channel quality. After multiple iterations, the user node decoder outputs the decoded information after a decision is made by a decision maker.
[0175] Further, Figure 6 The following is a flow chart of the optimization scheme of the SCMA decoding detection algorithm provided in the embodiment of the present application, as shown in FIG. Figure 6 shown.
[0176] S301: Initialization.
[0177] The received signal 502, channel estimation 503 and noise 504 are mapped on the codebook storage unit 501 based on the equal distribution strategy of the initial probability of some codewords, so as to obtain the codeword information corresponding to the received signal.
[0178] S302: Input codeword information into an iterative detection receiver.
[0179] S303: Screen codeword information according to channel quality.
[0180] S304: According to Δ SD Perform codeword information screening.
[0181] It should be noted that the specific execution process proposed in S303 and S304 is only an example of the decoding method proposed in the embodiment of the present application, wherein the execution order of S303 and S304 is not specifically limited.
[0182] S305: Input the filtered codeword information into the decision device for decision.
[0183] First, in the decoding process, we can consider the resource node first, assuming represents the set of candidate SCPs on the kth resource block. Due to the noise n k Due to the existence of , there is a certain Euclidean distance between the received signal constellation point and the SCP (synthetic constellation point), and it will not overlap with any other SCP sent. The Euclidean distance calculation method can be expressed by formula (1):
[0184]
[0185] in Represents the constellation point φ k (l) The corresponding superposition codeword combination, is the Euclidean distance between the lth candidate SCP on physical resource block k and the received signal constellation point, The larger the value, the lower the confidence level of the corresponding SCPs. k (l right ) represents the correct SCPs sent, then the equivalent form of the superimposed codeword combination sent by the user and its corresponding constellation point is Formula (2) can be obtained:
[0186]
[0187] The probability of correct decoding on resource block k is given by formula (3):
[0188]
[0189] Among them, y k For resource node r k The received vector at , β is a real number greater than zero. Noise power σ 2 Determine the spherical decoding radius Δ SD , if and only if The codeword can participate in the subsequent iterative detection process. When , the corresponding SCP is discarded. In addition, the size can be selected according to the user's needs, but Δ SD The size of is also chosen to balance the system bit error rate and algorithm complexity.
[0190] Then after filtering the codeword, the resource node message update can be obtained by formula (4):
[0191]
[0192] Considering the user node, d u Channel coefficient h k,j (k∈ξ j) are different, and the channel gain of each resource node is also different. Then, under the same threshold condition, the codeword x of the jth user mapped to N resource nodes at the same time is j (m j ) N non-zero elements x nj (m j )(1≤n≤N), the SCP (synthetic constellation point) on the nth resource node will also contain the codeword element x of user j nj (m j ), the gains obtained by these resource nodes are also different. The higher the gain, the higher the accuracy of the received information, and the more reliable it is. Therefore, the channel quality can be used as a selection criterion in the codeword screening process to reduce the codewords involved in the iteration. The codeword screening satisfies formula (5):
[0193]
[0194] Among them, k n ,n=1,2,k 1 and k 2 Represents the positions of the two non-zero elements in each codeword, M j Indicates the set of codewords that the user participates in MPA detection. The channel quality of the codewords of the resource nodes participating in the detection is better than that of the other resource nodes.
[0195] In addition, considering that only some code words enter the iterative process after screening, During initialization, the codewords that satisfy formula (5) can be allocated with equal probability to reduce the number of searches and thus reduce the complexity of the algorithm. The initial probability expression of the codeword is as shown in formula (6):
[0196]
[0197] Among them, u j represents the jth user node, r k represents the kth resource node, Represents the mapping from user nodes to resource nodes, m j Indicates M j Subset in the set, M j Represents the set of codewords that the j-th user node participates in detection.
[0198] Then after filtering the codeword, the user node message update can be obtained as formula (7):
[0199]
[0200] Under different signal-to-noise ratios, the algorithm complexity is calculated as kThe average SCPs transmission at the location is used to measure the performance. As the SNR increases, the PCSD-MPA optimization algorithm proposed in this application significantly reduces the calculation of adders and multipliers, which not only reduces the complexity but also reduces the number of retrievals of the algorithm. In terms of bit error rate performance, as the number of iterations increases, the bit error rate also decreases exponentially. However, it is necessary to select a suitable Δ SD The relationship between bit error rate and complexity is balanced by taking the value and the number of iterations.
[0201] The specific implementation is as follows:
[0202] 1. An optimization scheme for the SCMA decoding and detection algorithm uses a partial codeword sphere decoding and detection algorithm. During the initialization phase, this algorithm uses a strategy of equal distribution of initial probabilities for partial codewords to improve convergence. It also considers channel quality to further discard certain synthetic constellation points to reduce computational complexity. This effectively reduces the complexity of the multi-user detection algorithm while maintaining the bit error rate.
[0203] 2. According to requirement 1, if the codebook size M = 3 and the number of users d f =3, then the resource node r k There are 4 participating in the MPA iterative operation 3 = 64 SCPs. Assume Represents the set of candidate SCPs on the kth resource block, then the Euclidean distance between the received signal constellation point and the SCP can be expressed as above formula (1), where Represents the constellation point φ k (l) The corresponding superposition codeword combination, is the Euclidean distance between the lth candidate SCP on physical resource block k and the received signal constellation point.
[0204] Use φ k (l right ) represents the correct SCPs sent, then the equivalent form of the superimposed codeword combination sent by the user and its corresponding constellation point is The probability of correct decoding on resource block k can be expressed as above formula (3), where y k For resource node r k The received vector at , β is a real number greater than zero. Noise power σ 2 Determine the spherical decoding radius Δ SD , if and only if The codeword can participate in the subsequent iterative detection process. , the corresponding SCP is discarded.
[0205] 3. According to requirements 1 and 2, after filtering the codewords, the resource node message is updated as shown in formula (4).
[0206] 4. According to requirement 1, the channel quality is used as a selection criterion in the codeword screening process to reduce the codewords involved in the iteration. The codeword screening formula is expressed as the above formula (5). n ,n=1,2,k 1 and k 2 Represents the positions of the two non-zero elements in each codeword, M j Indicates the set of codewords that the user participates in MPA detection. The channel quality of the codewords of the resource nodes participating in the detection is better than that of the other resource nodes.
[0207] 5. According to requirements 1 and 4, During initialization, the code words that satisfy the formula can be allocated with equal probability. The initial probability expression of the code words is as shown in the above formula (6), thereby reducing the number of searches and thus reducing the complexity of the algorithm.
[0208] 6. After filtering the codewords according to requirements 1, 2, 4, and 5, the user node message update is expressed as in formula (7).
[0209] 7. According to requirements 1, 2, 3, 4, 5, and 6, Δ needs to be adjusted according to user needs. SD The value of , select the appropriate number of iterations.
[0210] 8. According to 1, 2, 3, 4, 5, 6, 7, you need to use Δ SD The value of is used to balance complexity and bit error rate.
[0211] Further, Figure 7 The complexity comparison diagram of the SCMA decoding detection algorithm provided in the embodiment of this application under different signal-to-noise ratios is as follows: Figure 7 As shown, the decoding detection algorithm proposed in this application is less complex than the MPA algorithm.
[0212] Further, Figure 8 The comparison chart of the number of searches under different signal-to-noise ratios for the SCMA decoding detection algorithm provided in the embodiment of this application is as follows: Figure 8 As shown, the number of retrievals of the decoding detection algorithm proposed in this application decreases faster than that of the MPA algorithm and the SD MPA algorithm as the signal-to-noise ratio increases.
[0213] Further, Figure 9 The SCMA decoding detection algorithm provided in the embodiment of the present application has a bit error rate comparison chart at different iteration times, as shown in FIG. Figure 9 As shown, the bit error rate of the decoding detection algorithm proposed in this application decreases as the number of iterations increases.
[0214] It should be noted that, in the embodiment of the present application, the user can select different numbers of iterations according to different requirements for the bit error rate.
[0215] Based on the same inventive concept as the above embodiments, the present embodiment provides a decoding device. Figure 10 Schematic diagram of the structure of the decoding device provided in the embodiment of the present application Figure 2 ,like Figure 10 As shown, the decoding device 100 may include:
[0216] Acquisition module 1001 maps the received signal with a pre-stored codebook to obtain codeword information corresponding to the received signal; wherein the codeword information includes codeword information of the resource node and codeword information of the user node; based on the channel quality parameter and the spherical radius parameter corresponding to the spherical decoding algorithm, the codeword information of the resource node and the codeword information of the user node are respectively filtered and processed to obtain the filtered codeword information; iterative decoding is performed based on the filtered codeword information to obtain a demodulated signal corresponding to the received signal.
[0217] In some embodiments, the obtaining module 1001 is further configured to: determine a probability parameter based on an equal probability initialization strategy and an initial codeword set corresponding to the user node; and map the received signal with a pre-stored codebook based on the probability parameter to obtain codeword information of the resource node and codeword information of the user node.
[0218] In some embodiments, the acquisition module 1001 is further used to: filter the codeword information of the resource node according to the spherical radius parameter corresponding to the spherical decoding algorithm to obtain the first filtered codeword information; update the codeword information of the resource node and the codeword information of the user node based on the first filtered codeword information; filter the codeword information of the user node according to the quality parameter of the channel to obtain the second filtered codeword information; update the codeword information of the resource node and the codeword information of the user node based on the second filtered codeword information to obtain the filtered codeword information.
[0219] In some embodiments, the acquisition module 1001 is further used to: filter the codeword information of the user node according to the quality parameters of the channel to obtain the third filtered codeword information; update the codeword information of the resource node and the codeword information of the user node based on the third filtered codeword information; filter the codeword information of the resource node according to the spherical radius parameter corresponding to the spherical decoding algorithm to obtain the fourth filtered codeword information; update the codeword information of the resource node and the codeword information of the user node based on the fourth filtered codeword information to obtain the filtered codeword information.
[0220] In some embodiments, the obtaining module 1001 is further configured to determine the Euclidean distance between the candidate constellation point on the k-th resource block in the resource node and the l-th constellation point in the constellation point set corresponding to the received signal. In the Euclidean distance When the Euclidean distance is less than the spherical radius parameter, the codeword corresponding to the lth constellation point is determined as the first filtered codeword information; When the value is greater than or equal to the spherical radius parameter, the codeword corresponding to the l-th constellation point is deleted.
[0221] In some embodiments, the obtaining module 1001 is further used to: determine the quality of the channel corresponding to the j-th codeword in the codeword information; when the quality of the channel corresponding to the j-th codeword is greater than the quality parameter of the channel, determine the j-th codeword as the second filtered codeword information; when the quality of the channel corresponding to the j-th codeword is less than or equal to the quality parameter of the channel, delete the j-th codeword.
[0222] The present application also provides a computer program product, including a computer program or instructions, which, when executed by a processor, implements some or all of the steps in the above method. The computer program product can be implemented specifically by hardware, software, or a combination thereof. The computer program product can be implemented specifically by hardware, software, or a combination thereof. In an optional embodiment, the computer program product is embodied as a computer storage medium. In another optional embodiment, the computer program product is embodied as a software product, such as a software development kit (SDK), etc.
[0223] In the embodiments of the present application, further, Figure 11 A schematic diagram of the structure of the decoding device provided in the embodiment of the present application is shown in FIG. Figure 11 As shown, the decoding device 200 proposed in the embodiment of the present application may include a processor 1101 , a memory 1102 , a communication interface 1103 , and a bus 1104 for connecting the processor 1101 , the memory 1102 , and the communication interface 1103 .
[0224] In an embodiment of the present application, the processor 1101 may be at least one of an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), a central processing unit (CPU), a controller, a microcontroller, and a microprocessor. It is understood that for different devices, the electronic device used to implement the functions of the processor may also be other, and the embodiment of the present application does not specifically limit this. The decoding device 200 may also include a memory 1102, which may be connected to the processor 1101, wherein the memory 1102 is used to store executable program code, the program code including computer operating instructions, and the memory 1102 may include a high-speed RAM memory, and may also include a non-volatile memory, for example, at least two disk memories.
[0225] In the embodiment of the present application, the bus 1104 is used to connect the communication interface 1103, the processor 1101 and the memory 1102, as well as the mutual communication between these devices.
[0226] In actual applications, the above-mentioned memory 1102 can be a volatile memory (volatile memory), such as random access memory (Random-ACCess Memory, RAM); or a non-volatile memory (non-volatile memory), such as read-only memory (Read-Only Memory, ROM), flash memory (flash memory), hard disk drive (Hard Disk Drive, HDD) or solid-state drive (SSD); or a combination of the above types of memory, and provide instructions and data to the processor 1101.
[0227] Furthermore, in an embodiment of the present application, the memory 1102 is used to store a computer program that can be run on the processor;
[0228] The processor 1101 is configured to, when running the computer program, perform mapping processing based on the received signal and a pre-stored codebook based on an equal probability initialization strategy to determine codeword information corresponding to the received signal; wherein the codeword information includes codeword information of a resource node and codeword information of a user node; filter the codeword information of the resource node and the codeword information of the user node based on a channel quality parameter and a spherical radius parameter corresponding to a spherical decoding algorithm to obtain filtered codeword information; and perform iterative decoding based on the filtered codeword information to obtain a demodulated signal corresponding to the received signal.
[0229] In addition, the functional modules in this embodiment may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated units may be implemented in the form of hardware or software functional modules.
[0230] If the integrated unit is implemented in the form of a software functional module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment, or the part that contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a personal computer, server, or network device, etc.) or a processor to execute all or part of the steps of the method of this embodiment. The aforementioned storage medium includes various media that can store program code, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0231] An embodiment of the present application provides a computer-readable storage medium having a program stored thereon, which implements the decoding method described above when executed by a processor.
[0232] Specifically, the program instructions corresponding to a decoding method in this embodiment can be stored on a storage medium such as an optical disk, a hard disk, or a USB flash drive. When the program instructions corresponding to a decoding method in the storage medium are read or executed by an electronic device, the following steps are included:
[0233] Based on an equal probability initialization strategy, mapping processing is performed according to the received signal and a pre-stored codebook to determine codeword information corresponding to the received signal; wherein the codeword information includes codeword information of a resource node and codeword information of a user node;
[0234] filtering the codeword information of the resource node and the codeword information of the user node according to a channel quality parameter and a spherical radius parameter corresponding to a spherical decoding algorithm to obtain filtered codeword information;
[0235] Iterative decoding is performed according to the filtered codeword information to obtain a demodulated signal corresponding to the received signal.
[0236] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of hardware embodiments, software embodiments, or embodiments combining software and hardware. Furthermore, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage and optical storage, etc.) containing computer-usable program code.
[0237] The present application is described with reference to the implementation flow charts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flow charts and / or block diagrams, as well as the combination of processes and / or boxes in the flow charts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the implementation flow charts. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0238] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which is implemented in the implementation flow diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0239] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process described in the flowchart. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0240] The above description is merely a preferred embodiment of the present application and is not intended to limit the scope of protection of the present application.
Claims
1. A decoding method, characterized in that: The decoding method is applied to a decoding device, and the decoding method includes: Mapping the received signal with a pre-stored codebook to obtain codeword information corresponding to the received signal; wherein the codeword information includes codeword information of a resource node and codeword information of a user node; filtering the codeword information of the resource node and the codeword information of the user node according to a channel quality parameter and a spherical radius parameter corresponding to a spherical decoding algorithm to obtain filtered codeword information; Iterative decoding is performed according to the filtered codeword information to obtain a demodulated signal corresponding to the received signal.
2. The decoding method according to claim 1, wherein: The filtering of the codeword information of the resource node and the codeword information of the user node respectively according to the channel quality parameter and the spherical radius parameter corresponding to the spherical decoding algorithm to obtain the filtered codeword information includes: Filtering the codeword information of the resource node according to a spherical radius parameter corresponding to the spherical decoding algorithm to obtain first filtered codeword information; updating the codeword information of the resource node and the codeword information of the user node respectively based on the first filtered codeword information; Filtering the codeword information of the user node according to the quality parameter of the channel to obtain second filtered codeword information; The codeword information of the resource node and the codeword information of the user node are updated respectively based on the second filtered codeword information to obtain the filtered codeword information.
3. The decoding method according to claim 1, wherein: The filtering of the codeword information of the resource node and the codeword information of the user node respectively according to the channel quality parameter and the spherical radius parameter corresponding to the spherical decoding algorithm to obtain the filtered codeword information includes: Filtering the codeword information of the user node according to the quality parameter of the channel to obtain third filtered codeword information; updating the codeword information of the resource node and the codeword information of the user node respectively based on the third filtered codeword information; Filtering the codeword information of the resource node according to a spherical radius parameter corresponding to the spherical decoding algorithm to obtain fourth filtered codeword information; The codeword information of the resource node and the codeword information of the user node are updated respectively based on the fourth filtered codeword information to obtain the filtered codeword information.
4. The decoding method according to claim 2 or 3, characterized in that: The filtering of the codeword information of the resource node according to the spherical radius parameter corresponding to the spherical decoding algorithm to obtain the first filtered codeword information includes: Determine the Euclidean distance D between the candidate constellation point on the kth resource block in the resource node and the lth constellation point in the constellation point set corresponding to the received signal k (l) ; In the Euclidean distance D k (l) When the value of the first constellation point is less than the spherical radius parameter, the codeword corresponding to the l-th constellation point is determined as the first filtered codeword information; In the Euclidean distance D k (l) When the value is greater than or equal to the spherical radius parameter, the codeword corresponding to the l-th constellation point is deleted.
5. The decoding method according to claim 2 or 3, characterized in that: The filtering the codeword information of the user node according to the channel quality parameter to obtain the second filtered codeword information includes: Determining the quality of a channel corresponding to the jth codeword in the codeword information; When the quality of the channel corresponding to the j-th codeword is greater than the quality parameter of the channel, determining the j-th codeword as the second filtered codeword information; If the quality of the channel corresponding to the j-th codeword is less than or equal to the quality parameter of the channel, the j-th codeword is deleted.
6. The decoding method according to any one of claims 1 to 3, characterized in that: Mapping the received signal with a pre-stored codebook to obtain codeword information corresponding to the received signal includes: Determine a probability parameter according to an equal probability initialization strategy and an initial codeword set corresponding to the user node; The received signal is mapped to a pre-stored codebook according to the probability parameter to obtain codeword information of the resource node and codeword information of the user node.
7. A decoding device, characterized in that: The decoding device comprises: An acquisition module is configured to map a received signal with a pre-stored codebook to obtain codeword information corresponding to the received signal; wherein the codeword information includes codeword information of a resource node and codeword information of a user node; based on a channel quality parameter and a spherical radius parameter corresponding to a spherical decoding algorithm, the codeword information of the resource node and the codeword information of the user node are respectively filtered to obtain filtered codeword information; and iterative decoding is performed based on the filtered codeword information to obtain a demodulated signal corresponding to the received signal.
8. A decoding device, characterized in that: include: A processor and a storage medium storing executable instructions, wherein the storage medium relies on the processor to perform operations through a communication bus, and when the executable instructions are executed by the processor, the decoding method described in any one of claims 1 to 6 is executed.
9. A computer storage medium, characterized in that Executable instructions are stored, and when the executable instructions are executed by a processor, the processor performs the decoding method according to any one of claims 1 to 6.
10. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the decoding method according to any one of claims 1 to 6 is implemented.