A Demodulation Method for Multi-level Biorthogonal Keying Signals Based on STFT-CNN

By using an STFT-CNN-based method, source information bits are mapped to a spreading code set and repetitive coding is added. Convolutional neural networks are then used to extract time-frequency features, which solves the problem of high demodulation computation complexity in the MBOK spreading system and improves demodulation performance.

CN119402329BActive Publication Date: 2025-10-31NO 30 INST OF CHINA ELECTRONIC TECH GRP CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411421341.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-12
Publication Date
2025-10-31
Estimated Expiration
2044-10-12

AI Technical Summary

Technical Problem

Existing MBOK spread spectrum demodulation methods involve large computational loads, requiring correlation operations between the received signal and M·M combination states of the local spreading code, resulting in high computational complexity.

Method used

A multi-level biorthogonal keying signal demodulation method based on STFT-CNN is adopted. By mapping the source information bits to the spreading code set and adding repetitive encoding, the time-frequency features are extracted using a convolutional neural network, and the likelihood probability is output to recover the source information, thereby reducing the amount of computation.

Benefits of technology

Reduce the computational load of demodulation and improve demodulation performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119402329B_ABST
    Figure CN119402329B_ABST
Patent Text Reader

Abstract

This invention discloses a multi-level biorthogonal keying signal demodulation method based on STFT-CNN, comprising: converting the source into I-channel information bits and Q-channel information bits; mapping the information bits in the I-channel and Q-channel information bits to I-channel and Q-channel spreading code sets respectively; adding repetition coding after each spreading code in the I-channel and Q-channel spreading code sets respectively, i.e., repeating each spreading code several times; and then performing QPSK modulation to generate an MBOK modulated signal; extracting time-frequency features from the MBOK modulated signal and inputting them into a machine learning model, outputting the corresponding likelihood probability, which indicates the category or spreading code state of the current time-frequency feature sample; and recovering the source information based on the one-to-one mapping relationship between the category or spreading code state and the information bits of the source. This invention improves demodulation performance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communication technology, and in particular to a method for demodulating multi-level biorthogonal keying signals based on STFT-CNN. Background Technology

[0002] M-ary Bi-Orthogonal Keying (MBOK) is a soft spread spectrum technique using multi-level spread spectrum. Compared to direct sequence spread spectrum, MBOK increases the spreading gain without increasing the system bandwidth. Therefore, this spread spectrum method maintains the excellent anti-interference performance of traditional direct sequence spread spectrum while reducing the transmission bandwidth, making it applicable in some spectrum-constrained or variable transmission rate scenarios.

[0003] In the MBOK spread spectrum system model, each of the I / Q channels of the M-ary biorthogonal keying signal requires M signals of length N. c (spreading code length N) c The orthogonal codes are used to represent the M states of the log2M-bit source information, and the log2M-bit information from both the I and Q channels is mapped to two orthogonal spreading code sets C. I ={C I0 C I1 …,C I(M-1)} and C Q ={C Q0 C Q1 …,C Q(M-1)},in For the spreading code of the I-channel, where For I-channel spread spectrum chips; For the Q-channel spreading code, where This is a Q-channel spreading code; after mapping log2 M-bit source information to the spreading code, the baseband signal obtained after interpolation and root-raised cosine filtering can be expressed as follows: Where s I [n], s Q [n] represent the symbol states of the source information, c I [i] = {±1}, c Q [i] = {±1} represent the chips of the I / Q spreading codes respectively; g(t-iT) c -nT s ) represents the root-raised cosine pulse shaping pulse. N c T represents the spreading code length. c T is the duration of the spread spectrum chip. s =(N c ·T c) represents the duration of the symbolic code elements mapped from the source information.

[0004] Currently, the commonly used demodulation method in MBOK spread spectrum systems utilizes matched filters to achieve demodulation based on the principle of maximizing the signal-to-noise ratio. MBOK spread spectrum signals generally employ incoherent demodulation, performing correlation operations between the received signal and M spreading codes from both the I and Q channels. Since each of the I and Q channel spreading code sets contains M spreading codes, combining these two sets results in M·M states, each corresponding to two spreading codes in the I and Q channel sets. The received signal is correlated with these M·M spreading codes, and the maximum value among the M·M correlation values ​​is searched. Then, based on the one-to-one mapping between the spreading codes and the transmitted information bits, the 2m-bit information (where m = log₂M) transmitted by the transmitter is determined. This method requires correlation operations between the received signal and the M·M combined states of the local spreading codes, resulting in a large computational load. Summary of the Invention

