A method for making a dataset of OFDM communication signals based on FPGA and programmable clipping

By generating OFDM communication signal datasets using FPGA devices and channel simulators, the problem of lack of simulation in existing OFDM communication technologies is solved, achieving realistic simulation of signals and improving the applicability of datasets, which is suitable for the low latency and high speed requirements of 6G communication.

CN120710618BActive Publication Date: 2026-02-03PLA PEOPLES LIBERATION ARMY OF CHINA STRATEGIC SUPPORT FORCE AEROSPACE ENG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511061229.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-07-30
Publication Date
2026-02-03
Estimated Expiration
2045-07-30

AI Technical Summary

Technical Problem

Existing communication signal datasets lack OFDM communication system simulation, making it difficult to meet the low latency and high speed requirements of 6G communication. Furthermore, traditional methods have failed to effectively simulate multipath effects and Doppler frequency shift, resulting in insufficient performance of signal datasets in real-world applications.

Method used

An FPGA device is used as the transmitter, cooperative receiver, and non-cooperative reconnaissance device. Multipath information and Doppler frequency offset are simulated through a channel simulator. The signal is cleaned using a Kalman filter. Combined with a Python program, IQ signal segmentation, reconstruction, and labeling are performed to generate a pickle format dataset suitable for deep learning.

Benefits of technology

It achieves realistic simulation of OFDM communication signals, adapts to the needs of modern wireless communication, improves the applicability and reliability of the dataset, supports deep learning training, and is suitable for research in the field of cognitive radio.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120710618B_ABST
    Figure CN120710618B_ABST
Patent Text Reader

Abstract

The application discloses an OFDM communication signal dataset manufacturing method based on FPGA and programmable interception, solves the problems of few label dimensions and lack of OFDM communication system in current communication signal datasets, and belongs to the field of computer vision; the method comprises the following steps: adopting an FPGA device as a transmitter, a cooperative terminal receiver and a non-cooperative detection receiver; a channel simulator simulates the channel type, multipath information and Doppler frequency offset required by non-cooperative detection, and sends the obtained OFDM communication signals to the cooperative terminal receiver and the non-cooperative detection receiver; a Kalman filter is used to clean and retain the intercepted OFDM communication signals meeting the amplitude threshold, the signal power meeting the task requirement is calculated, Gaussian white noise is added to obtain a target OFDM communication signal; the OFDM communication signal dataset is stored in a pickle format through python; and the application realizes the manufacturing of the OFDM communication signal dataset.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of computer vision technology and relates to a method for creating an OFDM communication signal dataset based on FPGA and programmable interception in a modulated carrier system. Background Technology

[0002] In communication systems, baseband signals are difficult to communicate over long distances and are easily interfered with. In the process of wireless communication transmission, radio frequency (RF) needs to up-modulate the baseband signal to convert it into a high-frequency digital signal. The receiving end then needs to down-modulate the baseband signal using a corresponding modulation method to restore the original baseband signal, thus enabling the transmission and reception of the baseband signal.

[0003] In cooperative communication, the sender and receiver obtain prior information about the required modulation pattern through a communication protocol agreed upon by both parties, and then "handshake" the front-end signals in order to demodulate the data.

[0004] In non-cooperative communication, the receiving end cannot determine the modulation scheme of the signal. Therefore, it must analyze the characteristics of the signal to determine the modulation scheme in order to perform subsequent signal demodulation operations and applications. However, in today's 6G communication, communication systems face the challenge of low latency and high speed. Therefore, appropriately adopting the automatic modulation identification function from non-cooperative communication can alleviate the challenge of low latency and high speed to some extent.

[0005] In existing technologies, communication signal modulation identification methods are divided into two types: model-driven modulation identification methods and data-driven modulation identification methods. However, in real-world environments where communication signal modulation identification is performed, the scenarios are characterized by high noise levels, diverse modulation types, and limited energy supply. Model-driven modulation identification methods, due to their over-reliance on prior design, cannot meet these conditions. Data-driven modulation identification methods, using deep learning, require a large amount of data for model training to achieve the function of extracting signal features. Therefore, in deep learning-based communication signal modulation identification, the signal dataset has a crucial impact on the implementation of modulation identification.

[0006] Since O'shea published Convolutional radio modulation recognition networks in 2016, he conducted GNU-Radio simulations in 2017 on Shakespearean works in ASCII format with centralized digital modulation data. He employed whitening randomization to ensure equal probability of character and bit occurrences, and publicly released three datasets: RML2016.10a, RML2016.10b, and RML2016.10c. In 2019, he published RML2018.01a. In 2020, the Tekbiyik team proposed the HisarMod.2019 dataset. The performance metrics of these five datasets are shown in Table 1.

[0007] Table 1

[0008] Dataset name Modulation mode Total number of samples Sampling points Number of single samples RML2016.10a 11 modulation modes: 8PSK, BPSK, CPFSK, GFSK, PAM4, 16QAM, 64QAM, QPSK, AM-DSB, AM-SSB, WBFM 220,000 128 1000 for each SNR and single modulation mode RML2016.10b 10 modulation modes: 8PSK, BPSK, CPFSK, GFSK, PAM4, 16QAM, 64QAM, QPSK, AM-DSB, WBFM 1,200,000 128 6000 for each SNR and single modulation mode RML2016.10c 11 modulation modes: 8PSK, BPSK, CPFSK, GFSK, PAM4, 16QAM, 64QAM, QPSK, AM-DSB, AM-SSB, WBFM 160,000 128 800 for each SNR and single modulation mode RML2018.01a 24 modulation modes: 32PSK, 16APSK, 32QAM, FM, GMSK, 32APSK, OQPSK, 8ASK, BPSK, 8PSK, AM-SSB-SC, 4ASK, 16PSK, 64APSK, 128QAM, 128APSK, AM-DSB-SC, AM-SSB-WC, 64QAM, QPSK, 256QAM, AM-DSB-WC, OOK, 16QAM 2,550,000 1024 4250 for each SNR and single modulation mode HisarMod2019 26 modulation modes: 32PSK, 16APSK, 32QAM, FM, GMSK, 32APSK, OQPSK, 8ASK, BPSK, 8PSK, AM-SSB-SC, 4ASK, 16PSK, 64APSK, 128QAM, 128APSK, AM-DSB-SC, AM-SSB-WC, 64QAM, QPSK, 256QAM, AM-DSB-WC, OOK, 16QAM, 256QAM, 16FSK 780,000 1024 1500 for each SNR and single modulation mode

