Cascaded Random Access Decoding Method Based on External Code Assistance and Related Devices

By adopting a cascading random access decoding method based on external code assistance in the wireless communication system, using external code decoding information to filter candidate decoding codewords, the problem of insufficient performance and time slot competition during massive user data access is solved, and efficient user data access is achieved.

CN114978198BActive Publication Date: 2025-06-13BEIJING UNIV OF POSTS & TELECOMM
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210302171.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-24
Publication Date
2025-06-13
Estimated Expiration
2042-03-24

AI Technical Summary

Technical Problem

In wireless communication systems, when facing massive user addresses and massive user data, the existing technology lacks data access performance, especially in the case of serious time slot competition, and it is difficult to ensure the success of decoding.

Method used

A cascading random access decoding method based on external code assistance is proposed. By obtaining a serially cascading coded aliased coded words, performing list decoding and external code decoding, using external code decoding information to filter candidate decoding code words, determining the number of users, and decoding and separation of the surviving coded words to complete the access of user data.

Benefits of technology

It effectively improves the performance of the communication system in data access, solves the problem of time slot competition, and realizes efficient access to massive user data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114978198B_ABST
    Figure CN114978198B_ABST
Patent Text Reader

Abstract

The present application provides a cascaded random access decoding method and related devices based on outer code assistance. The method includes: obtaining a plurality of serially concatenated coded aliased codewords, each codeword aliasing the user data sent by all access users accessing within a time slot; performing list decoding on the aliased codewords to obtain a plurality of candidate outer codes; performing outer code decoding on the outer codes to obtain the outer code decoding information of the candidate decoded codewords; for each candidate decoded codeword, determining the number of users implied by the candidate decoded codeword according to the corresponding outer code decoding information; when the number of users is less than or equal to the discrimination threshold, using the candidate decoded codeword as the surviving decoded codeword of the list decoding, and performing outer code decoding separation to obtain all user data accessing within the time slot, and collecting the decoding results of all time slots can complete the access of all user data within the access frame. This method can effectively improve the performance of the massive access random access coding scheme with a cascaded structure in a wireless communication system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present application relate to the field of wireless communication technologies, and in particular, to a concatenated random access decoding method assisted by an outer code and related devices. Background Art

[0002] In the scenario of non-cooperative random access in the current wireless communication system, it is necessary to face the growing demand for user data access. Especially when facing user data access with a large number of user addresses on the order of more than 10 6 magnitude, it often leads to insufficient performance of the non-cooperative communication system in data access.

[0003] Based on this, a solution that can enhance the performance of the communication system is needed. Summary of the Invention

[0004] In view of this, the purpose of the present application is to propose a concatenated random access decoding method assisted by an outer code and related devices.

[0005] Based on the above purpose, the present application provides a concatenated random access decoding method assisted by an outer code, which is applied to the receiving end of a serial concatenated random access coding system. The method includes:

[0006] Obtain a plurality of serially concatenated coded aliased codewords, where each of the aliased codewords aliases the user data of all accessing users within a time slot;

[0007] Perform list decoding on each of the serially concatenated coded aliased codewords to obtain a plurality of candidate decoded codewords;

[0008] Perform outer code decoding on each of the candidate decoded codewords to obtain the outer code decoding information of the candidate decoded codeword;

[0009] For each of the candidate decoded codewords, determine the number of users contained in the candidate decoded codeword within the time slot according to the corresponding outer code decoding information;

[0010] In response to determining that the number of users corresponding to the candidate decoded codeword is less than or equal to a preset discrimination threshold, use the candidate decoded codeword as a surviving codeword, perform decoding separation on the surviving codeword to obtain the user data within the time slot, and complete the access of the user data.

[0011] Further, the performing outer code decoding on each of the candidate decoded codewords to obtain the outer code decoding information of the candidate decoded codeword includes:

[0012] Based on the candidate decoded codeword, determine the syndrome vector of the candidate decoded codeword;

[0013] Based on the syndrome vector, construct an error location polynomial according to Newton's identities and determine the error location polynomial;

[0014] Solve the roots of the error location polynomial;

[0015] Take the syndrome vector, the error location polynomial and the roots of the error location polynomial as the outer code decoding information.

[0016] Furthermore, determining the syndrome vector of the candidate decoded codeword corresponding to the time slot based on the candidate decoded codeword includes:

[0017] Determine the odd bits in the syndrome vector according to the candidate decoded codeword;

[0018] Determine the even bits of the syndrome vector according to the following formula:

[0019]

[0020] where S i represents the even bits of the syndrome vector;

[0021] Determine the syndrome vector using the odd bits and the even bits.

[0022] Furthermore, determining the number of users contained in the candidate decoded codeword in the time slot according to the corresponding outer code decoding information includes:

[0023] In response to the power of the error location polynomial being greater than the preset discrimination threshold, determine that the number of users is greater than the discrimination threshold;

[0024] In response to the power of the error location polynomial being less than or equal to the preset discrimination threshold and the power of the error location polynomial not being equal to the number of roots of the error location polynomial, determine that the number of users is greater than the discrimination threshold;

[0025] In response to the power of the error location polynomial being less than or equal to the preset discrimination threshold and the power of the error location polynomial being equal to the number of roots of the error location polynomial, determine that the number of users is less than or equal to the discrimination threshold;

[0026] In response to the syndrome vector being 0, determine that the number of users is 0.

[0027] Furthermore, determining the number of users contained in the candidate decoded codeword in the time slot further includes:

[0028] In response to determining that the number of users corresponding to all the candidate decoded codewords is 0, jump out of the access of the user data;

[0029] In response to determining that the number of users corresponding to all the candidate decoded codewords is greater than the preset discrimination threshold, discard all the candidate decoded codewords and return a decoding separation failure.

