Pseudo code period estimation method for direct sequence spread spectrum signal, storage medium and equipment

By constructing a piecewise window function and calculating the autocorrelation moment, the problem of the pseudocode period estimation of direct sequence spread spectrum signals being affected by the signal-to-noise ratio is solved, and high-accuracy pseudocode period estimation under low signal-to-noise ratio is achieved.

CN119727775BActive Publication Date: 2025-11-18HARBIN ENG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In existing technologies, the pseudocode period estimation method for direct sequence spread spectrum signals is greatly affected by the signal-to-noise ratio, resulting in low estimation accuracy.

Method used

By constructing a piecewise window function and performing sliding segmentation, the autocorrelation and normalized average autocorrelation second moment of the code difference result are calculated, and the pseudocode period estimation result is extracted.

Benefits of technology

The accuracy of pseudocode period estimation is improved under low signal-to-noise ratio conditions, the impact of information code randomness and initial phase randomness of received signal is reduced, and the estimation performance is significantly improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119727775B_ABST
    Figure CN119727775B_ABST
Patent Text Reader

Abstract

This invention relates to a method, storage medium, and device for estimating the pseudocode period of direct sequence spread spectrum signals. It belongs to the field of parameter estimation for direct sequence spread spectrum signals, and specifically relates to a method, storage medium, and device for estimating the pseudocode period. The purpose of this invention is to address the problem that existing methods for estimating the pseudocode period of direct sequence spread spectrum signals suffer from low accuracy due to the significant influence of the signal-to-noise ratio on the period spectral peak. The process is as follows: Obtain the direct sequence spread spectrum signal for each group; obtain the code difference values ​​within all segmented windows under different sliding numbers; accumulate the obtained code difference values ​​within all segmented windows under different sliding numbers to obtain the accumulated code difference value result S within all segmented windows. I (i); Calculate S I (i) Autocorrelation; normalize the autocorrelation to obtain the normalized autocorrelation; calculate the normalized average autocorrelation second moment ρ(k); extract the peak value in ρ(k), and the interval between adjacent peak values ​​is the pseudocode period estimation result.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of parameter estimation for direct sequence spread spectrum signals, and in particular relates to methods, storage media, and devices for estimating the pseudocode period of direct sequence spread spectrum signals. Background Technology

[0002] In recent years, direct sequence spread spectrum (DSSS) signals have been widely used in radar, underwater communications, and other fields due to their advantages such as low signal-to-noise ratio (SNR), low interception rate, strong confidentiality, and strong anti-jamming capability. Meanwhile, reconnaissance techniques targeting DSS signals have gradually attracted attention, with the problem of estimating the spreading code period under low SNR conditions being a research hotspot for scholars worldwide.

[0003] Common methods for estimating the period of spreading codes include those based on autocorrelation functions, fourth-order cumulants, and quadratic power spectra. Burel G et al. proposed a correlation fluctuation method to estimate the PN code period, utilizing the different characteristics of the autocorrelation function of DSSS signals and Gaussian white noise. This method calculates and accumulates the squares of the autocorrelation functions of continuously segmented signals, obtaining correlation peaks at integer multiples of the pseudo-code period, with the peak interval representing the pseudo-code period. Shen Zhenhui et al. proposed a pseudo-code period estimation algorithm based on two-dimensional slicing of fourth-order cumulants, leveraging the ability of higher-order cumulants to suppress Gaussian white noise. This method effectively reduces the computational complexity of higher-order cumulants. Zhang Tianqi et al. proposed a quadratic power spectrum method based on the characteristics of direct-sequence spread spectrum signals. First, the power spectrum of the DSSS signal is obtained, and then a discrete Fourier transform is performed to reveal the periodicity and autocorrelation of the spreading code; that is, periodic spectral peaks appear in the quadratic power spectrum of the DSSS signal, with the peak interval reflecting the size of the pseudo-code period. This algorithm features low signal-to-noise ratio, stable performance, and fast estimation speed; however, the periodic spectral peaks are significantly affected by the randomness of the information code. Summary of the Invention

[0004] The purpose of this invention is to solve the problem that the periodic spectral peak of the pseudocode period estimation for direct sequence spread spectrum signals is greatly affected by the signal-to-noise ratio, resulting in low accuracy of pseudocode period estimation. Therefore, this invention proposes a pseudocode period estimation method, storage medium, and device for direct sequence spread spectrum signals.

[0005] The specific process of the pseudocode period estimation method for direct sequence spread spectrum signals is as follows:

[0006] Step 1: Divide the received direct sequence spread spectrum signal into M groups to obtain the direct sequence spread spectrum signal for each group;

[0007] Step 2:

[0008] With N c T sConstruct a piecewise window function for the window length, where the sliding distance of the piecewise window function is one sampling interval T. s When the number of slides is Δn, the piecewise window function is expressed as w(Δn, nT). s );

[0009] Where 0 ≤ Δn < N c N c T represents the number of sampling points per chip; n is the sampling time sequence number, and T represents the sampling time sequence number. s For the sampling interval, nT s Sampling time;

[0010] Each piecewise window in the piecewise window function is divided into two equal parts L. a With L b Then L in each segmented window a Partial corresponding window w La L in each segmented window b Partial corresponding window w Lb ;

[0011] window w La The baseband signal obtained by segmentation is x La , by window w Lb The baseband signal obtained by segmentation is x Lb ;

[0012] For the signal x corresponding to all piecewise windows in the piecewise window function La Summing yields S La For the signal x corresponding to all piecewise windows in the piecewise window function Lb Summing yields S Lb ;

[0013] For S La and S Lb The difference is calculated to obtain the code difference value ΔS(Δn,i) within all segmented windows under different sliding times Δn, where i is the code element number;

