## 3 Signal Extraction Algorithms
The position of the pulse in the desired signal is determined by the cross correlation of the designed desired signal at the beginning with acquired noisy signal. This position depends on the SNR of a noisy signal and is not a final position yet. The form of that desired signal is roughly defined as the corrected desired signal. At this stage, Wiener filtering is ready to use for processing roughly corrected desired signal with the acquired noisy signal. The Wiener-Hopf equation written below depends on the cross-correlation of the noisy signal with the desired signal and auto-correlation of noisy signal. As a result of this equation, we obtain number of fifty different filter coefficients. During this process the mean square error (MSE), which shows  
Figure 6: Algorithm used to extract the signal buried in noise. the degree of success, can be found using these computed coefficients. MSE (shown as Jm in the algorithm) changes between 0 which corresponds to the best result and 1 corresponding to the worst case. After the first computed MSE, we search for 0 or lowest MSE value by sliding the beginning of the roughly corrected desired signal pulse one by one. This search continues both ways until we find the best MSE. In the code, the number of sliding is 200 both ways which is usually enough to find the best MSE. Now, we reconstruct the desired signal with the new one according to the search result. Then we obtain new 50 filter coefficients with these reconstructed desired signals and acquired noisy signals using Wiener-Hopf processing. In the third stage, filtering is performed by convolving noisy signal with computed filter coefficients. After that the top of the filtered signal (YNx1) can be used to find the position of the target. Figure 7 shows the success of this algorithm and it was explained in detail as below. In order to test the power of the algorithm above which is based on the Wiener-Hopf method, we run a Monte Carlo simulation and it is explained as follows. First, we generate Gaussian random noise signal with 4096 data point as to be compatible with an experimentally acquired signal. As known, the SNR of that noise is inversely proportional to the logarithmic of the variance of that signal. Therefore, we generate a noise signal whose SNR in linear scale (not dB) runs from 0 to 4.5 with an interval of 0.5, then interpolation is performed to obtain Figure 7. Here, we generate 1000 random different noise signals for each SNR value. For instance, we have 1000 different noise signal with an SNR of 3 (in linear scale). Second, we put a deformed square like signal representing the returning pulse somewhere inside the 4096 data point. The place of this artificially created signal in the data actually corresponds to the distance of 2000 m. Here, we have an artificial data signal which contains signal and noise with a known SNR. Next, this signal (XNx1 in Figure 5) goes into the algorithm. After the algorithm runs with this signal, the place of the filtered signal can be determined. Finally, threshold level based on the chosen probability of false alarm (Pfa = \(10^{-7}\)) can be easily calculated by the computed standard deviation of the filtered signal as given in the equation below [39]. \(V_{th}=std(signal)*\sqrt{(-2*\ln(Pfa)}\). The distance can be determined by comparing the signal level with the threshold if the signal height is larger than the threshold. If the computed distance is correct with our previously defined distance, then this corresponds to the true case or wrong case if otherwise. In the case that the signal height is smaller than the threshold, this can be evaluated as a missed case. The Figure 7 shows the simulation result in terms of how effectively the algorithm runs. For instance, if the SNR is above 3 (linear, not dB), the probability of finding the true distance is 90%. This algorithm is  
Figure 7: Normalized probability of detection versus signal-to-noise ratio (SNR, linear scale) which was obtained as a result of Monte Carlo simulation of the algorithm used.