[0030] Further, the step of taking the candidate decoded codeword as a surviving codeword in response to determining that the number of users corresponding to the candidate decoded codeword is less than or equal to the preset discrimination threshold includes:

[0031] In response to determining that there are multiple candidate decoded codewords that satisfy that the number of users corresponding to them is greater than 0 and less than or equal to the preset discrimination threshold, randomly select one of the candidate decoded codewords as the surviving codeword;

[0032] In response to determining that there is a unique candidate decoded codeword that satisfies that the number of users corresponding to it is greater than 0 and less than or equal to the preset discrimination threshold, take this candidate decoded codeword as the surviving codeword.

[0033] Further, the step of obtaining a plurality of serially concatenated coded overlapping codewords includes:

[0034] The receiving end receives the overlapping signals of multiple time slots within each transmission frame;

[0035] Each time slot includes an overlapping signal.

[0036] Based on the same inventive concept, the present application further provides a concatenated random access decoding device assisted by an outer code, including:

[0037] A receiving module, configured to: obtain a plurality of serially concatenated coded overlapping codewords, where each overlapping codeword overlaps the user data of all accessing users within a time slot;

[0038] An inner code decoding module, configured to: perform list decoding on each serially concatenated coded overlapping codeword to obtain a plurality of candidate decoded codewords;

[0039] An outer code decoding module, configured to: perform outer code decoding on each candidate decoded codeword to obtain the outer code decoding information of this candidate decoded codeword;

[0040] A user number analysis module, configured to: for each candidate decoded codeword, determine the number of users contained in this candidate decoded codeword within the time slot according to the corresponding outer code decoding information;

[0041] A determination and access module, configured to: in response to determining that the number of users corresponding to the candidate decoded codeword is less than or equal to the preset discrimination threshold, take this candidate decoded codeword as a surviving codeword, perform decoding separation on the surviving codeword to obtain the user data within the time slot, and complete the access of the user data.

[0042] Based on the same inventive concept, the present application also provides an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, it implements the cascade random access decoding method assisted by an outer code as described in any one of the above.

[0043] Based on the same inventive concept, the present application also provides a non-transitory computer-readable storage medium. The non-transitory computer-readable storage medium stores computer instructions for causing the computer to execute the cascade random access decoding method assisted by an outer code as described above.

[0044] As can be seen from the above, the cascade random access decoding method assisted by an outer code and related devices provided by the present application are based on the aliased codewords of serial concatenated coding constructed by T-Fold codes, comprehensively considering the correlation between the inner code and the outer code of the aliased codewords of serial concatenated coding. When a large amount of user data is aliased in the aliased codewords of serial concatenated coding, first perform list decoding on the inner code, use the relevant information during outer code coding as auxiliary information, and directly perform outer code decoding on all the obtained candidate decoded codewords to obtain outer code decoding information, so as to effectively utilize the characteristics of the outer code itself for decoding, without having to split the inner code decoding process and the outer code decoding process, thereby achieving performance improvement.

[0045] Specifically, the screening of candidate decoded codewords is designed to be performed after outer code decoding, and the obtained candidate decoded codewords are further screened and determined using the outer code decoding information, so as to effectively solve the problem of time slot competition. Finally, the obtained surviving codewords are decoded and separated to achieve data access. It can be seen that this method effectively utilizes the characteristics of the outer code itself to improve the performance of the communication system in terms of data access. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] In order to more clearly illustrate the technical solutions in the present application or related technologies, the following will briefly introduce the drawings required for use in the embodiments or related technology descriptions. Obviously, the drawings in the following description are only the embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0047] Figure 1 It is a flowchart of the cascade random access decoding method assisted by an outer code according to an embodiment of the present application;

[0048] Figure 2 It is a schematic diagram of the encoding and decoding process according to an embodiment of the present application;

[0049] Figure 3 It is a schematic diagram of the selection of surviving codewords according to an embodiment of the present application;

[0050] Figure 4 Schematic diagram of the module of the cascade random access decoding device based on outer code assistance according to an embodiment of the present application;

[0051] Figure 5 Schematic diagram of the structure of an electronic device according to an embodiment of the present application. Detailed implementation manners

[0052] In order to make the objectives, technical solutions and advantages of the present application clearer and more understandable, the present application will be further described in detail below with reference to specific embodiments and the accompanying drawings.

[0053] It should be noted that, unless otherwise defined, the technical terms or scientific terms used in the embodiments of the present application should have the ordinary meanings understood by those of ordinary skill in the field to which the present application belongs. The "first", "second" and similar terms used in the embodiments of the present application do not indicate any order, quantity or importance, but are only used to distinguish different components. The terms such as "including" or "comprising" mean that the elements or objects appearing before this word cover the elements or objects listed after this word and their equivalents, without excluding other elements or objects. The terms such as "connected" or "coupled" are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. The terms such as "upper", "lower", "left" and "right" are only used to represent relative positional relationships. When the absolute position of the object being described changes, the relative positional relationship may also change accordingly.

[0054] As described in the background art section, the related cascade random access decoding method based on outer code assistance is still difficult to meet the needs of massive user data access in actual scenarios.

[0055] The applicant found during the implementation of the present application that the main problem with the related cascade random access decoding method based on outer code assistance is that: when accessing data, it is necessary to decode the received serially concatenated coded overlapping codewords. Since this code has a serial structure with an outer code and an inner code, in the related art, the decoding of the inner code and the decoding of the outer code are often strictly separated and performed separately. That is, after the inner code decoding, a correct result is selected as the surviving codeword according to certain rules, and then this surviving codeword is fed into the outer code decoder for separate outer code decoding.