[0014] Step 3: Accumulate the code difference results ΔS(Δn,i) within all segmented windows for different sliding times Δn obtained in Step 2 to obtain the accumulated code difference result S within all segmented windows. I (i); Calculate S I (i) autocorrelation R I (k); for R I (k) is normalized to obtain the normalized autocorrelation R(k), where k is the number of delay points;

[0015] Step 4: Based on the normalized autocorrelation R(k), calculate the normalized average autocorrelation second moment ρ(k); extract the peak value in ρ(k), and the interval between adjacent peak values ​​is the pseudocode period estimation result.

[0016] Preferably, in step 1, the received direct sequence spread spectrum signal is divided into M groups to obtain the direct sequence spread spectrum signal for each group; the specific process is as follows:

[0017] The received direct sequence spread spectrum signals are divided into M groups, and the baseband signal of each group is represented as:

[0018]

[0019] Where n is the sampling time number, Ts is the sampling interval, and x I (nT s ) represents the baseband signal of a direct sequence spread spectrum signal; d i For the i-th symbol, d i ∈{-1,1};g(nT s )=u(nT s )-u(nT s -N c T s ), N c T s Where u(nT) is the chip width. s ) is a step function, g(nT) s ) is the width N c T s The rectangular pulse function; i is the symbol index, N(nT) s ) represents Gaussian white noise; nT s N represents the sampling time; c This represents the number of sampling points per chip.

[0020] Preferably, in step 2, N c T s Construct a piecewise window function for the window length, where the sliding distance of the piecewise window function is one sampling interval T. s When the number of slides is Δn, the piecewise window function is expressed as w(Δn, nT). s );

[0021] Where 0 ≤ Δn < N c N c T represents the number of sampling points per chip; n is the sampling time sequence number, and T represents the sampling time sequence number. s For the sampling interval, nT s Sampling time;

[0022] Each piecewise window in the piecewise window function is divided into two equal parts L. a With L b Then L in each segmented window a Partial corresponding window w La L in each segmented window b Partial corresponding window wLb ;

[0023] window w La The baseband signal obtained by segmentation is x La , by window w Lb The baseband signal obtained by segmentation is x Lb ;

[0024] For the signal x corresponding to all piecewise windows in the piecewise window function La Summing yields S La For the signal x corresponding to all piecewise windows in the piecewise window function Lb Summing yields S Lb ;

[0025] For S La and S Lb The difference is calculated to obtain the code difference value ΔS(Δn,i) within all segmented windows under different sliding times Δn, where i is the code element number;

[0026] The specific process is as follows:

[0027] Step 21: With N c T s Construct a piecewise window function for the window length, where the sliding distance of the piecewise window function is one sampling interval T. s When the number of sliding steps is Δn, 0 ≤ Δn < N c The piecewise window function is expressed as follows:

[0028]

[0029] Among them, g(nT) s )=u(nT s )-u(nT s -N c T s ) is a width of N c T s The rectangular pulse function; w(nT) s ) is a piecewise window function;

[0030] Step 22: Divide each piecewise window in the piecewise window function into two equal parts L. a With L b Then L in each segmented window a Partial corresponding window w La L in each segmented window b Partial corresponding window w Lb The expression is:

[0031]

[0032] Where Δn is the sliding distance;

[0033] Step 23: The window is closed. La The baseband signal obtained by segmentation is x La , by window w Lb The baseband signal obtained by segmentation is x Lb For the signal x corresponding to all piecewise windows in the piecewise window function La Summing yields S La For the signal x corresponding to all piecewise windows in the piecewise window function Lb Summing yields S Lb , for S La and S Lb By subtracting the values, we obtain the code difference values ​​ΔS(Δn,i) within all segmented windows for different sliding counts.

[0034] Preferably, in step 22, each piecewise window in the piecewise window function is divided into two equal parts L, front and back. a With L b Then L in each segmented window a Partial corresponding window w La L in each segmented window b Partial corresponding window w Lb The expression is:

[0035]

[0036] Where Δn is the sliding distance.

[0037] Preferably, in step 23, the window is w La The baseband signal obtained by segmentation is x La , by window w Lb The baseband signal obtained by segmentation is x Lb For the signal x corresponding to all piecewise windows in the piecewise window function La Summing yields S La For the signal x corresponding to all piecewise windows in the piecewise window function Lb Summing yields S Lb , for S La and S Lb The difference is calculated to obtain the code difference value ΔS(Δn,i) within all segmented windows under different sliding times; the specific process is as follows:

[0038] 1) When hour,

[0039] window w La The baseband signal obtained by segmentation is x La Represented as:

[0040]

[0041] Among them, g a (nTs ) is a width of N c T s A rectangular pulse function of 2 / 2

[0042] g a (nT s )=u(nT s )-u(nT s -N c T s / 2);

[0043] window w Lb The baseband signal obtained by segmentation is x Lb Represented as:

[0044]

[0045] Among them, g b (nT s ) is the width of (N) c / 2-Δn)T s The rectangular impulse function, g b (nT s )=u(nT s )-u(nT s -(N c / 2-Δn)T s );

[0046] g c (nT s ) is a width of ΔnT s rectangular impulse function; g c (nT s )=u(nT s )-u(nT s -ΔnT s );

[0047] d i+1 It is the (i+1)th code element;

[0048] For signal x La Summing yields S La For signal x Lb Summing yields S Lb ;

[0049] They are represented as follows:

[0050]

[0051]

[0052] Where N1(Δn,i) is the sum of the first half of the noise within the segmented window; N2(Δn,i) is the sum of the second half of the noise within the segmented window;

[0053] For S La and S Lb By subtracting the values, we obtain the code difference values ​​within all segmented windows for each sliding number Δn. The expression is:

[0054] ΔS(Δn,i)=S La (Δn,i)-S Lb (Δn,i)=Δn(di-di +1 )+N'(Δn,i)

[0055] Where N'(Δn,i) is the code difference function result corresponding to the noise; ΔS(Δn,i) is the code difference result within all segmented windows for the number of sliding steps Δn.

[0056] 2) When hour,

[0057] window w La The baseband signal obtained by segmentation is x La Represented as:

[0058]

[0059] window w Lb The baseband signal obtained by segmentation is x Lb Represented as:

[0060]

[0061] in,

[0062] g a (nT s ) is a width of N c T s / 2 rectangular impulse function, g a (nT s )=u(nT s )-u(nT s -N c T s / 2); g d (nT s ) is the width of (N) c -Δn)T s The rectangular impulse function, g d (nT s )=u(nT s )-u(nT s -ΔnT s);g e (nT s ) is a width of (Δn-N) c / 2)T s rectangular pulse function,

[0063] g e (nT s )=u(nT s )-u(nT s -(Δn-N c / 2)T s );

[0064] For signal x La Summing yields S La For signal x Lb Summing yields S Lb ;

[0065] They are represented as follows:

[0066]

[0067] Where N1(Δn,i) is the sum of the first half of the noise within the segmented window;

[0068]

[0069] Where N2(Δn,i) is the sum of the latter half of the noise within the segmented window;

[0070] For S La and S Lb By subtracting the values, we obtain the code difference values ​​within all segmented windows for each sliding number Δn. The expression is:

[0071]

[0072] Where ΔS(Δn,i) represents the code difference value within all segmented windows for the number of sliding operations Δn.

[0073] Preferably, in step 3, the code difference results ΔS(Δn,i) within all segmented windows under different sliding times Δn obtained in step 2 are accumulated to obtain the accumulated code difference result S within all segmented windows. I (i); Calculate S I (i) autocorrelation R I (k); for R I (k) is normalized to obtain the normalized autocorrelation R(k), where k is the number of delay points;

[0074] The specific process is as follows:

[0075] Step 31: Accumulate the code difference results ΔS(Δn,i) within all segmented windows for different sliding times Δn obtained in Step 2 to obtain the accumulated code difference result S within all segmented windows. I (i); means as follows:

[0076]

[0077] Among them, S I (i) represents the accumulated code difference values ​​within all segmented windows, N s (i) is the cumulative result of the noise code difference results within all segmented windows for the number of sliding times Δn;

[0078] Step 32: Calculate the autocorrelation R of the accumulated code difference result. I (k); represents the following:

[0079]

[0080] Among them, R I (k) represents the autocorrelation result of the accumulated code difference, S I (i) represents the accumulated code difference result, k is the delay point, and di + k is the (i+k)th code element, di +1+ k is the (i+1+k)th code element, R N (k) represents the autocorrelation result of the accumulated noise code difference, R d (k) represents the autocorrelation result of di, R d (k+1) represents di and di +1 The cross-correlation results, R d (k-1) is di +1 The cross-correlation results with di;

[0081] The autocorrelation result of di, R d (k) is represented as:

[0082]

[0083] Where L is the code period of the nth-order spreading sequence, L = 2 n -1; j is any integer;

[0084] Step 33: Calculate the autocorrelation R of the accumulated code difference function. I Normalize (k) to obtain the autocorrelation R(k) of the accumulated code difference function after normalization.

[0085] Preferably, in step 33, the autocorrelation R of the accumulated code difference function is... I(k) is normalized to obtain the autocorrelation R(k) of the accumulated code difference function after normalization; the expression is:

[0086]

[0087] R(k)=[2R d (k)-R d (k+1)-R d [(k-1)]+R N (k)

[0088] =R N (k)+0

[0089] k≠jL,k≠jL-1,k≠jL+1

[0090] Where R(k) is the autocorrelation of the normalized, accumulated code difference function.

[0091] Preferably, in step 4, the normalized average autocorrelation second moment ρ(k) is calculated based on the normalized autocorrelation R(k); the peak value in ρ(k) is extracted, and the interval between adjacent peak values ​​is the pseudocode period estimation result; the specific process is as follows:

[0092] Step 41: Based on the normalized autocorrelation, calculate the normalized average autocorrelation second moment ρ(k); expressed as follows:

[0093]

[0094] Where ρ(k) is the normalized average autocorrelation second moment, R m (k) represents the normalized autocorrelation of the m-th group; M represents the number of accumulations in the set averaging method;

[0095] Step 42: Extract the peak value in ρ(k), and the interval between adjacent peak values ​​is the pseudocode period estimation result.

[0096] A storage medium storing at least one instruction, which is loaded and executed by a processor to implement a pseudocode period estimation method for a direct sequence spread spectrum signal.

[0097] A pseudocode period estimation device for direct sequence spread spectrum signals, the device comprising a processor and a memory, the memory storing at least one instruction, the at least one instruction being loaded by the processor and executed as a pseudocode period estimation method for direct sequence spread spectrum signals.

[0098] The beneficial effects of this invention are as follows:

[0099] To address the problem that the periodic spectral peak of pseudocode period estimation for direct sequence spread spectrum signals is greatly affected by the signal-to-noise ratio (SNR), resulting in low accuracy of pseudocode period estimation, this invention constructs a relevant code difference function and obtains a gain through accumulation, thereby reducing the influence of SNR on the periodic spectral peak and improving the accuracy and performance of pseudocode period estimation under low SNR conditions.

[0100] Compared to other existing algorithms for estimating the pseudocode period of direct sequence spread spectrum signals, the method described in this invention has better estimation performance at low signal-to-noise ratios and can significantly reduce the impact of information code randomness and the initial phase randomness of the received signal, resulting in robust performance. Attached Figure Description

[0101] Figure 1 This is a flowchart of a method for estimating the pseudocode period of a direct sequence spread spectrum signal.

[0102] Figure 2 is the code difference function for different sliding window distances, where i is the symbol index;

[0103] Figure 3 The autocorrelation result of the cumulative code difference function is given, where k is the number of delay points;

[0104] Figure 4 This is the result of the average autocorrelation second moment of the accumulated code difference function;

[0105] Figure 5 This paper compares the estimation performance of the proposed method with that of the cumulative quadratic spectrum method. SNR represents the signal-to-noise ratio, and P represents the signal-to-noise ratio. e Let be the probability. Detailed Implementation

[0106] Specific Implementation Method 1: The specific process of the pseudocode period estimation method for direct sequence spread spectrum signals in this implementation method is as follows:

[0107] Direct sequence spread spectrum (DSS) signals are a type of communication signal used in fields such as radar and underwater acoustics. The parameters of the DSS signals discussed in this invention fall within the usable parameter range for underwater acoustic communication.

[0108] Step 1: Divide the received direct sequence spread spectrum signal into M groups to obtain the direct sequence spread spectrum signal for each group;

[0109] Step 2:

[0110] With N c T s Construct a piecewise window function for the window length, where the sliding distance of the piecewise window function is one sampling interval T. s When the number of slides is Δn, the piecewise window function is expressed as w(Δn, nT). s );