[0009] The aforementioned datasets were released relatively early, and their creation can be adapted to the rapidly evolving communication technologies and signals. For example, publication number CN116016069A, entitled "A Modulation Recognition System Based on Transfer Learning," uses simulated digital modulation signals, including BPSK, 8PSK, PAM4, PAM8, 16QAM, and 64QAM, a total of six modulation signals. However, the six digital modulation methods in this system share the same communication technology as those in the aforementioned published datasets, all being single-carrier communication modes, lacking attention to the OFDM communication system that dominates the current 6G IoT. Meanwhile, with the continuous development of wireless communication and the constant updating of various communication systems, LTE communication protocols, represented by OFDM communication systems, have become the main system for communication systems today. In the future 6G communication field, which features low latency and high speed, high-order modulation (i.e., N-QAM, N≥64) with a single symbol carrying more than 6 bits of information will gradually be used in various fields. This patent discloses that by "simulating channel processing, adding samples to a temporary array variable, adjusting the number of modulation signal types, termination signal-to-noise ratio, number of generated samples, signal type, and signal-to-noise ratio, and adding the adjusted samples to the temporary array variable, and writing the temporary array variable into an HDF5 file, a source domain modulation signal dataset is generated." However, the signal processing method described above has the problem of not cleaning the signal dataset. When controlling the total signal-to-noise ratio of the signal under complex channels, it may cause the simulated channel to be distorted to a certain extent. Therefore, the method of not cleaning the dataset proposed in this patent will result in insufficient effectiveness of the generated dataset.

[0010] Therefore, based on the aforementioned patents and existing public datasets, the following drawbacks exist:

[0011] First, all of them are single-carrier communication modes, which limits most communication signal modulation identification research to this, making it difficult to study and model multi-carrier communication signals.

[0012] Secondly, the system generates communication signals based on GNR-Radio software, then adds Gaussian white noise using Matlab to reduce the signal-to-noise ratio. Essentially, this is a software simulation; the generated signals are not actually transmitted or received in real-time by a signal RF transmitter and receiver, and it does not simulate non-cooperative scenarios in modulation identification. The interference noise is all generated from Gaussian white noise, lacking simulations of real-world LTE channel standards such as multipath effects and Doppler frequency offset, as well as simulations of actual communication signal transmission and reception. Therefore, the proposed model's effectiveness is based on pure laboratory-generated signals, making it difficult to apply in real-world scenarios.

[0013] Third, in reality, communication signals are collected as single sequence signals in IQ format. However, in the dataset mentioned above, the signal samples are stored as two-dimensional sequences with labels. It is impossible to perform preprocessing on the received IQ sequences before labeling, i.e., segmentation, storage, labeling, and evaluation. At the same time, since the labels are all modulation type and signal-to-noise ratio, it will make it difficult for subsequent researchers to carry out multi-modulation type aliasing resolution. Summary of the Invention

[0014] To address the technical challenges of limited label dimensions and a lack of OFDM communication schemes in current communication signal datasets, this invention proposes a method for creating OFDM communication signal datasets based on FPGA and programmable interception. An FPGA device with built-in LaView software is used as the transmitter, cooperative receiver, and non-cooperative receiver, respectively. The transmitter sends LTE communication signals into a wireless channel. After simulating the channel type, multipath information, and Doppler frequency offset required for non-cooperative interception using a channel simulator, the resulting OFDM communication signals are sent to the cooperative receiver and non-cooperative receiver, respectively. The non-cooperative receiver records the OFDM communication signals in the time domain and stores them. The non-cooperative signal is stored in IQ format; the non-cooperative signal is cleaned using a Kalman filter to obtain the target non-cooperative signal; the sequence of amplitudes that meet the amplitude threshold in the target non-cooperative signal is retained to obtain the intercepted OFDM communication signal; the power of the intercepted OFDM communication signal whose score meets the task requirements is calculated, and Gaussian white noise is added after generating it from the signal-to-noise ratio to obtain the target OFDM communication signal; the target OFDM communication signal is then obtained by segmenting, recombining, cutting, sampling, and adding preset labels using Python; after testing, it is stored as a pickle format sample; and after testing, it is stored as an OFDM communication signal dataset, which solves the problems of the current communication signal dataset having few label dimensions and lacking OFDM communication system in the dataset.

[0015] The objective of this invention is specifically achieved through the following technical solutions:

[0016] This invention discloses a method for creating an OFDM communication signal dataset based on FPGA and programmable interception. An FPGA device with built-in LaView software is used as the transmitter, cooperative receiver, and non-cooperative receiver, respectively. The method includes:

[0017] Step 1: The transmitter sends the LTE communication signal to the wireless channel. After simulating the channel type, multipath information and Doppler frequency offset required for non-cooperative detection using a channel simulator, the obtained OFDM communication signal is sent to the cooperative receiver and the non-cooperative receiver respectively.

[0018] Step 2: The non-cooperative receiver records the OFDM communication signal in the time domain and stores it as a non-cooperative signal in IQ format; the non-cooperative signal is cleaned using a Kalman filter to obtain the target non-cooperative signal.

[0019] Step 3: The cooperating receiver records the OFDM communication signal and stores it as a cooperative signal in IQ format; based on the amplitude of the cooperative signal, an amplitude threshold is set; the sequence of target non-cooperating signals whose amplitude meets the amplitude threshold is retained to obtain the intercepted OFDM communication signal.

[0020] Step 4: Construct a difference measurement function based on the statistical characteristics of the cooperative signal and the intercepted OFDM communication signal; construct a scoring function through the difference measurement function; calculate the power of the intercepted OFDM communication signal whose score meets the task requirements; generate the target OFDM communication signal by adding Gaussian white noise based on the signal-to-noise ratio.

[0021] Step 5: Use the NumPy function library in Python to segment the target OFDM communication signal into I-sequence and Q-sequence. Reassemble the I-sequence and Q-sequence according to the receiving order. Cut the signal into sub-blocks based on the time interval and sampling rate. Sample each sub-block, add a preset label, and store it as a pickle format sample. Store the pickle format samples with the correct storage format as the OFDM communication signal dataset.

[0022] In step one, the method for simulating the channel type, multipath information, and Doppler frequency offset required for non-cooperative detection using a channel simulator is as follows:

[0023] The wireless channel simulator uses a preset channel standard to linearly superimpose the channels corresponding to the LTE communication signal. By setting the transmission delay and Doppler frequency offset, it simulates the multipath effect and Doppler frequency offset in the transmission channel of non-cooperative detection in the real environment to obtain the OFDM communication signal.

[0024] In step two, the method of using a Kalman filter to clean the non-cooperative signal to obtain the target non-cooperative signal includes:

[0025] S10, by predicting the error covariance of the non-cooperative signal through the hidden state, the observation matrix of the Kalman filter is obtained;

[0026] S11: Calculate the gain of the Kalman filter based on the observation matrix and output the predicted state at the current time.

[0027] S12, based on the updated observation gradient, an update equation is constructed to update the observation matrix, resulting in the target non-cooperative signal after the non-cooperative signal is cleaned using a Kalman filter.

[0028] In S10, the method for obtaining the observation matrix of the Kalman filter by predicting the error covariance of the non-cooperative signal through the hidden state is as follows:

[0029] ;

[0030] In the formula, y t H is in a hidden state. t x is the observation matrix; t v is the true value of the Kalman filter at time t; t It is observation noise, i.e., Gaussian white noise of the covariance Rt; t is the time variable;

[0031] In S11, the method for calculating the gain of the Kalman filter based on the observation matrix and outputting the predicted state at the current time is as follows:

[0032] ;

[0033] ;

[0034] In the formula, G t P represents the gain of the Kalman filter. t It is the state covariance matrix; This indicates a value of 10. -6 The constant parameter, T is the transpose; x t+1 The predicted state at the current moment, i.e., the output of the Kalman filter; H t x t It is x t The observed value, y t -H t x t It is the error between the observed value and the predicted observed value;

[0035] In S12, the update equation is:

[0036] ;

[0037] In the formula, H t-1 Let v be the observation matrix at time t-1, α be the learning step size used to control the update rate, and v be the observation matrix at time t-1. t-1 The observation noise at time t-1 represents the update rate; g(x) t-1 ) indicates updating the observed gradient, x t-1 This represents the true value of the Kalman filter at time t-1.

[0038] In S12, the method for calculating the updated observation gradient is as follows:

[0039] ;in,

[0040] ;

[0041] In the formula, Let j represent the observation function, N represent the total length of the signal, k represent the discrete-time variable, r(k) represent the discrete-time signal sequence, r represent the discrete signal sequence function expression, k+N represent the offset from the sequence index, and e represent the natural constant.

[0042] In step three, the amplitude is calculated as follows:

[0043] ;