[0056] In the above method, since the outer code and the inner code are decoded separately, each requires different information and a complex decoding process is designed for each, which will lead to poor performance of the communication system in terms of data access. At the same time, when the sending end sends user data, there is no coordination between each user and the receiving end. Especially when facing a large number of user addresses and a large amount of user data, the decoding process will inevitably introduce time slot competition among users. It is difficult to ensure that the surviving codewords selected after inner code decoding necessarily have a reasonable number of users, and too many user numbers often exceed the error correction ability of outer code decoding, resulting in the failure of outer code decoding. Therefore, the above decoding method is very weak in the face of time slot competition.

[0057] The BCH code used in this application refers to a cyclic code with the full name of Bose–Chaudhuri–Hocquenghem code. The BCH code can divide the information sequence to be sent by the information source into message groups in groups of fixed λ bits, and then independently transform each message group into a binary bit vector of length γ (γ > λ), which is called a codeword.

[0058] The T-Fold code used in this application refers to a folded binary code based on the BCH code that can correct T errors.

[0059] The applicant found in the research that the BCH code is a powerful cyclic code with a strict algebraic structure for error detection and correction. Therefore, the T-Fold code constructed based on the BCH parity-check matrix can use the relevant information during its decoding as auxiliary information for decoding according to its own coding characteristics.

[0060] At the same time, the T-fold code constructed based on the BCH code parity-check matrix can adopt the BMA algorithm (Berlekamp-Massey algorithm) for decoding. After decoding by the BMA algorithm, it can return whether there is a user, and can also return information such as whether the BMA algorithm decoding is successful.

[0061] The applicant also found in the research that if the T-fold code constructed based on the BCH code parity-check matrix is used as the outer code, then in its decoding process, the screening of the surviving codewords can be placed after the outer code decoding, that is, the inner code can be decoded first, and the outer code decoding is performed on all the obtained inner code decoding results to solve the problem of time slot competition.

[0062] Hereinafter, through specific embodiments and specific examples, the technical method of this application will be described in detail.

[0063] Refer to Figure 1 and Figure 2 , a cascade random access decoding method assisted by an outer code according to an embodiment of this application, is applied to the receiving end of a serial cascade random access coding system, and includes the following steps:

[0064] Step S101: Obtain multiple serially concatenated coded aliased codewords, where each of the aliased codewords aliases the user data of all accessing users within a time slot.

[0065] In an embodiment of the present application, taking the Figure 2 schematic diagram of the encoding and decoding process shown as an example, there are multiple users and a base station; among them, multiple users together serve as the sending end. The sending end performs serially concatenated coding on the message sequences to be sent by each user. That is to say, the user data of multiple users is aliased in this coding, and the coded signal is sent to the receiving end. In this embodiment, the base station is used as the receiving end to decode the received coding and screen out the final surviving codewords, so as to decode and separate the user data from the surviving codewords.

[0066] Among them, the number of users at the sending end is a massive number of users exceeding the order of magnitude of 10 6 i.e., there are a massive number of users of the order of magnitude of 10 6 Among them, the massive number of users will send out a giant address random access code, which aliases the user data of the above-mentioned massive number of users within a time slot. In this embodiment, the base station serving as the receiving end also needs to decode and access the giant address random access code.

[0067] In this embodiment, the serially concatenated coded aliased codewords received by the receiving end are obtained by the sending end through a specific coding method. Specifically, the sending end constructs a T-Fold code based on the BCH code parity-check matrix and uses it as the outer code, and then performs inner code coding on the T-Fold code to obtain the above-mentioned serially concatenated coded aliased codewords. Therefore, the decoding of the received coding by the receiving end will also be realized based on the auxiliary information of the BCH parity-check matrix.

[0068] Further, the specific process of the sending end constructing the serially concatenated coded aliased codewords and the communication process with the receiving end are as follows:

[0069] First, as Figure 2 shown, the base station will send a beacon for transmission access in a broadcast form, and the sending end can continuously execute Step S201: Listen for the broadcast beacon to monitor the access beacon signal of the base station in real time.

[0070] Then, after the sending end monitors the access beacon signal of the base station, it executes Step S202: Establish time slot synchronization and frame synchronization.

[0071] In this step, each user will establish frame synchronization and time slot synchronization of the transmission frame with the base station. Among them, the transmission frame can be, for example, a data frame of a Mac frame and contains multiple time slots.

[0072] Further, based on the completion of the above synchronization process, the sender executes step S203 and performs outer code encoding.

[0073] In this step, a binary BCH code with the following parameters is first constructed:

[0074] The code length is: 2 B -1; the number of parity bits is: (2 B -1)-k ≤ mT; the minimum distance is: d min ≥ 2T + 1.

[0075] Where B is any integer greater than or equal to 3, and T represents that in the group with the above code length, this BCH code can correct any combination of T or fewer errors, and T < 2 B-1 , in the following user number determination process, T can be used as a preset discrimination threshold.

[0076] Further, the generating polynomial of this BCH code is determined based on its roots in the Galois field GF(2 B ), and further, the parity-check matrix H of the BCH code can be obtained. The specific form of this BCH code parity-check matrix is:

[0077]

[0078] Where α represents a primitive element in the Galois field GF(2 B ), and this generating polynomial is the lowest-degree polynomial in the Galois field with α, α 2 , α 3 , …, α 2T as roots; further, one column in this BCH code parity-check matrix can be used as a codeword of this T-Fold code.

[0079] Further, this BCH code parity-check matrix also has the following characteristics:

[0080] All elements in H are taken from the Galois field GF(2 B ); each element of GF(2 B ) can be represented as a B-dimensional vector over the Galois field GF(2); and it has the dimension: T rows, 2 B -1 = n columns. The first row contains all non-zero elements in GF(2 B ), that is, for a message sequence of length B, the corresponding column can be found in the first row; the length of each column vector is equal to T, that is, the error-correcting ability T of this T-Fold code, that is, the ability to distinguish and separate the maximum number of different users T when multiple different T-fold codes are superimposed together.