[0111] Where 0 ≤ Δn < N c N c T represents the number of sampling points per chip; n is the sampling time sequence number, and T represents the sampling time sequence number. s For the sampling interval, nT s Sampling time;

[0112] Each piecewise window in the piecewise window function (there are 1000 piecewise window functions, and this is one piecewise window) is divided into two equal parts L. a With L b Then L in each segmented window a Partial corresponding window w La L in each segmented window b Partial corresponding window w Lb ;

[0113] window w La The baseband signal obtained by segmentation is x La , by window w Lb The baseband signal obtained by segmentation is x Lb ;

[0114] For the signal x corresponding to all piecewise windows in the piecewise window function La Summing yields S La For the signal x corresponding to all piecewise windows in the piecewise window function Lb Summing yields S Lb ;

[0115] For S La and S Lb The difference is calculated to obtain the code difference value ΔS(Δn,i) within all segmented windows under different sliding times Δn (Δn ΔS values ​​with respect to i, Δn ΔS values ​​of length 1000), where i is the code element number;

[0116] Note: The code difference results ΔS(Δn,i) within all segmented windows under the same number of sliding steps Δn form a sequence, and several sets of sequences correspond to different numbers of sliding steps Δn;

[0117] Step 3: Accumulate the strongly correlated code difference results ΔS(Δn,i) within all segmented windows under different sliding times Δn obtained in Step 2 to obtain the accumulated code difference result S within all segmented windows. I (i);

[0118] Calculate S I (i) autocorrelation R I (k); for R I (k) is normalized to obtain the normalized autocorrelation R(k), where k is the number of delay points;

[0119] Explanation: Accumulating the strongly correlated code difference results ΔS(Δn,i) within all segmented windows under different sliding times Δn means: accumulating the same i in different sequences to obtain a single sequence S. I (i);

[0120] Step 4: Based on the normalized autocorrelation R(k), calculate the normalized average autocorrelation second moment ρ(k); extract the peak value in ρ(k), and the interval between adjacent peak values ​​is the pseudocode period estimation result.

[0121] Specific Implementation Method Two: This implementation method differs from Specific Implementation Method One in that, in step 1, the received direct sequence spread spectrum signal is divided into M groups, resulting in a direct sequence spread spectrum signal for each group; the specific process is as follows:

[0122] The received direct sequence spread spectrum signals are divided into M groups, and the baseband signal of each group is represented as:

[0123]

[0124] Where n is the sampling time number, Ts is the sampling interval, and x I (nT s ) represents the baseband signal of a direct sequence spread spectrum signal; d i For the i-th symbol, d i ∈{-1,1};g(nT s )=u(nT s )-u(nT s -N c T s ), N c T s Where u(nT) is the chip width. s ) is a step function, g(nT) s ) is the width N c T s The rectangular pulse function; i is the symbol index, N(nT) s ) represents Gaussian white noise; nT s N represents the sampling time; c This represents the number of sampling points per chip.

[0125] The other steps and parameters are the same as in Specific Implementation Method 1.

[0126] Specific Implementation Method Three: This implementation method differs from Specific Implementation Method One or Two in that, in step 2, N... c T s Construct a piecewise window function for the window length, where the sliding distance of the piecewise window function is one sampling interval T. s When the number of slides is Δn, the piecewise window function is expressed as w(Δn, nT).s );

[0127] Where 0 ≤ Δn < N c N c T represents the number of sampling points per chip; n is the sampling time sequence number, and T represents the sampling time sequence number. s For the sampling interval, nT s Sampling time;

[0128] Each piecewise window in the piecewise window function (there are 1000 piecewise window functions, and this is one piecewise window) is divided into two equal parts L. a With L b Then L in each segmented window a Partial corresponding window w La L in each segmented window b Partial corresponding window w Lb ;

[0129] window w La The baseband signal obtained by segmentation is x La , by window w Lb The baseband signal obtained by segmentation is x Lb ;

[0130] For the signal x corresponding to all piecewise windows in the piecewise window function La Summing yields S La For the signal x corresponding to all piecewise windows in the piecewise window function Lb Summing yields S Lb ;

[0131] For S La and S Lb The difference is calculated to obtain the code difference value ΔS(Δn,i) within all segmented windows under different sliding times Δn (Δn ΔS values ​​with respect to i, Δn ΔS values ​​of length 1000), where i is the code element number;

[0132] The code difference results ΔS(Δn,i) within all segmented windows under the same number of sliding steps Δn form a sequence, and several sequences correspond to different numbers of sliding steps Δn;

