A high-speed parallel GRAND-CRC decoding method for functional safety communication

By employing a high-speed parallel GRAND-CRC decoding method, utilizing a guessing random additive noise decoding algorithm and a parallel decoder architecture, the retransmission problem of the CRC error detection mechanism under black channel interference is solved, achieving efficient functional safety communication.

CN121356602BActive Publication Date: 2026-03-20EDGE INTELLIGENCE RES INST NANJING CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511919959.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-12-18
Publication Date
2026-03-20
Estimated Expiration
2045-12-18

AI Technical Summary

Technical Problem

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 introduces a large delay.

Method used

A high-speed parallel GRAND-CRC decoding method is adopted, which utilizes a guessing random additive noise decoding algorithm and designs a parallel decoder architecture. The decoding throughput is improved and the retransmission probability is reduced by using distributed memory and XOR computation units.

Benefits of technology

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.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121356602B_ABST
    Figure CN121356602B_ABST
Patent Text Reader

Abstract

A high-speed parallel GRAND-CRC decoding method for functional safety communication is presented. M A round-robin noise error mode allocation scheme for each memory cell, without affecting error correction performance, provides... N The system adds an all-zero error mode to the set E of noise error modes and allocates noise error modes to each memory unit in turn. A high-speed parallel decoder architecture design scheme for GRAND-CRC is proposed, including a distributed memory design strategy and the advantage of unrestricted parallelism. The parallelism can be easily set according to hardware resources, and the decoder throughput increases linearly with the parallelism. The system uses a corrector as the basis for logical judgment, and the corrector signal processing unit triggers the correct decoding output. Its features include different processing methods in three cases, especially when contention occurs, selecting the guessed sequence corresponding to the corrector with the smallest sequence number as the decoding output.
Need to check novelty before this filing date? Find Prior Art

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 large time delay. SUMMARY

[0007] In view of the problems in the prior art, the application provides a high-speed parallel GRAND-CRC decoding method for functional safety communication, which utilizes the universality of a guess random additive noise decoding (GRAND) algorithm to process CRC signature SPDU in functional safety communication, can effectively reduce the retransmission probability, and further, in order to improve the throughput of the GRAND-CRC decoder, so that the GRAND-CRC can be applied to a high-speed low-latency scene, the application proposes a high-speed parallel decoder architecture design according to the mutual irrelevance of different noise error pattern E guess decoding operations in the hard decision GRAND algorithm.

[0008] A high-speed parallel GRAND-CRC decoding method for functional safety communication, comprising the following steps:

[0009] Step one, according to the binary encoding sequence of the cyclic redundancy check (CRC) signature safety protocol data unit (SPDU) sending end, the binary demodulation sequence of the receiving end and the binary channel noise sequence, the operation relationship of the three is established;

[0010] 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 in combination with the binary encoding sequence, the binary demodulation sequence and the binary channel noise sequence;

[0011] Step three, set a total of N noise error pattern sequence sets E under the error correction capability, and store them in M storage units in order;

[0012] 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;

[0013] 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 is output to the M multiplexers and the syndrome calculation unit in synchronization;

[0014] Step six, based on the guess sequence and the check matrix, the syndrome sequences of the M guess sequences are calculated and obtained;

[0015] 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 indicates that the decoding is unsuccessful, and the next round of decoding operation is started from step five;

[0016] Step eight, when all the noise error pattern sequences in the M storage units are used for decoding operation, still can not get a correction sub for 0, indicating that the error in the demodulation sequence is too much, exceeding the maximum error correction capability set, discarding the corresponding sequence, informing the sending end to resend.

[0017] (1) The round-robin noise error pattern distribution scheme of the M storage units, characterized in that a full-0 error pattern is added to the set E of N noise error patterns under the condition of not affecting the error correction performance; and the M storage units are evenly distributed with noise error patterns.

[0018] (2) A GRAND-CRC high-speed parallel decoder architecture design scheme is proposed, including a distributed memory design strategy and the advantage that the parallel degree M value is not limited, which can very conveniently set the parallel degree according to the hardware resources, and the decoder throughput increases linearly with the parallel degree M value.