[0081] In the encoding process of this embodiment, based on the above BCH code check matrix, a T-Fold code can be constructed as the random access code, that is, the encoding of the outer code in this embodiment.

[0082] First, for the message sequence M to be transmitted, with a length of B and an error correction capability of T, the above BCH code check matrix H is further constructed into a BCH code check matrix for correcting T errors based on the GF(2 B ) field as follows

[0083]

[0084] where the symbol × is used to indicate the two dimensions of a matrix.

[0085] Then, determine the position of the message sequence M to be transmitted in the first row: index(M).

[0086] Finally, select the i = index(M) column where it is located as the corresponding T-Fold codeword, that is, the outer codeword:

[0087] C T-Fold (M) = (α i , α 3i , …, α (2T-1)i ).

[0088] where the code rate of this outer codeword is

[0089] Furthermore, based on the above outer code encoding, the sender executes step S204 and performs inner code encoding.

[0090] In this embodiment, since in the following access method, list decoding is adopted for the decoding process of the inner code, it is necessary to adopt an inner code encoding scenario suitable for list decoding during the inner code encoding process. It can be an encoding designed and constructed for short code lengths, such as polar codes, tail-biting convolutional codes, RS codes (Reed-Solomon codes), etc. In this embodiment, the encoding method of the inner code is not specifically limited.

[0091] Furthermore, an appropriate encoding method is adopted to perform inner code encoding on the T-Fold code after outer code encoding, and the codeword after completing inner code encoding is represented as: C in (C T-Fold (M)), and this codeword is the above-mentioned aliased codeword of serial concatenated coding, which aliases the user data from multiple users.

[0092] Furthermore, based on the above completed inner code encoding, the sender executes step S205, modulates the signal and sends it.

[0093] Specifically, the sending end maps the codeword C in (C T-Fold (M)) to modulation symbols of BPSK (Binary Phase Shift Keying), and within the same transmission frame, according to the time slots randomly selected by each user, simultaneously completes the sending of the user data of all users within the said transmission frame; wherein, each transmission frame contains multiple time slots, and each time slot has a serially concatenated coded overlapping codeword. At this time, the user data overlapped by this codeword covers all users within the corresponding time slot.

[0094] Furthermore, the sending process of the sending end can be carried out in the manner of a Gaussian multiple access random access channel.

[0095] Furthermore, the receiving end executes step S206, receiving the channel output.

[0096] Specifically, the data output by the channel is the above-mentioned serially concatenated coded overlapping codeword after mapping. Therefore, through the output of the receiving channel, the receiving end can receive the serially concatenated coded overlapping codewords within all its time slots within one transmission frame.

[0097] Furthermore, the receiving end will obtain multiple serially concatenated coded overlapping codewords corresponding to each time slot.

[0098] Furthermore, the receiving end executes step S207, decoding the serially concatenated coded overlapping codeword and accessing the data.

[0099] Specifically, the following step S102 and step S103 specifically describe the process of decoding the serially concatenated coded overlapping codeword; step S104 and step S105 specifically describe the selection of the decoding result and the process of accessing the data.

[0100] Step S102: Perform list decoding on each of the serially concatenated coded overlapping codewords to obtain multiple candidate decoded codewords.

[0101] In this step S102, since the receiving end decodes the inner code and the outer code relatively independently, list decoding can be adopted to decode the inner code. Moreover, under the condition of a short time slot, near-capacity performance can be achieved.

[0102] Specifically, the serially concatenated coded overlapping codeword can be fed into the inner code decoder, and the decoding algorithm executed by this inner code decoder is the above-mentioned list decoding. Based on the above example, different inner code encoding methods can be selected during the encoding process, and then in the inner code decoding process, let the inner code decoder execute the list decoding algorithm corresponding to the encoding method.

[0103] For example, when using a polar code for inner code encoding, successive cancellation list decoding of the polar code can be adopted in inner code decoding; when using a tail-biting convolutional code for inner code encoding, list Viterbi algorithm of the tail-biting convolutional code can be adopted in inner code decoding; when using a RS code for inner code encoding, sequential statistical decoding of the RS code can be adopted in inner code decoding, etc.

[0104] Further, for each superimposed codeword of serially concatenated coding, after passing through inner code decoding at the receiving end, multiple candidate decoded codewords corresponding to the superimposed codeword of serially concatenated coding can be obtained within the corresponding time slot, which is represented as L in this embodiment, and can also be referred to as L inner code decoding results.

[0105] Among them, each candidate decoded codeword represents an outer codeword that superimposes multiple user data.

[0106] Step S103: Perform outer code decoding on each of the candidate decoded codewords to obtain the outer code decoding information of the candidate decoded codeword.

[0107] In the embodiments of the present application, the receiving end adopts the BMA algorithm (Berlekamp-Massey algorithm) based on the BCH code parity-check matrix to perform outer code decoding on the L candidate decoded codewords obtained in step S102.

[0108] In this embodiment, the process of outer code decoding includes four parts: calculating the syndrome vector, constructing the error-location polynomial, solving the roots of the error-location polynomial, and screening the surviving codewords.

[0109] First, the receiving end calculates the syndrome vector for each candidate decoded codeword.

[0110] In this embodiment, it is preset that the number of users in the i-th time slot is w, and the column numbers corresponding to this time slot in the BCH code parity-check matrix are: {i 1 , i 2 , …, i j , …, i w}.

[0111] Further, it can be considered that the outer codeword that superimposes multiple user data received in this time slot is:

[0112]

[0113] Further, the above-mentioned outer codeword is used as the odd bits in the syndrome vector.

[0114] For the remaining even bits in the syndrome vector, they can be obtained according to the following relational expressions:

[0115]

[0116] Among them, i represents the number of the even positions in the syndrome vector.