[0044] In the formula, Let be the amplitude, i represent the sequence number of the signal, I be the in-phase component of the signal, and Q be the quadrature component of the signal; where the shape of the signal is: [number of samples, [Sample length]; where, = 0, indicating the in-phase component I of the signal; =1 indicates the quadrature component Q of the signal.

[0045] In step four, the statistical characteristics include: mean amplitude, standard deviation of amplitude, minimum amplitude, maximum amplitude, amplitude skewness, and amplitude kurtosis; among which,

[0046] The method for calculating the average amplitude is as follows:

[0047] ;

[0048] The method for calculating the standard deviation of amplitude is as follows:

[0049] ;

[0050] The method for calculating the minimum amplitude is as follows:

[0051] ;

[0052] The method for calculating the maximum amplitude is as follows:

[0053] ;

[0054] The method for calculating amplitude deviation is as follows:

[0055] ;

[0056] The method for calculating amplitude kurtosis is as follows:

[0057] ;

[0058] In the formula, This represents the average amplitude of the signal. Indicates the standard deviation of the signal amplitude; Indicates the minimum amplitude. Sk represents the maximum amplitude; Sk represents the amplitude skewness; Kur represents the amplitude kurtosis.

[0059] In step four, the difference measurement function is:

[0060] ;

[0061] The scoring function constructed based on the difference measure function is as follows:

[0062] ;

[0063] In the formula, d(f u real f u ideal ) represents the value of the difference measurement function; f u real f represents the statistical characteristics of the captured OFDM communication signal. u ideal These are the statistical characteristics of cooperative signals. It is a positive parameter; For the score, u is the weight number of the statistical characteristic, U represents the total number of weights for the statistical characteristic, and w u It is the weight of statistical characteristics.

[0064] In step four, the power of the intercepted OFDM communication signal that meets the task requirements is calculated. The method for obtaining the target OFDM communication signal by generating the signal-to-noise ratio and adding Gaussian white noise is as follows:

[0065] ;

[0066] ;

[0067] In the formula, For power, The score represents the square of the amplitude of the captured OFDM communication signal that meets the task requirements; For signal-to-noise ratio, SNR = [20, 18, 16, 14, 12, 10, 8, 6, 4, 2, 0, -2, -4, -6, -8, -10]. The noise power is set to generate Gaussian white noise. This Gaussian white noise is then added to the captured OFDM communication signal that meets the task requirements, thus obtaining the target OFDM communication signal.

[0068] In step five, the target OFDM communication signal is segmented into I-sequences and Q-sequences using the NumPy library in Python. The I-sequences and Q-sequences are then reassembled according to the receiving order. The signal is further divided into sub-blocks based on the time interval and sampling rate. Samples are taken from each sub-block, and preset labels are added before storing them as pickle format samples. The method for storing correctly formatted pickle format samples as the OFDM communication signal dataset is as follows:

[0069] S20, Construct the stable region [s, b] of the target OFDM communication signal:

[0070] [s, b] = find_stable_region ,

[0071] In the formula, s is the starting index of the stable region, b is the ending index of the stable region, find_stable_region is the read function in the NumPy library, and D is the target OFDM communication signal. Indicates the sampling rate. The number of seconds to skip at the beginning. This is the number of seconds to skip at the end, used to remove unstable sequences;

[0072] S21, the target OFDM communication signal in the stable region is divided into I sequence and Q sequence: the I sequence and Q sequence are reassembled into reconstructed samples according to the receiving order, each reconstructed sample including real part and imaginary part;

[0073]

[0074]

[0075] In the formula, I[n] is the I sequence, which is the imaginary part of the recombined sample; Q[n] is the Q sequence, which is the real part of the recombined sample; D[2n + s] is the even-numbered position data in the stable region; D[2n + s + 1] is the odd-numbered position data in the stable region; n is the sampling number.

[0076] S22, based on time interval The sampling rate is used to divide the recombinant sample into sub-blocks, where the sequence length L of the sub-block is: The number of sub-blocks, B, is: The sub-block range is: , Number the sub-blocks. ;

[0077] S23, after calculating the number of target samples to be skipped, use random sampling or sequential sampling to extract a specified number of target samples in each sub-block. , , The total length of the sub-block; where the number of target samples to be skipped is calculated as follows:

[0078] ;

[0079] ;

[0080] In the formula, This indicates the number of target samples skipped at the beginning. Indicates the number of target samples skipped at the end;

[0081] Random sampling location for:

[0082]

[0083] Sequential sampling position for:

[0084]

[0085] In the formula, For each sub-block, the sampling point location is defined, Uniform is the function for generating uniformly distributed random numbers, and p... K ~Uniform means Random numbers that follow a uniform distribution This is the sampling step size;

[0086] S24, use integer division to calculate the maximum number of target samples to obtain the target number by correcting the specified number based on the maximum number of samples; after passing a consistency check to ensure that the lengths of the real and imaginary data in the target samples of the target number of samples are consistent, store them as sample original files in IQ format;

[0087] S25, use the save_pickle function to add preset tags to the original IQ format sample file and save it as a pickle file;

[0088] S26. Using the pickle.load function, read the labels and target numbers of the original sample file in pickle format. Using the for I in range statement, print out the storage format of the original sample file in pickle format and compare it with the test format. Use the original sample file in pickle format that passes the comparison as the OFDM communication signal dataset.

[0089] The beneficial effects of this invention are:

[0090] 1. Compared with the single-carrier signals in publicly available datasets, which lack simulation of the widely used OFDM communication system, and the fact that the simulated low-order digital modulation is difficult to meet the practical requirements of modern communication for low latency and high speed, this invention uses the LabVIEW Communications Suite framework in the built-in LabVIEW software of the FPGA device to generate high-order modulated LTE communication signals for the communication system, making it more suitable for the needs of modern wireless communication.

[0091] 2. Addressing the shortcomings of traditional dataset creation methods based on GNU-Radio, which simulate signal-to-noise ratio gradient descent by adding Gaussian white noise in Matlab, lacking simulation of real-world LTE channel standards such as multipath effects and Doppler frequency offset, and failing to simulate actual communication signal transmission and reception, this invention utilizes LabVIEW software, calling its LabVIEW Communications Suite framework, to encode the communication content and transmit it via FPGA. Using the KSW-TECH channel simulator, it simulates the channel type, multipath information, and Doppler frequency offset required for non-cooperative detection. From software simulation to hardware simulation, it achieves the simulation of multipath effects and Doppler frequency offset, simulating near-realistic non-cooperative signal data in real-world scenarios, and enabling signal transmission via radio frequency equipment.

[0092] 3. By using a Kalman filter to introduce a timing prediction mechanism, the non-cooperative signal is cleaned and preprocessed, further suppressing sampling errors in individual parts of the signal sequence caused by IQ imbalance, propagation multipath effects, etc., and realizing the correction of some signal sampling points.

[0093] 4. The constructed scoring function evaluates the signal after passing through the Kalman filter. The score reflects the degree of modification to the Kalman filter, taking into account the quality and reliability of the reference signal dataset.

[0094] 5. This invention utilizes a Python-programmed dataset creation program to segment, recombine, cut, sample, and add preset labels to IQ signals before storing them as pickle format samples. This achieves adjustable data dimensions and employs an error detection mechanism to better preserve the true characteristics of the data. It is suitable for large-scale datasets and is more adaptable to the creation of datasets with more sampling points.

[0095] 6. The OFDM communication signal dataset generated in this project is an OFDM signal with a bandwidth of 16MHz, 300 subcarriers, and a center carrier frequency of 3.18GHz in ASCII format. It is used to simulate LTE communication signals in real-world scenarios. Compared to the five datasets mentioned in Table 1, this dataset is an OFDM communication signal and also has 11 digital modulation types, realizing the non-cooperative signal reception in a simulated real-world communication environment. Furthermore, compared to the USRP equipment that stores IQ signals, the dataset only has two-dimensional label determinations (modulation type, signal-to-noise ratio). The collected data is unprocessed and cannot be used for training standards in the field of artificial intelligence deep learning. The dataset constructed in this invention, through settings, converts the output IQ file into a three-dimensional multi-dimensional label determination (modulation type, transmitter, signal-to-noise ratio) in PKL format, which is easier to implement for deep learning training. This invention achieves dataset integration, which is more conducive to research in the field of cognitive radio. Attached Figure Description

[0096] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments.

[0097] Figure 1 This is a schematic diagram of the OFDM communication signal modulation identification dataset creation system based on FPGA and programmable interception provided in this invention.

[0098] Figure 2 This is a schematic diagram of the cooperative communication transmitter signal provided in an example of the present invention.

[0099] Figure 3 This is a schematic diagram of the signal status of the cooperative receiver provided in an example of the present invention.

[0100] Figure 4 This is a time-frequency conversion diagram of the non-cooperative detection signal effect provided in an example of the present invention.

[0101] Figure 5 This is a schematic diagram of the non-cooperative receiver signal situation provided in the example of the present invention.

[0102] Figure 6 This is a schematic diagram of the implementation data set creation structure provided in this invention example.

[0103] Figure 7This is a schematic diagram of a data extraction and tagging interface implemented using Python, provided by an example of the present invention.

[0104] Figure 8 This is a graph showing the comparison results of experimental data provided in this invention. Detailed Implementation

[0105] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0106] like Figure 6 As shown, this embodiment of the invention provides a method for creating a dataset of OFDM communication signals based on FPGA and programmable interception, such as... Figure 1 As shown, an FPGA device with built-in Laview software is used as a transmitter, a cooperative receiver, and a non-cooperative receiver, respectively. The method includes:

[0107] Step 1: The transmitter sends the LTE communication signal to the wireless channel. After simulating the channel type, multipath information and Doppler frequency offset required for non-cooperative detection using a channel simulator, the obtained OFDM communication signal is sent to the cooperative receiver and the non-cooperative receiver respectively.

[0108] In this embodiment of the invention, the FPGA devices of the transmitter and the cooperative receiver use the National Instruments NI USRP-2953R signal transmitter. It utilizes the LabVIEW Communications Suite framework within the built-in LabVIEW software, employing a DSP module package, and through NI LabVIEW software and USRP hardware, generates high-order modulation for the communication system, making it more suitable for modern wireless communication needs. The transmitter, as shown... Figure 2 As shown, the cooperative receiver is as follows Figure 3 As shown, the constellation diagram and signal reception diagram of the cooperative receiver, along with the spectrum analysis function on the spectrum analyzer, ensure the successful and effective establishment of the signal link; the FPGA device of the non-cooperative receiver uses a National Instruments NI PXle-5644 signal receiver, such as... Figure 4 and Figure 5 As shown; the channel simulator used is the KSW-TECH channel simulator.

[0109] Step 2: The non-cooperative receiver records the OFDM communication signal in the time domain and stores it as a non-cooperative signal in IQ format; the non-cooperative signal is cleaned using a Kalman filter to obtain the target non-cooperative signal; unstable and unbalanced signal samples are removed.