[0019] (3) M correctors are used for logical judgment basis, the correct decoding output is triggered by the corrector signal processing unit, different processing methods are given under three conditions, especially when the competition occurs, the guess sequence corresponding to the correction sub with the smallest serial number is selected as the decoding output. BRIEF DESCRIPTION OF DRAWINGS

[0020] Figure 1 It is the functional safety communication black channel model used in the IEC61784-3 international standard in the background art of the present application.

[0021] Figure 2 It is a high-speed parallel GRAND-CRC decoding architecture diagram in the specific embodiment of the present application.

[0022] Figure 3 It is a p e = 10 -3 When the first 19 channel noise sequence distribution probability from large to small arrangement table (n=64 bit).

[0023] Figure 4 It is a p e = 10 -2 When the first 25 channel noise sequence distribution probability from large to small arrangement table (n=64 bit).

[0024] Figure 5 It is a noise error pattern set E number N diagram (n=64 bit) under different maximum error correction capability conditions in the specific embodiment of the present application.

[0025] Figure 6 It is K, Q and The value of the schematic table (n=64 bit, M=100). DETAILED DESCRIPTION

[0026] The technical solutions of the present application are further described below in combination with the drawings of the specification.

[0027] The universality of the guess random additive noise decoding (GRAND) algorithm is used to process the cyclic redundancy check (CRC) signature of the safety protocol data unit (SPDU) in the functional safety communication, which can effectively reduce the retransmission probability. In the hard decision GRAND algorithm, the guess decoding process of CRC is as follows:

[0028] Let the binary encoding sequence of the SPDU with CRC signature at the sending end be X=x1x2…x i …x n , and X be a code word in the CRC code word space . After modulation and transmission, the corresponding binary demodulation sequence at the receiving end is Y=y1y2…y i …y n , and the binary sequence of the channel noise is 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), where ⊕ represents the modulo-2 addition operation.

[0029] Y=X⊕Z (2)

[0030] To improve the ability to resist noise, under the condition of hard decision, the guess decoder at the receiving end generates a binary noise error pattern sequence E=e1e2…e i …e n according to the statistical characteristics of the channel noise, which is used for guess decoding of the received demodulation sequence Y to obtain the guess sequence , as shown in equation (3).

[0031] (3)

[0032] Calculate the syndrome S. Let the check matrix of the CRC encoding sequence X in the code word space be H. Calculate the syndrome S of the guess sequence according to equation (4), where T is the matrix transpose calculation.

[0033]

[0034]

[0035]

[0036] (4)

[0037] The decision guess decoding result. When the syndrome S is not 0, it indicates that Z≠E, the guess is incorrect, the receiving end generates a new noise error pattern sequence E, and restarts the next round of guess decoding. When S is 0, it indicates that E=Z, the guess decoding is successful.

[0038] Based on the GRAND algorithm, in order to ensure the maximum likelihood decoding performance, the probability distribution of the channel noise needs to be known in advance before obtaining the guess sequence. Then according to the order from large to small of the probability distribution, the corresponding noise error pattern sequence E is generated. Assuming that a certain channel noise sequence Z contains m error bit strings, the total number of error bits is l m . Use C α to represent the structure of Z, where α takes values 1, 2 and 3 respectively. The channel noise sequence Z can be represented by the noise parameter (m, l m , C α ), which corresponds to N {m,lm,Cα} noise error pattern sequences E, and the specific cases are as follows:

[0039] Case 1: If the channel noise sequence Z can be expressed in the form of “0z2…z i …z (n-1) 0”, the first and n bits are both 0, then it is represented 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 that satisfies the noise parameter (m, l m , C1) has , the calculation is shown in formula (5), where the parameter C represents the combination number calculation:

[0040] (5)

[0041] Case 2: If the channel noise sequence Z can be expressed in the form of “0z2…z i …z (n-1) 1” or “1z2…z i …z (n-1) 0”, the first bit is 0 or 1, and the n-th bit is 1 or 0, then it is represented 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 that satisfies the noise parameter (m, l m , C2) has , the calculation is 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 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 N}Q all-zero error patterns are appended, according to the GRAND algorithm, this appending process does not affect the result of the guesswork decoding, and K noise error pattern sequences E1, E2, E3, …, E j ,…,E K , where 1≤j≤K, K and Q are calculated as shown in equation (8):

[0050] (8)