[0117] Specifically, when the even position S to be solved i , and the remainder of its number i divided by 2 is odd, that is is odd, the even position with number i can be directly solved according to the above formula.

[0118] Furthermore, if is even, then the above relationship needs to be iteratively executed, that is, using the above relationship again to determine whether is odd, until the continuously iterated is odd, and then solve S i in the above manner.

[0119] Furthermore, by combining the above odd and even positions, the following complete syndrome vector can be obtained:

[0120] S = (S 1 , S 2 , …, S 2T )

[0121] In this embodiment, after obtaining the syndrome vector, the receiving end can construct an error position polynomial for each candidate decoded codeword based on the syndrome vector.

[0122] Specifically, the error position polynomial can be expressed in the following form:

[0123] σ(X) = σ 0 + σ 1 X + σ 2 X 2 +... + σ v X v

[0124] Among them, the relationship between the coefficients σ i in the error position polynomial and the syndrome vector can be determined according to the following Newton's identities:

[0125] S 1 + σ 1 = 0

[0126] S 2 + σ 1 S 1 + 2σ 2 = 0

[0127] S 3 + σ 1 S 2 + σ 2 S1 +3σ 3 =0

[0128]

[0129] S j +σ 1 S j-1 +...+σ j-1 S 1 +jσ j =0

[0130]

[0131] Further, based on the constructed error location polynomial, the roots of the error location polynomial can be obtained. In this error location polynomial, the error location numbers can be obtained by finding the reciprocals of the roots, and further, the degree of the error location polynomial and the number of roots can be determined.

[0132] In this embodiment, the syndrome vector, the error location polynomial, and the roots of the error location polynomial of each candidate decoded codeword are used as the outer code decoding information of the candidate decoded codeword to perform the following screening of the surviving codewords.

[0133] Step S104: For each of the candidate decoded codewords, determine the number of users contained in the candidate decoded codeword in this time slot according to the corresponding outer code decoding information.

[0134] In the embodiments of the present application, for each candidate decoded codeword, according to the outer code decoding information obtained above, determine the number of users that the candidate decoded codeword has in the corresponding time slot.

[0135] Specifically, as Figure 3 shown, the receiving end executes sub-step S301: Initialize; Let K represent the order of the candidate decoded codeword, and initialize K to 1, that is, start from the first one of the L candidate decoded codewords; In this embodiment, no specific limitation is made on the sorting of the order of the candidate decoded codewords, which can be randomly sorted or sorted according to the requirements of the specific scenario.

[0136] Further, the receiving end executes sub-step S302: Determine the number of users of the K-th candidate decoded codeword.

[0137] Specifically, read the decoding information of the K-th candidate decoded codeword, and determine the number of users of the candidate decoded codeword in the corresponding time slot according to the following rules:

[0138] The first type of situation: If the syndrome vector is 0, it is considered that no user appears in the corresponding time slot based on the K-th candidate decoded codeword.

[0139] In this embodiment, such a situation is represented as an assignment of the following Boolean variable:

[0140] Flag WoN ←0

[0141] Case 2: If the syndrome vector is not 0, it is considered that there is a user in the corresponding time slot based on the Kth candidate decoded codeword.

[0142] In this embodiment, such a situation is represented as an assignment of the following Boolean variable:

[0143] Flag WoN ←1

[0144] Case 3: When the syndrome vector is not 0 and the number of roots of the error polynomial is greater than the error correction capability T of the designed T-Fold code, that is, the above discrimination threshold, it is considered that the number of users in the corresponding time slot based on the Kth candidate decoded codeword is more than T, and the decoding separation will fail.

[0145] In this embodiment, such a situation of decoding separation failure is represented as an assignment of the following Boolean variable:

[0146] Flag WDS ←0

[0147] Case 4: When the syndrome vector is not 0 and the number of roots of the error polynomial is less than or equal to the designed discrimination threshold, it is considered that the number of users in the corresponding time slot based on the Kth candidate decoded codeword is less than or equal to T.

[0148] Further, in Case 4, it is further divided into the following two sub-categories:

[0149] When the number of roots of the error polynomial is equal to the degree of the error polynomial, it is considered that each user data can be decoded and discriminated, and in this embodiment, such a situation is represented as an assignment of the following Boolean variable:

[0150] Flag WDS ←1

[0151] When the number of roots of the error polynomial is not equal to the degree of the error polynomial, it is considered that the error cannot be corrected and each user data cannot be decoded and discriminated, and the decoding separation will fail.

[0152] In this embodiment, such a situation of decoding separation failure is represented as an assignment of the following Boolean variable:

[0153] Flag WDS ←0

[0154] Step S105: In response to determining that the number of users corresponding to the candidate decoded codeword is less than or equal to a preset discrimination threshold, use the candidate decoded codeword as the surviving codeword, perform decoded separation on the surviving codeword to obtain the user data within this time slot, and complete the access of the user data.

[0155] In an embodiment of the present application, based on the number of users determined for each candidate decoded codeword, screening can be performed from all candidate decoded codewords to obtain a surviving codeword.

[0156] Specifically, as Figure 3 shown, the receiving end executes sub-step S303: Determine the Boolean variable Flag of the K-th candidate decoded codeword WoN and the Boolean variable Flag WDS .

[0157] Furthermore, when the Boolean variables of this candidate decoded codeword meet the condition of Flag WoN == 1 && Flag WDS == 1, it can be considered that based on the K-th candidate decoded codeword, there is a user in its corresponding time slot, and the number of users is not less than or equal to the discrimination threshold T, and successful decoded separation can be performed.

[0158] Furthermore, execute sub-step S306: Obtain the surviving codeword, that is, use the candidate decoded codeword that meets the above conditions as the surviving codeword.

[0159] Furthermore, when any one of the two Boolean variables of this candidate decoded codeword is 0, then execute Figure 3 sub-step S304 in: Determine whether all candidate decoded codewords have been determined.