[0110] Step 3: The cooperating receiver records the OFDM communication signal and stores it as a cooperative signal in IQ format; based on the amplitude of the cooperative signal, an amplitude threshold is set; the sequence of the target non-cooperating signal whose amplitude meets the amplitude threshold is retained to obtain the intercepted OFDM communication signal; and unstable sequences caused by manual operation of the radio frequency equipment during the start or end phase are removed.

[0111] Step four: Construct a difference measurement function based on the statistical characteristics of the cooperative signal and the intercepted OFDM communication signal; construct a scoring function through the difference measurement function; calculate the power of the intercepted OFDM communication signal that meets the task requirements, generate the target OFDM communication signal by adding Gaussian white noise based on the signal-to-noise ratio; the scoring function is used to evaluate the degree of signal processing and cleaning, and to provide a basis for whether re-acquisition is needed.

[0112] Step 5: Using the NumPy library in Python, the target OFDM communication signal is segmented into I-sequences and Q-sequences. The I-sequences and Q-sequences are then reassembled according to the receiving order. The signal is further divided into sub-blocks based on the time interval and sampling rate. Samples are taken from each sub-block, and preset labels are added before storing them as pickle format samples. The correctly formatted pickle samples are then stored as the OFDM communication signal dataset. Figure 7 As shown.

[0113] In step one, the method for simulating the channel type, multipath information, and Doppler frequency offset required for non-cooperative detection using a channel simulator is as follows:

[0114] The wireless channel simulator uses a preset channel standard to linearly superimpose the channels corresponding to the LTE communication signal. By setting the transmission delay and Doppler frequency offset, it simulates the multipath effect and Doppler frequency offset in the transmission channel of non-cooperative detection in the real environment to obtain the OFDM communication signal.

[0115] In step two, the method of using a Kalman filter to clean the non-cooperative signal to obtain the target non-cooperative signal includes:

[0116] S10, by predicting the error covariance of the non-cooperative signal through the hidden state, the observation matrix of the Kalman filter is obtained;

[0117] S11: Calculate the gain of the Kalman filter based on the observation matrix and output the predicted state at the current time.

[0118] S12, based on the updated observation gradient, an update equation is constructed to update the observation matrix, resulting in the target non-cooperative signal after the non-cooperative signal is cleaned using a Kalman filter.

[0119] In S10, the method for obtaining the observation matrix of the Kalman filter by predicting the error covariance of the non-cooperative signal through the hidden state is as follows:

[0120] ;

[0121] In the formula, y t H is in a hidden state. t This is the observation matrix, used to correct for the measured parts. Initially, it's set as an all-zero matrix, representing y. t The connection between the observation space and the observation space, in order to minimize the model's prediction error, is the observation matrix obtained from the state vector; x t The value of the Kalman filter at time t is initially set to the true input value; v t It is the observation noise, i.e., Gaussian white noise of the covariance Rt, where Rt represents the measurement uncertainty, specifically the observation noise covariance matrix; t is the time variable;

[0122] In S11, the method for calculating the gain of the Kalman filter based on the observation matrix and outputting the predicted state at the current time is as follows:

[0123] ;

[0124] ;

[0125] In the formula, G t P represents the gain of the Kalman filter. t It is the state covariance matrix, representing the prediction error, specifically the prediction error covariance matrix; This indicates a value of 10. -6 The constant parameter is used to prevent the denominator from being 0, and T is the transpose; x t+1 The predicted state at the current moment, i.e., the output of the Kalman filter; H t x t It is x t The observed value, y t -H t x t It is the error between the observed value and the predicted observed value;

[0126] In S12, the update equation is:

[0127] ;

[0128] In the formula, H t-1Let v be the observation matrix at time t-1, α be the learning step size used to control the update rate, and v be the observation matrix at time t-1. t-1 Let g(x) represent the observation noise at time t-1, and g(x) represent the update rate, which is set to 0.005 in this embodiment of the invention. t-1 ) indicates updating the observed gradient, x t-1 This represents the true value of the Kalman filter at time t-1. It performs signal cleaning and preprocessing to reduce multipath effects and imbalanced samples in the sequence.

[0129] In S12, the method for calculating the updated observation gradient is as follows:

[0130] ;in,

[0131] ;

[0132] In the formula, Let j represent the observation function, N represent the total length of the signal, k represent the discrete-time variable, r(k) represent the discrete-time signal sequence, r represent the discrete signal sequence function expression, k+N represent the offset from the sequence index, and e represent the natural constant.

[0133] In step three, the amplitude is calculated as follows:

[0134] ;