[0133] The specific process is as follows:

[0134] Step 21: With N c T s Construct a piecewise window function for the window length, where the sliding distance of the piecewise window function is one sampling interval T. s When the number of sliding steps is Δn, 0 ≤ Δn < N c The piecewise window function is expressed as follows:

[0135]

[0136] Among them, g(nT)s )=u(nT s )-u(nT s -N c T s ) is a width of N c T s The rectangular pulse function; w(nT) s ) is a piecewise window function;

[0137] Step 22: Divide each piecewise window (there are 1000 piecewise window functions, here is one piecewise window) in the piecewise window function into two equal parts L. a With L b Then L in each segmented window a Partial corresponding window w La L in each segmented window b Partial corresponding window w Lb The expression is:

[0138]

[0139] Where Δn is the sliding distance;

[0140] Step 23: The window is closed. La The baseband signal obtained by segmentation is x La , by window w Lb The baseband signal obtained by segmentation is x Lb For the signal x corresponding to all piecewise windows in the piecewise window function La Summing yields S La For the signal x corresponding to all piecewise windows in the piecewise window function Lb Summing yields S Lb , for S La and S Lb By subtracting the values, we obtain the code difference values ​​ΔS(Δn,i) within all segmented windows for different sliding counts.

[0141] Other steps and parameters are the same as in specific implementation method one or two.

[0142] Specific Implementation Method Four: This implementation method differs from Specific Implementation Methods One to Three in that, in step 22, each segmented window in the segmented window function (there are 1000 segmented window functions, and here it is one segmented window) is equally divided into two parts L. a With L b Then L in each segmented window a Partial corresponding window w La L in each segmented window b Partial corresponding window w Lb The expression is:

[0143]

[0144] Where Δn is the sliding distance.

[0145] The other steps and parameters are the same as those in one of the specific implementation methods one to three.

[0146] Specific Implementation Method Five: This implementation method differs from Specific Implementation Methods One to Four in that, in step 23, the window... La The baseband signal obtained by segmentation is x La , by window w Lb The baseband signal obtained by segmentation is x Lb For the signal x corresponding to all piecewise windows in the piecewise window function La Summing yields S La For the signal x corresponding to all piecewise windows in the piecewise window function Lb Summing yields S Lb , for S La and S Lb By subtracting, we obtain the code difference values ​​ΔS(Δn,i) within all segmented windows under different sliding times;

[0147] The specific process is as follows:

[0148] 1) When hour,

[0149] window w La The baseband signal obtained by segmentation is x La Represented as:

[0150]

[0151] Among them, g a (nT s ) is a width of N c T s A rectangular pulse function of 2 / 2

[0152] g a (nT s )=u(nT s )-u(nT s -N c T s / 2);

[0153] window w Lb The baseband signal obtained by segmentation is x Lb Represented as:

[0154]

[0155] Among them, g b (nT s ) is the width of (N) c / 2-Δn)Ts The rectangular impulse function, g b (nT s )=u(nT s )-u(nT s -(N c / 2-Δn)T s );

[0156] gc(nTs) is a width of ΔnT s The rectangular pulse function; gc(nTs) = u(nTs) - u(nTs - ΔnTs);

[0157] d i+1 It is the (i+1)th code element;

[0158] For signal x La Summing yields S La For signal x Lb Summing yields S Lb ;

[0159] They are represented as follows:

[0160]

[0161]

[0162] Where N1(Δn,i) is the sum of the first half of the noise within the segmented window; N2(Δn,i) is the sum of the second half of the noise within the segmented window;

[0163] For S La and S Lb By subtracting the values, we obtain the code difference values ​​within all segmented windows for each sliding number Δn. The expression is:

[0164]

[0165] Where N'(Δn,i) is the code difference function result corresponding to the noise; ΔS(Δn,i) is the code difference result within all segmented windows for the number of sliding steps Δn.

[0166] 2) When hour,

[0167] window w La The baseband signal obtained by segmentation is x La Represented as:

[0168]

[0169] window w Lb The baseband signal obtained by segmentation is x LbRepresented as:

[0170]

[0171] in,

[0172] g a (nT s ) is a width of N c T s / 2 rectangular impulse function, g a (nT s )=u(nT s )-u(nT s -N c T s / 2); g d (nT s ) is the width of (N) c -Δn)T s The rectangular impulse function, g d (nT s )=u(nT s )-u(nT s -ΔnT s );g e (nT s ) is a width of (Δn-N) c / 2)T s rectangular pulse function,

[0173] g e (nT s )=u(nT s )-u(nT s -(Δn-N c / 2)T s );

[0174] For signal x La Summing yields S La For signal x Lb Summing yields S Lb ;

[0175] They are represented as follows:

[0176]

[0177] Where N1(Δn,i) is the sum of the first half of the noise within the segmented window;

[0178]

[0179] Where N2(Δn,i) is the sum of the latter half of the noise within the segmented window;

[0180] For S Laand S Lb By subtracting the values, we obtain the code difference values ​​within all segmented windows for each sliding number Δn. The expression is:

[0181]

[0182] Where ΔS(Δn,i) represents the code difference value within all segmented windows for the number of sliding operations Δn.

[0183] Assuming a sampling interval of 0.1ms, the chip width NcTs is 10, and the sliding distance is 1-10;

[0184] For example, the signal I receive is 10 seconds long. The chip width is 1 ms. First, divide it into M = 10 groups, each group lasting 1 second. Then, segment this 1-second signal into segments with a segment window length of 1 ms. There should be 1s / 1ms = 1000 segment windows, and these 1000 segment windows slide together one after another for a distance Δn.

[0185] The other steps and parameters are the same as those in one of the specific implementation methods one to four.