[0160] In step S304, if K is less than the number L of all candidate decoded codewords, it is considered that there are still candidate decoded codewords for which the above Boolean variables have not been determined, and then execute sub-step S305: Perform the Boolean variable determination on the next candidate decoded codeword.

[0161] Specifically, as Figure 3 shown, increment K by 1 and return to sub-step S302 to determine the Boolean variable of the (K + 1)-th candidate decoded codeword.

[0162] If K is not less than the number L of all candidate decoded codewords, it is considered that the last candidate decoded codeword has completed the determination of the above two Boolean variables, and then execute sub-step S307: Determine whether the Boolean variable of any surviving codeword meets the condition of Flag WoN == 1 && Flag WDS == 1.

[0163] Further, if there is no candidate decoded codeword that meets the condition of Boolean variable Flag WoN == 1 && Boolean variable Flag WDS == 1, then it is considered that there is no surviving codeword, that is, the result in sub-step S307 is No, and sub-step S308 is executed to discard all candidate decoded codewords, that is, all user data is discarded, and the decoding ends. At this time, the result of decoding failure will be returned.

[0164] Further, sub-step S309 is executed for decoding separation.

[0165] Specifically, in most cases, there is only one surviving codeword, and the receiving end can directly perform decoding separation on the surviving codeword to obtain the user data within the time slot, and complete the access of the user data.

[0166] In some cases, due to reasons such as code length, there will be multiple surviving codewords. In this embodiment, this situation is regarded as a missed detection. In this case, one can be randomly selected from the multiple surviving codewords for decoding separation, and the user data within the time slot is obtained to complete the access of the user data.

[0167] It should be noted that if the Boolean variable Flag of all candidate decoded codewords WoN is all 0, then the access of the user data is skipped.

[0168] As can be seen from the above, the cascade random access decoding method and related devices provided by this application are based on the aliased codewords of serial concatenated coding constructed by T-Fold codes, comprehensively considering the correlation between the inner code and the outer code of the aliased codewords of serial concatenated coding. When a large amount of user data is aliased in the aliased codewords of serial concatenated coding, first perform list decoding on the inner code, use the relevant information during outer code decoding as auxiliary information, and directly perform outer code decoding on all obtained candidate decoded codewords to obtain outer code decoding information, so as to effectively utilize the characteristics of the outer code for decoding, without having to split the inner code decoding process and the outer code decoding process, thereby achieving performance improvement.

[0169] Specifically, the screening of candidate decoded codewords is designed to be performed after the outer code decoding is completed, and the obtained candidate decoded codewords are further screened and determined using the outer code decoding information, so as to effectively solve the problem of time slot competition, and finally perform decoding separation on the obtained surviving codewords to achieve data access. It can be seen that this method effectively utilizes the characteristics of the outer code to improve the performance of the communication system in terms of data access.

[0170] It should be noted that the method of the embodiments of the present application can be executed by a single device, such as a computer or a server. The method of this embodiment can also be applied to a distributed scenario and completed by multiple devices cooperating with each other. In such a distributed scenario, one of the multiple devices can only execute one or more steps of the method of the embodiments of the present application, and these multiple devices will interact with each other to complete the described method.

[0171] It can be understood that the method can be executed by any device, equipment, platform, or device cluster with computing and processing capabilities.

[0172] It should be noted that some embodiments of the present application have been described above. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be executed in a different order from that in the above embodiments and still achieve the desired results. Additionally, the processes depicted in the drawings do not necessarily require the specific order or consecutive order shown to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0173] Based on the same inventive concept, corresponding to the method of any of the above embodiments, an outer-code-assisted concatenated random access decoding device is provided in an embodiment of the present application.

[0174] Referring to Figure 4 , the outer-code-assisted concatenated random access decoding device includes: a receiving module 401, an inner-code decoding module 402, an outer-code decoding module 403, a user quantity analysis module 404, and a determination and access module 405.

[0175] Among them, the receiving module 401 is configured to: obtain a plurality of serially concatenated coded overlapping codewords, and each of the overlapping codewords overlaps the user data of all accessing users within a time slot;

[0176] The inner-code decoding module 402 is configured to: perform list decoding on each of the serially concatenated coded overlapping codewords to obtain a plurality of candidate decoded codewords;

[0177] The outer-code decoding module 403 is configured to: perform outer-code decoding on each of the candidate decoded codewords to obtain the outer-code decoding information of the candidate decoded codeword;

[0178] The user quantity analysis module 404 is configured to: for each of the candidate decoded codewords, determine the number of users contained in the candidate decoded codeword within the time slot according to the corresponding outer-code decoding information;

[0179] The determination and access module 405 is configured to: in response to determining that the number of users corresponding to the candidate decoded codeword is less than or equal to a preset discrimination threshold, use the candidate decoded codeword as a surviving codeword, perform decoding separation on the surviving codeword to obtain the user data within the time slot, and complete the access of the user data.

[0180] As an optional embodiment, the receiving module 401 is specifically configured to:

[0181] Receive the aliased signals of multiple time slots within each transmission frame;

[0182] Each time slot includes one aliased signal.

[0183] As an optional embodiment, the inner code decoding module 402 is specifically configured to:

[0184] During the inner code decoding process, according to its encoding method, perform list decoding for inner code decoding.

[0185] Among them, the encoding method of the inner code can adopt an inner code encoding scenario suitable for list decoding, and can be an encoding designed and constructed for short code lengths, such as polar codes, tail-biting convolutional codes, RS codes (Reed-Solomon codes), and BCH codes, etc. In this embodiment, the encoding method of the inner code is not specifically limited.

[0186] As an optional embodiment, the outer code decoding module 403 is specifically configured to:

[0187] Based on the candidate decoded codeword, determine the syndrome vector of the candidate decoded codeword;

[0188] According to the syndrome vector, and determine the error location polynomial;

[0189] Solve the roots of the error location polynomial;

[0190] Use the syndrome vector, the error location polynomial, and the roots of the error location polynomial as the outer code decoding information.

[0191] Among them, the odd bits in the syndrome vector can be determined according to the candidate decoded codeword;

[0192] According to the following formula, determine the even bits of the syndrome vector:

[0193]

[0194] where S i represents the even bits of the syndrome vector;

[0195] Use the odd bits and even bits to determine the syndrome vector.

[0196] As an optional embodiment, the user quantity analysis module 404 is specifically configured to: in response to the power of the error position polynomial being greater than the preset discrimination threshold, determine that the user quantity is greater than the discrimination threshold;

[0197] In response to the power of the error position polynomial being less than or equal to the preset discrimination threshold and the power of the error position polynomial not being equal to the number of roots of the error position polynomial, determine that the user quantity is greater than the discrimination threshold;

[0198] In response to the power of the error position polynomial being less than or equal to the preset discrimination threshold and the power of the error position polynomial being equal to the number of roots of the error position polynomial, determine that the user quantity is less than or equal to the discrimination threshold;

[0199] In response to the syndrome vector being 0, determine that the user quantity is 0.

[0200] As an optional embodiment, the determination and access module 405 is specifically configured to: in response to determining that there are multiple candidate decoded codewords satisfying that the corresponding user quantity is greater than 0 and less than or equal to the preset discrimination threshold, randomly select one of the candidate decoded codewords as the surviving codeword;

[0201] In response to determining that there is a unique candidate decoded codeword satisfying that the corresponding user quantity is greater than 0 and less than or equal to the preset discrimination threshold, use this candidate decoded codeword as the surviving codeword.

[0202] Further, in response to determining that the user quantity corresponding to all the candidate decoded codewords is 0, jump out of the access of the user data;

[0203] In response to determining that the user quantity corresponding to all the candidate decoded codewords is greater than the preset discrimination threshold, discard all the candidate decoded codewords and return a decoding separation failure.

[0204] For the convenience of description, when describing the above device, it is divided into various modules according to functions for separate description. Of course, when implementing the embodiments of the present application, the functions of each module can be implemented in the same or multiple software and / or hardware.

[0205] The device in the above embodiment is used to implement the corresponding cascade random access decoding method assisted by an outer code in any of the foregoing embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be elaborated here.

[0206] Based on the same inventive concept, corresponding to the method of any of the above embodiments, an embodiment of the present application further provides an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, it implements the method for decoding cascaded random access based on external code assistance as described in any one of the above embodiments.

[0207] Figure 5 FIG. shows a more specific schematic diagram of the hardware structure of the electronic device provided in this embodiment. The device may include: a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. Among them, the processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040 are communicatively connected to each other inside the device through the bus 1050.

[0208] The processor 1010 may be implemented in a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, etc., and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present application.

[0209] The memory 1020 may be implemented in the form of a ROM (Read Only Memory), a RAM (Random Access Memory), a static storage device, a dynamic storage device, etc. The memory 1020 may store an operating system and other application programs. When implementing the technical solutions provided in the embodiments of the present application through software or firmware, the relevant program codes are stored in the memory 1020 and are called and executed by the processor 1010.

[0210] The input / output interface 1030 is used to connect to an input / output module to implement information input and output. The input / output module may be configured as a component in the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Among them, the input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device may include a display, a speaker, a vibrator, an indicator light, etc.

[0211] The communication interface 1040 is used to connect to a communication module (not shown in the figure) to implement communication interaction between this device and other devices. Among them, the communication module may implement communication in a wired manner (such as USB, network cable, etc.) or in a wireless manner (such as mobile network, WIFI, Bluetooth, etc.).

[0212] The bus 1050 includes a path for transmitting information among various components of the device, such as the processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040.

[0213] It should be noted that although only the processor 1010, the memory 1020, the input / output interface 1030, the communication interface 1040, and the bus 1050 are shown in the above device, in the specific implementation process, the device may also include other components necessary for normal operation. In addition, those skilled in the art can understand that the above device may also only include the components necessary to implement the solution of the embodiments of the present application, and do not necessarily include all the components shown in the figure.

[0214] The device of the above embodiment is used to implement the corresponding cascade random access decoding method based on outer code assistance in any of the foregoing embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be elaborated here.

[0215] Based on the same inventive concept, corresponding to the method of any of the above embodiments, the present application also provides a non-transitory computer-readable storage medium storing computer instructions for causing the computer to execute the cascade random access decoding method based on outer code assistance as described in any of the foregoing embodiments.

[0216] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory, or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD), or other optical storage, magnetic cassette tapes, magnetic disk storage, or other magnetic storage devices, or any other non-transmission medium that can be used to store information accessible by a computing device.

[0217] The computer instructions stored in the storage medium of the above embodiment are used to cause the computer to execute the cascade random access decoding method based on outer code assistance as described in any of the foregoing embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be elaborated here.

[0218] Those of ordinary skill in the art should understand that: The discussion of any of the above embodiments is merely exemplary and is not intended to imply that the scope of the present application (including the claims) is limited to these examples; Under the concept of the present application, the technical features in the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations in different aspects of the embodiments of the present application as described above, and for the sake of brevity, they are not provided in detail.

[0219] In addition, for simplicity of explanation and discussion, and in order not to make the embodiments of the present application difficult to understand, the well-known power / ground connections to integrated circuit (IC) chips and other components may or may not be shown in the provided drawings. Furthermore, the devices may be shown in block diagram form in order not to make the embodiments of the present application difficult to understand, and this also takes into account the fact that the details of the implementation of these block diagram devices are highly dependent on the platform on which the embodiments of the present application are to be implemented (i.e., these details should be fully within the understanding of those skilled in the art). In the case where specific details (such as circuits) are set forth to describe exemplary embodiments of the present application, it will be apparent to those skilled in the art that the embodiments of the present application may be implemented without these specific details or with variations of these specific details. Therefore, these descriptions should be considered illustrative rather than restrictive.

