High-speed parallel GRAND-CRC decoding method for functional safety communication
By using a high-speed parallel GRAND-CRC decoding method, the retransmission problem caused by the CRC error detection mechanism in functional safety communication is solved, which improves transmission efficiency and reduces latency, and is suitable for functional safety communication in the Industrial Internet of Things.
Patent Information
- Application Number
- CN202511919959.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-18
- Publication Date
- 2026-01-16
- Estimated Expiration
- 2045-12-18
AI Technical Summary
In functional safety communication, when black channel interference is significant, the existing CRC error detection mechanism leads to frequent SPDU retransmissions, which seriously affects transmission efficiency and latency.
A high-speed parallel GRAND-CRC decoding method is adopted, which utilizes the versatility of the GRAND algorithm to process the SPDU of the CRC signature, and reduces the retransmission probability and improves the throughput through parallel decoder architecture design.
It effectively reduces the retransmission probability in functional safety communication, improves transmission efficiency and reduces latency, and is suitable for high-speed, low-latency scenarios.
Smart Images

Figure CN121356602A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the field of industrial internet of things, and particularly relates to a high-speed parallel GRAND-CRC decoding method for functional safety communication. BACKGROUND
[0002] According to the IEC61784-3 international standard, in order to ensure the safety of the transmission of important information closely related to operation in an industrial internet of things (IIoT) system, a safety protocol data unit (SPDU) must be subjected to redundant checking by using a cyclic redundancy check CRC, and a CRC error detection mechanism is used at a receiving end to ensure the data integrity of the SPDU. For this purpose, the IEC61784-3 international standard proposes a black channel model, which combines a physical layer, a data link layer and an application layer into a black channel, and performs CRC encoding and CRC error detection of a SPDU payload at a functional safety communication layer, as shown in Figure 1 .
[0003] The IEC61784-3 international standard models the black channel, and for an SPDU with a length of n, the number of error bits k obeys a binomial distribution, as shown in equation (1).
[0004] (1)
[0005] where p e is the average error probability of each bit of the SPDU on the black channel. Considering that the black channel includes the physical layer, the data link layer and the application layer, it itself has strong data transmission reliability, and p e =10 -3 is generally set. In order to represent the most extreme and severe channel environment in the IIoT, p e is taken as 10 -2 .
[0006] In the conventional operation of functional safety communication, CRC error detection is performed on the received SPDU. If correct, the application is submitted by the functional safety communication layer, and if error is detected, the SPDU is discarded and the sending end is notified to resend. By using the strong error detection capability of the CRC, this mechanism can ensure very high SPDU integrity. However, when the interference on the black channel is large, frequent SPDU retransmission is required, which seriously affects the SPDU transmission efficiency and introduces a large time delay. SUMMARY
[0007] To address the problems existing in the prior art, this invention proposes a high-speed parallel GRAND-CRC decoding method for functional safety communication. Utilizing the versatility of the guessing random additive noise decoding (GRAND) algorithm, it processes the SPDU of the CRC signature in functional safety communication, effectively reducing the retransmission probability. Furthermore, to improve the throughput of the GRAND-CRC decoder and enable its application in high-speed, low-latency scenarios, this invention proposes a high-speed parallel decoder architecture design based on the uncorrelation of different noise error modes E in the guessing decoding operations of the hard-decision GRAND algorithm.
[0008] A high-speed parallel GRAND-CRC decoding method for functional safety communication includes the following steps:
[0009] Step 1: Establish the operational relationship between the three based on the binary encoded sequence of the SPDU (Security Protocol Data Unit) transmitter, the binary demodulated sequence of the receiver, and the binary channel noise sequence of the CRC (Cyclic Redundancy Check) signature.
[0010] Step 2: Under hard decision conditions, the guessing decoder at the receiver generates a binary noise error mode sequence based on the statistical characteristics of channel noise. It then combines the binary encoded sequence, the binary demodulated sequence, and the binary channel noise sequence to obtain the guessing sequence.
[0011] Step 3: Set a set E of N noisy error pattern sequences under the error correction capability, and store them in M storage units in order and on average.
[0012] Step four: The binary demodulated sequence obtained by the receiver through the black channel is stored in the SPDU buffer storage unit and input in parallel into M XOR calculation units;
[0013] Step 5: Output the binary noise error mode sequence from the M storage units, perform operations with the binary demodulated sequence to obtain M guess sequences, and output them synchronously to the M multiplexer and the correction sub-computation unit.
[0014] Step 6: Based on the guessed sequences and the parity-check matrix, calculate and obtain the corrected subsequences of the M guessed sequences;
[0015] Step 7: Input the M compensator sequences into the compensator signal processing unit to determine the guessing decoding result; if any compensator is 0, the guessing decoding is successful; if all compensators are not 0, it indicates that the decoding is unsuccessful, and return to step 5 to start the next round of decoding operation.
[0016] Step 8: If all the noise error pattern sequences in the M storage units have been used for decoding and no corrector with a value of 0 is still obtained, it indicates that there are too many errors in the demodulated sequence, exceeding the set maximum error correction capability. The corresponding sequence is discarded and the sender is notified to retransmit.
[0017] (1) A round-robin noise error mode allocation scheme for M memory cells, characterized by adding an all-zero error mode to the set E of N noise error modes without affecting error correction performance; and allocating each memory cell in a round-robin fashion. Noise error mode.
[0018] (2) A high-speed parallel decoder architecture design scheme for GRAND-CRC is proposed, including a distributed memory design strategy and the advantage that the parallelism M value is not restricted. The parallelism can be set very conveniently according to hardware resources, and the decoder throughput increases linearly with the parallelism M value.
[0019] (3) Use M correctors as the basis for logical judgment, and trigger the correct decoding output by the corrector signal processing unit. Give different processing methods in three cases, especially when there is a competition, select the guess sequence corresponding to the corrector with the smallest number as the decoding output. Attached Figure Description
[0020] Figure 1 This is the functional safety communication black channel model used in the IEC61784-3 international standard in the background technology of this invention.
[0021] Figure 2 This is a schematic diagram of a high-speed parallel GRAND-CRC decoding architecture in a specific embodiment of the present invention.
[0022] Figure 3 p in a specific embodiment of the present invention e = 10 -3 A schematic table showing the probability distribution of the 19 channel noise sequences before the time limit, arranged from largest to smallest (n=64 bits).
[0023] Figure 4 p in a specific embodiment of the present invention e = 10 -2 A schematic table showing the probability distribution of the 25 channel noise sequences in the previous time frame, arranged from largest to smallest (n=64 bits).
[0024] Figure 5 This is a schematic table (n=64 bits) showing the number N of the noise error mode set E under different maximum error correction capability conditions in a specific embodiment of the present invention.
[0025] Figure 6 K, Q, and ... under different maximum error correction capability conditions in specific embodiments of the present invention Value illustration table (n=64 bit, M=100). Detailed Implementation
[0026] The technical solution of the present invention will be further described in detail below with reference to the accompanying drawings.
[0027] Leveraging the versatility of the guessing random additive noise decoding (GRAND) algorithm, processing the Security Protocol Data Unit (SPDU) for CRC signatures in functionally safe communications can effectively reduce the retransmission probability. Under the hard-decision GRAND algorithm, the guessing decoding process for CRC is as follows:
[0028] Let the binary encoded sequence of the SPDU of the CRC signature at the sending end be X = x1x2…x i …x n X is the CRC codeword space A codeword. After modulation and transmission, the corresponding binary demodulated sequence at the receiving end is Y=y1y2…y i …y n Let the binary sequence of the channel noise be Z = z1z2…z i …z n , where n is the length of the sequence, and the independent variable i = 1, 2, ..., n. The relationship between X, Y, and Z is shown in equation (2) below, where ⊕ represents modulo-2 addition.
[0029] Y=X⊕Z (2)
[0030] To improve noise immunity, under hard-decision conditions, the guessing decoder at the receiver generates a binary noise error mode sequence E=e1e2…e based on the statistical characteristics of channel noise. i …e n The received demodulated sequence Y is used for guessing decoding to obtain the guessed sequence. As shown in equation (3).
[0031] (3)
[0032] Calculate the corrector S. Let the CRC encoded sequence X codeword space The verification matrix is H. The guessed sequence is calculated according to equation (4). The corrector S is calculated as T, where T is the matrix transpose.
[0033]
[0034]
[0035]
[0036] (4)
[0037] The decision is made based on the guessing decoding result. When the corrector S is not 0, it indicates that Z ≠ E, the guess is incorrect, the receiver generates a new noise error mode sequence E, and restarts the next round of guessing decoding. When S is 0, it indicates that E = Z, and the guessing decoding is successful.
[0038] Based on the GRAND algorithm, to ensure maximum likelihood decoding performance, the probability distribution of the channel noise needs to be known beforehand before obtaining the guessed sequence. Then, according to the probability distribution in descending order, the corresponding noise error pattern sequence E is generated. Suppose a certain channel noise sequence Z contains m error bit strings, and the total number of error bits is l. m Using C α Let Z represent the structure, where α takes values of 1, 2, and 3. The channel noise sequence Z can be represented by noise parameters (m, l). m C α ) indicates that there are N corresponding to this. {m,lm,Cα} A noisy error pattern sequence E, specifically as follows:
[0039] Scenario 1: If the channel noise sequence Z can be represented as "0z2…z i …z (n-1) In the form of "0", where the first and nth bits are both 0, it is represented as (m, l m (C1). In this case, the sample sequence Z contains m+1 strings of "0" bits, and the total number of "0" bit strings is nl. m One. Satisfying the noise parameters (m,l) m The noise error mode sequence E of C1) has a total of The number of combinations is calculated as shown in formula (5), where parameter C represents the number of combinations:
[0040] (5)
[0041] Scenario 2: If the channel noise sequence Z can be represented as "0z2…z i …z (n-1) 1" or "1z2...z" i …z (n-1) In the form of "0", where the first bit is 0 or 1 and the nth bit is 1 or 0, it is represented as (m, l) m (C2). In this case, the sample sequence Z contains m strings of "0" bits, and the total number of "0" bit strings is nl. m One. Satisfying the noise parameters (m,l) m The noise error mode sequence E of C2) has a total of The number of units is calculated as shown in formula (6):
[0042] (6)
[0043] Scenario 3: If the channel noise sequence sample sequence Z can be represented as "1z2…z i …z (n-1) In the form of "1", where the 1st and nth bits are both 1, it is represented as (m, l) m (C3). In this case, the sample sequence Z contains m-1 strings of "0" bits, and the total number of "0" bit strings is nl. m One. Satisfying the noise parameters (m,l) m The noise error mode sequence E of C3) has a total of The number of units is calculated as shown in formula (7):
[0044] (7)
[0045] As described above, when the hard-decision GRAND algorithm is used for CRC decoding, the noisy error pattern sequence E needs to be queried in descending order according to the channel statistical probability before determining whether the guess is correct. To achieve good error correction performance, the number of noisy error pattern sequences E is extremely large, and the guessing decoding complexity increases rapidly with the improvement of error correction capability, which will seriously affect the throughput of the GRAND-CRC decoder.
[0046] To improve the throughput of the GRAND-CRC decoder and enable GRAND-CRC to be applied to high-speed, low-latency scenarios, this embodiment proposes a high-speed parallel decoder architecture design based on the uncorrelatedness of different noise error mode sequences E in the hard-decision GRAND algorithm.
[0047] Given a specific error correction capability, there are N noisy error pattern sequences E. Let E represent the set of these N noisy error pattern sequences. They are stored alternately and evenly in M storage units. The steps are as follows:
[0048] Step a: According to the hard-decision GRAND algorithm, based on the probability distribution of channel noise from largest to smallest, arrange the set E of N noise error mode sequences corresponding to the given maximum error correction capability, i.e., {E1, E2, E3, ..., E...} j ,…,E N}, where 1≤j≤N.
[0049] Step b: Considering the values of N and M, N is generally not divisible by M. To ensure that each cell stores the same number of noise error modes, it is necessary to... j ,…,E NAfter adding Q all-zero error patterns, according to the GRAND algorithm, this addition does not affect the guessing decoding result, resulting in a K noise error pattern sequence E1, E2, E3, ..., E j ,…,E K , where 1≤j≤K, and K and Q are calculated as shown in formula (8):
[0050] (8)
[0051] Step c: For a given M storage units, i.e. Mem1, Mem2, Mem3, ..., Mem i ,…,Mem M If noise error mode E j If the sequence number j satisfies formula (9), then the error mode is stored in Mem. i In this context, rem represents the modulo operation;
[0052] rem((j-1),M)+1=i (9)
[0053] Step d: Return to step c, take the values of the sequence number j in ascending order, and select the noise error pattern sequence E that satisfies formula (9). j Stored sequentially in Mem i In the process, after all K noisy error modes have completed their operations, each memory cell stores the result. One noise error mode, Mem i The f-th noise error mode is represented as , where 1≤f≤ .
[0054] This high-speed parallel GRAND-CRC decoder architecture based on distributed memory is as follows: Figure 2 As shown, the process is as follows:
[0055] Step 1: Assume that under a given error correction capability (for example, at most 2 bits of error in the SPDU can be corrected, and the number of noisy error pattern sequences E is different for different maximum error correction capabilities), there is a set of N noisy error patterns E. Store them in M storage units in order and on average (as in steps a to d above).
[0056] Step 2: The sequence Y obtained by the receiver from the black channel is stored in the SPDU buffer storage unit. The same received sequence Y is input into M XOR calculation units in parallel.
[0057] Step 3: Synchronously output the noise error mode sequence in M storage units. , , …, According to formula (3), each sequence is XORed with Y in parallel to obtain M guessed sequences. , , ,…, All guessed sequences are synchronously output to the M-channel multiplexer (MUX) and the corrector calculation unit.
[0058] Step 4: According to formula (4), M correction sub-sequences are obtained by synchronously and in parallel calculation of each guess sequence. , , ,…, .
[0059] Step 5: M calibration sub-sequences , , ,…, In the synchronous input correction signal processing unit:
[0060] 1) If a certain calibrator If the value is 0 (1≤i≤M), then the guessing decoding is successful, and the corrector signal processing unit sends a control signal to the M-way multiplexer. The guessing sequence corresponding to this corrector... 1) Output the SPDU decoding; 2) If all the correctors are not 0, it indicates that the decoding is unsuccessful, and return to step 3 to start the next round of decoding operation; 3) In a very small probability case, there will be multiple competing situations where the M correctors are all 0 at the same time. Take the guess sequence corresponding to the corrector with the smallest sequence number as the decoding output.
[0061] Step 6: If all the noise error mode sequences E in the M storage units are used for decoding and no corrector with a value of 0 is still obtained, it indicates that there are too many errors in the received sequence Y, exceeding the set maximum error correction capability. According to the IEC61784-3 standard, the sequence is discarded and the transmitter is notified to retransmit.
[0062] To illustrate with a specific example, according to formula (1), assuming the SPDU length n is 64 bits and the maximum error correction capability does not exceed 4 bits, with an average error probability p e =10 -3 and p e =10 -2 Two scenarios, obtain 10 9 A sample of a channel noise sequence Z. e =10 -3 and p e =10 -2 At that time, the noise parameters (m,l) m C α The arrangement of ) is as follows Figure 3 and Figure 4 As shown.
[0063] based on Figure 3 and Figure 4 The maximum error correction capability does not exceed the noise parameter (m,l) m C α l in ) m When the maximum error correction capability is 1, 2, 3, and 4 bits, the number N of the noise error mode set E is as follows: Figure 5 As shown.
[0064] Figure 2 The GRAND-CRC decoding architecture has M memories, i.e., M degrees of parallelism. Let M=100. When the error correction capabilities are 2, 3, and 4 bits respectively (1 is too small to be discussed), according to formulas (8) and (9), K, Q, and the number of noise error modes per memory cell are... Value calculation as follows Figure 6 As shown.
[0065] The above description is only a preferred embodiment of the present invention. The scope of protection of the present invention is not limited to the above embodiments. Any equivalent modifications or changes made by those skilled in the art based on the content disclosed in the present invention should be included within the scope of protection set forth in the claims.
Claims
1. A high-speed parallel GRAND-CRC decoding method for functional safety communication, characterized in that: The method comprises the following steps: Step one, according to the binary encoding sequence of the sending end of the security protocol data unit (SPDU) with the cyclic redundancy check (CRC) signature, the binary demodulation sequence of the receiving end and the binary channel noise sequence, the operation relationship among the three is established; Step two, under the condition of hard decision, the guess decoder of the receiving end generates a binary noise error pattern sequence according to the channel noise statistical characteristics, and obtains a guess sequence by combining the binary encoding sequence, the binary demodulation sequence and the binary channel noise sequence; Step three, set a set E of N noise error pattern sequences in total under the error correction capability, and store them in M storage units in order; Step four, the binary demodulation sequence obtained by the receiving end through the black channel is stored in the SPDU buffer storage unit, and is input into M exclusive or calculation units in parallel; Step five, the binary noise error pattern sequence in the M storage units is operated with the binary demodulation sequence to obtain M guess sequences, and the M guess sequences are output to the M multiplexers and the syndrome calculation unit synchronously; Step six, based on the guess sequence and the check matrix, the syndrome sequences of the M guess sequences are calculated and obtained; Step seven, the M syndrome sequences are input into the syndrome signal processing unit to judge the guess decoding result; when a certain syndrome is 0, the guess decoding is successful; when all syndromes are not 0, it is indicated that the decoding is unsuccessful, and the decoding operation is started again in step five; Step eight, when all noise error pattern sequences in the M storage units are used for decoding operation, and a syndrome of 0 is still not obtained, it is indicated that the errors in the demodulation sequence are too much to exceed the maximum error correction capability, the corresponding sequence is discarded, and the sending end is informed to resend the binary encoding sequence.
2. The high-speed parallel GRAND-CRC decoding method for functional safety communication according to claim 1, wherein: In step one, the binary coded sequence is X=x1x2…x i …x n , X is a code word of the CRC code word space , the binary demodulated sequence is Y=y1y2…y i …y n , and the binary channel noise sequence is Z=z1z2…z i …z n , where n is the length of the sequence, the independent variable i=1, 2, …, n; the relationship between X, Y, and Z is shown in the following formula, where ⊕ represents modulo two addition operation: Y=X⊕Z.
3. The high-speed parallel GRAND-CRC decoding method for functional safety communication according to claim 2, wherein: In step two, under the hard decision condition, the guess decoder at the receiving end generates a binary noise error pattern sequence E = e1e2…eN according to the statistical characteristics of channel noise i …e n , and performs guess decoding on the demodulated sequence Y received to obtain a guess sequence , as shown in the following formula: 。 4. The high-speed parallel GRAND-CRC decoding method for functional safety communication according to claim 3, wherein: In step two, the probability distribution of channel noise is calculated, and then the corresponding noise error pattern sequence E is generated according to the order from large to small of the probability distribution; suppose that a certain channel noise sequence Z contains m error bit strings, and the total number of error bits is l m ; the structure of Z is represented by C α , where α respectively takes values 1, 2 and 3; The channel noise sequence Z is represented by a noise parameter (m, l m ,C α ) corresponding to N {m,lm,Cα} error patterns E, as follows: Case 1: If the channel noise sequence Z is expressed in the form of "0z2...z i ..." (n-1) 0", the first and n-th bits are both 0, it is expressed as (m, l m , C1); in this case, the sample sequence Z contains m+1 0-bit strings, and the total number of 0-bit strings is n-l m ; the noise error pattern sequence E satisfying the noise parameter (m, l m , C1) has in total, which is calculated as follows: Case 2: If the channel noise sequence Z is expressed as "0z2...z i ...z (n-1) 1" or "1z2...z i ...z (n-1) 0", the first bit is 0 or 1, and the nth bit is 1 or 0, then it is expressed as (m, l m , C2); in this case, the sample sequence Z contains m 0-bit strings, and the total number of 0-bit strings is n-l m ; the noise error pattern sequence E satisfying the noise parameter (m, l m , C2) has a total of , which is calculated as follows: Case 3: If the channel noise sequence sample sequence Z is expressed in the form of "1z2...z i ..." (n-1) 1", the first and n-th bits are both 1, then it is expressed as (m, l m , C3); in this case, the sample sequence Z contains m-1 0-bit strings, and the total number of 0-bit strings is n-l m ; the noise error pattern sequence E satisfying the noise parameter (m, l m , C3) has a total of , which is calculated as follows: 。 5. The high-speed parallel GRAND-CRC decoding method for functional safety communication according to claim 4, wherein: In step three, the following sub-steps are included: Step a, according to the hard decision GRAND algorithm, arrange the set E of N noise error pattern sequences corresponding to the given maximum error correction capability in order from large to small according to the probability distribution of channel noise, i.e. E1, E2, E3, …, E j ,…,E N , where 1≤j≤N; Step b, in E1, E2, E3,..., E j ..., E N Add Q all-0 error patterns at the end to get K total noise error pattern sequences E1, E2, E3,..., E j ..., E K where 1≤j≤K, K and Q are calculated as follows: Step c. For M memory units Mem1, Mem2, Mem3,..., MemM, the error pattern sequence E i ,..., Mem M is stored in Mem j if the sequence number j of the error pattern sequence satisfies the following equation, where rem denotes the remainder calculation. i rem((j-1),M)+1=i Step d, return to step c, the serial number j takes value from small to large order, the serial number satisfies the formula of noise error mode E j , stored in Mem i in turn, when all K noise error modes complete the operation, each storage unit stores noise error modes, the fth noise error mode in Mem i is expressed as , wherein 1≤f≤ .
6. The high-speed parallel GRAND-CRC decoding method for functional safety communication according to claim 5, wherein: In step five, the M storage units output the noise error pattern , , …, , XORed with the binary demodulated sequence Y to obtain M guessed sequences , , ,…, : 。 7. The high-speed parallel GRAND-CRC decoding method for functional safety communication according to claim 6, wherein: In step six, the syndrome sequence of the guessed sequence , , ,…, is computed using the check matrix H of the CRC encoding sequence X codeword space , , ,…, where T is the matrix transpose computation: 。 8. The high-speed parallel GRAND-CRC decoding method for functional safety communication according to claim 7, wherein: If one syndrome is 0 in step seven , 1≤i≤M, the decoding is successful, and the syndrome signal processing unit sends a control signal to the M-way multiplexer, and the syndrome corresponding to the guessed sequence is the output of the SPDU decoding; if all syndromes are not 0, it indicates that the decoding is not successful, and the next round of decoding operation is started from step five; if there are multiple syndromes that are 0 at the same time in the M syndromes, the guessed sequence corresponding to the syndrome sequence with the smallest serial number is taken as the decoding output.
Citation Information
Patent Citations
Parallel polar code decoding method and device
CN110492974A
ORB-GRAND optimization method for PAC code
CN117560019A
Polarization code decoding method and device, polarization code encoding method and device and readable storage medium
CN117917869A
Soft iterative decoding method for polarization adjustment convolutional codes
CN118432628A
Splitting and recombining method for improving transmission efficiency and reliability of security protocol data unit
CN119483835A