[0135] In the formula, Let be the amplitude, i represent the sequence number of the signal, I be the in-phase component of the signal, and Q be the quadrature component of the signal; where the shape of the signal is: [number of samples, [Sample length]; where, = 0, indicating the in-phase component I of the signal; =1 indicates the quadrature component Q of the signal.

[0136] Preferably, the minimum amplitude threshold is set to min_power_threshold=10. -4 To filter out samples with too small amplitude (which may be noise), set the maximum amplitude threshold max_power_threshold=10.0 to filter out samples with too large amplitude (which may be abnormal signals or interference), and exclude samples containing NaN values.

[0137] In step four, the statistical characteristics include: mean amplitude, standard deviation of amplitude, minimum amplitude, maximum amplitude, amplitude skewness, and amplitude kurtosis; among which,

[0138] The method for calculating the average amplitude is as follows:

[0139] ;

[0140] The method for calculating the standard deviation of amplitude is as follows:

[0141] ;

[0142] The method for calculating the minimum amplitude is as follows:

[0143] ;

[0144] The method for calculating the maximum amplitude is as follows:

[0145] ;

[0146] The method for calculating amplitude deviation is as follows:

[0147] ;

[0148] The method for calculating amplitude kurtosis is as follows:

[0149] ;

[0150] In the formula, This represents the average amplitude of the signal. Indicates the standard deviation of the signal amplitude; Indicates the minimum amplitude. Sk represents the maximum amplitude; Sk represents the amplitude skewness; Kur represents the amplitude kurtosis.

[0151] In practical operation, such as Figure 2 to Figure 5 A comparison of the waveforms clearly reveals a significant difference between the cooperative signal and the truncated OFDM communication signal. Therefore, a scoring function constructed based on the difference metric is used to evaluate the effectiveness of the cooperative signal versus the truncated OFDM communication signal. In step four, the constructed difference metric is as follows:

[0152] ;

[0153] The scoring function constructed based on the difference measure function is as follows:

[0154] ;

[0155] In the formula, d(f u real f u ideal ) represents the value of the difference measurement function; f u real f represents the statistical characteristics of the captured OFDM communication signal. u ideal It is a statistical characteristic of cooperative signals. It is a positive parameter, used to avoid the case where the denominator is zero. For the score, u is the weight number of the statistical characteristic, U represents the total number of weights for the statistical characteristic, and w u It is a weighting of statistical characteristics. This metric can appropriately assign larger values ​​to cases with larger deviations. The scoring function takes into account characteristics such as signal amplitude, phase, standard deviation of I-path and Q-path, maximum and minimum values, skewness, kurtosis, and average power.

[0156] In step four, the power of the intercepted OFDM communication signal that meets the task requirements is calculated. The method for obtaining the target OFDM communication signal by generating the signal-to-noise ratio and adding Gaussian white noise is as follows:

[0157] ;

[0158] ;

[0159] In the formula, For power, The score represents the square of the amplitude of the captured OFDM communication signal that meets the task requirements; For signal-to-noise ratio, SNR = [20, 18, 16, 14, 12, 10, 8, 6, 4, 2, 0, -2, -4, -6, -8, -10]. The noise power is set to generate Gaussian white noise. This Gaussian white noise is then added to the captured OFDM communication signal that meets the task requirements, thus obtaining the target OFDM communication signal.

[0160] In step five, the target OFDM communication signal is segmented into I-sequences and Q-sequences using the NumPy library in Python. The I-sequences and Q-sequences are then reassembled according to the receiving order. The signal is further divided into sub-blocks based on the time interval and sampling rate. Samples are taken from each sub-block, and preset labels are added before storing them as pickle format samples. The method for storing correctly formatted pickle format samples as the OFDM communication signal dataset is as follows:

[0161] S20, Construct the stable region [s, b] of the target OFDM communication signal:

[0162] [s, b] = find_stable_region ,

[0163] In the formula, s is the starting index of the stable region, b is the ending index of the stable region, find_stable_region is the read function in the NumPy library, and D is the target OFDM communication signal. Indicates the sampling rate. The number of seconds to skip at the beginning. This is the number of seconds to skip at the end, used to remove unstable sequences. For example, skipping 0.2 seconds at the beginning and 0.2 seconds at the end aims to skip unstable time periods at the beginning and end of the data, thus removing unstable sequences.

[0164] S21, the target OFDM communication signal in the stable region is divided into I sequence and Q sequence: the I sequence and Q sequence are reassembled into reconstructed samples according to the receiving order, each reconstructed sample including real part and imaginary part;

[0165]

[0166]

[0167] In the formula, I[n] is the I sequence, which is the imaginary part of the recombined sample; Q[n] is the Q sequence, which is the real part of the recombined sample; D[2n + s] is the even-numbered position data in the stable region; D[2n + s + 1] is the odd-numbered position data in the stable region; n is the sampling number.

[0168] S22, based on time interval The sampling rate is used to divide the recombinant sample into sub-blocks, where the sequence length L of the sub-block is: The number of sub-blocks, B, is: The sub-block range is: , Number the sub-blocks. ;

[0169] S23, after calculating the number of target samples to be skipped, use random sampling or sequential sampling to extract a specified number of target samples in each sub-block. , , The total length of the sub-block; where the number of target samples to be skipped is calculated as follows:

[0170] ;

[0171] ;

[0172] In the formula, This indicates the number of target samples skipped at the beginning. Indicates the number of target samples skipped at the end;

[0173] Random sampling location for:

[0174]

[0175] Sequential sampling position for:

[0176]

[0177] In the formula, For each sub-block, the sampling point location is defined, Uniform is the function for generating uniformly distributed random numbers, and p... K ~Uniform means Random numbers that follow a uniform distribution S24 is the sampling step size; S24 is used to calculate the maximum number of target samples to be collected using integer division, specifically:

[0178] max_samples = real_data_length / / length; Based on the real data length real_data_length (the imaginary data length is equal to it) within the determined stable interval, and the length of each sample, use integer division ( / / ) to calculate the maximum number of target samples that can be collected, max_samples.

[0179] The target number is obtained by adjusting the specified number based on the maximum number of samples collected; that is, if the specified number is greater than the maximum number of samples collected, the sample number parameter sample_num is adjusted using an if statement to automatically reduce the number of samples to max_samples, thus avoiding unreasonable sample number requests.

[0180] After ensuring that the lengths of the real and imaginary data in the target sample are consistent through a consistency check, the sample original file is stored in IQ format.

[0181] S25, use the save_pickle function to add preset tags to the original IQ format sample files and save them as pickle format; the specific steps are as follows:

[0182] After adding preset tags to the original IQ format sample files using the `file.split` function in conjunction with a `for I in range` loop, the `os.path.join` function combines the directory path and filename specified by the `pkl_dir` parameter into a complete file path for easy storage. Finally, the `pickle.dump` function serializes the IQ samples and saves them as a dictionary in pickle format to the specified path, saving the tags. Simultaneously, the `with` statement ensures that files are properly closed after use in the correct path, preventing resource leaks even if an exception occurs during writing.

[0183] S26. Using the pickle.load function, read the labels and target numbers of the original sample file in pickle format. Using the for I in range statement, print out the storage format of the original sample file in pickle format and compare it with the test format. Use the original sample file in pickle format that passes the comparison as the OFDM communication signal dataset.

[0184] To provide a detailed explanation of the technical solution of this invention, a specific example is provided below:

[0185] By controlling the recording duration and the number of sampling points to be the same, a classic CNN+SE attention neural network was used to train the network for dataset validity verification. The verification results are as follows: Figure 8 As shown in Table 2.

[0186] Table 2

[0187] Manufacturing method Number of single label samples Number of sampling points Dataset file size Random clipping 6000 1024 6.1G Random clipping + amplitude detection 4000 1024 4.2G Random clipping + amplitude detection + power spectrum noise 3000 1024 3.8G Random clipping + amplitude detection + power spectrum noise + score evaluation 2000 1024 3.3G

[0188] Table 2 shows the results of improving the network's recognition rate for datasets by increasing the number of data samples, so that the difference in recognition accuracy between them is around 0.5%. The effectiveness of the datasets is evaluated by comparing the number of individual label samples and the size of the dataset files in different datasets.

[0189] Figure 8 In this study, by ensuring that the classifiers for identical recognitions are CNN-SC attention mechanisms, the recognition rate difference is kept around 0.5%. The quality of the signal dataset is measured by the number of samples. Specifically: random truncation: 71.65%; random truncation + amplitude detection: 71.07%; random truncation + amplitude detection + power noise addition: 71.42%; random truncation + amplitude detection + power noise addition + scoring evaluation: 71.87%. Figure 8 As can be seen, this invention can effectively improve the quality of datasets and achieve similar recognition rates with fewer samples.

[0190] The beneficial effects of the embodiments of the present invention are:

[0191] 1. Compared with the single-carrier signals in publicly available datasets, which lack simulation of the widely used OFDM communication system, and the fact that the simulated low-order digital modulation is difficult to meet the practical requirements of modern communication for low latency and high speed, this invention uses the LabVIEW Communications Suite framework in the built-in LabVIEW software of the FPGA device to generate high-order modulated LTE communication signals for the communication system, making it more suitable for the needs of modern wireless communication.

[0192] 2. Addressing the shortcomings of traditional dataset creation methods based on GNU-Radio, which simulate signal-to-noise ratio gradient descent by adding Gaussian white noise in Matlab, lacking simulation of real-world LTE channel standards such as multipath effects and Doppler frequency offset, and failing to simulate actual communication signal transmission and reception, this invention utilizes LabVIEW software, calling its LabVIEW Communications Suite framework, to encode the communication content and transmit it via FPGA. Using the KSW-TECH channel simulator, it simulates the channel type, multipath information, and Doppler frequency offset required for non-cooperative detection. From software simulation to hardware simulation, it achieves the simulation of multipath effects and Doppler frequency offset, simulating near-realistic non-cooperative signal data in real-world scenarios, and enabling signal transmission via radio frequency equipment.

[0193] 3. By using a Kalman filter to introduce a timing prediction mechanism, the non-cooperative signal is cleaned and preprocessed, further suppressing sampling errors in individual parts of the signal sequence caused by IQ imbalance, propagation multipath effects, etc., and realizing the correction of some signal sampling points.

[0194] 4. The constructed scoring function evaluates the signal after passing through the Kalman filter. The score reflects the degree of modification to the Kalman filter, taking into account the quality and reliability of the reference signal dataset.

[0195] 5. This invention utilizes a Python-programmed dataset creation program to segment, recombine, cut, sample, and add preset labels to IQ signals before storing them as pickle format samples. This achieves adjustable data dimensions and employs an error detection mechanism to better preserve the true characteristics of the data. It is suitable for large-scale datasets and is more adaptable to the creation of datasets with more sampling points.

[0196] 6. The OFDM communication signal dataset generated in this project is an OFDM signal with a bandwidth of 16MHz, 300 subcarriers, and a center carrier frequency of 3.18GHz in ASCII format. It is used to simulate LTE communication signals in real-world scenarios. Compared to the five datasets mentioned in Table 1, this dataset is an OFDM communication signal and also has 11 digital modulation types, realizing the non-cooperative signal reception in a simulated real-world communication environment. Furthermore, compared to the USRP equipment that stores IQ signals, the dataset only has two-dimensional label determinations (modulation type, signal-to-noise ratio). The collected data is unprocessed and cannot be used for training standards in the field of artificial intelligence deep learning. The dataset constructed in this invention, through settings, converts the output IQ file into a three-dimensional multi-dimensional label determination (modulation type, transmitter, signal-to-noise ratio) in PKL format, which is easier to implement for deep learning training. This invention achieves dataset integration, which is more conducive to research in the field of cognitive radio.

[0197] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A method for creating an OFDM communication signal dataset based on FPGA and programmable interception, characterized in that, The method involves using an FPGA device with built-in Laview software as a transmitter, a cooperative receiver, and a non-cooperative receiver, respectively. Step 1: The transmitter sends the LTE communication signal to the wireless channel. After simulating the channel type, multipath information and Doppler frequency offset required for non-cooperative detection using a channel simulator, the obtained OFDM communication signal is sent to the cooperative receiver and the non-cooperative receiver respectively. Step 2: The non-cooperative receiver records the OFDM communication signal in the time domain and stores it as a non-cooperative signal in IQ format; the non-cooperative signal is cleaned using a Kalman filter to obtain the target non-cooperative signal. Step 3: The cooperating receiver records the OFDM communication signal and stores it as a cooperative signal in IQ format; based on the amplitude of the cooperative signal, an amplitude threshold is set; the sequence of target non-cooperating signals whose amplitude meets the amplitude threshold is retained to obtain the intercepted OFDM communication signal. Step 4: Construct a difference measurement function based on the statistical characteristics of the cooperative signal and the intercepted OFDM communication signal; construct a scoring function through the difference measurement function; calculate the power of the intercepted OFDM communication signal whose score meets the task requirements; generate the target OFDM communication signal by adding Gaussian white noise based on the signal-to-noise ratio. Step 5: Using the NumPy library in Python, the target OFDM communication signal is segmented into I-sequences and Q-sequences. The I-sequences and Q-sequences are then reassembled according to the receiving order. The signal is further divided into sub-blocks based on the time interval and sampling rate. Samples are taken from each sub-block, and preset labels are added before storing them as pickle format samples. The correctly formatted pickle samples are then stored as the OFDM communication signal dataset. In step four, the statistical characteristics include: mean amplitude, standard deviation of amplitude, minimum amplitude, maximum amplitude, amplitude skewness, and amplitude kurtosis; among which, The method for calculating the average amplitude is as follows: ; The method for calculating the standard deviation of amplitude is as follows: ; The method for calculating the minimum amplitude is as follows: ; The method for calculating the maximum amplitude is as follows: ; The method for calculating amplitude deviation is as follows: ; The method for calculating amplitude kurtosis is as follows: ; The difference measurement function is: ; In the formula, The signal represents the average amplitude, where i represents the sequence number of the signal, and N represents the total length of the signal. For amplitude; Indicates the standard deviation of the signal amplitude; Indicates the minimum amplitude. Indicates the maximum amplitude; Sk represents the amplitude skewness; Kur represents the amplitude kurtosis; d(f u real f u ideal ) represents the value of the difference measurement function; f u real f represents the statistical characteristics of the captured OFDM communication signal. u ideal These are the statistical characteristics of cooperative signals. It is a positive parameter; u is the weight number of the statistical characteristic.

2. The method as described in claim 1, characterized in that, In step one, the method for simulating the channel type, multipath information, and Doppler frequency offset required for non-cooperative detection using a channel simulator is as follows: The wireless channel simulator uses a preset channel standard to linearly superimpose the channels corresponding to the LTE communication signal. By setting the transmission delay and Doppler frequency offset, it simulates the multipath effect and Doppler frequency offset in the transmission channel of non-cooperative detection in the real environment to obtain the OFDM communication signal.

3. The method as described in claim 2, characterized in that, In step two, the method of using a Kalman filter to clean the non-cooperative signal to obtain the target non-cooperative signal includes: S10, by predicting the error covariance of the non-cooperative signal through the hidden state, the observation matrix of the Kalman filter is obtained; S11: Calculate the gain of the Kalman filter based on the observation matrix and output the predicted state at the current time. S12, based on the updated observation gradient, an update equation is constructed to update the observation matrix, resulting in the target non-cooperative signal after the non-cooperative signal is cleaned using a Kalman filter.

4. The method as described in claim 3, characterized in that, In S10, the method for obtaining the observation matrix of the Kalman filter by predicting the error covariance of the non-cooperative signal through the hidden state is as follows: ; In the formula, y t H is in a hidden state. t x is the observation matrix; t v is the true value of the Kalman filter at time t; t It is observation noise, i.e., Gaussian white noise of the covariance Rt; t is the time variable; In S11, the method for calculating the gain of the Kalman filter based on the observation matrix and outputting the predicted state at the current time is as follows: ; ; In the formula, G t P represents the gain of the Kalman filter. t It is the state covariance matrix; This indicates a value of 10. -6 The constant parameter, T is the transpose; x t+1 The predicted state at the current moment, i.e., the output of the Kalman filter; H t x t It is x t The observed value, y t -H t x t It is the error between the hidden state and the observed value; In S12, the update equation is: ; In the formula, H t-1 Let v be the observation matrix at time t-1, α be the learning step size used to control the update rate, and v be the observation matrix at time t-1. t-1 The observation noise at time t-1 represents the update rate; g(x) t-1 ) indicates updating the observed gradient, x t-1 This represents the true value of the Kalman filter at time t-1.