[0051] Step c: for a given M memory units, i.e. Mem1, Mem2, Mem3, …, Mem i ,…,Mem M , if the serial number j of the noise error pattern E j satisfies equation (9), then the error pattern is stored in Mem i , where rem represents the remainder calculation;

[0052] rem((j-1),M)+1=i (9)

[0053] Step d: return to step c, the serial number j takes values in ascending order, and the noise error pattern sequence E j whose serial number satisfies equation (9) is stored in Mem i in turn, when all K noise error patterns are operated, each memory unit stores noise error patterns, and the fth noise error pattern in Mem i is represented as , where 1≤f≤ .

[0054] This high-speed parallel GRAND-CRC decoder architecture based on distributed memory is shown in Figure 2 , and the process is as follows:

[0055] Step 1: assuming that there are N noise error pattern sets E under a given error correction capability (for example, correcting a maximum of 2 bits of error in an SPDU, corresponding to different maximum error correction capabilities, the number of noise error pattern sequences E is different), store them in M memory units in order (as in steps a to d above).

[0056] Step 2: the sequence Y obtained from the black channel at the receiving end is stored in the SPDU buffer memory unit, and the same receiving sequence Y is input in parallel to the M XOR calculation units.

[0057] Step 3: the noise error pattern sequences , , …, , according to formula (3), each sequence is calculated with Y XOR, and M guess sequences are obtained , , ,…, , all guess sequences are synchronized and output to M multiplexer MUX and syndrome calculation unit.

[0058] Step 4: according to formula (4), each guess sequence is calculated synchronously and in parallel to obtain M syndrome sequences , , ,…, .

[0059] Step 5: M syndrome sequences , , ,…, are synchronized and input into syndrome signal processing unit:

[0060] 1) if a certain syndrome is 0 (1≤i≤M), the guess decoding is successful, and the syndrome signal processing unit sends a control signal to the M multiplexer, and the guess sequence corresponding to the syndrome is the SPDU decoding output; 2) if all syndromes are not 0, it indicates that the decoding is unsuccessful, and the next round of decoding operation is started from step 3; 3) in the case of extremely small probability, multiple syndromes in M syndromes are 0 at the same time, and the guess sequence corresponding to the syndrome with the smallest serial number is taken as the decoding output.

[0061] Step 6: if all noise error pattern sequences E in M storage units are used for decoding operation, and a syndrome of 0 is still not obtained, it indicates that the errors in the received sequence Y are too much to exceed the maximum error correction capability, according to IEC61784-3 standard, the sequence is discarded, and the sending end is notified to resend.

[0062] A specific example is given, according to formula (1), assuming that the SPDU length n is 64 bits, the maximum error correction capability is not more than 4 bits, and the average error probability p e =10 -3 and p e =10 -2 , 10 9 channel noise sequences Z are obtained. When p e =10 -3 and p e =10 -2 , the arrangement of noise parameters (m, l m , C α ) is shown in Figure 3 and Figure 4 .

[0063] Based on Figure 3 and Figure 4 , the maximum error correction capability is not more than the noise parameter (m, l m , C α ) in the l m , when the maximum error correction capability is 1, 2, 3 and 4 bits respectively, the number N of the noise error pattern set E is as shown in Figure 5

[0064] Figure 2 The GRAND-CRC decoding architecture in the above has M memories, that is, has M parallel degrees. Assuming M=100, when the error correction capability is 2, 3 and 4 bits respectively (1 is too small and is not discussed), according to the formulas (8) and (9), the values of K, Q and the number of noise error patterns of each memory unit are as shown in Figure 6

[0065] The above only describes the preferred embodiments of the present application, and the protection scope of the present application is not limited to the above embodiments, but any equivalent modifications or changes made by those skilled in the art according to the disclosed content of the present application shall be included in the protection scope recorded in the claims.​​

Claims