[0186] Specific Implementation Method Six: This implementation method differs from Specific Implementation Methods One to Five in that, in step 3, the strongly correlated code difference results ΔS(Δn,i) within all segmented windows under different sliding numbers Δn obtained in step 2 are accumulated to obtain the accumulated code difference result S within all segmented windows. I (i); Calculate S I (i) autocorrelation R I (k); for R I (k) is normalized to obtain the normalized autocorrelation R(k), where k is the number of delay points;

[0187] The specific process is as follows:

[0188] Step 31: Accumulate the strongly correlated code difference results ΔS(Δn,i) within all segmented windows under different sliding times Δn obtained in Step 2 to obtain the accumulated code difference result S within all segmented windows. I (i); means as follows:

[0189]

[0190] Among them, S I (i) represents the accumulated code difference values ​​within all segmented windows, N s (i) is the cumulative result of the noise code difference results within all segmented windows for the number of sliding times Δn;

[0191] Step 32: Calculate the autocorrelation R of the accumulated code difference result. I(k); represents the following:

[0192]

[0193] Among them, R I (k) represents the autocorrelation result of the accumulated code difference, S I (i) represents the accumulated code difference result, k is the delay point, and di + k is the (i+k)th code element, di +1+ k is the (i+1+k)th code element, R N (k) represents the autocorrelation result of the accumulated noise code difference, R d (k) represents the autocorrelation result of di, R d (k+1) represents di and di +1 The cross-correlation results, R d (k-1) is di +1 The cross-correlation results with di;

[0194] The autocorrelation result of di, R d (k) is represented as:

[0195]

[0196] Where L is the code period of the nth-order spreading sequence, L = 2 n -1; j is any integer;

[0197] Step 33: Calculate the autocorrelation R of the accumulated code difference function. I Normalize (k) to obtain the autocorrelation R(k) of the accumulated code difference function after normalization.

[0198] The other steps and parameters are the same as those in one of the specific implementation methods one to five.

[0199] Specific Implementation Method Seven: This implementation method differs from Specific Implementation Methods One through Six in that, in step 33, the autocorrelation R of the accumulated code difference function is... I (k) is normalized to obtain the autocorrelation R(k) of the accumulated code difference function after normalization; the expression is:

[0200]

[0201] R(k)=[2R d (k)-R d (k+1)-R d [(k-1)]+R N (k)

[0202] =R N (k)+0

[0203] k≠jL,k≠jL-1,k≠jL+1

[0204] Where R(k) is the autocorrelation of the normalized, accumulated code difference function;

[0205] As can be seen from the above equation, R(k) has correlation peaks with the spreading code period as the interval.

[0206] Because the autocorrelation of noise is weak, therefore R N There is no peak value in (k). The peak value is 2+2 / L at j times L, which is an integer. Therefore, there are peak values ​​at intervals of L.

[0207] The other steps and parameters are the same as those in one of the specific implementation methods one to six.

[0208] Specific Implementation Method Eight: This implementation method differs from Specific Implementation Methods One to Seven in that, in step 4, the normalized average autocorrelation second moment ρ(k) is calculated based on the normalized autocorrelation R(k); the peak value in ρ(k) is extracted, and the interval between adjacent peak values ​​is the pseudocode period estimation result; the specific process is as follows:

[0209] Step 41: Based on the normalized autocorrelation, calculate the normalized average autocorrelation second moment ρ(k); expressed as follows:

[0210]

[0211] Where ρ(k) is the normalized average autocorrelation second moment, R m (k) represents the normalized autocorrelation of the m-th group; M represents the number of accumulations in the set averaging method;

[0212] Step 42: Extract the peak value in ρ(k), and the interval between adjacent peak values ​​is the pseudocode period estimation result.

[0213] There are correlation peaks in ρ(k) with the pseudocode period as the interval. By extracting the peak intervals, the pseudocode period can be estimated. After performing group averaging, it is assumed that there are no missing peaks.

[0214] The other steps and parameters are the same as those in one of the specific implementation methods one to five.

[0215] Specific Implementation Method Nine: This implementation method provides a storage medium, characterized in that the storage medium stores at least one instruction, which is loaded and executed by a processor to implement a pseudocode period estimation method for direct sequence spread spectrum signals.

[0216] Specific Implementation Method 10: This implementation method provides a pseudocode period estimation device for direct sequence spread spectrum signals, characterized in that the device includes a processor and a memory, the memory stores at least one instruction, and the at least one instruction is loaded and executed by the processor to implement a pseudocode period estimation method for direct sequence spread spectrum signals.

[0217] Example:

[0218] The following is a detailed description of a specific example, following the steps and technical solutions outlined above, and in conjunction with the accompanying drawings:

[0219] In this implementation example: the DSSS / BPSK signal has a carrier frequency of 10kHz, a sampling rate of fs = 80kHz, and background noise is Gaussian white noise. The chip width is 0.5ms, and the spreading code is a 5th-order m-sequence, i.e., the pseudo-code period is 31.

[0220] (1) When the number of information codes is 5, the signal-to-noise ratio is 10dB, and the sliding window distances are 10, 20, 30, and 35 sampling points, the corresponding code difference function is as follows: Figure 2 As shown.

[0221] Depend on Figure 2 It can be seen that the code difference function with different sliding window distances has a peak at the moment of code change.

[0222] (2) When the number of information codes is 5 and the signal-to-noise ratio is -10dB, the autocorrelation result of the accumulator code difference function is as follows: Figure 3 As shown.

[0223] Depend on Figure 3 It can be seen that there are many peaks in the autocorrelation results, with the pseudocode period as the interval.

[0224] (3) Randomly generate 20 information codes, and accumulate them 4 times. When the signal-to-noise ratio is -10dB, the average second moment result is as follows: Figure 4 As shown.

[0225] Depend on Figure 4 It can be seen that after the average second moment processing, the correlation peaks with pseudocode period intervals are clearer, which is beneficial for peak position extraction, i.e., beneficial for pseudocode period estimation.

[0226] (4) When the number of information codes is 90 and the number of accumulations is 15, the estimated pseudocode period is: The actual value is T p Then it satisfies This is considered a correct estimate. The probability of a correct estimate using the cumulative quadratic spectrum method and the method proposed in this invention varies with the signal-to-noise ratio as follows: Figure 5 As shown.

[0227] Depend on Figure 5It can be seen that the correct estimation probability of both methods increases with the increase of signal-to-noise ratio. However, the estimation performance of the method proposed in this invention is about 2 dB better than the cumulative quadratic spectrum method.

[0228] The foregoing has provided a detailed description of the method, apparatus, and medium for estimating the pseudocode period of a direct sequence spread spectrum signal proposed in this invention. Specific examples have been used to illustrate the principles and implementation methods of this invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of this invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this invention. Therefore, the content of this specification should not be construed as a limitation of this invention.

Claims

1. A method for estimating the pseudocode period of a direct sequence spread spectrum signal, characterized in that: The specific process of the method is as follows: Step 1: Divide the received direct sequence spread spectrum signal into M groups to obtain the direct sequence spread spectrum signal for each group; Step 2: With N c T s Construct a piecewise window function for the window length, where the sliding distance of the piecewise window function is one sampling interval T. s When the number of slides is Δn, the piecewise window function is expressed as w(Δn, nT). s ); Where 0 ≤ Δn < N c N c T represents the number of sampling points per chip; n is the sampling time sequence number, and T represents the sampling time sequence number. s For the sampling interval, nT s N represents the sampling time; c T s This refers to the chip width; Each piecewise window in the piecewise window function is divided into two equal parts L. a With L b Then L in each segmented window a Partial corresponding window w La L in each segmented window b Partial corresponding window w Lb ; window w La The baseband signal obtained by segmentation is x La , by window w Lb The baseband signal obtained by segmentation is x Lb ; For the signal x corresponding to all piecewise windows in the piecewise window function La Summing yields S La For the signal x corresponding to all piecewise windows in the piecewise window function Lb Summing yields S Lb ; For S La and S Lb The difference is calculated to obtain the code difference value ΔS(Δn,i) within all segmented windows under different sliding times Δn, where i is the code element number; Step 3: Accumulate the code difference results ΔS(Δn,i) within all segmented windows for different sliding times Δn obtained in Step 2 to obtain the accumulated code difference result S within all segmented windows. I (i); Calculate S I (i) autocorrelation R I (k); for R I (k) is normalized to obtain the normalized autocorrelation R(k), where k is the number of delay points; Step 4: Based on the normalized autocorrelation R(k), calculate the normalized average autocorrelation second moment ρ(k); extract the peak value in ρ(k), and the interval between adjacent peak values ​​is the pseudocode period estimation result.

