A radio frequency fingerprinting method based on a second-order pooling convolutional neural network
By employing a radio frequency fingerprint recognition method based on a second-order pooling convolutional neural network, the method addresses the problem of coarse feature extraction in existing technologies and improves the accuracy of radio frequency fingerprint recognition through slicing of radio frequency IQ signals and second-order pooling fusion of multi-channel feature maps.
Patent Information
- Application Number
- CN202310097986.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-10
- Publication Date
- 2026-01-23
- Estimated Expiration
- 2043-02-10
AI Technical Summary
In existing radio frequency fingerprint recognition technologies, the features extracted by deep learning methods are relatively coarse, which affects the recognition effect.
A method based on second-order pooling convolutional neural network is adopted. By slicing the radio frequency IQ signal, a convolutional neural network is constructed, and second-order pooling fusion feature processing of multi-channel feature maps is performed to obtain high-order feature vectors.
It improves the accuracy of radio frequency fingerprint recognition and enhances the distinguishability between devices by extracting and classifying high-order feature information.
Smart Images

Figure CN115984909B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of radio frequency fingerprint identification, and particularly relates to a radio frequency fingerprint identification method based on a second-order pooling convolutional neural network. BACKGROUND
[0002] With the vigorous development of the Internet of Things, the security problem in the field of wireless communication is increasingly threatened by various attack technologies, and the secure authentication technology becomes an important aspect of guaranteeing the security of wireless communication. The slight difference between the devices to be authenticated due to the production process error is unique to each device, so this difference can be regarded as the fingerprint feature of each device. The radio frequency fingerprint identification technology is adopted to extract and compare the fingerprint features of each device as the information for security authentication. This technology has been increasingly widely concerned as a physical layer security authentication technology due to its device-level authentication and the feasibility and algorithm implementation.
[0003] In recent years, the deep learning technology has been increasingly widely applied. Due to its excellent feature extraction function which is independent of prior knowledge, the existing radio frequency fingerprint identification research combines more and more deep learning methods and has shown good results. In the problem of radio frequency fingerprint identification, the fingerprint features between devices are derived from slight hardware differences, and the features extracted by general deep learning technology are still relatively rough, thereby affecting the recognition effect. SUMMARY
[0004] The technical problem to be solved by the application is to provide a radio frequency fingerprint identification method based on a second-order pooling convolutional neural network, which has simple method steps and reasonable design, and fuses feature processing through a convolutional neural network and second-order pooling, so that the obtained feature vector has higher-order feature information with strong representation ability, and the radio frequency fingerprint identification accuracy is effectively improved.
[0005] To solve the above technical problems, the technical scheme adopted by the application is as follows: a radio frequency fingerprint identification method based on a second-order pooling convolutional neural network, characterized in that the method comprises the following steps:
[0006] Step one, slice processing of a radio frequency IQ signal:
[0007] A 128-length slice window and a 512-length sliding step are adopted to slide and slice the radio frequency IQ signal, and I slice samples, that is, {X1,...,X i ,...,X I} are obtained; wherein i and I are positive integers, 1≤i≤I, I represents the total number of slice samples, X i represents the i-th slice sample, and X iIts size is 2×1×128;
[0008] Step 2: Construct a convolutional neural network:
[0009] A convolutional neural network is constructed using a computer; the convolutional neural network includes N convolutional pooling layers;
[0010] Step 3: Input the i-th slice sample into the convolutional neural network to obtain the feature map f(X) of the i-th slice. i ); where f(X) i The size of the feature map is m'×1×L, where m' represents the number of feature map channels and L represents the feature length of each channel;
[0011] Step 4: Perform second-order pooling to fuse the feature maps in the slices to obtain feature vectors:
[0012] Step 401: Use a computer to process the feature map f(X) of the i-th slice. i The vector z is composed of the elements at the same position l on the m' channels. l Recorded as Then the feature map f(X) of the i-th slice i The matrix z consisting of L positions on m' channels is z = [z1…z2]. l …z L ]; where l and L are both positive integers, and 1 ≤ l ≤ L; z l,1 Let z represent the eigenvalue at position l in the first channel. l,m′ This represents the eigenvalue at position l in the m'-th channel;
[0013] Step 402: Using a computer to... Obtain higher-order fusion features F sop ;
[0014] Step 403: Use a computer to process the high-order fusion feature F sop Converted to vector form, it looks like this:
[0015] u = vec(F sop ); where u represents the fusion vector, and vec(·) is a matrix vectorization operation;
[0016] Step 404: Use a computer to perform symbolic square root and normalization processing on the fused vector u to obtain the feature vector.
[0017] The above-mentioned radio frequency fingerprint recognition method based on a second-order pooling convolutional neural network is characterized in that: the N convolutional pooling layers in step two have the same structure; the first convolutional pooling layer includes a first convolutional layer, a second convolutional layer, and a max-pooling layer; the first convolutional layer has a kernel size of 2×1×7, a stride of 1, m kernels, and padding of 2; the second convolutional layer has a kernel size of m×1×5, a stride of 1, m kernels, and padding of 1; and the max-pooling layer has a kernel size of 2×1 and a stride of 1.
[0018] The nth convolutional pooling layer includes a first convolutional layer, a second convolutional layer, and a max pooling layer. The size of the convolutional kernel in the first convolutional layer is m×1×7, the stride is 1, the number of convolutional kernels is m, and the padding is 2.
[0019] The kernel size in the second convolutional layer is m×1×5, the stride is 1, the number of kernels is m, and the padding is 1.
[0020] The size of the max pooling layer is 2×1, and the sliding step size is 1; where n and N are both positive integers, and 2≤n≤N, and m=m'.
[0021] The above-mentioned radio frequency fingerprinting method based on a second-order pooling convolutional neural network is characterized in that: in step three, the i-th slice sample is input into the convolutional neural network to obtain the i-th slice feature map, and the specific process is as follows:
[0022] Step 301: Use a computer to process the i-th slice sample X. i The first convolutional pooling layer outputs the first layer slice feature map;
[0023] Step 302: Use a computer to input the first layer slice feature map into the second convolutional pooling layer and output the second layer slice feature map;
[0024] Step 303: Following the method described in step 302, input the (N-1)th slice feature map into the Nth convolutional pooling layer and output the Nth slice feature map; where the i-th slice sample X i The corresponding Nth layer slice feature map is denoted as the i-th slice feature map f(X). i ).
[0025] The above-mentioned radio frequency fingerprinting method based on a second-order pooling convolutional neural network is characterized in that: in step 404, a computer is used to perform symbolic square root and normalization processing on the fused vector u to obtain the feature vector. The specific process is as follows:
[0026] Step 4041: Use a computer to denote the fused vector u as u = {u1, ..., u2}. j ,...,uJ}; where u j Let J represent the j-th element of the fusion vector u, where j and J are both positive integers and 1 ≤ j ≤ J. J represents the total number of elements in the fusion vector u.
[0027] Step 4042: Use a computer to perform symbolic square root processing on the j-th element of the fused vector u, as shown in the following formula:
[0028] Where sign(·) represents the sign function, v j Let |·| represent the j-th element after symbolic square root processing, and |·| represent the absolute value;
[0029] Step 4043: Repeat step 4042 multiple times to complete the symbolic square root processing of J elements in the fused vector u, obtaining the symbolic square root processed vector v, where v = {v1,...,v...} j ,...,v J};
[0030] Step 4044: Normalize the vector v after symbolic square root processing, as follows: w = v / ||v||2; where w represents the eigenvector and ||v||2 represents the 2-norm.
[0031] The radio frequency fingerprint recognition method based on the above-mentioned second-order pooling convolutional neural network is characterized in that: the number m of the convolutional kernels in step two ranges from 128 to 256.
[0032] Compared with the prior art, the present invention has the following advantages:
[0033] 1. This invention performs slicing processing on the radio frequency IQ signal received by the receiver so that the sliced samples meet the input requirements of the convolutional neural network, which facilitates subsequent feature extraction.
[0034] 2. This invention extracts features from a convolutional neural network constructed by inputting sliced samples, thereby obtaining a multi-channel feature map. This can improve the generalization ability without relying on expert prior knowledge.
[0035] 3. In order to better utilize the features of multiple channels, this invention performs second-order pooling fusion feature processing on the multi-channel feature maps to extract higher-order feature information with stronger representation capabilities. The feature vector obtained by second-order pooling fusion feature processing is then used for subsequent classification and recognition, which effectively improves the accuracy of radio frequency fingerprint recognition.
[0036] In summary, the method of this invention is simple in steps and reasonable in design. By fusing feature processing with convolutional neural networks and second-order pooling, the resulting feature vector has higher-order and more representative feature information, which effectively improves the accuracy of radio frequency fingerprint recognition.
[0037] The technical solution of the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. Attached Figure Description
[0038] Figure 1 This is a flowchart of the method of the present invention. Detailed Implementation
[0039] like Figure 1 As shown, the radio frequency fingerprint recognition method based on a second-order pooling convolutional neural network of the present invention includes the following steps:
[0040] Step 1: Slicing and processing of RF IQ signals:
[0041] Using a 128-slice window and a 512-slice step size, the RF IQ signal is sliced to obtain I slice samples, i.e., {X1,...,X...} i ,...,X I}; where i and I are both positive integers, and 1≤i≤I, I represents the total number of slice samples, X i Let X represent the i-th slice sample, and X = ... i Its size is 2×1×128;
[0042] Step 2: Construct a convolutional neural network:
[0043] A convolutional neural network is constructed using a computer; the convolutional neural network includes N convolutional pooling layers;
[0044] Step 3: Input the i-th slice sample into the convolutional neural network to obtain the feature map f(X) of the i-th slice. i ); where f(X) i The size of the feature map is m'×1×L, where m' represents the number of feature map channels and L represents the feature length of each channel;
[0045] Step 4: Perform second-order pooling to fuse the feature maps in the slices to obtain feature vectors:
[0046] Step 401: Use a computer to process the feature map f(X) of the i-th slice. i The vector z is composed of the elements at the same position l on the m' channels. l Recorded as Then the feature map f(X) of the i-th slice i The matrix z consisting of L positions on m' channels is z = [z1…z2]. l …z L ]; where l and L are both positive integers, and 1 ≤ l ≤ L; z l,1 Let z represent the eigenvalue at position l in the first channel. l,m′This represents the eigenvalue at position l in the m'-th channel;
[0047] Step 402: Using a computer to... Obtain higher-order fusion features F sop ;
[0048] Step 403: Use a computer to process the high-order fusion feature F sop Converted to vector form, it looks like this:
[0049] u = vec(F sop ); where u represents the fusion vector, and vec(·) is a matrix vectorization operation;
[0050] Step 404: Use a computer to perform symbolic square root and normalization processing on the fused vector u to obtain the feature vector.
[0051] In this embodiment, the N convolutional pooling layers in step two have the same structure. The first convolutional pooling layer includes a first convolutional layer, a second convolutional layer, and a max pooling layer. The first convolutional layer has a kernel size of 2×1×7, a stride of 1, m kernels, and padding of 2. The second convolutional layer has a kernel size of m×1×5, a stride of 1, m kernels, and padding of 1. The max pooling layer has a kernel size of 2×1 and a stride of 1.
[0052] The nth convolutional pooling layer includes a first convolutional layer, a second convolutional layer, and a max pooling layer. The size of the convolutional kernel in the first convolutional layer is m×1×7, the stride is 1, the number of convolutional kernels is m, and the padding is 2.
[0053] The kernel size in the second convolutional layer is m×1×5, the stride is 1, the number of kernels is m, and the padding is 1.
[0054] The size of the max pooling layer is 2×1, and the sliding step size is 1; where n and N are both positive integers, and 2≤n≤N, and m=m'.
[0055] In this embodiment, step three involves inputting the i-th slice sample into a convolutional neural network to obtain the i-th slice feature map. The specific process is as follows:
[0056] Step 301: Use a computer to process the i-th slice sample X. i The first convolutional pooling layer outputs the first layer slice feature map;
[0057] Step 302: Use a computer to input the first layer slice feature map into the second convolutional pooling layer and output the second layer slice feature map;
[0058] Step 303: Following the method described in step 302, input the (N-1)th slice feature map into the Nth convolutional pooling layer and output the Nth slice feature map; where the i-th slice sample X i The corresponding Nth layer slice feature map is denoted as the i-th slice feature map f(X). i ).
[0059] In this embodiment, step 404 uses a computer to perform symbolic square root and normalization processing on the fused vector u to obtain the feature vector. The specific process is as follows:
[0060] Step 4041: Use a computer to denote the fused vector u as u = {u1, ..., u2}. j ,...,u J}; where u j Let J represent the j-th element of the fusion vector u, where j and J are both positive integers and 1 ≤ j ≤ J. J represents the total number of elements in the fusion vector u.
[0061] Step 4042: Use a computer to perform symbolic square root processing on the j-th element of the fused vector u, as shown in the following formula:
[0062] Where sign(·) represents the sign function, v j Let |·| represent the j-th element after symbolic square root processing, and |·| represent the absolute value;
[0063] Step 4043: Repeat step 4042 multiple times to complete the symbolic square root processing of J elements in the fused vector u, obtaining the symbolic square root processed vector v, where v = {v1,...,v...} j ,...,v J};
[0064] Step 4044: Normalize the vector v after symbolic square root processing, as follows: w = v / ||v||2; where w represents the eigenvector and ||v||2 represents the 2-norm.
[0065] In this embodiment, the number of convolution kernels m in step two ranges from 128 to 256.
[0066] In this embodiment, N = 4, m = m' = 128;
[0067] In this embodiment, the size of the slice sample is represented by (number of channels × 1 × length), then X i Its size is 2×1×128.
[0068] In this embodiment, X iThe first convolutional layer, after processing by the first convolutional pooling layer, outputs a 128×1×126 slice feature map. The 128×1×126 slice feature map is then processed by the second convolutional pooling layer, after processing by the first convolutional pooling layer, to output a 128×1×123 slice feature map. The 128×1×123 slice feature map is then processed by the max pooling layer, after processing by the first convolutional pooling layer, to output a 128×1×62 first layer slice feature map.
[0069] The 128×1×62 slice feature map is processed by the first convolutional layer of the second convolutional pooling layer to output a 128×1×60 slice feature map. The 128×1×60 slice feature map is processed by the second convolutional pooling layer of the second convolutional pooling layer to output a 128×1×57 slice feature map. The 128×1×57 slice feature map is processed by the max pooling layer of the second convolutional pooling layer to output a second layer slice feature map of 128×1×29.
[0070] The 128×1×29 slice feature map is processed by the first convolutional layer of the third convolutional pooling layer to output a 128×1×27 slice feature map. The 128×1×27 slice feature map is processed by the second convolutional pooling layer of the third convolutional pooling layer to output a 128×1×24 slice feature map. The 128×1×24 slice feature map is processed by the max pooling layer of the third convolutional pooling layer to output a third slice feature map of 128×1×12.
[0071] The 128×1×12 slice feature map is processed by the first convolutional layer of the fourth convolutional pooling layer to output a 128×1×10 slice feature map. The 128×1×10 slice feature map is processed by the second convolutional layer of the fourth convolutional pooling layer to output a 128×1×7 slice feature map. The 128×1×7 slice feature map is processed by the max pooling layer of the fourth convolutional pooling layer to output a fourth slice feature map of 128×1×4.
[0072] In this embodiment, L = 4.
[0073] In this embodiment, the number of convolution kernels is the same as the number of feature map channels.
[0074] In this embodiment, the higher-order fusion feature F sop The size is 128×128.
[0075] In this embodiment, the sliding step size of 512 is greater than the slice window size of 128, so that the slices do not overlap and reduce the correlation between windows.
[0076] In summary, the method of this invention is simple in steps and reasonable in design. By fusing feature processing through convolutional neural networks and second-order pooling, the resulting feature vector has higher-order and more representative feature information. Higher-order features can better represent subtle feature differences, thereby improving the distinguishability between devices with similar differences and effectively improving the accuracy of radio frequency fingerprint recognition.
[0077] The above description is merely a preferred embodiment of the present invention and does not constitute any limitation on the present invention. Any simple modifications, alterations, or equivalent structural changes made to the above embodiments based on the technical essence of the present invention shall still fall within the protection scope of the present invention.
Claims
1. A radio frequency fingerprint recognition method based on a second-order pooling convolutional neural network, characterized in that, The method includes the following steps: Step 1: Slicing and processing of RF IQ signals: Using a 128-slice window and a 512-slice step size, the RF IQ signal is sliced to obtain... One slice sample ;in, and All are positive integers, and , This represents the total number of samples in the slice. Indicates the first One slice sample, and Its size is 2×1×128; Step 2: Construct a convolutional neural network: A convolutional neural network is constructed using a computer; the convolutional neural network includes N convolutional pooling layers; Step 3, place the first The nth slice sample is input into the convolutional neural network to obtain the nth slice sample. Each slice feature map ;in, The size is ×1× , Indicates the number of channels in the feature map. Indicates the characteristic length of each channel; Step 4: Perform second-order pooling to fuse the feature maps in the slices to obtain feature vectors: Step 401: Use a computer to process the first... Each slice feature map middle Same position on each channel The vector composed of elements at position Recorded as Then the first Each slice feature map middle On each channel A matrix composed of positions for ;in, and All are positive integers, and ; Indicates the first channel eigenvalues at that location Indicates the first On the passage Eigenvalues at; Step 402: Using a computer to... High-order fusion features were obtained. ; Step 403: Use a computer to fuse higher-order features Converted to vector form, it looks like this: ;in, Represents the fusion vector. Matrix vectorization operations; Step 404: Use a computer to process the fused vector. The eigenvectors are obtained by performing symbolic square root and normalization processes; In step 404, a computer is used to process the fused vector. The eigenvectors are obtained by performing symbolic square root and normalization processes, as follows: Step 4041: Use a computer to fuse the vectors. Record ;in, Represents the fusion vector The One element, and All are positive integers, and , Represents the fusion vector Total number of elements in the middle; Step 4042: Use a computer to process the fused vector. The Middle Each element is processed to form a symbolic square root, as shown in the following formula: ;in, Represents a symbolic function. The symbolic square root is represented after processing. One element, Represents absolute value; Step 4043: Repeat step 4042 multiple times to complete the fusion vector. middle The symbolic square root processing of each element yields a vector after symbolic square root processing. ,and ; Step 4044: Process the vector after symbolic square root processing Normalization is performed as follows: ;in, Represents the eigenvector. This represents the 2-norm.
2. The radio frequency fingerprint recognition method based on a second-order pooling convolutional neural network according to claim 1, characterized in that: In step two, the N convolutional pooling layers have the same structure. The first convolutional pooling layer includes a first convolutional layer, a second convolutional layer, and a max pooling layer. In the first convolutional layer, the kernel size is 2×1×7, the stride is 1, the number of kernels is m, and the padding is 2. In the second convolutional layer, the kernel size is m×1×5, the stride is 1, the number of kernels is m, and the padding is 1. The max pooling layer has a size of 2×1 and a stride of 1. The nth convolutional pooling layer includes a first convolutional layer, a second convolutional layer, and a max pooling layer. The size of the convolutional kernel in the first convolutional layer is m×1×7, the stride is 1, the number of convolutional kernels is m, and the padding is 2. The kernel size in the second convolutional layer is m×1×5, the stride is 1, the number of kernels is m, and the padding is 1. The max pooling layer has a size of 2×1 and a sliding step of 1; where n and N are both positive integers, and 2≤n≤N, and m= .
3. The radio frequency fingerprint recognition method based on a second-order pooling convolutional neural network according to claim 1, characterized in that: In step three, the first The nth slice sample is input into the convolutional neural network to obtain the nth slice sample. The specific process for obtaining slice feature maps is as follows: Step 301: Use a computer to process the first... A slice sample The first convolutional pooling layer outputs the first layer slice feature map; Step 302: Use a computer to input the first layer slice feature map into the second convolutional pooling layer and output the second layer slice feature map; Step 303: Following the method described in step 302, continue until the (N-1)th layer slice feature map is input into the Nth convolutional pooling layer, and the Nth layer slice feature map is output; where, the... A slice sample The corresponding Nth layer slice feature map is denoted as the Nth layer slice feature map. Each slice feature map .
4. The radio frequency fingerprint recognition method based on a second-order pooling convolutional neural network according to claim 2, characterized in that: In step two, the number of convolution kernels m ranges from 128 to 256.
Citation Information
Patent Citations
A radio frequency fingerprint extraction and identification method based on a multi-sampling convolutional neural network
CN109919015A
Radio frequency fingerprint identification method and device based on slice combination convolutional neural network
CN115526214A