5. The method as described in claim 4, characterized in that, In S12, the method for calculating the updated observation gradient is as follows: ;in, ; In the formula, Let j represent the observation function, N represent the total length of the signal, k represent the discrete-time variable, r(k) represent the discrete-time signal sequence, r represent the discrete signal sequence function expression, k+N represent the offset from the sequence index, and e represent the natural constant.

6. The method as described in claim 5, characterized in that, In step three, the amplitude is calculated as follows: ; In the formula, Let be the amplitude, i represent the sequence number of the signal, I be the in-phase component of the signal, and Q be the quadrature component of the signal; where the shape of the signal is: [number of samples, [Sample length]; where, = 0, indicating the in-phase component I of the signal; = 1, indicating the orthogonal component Q of the signal.

7. The method as described in claim 1 or 6, characterized in that, In step four, the scoring function constructed based on the difference measure function is as follows: ; In the formula, d(f u real f u ideal ) represents the value of the difference measurement function; f u real f represents the statistical characteristics of the captured OFDM communication signal. u ideal These are the statistical characteristics of cooperative signals; For the score, u is the weight number of the statistical characteristic, U represents the total number of weights for the statistical characteristic, and w u It is the weight of statistical characteristics.

8. The method as described in claim 7, characterized in that, In step four, the power of the intercepted OFDM communication signal that meets the task requirements is calculated. The method for obtaining the target OFDM communication signal by generating the signal-to-noise ratio and adding Gaussian white noise is as follows: ; ; In the formula, For power, The score represents the square of the amplitude of the captured OFDM communication signal that meets the task requirements; For signal-to-noise ratio, SNR = [20, 18, 16, 14, 12, 10, 8, 6, 4, 2, 0, -2, -4, -6, -8, -10]. The noise power is set to generate Gaussian white noise. This Gaussian white noise is then added to the captured OFDM communication signal that meets the task requirements, thus obtaining the target OFDM communication signal.

9. The method as described in claim 8, characterized in that, In step five, the target OFDM communication signal is segmented into I-sequences and Q-sequences using the NumPy library in Python. The I-sequences and Q-sequences are then reassembled according to the receiving order. The signal is further divided into sub-blocks based on the time interval and sampling rate. Samples are taken from each sub-block, and preset labels are added before storing them as pickle format samples. The method for storing correctly formatted pickle format samples as the OFDM communication signal dataset is as follows: S20, Construct the stable region [s, b] of the target OFDM communication signal: [s, b] = find_stable_region ; In the formula, s is the starting index of the stable region, b is the ending index of the stable region, find_stable_region is the read function in the NumPy library, and D is the target OFDM communication signal. Indicates the sampling rate. The number of seconds to skip at the beginning. This is the number of seconds to skip at the end, used to remove unstable sequences; S21, the target OFDM communication signal in the stable region is divided into I sequence and Q sequence: the I sequence and Q sequence are reassembled into reconstructed samples according to the receiving order, each reconstructed sample including real part and imaginary part; In the formula, I[n] is the I sequence, which is the imaginary part of the recombined sample; Q[n] is the Q sequence, which is the real part of the recombined sample; D[2n + s] is the even-numbered position data in the stable region; D[2n + s + 1] is the odd-numbered position data in the stable region; n is the sampling number. S22, based on time interval The sampling rate is used to divide the recombinant sample into sub-blocks, where the sequence length L of the sub-block is: The number of sub-blocks, B, is: The sub-block range is: , Number the sub-blocks. ; S23, after calculating the number of target samples to be skipped, use random sampling or sequential sampling to extract a specified number of target samples in each sub-block. , , The total length of the sub-block; where the number of target samples to be skipped is calculated as follows: ; ; In the formula, This indicates the number of target samples skipped at the beginning. Indicates the number of target samples skipped at the end; Random sampling location for: Sequential sampling position for: In the formula, For each sub-block, the sampling point location is defined, and Uniform is the function for generating uniformly distributed random numbers. ~ Uniform indicates Random numbers that follow a uniform distribution This is the sampling step size; S24, use integer division to calculate the maximum number of target samples to obtain the target number by correcting the specified number based on the maximum number of samples; after passing a consistency check to ensure that the lengths of the real and imaginary data in the target samples of the target number of samples are consistent, store them as sample original files in IQ format; S25, use the save_pickle function to add preset tags to the original IQ format sample file and save it as a pickle file; S26. Using the pickle.load function, read the labels and target numbers of the original sample file in pickle format. Using the for I in range statement, print out the storage format of the original sample file in pickle format and compare it with the test format. Use the original sample file in pickle format that passes the comparison as the OFDM communication signal dataset.

Citation Information

Patent Citations

  • Inter-satellite link frequency spectrum cognitive machine learning training data set construction method and device

    CN112929073A

  • Modulation identification system based on transfer learning

    CN116016069A