Underwater pulse signal real-time processing method and system
Through the combined feature matching method of sliding window and dual-threshold detection, the problem of real-time detection and parameter estimation in underwater sonar pulse signal processing is solved, and the detection efficiency and accuracy are improved, especially under low signal-to-noise ratio conditions.
Patent Information
- Application Number
- CN202411333095.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-24
- Publication Date
- 2025-01-10
- Estimated Expiration
- 2044-09-24
AI Technical Summary
In underwater sonar pulse signal processing, it is difficult for the prior art to detect and accurately estimate the parameters of unknown sonar signals in real time under non-cooperation conditions, especially in the marine environment noise and low signal-to-noise ratio conditions, time-frequency analysis methods Inadequate adaptability leads to degradation of detection performance.
A real-time processing method for underwater pulse signals is adopted to detect the rising and falling edges of the pulse through the sliding window, and the double-threshold energy detection and feature matching method is used to estimate pulse parameters such as pulse width, center frequency, bandwidth and type, and build pulse characteristics. The vector is calculated by combining pulse periods.
The efficiency and reliability of pulse signal detection are improved, and the adaptability to different signals is enhanced, especially under low signal-to-noise ratio conditions can accurately estimate pulse parameters, which improves the reliability of combined pulse parameters.
Smart Images

