RS code parameter blind identification method based on binary field check matrix matching
By constructing a check matrix library for GF(2) domain, intercepting binary code streams in the binary domain, identifying RS codes to generate polynomials, solving the problems of large amount of calculation and low fault tolerance in the prior art, and achieving efficient blind recognition of RS code parameters.
Patent Information
- Application Number
- CN202510567048.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-29
- Publication Date
- 2025-08-15
AI Technical Summary
The existing RS code parameter blind recognition algorithm has large calculation volume and low fault tolerance.
A check matrix library based on the GF(2) domain is constructed, and the intercepting matrix is constructed by intercepting binary code streams in the binary domain, and a check matrix library is used to perform matrix multiplication operations to identify the generated polynomial of the RS code.
The calculation volume is small, with better generalization and fault tolerance performance, which can accurately identify RS encoding parameters at low bit error rate, and improve the fault tolerance performance of the algorithm by increasing the number of verification vectors at high bit error rate.
Smart Images

Figure CN120498458A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of blind recognition of channel coding parameters, and in particular to a blind recognition method for RS code parameters based on binary field check matrix matching. Background Art
[0002] In recent years, blind channel coding identification has become a key area of research in non-cooperative signal processing, playing a crucial role in intelligent communications, information countermeasures, and information interception. Channel coding techniques are often employed to improve data transmission reliability. Among these techniques, Reed-Solomon (RS) codes, with their strong detection and error correction capabilities, are widely used in deep space communications, wireless communications, and military communications. In non-cooperative communications, studying how to identify RS code parameters from intercepted code streams is of vital practical significance.
[0003] Current research on blind identification of cyclic code parameters relies on Galois Field operations, which are computationally intensive. Methods for blind identification of RS parameters include Galois Field Fourier Transform, Galois Field Gaussian Elimination, and algorithms based on the Chinese Remainder Theorem. The Galois Field Fourier Transform identifies the primitive polynomial by determining whether there are nk consecutive zeros in the code spectrum. This method has high error tolerance, but is computationally intensive due to the computation performed in a finite field. The Galois Field Gaussian Elimination method exploits the equivalence between (n,k) RS codes and (mn,nk) binary linear block codes and identifies the codeword length by calculating the rank of the intercept matrix. This method has low error tolerance and requires traversing the primitive polynomial in the Galois Field, resulting in a high computational load. The Chinese Remainder Theorem algorithm maps the code to a linear code on a ring. This algorithm has low complexity but low error tolerance. Summary of the Invention
[0004] Aiming at the problems of large computational complexity and low fault tolerance of RS code parameter blind recognition algorithms in the prior art, the present invention provides a RS code parameter blind recognition method based on binary domain check matrix matching.
[0005] According to an embodiment of the present invention, a blind identification method for RS code parameters based on binary domain check matrix matching includes:
[0006] S1: Construct a check matrix library based on the properties of RS code;
[0007] S2: Intercept the binary code stream and construct the intercepted binary code stream into a first intercepted matrix X(m,d) with different codeword parameters. Take out all first candidate check matrices with the same number of symbols and primitive polynomials as the first intercepted matrix from the check matrix library. Then calculate the first check matching degree between the first intercept matrix and the first candidate check matrix, select the first candidate matrix with the largest first check matching degree, and use the number of symbols, primitive polynomial and synchronization time corresponding to the first candidate matrix as the estimated symbol number m of the RS code respectively est , primitive polynomial P est and synchronization time d est ;
[0008] S3: Estimated number of symbols m according to RS code est and synchronization time d est , construct the intercepted binary code stream into the second intercepted matrix X(m est ,d est ), set the error correction capability t, and take out the second candidate check matrix H(m) with the same error correction capability from the check matrix library est ,P est , t), then calculating the second check matching degree between the second intercept matrix and the second candidate check matrix, and selecting the maximum error correction capability with the second check matching degree greater than the threshold as the estimated error correction capability of the RS code;
[0009] S4: Estimated number of symbols m according to RS code est , synchronization time d est , primitive polynomial P est The generating polynomial of RS code is identified and the error correction capability is estimated.
[0010] Preferably, the method for constructing the check matrix library is as follows:
[0011] A1: Set the range of the symbol number m, starting from the minimum value of the symbol number m, and calculate the corresponding codeword length n and maximum error correction capability t according to the symbol number m max and l m Primitive polynomials Then initialize the error correction capability t and the primitive polynomial
[0012] A2: Randomly generate nm GFs (2 m ) and convert each RS code into a binary linear block code, then create the matrix A mn×mn , and take each linear block code codeword as the matrix A mn×mn a line of;
[0013] A3: Matrix A mn×mn Use Gaussian column elimination to obtain a construction matrix, and take the transpose of the first m(n-2t) rows and the mn-2tm+1th to mnth columns of the construction matrix as a candidate check matrix and save it in the check matrix library;
[0014] A4: Change the error correction capability so that t = t + 1, and repeat steps A2-A3 until t = t max ;
[0015] A5: Change the primitive polynomial so that i=i+1 and repeat steps A2-A4 until i=l m ;
[0016] A6: Change the number of symbols so that m=m+1, and repeat steps A2-A5 until m reaches a maximum value, thereby forming a check matrix library containing multiple check matrices.
[0017] Preferably, the calculation method of the first verification matching degree includes:
[0018] B1: Set the range of the number of symbols m, starting from the minimum value of the number of symbols m, calculate the corresponding codeword length n according to the number of symbols m, initialize the synchronization time d to the minimum value, and construct the first interception matrix X(m,d) based on the codeword length and synchronization time;
[0019] B2: Initialize primitive polynomial Where i is the minimum value, select the primitive polynomial with the symbol number m The corresponding first candidate matrix Calculate the first intercept matrix X(m,d) and the first candidate matrix respectively The product of the transpose of , gets the corresponding product value;
[0020] B3: Calculate the ratio of the number of multiplication values 0 to the total number of multiplication values minus the ratio of the number of multiplication values 1 to the total number of multiplication values to obtain the verification matching degree.
[0021] B4: Change the primitive polynomial so that i=i+1 and repeat steps B1-B3 until i=l m , and then the maximum check matching degree is used as the check matching degree of the symbol number m and the synchronization time d;
[0022] B5: Change the synchronization time so that d=d+1, and repeat steps B1-B4 until the synchronization time reaches the maximum value;
[0023] B6: Change the number of symbols so that m=m+1, and repeat steps B1-B5 until the number of symbols m reaches the maximum value;
[0024] B7: Traverse the first check matching degrees of all different symbol numbers and synchronization moments obtained in steps B1-B6.
[0025] Preferably, during initialization, the synchronization time d=0, the number of symbols m=3, and the primitive polynomial i = 1.
[0026] Preferably, the calculation method for estimating the error correction capability includes:
[0027] C1: Set the minimum error correction capability t min =1, and set the maximum error correction capability t according to the estimated codeword length max ;
[0028] C2: The average of the minimum error correction capability and the maximum error correction capability is rounded down to the nearest integer as the expected error correction capability t;
[0029] C3: Calculate the product of the second interception matrix and the second candidate check matrix corresponding to the error correction capability t, and calculate the ratio of the number of multiplication values 0 to the total number of multiplication values minus the ratio of the number of multiplication values 1 to the total number of multiplication values to obtain the second check matching degree corresponding to the error correction capability t;
[0030] C4: Compare the second check matching degree ψ(t) corresponding to the error correction capability t with the threshold T. If ψ(t) < T, let t max = t, and repeat steps C2-C4. If ψ(t)>T, let t min = t, and repeat steps C2-C4 until t = t min , and the expected error correction capability t at this time is used as the estimated error correction capability of the RS code.
[0031] Preferably, when selecting the second candidate check matrix, the number of symbols and the primitive polynomial of the second candidate check matrix need to be the same as the estimated number of symbols and the primitive polynomial of the RS code.
[0032] Preferably, after constructing the second intercept matrix, the symbol number m is used est , primitive polynomial P est , the screening matrix H(m est ,P est , t=1) Eliminate all code words containing errors in the second interception matrix.
[0033] Preferably, the second interception matrix and the transpose of the screening matrix are multiplied to obtain a judgment matrix. If there is a row vector in the judgment matrix that is not an all-zero vector, the codeword formed by the row vector corresponding to the second interception matrix is an erroneous codeword and is eliminated; conversely, if all row vectors of the judgment matrix are all-zero vectors, the codeword corresponding to the second interception matrix is error-free and is retained.
[0034] Compared with the prior art, the present invention has the following beneficial effects:
[0035] (1) The present invention first constructs a check matrix library based on the GF(2) domain. Then, after intercepting the binary code stream, it constructs an intercepted matrix based on the RS code parameters. The check matrix library is called to perform matrix multiplication operations to calculate the check matching degree. The properties of the RS code are then used to identify the generator polynomial of the RS code. Since all numerical operations are performed within the GF(2) domain, the amount of computation is small. In addition, regardless of the error correction capability of the intercepted RS code, according to the properties of RS, it is orthogonal to the check matrix with the same error correction capability as the primitive polynomial but with a smaller error correction capability. Therefore, it is only necessary to call the check matrix corresponding to the error correction capability t=1 or t=2 to realize the identification of the RS code parameters. This method has better generalization capability and a small amount of computation.
[0036] (2) Under low bit error rates, the RS coding parameters can be accurately identified by calling a check matrix that is the same as the primitive polynomial of the intercepted code stream and has an error correction capability of t=2. However, under high bit error rates, when parameter identification fails, by calling a check matrix corresponding to a higher error correction capability for matching, and utilizing the orthogonality between the codeword and each vector in the check matrix, the fault tolerance performance of the algorithm can be significantly improved by increasing the number of check vectors without increasing the amount of intercepted data. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] Figure 1 Flowchart of the blind identification method of RS code parameters according to an embodiment of the present invention.
[0038] Figure 2 This is an inclusion relationship diagram of the original RS code and the new RS code according to an embodiment of the present invention.
[0039] Figure 3 This is a flow chart of constructing a check matrix library according to an embodiment of the present invention.
[0040] Figure 4 This is a flow chart of a method for blindly identifying codeword length and synchronization time according to an embodiment of the present invention.
[0041] Figure 5 Flowchart of a generator polynomial identification method according to an embodiment of the present invention.
[0042] Figure 6 Schematic diagram of parity check matrix matching degree of different primitive polynomials corresponding to the number of symbols 6 in an embodiment of the present invention.
[0043] Figure 7 This is a parity check matrix matching diagram corresponding to different codeword lengths and synchronization times according to an embodiment of the present invention.
[0044] Figure 8 4 is a performance diagram of blind recognition of different RS code parameters according to an embodiment of the present invention. DETAILED DESCRIPTION
[0045] The technical solution of the present invention is further described below with reference to the accompanying drawings and embodiments.
[0046] like Figure 1 As shown, the embodiment of the present invention proposes a blind identification method for RS code parameters based on binary field parity check matrix matching, including:
[0047] S1: Construct a check matrix library based on the properties of RS code;
[0048] like Figure 2 As shown, the original RS code is the (n, k) RS code generated with the generating polynomial g(x) = A(x)g′(x), and the new RS code is the (n, k) RS code generated with the generating polynomial g′(x). The dual code space of the new RS code is a subspace of the dual code space of the original RS code. This is because RS codes possess the property of Proposition 1.
[0049] RS code is a special non-binary BCH code. Let α be the primitive element in GF(q). The symbol is taken from GF(q), the (n,k) RS code that corrects t errors, and its generating polynomial g(X) is α,α 2 ,...,α 2t are all its roots. Since α i is an element in GF(q), so its minimal polynomial Φ i (X) is X-α i .then
[0050] g(X)=(X-α)(X-α 2 )…(X-α 2t )=g0+g1X+g2X 2 +…+g 2t-1 X 2t-1 +X 2t (1)
[0051] Where g i ∈GF(q),1≤i≤2t,nk=2t. Therefore, by the codeword length n, the primitive polynomial P(X) and the error correction capability t, we can determine the error correction capability in GF(2 m ) is the unique generating polynomial of the RS code on .
[0052] Proposition 1: If c(x) is the (n,k) RS codeword generated by the generator polynomial g(x) = A(x)g′(x), and the check polynomial corresponding to the RS code (n,k) with g′(x) as the generator polynomial is h′(x), then c(x)h′(x) mod (x n -1)=0.
[0053] From formula (1), we can see that the generating polynomial g′(X) corresponding to t=1 is g′(X)=(X-α)(X-α 2), must be a factor of the generating polynomial g(X) corresponding to t ≥ 1. Therefore, the RS code corresponding to the codeword length n and the generating polynomial g(X) is orthogonal to the parity check matrix of the dual code space of the (n,n-2) RS code corresponding to the codeword length n and the generating polynomial g′(x).
[0054] Theorem 1: Let V be a matrix of GF(2 m ), the RS code generated by the k×n order generator matrix G on GF(2), then the binary vector representation of V (mn,mk) is a linear block code on GF(2). m ) is mapped to a (mn,mk) linear block code on GF(2), where mn=m(2 m -1), m≥3.
[0055] According to Proposition 1 and Theorem 1, the RS code generated by the generator polynomial corresponding to the symbol number m, primitive polynomial P, and error correction capability t, after being converted into binary codewords, has a dual code space that is a subspace of the RS code dual code space generated by the symbol number m, primitive polynomial P, and error correction capability t′ (t′>t). This conclusion provides a theoretical basis for binary domain parity check matrix matching algorithms.
[0056] According to the above theory, assuming the symbol bit is m, the codeword length is n=2 m -1; the primitive polynomial P corresponding to m = primpoly(m,'all') is l m indivual, 1≤i≤l m Indicates a code length of 2 m -1's ith primitive polynomial. For example, P = primpoly(3,'all') yields The binary vector forms are 1011 and 1101 respectively, that is, the corresponding primitive polynomials are
[0057] like Figure 3 As shown, the construction method of the check matrix library is as follows:
[0058] Input: number of symbols 3≤m≤8, codeword length n=2m-1, then its maximum error correction capability t max =(n-3) / 2, error correction capability 1≤t≤t max , the primitive polynomial is expressed as 1≤i≤l m .
[0059] Output: check matrix library 3≤m≤8,1≤i≤l m , 1≤t≤(2 m -4) / 2.
[0060] Step 1: Initialize m=m min , n = 2 m -1, i=1, t=1, and the generating polynomial g(X) is obtained according to formula (1). Randomly generate mn GFs(2 m ), and then convert each codeword into a binary vector (mn,mk) linear block code to form a matrix A. mn×mn of a line.
[0061] Step 2: Matrix A mn×mn After performing Gaussian column elimination, we get the matrix A′ mn×mn , where the matrix A′ is composed of the first m(n-2t) rows and the first m(n-2t) columns, which is the m(n-2t) order unit matrix. mn×mn Perform the same steps of Gaussian column elimination and select the first m(n-2t) rows and the transpose of mn-2tm-1 columns to mn columns as candidate check matrices Save it in the check matrix library Therefore,
[0062] Step 3: Change the error correction capability so that t = t + 1, and repeat steps 1 to 2 until t = t max .
[0063] Step 4: Change the primitive polynomial corresponding to the symbol number m so that i=i+1, and repeat steps 1 to 3 until i=l m .
[0064] Step 5: Change the number of symbols so that m=m+1, and repeat steps 1 to 4 until m=8.
[0065] Therefore, after algorithm steps 1 to 5, we get the number of symbols 3≤m≤8, all primitive polynomials corresponding to m 1≤i≤l m and error correction capability 1≤t≤(2 m -4) / 2 corresponding check matrix Constructing a check matrix library in, Represents the check matrix corresponding to the RS code with an error correction capability of 1.
[0066] S2: Intercept the binary code stream and construct the intercepted binary code stream into a first intercepted matrix X(m,d) with different codeword parameters. Take out all first candidate check matrices with the same number of symbols and primitive polynomials as the first intercepted matrix from the check matrix library. Then calculate the first check matching degree between the first intercept matrix and the first candidate check matrix, select the first candidate matrix with the largest first check matching degree, and use the number of symbols, primitive polynomial and synchronization time corresponding to the first candidate matrix as the estimated symbol number m of the RS code respectively est , primitive polynomial P est and synchronization time d est ;
[0067] According to the properties of RS code, Theorem 1 and Proposition 1, when the real symbol number m, codeword length n, synchronization time d and primitive polynomial P are used, the check matrix library is called Calculate X(m,d)H T The proportion of 0s minus the proportion of 1s in (m, p, t = 2) gives the maximum parity check matrix matching, which is equal to 1 when there are no errors. When the codeword length and synchronization time are correct but the primitive polynomial is incorrect, the corresponding parity check matrix matching is approximately equal to 0. When the codeword length is incorrect, the corresponding parity check matrix matching is also approximately equal to 0. When the codeword length and primitive polynomial are correct but the synchronization time is incorrect, the corresponding parity check matrix matching may be greater than 0, less than the maximum value, or approximately equal to 0. Therefore, based on the constructed intercept matrix, the parity check matrices corresponding to different code lengths and primitive polynomials can be called to obtain the parity check matrix matching to identify the codeword length, synchronization time, and primitive polynomial.
[0068] like Figure 4 As shown, the identification method of code length, synchronization time and primitive polynomial is as follows:
[0069] Assume that the transmitter uses (n0, k0) RS coding, the number of symbols is m0, and the codeword length is The primitive polynomial is P0, the error correction capability is t0, and the synchronization time is d0.
[0070] Input: Binary RS code intercept sequence of length L, taking the minimum number of symbols m min =3 and maximum value m max =8;
[0071] Output: Estimated number of symbols m est , estimate the codeword length Estimated synchronization time d est , estimate the primitive polynomial P est .
[0072] Step 1: Initialize the number of symbols m = m min , codeword length n = 2 m -1, d = 0, construct the first intercept matrix X (m, d);
[0073] Step 2: Initialize i=1, call the symbol number m and primitive polynomial in the check matrix library The first candidate check matrix corresponding to error correction capability t=1 beg The proportion of 0 in minus the proportion of 1 in , we get the check matrix matching degree.
[0074] Step 3: Change the primitive polynomial so that i=i+1 and repeat step 2 until i=l m Find the maximum parity check matrix matching degree among all primitive polynomials of codeword length n, and use it as the parity check matching degree Φ(n,d) of the intercept matrix X(m,d).
[0075] Step 4: Set the threshold T. If Φ(n,d)>T, the step ends and the number of symbols of the corresponding candidate check matrix is selected as m. est , the synchronization time is d est , the primitive polynomial is P est Otherwise, continue with step 5.
[0076] Step 5: Change the synchronization time so that d = d + 1, and repeat steps 1 to 4 until d = d max =m0n0-1.
[0077] Step 6: Change the number of symbols to make m=m+1, and repeat steps 1 to 5 until m=m max =8.
[0078] Step 7: Select the number of symbols, codeword length, synchronization time and primitive polynomial corresponding to the maximum value of the first check matching degree Φ(n,d) as m est 、n est d est and P est .
[0079] If m est =m0, then the number of symbols and codeword length are correctly identified; otherwise, they are incorrectly identified. est =d0, then the synchronization moment is correctly identified; otherwise, it is incorrectly identified. est =P0, then the primitive polynomial is identified correctly, otherwise, it is identified incorrectly.
[0080] S3: Estimated number of symbols m according to RS code est and synchronization time d est , construct the intercepted binary code stream into the second intercepted matrix X(m est ,d est ), set the error correction capability t, and take out the second candidate check matrix H(m) with the same error correction capability from the check matrix library est ,P est, t), then calculating the second check matching degree between the second intercept matrix and the second candidate check matrix, and selecting the maximum error correction capability with the second check matching degree greater than the threshold as the estimated error correction capability of the RS code;
[0081] like Figure 5 As shown, the blind recognition method of generating polynomials is as follows:
[0082] Step 1: Estimated number of symbols m according to the estimate est and synchronization time d est Construct intercept matrix X i (m est ,d est ), where X i (m est ,d est ) represents the i-th RS code word;
[0083] Step 2: Use the screening matrix H(m est ,P est ,t=1) Eliminate X i (m est ,d est ) contains error codewords, if X i (m est ,d est )H T (m est ,P est ,t=1),1≤i≤N is not a full zero vector, then X i (n est ,d est ) contains bit errors, delete the i-th codeword; if it is an all-zero vector, retain it.
[0084] Step 3: Initialize the minimum error correction capability t min , the maximum error correction capability t max =(n-3) / 2, call the matrix H(m est ,P est ,t max ), calculate X i (m est ,d est )H T (m,P,t max ) is calculated as the ratio of 0 minus the ratio of 1. est ,P est ,t max ) corresponds to the second check matrix matching degree Ψ(t max ), if Ψ(t max )>T, then t est =t max ; Otherwise go to step 4.
[0085] Step 4: Let expected error correction capability t = (t min +t max ) / 2, and round it down as the value of t, call H(m est ,P est ,t), calculate X i (m est ,d est )H T (m est ,P est ,t) minus the proportion of 1 in 0 as H(m est ,P est ,t) corresponds to the second check matrix matching degree Ψ(t).
[0086] Step 5: If Ψ(t) is greater than T, t min = t, repeat step 4; if Ψ(t) is less than T, t max = t, repeat step 3 until t = t min , at this time, the estimated error correction capability t est =t, the estimated generating polynomial is Identification completed.
[0087] Depend on Figure 6 As shown, the present invention takes the check matrix matching degree corresponding to different primitive polynomials with the number of symbols m=6 as an example. Among them, the sending end is (63,45) RS code, the primitive polynomial P(X)=X 6 +X 4 +X 3 +X+1, error correction capability t=9, assuming that the non-cooperative party intercepts a string of 756000 bits of data, synchronization time d0=3, and the bit error rate is P e =0.001, select the number of codeword groups N = 200, and use the binary field check matrix matching algorithm for blind recognition. The x-axis 1 to 6 represent the primitive polynomials corresponding to m = 6, that is, and The y-axis represents the primitive polynomial The check matrix matching degree corresponding to 1≤i≤6.
[0088] Depend on Figure 6 It can be seen that when m=6, The corresponding check matrix matching degree is 0.6750, which is greater than the threshold 0.1, while the check matrix matching degrees corresponding to other primitive polynomials are close to 0. Therefore, The primitive polynomial is identified correctly.
[0089] Figure 7 Shown is the parity check matrix matching degree corresponding to different codeword lengths and synchronization moments of the present invention. Figure 7 In the example, the x-axis represents the synchronization time, ranging from 0 to 377; the y-axis represents the number of symbols, ranging from 3 to 8; and the z-axis represents the parity check matrix matching degree corresponding to n and d. The parity check matrix matching degree corresponding to n = 63 and d = 3 means that the intercepted sequence is truncated with the first 3 bits, and the binary codeword length is 63 × 6 = 378, divided into 500 codewords to form the intercepted matrix X, and then the parity check matrix library corresponding to m = 6 is called. 1≤i≤6, calculate , the proportion of 0 in 1≤i≤6 minus the proportion of 1, and take the maximum value 0.6750 as the check matrix matching degree corresponding to X(n,d).
[0090] Depend on Figure 7 It can be seen that when the number of symbols m = 6, that is, the codeword length n = 63, and the synchronization time d = 3, the corresponding check matrix matching degree is the largest, which is 0.6750. When m≠6, the check matrix matching degree is close to 0, and when m=6, d≠3, some check matrices have a larger matching degree. This is because the binary vector of the RS code is a quasi-cyclic code. When the codeword length is correct and the synchronization time is incorrect, some codeword check matrices will successfully match. Therefore, m est =6,n est =63,d est =3, the number of symbols, codeword length and synchronization time are all correctly identified. The simulation results are consistent with the theoretical analysis, thus proving the feasibility of the proposed algorithm.
[0091] Figure 8 The figure shows the performance analysis of blind recognition of different RS code parameters of the present invention. Figure 8 (a) The primitive polynomial is P(X) = X 4 +X 3 Figure 2 shows the simulation results of a (15,11) RS code with a value of +1, d0 = 3, number of codeword groups N = 500, bit error rate ranging from 0 to 0.13, step size of 0.005, number of Monte Carlo simulations of 100, and threshold of 0.15. Figure 8 (b) The primitive polynomial is P(X) = X 3 Figure 2 shows the simulation results of the (7,3) RS code with d0=3, number of codeword groups N=200, bit error rate from 0 to 0.3, step size of 0.01, number of Monte Carlo simulations 300, and threshold of 0.15.
[0092] from Figure 8It can be seen that for the high-code rate RS(15,11), the algorithm of the present invention still has good recognition effect at a higher bit error rate. For the codeword length recognition of RS(7,3), the correct recognition rate is still above 90% under the condition of bit error rate of 0.2. However, the recognition effect at the synchronization time varies greatly with the codeword length. This is because the RS(7,3) code is a quasi-cyclic code with m=3. Although some code elements of the codeword are moved to the next row in the intercept matrix at different synchronization times, the matching degree of the check matrix is reduced, but the m=3 interval is small, and the bit error rate of recognition at the synchronization time can still reach 0.05.
[0093] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not limiting. Although the present invention has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solutions of the present invention may be modified or replaced by equivalents without departing from the purpose and scope of the technical solutions of the present invention, which should all be included in the scope of the claims of the present invention.
Claims
1. A blind identification method for RS code parameters based on binary field parity check matrix matching, characterized by: include: S1: Construct a check matrix library based on the properties of RS code; S2: Intercept the binary code stream and construct the intercepted binary code stream into a first intercepted matrix X(m,d) with different codeword parameters. Take out all first candidate check matrices with the same number of symbols and primitive polynomials as the first intercepted matrix from the check matrix library. Then calculate the first check matching degree between the first intercept matrix and the first candidate check matrix, select the first candidate matrix with the largest first check matching degree, and use the number of symbols, primitive polynomial and synchronization time corresponding to the first candidate matrix as the estimated symbol number m of the RS code respectively est , primitive polynomial P est and synchronization time d est ; S3: Estimated number of symbols m according to RS code est and synchronization time d est , construct the intercepted binary code stream into the second intercepted matrix X(m est ,d est ), set the error correction capability t, and take out the second candidate check matrix H(m) with the same error correction capability from the check matrix library est ,P est , t), then calculating the second check matching degree between the second intercept matrix and the second candidate check matrix, and selecting the maximum error correction capability with the second check matching degree greater than the threshold as the estimated error correction capability of the RS code; S4: Estimated number of symbols m according to RS code est , synchronization time d est , primitive polynomial P est The generating polynomial of RS code is identified and the error correction capability is estimated.
2. The method for blindly identifying RS code parameters based on binary domain parity check matrix matching according to claim 1, wherein: The construction method of the check matrix library is as follows: A1: Set the range of the symbol number m, starting from the minimum value of the symbol number m, and calculate the corresponding codeword length n and maximum error correction capability t according to the symbol number m max and l m Primitive polynomials Then initialize the error correction capability t and the primitive polynomial A2: Randomly generate nm GFs (2 m ) and convert each RS code into a binary linear block code, then create the matrix A mn×mn , and take each linear block code codeword as the matrix A mn×mn a line of; A3: Matrix A mn×mn Use Gaussian column elimination to obtain a construction matrix, and take the transpose of the first m(n-2t) rows and the mn-2tm+1th to mnth columns of the construction matrix as a candidate check matrix and save it in the check matrix library; A4: Change the error correction capability so that t = t + 1, and repeat steps A2-A3 until t = t max ; A5: Change the primitive polynomial so that i=i+1 and repeat steps A2-A4 until i=l m ; A6: Change the number of symbols so that m=m+1, and repeat steps A2-A5 until m reaches a maximum value, thereby forming a check matrix library containing multiple check matrices.
3. The method for blindly identifying RS code parameters based on binary domain check matrix matching according to claim 1, wherein: The calculation method of the first verification matching degree includes: B1: Set the range of the number of symbols m, starting from the minimum value of the number of symbols m, calculate the corresponding codeword length n according to the number of symbols m, initialize the synchronization time d to the minimum value, and construct the first interception matrix X(m,d) based on the codeword length and synchronization time; B2: Initialize primitive polynomial Where i is the minimum value, select the primitive polynomial with the symbol number m The corresponding first candidate matrix Calculate the first intercept matrix X(m,d) and the first candidate matrix respectively The product of the transpose of , gets the corresponding product value; B3: Calculate the ratio of the number of multiplication values 0 to the total number of multiplication values minus the ratio of the number of multiplication values 1 to the total number of multiplication values to obtain the verification matching degree. B4: Change the primitive polynomial so that i=i+1 and repeat steps B1-B3 until i=l m , and then the maximum check matching degree is used as the check matching degree of the symbol number m and the synchronization time d; B5: Change the synchronization time so that d=d+1, and repeat steps B1-B4 until the synchronization time reaches the maximum value; B6: Change the number of symbols so that m=m+1, and repeat steps B1-B5 until the number of symbols m reaches the maximum value; B7: Traverse the first check matching degrees of all different symbol numbers and synchronization moments obtained in steps B1-B6.
4. The method for blind identification of RS code parameters based on binary field parity check matrix matching according to claim 3, wherein: During initialization, let the synchronization time d = 0, the number of symbols m = 3, and the primitive polynomial i = 1.
5. The method for blind identification of RS code parameters based on binary field parity check matrix matching according to claim 1, wherein: Calculation methods for estimating error correction capability include: C1: Set the minimum error correction capability t min =1, and set the maximum error correction capability t according to the estimated codeword length max ; C2: The average of the minimum error correction capability and the maximum error correction capability is rounded down to the nearest integer as the expected error correction capability t; C3: Calculate the product of the second interception matrix and the second candidate check matrix corresponding to the error correction capability t, and calculate the ratio of the number of multiplication values 0 to the total number of multiplication values minus the ratio of the number of multiplication values 1 to the total number of multiplication values to obtain the second check matching degree corresponding to the error correction capability t; C4: Compare the second check matching degree ψ(t) corresponding to the error correction capability t with the threshold T. If ψ(t) < T, let t max = t, and repeat steps C2-C4. If ψ(t)>T, let t min = t, and repeat steps C2-C4 until t = t min , and the expected error correction capability t at this time is used as the estimated error correction capability of the RS code.
6. The method for blind identification of RS code parameters based on binary field parity check matrix matching according to claim 5, wherein: When selecting the second candidate check matrix, the number of symbols and the primitive polynomial of the second candidate check matrix must be the same as the estimated number of symbols and the primitive polynomial of the RS code.
7. The method for blind identification of RS code parameters based on binary field parity check matrix matching according to claim 1, wherein: After constructing the second intercept matrix, use the symbol number m est , primitive polynomial P est , the screening matrix H(m est ,P est , t=1) Eliminate all code words containing errors in the second interception matrix.
8. The method for blind identification of RS code parameters based on binary field parity check matrix matching according to claim 7, wherein: The second interception matrix and the transpose of the screening matrix are multiplied to obtain a judgment matrix. If there is a row vector in the judgment matrix that is not an all-zero vector, the codeword formed by the row vector corresponding to the second interception matrix is an erroneous codeword and is eliminated; conversely, if all row vectors of the judgment matrix are all-zero vectors, the codeword corresponding to the second interception matrix is error-free and is retained.