2. The pseudocode period estimation method for direct sequence spread spectrum signals according to claim 1, characterized in that: In step 1, the received direct sequence spread spectrum signal is divided into M groups to obtain the direct sequence spread spectrum signal for each group; the specific process is as follows: The received direct sequence spread spectrum signals are divided into M groups, and the baseband signal of each group is represented as: Where n is the sampling time number, T s x is the sampling interval. I (nT s ) represents the baseband signal of a direct sequence spread spectrum signal; d i For the i-th symbol, d i ∈{-1,1};g(nT s )=u(nT s )-u(nT s -N c T s ), u(nT s ) is a step function, g(nT) s ) is the width N c T s The rectangular pulse function; i is the symbol index, N(nT) s ) represents Gaussian white noise; nT s N represents the sampling time; c This represents the number of sampling points per chip.

3. The pseudocode period estimation method for direct sequence spread spectrum signals according to claim 2, characterized in that: The specific process of step 2 is as follows: Step 21: With N c T s Construct a piecewise window function for the window length, where the sliding distance of the piecewise window function is one sampling interval T. s When the number of sliding steps is Δn, 0 ≤ Δn < N c The piecewise window function is expressed as follows: Among them, g(nT) s )=u(nT s )-u(nT s -N c T s ) is a width of N c T s The rectangular pulse function; w(Δn,nT) s ) is a piecewise window function; Step 22: Divide each piecewise window in the piecewise window function into two equal parts L. a With L b Then L in each segmented window a Partial corresponding window w La L in each segmented window b Partial corresponding window w Lb The expression is: Where Δn is the sliding distance; g a (nT s ) is a width of N c T s / 2 rectangular impulse function, g a (nT s )=u(nT s )-u(nT s -N c T s / 2); Step 23: The window is closed. La The baseband signal obtained by segmentation is x La , by window w Lb The baseband signal obtained by segmentation is x Lb For the signal x corresponding to all piecewise windows in the piecewise window function La Summing yields S La For the signal x corresponding to all piecewise windows in the piecewise window function Lb Summing yields S Lb , for S La and S Lb By subtracting the values, we obtain the code difference values ​​ΔS(Δn,i) within all segmented windows for different sliding counts.