[0220] Although the present application has been described in connection with specific embodiments of the present application, many alternatives, modifications, and variations of these embodiments will be apparent to those of ordinary skill in the art based on the foregoing description. For example, other memory architectures (such as dynamic RAM (DRAM)) may be used with the embodiments discussed.

[0221] The embodiments of the present application are intended to cover all such alternatives, modifications, and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present application shall be included within the protection scope of the present application.

Claims

1. A cascade random access decoding method based on outer code assistance, characterized in that, it is applied to the receiving end; The method includes: Obtain multiple serially concatenated coded aliased codewords, where each of the aliased codewords aliases the user data of all access users within a time slot; Perform list decoding on each of the serially concatenated coded aliased codewords to obtain multiple candidate decoded codewords; Perform outer code decoding on each of the candidate decoded codewords to obtain the outer code decoding information of the candidate decoded codeword; For each of the candidate decoded codewords, based on the corresponding outer code decoding information, determine the number of users contained in the candidate decoded codeword within this time slot; In response to determining that the number of users corresponding to the candidate decoded codeword is less than or equal to a preset discrimination threshold, use the candidate decoded codeword as a surviving codeword, perform decoding separation on the surviving codeword to obtain the user data within this time slot, and complete the access of the user data.

2. The method according to claim 1, characterized in that, The performing outer code decoding on each of the candidate decoded codewords to obtain the outer code decoding information of the candidate decoded codeword includes: Based on the candidate decoded codeword, determine the syndrome vector of the candidate decoded codeword; According to the syndrome vector, construct an error location polynomial based on Newton's identities and determine the error location polynomial; Solve the roots of the error location polynomial; Use the syndrome vector, the error location polynomial, and the roots of the error location polynomial as the outer code decoding information.

3. The method according to claim 2, characterized in that, The based on the candidate decoded codeword, determining the syndrome vector of the candidate decoded codeword corresponding to this time slot includes: Determine the odd bits in the syndrome vector according to the candidate decoded codeword; According to the following formula, determine the even bits of the syndrome vector: where S i represents the even bits of the syndrome vector; Use the odd bits and even bits to determine the syndrome vector.

4. The method according to claim 2, characterized in that, The based on the corresponding outer code decoding information, determining the number of users contained in the candidate decoded codeword within this time slot includes: In response to the power of the error location polynomial being greater than the preset discrimination threshold, determine that the number of users is greater than the discrimination threshold; In response to the power of the error location polynomial being less than or equal to the preset discrimination threshold, and the power of the error location polynomial not being equal to the number of roots of the error location polynomial, determine that the number of users is greater than the discrimination threshold; In response to the power of the error location polynomial being less than or equal to the preset discrimination threshold, and the power of the error location polynomial being equal to the number of roots of the error location polynomial, determine that the number of users is less than or equal to the discrimination threshold; In response to the syndrome vector being 0, determine that the number of users is 0.

5. The method according to claim 1, characterized in that, The determining the number of users contained in the candidate decoded codeword within this time slot further includes: In response to determining that the number of users corresponding to all the candidate decoded codewords is 0, jump out of the access of the user data. In response to determining that the number of users corresponding to all the candidate decoded codewords is greater than the preset discrimination threshold, discard all the candidate decoded codewords and return a decoding separation failure.

6. The method according to claim 1, wherein, the step of, in response to determining that the number of users corresponding to the candidate decoded codeword is less than or equal to the preset discrimination threshold, using the candidate decoded codeword as a surviving codeword includes: in response to determining that there are multiple candidate decoded codewords satisfying that the number of users corresponding thereto is greater than 0 and less than or equal to the preset discrimination threshold, randomly selecting one of the candidate decoded codewords as the surviving codeword; in response to determining that there is a unique candidate decoded codeword satisfying that the number of users corresponding thereto is greater than 0 and less than or equal to the preset discrimination threshold, using the candidate decoded codeword as the surviving codeword.

7. The method according to claim 1, wherein, the step of obtaining a plurality of serially concatenated coded overlapping codewords includes: the receiving end receives overlapping signals of a plurality of time slots within each transmission frame; each time slot includes an overlapping signal.

8. A cascade random access decoding device based on outer code assistance, comprising: a receiving module configured to: obtain a plurality of serially concatenated coded overlapping codewords, each of the overlapping codewords overlapping the user data of all the accessing users within a time slot; an inner code decoding module configured to: perform list decoding on each of the serially concatenated coded overlapping codewords to obtain a plurality of candidate decoded codewords; an outer code decoding module configured to: perform outer code decoding on each of the candidate decoded codewords to obtain outer code decoding information of the candidate decoded codeword; a user number analysis module configured to: for each of the candidate decoded codewords, determine the number of users contained in the candidate decoded codeword within the time slot according to the corresponding outer code decoding information; a determination and access module configured to: in response to determining that the number of users corresponding to the candidate decoded codeword is less than or equal to the preset discrimination threshold, use the candidate decoded codeword as a surviving codeword, perform decoding separation on the surviving codeword to obtain the user data within the time slot, and complete the access of the user data.

9. An electronic device, comprising a memory, a processor, and a computer program stored on the memory and executable by the processor, wherein, when the processor executes the computer program, the method according to any one of claims 1 to 7 is implemented.

10. A non-transitory computer-readable storage medium, wherein, the non-transitory computer-readable storage medium stores computer instructions for causing a computer to execute the method according to any one of claims 1 to 7.