An interlace type identification method and device, electronic equipment and storage medium
By determining the interleaving type at the receiving end and using a matrix and convolutional deinterleaver to identify the interleaving type, the problem of insufficient accuracy in blind interleaving type identification in the prior art is solved, and accurate interleaving type identification and decoding are achieved even in the case of data loss.
Patent Information
- Application Number
- CN202310588161.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-23
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2043-05-23
AI Technical Summary
Existing technologies fail to effectively consider the uncertainty of interleaving types when identifying interleaving types, resulting in insufficient accuracy in blind identification of interleaving types.
By filling the target sequence composed of multiple frames of data into the first matrix row by row, and traversing the first matrix within a preset range, the frame length of a complete frame of data is determined. Based on the frame length, the first part of the target sequence is reduced, and de-interleaving is performed using convolution and matrix deinterleaving. The interleaving type is verified to be convolution, matrix, or spiral interleaving.
It enables accurate identification of interleaving types even in the presence of data loss, improves the accuracy of blind interleaving type identification, and ensures the correctness of subsequent decoding processes.
Smart Images

Figure CN116614205B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of communication, and in particular to an interleaving type identification method and device, an electronic device and a storage medium. BACKGROUND
[0002] When identifying interleaving parameters, the interleaving method used by the transmitting end must be determined first. After receiving data at the receiving end, a lot of prior information is often lacking, so the interleaving type must be determined first to correctly and quickly identify the interleaving parameters, so that the relevant configuration information can be correctly decoded subsequently. Therefore, the determination of the interleaving method is extremely important for the reverse analysis of a communication system. Common interleaving types include convolutional interleaving, matrix interleaving and spiral interleaving. Therefore, the correct interleaving parameters can be identified only after the interleaving type is determined.
[0003] In the prior art, the random extraction of row vectors of a matrix does not affect the linear correlation of column vectors, so the random extraction of row vectors is performed on a convolutional interleaving data matrix, and the interleaving parameters are determined by analyzing the multiple sub-matrices after random extraction. However, this method does not consider the uncertainty of the interleaving type, and cannot guarantee the accuracy of blind identification of the interleaving type. SUMMARY
[0004] The present application provides an interleaving type identification method to solve the problem that the prior art method for determining interleaving parameters does not consider the uncertainty of the interleaving type and cannot guarantee the accuracy of blind identification of the interleaving type.
[0005] In a first aspect, the present application provides an interleaving type identification method, comprising:
[0006] sequentially filling a target sequence composed of multiple frames of data into a first matrix row by row, and traversing the column number of the first matrix within a preset range;
[0007] determining the frame length of a complete frame of data according to the first matrix;
[0008] pruning the front data of the target sequence based on the frame length to obtain multiple intermediate sequences;
[0009] setting the parameters of a convolutional deinterleaver according to the frame length and deinterleaving the intermediate sequences to obtain multiple first deinterleaved sequences;
[0010] verifying whether the interleaving type of the target sequence is convolutional interleaving based on the first deinterleaved sequences;
[0011] If not, setting the parameters of a matrix deinterleaver according to the frame length and deinterleaving the intermediate sequences to obtain multiple second deinterleaved sequences;
[0012] The interlacing type judgment module is configured to determine, according to the second de-interlacing sequence, whether the interlacing type of the target sequence is one of matrix interlacing and spiral interlacing.
[0013] In a second aspect, the present application provides an interlacing type identification device, comprising:
[0014] A data filling module is configured to fill the target sequence composed of multiple frames of data into a first matrix in sequence by row, and the number of columns of the first matrix is traversed within a preset range.
[0015] A frame length determination module is configured to determine the frame length of a complete frame of data according to the first matrix.
[0016] An intermediate sequence acquisition module is configured to delete the front data of the target sequence based on the frame length to obtain multiple intermediate sequences.
[0017] A convolution de-interlacing module is configured to set parameters of a convolution de-interlacing device according to the frame length and de-interlace the intermediate sequences to obtain multiple first de-interlacing sequences.
[0018] A convolution interlacing judgment module is configured to verify, based on the first de-interlacing sequence, whether the interlacing type of the target sequence is convolution interlacing, and if not, execute the content executed by the matrix de-interlacing module.
[0019] A matrix de-interlacing module is configured to set parameters of a matrix de-interlacing device according to the frame length and de-interlace the intermediate sequences to obtain multiple second de-interlacing sequences.
[0020] The interlacing type judgment module is configured to determine, according to the second de-interlacing sequence, whether the interlacing type of the target sequence is one of matrix interlacing and spiral interlacing.
[0021] In a third aspect, the present application provides an electronic device, comprising:
[0022] at least one processor; and
[0023] a memory connected with the at least one processor in communication; wherein
[0024] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to execute the interlacing type identification method of the first aspect of the present application.
[0025] In a fourth aspect, the present application provides a computer readable storage medium, which stores computer instructions for enabling a processor to execute the interlacing type identification method of the first aspect of the present application when executed.
[0026] The embodiment of the application provides an interlacing type identification method, a target sequence composed of multiple frames of data is sequentially filled into a first matrix by rows, and the number of columns of the first matrix is traversed in a preset range; the frame length of a complete frame of data is determined according to the first matrix; the front part of the target sequence is deleted based on the frame length to obtain multiple intermediate sequences; the parameters of a convolutional deinterleaver are set according to the frame length, and the intermediate sequences are deinterleaved to obtain multiple first deinterleaved sequences; whether the interlacing type of the target sequence is convolutional interleaving is verified based on the first deinterleaved sequences; if not, the parameters of a matrix deinterleaver are set according to the frame length, and the intermediate sequences are deinterleaved to obtain multiple second deinterleaved sequences; whether the interlacing type of the target sequence is one of matrix interleaving and spiral interleaving is judged according to the second deinterleaved sequences. Considering that there may be data loss, the frame length of a complete frame of data is first determined, then the front part of the target sequence is deleted according to the frame length, and then multiple intermediate sequences including a sequence with complete data are obtained, which are used as basic data for interlacing type identification. Then, the convolutional deinterleaving method is used to deinterleave the intermediate sequences and verify, and if the verification fails, it is verified whether the interlacing type is one of matrix interleaving and spiral interleaving. The diversity of the interlacing type is considered, blind identification of the interlacing type is realized, and correct interlacing parameters are obtained.
[0027] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the application, nor is it used to limit the scope of the application. Other features of the application will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS
[0028] In order to more clearly illustrate the technical solutions in the embodiments of the application, the following will briefly introduce the drawings needed to be used in the embodiment description. Obviously, the drawings in the following description are only some embodiments of the application, and other drawings can also be obtained by those skilled in the art without creative labor.
[0029] Figure 1A is a schematic diagram of the matrix interleaving process provided by the application;
[0030] Figure 1B is a schematic diagram of the matrix deinterleaving process provided by the application;
[0031] Figure 1C is a schematic diagram of the convolutional interleaving process provided by the application;
[0032] Figure 1D is a schematic diagram of the convolutional deinterleaving process provided by the application;
[0033] Figure 1E is a schematic diagram of the spiral interleaving and deinterleaving process provided by the application;
[0034] Figure 2 is a flow chart of an interleaving type identification method provided by an embodiment of the present application;
[0035] Figure 3 is a flow chart of an interleaving type identification method provided by an embodiment of the present application;
[0036] Figure 4 is a structural schematic diagram of an interleaving type identification device provided by an embodiment of the present application;
[0037] Figure 5 is a structural schematic diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0038] In order to make the personnel in the technical field better understand the present application, the technical solutions in the embodiments of the present application will be described clearly and completely below in combination with the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all the other embodiments obtained by the personnel in the field without creative labor should belong to the protection scope of the present application.
[0039] The common interleaving types at present are matrix interleaving, convolution interleaving and spiral interleaving.
[0040] The matrix interleaving process and the matrix deinterleaving process are shown in Figure 1A and Figure 1B respectively, the interleaving depth of the matrix interleaving is defined as S, which is generally an integer multiple of the code length (the frame length of a complete frame of data) n, S=m*n. The process of the matrix interleaving is to fill the encoded data into the matrix row by row, and then read out the data column by column. The process of the matrix deinterleaving is to fill the received interleaved data into the matrix column by column, and then read out the data row by row.
[0041] The convolution interleaving process and the deinterleaving process are shown in Figure 1C and Figure 1D respectively, the process of the convolution interleaving is to make the encoded data enter B branches in sequence, B is the interleaving width, the delay number of each branch increases by M, M is the interleaving depth, and the obtained new matrix is the interleaved data. The convolution deinterleaving is the inverse process of the convolution interleaving, and the value of B is greater than 1.
[0042] The spiral interleaving and deinterleaving processes are shown in Figure 1EAs shown, the process of spiral interleaving and deinterleaving is exemplified by a 3x5 matrix, the process of spiral interleaving is to write the encoded data into the rxs matrix row by row, where r is the row of the matrix, s is the column of the matrix, and r and s are prime numbers. When interleaving, the data is read from the top left corner of the matrix down, and each down one row is right shifted by one bit, where the row direction and the column direction are respectively taken modulo r and modulo s, and if r i and s i respectively represent the index of the ith bit in the row and the column, then the data reading rule of the spiral interleaver is:
[0043] r (i+1) =(r i +1)modr;
[0044] s (i+1) =(s i +1)mods;
[0045] Where i=0, 1, 2, …, W-1, W=rxs, and r0=s0=0.
[0046] It should be noted that in the present application, the values of the interleaving width and the interleaving depth are both greater than 1.
[0047] According to the processes of matrix interleaving and deinterleaving, and convolution interleaving and deinterleaving, the interleaving process is to fill in a fixed-size matrix row by row, and the deinterleaving process is to fill in a fixed-size matrix column by column, so when identifying the interleaving type at the receiving end, the present application uses the characteristics of the matrix to identify the interleaving type and the interleaving parameters according to the correlation of the matrix.
[0048] Embodiment One
[0049] Figure 2 A flowchart of an interleaving type identification method provided for Embodiment One of the present application, the present embodiment can be applicable to the case of interleaving type identification, and the method can be executed by an interleaving type identification device, which can be realized in the form of hardware and / or software, and can be configured in an electronic device. As shown, the interleaving type identification method comprises: Figure 2
[0050] S201, filling a target sequence composed of multiple frames of data into a first matrix row by row.
[0051] Wherein the number of columns of the first matrix is traversed within a preset range.
[0052] In adaptive or non-cooperative communication, the sender sends a communication signal after interleaving the information, and the receiver intercepts the communication signal to obtain a target sequence by demodulation, etc. The data received by the receiver is a plurality of frames of data, and the target sequence is a combination of the plurality of frames of data. For example, the communication signal includes three frames of data A1, A2 and A3, and the target sequence is A1A2A3. The data in the target sequence is filled into the first matrix in the same way as shown in the data input table, and the table is equivalent to the matrix. The rows and columns of the table are equivalent to the rows and columns of the matrix, and the symbols in the target sequence are sequentially filled into the rows of the first matrix. Figure 1E
[0053] The number of columns M1 of the first matrix is traversed in a preset range. Assuming that the preset range is [M min , M max ], M min is the minimum traversal value of the interleaving depth, and M max is the maximum traversal value of the interleaving depth, which can be set according to historical data. Assuming that M min is 1 and M max is 5, the preset range is [1, 5], and the number of columns M1 of the first matrix can take values 1 to 5, respectively, corresponding to five first matrices.
[0054] S202, determining the frame length of a complete frame of data according to the first matrix.
[0055] Since the first frame of data can be lost, if there is a loss, the starting point of the target sequence is not the starting point of a frame of data at this time. For example, a complete frame of data is {1, 2, 3, 4, 5, 6}, the frame length is 6, and if the first 3 symbols of the first frame of data are lost, the first frame of data is {4, 5, 6}, and the frame length of the first frame of data is 3. The target sequence is {4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6…}.
[0056] To determine the frame length of a complete frame of data, the normalized rank of each first matrix can be obtained.
[0057] Assuming that the received interleaving sequence is L, the length is l, and assuming any interleaving depth N1, the interleaving sequence L is sequentially filled into a matrix H with the number of columns equal to N1. The number of rows of the matrix is denoted by N2, N2 is the integer value of the ratio of l to N1, and l is large enough to ensure that N2≥N1. The rank of the matrix H is calculated and denoted by gfrank(H), and the following expression is obtained:
[0058]
[0059] wherein ρ H is the normalized rank of the matrix H, and according to linear algebra theory, it is known that:
[0060]
[0061] When ρ H When gfrank(H) = N1, it means that the matrix H is full rank at this time, and the columns in the matrix are linearly independent. The smaller the value of ρ H The smaller the value of ρ H The smaller the value of ρ H The smaller the value of ρ
[0062] For example, the complete frame data is {1, 2, 3, 4, 5, 6}, the frame length is 6, the first 3 symbols of the first frame data are lost, and the first frame data is {4, 5, 6}. The target sequence is {4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6…},
[0063] When filling in the matrix H11 with 3 columns, the arrangement is as follows (only 3 rows are taken as examples),
[0064]
[0065] When filling in the matrix H12 with 6 columns, the arrangement is as follows (only 3 rows are taken as examples),
[0066]
[0067] When filling in the matrix H13 with 12 columns, the arrangement is as follows (only 3 rows are taken as examples),
[0068]
[0069] As can be seen, each row of the code elements in matrices H12 and H13 is identical, and their normalized rank is obviously the smallest. However, the normalized rank of matrix H11 is not the smallest. By comparing the code elements in matrices H12 and H13, it can be seen that the code elements in each row of matrix H13 are two repetitions of the code elements in matrix H12. Therefore, it can be inferred that the number of columns in matrix H12 is the length of a complete frame of data, while the number of columns in matrix H13 is twice the length of a complete frame of data.
[0070] S203. Based on the frame length, the first part of the target sequence is reduced to obtain multiple intermediate sequences.
[0071] In this context, "reducing the data in the first part of the target sequence" refers to reducing the data (code elements) in the first frame of data.
[0072] If data loss occurs, and the order of symbols in each row is incorrect after filling the target sequence into a matrix with the number of columns equal to the frame length, it will be difficult to determine the interleaving mode directly based on the target sequence. Conversely, if the data is complete and the order of symbols in each row is correct, the interleaving mode can be determined directly based on the target sequence.
[0073] When obtaining the target sequence, prior information is usually lacking, making it impossible to know whether data loss exists, and if so, the number of lost symbols. Since data loss typically occurs in the first frame, given the frame length, the interleaving deviation can be set. The interleaving deviation's value range is [0, N]. frame -1],N frame When the interleaving deviation value is 0, it means that the preset target sequence has no interleaving deviation, that is, no data (symbol) loss has occurred; the interleaving deviation value is 1 to N. frame When the value is -1, the preset target sequence has an interleaving deviation, i.e., data loss occurs. The number of lost symbols is equal to the interleaving deviation. Since a frame of data includes at least one symbol, the maximum number of interleaving deviations is N. frame -1.
[0074] After setting the interleaving bias, the data in the beginning of the target sequence can be pruned based on the interleaving bias. That is, by iterating through different numbers of lost symbols, multiple intermediate sequences can be obtained. For example, a complete frame of data is {1, 2, 3, 4, 5, 6}, and the target sequence is {4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6…}. The interleaving bias can take values from 0 to 5, corresponding to 6 intermediate sequences. Taking an interleaving bias of 1 as an example, the intermediate sequence is {5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6…}.
[0075] The purpose of the step is to obtain each group of data as correct frame data when symbols in the intermediate sequence are grouped in frame length units.
[0076] S204, parameters of a convolutional deinterleaver are set according to the frame length, and the intermediate sequence is deinterleaved to obtain a plurality of first deinterleaved sequences.
[0077] The convolutional interleaving can be regarded as a special matrix interleaving. The received target sequence is first processed by convolutional interleaving, and then it is observed whether the relevant rules are met for corresponding judgment.
[0078] The parameters of the convolutional deinterleaver include convolutional interleaving width and convolutional interleaving depth, and the product of the convolutional interleaving width and the convolutional interleaving depth is the frame length. The convolutional interleaving width and the convolutional interleaving depth are integer factors of the frame length. When the frame length is known, all combinations of the convolutional interleaving width and the convolutional interleaving depth can be listed. The groups are sequentially used as the parameters of the convolutional deinterleaver to deinterleave the intermediate sequence, and a plurality of first deinterleaved sequences are obtained. It should be noted that setting the parameters of the convolutional deinterleaver is essentially assuming that the target sequence is convolutionally interleaved with the parameters. Correspondingly, the convolutional deinterleaver deinterleaves the interleaved sequence under the interleaving parameters.
[0079] S205, whether the interleaving type of the target sequence is convolutional interleaving is verified based on the first deinterleaved sequence.
[0080] The step is equivalent to verifying whether there is a sequence in the first deinterleaved sequence that meets the convolutional interleaving rule, i.e., if yes, it is determined that the interleaving type is convolutional interleaving, and if no, the interleaving type is not convolutional interleaving, then S205 is executed.
[0081] Specifically, whether the value of the interleaving width of the first deinterleaved sequence meets the convolutional interleaving rule can be verified. As previously described, the convolutional interleaving width of the convolutional interleaving is greater than 1. Therefore, if there is a convolutional interleaving width greater than 1, the interleaving type is convolutional interleaving.
[0082] S206, parameters of a matrix deinterleaver are set according to the frame length, and the intermediate sequence is deinterleaved to obtain a plurality of second deinterleaved sequences.
[0083] The parameters of the matrix deinterleaver include the frame length and the matrix interleaving depth, and the matrix interleaving depth is an integer factor of the frame length. The frame length is the product of the interleaving depth and the interleaving width. Similarly, when the frame length is known, the interleaving depth and the interleaving width can be listed. The matrix deinterleaver with different parameters is used to deinterleave the intermediate sequence to obtain a plurality of second deinterleaved sequences.
[0084] S207, whether the interleaving type of the target sequence is one of matrix interleaving and spiral interleaving is determined based on the second deinterleaved sequence.
[0085] The step is equivalent to verifying whether a sequence conforming to the matrix interleaving or spiral interleaving rule exists in the second deinterleaved sequence, if yes, the interleaving type of the target sequence is matrix interleaving or spiral interleaving, if not, the target sequence is not interleaved.
[0086] Specifically, the matrix interleaving depth of the matrix interleaving is greater than 1, therefore,
[0087] If the matrix interleaving depth is greater than 1, the interleaving type is one of matrix interleaving and spiral interleaving, then the matrix deinterleaving result (the second deinterleaved sequence) can be decoded, and then the decoded result is subjected to CRC (Cyclic redundancy check) verification, if the CRC verification passes, the interleaving type of the target sequence is matrix interleaving, if not, the interleaving type of the target sequence is spiral interleaving.
[0088] If the matrix interleaving depth is equal to 1, the target sequence is not interleaved.
[0089] After the interleaving type is determined, the correct interleaving parameters can be obtained, the processing of deinterleaving and decoding at the receiving end is realized, and finally the correct decoding result is obtained, and the correct configuration information is decoded.
[0090] The method provided by the embodiment of the application comprises the following steps: a target sequence composed of multiple frames of data is sequentially filled into a first matrix by rows, and the number of columns of the first matrix is traversed within a preset range; the frame length of a complete frame of data is determined according to the first matrix; the front part of the target sequence is pruned based on the frame length, and multiple intermediate sequences are obtained; the parameters of a convolution deinterleaver are set according to the frame length, and the intermediate sequences are deinterleaved to obtain multiple first deinterleaved sequences; whether the interleaving type of the target sequence is convolution interleaving is verified based on the first deinterleaved sequences; if not, the parameters of a matrix deinterleaver are set according to the frame length, and the intermediate sequences are deinterleaved to obtain multiple second deinterleaved sequences; whether the interleaving type of the target sequence is one of matrix interleaving and spiral interleaving is determined according to the second deinterleaved sequences. Considering that data loss may exist, the frame length of a complete frame of data is first determined, and then the front part of the target sequence is pruned according to the frame length, so that the multiple intermediate sequences obtained include a sequence with complete data, which is used as the basic data for interleaving type identification, and then the convolution deinterleaving manner is used to deinterleave the intermediate sequences and verify, and if the verification fails, whether the interleaving type is one of matrix interleaving and spiral interleaving is verified, the diversity of the interleaving type is considered, blind identification of the interleaving type is realized, and the correct interleaving parameters are obtained.
[0091] Embodiment two
[0092] Figure 3A flowchart of an interleaving type identification method provided for the second embodiment of the present application is shown in the figure, and the second embodiment of the present application is optimized on the basis of the first embodiment described above. Figure 3 The interleaving type identification method comprises the following steps:
[0093] S301, sequentially filling a target sequence composed of multiple frames of data into a first matrix in rows.
[0094] The number of columns of the first matrix is traversed within a preset range.
[0095] S301 is the same as S201 in the first embodiment, and the related description of S201 can be referred to.
[0096] S302, calculating the normalized rank of each first matrix.
[0097] S303, taking the first matrix with the smallest normalized rank as a feature matrix.
[0098] S304, taking the absolute value of the difference between the number of columns of two adjacent feature matrices as the frame length of a complete frame of data.
[0099] In order to clearly describe the calculation process of the frame length of a complete frame of data, the following example is used for illustration:
[0100] The target sequence is {7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9…},
[0101] When filling the matrix with the number of columns being 9, the data of each row is {7, 8, 9, 1, 2, 3, 4, 5, 6}, and when filling the matrix with the number of columns being 18, the data of each row is {7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6}. According to the above rules, the data of each row of the matrix is the same, and at this time, the normalized rank of the matrix is the smallest. Therefore, when the matrix is arranged in order of the number of columns, the absolute value of the difference between the number of columns of two adjacent matrices with the smallest normalized rank can be taken as the frame length of a complete frame of data. In the above example, the frame length is 9, which is the difference between 18 and 9.
[0102] In addition, it can be found that the normalized rank of the matrix is the smallest only when the number of columns of the matrix is a multiple of 9, and the greatest common divisor of the number of columns of the matrix with the smallest normalized rank can also be found, and the greatest common divisor is taken as the frame length of a complete frame of data.
[0103] S305, based on the frame length, deleting the front data of the target sequence to obtain multiple intermediate sequences.
[0104] Specifically, an interleaving offset range is determined according to a frame length; a plurality of intermediate sequences are obtained by deleting the first N bits of data of the target sequence, N being iterated in the interleaving offset range. The value range of the interleaving offset is [0, Nframe-1], and Nframe is the frame length. After setting the interleaving offset, the front part of the data of the target sequence can be deleted according to the interleaving offset, that is, a plurality of intermediate sequences are obtained by iterating different numbers of symbol loss.
[0105] S306, parameters of a convolutional deinterleaver are set according to the frame length, and the intermediate sequence is deinterleaved to obtain a plurality of first deinterleaved sequences.
[0106] Specifically, the parameters of the convolutional deinterleaver include a convolutional interleaving width and a convolutional interleaving depth, the product of the convolutional interleaving width and the convolutional interleaving depth is the frame length, a plurality of parameter combinations are obtained by calculating integer factors of the frame length, and the product of each parameter combination is the frame length; the intermediate sequence is deinterleaved by using the convolutional deinterleaver, and the parameters of the convolutional deinterleaver are iterated in the parameter combinations.
[0107] For example, the frame length is 15, and since the interleaving width and the interleaving depth are both greater than 1, the parameter combinations can be (3, 5) and (5, 3), and the two groups of parameters are respectively used as the parameters of the convolutional deinterleaver.
[0108] S307, whether the interleaving type of the target sequence is convolutional interleaving is verified based on the first deinterleaved sequence.
[0109] Specifically, the first deinterleaved sequence is sequentially filled into a second matrix with the number of columns being the frame length; a convolutional deinterleaver corresponding to the second matrix with the smallest normalized rank is determined to obtain a target convolutional deinterleaver; the convolutional interleaving width of the target convolutional deinterleaver is used as an interleaving width estimation value of the convolutional interleaving; when the interleaving width estimation value of the convolutional interleaving is greater than 1, it is determined that the interleaving type of the target sequence is convolutional interleaving, and when the interleaving width estimation value of the convolutional interleaving is equal to 1, it is determined that the interleaving type of the target sequence is matrix interleaving, spiral interleaving, or no interleaving.
[0110] That is, when it is assumed that the interleaving type of the target sequence is convolutional interleaving and the target sequence is deinterleaved by using convolutional deinterleavers with different parameters, if the parameter values of the deinterleaved target sequence meet a preset standard, it is indicated that the interleaving type of the target sequence is convolutional interleaving.
[0111] S308, parameters of a matrix deinterleaver are set according to the frame length, and the intermediate sequence is deinterleaved to obtain a plurality of second deinterleaved sequences.
[0112] The parameters of the matrix deinterleaver include a frame length and a matrix interleaving depth, and the frame length is equal to the product of the matrix interleaving depth and a matrix interleaving width, the matrix interleaving depth is an integer factor of the frame length, when the frame length is known, the combination of the matrix interleaving depth and the matrix interleaving width can be listed, and then the matrix interleaving depth in the combination value and the frame length are combined to form a parameter combination, and the parameter combination is used as the parameter of the matrix deinterleaver.
[0113] S309, judging whether the interleaving type of the target sequence is one of matrix interleaving and spiral interleaving according to the second deinterleaving sequence.
[0114] Specifically, an integer factor of the frame length is calculated as a matrix interleaving depth value; the second deinterleaving sequence is sequentially filled into a third matrix by row, and the number of columns of the third matrix is traversed in the matrix interleaving depth value; a matrix deinterleaver corresponding to the third matrix with the minimum normalized rank is determined, to obtain a target matrix deinterleaver; and the matrix interleaving depth value corresponding to the target matrix deinterleaver is used as an interleaving depth estimation value of the matrix interleaving.
[0115] If the interleaving depth estimation value of the matrix interleaving is equal to 1, the target sequence has no interleaving.
[0116] If the interleaving depth estimation value of the matrix interleaving is greater than 1, it is determined that the interleaving type of the target sequence is one of matrix interleaving and spiral interleaving; and the interleaving type of the target sequence is judged according to the interleaving depth estimation value. The interleaving type of the target sequence is judged according to the interleaving depth estimation value, specifically including: if the interleaving depth estimation value is even, and the integer decomposition factors of the interleaving depth estimation value are not prime numbers, it is determined that the interleaving type of the target sequence is matrix interleaving; if the interleaving depth estimation value is odd, and the integer decomposition factors of the interleaving depth estimation value are prime numbers, the deinterleaving result is subjected to CRC check to determine the interleaving type of the target sequence, if the check is passed, it is matrix interleaving, if the check is not passed, it is spiral interleaving, to determine the interleaving type of the target sequence.
[0117] Exemplarily, an integer factor m1 of the frame length S is determined, and then the intermediate sequence L1 is deinterleaved by using the (S, m1) matrix deinterleaver to obtain a deinterleaving sequence L2, the deinterleaving sequence L2 is sequentially filled into a matrix with the number of columns equal to (S / m1) by row, and the normalized ranks p H3 of different m1 values are calculated. H3 The m1 value corresponding to the minimum p H3 is used as the estimation value of the matrix interleaving depth, denoted as m', if m'>1, it indicates that the interleaving type is matrix interleaving or spiral interleaving, if m'=1, it indicates that there is no interleaving. The frame length is known, and m1 is the number of columns of the matrix, that is, the assumed matrix interleaving depth.
[0118] The embodiment determines the parameters of various types of deinterleavers through the estimation of the frame length, can quickly analyze the interleave type of the target sequence, and when analyzing the interleave type, determines whether the deinterleaved data meets the preset standard according to the characteristics of the matrix rank to verify the interleave type, can obtain the correct interleave type, and meanwhile, considers the identification and verification of the three common interleave modes, and realizes the blind identification of the interleave type of the target sequence in the case that the frame length and whether the target sequence loses data and the length of the lost data are unknown.
[0119] Embodiment three
[0120] Figure 4 A structural schematic diagram of an interleave type identification device provided for the embodiment three of the application is shown in the figure. Figure 4 As shown in the figure, the interleave type identification device comprises:
[0121] A data filling module 401 is configured to sequentially fill a target sequence composed of multiple frames of data into a first matrix row by row, and the number of columns of the first matrix is traversed within a preset range.
[0122] A frame length determination module 402 is configured to determine the frame length of a complete frame of data according to the first matrix.
[0123] An intermediate sequence acquisition module 403 is configured to delete the front data of the target sequence based on the frame length to obtain multiple intermediate sequences.
[0124] A convolution deinterleaving module 404 is configured to set the parameters of a convolution deinterleaver according to the frame length and deinterleave the intermediate sequences to obtain multiple first deinterleaved sequences.
[0125] A convolution interleave judgment module 405 is configured to verify whether the interleave type of the target sequence is convolution interleave based on the first deinterleaved sequences, and if not, execute the content executed by the matrix deinterleaving module.
[0126] A matrix deinterleaving module 406 is configured to set the parameters of a matrix deinterleaver according to the frame length and deinterleave the intermediate sequences to obtain multiple second deinterleaved sequences.
[0127] An interleave type judgment module 407 is configured to determine whether the interleave type of the target sequence is one of matrix interleave and spiral interleave according to the second deinterleaved sequences.
[0128] In an optional embodiment of the application, the frame length determination module 402 comprises:
[0129] A normalized rank calculation sub-module is configured to calculate the normalized rank of each first matrix.
[0130] a feature matrix determination submodule configured to determine the first matrix with the minimum normalized rank as a feature matrix;
[0131] a frame length determination submodule configured to determine the absolute value of the difference between the number of columns of two adjacent feature matrices as the frame length of a complete frame of data.
[0132] In an optional embodiment of the present application, the intermediate sequence acquisition module 403 comprises:
[0133] an interleaving deviation range determination submodule configured to determine an interleaving deviation range according to the frame length;
[0134] an intermediate sequence acquisition submodule configured to delete the first N bits of data of the target sequence to obtain a plurality of intermediate sequences, wherein the N is iterated within the interleaving deviation range.
[0135] In an optional embodiment of the present application, the parameters of the convolutional deinterleaver comprise a convolutional interleaving width and a convolutional interleaving depth, and the product of the convolutional interleaving width and the convolutional interleaving depth is the frame length,
[0136] the convolutional deinterleaving module 404 comprises:
[0137] a parameter combination calculation submodule configured to calculate integer factors of the frame length to obtain a plurality of parameter combinations, and the product of each parameter combination is the frame length;
[0138] a convolutional deinterleaving submodule configured to deinterleave the intermediate sequences by using the convolutional deinterleaver, and the parameters of the convolutional deinterleaver are iterated in the parameter combinations.
[0139] In an optional embodiment of the present application, the convolutional interleaving judgment module 405 comprises:
[0140] a matrix filling submodule configured to fill the first deinterleaved sequence into a second matrix row by row, and the number of columns of the second matrix is the frame length;
[0141] a convolutional deinterleaver determination submodule configured to determine a convolutional deinterleaver corresponding to the second matrix with the minimum normalized rank to obtain a target convolutional deinterleaver;
[0142] an interleaving width determination submodule configured to determine the convolutional interleaving width of the target convolutional deinterleaver as an interleaving width estimation value of convolutional interleaving;
[0143] a convolutional interleaving determination submodule configured to determine that the interleaving type of the target sequence is convolutional interleaving when the interleaving width estimation value of convolutional interleaving is greater than 1.
[0144] In an alternative embodiment of the present application, the parameters of the matrix deinterleaver include the frame length and a matrix interleaving depth, which is an integer factor of the frame length, the interleaving type judging module 407 includes:
[0145] An interleaving depth calculation submodule is configured to calculate an integer factor of the frame length as a matrix interleaving depth value;
[0146] A third matrix filling submodule is configured to fill the second deinterleaved sequence into a third matrix row by row, and the number of columns of the third matrix is traversed in the matrix interleaving depth value;
[0147] A matrix deinterleaver determination submodule is configured to determine a matrix deinterleaver corresponding to the third matrix with the minimum normalized rank to obtain a target matrix deinterleaver;
[0148] An interleaving depth determination submodule is configured to take the matrix interleaving depth value corresponding to the target matrix deinterleaver as an interleaving depth estimation value of matrix interleaving;
[0149] An interleaving type determination first submodule is configured to determine the interleaving type of the target sequence as one of matrix interleaving and spiral interleaving if the interleaving depth estimation value of matrix interleaving is greater than 1;
[0150] An interleaving type determination second submodule is configured to determine the interleaving type of the target sequence according to the interleaving depth estimation value;
[0151] A no-interleaving determination submodule is configured to determine that the target sequence has no interleaving if the interleaving depth estimation value of matrix interleaving is equal to 1.
[0152] In an alternative example of the above embodiment, the interleaving type determination second submodule includes:
[0153] A matrix interleaving determination unit is configured to determine the interleaving type of the target sequence as matrix interleaving if the interleaving depth estimation value is an even number and the integer factor of the interleaving depth estimation value is not prime to each other;
[0154] An interleaving type determination unit is configured to perform a check on the second deinterleaved sequence to determine the interleaving type of the target sequence if the interleaving depth estimation value is an odd number and the integer factor of the interleaving depth estimation value is prime to each other.
[0155] The interleaving type identification device provided by the embodiments of the present application can perform the interleaving type identification method provided by any of the embodiments of the present application, and has the corresponding function modules and beneficial effects of the execution method.
[0156] Embodiment Four
[0157] Figure 5A structural diagram of an electronic device 40 that can be used to implement embodiments of the present application is shown. The electronic device is intended to represent various forms of digital computers, such as laptops, desktops, tablets, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smartphones, wearable devices (e.g., headsets, glasses, watches, etc.), and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the present application described and / or claimed in this document.
[0158] As shown in Figure 5 The electronic device 40 includes at least one processor 41, and memory, such as read-only memory (ROM) 42, random access memory (RAM) 43, etc., communicatively connected to the at least one processor 41, where the memory stores computer programs executable by the at least one processor. The processor 41 can perform various appropriate actions and processes according to the computer programs stored in the read-only memory (ROM) 42 or loaded into the random access memory (RAM) 43 from the storage unit 48. In the RAM 43, various programs and data required for the operation of the electronic device 40 can also be stored. The processor 41, the ROM 42, and the RAM 43 are connected to each other through a bus 44. An input / output (I / O) interface 45 is also connected to the bus 44.
[0159] Various components in the electronic device 40 are connected to the I / O interface 45, including an input unit 46, such as a keyboard, a mouse, etc., an output unit 47, such as various types of displays, speakers, etc., a storage unit 48, such as a magnetic disk, an optical disk, etc., and a communication unit 49, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 49 allows the electronic device 40 to exchange information / data with other devices through a computer network, such as the Internet, and / or various telecommunication networks.
[0160] The processor 41 can be various general and / or special purpose processing components with processing and computing capabilities. Some examples of the processor 41 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 41 performs various methods and processes described above, such as the interleaving type identification method.
[0161] In some embodiments, the interleaving type identification method can be implemented as a computer program tangibly embodied in a computer readable storage medium, e.g., storage unit 48. In some embodiments, parts or all of the computer program can be loaded and / or installed onto electronic device 40 via, e.g., ROM 42 and / or communication unit 49. When the computer program is loaded onto RAM 43 and executed by processor 41, one or more steps of the above-described interleaving type identification method can be performed. Alternatively, in other embodiments, processor 41 can be configured to perform the interleaving type identification method by other means, e.g., with the aid of firmware.
[0162] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a programmable logic device (PLD), a computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0163] Computer programs used to implement the methods of the present application can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the computer program, when executed by the processor of the machine, implements the functions / acts specified in the flowcharts and / or block diagrams. The computer program can be executed entirely on a machine, partially on a machine, partially on a machine as a stand-alone software package, partially on a machine and partially on a remote machine or entirely on a remote machine or server.
[0164] In the context of the present application, a computer-readable storage medium can be a tangible medium that can contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. A computer-readable storage medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium can be a machine-readable signal medium. More specific examples of a machine-readable storage medium will include one or more lines of a program of instructions in a transitory signal, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0165] To provide for interaction with a user, the systems and techniques described here can be implemented on an electronic device having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the electronic device. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0166] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0167] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system, to solve the defects of large management difficulty and weak business scalability in traditional physical host and VPS service.
[0168] It should be understood that the various forms of flow shown above can be used to reorder, add or delete steps. For example, each step described in the present application can be executed in parallel, sequentially or in a different order, as long as the desired results of the technical solutions of the present application can be achieved, which is not limited herein.
[0169] The above detailed description does not constitute a limitation on the scope of protection of the present application. Those skilled in the art should understand that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present application shall be included in the scope of protection of the present application.
Claims
1. A method of identifying an interleaving type, the method comprising: receiving a signal; and determining a type of interleaving used in the signal. The method comprises the following steps: a target sequence composed of multiple frames of data is sequentially filled into a first matrix row by row, and the number of columns of the first matrix is traversed within a preset range; a frame length of a complete frame of data is determined according to the first matrix; a front segment of data of the target sequence is pruned based on the frame length, and multiple intermediate sequences are obtained; parameters of a convolutional deinterleaver are set according to the frame length, and the intermediate sequences are deinterleaved to obtain multiple first deinterleaved sequences; whether the interleaving type of the target sequence is convolutional interleaving is verified based on the first deinterleaved sequences; if not, parameters of a matrix deinterleaver are set according to the frame length, and the intermediate sequences are deinterleaved to obtain multiple second deinterleaved sequences; whether the interleaving type of the target sequence is one of matrix interleaving and spiral interleaving is determined according to the second deinterleaved sequences.
2. The method of claim 1, wherein, The method of determining the frame length of a complete frame of data according to the first matrix comprises the following steps: a normalized rank of each first matrix is calculated; a first matrix with the smallest normalized rank is taken as a feature matrix; an absolute value of a difference between the number of columns of two adjacent feature matrices is taken as the frame length of a complete frame of data.
3. The method of claim 1, wherein, The method of pruning the front segment of data of the target sequence based on the frame length to obtain multiple intermediate sequences comprises the following steps: an interleaving deviation range is determined according to the frame length; multiple intermediate sequences are obtained by deleting the first N bits of data of the target sequence, and the N is traversed within the interleaving deviation range.
4. The method of claim 1, wherein, The parameters of the convolutional deinterleaver include a convolutional interleaving width and a convolutional interleaving depth, and the product of the convolutional interleaving width and the convolutional interleaving depth is the frame length. The method of setting the parameters of the convolutional deinterleaver according to the frame length and deinterleaving the intermediate sequences comprises the following steps: integer factors of the frame length are calculated to obtain multiple parameter combinations, and the product of each parameter combination is the frame length; the intermediate sequences are deinterleaved by using the convolutional deinterleaver, and the parameters of the convolutional deinterleaver are traversed in the parameter combinations.
5. The method of claim 4, wherein, The method of verifying whether the interleaving type of the target sequence is convolutional interleaving based on the first deinterleaved sequences comprises the following steps: the first deinterleaved sequences are sequentially filled into a second matrix row by row, and the number of columns of the second matrix is the frame length; a target convolutional deinterleaver is determined according to a convolutional deinterleaver corresponding to a second matrix with the smallest normalized rank; a convolutional interleaving width of the target convolutional deinterleaver is taken as an interleaving width estimation value of convolutional interleaving; when the interleaving width estimation value of convolutional interleaving is greater than 1, it is determined that the interleaving type of the target sequence is convolutional interleaving.
6. The method of claim 1, wherein, The parameters of the matrix deinterleaver include the frame length and a matrix interleaving depth, and the matrix interleaving depth is an integer factor of the frame length. The method of determining whether the interleaving type of the target sequence is one of matrix interleaving and spiral interleaving according to the second deinterleaved sequences comprises the following steps: an integer factor of the frame length is calculated as a matrix interleaving depth value; the second deinterleaved sequences are sequentially filled into a third matrix row by row, and the number of columns of the third matrix is traversed in the matrix interleaving depth values; a target matrix deinterleaver is determined according to a matrix deinterleaver corresponding to a third matrix with the smallest normalized rank. The matrix interleaving depth estimation value of the target matrix deinterleaver is used as the interleaving depth estimation value of the matrix interleaving; If the interleaving depth estimation value of the matrix interleaving is greater than 1, it is determined that the interleaving type of the target sequence is one of matrix interleaving and spiral interleaving; The interleaving depth estimation value is used to determine the interleaving type of the target sequence; If the interleaving depth estimation value of the matrix interleaving is equal to 1, the target sequence has no interleaving.
7. The method of claim 6, wherein, The interleaving depth estimation value is used to determine the interleaving type of the target sequence, including: If the interleaving depth estimation value is even, and the integer factorization factors of the interleaving depth estimation value are not prime numbers, it is determined that the interleaving type of the target sequence is matrix interleaving; If the interleaving depth estimation value is odd, and the integer factorization factors of the interleaving depth estimation value are prime numbers, the second deinterleaved sequence is verified to determine the interleaving type of the target sequence.
8. An interlacing type identification device, characterized in that, It includes: A data padding module is configured to sequentially fill a target sequence composed of multiple frames of data into a first matrix row by row, and the number of columns of the first matrix is within a preset range; A frame length determination module is configured to determine the frame length of a complete frame of data based on the first matrix; An intermediate sequence acquisition module is configured to delete the front data of the target sequence based on the frame length to obtain multiple intermediate sequences; A convolution deinterleaving module is configured to set parameters of a convolution deinterleaver based on the frame length and deinterleave the intermediate sequences to obtain multiple first deinterleaved sequences; A convolution interleaving judgment module is configured to verify whether the interleaving type of the target sequence is convolution interleaving based on the first deinterleaved sequences, and if not, execute the content executed by the matrix deinterleaving module; A matrix deinterleaving module is configured to set parameters of a matrix deinterleaver based on the frame length and deinterleave the intermediate sequences to obtain multiple second deinterleaved sequences; An interleaving type judgment module is configured to determine whether the interleaving type of the target sequence is one of matrix interleaving and spiral interleaving based on the second deinterleaved sequences.
9. An electronic device, comprising: The electronic device includes: At least one processor; and The memory is in communication connection with the at least one processor; wherein The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to execute the interleaving type identification method of any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer instructions for enabling the processor to execute the interleaving type identification method of any one of claims 1-7 when executed.
Citation Information
Patent Citations
Blind identification method of convolutional interleaving
CN102201881A
Turbo code interleaving parameter identification method and Turbo code interleaving parameter identification system which are optimized by utilizing plurality of error correction modes
CN112398486A