[0005] In view of this, the present invention provides a method for demodulating multi-level biorthogonal keying signals based on STFT-CNN.

[0006] This invention discloses a multi-level biorthogonal keying signal demodulation method based on STFT-CNN, which includes:

[0007] The information source is converted into I-channel information bits and Q-channel information bits. The information bits in the I-channel information bits and Q-channel information bits are mapped to the I-channel spreading code set and the Q-channel spreading code set, respectively. A repetition code is added after each spreading code in the I-channel spreading code set and the Q-channel spreading code set, that is, each spreading code is repeated several times. Then QPSK modulation is performed to generate the MBOK modulated signal.

[0008] The time-frequency features extracted from the MBOK modulated signal are input into the machine learning model, and the corresponding likelihood probability is output. The likelihood probability is used to indicate the category or spreading code state of the current time-frequency feature sample. Based on the one-to-one mapping relationship between the category or spreading code state and the information bits of the source, the source information is recovered.

[0009] Further, the step of converting the information source into I-channel information bits and Q-channel information bits, and mapping the information bits in the I-channel information bits and Q-channel information bits to the I-channel spreading code set and the Q-channel spreading code set, respectively, includes:

[0010] The information source is converted from serial to parallel to obtain I-channel information bits and Q-channel information bits. Every m = log2M information bits in the I-channel information bits are mapped to the I-channel spreading code set C. I ={C I0 C I1 …,C I(M-1)A spreading code in}, where every m = log2M information bits in the Q-channel information bits are mapped to the Q-channel spreading code set C. Q ={C Q0 C Q1 …,C Q(M-1) One of the spreading codes in}.

[0011] Furthermore, the spreading code uses Gold code or Walsh code as orthogonal spreading code; the Gold code is composed of two preferred pairs of m sequences, and the two preferred pairs of m sequences generate multiple orthogonal Gold codes. M code sequences are selected from the multiple orthogonal Gold codes to form an orthogonal spreading code set for the M-ary biorthogonal keying signal I channel. Then, M code sequences are selected from the remaining code sequences in the multiple orthogonal Gold codes to form an orthogonal spreading code set for the M-ary biorthogonal keying signal Q channel.

[0012] Furthermore, the process of obtaining training samples for the machine learning model includes:

[0013] After acquiring the MBOK modulated signal, N sampled signals are extracted based on the synchronization position of the spreading code. These sampled signals are then subjected to a short-time Fourier transform to obtain the complex matrix R. STFT For complex matrix R STFT Take the modulus of each element to obtain R. STFT The modulus matrix R modulus ; Matrix R modulus Normalization yields the input sample matrix R′ of the convolutional neural network. modulus The sample matrix R′ modulus As training samples for convolutional neural networks.

[0014] Furthermore, a convolutional neural network is used as the machine learning model, and the constructed convolutional neural network includes an input layer, a first convolutional layer, a first pooling layer, a second convolutional layer, a second pooling layer, a first fully connected layer, a second fully connected layer, and an output layer connected in sequence.

[0015] Furthermore, the cost function of the machine learning model is:

[0016] Suppose we have a training dataset X containing m samples:

[0017] X = {(x0, y0), ..., (x i ,y i ),…(x m ,y m )}

[0018] Where, X∈R n×n y i∈{0,1,…,M·M}, where M·M is the total number of categories, M is the number of I / Q spreading codes, and M·M is the number of combination states of the I / Q spreading codes; x i Let y be the i-th sample in the sample set; i For sample x i The corresponding sample label;

[0019] To create a parametric model of a convolutional neural network to estimate the probability distribution of the training dataset X, according to the principle of maximum likelihood estimation, maximizing the likelihood probability of the parametric model is equivalent to minimizing the cross-entropy between the empirical distribution on the training dataset and the probability distribution on the parametric model.

[0020] Furthermore, maximizing the following formula is equivalent to minimizing the cost function θ. Loss :

[0021]

[0022] Wherein, logp(y i |x i ;θ) represents the likelihood probability, and θ represents the network parameters of the convolutional neural network;

[0023]

[0024] Where j = {0, 1, ..., k-1}, j represents the j-th category, and k represents the total number of categories.

[0025] The output of the second fully connected layer of the convolutional neural network predicts the unnormalized log probability z. j ,

[0026] z j =logp(y i =j|x i ;θ)

[0027] Using the Softmax function in the output layer to measure z j Exponentialization and normalization yield:

[0028]