1. A high-speed parallel GRAND-CRC decoding method for functional safety communication, characterized in that: The method includes the following steps: 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. 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. 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. In step three, according to the probability distribution of channel noise from largest to smallest, the set E of N noise error mode sequences corresponding to the given maximum error correction capability is arranged sequentially, namely E1, E2, E3, ..., E j ,…,E N Where 1≤j≤N; Add Q all-zero error patterns to the set E of N noisy error pattern sequences to obtain a total of K noisy error pattern sequences E1, E2, E3, ..., E j ,…,E K Where 1≤j≤K; for M storage units Mem1, Mem2, Mem3, …, Mem i ,…,Mem M If the noise error pattern sequence E j If the sequence number j satisfies rem((j-1),M)+1=i, then the error mode sequence is stored in Mem. i In this context, rem represents the modulo operation; The index j is taken in ascending order, and the noise error pattern E that satisfies the formula is used. j Stored sequentially in Mem i middle; 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; 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. Step 6: Based on the guessed sequences and the parity-check matrix, calculate and obtain the corrected subsequences of the M guessed sequences; 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. 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 the binary encoded sequence.

2. The high-speed parallel GRAND-CRC decoding method for functionally safe communication according to claim 1, characterized in that: In step one, the binary encoded sequence is X = x1x2…x i …x n X is the CRC codeword space A codeword, the binary demodulated sequence is Y=y1y2…y i …y n The binary channel noise sequence is 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 the following formula, where ⊕ represents modulo-2 addition: Y=X⊕Z.

3. The high-speed parallel GRAND-CRC decoding method for functionally safe communication according to claim 2, characterized in that: In step two, 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 the following formula: 。 4. The high-speed parallel GRAND-CRC decoding method for functionally safe communication according to claim 3, characterized in that: In step two, the probability distribution of channel noise is calculated, and then the corresponding noise error mode sequence E is generated according to the descending order of the probability distribution; suppose a certain channel noise sequence Z contains m error bit strings, and the total number of error bits is l. m ; Use C α Let Z represent the structure, where α takes values ​​of 1, 2, and 3 respectively; Channel noise sequence Z uses noise parameters (m, l) m C α ) indicates that there are N corresponding to this. {m,lm,Cα} There is a noise error mode E, with the following specific scenarios: Scenario 1: If the channel noise sequence Z is 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 In this case, the sample sequence Z contains m+1 strings of 0 bits, and the total number of strings of 0 bits is nl. m One; satisfying noise parameters (m,l) m The noise error pattern sequence E of C1) has a total of N. {m,lm,C1} The number is calculated as shown in the following formula: Scenario 2: If the channel noise sequence Z is 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 zero-bit strings, and the total number of zero-bit strings is nl. m One; satisfying noise parameters (m,l) m The noise error pattern sequence E of C2) has a total of N. {m,lm,C2} The number is calculated as shown in the following formula: Scenario 3: If the channel noise sequence sample sequence Z is 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 noise parameters (m,l) m The noise error pattern sequence E of C3) has a total of N. {m,lm,C3} The number is calculated as shown in the following formula: 。 5. A high-speed parallel GRAND-CRC decoding method for functionally safe communication according to claim 4, characterized in that: In step three, K and Q are calculated as follows: After all K noisy error modes have been processed, each memory cell stores the data. One noise error mode, Mem i The f-th noise error mode is represented as , where 1≤f≤ .

6. A high-speed parallel GRAND-CRC decoding method for functionally safe communication according to claim 5, characterized in that: In step five, output noise error patterns in M ​​storage cells. , , …, By performing an XOR operation between the following formula and the binary demodulated sequence Y, M guessed sequences are obtained. , , ,…, : 。 7. A high-speed parallel GRAND-CRC decoding method for functionally safe communication according to claim 6, characterized in that: In step six, the codeword space is determined according to the CRC encoded sequence. Given the parity-check matrix H, the guessed sequence is calculated using the following formula. , , ,…, The corrector sequence , , ,…, Where T is the matrix transpose calculation: 。 8. A high-speed parallel GRAND-CRC decoding method for functional safety communication according to claim 7, characterized in that: In step seven, if a certain corrector If the value is 0, 1≤i≤M, then the guessing decoding is successful. The corrector signal processing unit sends a control signal to the M-way multiplexer, which contains the guessing sequence corresponding to the corrector. The output is the SPDU decoder; if all the correctors are not 0, it indicates that the decoding is unsuccessful, and return to step five to start the next round of decoding; if there are multiple competing cases where the M correctors are simultaneously 0, take the guess sequence corresponding to the corrector sequence with the smallest sequence number as the decoder output.

Citation Information

Patent Citations

  • 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