4. The pseudocode period estimation method for direct sequence spread spectrum signals according to claim 3, characterized in that: In step 23, the window is w La The baseband signal obtained by segmentation is x La , by window w Lb The baseband signal obtained by segmentation is x Lb For the signal x corresponding to all piecewise windows in the piecewise window function La Summing yields S La For the signal x corresponding to all piecewise windows in the piecewise window function Lb Summing yields S Lb , for S La and S Lb The difference is calculated to obtain the code difference value ΔS(Δn,i) within all segmented windows under different sliding times; the specific process is as follows: 1) When hour, window w La The baseband signal obtained by segmentation is x La Represented as: in, window w Lb The baseband signal obtained by segmentation is x Lb Represented as: Among them, g b (nT s ) is the width of (N) c / 2-Δn)T s rectangular pulse function, g b (nT s )=u(nT s )-u(nT s -(N c / 2-Δn)T s ); g c (nT s ) is a width of ΔnT s rectangular impulse function; g c (nT s )=u(nT s )-u(nT s -ΔnT s ); d i+1 It is the (i+1)th code element; For signal x La Summing yields S La For signal x Lb Summing yields S Lb ; They are represented as follows: Where N1(Δn,i) is the sum of the first half of the noise within the segmented window; N2(Δn,i) is the sum of the second half of the noise within the segmented window; For S La and S Lb By subtracting the values, we obtain the code difference values ​​within all segmented windows for each sliding number Δn. The expression is: Where N′(Δn,i) is the code difference function result corresponding to the noise; ΔS(Δn,i) is the code difference result within all segmented windows for the number of sliding steps Δn. 2) When hour, window w La The baseband signal obtained by segmentation is x La Represented as: window w Lb The baseband signal obtained by segmentation is x Lb Represented as: in, g a (nT s ) is a width of N c T s / 2 rectangular impulse function, g a (nT s )=u(nT s )-u(nT s -N c T s / 2); g d (nT s ) is the width of (N) c -Δn)T s The rectangular impulse function, g d (nT s )=u(nT s )-u(nT s -ΔnT s ); g e (nT s ) is a width of (Δn-N) c / 2)T s rectangular pulse function, g e (nT s )=u(nT s )-u(nT s -(Δn-N c / 2)T s ); For signal x La Summing yields S La For signal x Lb Summing yields S Lb ; They are represented as follows: Where N1(Δn,i) is the sum of the first half of the noise within the segmented window; Where N2(Δn,i) is the sum of the latter half of the noise within the segmented window; For S La and S Lb By subtracting the values, we obtain the code difference values ​​within all segmented windows for each sliding number Δn. The expression is: Where ΔS(Δn,i) represents the code difference value within all segmented windows for the number of sliding operations Δn.

5. The pseudocode period estimation method for direct sequence spread spectrum signals according to claim 4, characterized in that: In step 3, the code difference results ΔS(Δn,i) within all segmented windows under different sliding times Δn obtained in step 2 are accumulated to obtain the accumulated code difference result S within all segmented windows. I (i); Calculate S I (i) autocorrelation R I (k); for R I (k) is normalized to obtain the normalized autocorrelation R(k), where k is the number of delay points; The specific process is as follows: Step 31: Accumulate the code difference results ΔS(Δn,i) within all segmented windows for different sliding times Δn obtained in Step 2 to obtain the accumulated code difference result S within all segmented windows. I (i); means as follows: Among them, S I (i) represents the accumulated code difference values ​​within all segmented windows, N s (i) is the cumulative result of the noise code difference results within all segmented windows for the number of sliding times Δn; Step 32: Calculate the autocorrelation R of the accumulated code difference result. I (k); represents the following: Among them, R I (k) represents the autocorrelation result of the accumulated code difference, S I (i) represents the accumulated code difference result, k is the delay point, and d i+k For the (i+k)th symbol, d i+1+k For the (i+1+k)th symbol, R N (k) represents the autocorrelation result of the accumulated noise code difference, R d (k) is d i The autocorrelation results, R d (k+1) is d i With d i+1 The cross-correlation results, R d (k-1) is d i+1 With d i The cross-correlation results; d i The autocorrelation result R d (k) is represented as: Where L is the code period of the nth-order spreading sequence, L = 2 n -1; j is any integer; Step 33: Calculate the autocorrelation R of the accumulated code difference function. I Normalize (k) to obtain the autocorrelation R(k) of the accumulated code difference function after normalization.

6. The pseudocode period estimation method for direct sequence spread spectrum signals according to claim 5, characterized in that: In step 33, the autocorrelation R of the accumulated code difference function is... I (k) is normalized to obtain the autocorrelation R(k) of the accumulated code difference function after normalization; the expression is: R(k)=[2R d (k)-R d (k+1)-R d (k-1)]+R N (k) =R N (k)+0 k≠jL,k≠jL-1,k≠jL+1 Where R(k) is the autocorrelation of the normalized, accumulated code difference function.

7. The pseudocode period estimation method for direct sequence spread spectrum signals according to claim 6, characterized in that: In step 4, based on the normalized autocorrelation R(k), the normalized average autocorrelation second moment ρ(k) is calculated; the peak value in ρ(k) is extracted, and the interval between adjacent peak values ​​is the pseudocode period estimation result; the specific process is as follows: Step 41: Based on the normalized autocorrelation, calculate the normalized average autocorrelation second moment ρ(k); expressed as follows: Where ρ(k) is the normalized average autocorrelation second moment, R m (k) represents the normalized autocorrelation of the m-th group; M represents the number of accumulations in the set averaging method; Step 42: Extract the peak value in ρ(k), and the interval between adjacent peak values ​​is the pseudocode period estimation result.

8. A storage medium, characterized in that: The storage medium stores at least one instruction, which is loaded and executed by a processor to implement a pseudocode period estimation method for a direct sequence spread spectrum signal as described in any one of claims 1 to 7.

9. A device for estimating the pseudocode period of a direct sequence spread spectrum signal, characterized in that: The device includes a processor and a memory, the memory storing at least one instruction, which is loaded and executed by the processor to implement a pseudocode period estimation method for a direct sequence spread spectrum signal as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Pseudo-random code estimation method of direct sequence spread spectrum system

    CN101662305A

  • Aperiodic long-code DSSS signal spread spectrum sequence blind estimation method based on similarity

    CN105791184A