[0029] Among them, 1{y i =j} is an indicator function, meaning that the function returns 1 when the value inside the parentheses is true, and 0 otherwise. This represents a parameter penalty regularization term added to prevent overfitting, where λ represents the penalty coefficient.

[0030] Furthermore, the step of training the convolutional neural network using the stochastic gradient descent algorithm includes:

[0031] Initialize the parameters of the convolutional neural network and select a sample matrix R′ from the training set. modulus The input layer consists of a first pooling layer, a second convolutional layer, and a second pooling layer. Then, it passes through a first fully connected layer and a second fully connected layer before entering the output layer. The output layer calculates the error between the prediction result of the current convolutional neural network model and the actual result based on the annotation information of the training sample matrix.

[0032] Based on the error between the predicted and true values ​​obtained from forward propagation, backpropagation follows the order from the output layer to the input layer, using the stochastic gradient descent algorithm. Each iteration traverses the entire training set. As the cost function decreases with the increase of the number of iterations, it eventually converges to the specified precision, at which point the training process of the convolutional neural network ends, and the parameter model of the convolutional neural network is saved.

[0033] Furthermore, each iteration traversing the entire training set includes:

[0034] The stochastic gradient descent algorithm is used to calculate the gradient of each layer of the network parameters in turn, and the gradient is used to update the parameters of each layer of the network. MBOK signal samples are selected from the training set and the above operation is repeated until the entire training set is traversed, which completes one iteration.

[0035] Furthermore, when training the machine learning model, training samples with different signal-to-noise ratios are generated as inputs for training the convolutional neural network; when completing an iteration, the generalization error of the convolutional neural network obtained in this iteration is estimated using the test error of the validation set samples.

[0036] Due to the adoption of the above technical solution, the present invention has the following advantages: the present invention requires less computation and improves demodulation performance. Attached Figure Description

[0037] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments recorded in the embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings.

[0038] Figure 1 This is a block diagram of the MBOK modulation system model according to an embodiment of the present invention;

[0039] Figure 2 This is a block diagram of the MBOK demodulation system model according to an embodiment of the present invention;

[0040] Figures 3(a), 3(b), 3(c), and 3(d) are schematic diagrams of STFT samples of MBOK signals generated by different spreading codes according to embodiments of the present invention.

[0041] Figure 4 This is a structural diagram of a convolutional neural network model according to an embodiment of the present invention;

[0042] Figure 5 This is a training error curve of the learning model in an embodiment of the present invention;

[0043] Figure 6 This is a schematic diagram illustrating the demodulation performance of Gold codes with two different point lengths according to an embodiment of the present invention.

[0044] Figure 7 This is a schematic diagram illustrating the demodulation performance of two different Walsh codes with different point lengths according to an embodiment of the present invention. Detailed Implementation

[0045] The present invention will be further described in conjunction with the accompanying drawings and embodiments. The described embodiments are only a part of the embodiments of the present invention, and not all of them. All other embodiments obtained by those skilled in the art should fall within the protection scope of the present invention.

[0046] See Figure 1 This invention provides an embodiment of a multi-level biorthogonal keying signal demodulation method based on STFT-CNN, which includes:

[0047] The information source is converted into I-channel information bits and Q-channel information bits. The information bits in the I-channel information bits and Q-channel information bits are mapped to the I-channel spreading code set and the Q-channel spreading code set, respectively. A repetition code is added after each spreading code in the I-channel spreading code set and the Q-channel spreading code set, that is, each spreading code is repeated several times. Then QPSK modulation is performed to generate the MBOK modulated signal.

[0048] The time-frequency features extracted from the MBOK modulated signal are input into the machine learning model, and the corresponding likelihood probability is output. The likelihood probability is used to indicate the category or spreading code state of the current time-frequency feature sample. Based on the one-to-one mapping relationship between the category or spreading code state and the information bits of the source, the source information is recovered.

[0049] Regarding the spreading code status, for example:

[0050] Spreading code set C I ={C I0 C I1 …,C I(M-1)} and C Q ={C Q0 C Q1 …,C Q(M-1) [These are two spreading codes, one for I and one for Q, each with 2*M codes; assuming M = 32, the I-channel spreading code C...] I =[C I0 C I1 …,CI(M-1) The numbers} correspond to 32 binary codes (source information bits) respectively: “00000, 00001, 00010, 00011, 00100, ..., 11110, 11111”; similarly, the Q-path spreading code C Q ={C Q0 C Q1 …,C Q(M-1) The numbers correspond to 32 binary codes (source information bits) respectively: "00000, 00001, 00010, 00011, 00100, ..., 11110, 11111". The I and Q spreading codes are combined (corresponding to 10-bit binary codes), resulting in a total of 2... 10 = 1024 combinations, one of which is called a spreading code state; the spreading code state corresponds one-to-one with the binary code (source information bits).

[0051] In one embodiment, generating an MBOK modulated signal includes:

[0052] The information source is converted from serial to parallel to obtain two information bits, I and Q. Every m = log2M information bits in the I channel are mapped to the spreading code set C. I ={C I0 C I1 …,C I(M-1) In the spread spectrum code}, each m = log₂M information bits in the Q-path are mapped to the spread spectrum code set C. Q ={C Q0 C Q1 …,C Q(M-1) One of the spreading codes in}.

[0053] This embodiment will use Gold codes or Walsh codes as orthogonal spread spectrum codes, respectively. A Gold code is constructed by modulo-2 addition of two preferred pairs of m-sequences. Each preferred pair of m-sequences can generate 2n+1 Gold sequences (where n is the highest order of the primitive polynomial of the m-sequence). Adding a 0 to the end of all Gold codes generated from the same preferred pair forms an even-bit Gold code, also known as an orthogonal (or quasi-orthogonal) Gold code, whose code sequences are pairwise orthogonal (or quasi-orthogonal).

[0054] Let the two selected m-sequence pairs be:

[0055]

[0056] The above m-sequence preferably generates 65 orthogonal Gold codes (code sequence length is 64). From these, M (M=32) code sequences are selected to form the orthogonal spreading code set for the M-ary biorthogonal keying signal I-channel. Then, M code sequences are selected from the remaining code sequences to form the orthogonal spreading code set for the M-ary biorthogonal keying signal Q-channel. The spreading chip length is 64.

[0057] Walsh codes are constructed from the rows or columns of a Hadamard matrix, and new Walsh orthogonal spreading codes are generated by combining M-sequences and Walsh sequences. The orthogonal spreading code sets for the I / Q channels of the Walsh biorthogonal keying signal are constructed in the same way as those for Gold codes, with a spreading chip length of 64.

[0058] Because short-time Fourier transform (STFT) calculations are required during demodulation, repetition coding is added after the spreading code. Repetition coding involves repeating the current spreading code k times (the number of repetitions is determined by channel conditions; more repetitions result in better demodulation performance, but at the cost of spectral efficiency), before QPSK modulation. The MBOK modulation system model is as follows: Figure 1 As shown.

[0059] In one embodiment, a machine learning model is built:

[0060] This embodiment uses the time-frequency features extracted from the MBOK signal as input to a convolutional neural network (CNN) for demodulation. CNNs are a commonly used deep learning model, exhibiting excellent performance in processing abstract high-dimensional features, strong generalization ability, and adeptness at handling complex data. They can automatically extract signal features and perform classification and demodulation without preprocessing. The MBOK demodulation system model is as follows: Figure 2 As shown.

[0061] Based on the one-to-one mapping between spreading codes and the information bits transmitted by the transmitter, a machine learning model can be constructed. The input to this model is the signal received at the receiver after the modulated signal generated by the spreading code passes through the transmission channel. This signal contains the time-frequency characteristics of the corresponding spreading code. After the signal features are processed by the learning model, the corresponding likelihood probability is output. This probability indicates which category the current feature sample belongs to, or in other words, which spreading code state it belongs to.

[0062] Given a dataset containing m feature samples:

[0063] X = {(x0, y0), ..., (x i ,y i ),…(x m ,y m )}

[0064] By learning from the training set, a mapping from the input space to the output space is established:

[0065] f:X→Y

[0066] The input space is the feature sample set space, and the output space is the likelihood probability. When a new sample is input, the model can provide the likelihood probability of which category the input sample belongs to.

[0067] This transforms the demodulation problem of MBOK spread spectrum signals into a multi-class classification problem in machine learning. The following sections will construct a machine learning model for MBOK signal demodulation from four aspects: generating a specific dataset, the machine learning model, the cost function, and the optimization algorithm.

[0068] Optionally, generate specific datasets, including:

[0069] After acquiring the MBOK wireless transmission signal, N segments (N = 2N) are extracted based on the synchronization position of the spreading code. c 4N c The truncation length is the same as the repetition encoding length at the sending end, N c The sampling signal samples (with a sampling rate consistent with the chip rate) are sampled for the length of the spreading code. Then, the sampled signal samples are subjected to short-time Fourier transform (STFT) calculation to obtain the input feature samples for training and inference of the convolutional neural network.

[0070] The Short-Time Fourier Transform (STFT) involves dividing a time-domain signal x(n) of length N into segments using a window function w(k) and then performing a Fourier transform. The window function w(k) slides along the time axis, segmenting the signal x(n) into segments (the window function has a length of L). The window function w(k) is then multiplied by the signal x(n), and the result is used to perform a Discrete Fourier Transform (DFT) to obtain the time-frequency matrix (here, the length of the DFT is chosen to be the same as the length of the window function L).

[0071] The discrete short-time Fourier transform is given by the following equation:

[0072]

[0073] In this embodiment, the sample lengths of the MBOK modulated signal obtained are N = 128 and 256, respectively, which are consistent with the repetition code length at the modulation end. During STFT calculation, the window function w(k) slides on the time axis in an overlapping mode, with overlap lengths Overlap_Len = 63 and 61, respectively. The length of the DFT, the length of the window function, and the spreading code length N are all related. c =64 are the same.

[0074] The complex matrix R is obtained through STFT calculation. STFT(The matrix dimension is 64x64), then for the complex matrix R STFT Take the modulus of each element to obtain R. STFT The modulus matrix R modulus . Matrix R modulus Normalization yields the input sample matrix R′ of the convolutional neural network. modulus .

[0075] The normalization of the input samples is calculated according to the following formula:

[0076]

[0077] Where E(·) represents the mean and Var(·) represents the variance.

[0078] The M(32)-ary biorthogonal keying signal has 5 bits of information in each of its I / Q channels, resulting in 32 states. The I / Q channels together contain a total of 1024 states, and the sample matrix R′ of each of the 1024 states can be obtained separately. modulus These serve as training samples for the convolutional neural network. Inference samples for the convolutional neural network can be obtained in the same way.

[0079] The time-frequency samples generated by the modulation signals produced by different spreading code combinations are shown in Figures 3(a), 3(b), 3(c), and 3(d), respectively. It can be seen from the figures that different sequences have different center frequencies and bandwidths, with the main lobe width concentrated in a certain part of the entire frequency band. Such time-frequency characteristics are very suitable for convolutional neural networks to extract features.

[0080] In the data simulation, the modulation signal is generated by the MBOK signal with M=32, and the spreading code adopts the Gold code or Walsh code mentioned above, with a spreading chip length of 64.

[0081] In path I, each m = log2M = 5 information bits are mapped to the spreading code set C. I ={C I0 C I1 …,C I31 In the spread spectrum code}, each m = log₂M = 5 information bits in the Q-path are mapped to the spread spectrum code set C. Q ={C Q0 C Q1 …,C Q31 The I / Q spreading codes are one of the spreading codes in the}. Therefore, the combination of the I and Q spreading codes produces a total of 1024 possible combinations. When training the neural network, 1024 training samples and sample labels are needed to form the training sample set.

[0082] This embodiment focuses on the demodulation performance of MBOK signals under Gaussian white noise channel conditions, assuming that symbol synchronization of the MBOK spread spectrum signal has been completed at the receiver. At the receiver, down-conversion, low-pass filtering, and decimation are performed to obtain sample signals synchronized with the MBOK symbol signal and with the same symbol rate. Samples of 2x and 4x symbol lengths are acquired at the receiver, respectively, and short-time Fourier transforms are performed to obtain the time-frequency matrix. Short-time Fourier transforms are calculated for the two sample lengths (128 and 256) according to the parameters in Table 1 to obtain training samples, as shown in Table 1.

[0083] Table 1 STFT Transform Parameters at Sampling Points

[0084]

[0085]

[0086] Optional, regarding machine learning models:

[0087] Using a convolutional neural network (CNN) as the machine learning model, the layers of the constructed CNN are configured as follows, and the CNN model structure is as follows. Figure 4 As shown.

[0088] Input layer: 64×64 dimensions;

[0089] Convolutional layer C1: Contains 6 feature layers, each with a dimension of 60×60, and a kernel size of 5×5;

[0090] Pooling layer S2: Contains 6 feature layers, each with a dimension of 30×30, using max pooling for extraction with an extraction ratio of 2;

[0091] Convolutional layer C3: Contains 16 feature layers, each with a dimension of 26×26, and a kernel size of 5×5;

[0092] Pooling layer S4: Contains 16 feature layers, each with a dimension of 13×13, using max pooling for extraction with an extraction ratio of 2;

[0093] Fully connected layer F5: Contains 120 neuron nodes;

[0094] Fully connected layer F6: Contains 84 neuron nodes;

[0095] Output layer: Softmax fully connected.

[0096] Optional, optional, regarding the cost function:

[0097] Given a training dataset containing m samples,

[0098] X = {(x0, y0), ..., (xi ,y i ),…(x m ,y m )}

[0099] Where X∈R n×n y i ∈{0,1,…,M·M}, where M·M is the total number of categories, M is the number of I / Q spreading codes, and M·M is the number of combination states of the I / Q spreading codes. i Let y be the i-th sample in the sample set; i For sample x i The corresponding sample label.

[0100] We need to create a parametric model to estimate the probability distribution of the training dataset X. According to the principle of maximum likelihood estimation, maximizing the likelihood probability of the parametric model is equivalent to minimizing the cross-entropy between the empirical distribution on the training dataset and the probability distribution on the parametric model.

[0101]

[0102] Where θ represents the network parameters of the convolutional neural network;

[0103] Maximizing the above expression is equivalent to minimizing the cost function.

[0104]

[0105] j = {0, 1, ..., k-1}, where j represents the j-th category and k represents the total number of categories.

[0106] The output of the last fully connected layer (F6) of the convolutional neural network predicts the unnormalized log probability z. j ,

[0107] z j =logp(y i =j|x i ;θ)

[0108] Then the Softmax function is applied to z. j Indexing and normalization yield

[0109]

[0110] Where 1{y i =j} is an indicator function; that is, the function returns 1 if the value inside the parentheses is true, and 0 otherwise. This represents a parameter penalty regularization term added to prevent overfitting, where λ represents the penalty coefficient.

[0111] Optional, regarding the optimization algorithm:

[0112] The time-frequency matrix obtained by the STFT transform of the MBOK signal was selected as the training set samples, and the above convolutional neural network was trained using a supervised learning method. Since the number of training set samples is large, the computational cost of calculating a single gradient descent step is significant. Therefore, a stochastic gradient descent algorithm was used to train the convolutional neural network: in each gradient descent calculation of the training algorithm, only one batch (50 sample matrices) was selected from the training set to complete the forward propagation and backward propagation calculations of the convolutional neural network.

[0113] (1) Network parameter initialization:

[0114] First, the network parameters are initialized. The training algorithm for convolutional neural networks is typically iterative (non-convex optimization), therefore, an initial point for starting the iteration needs to be defined. The parameters of each layer of the network are initialized according to standard initialization methods.

[0115]

[0116] Where U(·) represents a uniform distribution, m represents the m inputs of the current layer, and n represents the n outputs of the current layer.

[0117] (2) Forward propagation calculation process:

[0118] Select R′ from the training set modulus The sample matrix forms the input layer, which passes through convolutional and pooling layers, and then through a fully connected layer. Finally, based on the labeling information of the training sample matrix, the error between the prediction result of the current convolutional neural network model and the true result (sample label) is calculated. The forward propagation convolutional layer is calculated according to the following formula, where (*) represents convolution and the ReLU function is used as the activation function.

[0119]

[0120] In the above formula Perform convolution operation on two variables;

[0121] The fully connected layer for forward propagation is calculated according to the following formula:

[0122]

[0123] In the above formula Multiplying two variables.

[0124] (3) Error backpropagation calculation process:

[0125] Then, based on the error between the predicted and true values ​​obtained from forward propagation, the backpropagation algorithm calculates the gradient of each network parameter sequentially using stochastic gradient descent, from the output layer to the input layer, and updates the network parameters of each layer with the gradients. The purpose is to make the predicted results of this set of samples more closely match the true values ​​through the neural network model. This process continues, selecting MBOK signal samples from the training set and repeating the above steps until the entire training set has been traversed, thus completing one iteration.

[0126] When using the stochastic gradient descent algorithm, each iteration requires traversing the entire training set. As the cost function decreases with the number of iterations, it eventually converges to a suitable accuracy, at which point the training process of the convolutional neural network ends, and the parameter model of the convolutional neural network is saved.

[0127] Algorithm 1:

[0128] Input: training set, learning rate η (the learning rate decays linearly until the end of the iteration);

[0129] Output: A multilayer convolutional neural network with connection weights and offsets determined;

[0130] Initialization parameters: in Initialize all parameters in the network within the specified range;

[0131] When the number of iterations performed is less than or equal to the set number of iterations, the following operation is performed:

[0132] Select k samples from the training set, and calculate the output y of the current sample based on the current network parameters. i ;

[0133] Calculate gradient estimation (calculate the gradient of output layer neurons, calculate the gradient of hidden layer neurons);

[0134] Update the model parameters by adjusting them in the direction of the negative gradient of the target:

[0135]

[0136] The iteration ends when the number of iterations performed exceeds the set number of iterations.

[0137] In one embodiment, to prevent overfitting and enhance the generalization ability of the convolutional neural network, training samples with signal-to-noise ratios (SNR) of -5dB, -3dB, 0dB, and +3dB are generated during training and used as inputs to train the neural network. A validation set (independent and identically distributed with the training set) is added during training. At the end of each iteration, the test error of the validation set is used to approximate the generalization error, as shown in Table 2.

[0138] Table 2 Training Samples and Test Samples

[0139]

[0140]

[0141] Training parameters:

[0142] Learning rate: The initial value is 0.05, and the learning rate η = η * 0.99 (the learning rate is updated after each iteration, and the learning rate decays linearly until the end of the iteration);

[0143] Batch sample size: 50;

[0144] Total number of iterations: 50;

[0145] Training: Each time, 50 samples are taken from the training sample set (total number of samples 204,800) to complete one forward propagation calculation and one backpropagation calculation. Then, different samples are taken and the process is repeated 4096 times to complete one iteration. A total of 50 iterations are performed to complete the training.

[0146] Training error and validation accuracy are as follows Figure 5 As shown. From Figure 5 As can be seen, the accuracy of the validation set samples gradually increases as the training error decreases. This indicates that as the number of iterations increases, the network parameters gradually converge to a suitable level of accuracy.

[0147] This invention uses Gold code or Walsh code as orthogonal spread spectrum coding to generate modulation signals, and obtains four network models according to the training process described above, as shown in Table 3.

[0148] Table 3 Four Training Network Models

[0149] Model Spreading code Sampling point length Network type Network Model 1 Gold code 128 CNN Network Model 2 Gold code 256 CNN Network Model 3 Walsh code 128 CNN Network Model 4 Walsh code 256 CNN

[0150] Then, test samples were collected for four different network models to test the performance of the trained network models. The test samples were input into the network, and the likelihood probability of the network output was calculated through forward propagation. Hard decision was then performed based on the likelihood probability to obtain the spreading code state. Finally, the source information was recovered based on the one-to-one mapping between the spreading code and the transmitted information bits. The demodulation performance of the four trained network models was simulated using test samples. The symbol error rate based on the Gold code was as follows: Figure 6 As shown, the symbol error rate based on Walsh codes Figure 7 As shown.

[0151] The simulation results were compared with the performance of the MBOK demodulation method under ideal conditions (which uses a matched filter to achieve demodulation based on maximizing the signal-to-noise ratio). As shown in the figure, the demodulation performance of the Gold code with a sampling point length of 256 is closest to the ideal performance. The demodulation performance of the Gold code and Walsh code with a sampling point length of 128 is poor. This is because longer sampling points allow for more time averaging during STFT calculation through overlap, improving demodulation performance at the cost of sacrificing spectral efficiency.

[0152] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and not to limit it. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that modifications or equivalent substitutions can still be made to the specific implementation of the present invention. Any modifications or equivalent substitutions that do not depart from the spirit and scope of the present invention should be covered within the scope of protection of the claims of the present invention.

Claims

1. A method for demodulating multi-level biorthogonal keying signals based on STFT-CNN, characterized in that, include: The information source is converted into I-channel information bits and Q-channel information bits. The information bits in the I-channel information bits and Q-channel information bits are mapped to the I-channel spreading code set and the Q-channel spreading code set, respectively. A repetition code is added after each spreading code in the I-channel spreading code set and the Q-channel spreading code set, that is, each spreading code is repeated several times. Then QPSK modulation is performed to generate the MBOK modulated signal. The time-frequency features extracted from the MBOK modulated signal are input into the machine learning model, and the corresponding likelihood probability is output. The likelihood probability is used to indicate the category or spreading code state of the current time-frequency feature sample. Based on the one-to-one mapping relationship between the category or spreading code state and the information bits of the source, the source information is recovered. The step of converting the information source into I-channel information bits and Q-channel information bits, and mapping the information bits in the I-channel information bits and Q-channel information bits to the I-channel spreading code set and the Q-channel spreading code set, respectively, includes: The information source is converted from serial to parallel to obtain I-channel information bits and Q-channel information bits. Every m = log2M information bits in the I-channel information bits are mapped to the I-channel spreading code set C. I ={C I0 C I1 …,C I(M-1) A spreading code in}, where every m = log₂M information bits in the Q-channel information bits are mapped to the Q-channel spreading code set C. Q ={C Q0 C Q1 …,C Q(M-1) One of the spreading codes in}; The spreading code uses Gold code or Walsh code as orthogonal spreading code; the Gold code is composed of two m sequence pairs, and the two m sequence pairs generate multiple orthogonal Gold codes. M code sequences are selected from the multiple orthogonal Gold codes to form an orthogonal spreading code set for the I channel of the M-ary biorthogonal keying signal. Then, M code sequences are selected from the remaining code sequences in the multiple orthogonal Gold codes to form an orthogonal spreading code set for the Q channel of the M-ary biorthogonal keying signal. The process of obtaining training samples for the machine learning model includes: After acquiring the MBOK modulated signal, N sampled signals are extracted based on the synchronization position of the spreading code. These sampled signals are then subjected to a short-time Fourier transform to obtain the complex matrix R. STFT For complex matrix R STFT Taking the modulus of each element, we get R. STFT The modulus matrix R modulus ; Matrix R modulus Normalization yields the input sample matrix R of the convolutional neural network. ′ modulus The sample matrix R ′ modulus As training samples for convolutional neural networks; A convolutional neural network is used as a machine learning model. The constructed convolutional neural network includes an input layer, a first convolutional layer, a first pooling layer, a second convolutional layer, a second pooling layer, a first fully connected layer, a second fully connected layer, and an output layer connected in sequence. The cost function of the machine learning model is: Suppose we have a training dataset X containing m samples: X={(x0,y0),…,(x i ,y i ),…(x m ,y m )} Where, X∈R n×n y i ∈{0,1,…,M·M}, where M·M is the total number of categories, M is the number of I / Q spreading codes, and M·M is the number of combination states of the I / Q spreading codes; x i Let y be the i-th sample in the sample set; i For sample x i The corresponding sample label; To create a parametric model of a convolutional neural network to estimate the probability distribution of the training dataset X, according to the principle of maximum likelihood estimation, maximizing the likelihood probability of the parametric model is equivalent to minimizing the cross-entropy between the empirical distribution on the training dataset and the probability distribution on the parametric model. Maximizing the following formula is equivalent to minimizing the cost function θ Loss : Wherein, logp(y i |x i ;θ) represents the likelihood probability, and θ represents the network parameters of the convolutional neural network; Where j = {0, 1, ..., k-1}, j represents the j-th category, and k represents the total number of categories; The output of the second fully connected layer of the convolutional neural network predicts the unnormalized log probability z. j , z j =logp(y i =j|x i ;θ) Using the Softmax function in the output layer to measure z j Exponentialization and normalization yield: Among them, 1{y i =j} is an indicator function, meaning that the function returns 1 when the value inside the parentheses is true, and 0 otherwise. This represents a parameter penalty regularization term added to prevent overfitting, where λ represents the penalty coefficient; The optimization algorithm for the machine learning model includes: Initialize the parameters of the convolutional neural network and select the sample matrix R from the training set. ′ modulus The input layer consists of a first pooling layer, a second convolutional layer, and a second pooling layer. Then, it passes through a first fully connected layer and a second fully connected layer before entering the output layer. The output layer calculates the error between the prediction result of the current convolutional neural network model and the actual result based on the annotation information of the training sample matrix. Based on the error between the predicted and true values ​​obtained from forward propagation, backpropagation follows the order from the output layer to the input layer, using the stochastic gradient descent algorithm. Each iteration traverses the entire training set. As the cost function decreases with the increase of the number of iterations, it eventually converges to the specified precision, at which point the training process of the convolutional neural network ends, and the parameter model of the convolutional neural network is saved.

2. The multi-level biorthogonal keying signal demodulation method based on STFT-CNN according to claim 1, characterized in that, Each iteration traversing the entire training set includes: The stochastic gradient descent algorithm is used to calculate the gradient of each layer of the network parameters in turn, and the gradient is used to update the parameters of each layer of the network. MBOK signal samples are selected from the training set until the entire training set is traversed, which completes one iteration.

3. The multi-level biorthogonal keying signal demodulation method based on STFT-CNN according to claim 1 or 2, characterized in that, When training a machine learning model, training samples with different signal-to-noise ratios are generated as inputs to train the convolutional neural network. When completing an iteration, the generalization error of the convolutional neural network obtained in this iteration is estimated using the test error of the validation set samples.

Citation Information

Patent Citations

  • Method for generating and receiving multi-scale dual-quadrature straight-extend frequency-hopping mixing signal

    CN101414850A

  • Multi-system biorthogonal keying signal detection method and system

    CN116708110A