Pseudo code period estimation method for direct sequence spread spectrum signal, storage medium and equipment
By performing segmentation processing and autocorrelation analysis on the direct sequence spread spectrum signal, the estimation method of pseudocode period is solved, and the problem of low accuracy of pseudocode period estimation in the prior art is achieved, and higher accuracy and stability under low signal-to-noise ratio are achieved.
Patent Information
- Application Number
- CN202411904141.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-23
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2044-12-23
AI Technical Summary
In the existing pseudocode period estimation method for direct sequence spread spectrum signals, the periodic spectrum peaks are susceptible to the signal-to-noise ratio, resulting in low estimation accuracy.
By dividing the received direct sequence spread spectrum signals into multiple groups, and constructing a segmented window function with a specific window length, the sliding window function slides in units of chip width, calculates the autocorrelation function of the code difference result, and normalizes and accumulates, extracts the peak in the average autocorrelation second-order moment to estimate the pseudocode period.
The accuracy and stability of pseudocode period estimation are improved under low signal-to-noise ratio, and the influence of information code randomness and initial phase randomness of received signals is reduced.
Smart Images

Figure CN119727775A_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the field of direct sequence spread spectrum signal parameter estimation, and in particular relates to a method, storage medium and device for estimating a pseudo code period of a direct sequence spread spectrum signal. Background Art
[0002] In recent years, direct sequence spread spectrum signals have been widely used in radar, underwater communication and other fields due to their advantages such as low signal-to-noise ratio, low interception rate, strong confidentiality and strong anti-interference ability. At the same time, reconnaissance technology for direct sequence spread spectrum signals has gradually attracted people's attention, among which the problem of estimating the spread spectrum code period under low signal-to-noise ratio is a research hotspot for scholars from various countries.
[0003] Common spread spectrum code period estimation methods include methods based on autocorrelation function, methods based on fourth-order cumulants, and methods based on quadratic power spectrum. Burel.G et al. proposed a correlation fluctuation method to estimate the PN code period by using the different characteristics of the autocorrelation function of DSSS signal and the autocorrelation function of Gaussian white noise. This method obtains the correlation peak at integer multiples of the pseudo code period by calculating and accumulating the square of the autocorrelation function of the continuous segmented signal, and the peak interval represents the pseudo code period. Shen Zhenhui et al. proposed a pseudo code period estimation algorithm based on two-dimensional slices of fourth-order cumulants by using the characteristics of high-order cumulants that can suppress Gaussian white noise. This method effectively reduces the computational complexity of high-order cumulants. Zhang Tianqi et al. proposed a quadratic power spectrum method based on the characteristics of direct spread signals. First, the power spectrum of the DSSS signal is obtained, and then a discrete Fourier transform is performed to display the periodicity and autocorrelation of the spread spectrum code, that is, periodic spectrum peaks will appear in the quadratic power spectrum of the DSSS signal, and the spectrum peak interval reflects the size of the pseudo code period. This algorithm has the characteristics of low signal-to-noise ratio, stable performance, and fast estimation speed, but the periodic spectrum peak of this algorithm is greatly affected by the randomness of the information code. Summary of the invention
[0004] The purpose of the present invention is to solve the problem that the period spectrum peak of the existing pseudo code period estimation for direct sequence spread spectrum signals is greatly affected by the signal-to-noise ratio, resulting in low accuracy of pseudo code period estimation, and a pseudo code period estimation method, storage medium and device for direct sequence spread spectrum signals are proposed.
[0005] The specific process of the pseudo code 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, and obtain the direct sequence spread spectrum signal of each group;
[0007] Step 2:
[0008] N c T sConstruct a piecewise window function for the window length. The sliding distance of the piecewise window function each time is a sampling interval T s , when the number of sliding times is Δn, the segmented window function is expressed as w(Δn,nT s );
[0009] Where 0≤Δn<N c ; N c is the number of sampling points of 1 chip; n is the sampling time sequence number, T s is the sampling interval, nT s is the sampling time;
[0010] Each segmented window in the segmented window function is divided into two equal parts, front and back parts L a With L b , then L in each segment window a Partial corresponding window w La , L in each segment window b Partial corresponding window w Lb ;
[0011] By the window La The baseband signal obtained by segmentation is x La , by the window Lb The baseband signal obtained by segmentation is x Lb ;
[0012] For the signal x corresponding to all segmented windows in the segmented window function La Sum to get S La , for the signal x corresponding to all segmented windows in the segmented window function Lb Sum to get S Lb ;
[0013] For S La and S Lb Do the difference and get the code difference value ΔS(Δn,i) in 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) in all segmented windows under different sliding times Δn obtained in step 2 to obtain the accumulated code difference results S in all segmented windows I (i) Calculate S I (i) The 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-order moment ρ(k); extract the peak value in ρ(k), and the interval between adjacent peak values is the pseudo code period estimation result.
[0016] Preferably, in step 1, the received direct sequence spread spectrum signals are divided into M groups to obtain the direct sequence spread spectrum signals of each group; the specific process is:
[0017] The received direct sequence spread spectrum signal is divided into M groups, and the baseband signal of each group of direct sequence spread spectrum signals is expressed as:
[0018]
[0019] Among them, n is the sampling time sequence number, Ts is the sampling interval, x I (nT s ) is the baseband signal of the direct sequence spread spectrum signal; d i is the i-th code element, d i ∈{-1,1}; g(nT s )=u(nT s )-u(nT s -N c T s ), N c T s is the chip width, u(nT s ) is a step function, g(nT s ) is the width N c T s Rectangular pulse function; i is the code element number, N(nT s ) is Gaussian white noise; nT s is the sampling time; N c is the number of sampling points of 1 chip.
[0020] Preferably, in step 2, N c T s Construct a piecewise window function for the window length. The sliding distance of the piecewise window function each time is a sampling interval T s , when the number of sliding times is Δn, the segmented window function is expressed as w(Δn,nT s );
[0021] Where 0≤Δn<N c ; N c is the number of sampling points of 1 chip; n is the sampling time sequence number, T s is the sampling interval, nT s is the sampling time;
[0022] Each segmented window in the segmented window function is divided into two equal parts, front and back parts L a With L b , then L in each segment window a Partial corresponding window w La , L in each segment window b Partial corresponding window wLb ;
[0023] By the window La The baseband signal obtained by segmentation is x La , by the window Lb The baseband signal obtained by segmentation is x Lb ;
[0024] For the signal x corresponding to all segmented windows in the segmented window function La Sum to get S La , for the signal x corresponding to all segmented windows in the segmented window function Lb Sum to get S Lb ;
[0025] For S La and S Lb Do the difference and get the code difference value ΔS(Δn,i) in all segmented windows under different sliding times Δn, where i is the code element number;
[0026] The specific process is:
[0027] Step 21: N c T s Construct a piecewise window function for the window length. The sliding distance of the piecewise window function each time is a sampling interval T s , when the number of sliding times 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 the width N c T s Rectangular pulse function; w(nT s ) is a piecewise window function;
[0030] Step 22: Divide each segmented window in the segmented window function into two equal parts, front and back parts L a With L b , then L in each segment window a Partial corresponding window w La , L in each segment window b Partial corresponding window w Lb ; The expression is:
[0031]
[0032] Wherein, Δn is the sliding distance;
[0033] Step 23: Window La The baseband signal obtained by segmentation is x La , by the window Lb The baseband signal obtained by segmentation is x Lb , for the signal x corresponding to all segmented windows in the segmented window function La Sum to get S La , for the signal x corresponding to all segmented windows in the segmented window function Lb Sum to get S Lb , for S La and S Lb By performing the subtraction, we can obtain the code difference results ΔS(Δn,i) in all segmented windows under different sliding times.
[0034] Preferably, in step 22, each segmented window in the segmented window function is equally divided into two parts, front and back parts L. a With L b , then L in each segment window a Partial corresponding window w La , L in each segment window b Partial corresponding window w Lb ; The expression is:
[0035]
[0036] Wherein, Δn is the sliding distance.
[0037] Preferably, in step 23, the window w La The baseband signal obtained by segmentation is x La , by the window Lb The baseband signal obtained by segmentation is x Lb , for the signal x corresponding to all segmented windows in the segmented window function La Sum to get S La , for the signal x corresponding to all segmented windows in the segmented window function Lb Sum to get S Lb , for S La and S Lb The difference is made to obtain the code difference results ΔS(Δn,i) in all segmented windows under different sliding times; the specific process is:
[0038] 1) When hour,
[0039] By the window La The baseband signal obtained by segmentation is x La It is expressed as:
[0040]
[0041] Among them, g a (nTs ) is the width N c T s / 2 rectangular pulse function,
[0042] g a (nT s )=u(nT s )-u(nT s -N c T s / 2);
[0043] By the window Lb The baseband signal obtained by segmentation is x Lb It is expressed as:
[0044]
[0045] Among them, g b (nT s ) is the width (N c / 2-Δn)T s The rectangular pulse function, g b (nT s )=u(nT s )-u(nT s -(N c / 2-Δn)T s );
[0046] g c (nT s ) is the width ΔnT s Rectangular pulse function; g c (nT s )=u(nT s )-u(nT s -ΔnT s );
[0047] d i+1 is the i+1th code element;
[0048] For signal x La Sum to get S La ; for signal x Lb Sum to get S Lb ;
[0049] They are respectively expressed as follows:
[0050]
[0051]
[0052] Wherein, N1(Δn,i) is the sum of the first half of the noise in the segmented window; N2(Δn,i) is the sum of the second half of the noise in the segmented window;
[0053] For S La and S Lb Do the difference and get the code difference results in all segmented windows under the sliding times Δn. The expression is:
[0054] ΔS(Δn,i)=S La (Δn,i)-S Lb (Δn,i)=Δn(di-di +1 )+N'(Δn,i)
[0055] Among them, N'(Δn,i) is the code difference function result corresponding to the noise; ΔS(Δn,i) is the code difference result in all segmented windows under the sliding number Δn,
[0056] 2) When hour,
[0057] By the window La The baseband signal obtained by segmentation is x La It is expressed as:
[0058]
[0059] By the window Lb The baseband signal obtained by segmentation is x Lb It is expressed as:
[0060]
[0061] in,
[0062] g a (nT s ) is the width N c T s / 2 rectangular pulse function, g a (nT s )=u(nT s )-u(nT s -N c T s / 2); g d (nT s ) is the width (N c -Δn)T s The rectangular pulse function, g d (nT s )=u(nT s )-u(nT s -ΔnT s);g e (nT s ) is the width (Δn-N c / 2)T s A 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 Sum to get S La ; for signal x Lb Sum to get S Lb ;
[0065] They are respectively expressed as follows:
[0066]
[0067] Where N1(Δn,i) is the sum of the first half of the noise in the segmented window;
[0068]
[0069] Where N2(Δn,i) is the sum of the second half of the noise in the segmented window;
[0070] For S La and S Lb Do the difference and get the code difference results in all segmented windows under the sliding times Δn. The expression is:
[0071]
[0072] Among them, ΔS(Δn,i) is the code difference result in all segmented windows under the sliding number Δn,
[0073] Preferably, in step 3, the code difference results ΔS(Δn,i) in all segmented windows under different sliding times Δn obtained in step 2 are accumulated to obtain the accumulated code difference results S in all segmented windows. I (i) Calculate S I (i) The 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:
[0075] Step 31: Accumulate the code difference results ΔS(Δn,i) in all segmented windows under different sliding times Δn obtained in step 2 to obtain the accumulated code difference results S in all segmented windows I (i); means as follows:
[0076]
[0077] Among them, S I (i) is the accumulated code difference result in all segment windows, N s (i) is the cumulative result of the noise code difference results in all segmented windows under the sliding number Δn;
[0078] Step 32: Calculate the autocorrelation R of the accumulated code difference result I (k); means as follows:
[0079]
[0080] Among them, R I (k) is the autocorrelation result of the accumulated code difference result, S I (i) is the accumulated code difference result, k is the delay point number, di + k is the i+kth code element, di +1+ k is the i+1+kth code element, R N (k) is the autocorrelation result of the accumulated noise code difference result, R d (k) is the autocorrelation result of di, R d (k+1) is di and di +1 The cross-correlation result, R d (k-1) is di +1 Cross-correlation results with di;
[0081] The autocorrelation result R of di d (k) is expressed as:
[0082]
[0083] Where L is the code period of the n-order spread spectrum sequence, L = 2 n -1; j is any integer;
[0084] Step 33: Autocorrelation R of the accumulated code difference function I (k) is normalized to obtain the normalized autocorrelation R(k) of the accumulated code difference function.
[0085] Preferably, the autocorrelation R of the accumulated code difference function in step 33 is I(k) is normalized to obtain the normalized autocorrelation R(k) of the accumulated code difference function; 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] Wherein, R(k) is the normalized autocorrelation of the accumulated code difference function.
[0091] Preferably, in step 4, based on the normalized autocorrelation R(k), the normalized average autocorrelation second-order 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:
[0092] Step 41: Based on the normalized autocorrelation, calculate the normalized average autocorrelation second-order moment ρ(k); expressed as follows:
[0093]
[0094] Among them, ρ(k) is the normalized average autocorrelation second-order moment, R m (k) is the normalized autocorrelation of the mth group; M represents the number of accumulations of the ensemble average method;
[0095] Step 42: extract the peak value in ρ(k), and the interval between adjacent peak values is the pseudo code period estimation result.
[0096] A storage medium stores at least one instruction, which is loaded and executed by a processor to implement a pseudo code period estimation method for a direct sequence spread spectrum signal.
[0097] A pseudo code period estimation device for direct sequence spread spectrum signals comprises a processor and a memory, wherein the memory stores at least one instruction, and the at least one instruction is loaded and executed by the processor to perform a pseudo code period estimation method for direct sequence spread spectrum signals.
[0098] The beneficial effects of the present invention are:
[0099] Aiming at the problem that the period spectrum peak of the pseudo code period estimation of the direct sequence spread spectrum signal is greatly affected by the signal-to-noise ratio, resulting in low accuracy of the pseudo code period estimation, the present invention constructs a related code difference function and obtains a gain through accumulation, so that the period spectrum peak is less affected by the signal-to-noise ratio, and the accuracy estimation performance of the pseudo code period estimation can be improved under low signal-to-noise ratio.
[0100] Compared with other existing estimation algorithms for the pseudo code period of direct sequence spread spectrum signals, the method described in the present invention has better estimation performance under low signal-to-noise ratio, and can significantly reduce the impact of information code randomness and initial phase randomness of the received signal, and has robust performance. BRIEF DESCRIPTION OF THE DRAWINGS
[0101] Figure 1 A flow chart of a method for estimating a pseudo code period of a direct sequence spread spectrum signal;
[0102] Figure 2 is the code difference function under different sliding window distances, i is the code element number;
[0103] Figure 3 is the autocorrelation result of the cumulative code difference function, k is the number of delay points;
[0104] Figure 4 is the average autocorrelation second-order moment result of the cumulative code difference function;
[0105] Figure 5 The estimation performance comparison between the proposed method and the cumulative quadratic spectrum method is shown in Figure 2. SNR is the signal-to-noise ratio, P is the signal-to-noise ratio, e For probability. DETAILED DESCRIPTION
[0106] Specific implementation method 1: The specific process of the pseudo code period estimation method for direct sequence spread spectrum signal in this implementation method is as follows:
[0107] Direct sequence spread spectrum signal is a type of communication signal, which is used in the fields of radar, underwater acoustics, etc. The parameters of the direct sequence spread spectrum signal involved in the present invention are the available parameter ranges for underwater acoustic communication;
[0108] Step 1: Divide the received direct sequence spread spectrum signal into M groups, and obtain the direct sequence spread spectrum signal of each group;
[0109] Step 2:
[0110] N c T s Construct a piecewise window function for the window length. The sliding distance of the piecewise window function each time is a sampling interval T s , when the number of sliding times is Δn, the segmented window function is expressed as w(Δn,nT s );
[0111] Where 0≤Δn<N c ; N c is the number of sampling points of 1 chip; n is the sampling time sequence number, T s is the sampling interval, nT s is the sampling time;
[0112] Divide each segmented window in the segmented window function (there are 1000 segmented window functions, here is a segmented window) into two equal parts, front and back parts L a With L b , then L in each segment window a Partial corresponding window w La , L in each segment window b Partial corresponding window w Lb ;
[0113] By the window La The baseband signal obtained by segmentation is x La , by the window Lb The baseband signal obtained by segmentation is x Lb ;
[0114] For the signal x corresponding to all segmented windows in the segmented window function La Sum to get S La , for the signal x corresponding to all segmented windows in the segmented window function Lb Sum to get S Lb ;
[0115] For S La and S Lb Make a difference and get the code difference value result ΔS(Δn,i) in all segmented windows under different sliding times Δn (Δn ΔS about i, Δn ΔS with a length of 1000), where i is the code element number;
[0116] Note: The code difference results ΔS(Δn,i) in all segmented windows under the same sliding number Δn form a sequence, and several sliding numbers Δn correspond to several groups of sequences;
[0117] Step 3: Accumulate the strongly correlated code difference results ΔS(Δn,i) in all segmented windows under different sliding times Δn obtained in step 2 to obtain the accumulated code difference results S in all segmented windows I (i);
[0118] Calculate S I (i) The 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] Note: The accumulation of the strongly correlated code difference results ΔS(Δn,i) in all segmented windows under different sliding times Δn means: the same i in different sequences is accumulated to obtain a sequence S I (i);
[0120] Step 4: Based on the normalized autocorrelation R(k), calculate the normalized average autocorrelation second-order moment ρ(k); extract the peak value in ρ(k), and the interval between adjacent peak values is the pseudo code period estimation result.
[0121] Specific implementation method 2: This implementation method is different from the specific implementation method 1 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 of each group; the specific process is:
[0122] The received direct sequence spread spectrum signal is divided into M groups, and the baseband signal of each group of direct sequence spread spectrum signals is expressed as:
[0123]
[0124] Among them, n is the sampling time sequence number, Ts is the sampling interval, x I (nT s ) is the baseband signal of the direct sequence spread spectrum signal; d i is the i-th code element, d i ∈{-1,1}; g(nT s )=u(nT s )-u(nT s -N c T s ), N c T s is the chip width, u(nT s ) is a step function, g(nT s ) is the width N c T s Rectangular pulse function; i is the number of the code element, N(nT s ) is Gaussian white noise; nT s is the sampling time; N c is the number of sampling points of 1 chip.
[0125] The other steps and parameters are the same as those in the first embodiment.
[0126] Specific implementation method three: This implementation method is different from specific implementation methods one or two in that in step 2, N c T s Construct a piecewise window function for the window length. The sliding distance of the piecewise window function each time is a sampling interval T s , when the number of sliding times is Δn, the segmented window function is expressed as w(Δn,nTs );
[0127] Where 0≤Δn<N c ; N c is the number of sampling points of 1 chip; n is the sampling time sequence number, T s is the sampling interval, nT s is the sampling time;
[0128] Divide each segmented window in the segmented window function (there are 1000 segmented window functions, here is a segmented window) into two equal parts, front and back parts L a With L b , then L in each segment window a Partial corresponding window w La , L in each segment window b Partial corresponding window w Lb ;
[0129] By the window La The baseband signal obtained by segmentation is x La , by the window Lb The baseband signal obtained by segmentation is x Lb ;
[0130] For the signal x corresponding to all segmented windows in the segmented window function La Sum to get S La , for the signal x corresponding to all segmented windows in the segmented window function Lb Sum to get S Lb ;
[0131] For S La and S Lb Make a difference and get the code difference value result ΔS(Δn,i) in all segmented windows under different sliding times Δn (Δn ΔS about i, Δn ΔS with a length of 1000), where i is the code element number;
[0132] The code difference results ΔS(Δn,i) in all segmented windows under the same sliding number Δn form a sequence, and several sliding numbers Δn correspond to several groups of sequences;
[0133] The specific process is:
[0134] Step 21: N c T s Construct a piecewise window function for the window length. The sliding distance of the piecewise window function each time is a sampling interval T s , when the number of sliding times is Δn, 0≤Δn<N c , the piecewise window function is expressed as follows:
[0135]
[0136] Among them, g(nTs )=u(nT s )-u(nT s -N c T s ) is the width N c T s Rectangular pulse function; w(nT s ) is a piecewise window function;
[0137] Step 22: Divide each segmented window in the segmented window function (there are 1000 segmented window functions, here is a segmented window) into two equal parts, front and back, L a With L b , then L in each segment window a Partial corresponding window w La , L in each segment window b Partial corresponding window w Lb ; The expression is:
[0138]
[0139] Wherein, Δn is the sliding distance;
[0140] Step 23: Window La The baseband signal obtained by segmentation is x La , by the window Lb The baseband signal obtained by segmentation is x Lb , for the signal x corresponding to all segmented windows in the segmented window function La Sum to get S La , for the signal x corresponding to all segmented windows in the segmented window function Lb Sum to get S Lb , for S La and S Lb By performing the subtraction, we can obtain the code difference results ΔS(Δn,i) in all segmented windows under different sliding times.
[0141] The other steps and parameters are the same as those in the first or second embodiment.
[0142] Specific implementation method 4: This implementation method is different from the specific implementation methods 1 to 3 in that in step 22, each segmented window in the segmented window function (there are 1000 segmented window functions, and here is a segmented window) is equally divided into two parts, front and back, L a With L b , then L in each segment window a Partial corresponding window w La , L in each segment window b Partial corresponding window w Lb ; The expression is:
[0143]
[0144] Wherein, Δn is the sliding distance.
[0145] The other steps and parameters are the same as those in Specific Embodiments 1 to 3.
[0146] Specific implementation mode 5: This implementation mode is different from any one of the specific implementation modes 1 to 4 in that the window w in step 23 is La The baseband signal obtained by segmentation is x La , by the window Lb The baseband signal obtained by segmentation is x Lb , for the signal x corresponding to all segmented windows in the segmented window function La Sum to get S La , for the signal x corresponding to all segmented windows in the segmented window function Lb Sum to get S Lb , for S La and S Lb Make a difference and get the code difference result ΔS(Δn,i) in all segmented windows under different sliding times;
[0147] The specific process is:
[0148] 1) When hour,
[0149] By the window La The baseband signal obtained by segmentation is x La It is expressed as:
[0150]
[0151] Among them, g a (nT s ) is the width N c T s / 2 rectangular pulse function,
[0152] g a (nT s )=u(nT s )-u(nT s -N c T s / 2);
[0153] By the window Lb The baseband signal obtained by segmentation is x Lb It is expressed as:
[0154]
[0155] Among them, g b (nT s ) is the width (N c / 2-Δn)Ts The rectangular pulse function, g b (nT s )=u(nT s )-u(nT s -(N c / 2-Δn)T s );
[0156] gc(nTs) is the width of ΔnT s Rectangular pulse function; gc(nTs)=u(nTs)-u(nTs-ΔnTs);
[0157] d i+1 is the i+1th code element;
[0158] For signal x La Sum to get S La ; for signal x Lb Sum to get S Lb ;
[0159] They are respectively expressed as follows:
[0160]
[0161]
[0162] Wherein, N1(Δn,i) is the sum of the first half of the noise in the segmented window; N2(Δn,i) is the sum of the second half of the noise in the segmented window;
[0163] For S La and S Lb Do the difference and get the code difference results in all segmented windows under the sliding times Δn. The expression is:
[0164]
[0165] Among them, N'(Δn,i) is the code difference function result corresponding to the noise; ΔS(Δn,i) is the code difference result in all segmented windows under the sliding number Δn,
[0166] 2) When hour,
[0167] By the window La The baseband signal obtained by segmentation is x La It is expressed as:
[0168]
[0169] By the window Lb The baseband signal obtained by segmentation is x LbIt is expressed as:
[0170]
[0171] in,
[0172] g a (nT s ) is the width N c T s / 2 rectangular pulse function, g a (nT s )=u(nT s )-u(nT s -N c T s / 2); g d (nT s ) is the width (N c -Δn)T s The rectangular pulse function, g d (nT s )=u(nT s )-u(nT s -ΔnT s );g e (nT s ) is the width (Δn-N c / 2)T s A 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 Sum to get S La ; for signal x Lb Sum to get S Lb ;
[0175] They are respectively expressed as follows:
[0176]
[0177] Where N1(Δn,i) is the sum of the first half of the noise in the segmented window;
[0178]
[0179] Where N2(Δn,i) is the sum of the second half of the noise in the segmented window;
[0180] For S Laand S Lb Do the difference and get the code difference results in all segmented windows under the sliding times Δn. The expression is:
[0181]
[0182] Among them, ΔS(Δn,i) is the code difference result in all segmented windows under the sliding number Δn,
[0183] Assuming the sampling interval is 0.1ms, the chip width NcTs is 10, and the sliding distance is 1-10;
[0184] For example, the signal I receive is 10s. The chip width is 1ms. First, divide it into M=10 groups, each group is 1s. The 1s signal is segmented with a segment window length of 1ms. There should be 1s / 1ms=1000 segment windows, and the 1000 segment windows are next to each other and slide together for a distance of Δn.
[0185] The other steps and parameters are the same as those in Specific Embodiments 1 to 4.
[0186] Specific implementation method 6: This implementation method is different from any one of the specific implementation methods 1 to 5 in that in step 3, the code difference results ΔS(Δn,i) with strong correlation in all segmented windows under different sliding times Δn obtained in step 2 are accumulated to obtain the accumulated code difference results S in all segmented windows. I (i) Calculate S I (i) The 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:
[0188] Step 31: Accumulate the strongly correlated code difference results ΔS(Δn,i) in all segmented windows under different sliding times Δn obtained in step 2 to obtain the accumulated code difference results S in all segmented windows I (i) is as follows:
[0189]
[0190] Among them, S I (i) is the accumulated code difference result in all segment windows, N s (i) is the cumulative result of the noise code difference results in all segmented windows under the sliding number Δn;
[0191] Step 32: Calculate the autocorrelation R of the accumulated code difference result I(k); means as follows:
[0192]
[0193] Among them, R I (k) is the autocorrelation result of the accumulated code difference result, S I (i) is the accumulated code difference result, k is the delay point number, di + k is the i+kth code element, di +1+ k is the i+1+kth code element, R N (k) is the autocorrelation result of the accumulated noise code difference result, R d (k) is the autocorrelation result of di, R d (k+1) is di and di +1 The cross-correlation result, R d (k-1) is di +1 Cross-correlation results with di;
[0194] The autocorrelation result R of di d (k) is expressed as:
[0195]
[0196] Where L is the code period of the n-order spread spectrum sequence, L = 2 n -1; j is any integer;
[0197] Step 33: Autocorrelation R of the accumulated code difference function I (k) is normalized to obtain the normalized autocorrelation R(k) of the accumulated code difference function.
[0198] The other steps and parameters are the same as those in Specific Implementation Methods 1 to 5.
[0199] Specific implementation method 7: This implementation method is different from any one of the specific implementation methods 1 to 6 in that the autocorrelation R of the accumulated code difference function in step 33 is I (k) is normalized to obtain the normalized autocorrelation R(k) of the accumulated code difference function; 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] Wherein, R(k) is the normalized autocorrelation of the accumulated code difference function;
[0205] It can be seen from the above formula that R(k) has correlation peaks with intervals of the spread spectrum code period.
[0206] Since the autocorrelation of noise is weak, R N There is no peak in (k). The peak is reached at 2+2 / L, which is j times L, i.e. an integer. Therefore, there is a peak at intervals of L.
[0207] The other steps and parameters are the same as those in Specific Embodiments 1 to 6.
[0208] Specific implementation eight: This implementation differs from any one of specific implementations one to seven in that, in step 4, based on the normalized autocorrelation R(k), the normalized average autocorrelation second-order 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:
[0209] Step 41: Based on the normalized autocorrelation, calculate the normalized average autocorrelation second-order moment ρ(k); expressed as follows:
[0210]
[0211] Among them, ρ(k) is the normalized average autocorrelation second-order moment, R m (k) is the normalized autocorrelation of the mth group; M represents the number of accumulations of the ensemble average method;
[0212] Step 42: extract the peak value in ρ(k), and the interval between adjacent peak values is the pseudo code period estimation result.
[0213] There are correlation peaks in ρ(k) with pseudo code periods as intervals. By extracting the peak intervals, the pseudo code period estimation can be achieved. After group averaging, it is considered that there are no missing peaks.
[0214] The other steps and parameters are the same as those in Specific Implementation Methods 1 to 5.
[0215] Specific implementation method 9: This implementation method is a storage medium, characterized in that at least one instruction is stored in the storage medium, and the at least one instruction is loaded and executed by a processor to implement a pseudo code period estimation method for a direct sequence spread spectrum signal.
[0216] Specific implementation method ten: This implementation method is a pseudo code 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 pseudo code period estimation method for direct sequence spread spectrum signals.
[0217] Example:
[0218] According to the above steps and technical solutions, and in combination with the accompanying drawings, a specific example is described in detail below:
[0219] In this embodiment: the carrier frequency of the DSSS / BPSK signal is 10kHz, the sampling rate fs=80kHz, the background noise is Gaussian white noise, the chip width is 0.5ms, and the spread spectrum code is a 5th order m sequence, that is, the pseudo code period is 31.
[0220] (1) When the number of information codes is 5, the signal-to-noise ratio is 10 dB, and the sliding window distance is 10, 20, 30, and 35 sampling points respectively, the corresponding code difference function is as follows: Figure 2 shown.
[0221] Depend on Figure 2 It can be seen that the code difference functions of different sliding window distances all have peaks at the time when the code changes.
[0222] (2) When the number of information codes is 5 and the signal-to-noise ratio is -10dB, the autocorrelation result of the cumulative code difference function is as follows: Figure 3 shown.
[0223] Depend on Figure 3 It can be seen that there are many peaks in the autocorrelation results with pseudo code periods as intervals.
[0224] (3) Randomly generate 20 information codes and accumulate them 4 times. When the signal-to-noise ratio is -10dB, the average second-order moment result is as follows: Figure 4 shown.
[0225] Depend on Figure 4 It can be seen that after the average second-order moment processing, the correlation peaks with pseudo code periods as intervals are clearer, which is conducive to the extraction of peak positions, that is, it is conducive to the estimation of pseudo code periods.
[0226] (4) When the number of information codes is 90 and the number of accumulations is 15, the estimated value of the pseudo code period is The true value is T p , then it satisfies The correct estimation probability of the cumulative quadratic spectral method and the method proposed by the present invention varies with the signal-to-noise ratio as follows: Figure 5 shown.
[0227] Depend on Figure 5It can be seen that the correct estimation probability of the two methods increases with the increase of the signal-to-noise ratio. However, the estimation performance of the method proposed by the present invention is about 2 dB better than that of the cumulative quadratic spectrum method.
[0228] The above is a detailed introduction to a method, device and medium for estimating a pseudo code period of a direct sequence spread spectrum signal proposed in the present invention. Specific examples are used in this article to illustrate the principle and implementation of the present invention. The description of the above embodiments is only used to help understand the method and core idea of the present invention. At the same time, for those skilled in the art, according to the idea of the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as limiting the present invention.
Claims
1. A pseudo code period estimation method for a direct sequence spread spectrum signal, characterized in that: The specific process of the method is: Step 1: Divide the received direct sequence spread spectrum signal into M groups, and obtain the direct sequence spread spectrum signal of each group; Step 2: N c T s Construct a piecewise window function for the window length. The sliding distance of the piecewise window function each time is a sampling interval T s , when the number of sliding times is Δn, the segmented window function is expressed as w(Δn,nT s ); Where 0≤Δn<N c ; N c is the number of sampling points of 1 chip; n is the sampling time sequence number, T s is the sampling interval, nT s is the sampling time; Each segmented window in the segmented window function is divided into two equal parts, front and back parts L a With L b , then L in each segment window a Partial corresponding window w La , L in each segment window b Partial corresponding window w Lb ; By the window La The baseband signal obtained by segmentation is x La , by the window Lb The baseband signal obtained by segmentation is x Lb ; For the signal x corresponding to all segmented windows in the segmented window function La Sum to get S La , for the signal x corresponding to all segmented windows in the segmented window function Lb Sum to get S Lb ; For S La and S Lb Do the difference and get the code difference value ΔS(Δn,i) in 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) in all segmented windows under different sliding times Δn obtained in step 2 to obtain the accumulated code difference results S in all segmented windows I (i) Calculate S I (i) The 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-order moment ρ(k); extract the peak value in ρ(k), and the interval between adjacent peak values is the pseudo code period estimation result.
2. The method for estimating a pseudo code period of a direct sequence spread spectrum signal according to claim 1, wherein: In step 1, the received direct sequence spread spectrum signal is divided into M groups to obtain the direct sequence spread spectrum signal of each group; the specific process is: The received direct sequence spread spectrum signal is divided into M groups, and the baseband signal of each group of direct sequence spread spectrum signals is expressed as: Among them, n is the sampling time sequence number, Ts is the sampling interval, x I (nT s ) is the baseband signal of the direct sequence spread spectrum signal; d i is the i-th code element, d i ∈{-1,1}; g(nT s )=u(nT s )-u(nT s -N c T s ), N c T s is the chip width, u(nT s ) is a step function, g(nT s ) is the width N c T s Rectangular pulse function; i is the code element number, N(nT s ) is Gaussian white noise; nT s is the sampling time; N c is the number of sampling points of 1 chip.
3. The method for estimating a pseudo code period of a direct sequence spread spectrum signal according to claim 2, characterized in that: In step 2, N c T s Construct a piecewise window function for the window length. The sliding distance of the piecewise window function each time is a sampling interval T s , when the number of sliding times is Δn, the segmented window function is expressed as w(Δn,nT s ); Where 0≤Δn<N c ; N c is the number of sampling points of 1 chip; n is the sampling time sequence number, T s is the sampling interval, nT s is the sampling time; Each segmented window in the segmented window function is divided into two equal parts, front and back parts L a With L b , then L in each segment window a Partial corresponding window w La , L in each segment window b Partial corresponding window w Lb ; By the window La The baseband signal obtained by segmentation is x La , by the window Lb The baseband signal obtained by segmentation is x Lb ; For the signal x corresponding to all segmented windows in the segmented window function La Sum to get S La , for the signal x corresponding to all segmented windows in the segmented window function Lb Sum to get S Lb ; For S La and S Lb Do the difference and get the code difference value ΔS(Δn,i) in all segmented windows under different sliding times Δn, where i is the code element number; The specific process is: Step 21: N c T s Construct a piecewise window function for the window length. The sliding distance of the piecewise window function each time is a sampling interval T s , when the number of sliding times 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 the width N c T s Rectangular pulse function; w(nT s ) is a piecewise window function; Step 22: Divide each segmented window in the segmented window function into two equal parts, front and back parts L a With L b , then L in each segment window a Partial corresponding window w La , L in each segment window b Partial corresponding window w Lb ; The expression is: Wherein, Δn is the sliding distance; Step 23: Window La The baseband signal obtained by segmentation is x La , by the window Lb The baseband signal obtained by segmentation is x Lb , for the signal x corresponding to all segmented windows in the segmented window function La Sum to get S La , for the signal x corresponding to all segmented windows in the segmented window function Lb Sum to get S Lb , for S La and S Lb By performing the subtraction, we can obtain the code difference results ΔS(Δn,i) in all segmented windows under different sliding times.
4. The method for estimating a pseudo code period of a direct sequence spread spectrum signal according to claim 3, characterized in that: In step 22, each segmented window in the segmented window function is equally divided into two parts, front and back parts L. a With L b , then L in each segment window a Partial corresponding window w La , L in each segment window b Partial corresponding window w Lb ; The expression is: Wherein, Δn is the sliding distance.
5. The method for estimating a pseudo code period of a direct sequence spread spectrum signal according to claim 4, characterized in that: In step 23, the window w La The baseband signal obtained by segmentation is x La , by the window Lb The baseband signal obtained by segmentation is x Lb , for the signal x corresponding to all segmented windows in the segmented window function La Sum to get S La , for the signal x corresponding to all segmented windows in the segmented window function Lb Sum to get S Lb , for S La and S Lb The difference is made to obtain the code difference results ΔS(Δn,i) in all segmented windows under different sliding times; the specific process is: 1) When hour, By the window La The baseband signal obtained by segmentation is x La It is expressed as: Among them, g a (nT s ) is the width N c T s / 2 rectangular pulse function, g a (nT s )=u(nT s )-u(nT s -N c T s / 2); By the window Lb The baseband signal obtained by segmentation is x Lb It is expressed as: Among them, g b (nT s ) is the width (N c / 2-Δn)T s A rectangular pulse function, g b (nT s )=u(nT s )-u(nT s -(N c / 2-Δn)T s ); g c (nT s ) is the width ΔnT s Rectangular pulse function; g c (nT s )=u(nT s )-u(nT s -ΔnT s ); d i+1 is the i+1th code element; For signal x La Sum to get S La ; for signal x Lb Sum to get S Lb ; They are respectively expressed as follows: Wherein, N1(Δn,i) is the sum of the first half of the noise in the segmented window; N2(Δn,i) is the sum of the second half of the noise in the segmented window; For S La and S Lb Do the difference and get the code difference results in all segmented windows under the sliding times Δn. The expression is: ΔS(Δn,i)=SL a (Δn,i)-S Lb (Δn,i)=Δn(di-di +1 )+N'(Δn,i) Among them, N'(Δn,i) is the code difference function result corresponding to the noise; ΔS(Δn,i) is the code difference result in all segmented windows under the sliding number Δn, 2) When hour, By the window La The baseband signal obtained by segmentation is x La It is expressed as: By the window Lb The baseband signal obtained by segmentation is x Lb It is expressed as: in, g a (nT s ) is the width N c T s / 2 rectangular pulse function, g a (nT s )=u(nT s )-u(nT s -N c T s / 2); g d (nT s ) is the width (N c -Δn)T s The rectangular pulse function, g d (nT s )=u(nT s )-u(nT s -ΔnT s );g e (nT s ) is the width (Δn-N c / 2)T s A rectangular pulse function, g e (nT s )=u(nT s )-u(nT s -(Δn-N c / 2)T s ); For signal x La Sum to get S La ; for signal x Lb Sum to get S Lb ; They are respectively expressed as follows: Where N1(Δn,i) is the sum of the first half of the noise in the segmented window; Where N2(Δn,i) is the sum of the second half of the noise in the segmented window; For S La and S Lb Do the difference and get the code difference results in all segmented windows under the sliding times Δn. The expression is: ΔS(Δn,i)=S La -S Lb =(Nc-Δn)(di-di +1 )+N'(Δn,i) Among them, ΔS(Δn,i) is the code difference result in all segmented windows under the sliding number Δn, 6. The method for estimating a pseudo code period of a direct sequence spread spectrum signal according to claim 5, characterized in that: In step 3, the code difference results ΔS(Δn,i) in all segmented windows under different sliding times Δn obtained in step 2 are accumulated to obtain the accumulated code difference results S in all segmented windows. I (i) Calculate S I (i) The 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: Step 31: Accumulate the code difference results ΔS(Δn,i) in all segmented windows under different sliding times Δn obtained in step 2 to obtain the accumulated code difference results S in all segmented windows I (i); means as follows: Among them, S I (i) is the accumulated code difference result in all segment windows, N s (i) is the cumulative result of the noise code difference results in all segmented windows under the sliding number Δn; Step 32: Calculate the autocorrelation R of the accumulated code difference result I (k); means as follows: Among them, R I (k) is the autocorrelation result of the accumulated code difference result, S I (i) is the accumulated code difference result, k is the delay point number, di + k is the i+kth code element, di +1+ k is the i+1+kth code element, R N (k) is the autocorrelation result of the accumulated noise code difference result, R d (k) is the autocorrelation result of di, R d (k+1) is di and di +1 The cross-correlation result, R d (k-1) is di +1 Cross-correlation results with di; The autocorrelation result R of di d (k) is expressed as: Where L is the code period of the n-order spread spectrum sequence, L = 2 n -1; j is any integer; Step 33: Autocorrelation R of the accumulated code difference function I (k) is normalized to obtain the normalized autocorrelation R(k) of the accumulated code difference function.
7. The method for estimating a pseudo code period of a direct sequence spread spectrum signal according to claim 6, characterized in that: The autocorrelation R of the accumulated code difference function in step 33 I (k) is normalized to obtain the normalized autocorrelation R(k) of the accumulated code difference function; 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 Wherein, R(k) is the normalized autocorrelation of the accumulated code difference function.
8. The method for estimating a pseudo code period of a direct sequence spread spectrum signal according to claim 7, characterized in that: In step 4, based on the normalized autocorrelation R(k), the normalized average autocorrelation second-order 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: Step 41: Based on the normalized autocorrelation, calculate the normalized average autocorrelation second-order moment ρ(k); expressed as follows: Among them, ρ(k) is the normalized average autocorrelation second-order moment, R m (k) is the normalized autocorrelation of the mth group; M represents the number of accumulations of the ensemble average method; Step 42: extract the peak value in ρ(k), and the interval between adjacent peak values is the pseudo code period estimation result.
9. A storage medium, characterized in that: The storage medium stores at least one instruction, and the at least one instruction is loaded and executed by the processor to implement the pseudo code period estimation method for a direct sequence spread spectrum signal as claimed in any one of claims 1 to 8.
10. A pseudo code period estimation device for a direct sequence spread spectrum signal, characterized in that: The device comprises a processor and a memory, wherein the memory stores at least one instruction, and the at least one instruction is loaded and executed by the processor to implement a pseudo code period estimation method for a direct sequence spread spectrum signal as claimed in any one of claims 1 to 8.
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
Code period measurement method of long code direct sequence spread spectrum signal, medium, device and program product
CN118783997A
Kalman filter based capacity forecasting method, system and computer equipment
US20180196891A1
Signal detection and acquisition method and device, receiver, and storage medium
WO2021243799A1