Method and system for identifying multiple unknown parameters of punctured convolutional codes and storage medium
Through deep learning-based methods, convolution code candidate sets are constructed, sample data is generated and deep learning models are trained, and the problem of the existing technology being unable to recognize multiple unknown parameter combinations is solved, and the recognition of different types of convolution codes and the recognition of multiple unknown parameter combinations is realized, which improves the recognition rate and anti-interference ability.
Patent Information
- Application Number
- CN202411640325.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-18
- Publication Date
- 2025-03-18
AI Technical Summary
The prior art cannot effectively identify the punctual convolution codes of multiple unknown parameters combinations. The matrix solution method is complex in calculation and cannot identify different types of convolution codes at the same time. The deep learning method can only recognize a single known parameter.
Using a deep learning-based method, multiple unknown parameter combinations are identified by constructing convolutional code candidate sets, generating sample data, building deep learning models and training. Specific steps include determining the convolution code candidate set, generating sample data, building backbone network and branch network, training the model using closed and open set sample data sets, and inputting the information to be identified for identification for identification.
The recognition of different types of convolutional codes is realized, and multiple unknown parameters can be identified simultaneously, which improves the recognition rate, optimizes the decision boundary between known and unknown parameters, and enhances the anti-interference ability.
Smart Images

Figure CN119646756A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of convolutional code parameter identification, and in particular to a method, system and storage medium for identifying multiple unknown parameters of a punctured convolutional code based on deep learning. Background Art
[0002] Convolutional code parameter identification is of great value in the field of non-cooperative communication and communication reconnaissance. The receiver can identify the convolutional code parameters without any prior knowledge, which is crucial for decoding information.
[0003] At present, the main methods for identifying convolutional code parameters are matrix solution method and deep learning method. However, both methods have obvious shortcomings.
[0004] When using the matrix solution method, it is usually necessary to design a special matrix transformation method according to the type of convolutional code, which has high computational complexity. In addition, for different types of convolutional codes, such as systematic codes and non-systematic codes, basic codes with a code rate of 1 / 2, and punctured codes with different code rates, the matrix solution method needs to use different processing algorithms and processes, and it is currently impossible to simultaneously identify different types of convolutional codes.
[0005] Deep learning methods generally adopt a data-driven approach. Although there is no restriction on the type of convolutional codes that can be recognized, deep learning methods can only recognize a single known parameter in a closed set of candidate sets and cannot recognize multiple unknown parameter combinations. Summary of the invention
[0006] Based on this, it is necessary to provide a method, system and storage medium for identifying multiple unknown parameters of punctured convolutional codes based on deep learning to address the above technical problems, which solves the current problem of being unable to identify multiple unknown parameter combinations.
[0007] In a first aspect, the present invention provides a method for identifying multiple unknown parameters of a punctured convolutional code, the method comprising: Determine a convolutional code candidate set, randomly select some convolutional code elements from the convolutional code candidate set as a closed set candidate set, and use the remaining convolutional code elements in the convolutional code candidate set as an open set candidate set; Generate multiple sample data based on the element parameters of the convolutional code elements in the closed set candidate set and the open set candidate set, and divide the multiple sample data into corresponding closed set sample data sets and open set sample data sets; wherein one sample data corresponds to multiple information labels; Constructing a deep learning model, wherein the deep learning model includes a backbone network and multiple branch networks; wherein the multiple branch networks are constructed correspondingly based on multiple information labels; Training the deep learning model using the closed set sample data set and the open set sample data set; The information to be identified is input into the trained deep learning model for identification, and multiple unknown parameter combinations are output.
[0008] Further, the determination of the convolutional code candidate set includes: constructing a first set of code rates, a second set of systematic code types, and a third set of combinations of register parameters and corresponding generator matrices; Cartesian product calculation is performed on the first set, the second set, and the third set to obtain a convolutional code candidate set.
[0009] Furthermore, the generation of the sample data includes: Matlab simulation is used to process element parameters of each convolutional code element in the closed set candidate set and the open set candidate set respectively, and the corresponding generated channel coded binary stream data is used as the sample data.
[0010] Further, the processing includes: when the bit error rates are 0 and 10 respectively -1 , 10 -2 , 10 -3 , 10 -4 , 10 -5 In this case, a plurality of sample sequences and a plurality of information labels corresponding to each sample sequence are generated for each convolutional code element.
[0011] Furthermore, the multiple information labels include: a combination label of a register parameter and a generator matrix for classification, a code rate label for regression prediction, and a system code label for binary classification.
[0012] Furthermore, the multiple branch networks include: a register parameter classification network, a code rate regression prediction network and a system code binary classification network.
[0013] Furthermore, the total loss function of the deep learning model is for: ; in, Represents the cross-entropy classification loss function of the register parameter classification network; Represents the mean square error of the rate regression prediction task; Represents the cross-entropy classification loss function of the system code binary classification network; , and Respectively represent the weights corresponding to the three loss functions; Indicates that the sample is Probability of class; A combined label representing a register parameter and a generator matrix; Indicates the bitrate label; Indicates the system code label.
[0014] Furthermore, training the deep learning model includes: randomly selecting convolutional code elements in the closed set sample data set for deep learning model training, and randomly selecting convolutional code elements in the open set sample data set for deep learning model verification, until the deep learning model converges.
[0015] In a second aspect, the present invention provides a computer system, comprising a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of any one of the above methods.
[0016] In a third aspect, the present invention provides a computer-readable storage medium having a computer program / instruction stored thereon, which implements the steps of any of the above-mentioned methods when executed by a processor.
[0017] In general, the present invention provides a method, system and storage medium for identifying multiple unknown parameters of punctured convolutional codes based on deep learning, which can achieve the following beneficial effects compared with the prior art: The present invention transforms the convolutional code parameter recognition problem into a multi-classification problem. Before recognition, a candidate code set is first constructed, and by constructing sample data, corresponding information labels are set for the sample data, a branch network model in a deep learning model is constructed based on the information labels, and then the information labels are fully learned and trained; not only can different types of convolutional codes be recognized, but also multiple unknown parameters can be directly recognized simultaneously by inputting the information to be recognized into the model, thus avoiding multiple recognitions and achieving a higher recognition rate. In addition, by introducing a loss function corresponding to the information label, the decision boundary between the known closed set sample data set and the unknown open set sample data set can be optimized, a tight and clear boundary between the known parameters and the unknown parameters can be established, and the anti-interference ability can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0019] Figure 1 It is a method flow diagram of a method, system and storage medium for identifying multiple unknown parameters of punctured convolutional codes based on deep learning provided by the present invention; Figure 2It is a schematic diagram of the deep learning model structure of a method, system and storage medium for identifying multiple unknown parameters of a punctured convolutional code based on deep learning provided by the present invention. DETAILED DESCRIPTION
[0020] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in combination with the drawings and embodiments of the present invention. Obviously, the described embodiments are partial embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work belong to the scope of protection of the present invention.
[0021] It should be noted that, in the description of the embodiments of the present invention, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a method, step or system including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such method, step or system. In the absence of further restrictions, an element defined by the sentence "includes a ..." does not exclude the existence of other identical elements in the method, step or system including the element.
[0022] In order to solve the problem that multiple unknown parameter combinations cannot be identified at present, the present invention provides a method, system and storage medium for identifying multiple unknown parameters of punctured convolutional codes based on deep learning, such as Figure 1 As shown, the specific methods include: Step 101: determine a convolutional code candidate set, randomly select some convolutional code elements from the convolutional code candidate set as a closed set candidate set, and use the remaining convolutional code elements in the convolutional code candidate set as an open set candidate set.
[0023] As an embodiment, determining the convolutional code candidate set includes: constructing a first set of code rates, a second set of system code types, and a third set of register parameters and corresponding generation matrices; performing Cartesian product calculations on the first set, the second set, and the third set to obtain the convolutional code candidate set.
[0024] It should be noted that the convolutional code candidate set It can be expressed as: ;in, represents the first set; represents the second set; represents the third set; Represents the Cartesian product.
[0025] The first set can also be called the code rate set; the code rate is the coding rate, which is related to the puncturing matrix. When some information is deleted, the code rate changes accordingly. For example, the code rate set .
[0026] The second set, also called the system code type set, is used to mark the system code type. For example, the system code type set , 0 represents non-system code, 1 represents system code.
[0027] The third set, which can also be called the combination set of register parameters and corresponding generator matrices, is used to classify the convolutional code elements. For example, the combination set of register parameters and corresponding generator matrices It can be expressed as Table 1.
[0028] Table 1 Register parameters and corresponding generation matrix combination set
[0029] Randomly select some convolutional code elements from the convolutional code candidate set as the closed set candidate set, and use the remaining convolutional code elements in the convolutional code candidate set as the open set candidate set. Specifically, a first preset number of convolutional code elements can be randomly selected as the closed set candidate set, and a second preset number of convolutional code elements can be randomly selected as the open set candidate set; wherein the sum of the first preset number and the second preset number is equal to the number of convolutional code elements in the convolutional code candidate set, and the first preset number is preferably greater than the second preset number. For example, from the convolutional code candidate set 80% of them are randomly selected as closed set candidates, and the remaining 20% are used as closed set candidates.
[0030] Step 102: Generate multiple sample data based on the element parameters of the convolutional code elements in the closed set candidate set and the open set candidate set, and divide the multiple sample data into corresponding closed set sample data sets and open set sample data sets.
[0031] As an embodiment, the generation of sample data includes: using Matlab simulation to process element parameters of each convolutional code element in the closed set candidate set and the open set candidate set respectively, and using the corresponding generated channel coded binary stream data as the sample data.
[0032] It should be noted that the element parameters include: code length , number of information bits 、Number of register bits , generating matrix, bit rate , System Type In other words, each convolutional code element in the convolutional code candidate set is selected by the code length , number of information bits 、Number of register bits , generating matrix, bit rate , System Type , and one or more parameters in the deletion mode. That is to say, both the closed set sample data set and the open set sample data set are multi-task and multi-label.
[0033] Among them, one sample data corresponds to multiple information labels. More specifically, one convolutional code element corresponds to sample sequences, one sample sequence corresponds to Information label.
[0034] More specifically, the processing includes: when the bit error rates are 0 and 10 -1 , 10 -2 , 10 -3 , 10 -4 , 10 -5 In this case, a plurality of sample sequences and a plurality of information labels corresponding to each sample sequence are generated for each convolutional code element.
[0035] For example, when the bit error rates are 0 and 10 -1 , 10 -2 , 10 -3 , 10 -4 , 10 -5 In this case, 10,000 sample sequences are generated for each convolutional code element, and the length of each sample sequence is 1024; at the same time, a corresponding information tag is generated for each sample sequence, where the information tag can be a txt file.
[0036] As a specific embodiment, the multiple information labels are three types, specifically including: a combination label of register parameters and generation matrix for classification, a code rate label for regression prediction, and a system code label for binary classification.
[0037] The multiple sample data are divided into corresponding closed set sample data sets and open set sample data sets. Specifically, a third preset number of sample data can be randomly selected as the closed set sample data set, and a fourth preset number of sample data can be randomly selected as the open set sample data set; wherein the sum of the third preset number and the fourth preset number is equal to the total number of sample data, and the third preset number is preferably greater than the fourth preset number. For example, from the convolutional code candidate set 70% of them are randomly selected as closed set candidates, and the remaining 30% are selected as closed set candidates.
[0038] As another embodiment, the generation of sample data includes: using Matlab simulation to process the element parameters of each convolution code element in the closed set candidate set, and using the corresponding generated channel coded binary stream data as the first sample data; using Matlab simulation to process the element parameters of each convolution code element in the open set candidate set, and using the corresponding generated channel coded binary stream data as the second sample data; the first sample data and the second sample data constitute the sample data; directly using the first sample data as the closed set sample data set, and using the second sample data as the open set sample data set.
[0039] Step 103: Build a deep learning model, which includes a backbone network and multiple branch networks.
[0040] like Figure 2 As shown, the backbone network It includes a stacked one-dimensional deep learning network or various modules, which are used to extract and output shared feature vectors based on the input bit stream. The function can be expressed as . Represents the input bit stream, also known as the channel coding sequence, Represents the feature vector extracted by the backbone network.
[0041] For example, the backbone network can be composed of a 4-layer CNN network, with 13 convolution kernels selected for the convolution layer and 12 pooling layers for downsampling after each convolution layer; the backbone network function is expressed as , represents the input channel coding sequence, the dimension of the channel coding sequence is 1024 bits, Represents the 164-dimensional feature vector extracted by the backbone network.
[0042] Among them, multiple branch networks are constructed based on multiple information tags. That is to say, when the information tag is When the branch network is indivual.
[0043] As a specific embodiment, when the information label is a combination label of a register parameter and a generator matrix for classification, a code rate label for regression prediction, and a system code label for binary classification; the branch networks are: register parameter classification network , Bit rate regression prediction network And the system code binary classification network .
[0044] Register Parameter Classification Network Used to predict register parameters and generate matrices corresponding to labels ; The function is expressed as , Represents input. Register parameter classification network It consists of two fully connected layers. The first fully connected layer is followed by a relu activation function. The second fully connected layer outputs at least multiple predicted values, which are register parameters. When the register parameters include the number of register bits, code length, and information bits, the output is: ,in, Table predicts the number of register bits; Indicates the prediction code length; Indicates the number of predicted information bits.
[0045] Bit rate regression prediction network Used to predict bitrate labels ; The function is expressed as , Represents input. Bit rate regression prediction network It consists of two fully connected layers. The first fully connected layer is followed by a sigmoid activation function, and the second fully connected layer outputs the predicted bit rate.
[0046] Systematic code binary classification network Used to predict system code labels , that is, to classify systematic codes and non-systematic codes, corresponding to labels 0 and 1 respectively; the function is expressed as , Represents input. System code binary classification network It consists of a fully connected layer and a Softmax layer. The fully connected layer uses the sigmoid activation function and outputs 0 or 1 to represent the system code label.
[0047] As an example, the total loss function of the deep learning model is for: ; in, Represents the cross-entropy classification loss function of the register parameter classification network; Represents the mean square error of the rate regression prediction task; Represents the cross-entropy classification loss function of the system code binary classification network; , and Represent the weights corresponding to the three loss functions respectively, ; For example, the corresponding values may be 0.05, 0.65 and 0.3; Indicates that the sample is Probability of class; A combined label representing a register parameter and a generator matrix; Indicates the bitrate label; Indicates the system code label.
[0048] Step 104: Train the deep learning model using the closed set sample data set and the open set sample data set.
[0049] As an embodiment, training the deep learning model includes: randomly selecting convolutional code elements in a closed set sample data set for deep learning model training, and randomly selecting convolutional code elements in an open set sample data set for deep learning model verification until the deep learning model converges.
[0050] For example, a randomly shuffled closed set sample data set is used to train a deep learning model, and an open set sample data set is used to test the performance of the deep learning model after each round of training. The training is stopped when the deep learning model converges.
[0051] Specifically, testing the performance of the deep learning model includes: loading the trained deep learning model performance, inputting an open set sample data set, respectively counting the accuracy and recall rate of convolutional code recognition of known and unknown types, and drawing an accuracy curve according to the bit error rate, thereby obtaining a deep learning model with optimal parameters.
[0052] Furthermore, you can set the hyperparameters for deep learning model training, for example, the batch size is set to 64, the learning rate is set to 0.01, the adam optimizer is selected, and the learning rate is reduced to 1 / 10 of the principle after every 20 iterations, and the total number of iterations is set to 100. Load the closed set sample data set and start deep learning model training. After each round of training, use the open set sample data set for performance evaluation, calculate the accuracy and recall, and save the deep learning model parameters.
[0053] Step 105: Input the information to be identified into the trained deep learning model for identification, and output multiple unknown parameter combinations.
[0054] In a second aspect, the present invention provides a computer system, comprising a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of any one of the above methods.
[0055] In a third aspect, the present invention provides a computer-readable storage medium having a computer program / instruction stored thereon, which implements the steps of any of the above-mentioned methods when executed by a processor.
[0056] The system and storage medium are consistent with the technical solutions of the above method and will not be described in detail here.
[0057] It should be noted that, for the above-mentioned various embodiments, for the sake of simplicity of description, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, and according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.
[0058] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments. In the several embodiments provided in this application, it should be understood that the disclosed method or system can be implemented in other ways. For example, the embodiments described above are only schematic, such as the division of the units, which is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.
[0059] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0060] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0061] The above is only an exemplary embodiment of the present disclosure, and the scope of the present disclosure cannot be limited thereto. That is, any equivalent changes and modifications made according to the teachings of the present disclosure are still within the scope of the present disclosure. After considering the specification and practicing the disclosure here, those skilled in the art will easily think of the implementation scheme of the present disclosure. This application is intended to cover any modification, use or adaptation of the present disclosure, which follows the general principles of the present disclosure and includes common knowledge or customary technical means in the technical field not recorded in the present disclosure. The description and examples are regarded as exemplary only, and the scope and spirit of the present disclosure are defined by the claims.
[0062] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0063] It will be easily understood by those skilled in the art that the above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for identifying multiple unknown parameters of a punctured convolutional code, characterized in that: The method comprises: Determine a convolutional code candidate set, randomly select some convolutional code elements from the convolutional code candidate set as a closed set candidate set, and use the remaining convolutional code elements in the convolutional code candidate set as an open set candidate set; Generate multiple sample data based on the element parameters of the convolutional code elements in the closed set candidate set and the open set candidate set, and divide the multiple sample data into corresponding closed set sample data sets and open set sample data sets; wherein one sample data corresponds to multiple information labels; Constructing a deep learning model, wherein the deep learning model includes a backbone network and multiple branch networks; wherein the multiple branch networks are constructed correspondingly based on multiple information labels; Training the deep learning model using the closed set sample data set and the open set sample data set; The information to be identified is input into the trained deep learning model for identification, and multiple unknown parameter combinations are output.
2. The method for identifying multiple unknown parameters of a punctured convolutional code according to claim 1, characterized in that: The determination of the convolutional code candidate set includes: constructing a first set of code rates, a second set of systematic code types, and a third set of combinations of register parameters and corresponding generator matrices; Cartesian product calculation is performed on the first set, the second set, and the third set to obtain a convolutional code candidate set.
3. The method for identifying multiple unknown parameters of a punctured convolutional code according to claim 1, characterized in that: The generation of the sample data includes: Matlab simulation is used to process element parameters of each convolutional code element in the closed set candidate set and the open set candidate set respectively, and the correspondingly generated channel coded binary stream data is used as the sample data.
4. The method for identifying multiple unknown parameters of a punctured convolutional code according to claim 3, characterized in that: The processing includes: when the bit error rates are 0 and 10 respectively -1 , 10 -2 , 10 -3 , 10 -4 , 10 -5 In this case, a plurality of sample sequences and a plurality of information labels corresponding to each sample sequence are generated for each convolutional code element.
5. The method for identifying multiple unknown parameters of a punctured convolutional code according to claim 1, characterized in that: The various information labels include: a combination label of register parameters and generator matrix for classification, a code rate label for regression prediction, and a system code label for binary classification.
6. The method for identifying multiple unknown parameters of a punctured convolutional code according to claim 5, characterized in that: The multiple branch networks include: register parameter classification network, code rate regression prediction network and system code binary classification network.
7. The method for identifying multiple unknown parameters of a punctured convolutional code according to claim 6, characterized in that: The total loss function of the deep learning model for: ; in, Represents the cross-entropy classification loss function of the register parameter classification network; Represents the mean square error of the rate regression prediction task; Represents the cross-entropy classification loss function of the system code binary classification network; , and Respectively represent the weights corresponding to the three loss functions; Indicates that the sample is Probability of class; A combined label representing a register parameter and a generator matrix; Indicates the bitrate label; Indicates the system code label.
8. The method for identifying multiple unknown parameters of a punctured convolutional code according to claim 1, characterized in that: Training the deep learning model includes: randomly selecting convolutional code elements in the closed set sample data set for deep learning model training, and randomly selecting convolutional code elements in the open set sample data set for deep learning model verification, until the deep learning model converges.
9. A computer system comprising a memory, a processor and a computer program stored in the memory, characterized in that: The processor executes the computer program to implement the steps of the method according to any one of claims 1 to 8.
10. A computer-readable storage medium having a computer program / instruction stored thereon, characterized in that: When the computer program / instruction is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.