Figure CN119298903A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of underwater acoustic signal processing, and in particular to a method and system for real-time processing of underwater pulse signals. Background Art
[0002] In recent years, underwater acoustic warfare is developing in the direction of systematization, unmanned operation and intelligence. In the process of underwater acoustic signal processing, timely interception and analysis of pulse signals is one of the important tasks of underwater acoustic warfare. In the field of underwater target detection, it is necessary to detect underwater acoustic pulse signals under non-cooperative conditions and estimate the pulse parameters such as the center frequency, bandwidth, pulse width, and period of the signal. Affected by factors such as marine environmental noise, platform noise, and multipath, it is challenging to achieve real-time detection and parameter estimation of unknown sonar signals.
[0003] Single frequency signal (Continuous Wave, CW) and linear frequency modulated signal (Linear Frequency Modulated, LFM) and the combination of the two signals are commonly used underwater acoustic pulse signals. Single frequency modulated signal refers to a signal that uses only one frequency carrier for transmission, and does not involve changes in multiple frequencies or modulation methods. Linear frequency modulated signal refers to a signal whose frequency changes continuously and linearly during the duration, and its carrier frequency increases or decreases uniformly over time.
[0004] In practical applications, when the sonar pulse form is unknown, it is necessary to detect the existence of the pulse in real time and accurately estimate the pulse's center frequency, pulse width, frequency modulation width, period and other parameter information. The short-time Fourier transform algorithm is an efficient time-frequency analysis method and is widely used in real-time detection and parameter estimation of unknown pulse signals. However, the LFM signal has a time-varying frequency, and relying solely on short-time Fourier transform for parameter estimation will result in performance degradation.
[0005] In addition, when detecting non-cooperative underwater acoustic pulse signals, in order to avoid missing arrival time and pulse width information, it is necessary to detect the received signals in real time. The existing time-frequency analysis method has certain shortcomings in use, and its adaptability to different signals needs to be further improved. It is difficult to meet the detection requirements under low signal-to-noise ratio conditions. Therefore, in order to ensure the accuracy of real-time detection and parameter estimation of underwater sonar pulse signals, it is of great significance to study appropriate real-time processing methods for sonar pulse signals. Summary of the invention
[0006] The purpose of the present invention is to overcome the defects of the prior art and propose a real-time processing method for underwater pulse signals.
[0007] On the one hand, the present invention provides a method for real-time processing of underwater pulse signals, comprising:
[0008] Receive continuous underwater pulse signals, and calculate the current window energy based on the set signal detection window size and sliding step size sliding window;
[0009] By comparing the current window energy with the rising edge energy threshold and the falling edge energy threshold, the pulse rising edge and the pulse falling edge in the current window are detected, and the rising edge energy threshold and the falling edge energy threshold are optimized and corrected respectively by using the average energy of the pulse part and the non-pulse part;
[0010] The current pulse signal is extracted by using the currently detected pulse rising edge and pulse falling edge, and the pulse parameters are estimated, wherein the pulse parameters include part or all of the pulse width, pulse center frequency, pulse bandwidth and pulse interval.
[0011] In an improved method for real-time processing of underwater pulse signals, the pulse parameters further include: pulse type; the method further includes:
[0012] According to the pulse bandwidth, the pulse type of the current pulse signal is determined, and the pulse type includes: a single frequency signal and a linear frequency modulation signal.
[0013] In an improved method for real-time processing of underwater pulse signals, the pulse parameters further include: a pulse period; the method further includes:
[0014] Accumulate the determined pulse types, and judge whether the current continuous signal contains a combined pulse according to whether the accumulated pulse types are the same pulse type;
[0015] If it is a combination pulse, a pulse feature vector is constructed. When the subsequent pulse arrives, the number of sub-pulses in the combination pulse is found according to the feature matching method, thereby calculating the combination pulse period. If it is not a combination pulse, the ratio of the pulse interval to the signal sampling rate is calculated to obtain the pulse period.
[0016] In an improved underwater pulse signal real-time processing method, the pulse rising edge and pulse falling edge in the current window are detected by comparing the current window energy with the rising edge energy threshold and the falling edge energy threshold, and the rising edge energy threshold and the falling edge energy threshold are optimized and corrected respectively by using the average energy of the pulse part and the non-pulse part, specifically including:
[0017] Determine whether the current window energy average is greater than the rising edge energy threshold k1*average1. If average>k1*average1, determine that the current window contains a pulse rising edge, and assign the current window energy average to average2. Otherwise, update average1=(average1+average) / 2; where k1*average1 is the rising edge energy threshold, k1 is the pulse rising edge energy threshold coefficient, and the initial value of average1 is the window energy of the first window;
[0018] Determine whether the current window energy average is less than the falling edge energy threshold k2*average2. If the current window energy average < k2*average2, determine that the current window contains a pulse falling edge, and record the current window energy as average1. Otherwise, update average2 = (average2 + average) / 2; where k2*average2 is the falling edge energy threshold, k2 is the pulse falling edge energy threshold coefficient, and the initial value of average2 is preset;
[0019] Record the first window position where average>k1*average1, and take the midpoint of the window as the sampling point of the rising edge of the currently detected pulse;
[0020] After obtaining the rising edge, slide the window to record the first window position where average < k2*average2, and take the midpoint of the window as the sampling point of the position of the currently detected pulse falling edge.
[0021] In an improved real-time processing method for underwater pulse signals, the current pulse signal is extracted and the pulse parameters are estimated by using the currently detected pulse rising edge and pulse falling edge, including:
[0022] By obtaining the sampling point at the rising edge of the current pulse and the sampling point at the falling edge of the current pulse, the current pulse signal x is extracted. pulse ;
[0023] Use the following formula to calculate the pulse width w i :
[0024]
[0025] Among them, i is the current pulse index, n is the number of pulses, and w i is the current pulse width, d i is the sampling point position of the current pulse falling edge, u i is the sampling point position of the current pulse rising edge, f sis the sampling rate;
[0026] The pulse interval p is calculated using the following formula: i :
[0027]
[0028] For the current pulse x pulse Perform Fourier transform FFT(.) to obtain the spectrum Xf(ω), calculate the power spectrum P(ω) of the current pulse spectrum, and take the positive frequency part P of the power spectrum half ;
[0029] Xf(ω)=FFT(x pulse )
[0030] P(ω)=|Xf(ω)| 2 =Xf(ω)·Xf * (ω),ω=0,1,...,N-1
[0031] P half =P(ω),ω=0,1,...,N / 2-1
[0032] Among them, Xf * (ω) is the conjugate of Xf(ω), ω is the frequency index, and N is the number of Fourier transform points;
[0033] For the positive frequency part P of the above power spectrum half Perform energy detection to obtain the rising edge position f of the power spectrum i1 , and the falling edge of the power spectrum is located at f i2 , the pulse bandwidth b of the current pulse i It is expressed as:
[0034] b i =f i2 -f i1 ,i=1,2,...,n
[0035] The center frequency f of the current pulse i It is expressed as:
[0036]
[0037] In an improved real-time processing method for underwater pulse signals, the pulse type of the current pulse signal is determined according to the pulse bandwidth, including:
[0038] The pulse bandwidth of the current pulse signal is compared with the set bandwidth threshold. If the bandwidth is greater than the set bandwidth threshold, the pulse type of the current pulse signal is determined to be a linear frequency modulation signal; otherwise, it is determined to be a single frequency signal.
[0039] In an improved method for real-time processing of underwater pulse signals, the pulse feature vector is constructed, and when a subsequent pulse arrives, the number of sub-pulses in the combined pulse is found according to the feature matching method, so as to calculate the combined pulse period, including:
[0040] Construct the pulse feature vector F i =[w i ,p i ,f i ,b i ,t i ], where w i is the pulse width of the current pulse, p i is the pulse interval of the current pulse, f i is the center frequency of the current pulse, b i is the pulse bandwidth of the current pulse, t i is the pulse type of the current pulse;
[0041] The correlation coefficient matrix R is calculated using the following formula:
[0042] R = corr(F)
[0043]
[0044] Where F is a 5×n pulse feature matrix, consisting of n pulse feature vectors, 5 is the number of features in the feature vector, n is the number of pulses, corr(F) is the Pearson correlation coefficient between all feature vector pairs of F, and the returned value is an n×n symmetric matrix R, R(i,j) is the correlation coefficient between the i-th feature vector and the j-th feature vector, k is the feature index, and the value of k is 1…5; x ki is the value of the kth feature in the i-th feature vector, is the mean value of the i-th eigenvector; x kj is the value of the kth feature in the jth feature vector, is the average value of the jth eigenvector;
[0045] Find the number of sub-pulses h of the combined pulse, so that there is at least one h×h sub-matrix in the matrix R, all elements except the diagonal are greater than p, where p>0.9;
[0046] The combined pulse period CT is calculated using the following formula: i :
[0047]
[0048] Among them, u i is the sampling point position of the rising edge of the i-th pulse, u i+h+1It is the sampling point position of the rising edge of the h+1 sub-pulse after the ith pulse.
[0049] In an improved method for real-time processing of underwater pulse signals, the method further includes:
[0050] The combined pulse width cw is calculated using the following formula: i :
[0051]
[0052] Combined pulse center frequency cf i
[0053]
[0054] Among them, d i+h is the position of the sampling point at the falling edge of the h pulses after the ith pulse.
[0055] On the other hand, the present invention provides a real-time processing system for underwater pulse signals, comprising:
[0056] An energy calculation module is used to receive continuous signals and calculate the current window energy based on the set signal detection window size and sliding step sliding window;
[0057] a pulse detection module, configured to detect a pulse rising edge and a pulse falling edge in a current window by comparing the current window energy with a rising edge energy threshold and a falling edge energy threshold, respectively, and optimize and correct the rising edge energy threshold and the falling edge energy threshold respectively by using the average energy of the pulse part and the non-pulse part; and
[0058] The pulse parameter estimation module is used to extract the current pulse signal and estimate the pulse parameters using the currently detected pulse rising edge and pulse falling edge, wherein the pulse parameters include: part or all of the pulse width, pulse center frequency, pulse bandwidth and pulse interval.
[0059] In an improved underwater pulse signal real-time processing system, the pulse parameters also include: pulse type;
[0060] The pulse parameter estimation module is also used to determine the pulse type of the current pulse signal according to the pulse bandwidth, and the pulse type includes: a single frequency signal and a linear frequency modulation signal.
[0061] Compared with the prior art, the advantages of the present invention are:
[0062] 1. Common pulse signals include single-frequency pulses, linear frequency modulation pulses, etc., which have strong energy concentration. The present invention uses a dual-threshold energy detection method to detect pulse signals, which has higher efficiency and reliability than the single-threshold energy detection method.
[0063] 2. The pulse width, pulse interval, bandwidth, center frequency, and pulse type of the sub-pulse are used to construct a feature vector, and the correlation coefficient is calculated using the feature matching method to obtain the number of groups of combined pulses, thereby estimating the combined pulse parameters with higher reliability. BRIEF DESCRIPTION OF THE DRAWINGS
[0064] Figure 1 It is an overall flow chart of the underwater pulse signal real-time processing method based on feature matching of the present invention;
[0065] Figure 2 It is the pulse detection principle diagram of the present invention;
[0066] FIG3( a) is a time-frequency diagram of a single-frequency pulse of the present invention;
[0067] FIG3( b ) is a time domain waveform of a single frequency pulse of the present invention;
[0068] FIG4( a) is a time-frequency diagram of a linear frequency modulation pulse of the present invention;
[0069] FIG4( b ) is a time domain waveform of a linear frequency modulation pulse of the present invention;
[0070] FIG5( a) is a time-frequency diagram of a combined pulse of the present invention;
[0071] FIG5(b) is a time domain waveform of the combined pulse of the present invention. DETAILED DESCRIPTION
[0072] CW and LFM and the combination of the two signals are commonly used underwater acoustic pulse signals. The present invention mainly identifies single-frequency signals, linear frequency modulation signals and the combination of the two signals. It includes: a single-frequency signal with a fixed frequency and a combination of single-frequency signals with different frequencies, a linear frequency modulation signal with a fixed frequency range and a combination of linear frequency modulation signals with different frequency ranges, and a signal combination of a single-frequency signal and a linear frequency modulation signal.
[0073] The present invention provides a method for real-time processing of underwater pulse signals, comprising:
[0074] Receive continuous underwater pulse signals, and calculate the current window energy based on the set signal detection window size and sliding step size sliding window;
[0075] By comparing the current window energy with the rising edge energy threshold and the falling edge energy threshold, the pulse rising edge and the pulse falling edge in the current window are detected, and the rising edge energy threshold and the falling edge energy threshold are optimized and corrected respectively by using the average energy of the pulse part and the non-pulse part;
[0076] The current pulse signal is extracted by using the currently detected pulse rising edge and pulse falling edge, and the pulse parameters are estimated, wherein the pulse parameters include part or all of the pulse width, pulse center frequency, pulse bandwidth and pulse interval.
[0077] In an improved method for real-time processing of underwater pulse signals, the pulse parameters further include: pulse type; the method further includes:
[0078] According to the pulse bandwidth, the pulse type of the current pulse signal is determined, and the pulse type includes: a single frequency signal and a linear frequency modulation signal.
[0079] In an improved method for real-time processing of underwater pulse signals, the pulse parameters further include: a pulse period; the method further includes:
[0080] Accumulate the determined pulse types, and judge whether the current continuous signal contains a combined pulse according to whether the accumulated pulse types are the same pulse type;
[0081] If it is a combination pulse, a pulse feature vector is constructed. When the subsequent pulse arrives, the number of sub-pulses in the combination pulse is found according to the feature matching method, thereby calculating the combination pulse period. If it is not a combination pulse, the ratio of the pulse interval to the signal sampling rate is calculated to obtain the pulse period.
[0082] In an improved underwater pulse signal real-time processing method, the pulse rising edge and pulse falling edge in the current window are detected by comparing the current window energy with the rising edge energy threshold and the falling edge energy threshold, and the rising edge energy threshold and the falling edge energy threshold are optimized and corrected respectively by using the average energy of the pulse part and the non-pulse part, specifically including:
[0083] Determine whether the current window energy average is greater than the rising edge energy threshold k1*average1. If average>k1*average1, determine that the current window contains a pulse rising edge, and assign the current window energy average to average2. Otherwise, update average1=(average1+average) / 2; where k1*average1 is the rising edge energy threshold, k1 is the pulse rising edge energy threshold coefficient, and the initial value of average1 is the window energy of the first window;
[0084] Determine whether the current window energy average is less than the falling edge energy threshold k2*average2. If the current window energy average < k2*average2, determine that the current window contains a pulse falling edge, and record the current window energy as average1. Otherwise, update average2 = (average2 + average) / 2; where k2*average2 is the falling edge energy threshold, k2 is the pulse falling edge energy threshold coefficient, and the initial value of average2 is preset;
[0085] Record the first window position where average>k1*average1, and take the midpoint of the window as the sampling point of the rising edge of the currently detected pulse;
[0086] After obtaining the rising edge, slide the window to record the first window position where average < k2*average2, and take the midpoint of the window as the sampling point of the position of the currently detected pulse falling edge.
[0087] In an improved real-time processing method for underwater pulse signals, the current pulse signal is extracted and the pulse parameters are estimated by using the currently detected pulse rising edge and pulse falling edge, including:
[0088] By obtaining the sampling point at the rising edge of the current pulse and the sampling point at the falling edge of the current pulse, the current pulse signal x is extracted. pulse ;
[0089] Use the following formula to calculate the pulse width w i :
[0090]
[0091] Among them, i is the current pulse index, n is the number of pulses, and w i is the current pulse width, d i is the sampling point position of the current pulse falling edge, u i is the sampling point position of the current pulse rising edge, f s is the sampling rate;
[0092] The pulse interval p is calculated using the following formula: i :
[0093]
[0094] For the current pulse x pulse Perform Fourier transform FFT(.) to obtain the spectrum Xf(ω), calculate the power spectrum P(ω) of the current pulse spectrum, and take the positive frequency part P of the power spectrum half ;
[0095] Xf(ω)=FFT(x pulse )
[0096] P(ω)=|Xf(ω)| 2 =Xf(ω)·Xf * (ω),ω=0,1,...,N-1
[0097] P half =P(ω),ω=0,1,...,N / 2-1
[0098] Among them, Xf * (ω) is the conjugate of Xf(ω), ω is the frequency index, and N is the number of Fourier transform points;
[0099] For the positive frequency part P of the above power spectrum half Perform energy detection to obtain the rising edge position f of the power spectrum i1 , and the falling edge of the power spectrum is located at f i2 , the pulse bandwidth b of the current pulse i It is expressed as:
[0100] b i =f i2 -f i1 ,i=1,2,...,n
[0101] The center frequency f of the current pulse i It is expressed as:
[0102]
[0103] In an improved real-time processing method for underwater pulse signals, the pulse type of the current pulse signal is determined according to the pulse bandwidth, including:
[0104] The pulse bandwidth of the current pulse signal is compared with the set bandwidth threshold. If the bandwidth is greater than the set bandwidth threshold, the pulse type of the current pulse signal is determined to be a linear frequency modulation signal; otherwise, it is determined to be a single frequency signal.
[0105] In an improved method for real-time processing of underwater pulse signals, the pulse feature vector is constructed, and when a subsequent pulse arrives, the number of sub-pulses in the combined pulse is found according to the feature matching method, so as to calculate the combined pulse period, including:
[0106] Construct the pulse feature vector F i =[w i ,p i ,f i ,b i ,t i ], where w i is the pulse width of the current pulse, pi is the pulse interval of the current pulse, f i is the center frequency of the current pulse, b i is the pulse bandwidth of the current pulse, t i is the pulse type of the current pulse;
[0107] The correlation coefficient matrix R is calculated using the following formula:
[0108] R = corr(F)
[0109]
[0110] Where F is a 5×n pulse feature matrix, consisting of n pulse feature vectors, 5 is the number of features in the feature vector, n is the number of pulses, corr(F) is the Pearson correlation coefficient between all feature vector pairs of F, and the returned value is an n×n symmetric matrix R, R(i,j) is the correlation coefficient between the i-th feature vector and the j-th feature vector, k is the feature index, and the value of k is 1…5; x ki is the value of the kth feature in the i-th feature vector, is the mean value of the i-th eigenvector; x kj is the value of the kth feature in the jth feature vector, is the average value of the jth eigenvector;
[0111] Find the number of sub-pulses h of the combined pulse, so that there is at least one h×h sub-matrix in the matrix R, all elements except the diagonal are greater than p, where p>0.9;
[0112] The combined pulse period CT is calculated using the following formula: i :
[0113]
[0114] Among them, u i is the sampling point position of the rising edge of the i-th pulse, u i+h+1 It is the sampling point position of the rising edge of the h+1 sub-pulse after the ith pulse.
[0115] In an improved method for real-time processing of underwater pulse signals, the method further includes:
[0116] The combined pulse width cw is calculated using the following formula: i :
[0117]
[0118] Combined pulse center frequency cf i
[0119]
[0120] Among them, d i+h is the position of the sampling point at the falling edge of the h pulses after the ith pulse.
[0121] The technical solution of the present invention is described in detail below with reference to the accompanying drawings and embodiments.
[0122] like Figure 1 As shown, it is a real-time processing method of underwater pulse signals based on feature matching proposed in an embodiment of the present invention, and its implementation method includes the following steps:
[0123] Step 1) Set the window size and sliding step size for signal detection, and calculate the energy of the first window of the input continuous signal. The specific implementation is as follows:
[0124] Step 1-1) Set the window length of signal detection to L;
[0125] Step 1-2) Set the window sliding step size of signal detection to M, M≤L;
[0126] Step 1-3) Calculate the energy value of each sampling point in the window, sum them up to get the total energy of the first window, and record it as average1.
[0127] Step 2) Set the energy threshold, and the sliding window continues to calculate the energy of the current window. The specific implementation is as follows:
[0128] Step 2-1) Continue sliding the detection window, continuously calculate the energy average of the current window, and make the following judgments;
[0129] Step 2-2) If the current window energy average>k1*average1, then assign the current window energy to average2, that is, average2=average, otherwise update average1=(average1+average) / 2;
[0130] Step 2-3) If the current window energy average<k2*average2, record the current energy as average1, otherwise update average2=(average2+average) / 2.
[0131] Use a window to slide on the signal and calculate the energy. The first energy refers to the energy of the first window, and the current energy refers to the energy when the window slides to the current position.
[0132] Here, k1 and k2 are determined based on signal characteristics and historical experience. The present invention uses 2 and 0.5. In actual use, fine-tuning may be required for different signals.
[0133] Step 3) The pulse is captured in real time by energy detecting the rising and falling edges of the pulse. The specific implementation is as follows:
[0134] Step 3-1) Record the first window position where average>k1*average1, and take the midpoint of the window as the sampling point of the rising edge position of the currently detected pulse;
[0135] Step 3-2) After obtaining the rising edge, record the first window position of average<k2*average2, and take the midpoint of the window as the sampling point of the falling edge position of the currently detected pulse.
[0136] The above steps 2) and 3) illustrate the detection process of the present invention. Figure 2 The schematic diagram of the detection principle of the present invention is given in FIG. The pulse signal detection principle of the present invention is energy detection. The place where the energy changes is regarded as the pulse occurrence time, so each moment of the signal is traversed in the form of a sliding window. Each calculation of a window energy must be compared with two energy thresholds in order to obtain the position of the rising edge and the falling edge. In addition, the two energy thresholds are optimized and corrected by calculating the average energy of the pulse part and the non-pulse part.
[0137] Because a continuous signal is continuously input, the pulse needs to be detected, and it needs to be detected while inputting. The present invention simulates the process of signal input by setting a sliding window. The initial values average1=0, average2=0 are set, and the rising edge energy threshold k1*average1 and the falling edge energy threshold k2*average2 are set.
[0138] Figure 2 In the initial time ST1, the energy of the first window is average, which is assigned to average1;
[0139] At ST2, the sliding window continues to calculate the current average and compares it with the two energy thresholds. If it does not exceed the set rising edge energy threshold, it is averaged with the previous window energy, and so on. In essence, the average energy of the non-pulse part is calculated.
[0140] At ST3, a pulse is detected, that is, average is greater than the set rising edge energy threshold. The average at this time is assigned to average2, and the middle position of the window is recorded as the rising edge position. The sliding window is continued to calculate the average energy of the pulse part and compared with the two energy thresholds.
[0141] At ST4, the average is calculated and compared with the two energy thresholds. It is found that the average is smaller than the falling edge energy threshold, and the position of the falling edge is obtained, and so on.
[0142] After the complete pulse is obtained by detecting the ST3 and ST4 moments, pulse-related parameters can be calculated.
[0143] Step 4) extract the currently detected pulse signal and calculate the pulse width, center frequency, bandwidth, and pulse interval. The specific implementation is as follows:
[0144] Step 4-1) After obtaining the sampling points of the rising and falling edges of the current pulse, extract the current pulse signal x pulse ;
[0145] Step 4-2) Calculate the number of sampling points occupied by the pulse and the pulse width according to the rising and falling edge positions of the pulse
[0146]
[0147] Among them, i is the current pulse index, n is the number of pulses, wi is the current pulse width, d i is the sampling point position of the current pulse falling edge, u i is the sampling point position of the current pulse rising edge, f s is the sampling rate.
[0148] The pulse interval can be expressed as
[0149]
[0150] Step 4-3) For the current pulse x pulse Perform Fourier transform to get the spectrum
[0151] Xf(ω)=FFT(x pulse )
[0152] The power spectrum of the current pulse spectrum can be expressed as:
[0153] P(ω)=|Xf(ω)| 2 =Xf(ω)·Xf * (ω),ω=0,1,...,N-1
[0154] Among them, Xf * (ω) is the conjugate of Xf(ω), w is the frequency index, and N is the number of Fourier transform points.
[0155] Take the positive frequency part of the power spectrum
[0156] P half=P(ω),ω=0,1,...,N / 2-1
[0157] Where w is the frequency index and N is the number of Fourier transform points.
[0158] Step 4-4) Perform energy detection on the above power spectrum to obtain the rising edge position f of the power spectrum. i1 , and the falling edge position f of the power spectrum i2 , then the bandwidth of the current pulse can be expressed as
[0159] b i =f i2 -f i1 ,i=1,2,...,n
[0160] The center frequency of the current pulse can be expressed as
[0161]
[0162] Step 5) Determine the type of each current pulse, construct a pulse feature vector, and when subsequent pulses arrive, calculate the pulse period by feature matching. The specific implementation is as follows:
[0163] Step 5-1) The type of the current pulse can be determined based on the pulse signal bandwidth: single frequency or frequency modulation signal. If the current pulse is a single frequency signal, the type is recorded as t i =0, if the current pulse is a frequency modulation signal, the type is recorded as t i =1.
[0164] A single-frequency signal contains only one frequency component, so the bandwidth is very narrow. A frequency-modulated signal transmits information by changing the frequency of a carrier signal. The frequency of the signal changes during transmission, causing the signal's spectrum to occupy a wider frequency range and a relatively wider bandwidth. Based on this feature, the two signals can be distinguished by setting an appropriate bandwidth threshold.
[0165] Step 5-2) According to the above pulse type, the pulse composition of the current signal can be judged. If the type of the accumulated pulse t i are all 0, then this signal segment contains only single-frequency pulses, and the pulse period is T i The pulse interval p i / f s ; If the type of accumulated pulse is t i are all 1, then this signal segment contains only FM pulses, and the pulse period is T i The pulse interval p i / f s ; If the type of accumulated pulse is t iIf it includes both 0 and 1, then the pulse contained in this signal is a combined pulse. It is necessary to find the number of sub-pulses of the combined pulse based on the feature matching method to calculate the pulse period.
[0166] To achieve the above purpose, the step 5-2) specifically includes:
[0167] Step 5-2-1) Construct the pulse feature vector F i =[w i ,p i ,f i ,b i ,t i ], where w i is the pulse width of the current pulse, p i is the pulse interval of the current pulse, f i is the center frequency of the current pulse, b i is the bandwidth of the current pulse, t i is the type of the current pulse;
[0168] Step 5-2-2) Calculate the correlation coefficient matrix. For a given feature matrix F, calculate the Pearson correlation coefficient between all feature pairs and obtain the correlation coefficient matrix R
[0169] R = corr(F)
[0170] Where F is an m×n matrix, m is the number of features (here m=5), and n is the number of samples. corr(F) returns an n×n symmetric matrix R, where R(i,j) represents the correlation coefficient between the i-th eigenvector and the j-th eigenvector. R(i,j) refers to the correlation coefficient between the i-th eigenvector and the j-th eigenvector.
[0171] All n pulse feature vectors form a pulse feature matrix F.
[0172] The calculation formula of the correlation coefficient R(i,j) is:
[0173]
[0174] Where k is the feature index, the value of k is 1…m, and m is the number of features in the feature vector; x ki is the value of the kth feature in the i-th feature vector, is the mean value of the i-th eigenvector; x kj is the value of the kth feature in the jth feature vector, is the mean of the jth eigenvector.
[0175] Step 5-2-3) Find the grouping size k (1 < h ≤ n) of the combined pulse, such that there is at least one h×h sub-matrix in matrix R, and all its elements (except the diagonal) are greater than p, where p > 0.9. In this embodiment, p is taken as 0.99. At the same time, h must satisfy h ≥ n / 2. This process can be expressed as:
[0176]
[0177] Step 5-2-4) After finding that the number of sub-pulses of the combined pulse is h, the following parameters can be obtained:
[0178] Combined pulse width cw i
[0179]
[0180] Combined pulse period CT i
[0181]
[0182] Combined pulse center frequency cf i
[0183]
[0184] The period of the combined pulse is the length between the rising edge of the first pulse in this group of pulses and the rising edge of the first pulse in the next group of pulses. In the above formula, u i is the sampling point position where the rising edge of the i-th pulse is located. There are h pulses in a group, then the rising edge of the first pulse in the next group is u i+h+1 , which is the sampling point position where the rising edges of the subsequent h + 1 pulses are located.
[0185] An embodiment of the present invention also provides an underwater pulse signal real-time processing system, which performs pulse detection and parameter estimation on the collected continuous signal based on the above method. The system includes: an energy calculation module, a pulse detection module, and a pulse parameter estimation module;
[0186] The energy calculation module is used to receive the continuous signal and calculate the current window energy by sliding the window based on the set signal detection window size and sliding step;
[0187] The pulse detection module is used to perform pulse detection on the collected reconnaissance signal. By comparing the current window energy with the rising edge energy threshold and the falling edge energy threshold respectively, it detects the pulse rising edge and the pulse falling edge in the current window, and optimizes and corrects the rising edge energy threshold and the falling edge energy threshold by using the average energy of the pulse part and the non-pulse part respectively;
[0188] The pulse parameter estimation module is used to extract the current pulse signal and estimate the pulse parameters, including part or all of the pulse width, pulse center frequency and pulse interval, by using the currently detected pulse rising edge and pulse falling edge.
[0189] Preferably, the pulse parameters further include: pulse type;
[0190] The pulse parameter estimation module is also used to determine the pulse type of the current pulse signal according to the pulse bandwidth, and the pulse type includes: a single frequency signal and a linear frequency modulation signal.
[0191] The pulse parameters also include: pulse period;
[0192] The pulse parameter estimation module is also used to accumulate determined pulse types, and determine whether the current continuous signal contains a combination pulse based on whether the accumulated pulse types are the same pulse type; if it is a combination pulse, a pulse feature vector is constructed, and when subsequent pulses arrive, the number of sub-pulses in the combination pulse is found according to the feature matching method, thereby calculating the combination pulse period; if it is not a combination pulse, the ratio of the pulse interval to the signal sampling rate is calculated to obtain the pulse period.
[0193] The following is a further description of the technical effects of the present invention in conjunction with simulation experiments:
[0194] Conditions and contents of simulation experiment:
[0195] The simulation experiment platform is Windows system, the experimental computer CPU is i7-10750H, and the GPU is RTX2070. The simulation data set used in the experiment is the pulse signal data set simulated by MATLAB, including single-frequency pulses, linear frequency modulation pulses, and the combination of the two pulses. The simulation parameters are shown in Table 1 below:
[0196] Table 1 Pulse signal simulation parameters
[0197] Pulse type Center frequency / Hz Cycle / ms Pulse width / ms Signal-to-noise ratio / dB Single frequency 24000 100 50 8 Linear Frequency Modulation 14500 100 50 8 combination 19250 200 150 8
[0198] In Figure 3(a), Figure 4(a) and Figure 5(a), the horizontal axis is Times, the left side of the vertical axis is Frequency, and the right side is the legend of Power / frequency (dB / HZ). Figure 3(b), Figure 4(b) and Figure 5(b) show the Original Audio Signal, the horizontal axis is Sample Index, and the vertical axis is Amplitude.
[0199] FIG3(a) and FIG3(b) are time-frequency diagrams and time-domain waveforms of single-frequency pulses, respectively. The method is used to perform pulse detection and parameter estimation on the continuous signal under the parameters in Table 1 above. The results are shown in Table 2 below:
[0200] Table 2 Single frequency signal estimation results
[0201]
[0202] FIG. 4( a ) and FIG. 4( b ) are time-frequency diagrams and time-domain waveforms of linear frequency modulation pulses, respectively. The method of the present invention is used to perform pulse detection and parameter estimation on the continuous signal under the parameters in Table 1. The results are shown in Table 3 below:
[0203] Table 3 Linear frequency modulation signal estimation results
[0204]
[0205] FIG. 5( a ) and FIG. 5( b ) are time-frequency diagrams and time-domain waveforms of the combined pulses, respectively. The continuous signal under the parameters in Table 1 of the method of the present invention is used for pulse detection and parameter estimation. The results are shown in Table 4 below:
[0206] Table 4 Combined signal sub-pulse estimation results
[0207]
[0208]
[0209] It is judged as a combined pulse, 2 pulses form a group, and the combined pulse parameters are shown in Table 5 below:
[0210] Table 5 Combined signal combined pulse estimation results
[0211]
[0212] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit the present invention. Although the present invention is described in detail with reference to the embodiments, it should be understood by those skilled in the art that any modification or equivalent replacement of the technical solutions of the present invention does not depart from the spirit and scope of the technical solutions of the present invention and should be included in the scope of the claims of the present invention.
Claims
1. A real-time processing method for underwater pulse signals, comprising: Receive continuous underwater pulse signals, and calculate the current window energy based on the set signal detection window size and sliding step size sliding window; By comparing the current window energy with the rising edge energy threshold and the falling edge energy threshold, the pulse rising edge and the pulse falling edge in the current window are detected, and the rising edge energy threshold and the falling edge energy threshold are optimized and corrected respectively by using the average energy of the pulse part and the non-pulse part; The current pulse signal is extracted by using the currently detected pulse rising edge and pulse falling edge, and the pulse parameters are estimated, wherein the pulse parameters include part or all of the pulse width, pulse center frequency, pulse bandwidth and pulse interval.
2. The method for real-time processing of underwater pulse signals according to claim 1, characterized in that: The pulse parameters further include: pulse type; the method further includes: According to the pulse bandwidth, the pulse type of the current pulse signal is determined, and the pulse type includes: a single frequency signal and a linear frequency modulation signal.
3. The method for real-time processing of underwater pulse signals according to claim 2, characterized in that: The pulse parameters further include: a pulse period; the method further includes: Accumulate the determined pulse types, and judge whether the current continuous signal contains a combined pulse according to whether the accumulated pulse types are the same pulse type; If it is a combination pulse, a pulse feature vector is constructed. When the subsequent pulse arrives, the number of sub-pulses in the combination pulse is found according to the feature matching method, thereby calculating the combination pulse period. If it is not a combination pulse, the ratio of the pulse interval to the signal sampling rate is calculated to obtain the pulse period.
4. The method for real-time processing of underwater pulse signals according to claim 1, characterized in that: By comparing the current window energy with the rising edge energy threshold and the falling edge energy threshold, the pulse rising edge and the pulse falling edge in the current window are detected, and the rising edge energy threshold and the falling edge energy threshold are optimized and corrected respectively by using the average energy of the pulse part and the non-pulse part, specifically including: Determine whether the current window energy average is greater than the rising edge energy threshold k1*average1. If average>k1*average1, determine that the current window contains a pulse rising edge, and assign the current window energy average to average2. Otherwise, update average1=(average1+average) / 2; where k1*average1 is the rising edge energy threshold, k1 is the pulse rising edge energy threshold coefficient, and the initial value of average1 is the window energy of the first window; Determine whether the current window energy average is less than the falling edge energy threshold k2*average2. If the current window energy average < k2*average2, determine that the current window contains a pulse falling edge, and record the current window energy as average1. Otherwise, update average2 = (average2 + average) / 2; where k2*average2 is the falling edge energy threshold, k2 is the pulse falling edge energy threshold coefficient, and the initial value of average2 is preset; Record the first window position where average>k1*average1, and take the midpoint of the window as the sampling point of the rising edge of the currently detected pulse; After obtaining the rising edge, slide the window to record the first window position where average < k2*average2, and take the midpoint of the window as the sampling point of the position of the currently detected pulse falling edge.
5. The method for real-time processing of underwater pulse signals according to claim 4, characterized in that: Utilize the currently detected pulse rising edge and pulse falling edge to extract the current pulse signal and estimate the pulse parameters, including: By obtaining the sampling point at the rising edge of the current pulse and the sampling point at the falling edge of the current pulse, the current pulse signal x is extracted. pulse ; Use the following formula to calculate the pulse width w i : Among them, i is the current pulse index, n is the number of pulses, and w i is the current pulse width, d i is the sampling point position of the current pulse falling edge, u i is the sampling point position of the current pulse rising edge, f s is the sampling rate; The pulse interval p is calculated using the following formula: i : For the current pulse x pulse Perform Fourier transform FFT(.) to obtain the spectrum Xf(ω), calculate the power spectrum P(ω) of the current pulse spectrum, and take the positive frequency part P of the power spectrum half ; Xf(ω)=FFT(x pulse ) P(ω)=|Xf(ω)| 2 =Xf(ω)·Xf * (ω),ω=0,1,...,N-1 P half =P(ω),ω=0,1,...,N / 2-1 Among them, Xf * (ω) is the conjugate of Xf(ω), ω is the frequency index, and N is the number of Fourier transform points; For the positive frequency part P of the above power spectrum half Perform energy detection to obtain the rising edge position f of the power spectrum i1 , and the falling edge of the power spectrum is located at f i2 , the pulse bandwidth b of the current pulse i It is expressed as: b i =f i2 -f i1 ,i=1,2,...,n The center frequency f of the current pulse i It is expressed as:
6. The method for real-time processing of underwater pulse signals according to claim 2, characterized in that: According to the pulse bandwidth, determine the pulse type of the current pulse signal, including: The pulse bandwidth of the current pulse signal is compared with the set bandwidth threshold. If the bandwidth is greater than the set bandwidth threshold, the pulse type of the current pulse signal is determined to be a linear frequency modulation signal; otherwise, it is determined to be a single frequency signal.
7. The method for real-time processing of underwater pulse signals according to claim 3, characterized in that: The pulse feature vector is constructed, and when a subsequent pulse arrives, the number of sub-pulses in the combined pulse is found according to the feature matching method, so as to calculate the combined pulse period, including: Construct the pulse feature vector F i =[w i ,p i ,f i ,b i ,t i ], where w i is the pulse width of the current pulse, p i is the pulse interval of the current pulse, f i is the center frequency of the current pulse, b i is the pulse bandwidth of the current pulse, t i is the pulse type of the current pulse; The correlation coefficient matrix R is calculated using the following formula: R = corr(F) Where F is a 5×n pulse feature matrix, consisting of n pulse feature vectors, 5 is the number of features in the feature vector, n is the number of pulses, corr(F) is the Pearson correlation coefficient between all feature vector pairs of F, and the returned value is an n×n symmetric matrix R, R(i,j) is the correlation coefficient between the i-th feature vector and the j-th feature vector, k is the feature index, and the value of k is 1…5; x ki is the value of the kth feature in the i-th feature vector, is the mean value of the i-th eigenvector; x kj is the value of the kth feature in the jth feature vector, is the average value of the jth eigenvector; Find the number of sub-pulses h of the combined pulse, so that there is at least one h×h sub-matrix in the matrix R, all elements except the diagonal are greater than p, where The combined pulse period CT is calculated using the following formula: i : Among them, u i is the sampling point position of the rising edge of the i-th pulse, u i+h+1 It is the sampling point position of the rising edge of the h+1 sub-pulse after the ith pulse.
8. The method for real-time processing of underwater pulse signals according to claim 7, characterized in that: Also includes: The combined pulse width cw is calculated using the following formula: i : Combined pulse center frequency cf i Among them, d i+h is the position of the sampling point at the falling edge of the h pulses after the ith pulse.
9. A real-time processing system for underwater pulse signals, characterized in that: include: An energy calculation module is used to receive continuous signals and calculate the current window energy based on the set signal detection window size and sliding step sliding window; A pulse detection module, used for detecting the rising edge and falling edge of the pulse in the current window by comparing the current window energy with the rising edge energy threshold and the falling edge energy threshold, and optimizing and correcting the rising edge energy threshold and the falling edge energy threshold respectively by using the average energy of the pulse part and the non-pulse part; and The pulse parameter estimation module is used to extract the current pulse signal and estimate the pulse parameters using the currently detected pulse rising edge and pulse falling edge, wherein the pulse parameters include: part or all of the pulse width, pulse center frequency, pulse bandwidth and pulse interval.
10. The underwater pulse signal real-time processing system according to claim 9, characterized in that: The pulse parameters also include: pulse type; The pulse parameter estimation module is also used to determine the pulse type of the current pulse signal according to the pulse bandwidth, and the pulse type includes: a single frequency signal and a linear frequency modulation signal.
Citation Information
Patent Citations
A method and apparatus for extracting scintillation pulse information
CN102262238A
Satellite-borne AIS signal multi-time-slot conflict energy detection system and detection method
CN111600647A
IFF pulse signal detection method based on FPGA
CN115758079A
Partial discharge pulse real-time detection method and sensor based on long and short time sliding window
CN116068349A
Radar signal detection method and device, electronic equipment and storage medium
CN116683941A