MATLAB Simulation Analysis of Doppler distortion signal re-sampling

Source: Internet
Author: User
Application Scenario of MATLAB Simulation and Analysis of Doppler distortion signal re-sampling
  • Underwater acoustic communication refers to the use of acoustic signals to transmit data in the water. Relatively speaking, the electromagnetic signal absorption in the water seriously degrades too fast, and the optical signal is affected by the suspension of particles in the water, it cannot complete long-distance transmission. The signal propagation distance is about several hundred meters, and the acoustic signal propagation distance in the water reaches several thousand meters, becoming the first choice for underwater communication.
  • A major challenge of underwater acoustic communication is the Doppler motion. Doppler signals cause frequency drift, which affects system performance. Therefore, it is necessary to eliminate the impact of Doppler. Doppler in the time domain is represented by the signal Length Compression and expansion, that is, 'y (t) = x (1 + a) * t) ', whereaIs a Doppler factor. If the Doppler factor is estimated, then the original signal can be restored using the re-sampling technique.x(t) = y( t/(a+a) ).
  • The significance of re-sampling is interpolation, which obtains the signals before and after the Doppler effect from a signal interpolation. While1+aIt is generally a decimal point. Although multi-phase filtering can achieve good interpolation effect, the complexity is too high. In contrast, linear interpolation and spline interpolation have a small amount of computing, making it more suitable for MATLAB one-dimensional interpolation in digital systems.
  • The interpolation function in MATLAB isinterp1()The call format isyi=interp1(x,y,xi, ‘method‘). X and Y are the observed data points, Xi is the interpolation (independent variable) vector, and Yi is the interpolation result (function value) of Xi ).
  • ‘method‘Indicates the interpolation method used. The value 'nearest 'is the nearest interpolation, 'linear' is the linear interpolation, 'spline' is the cubic spline interpolation, and 'cubic 'is the piecewise cubic Hermite interpolation. The default value is linear interpolation. Cubic splines have the smoothest effect, and cubic polynomials are between them.
  • Linear interpolation: interpolation is performed based on values of two adjacent points. We know that f (a) and F (C), B are in the middle of a, c, and the formula for F (B) is:f(b) = f(a) + (b-a)/(c-a) *[f(c) - f(a)].
  • Piecewise cubic Hermite interpolation: segmentation makes the derivatives of neighboring two points the same, and the curve is smoother.
  • Spline Interpolation: splines are generally easier to use than polynomial interpolation. Low-level spline interpolation can produce a similar effect as high-order polynomial interpolation, and can avoid the long lattice phenomenon. Linear interpolation error
  • Interpolation will inevitably cause signal distortion. The ratio of the original signal power to the noise power is defined as the signal-to-dry ratio. The formula is as follows:SDR = 10 * log10( power(x(t)) / power(x(t) - x‘(t) ).x‘(t)It is the signal obtained after interpolation.
  • For linear interpolation, SDR and signal sampling frequencyfsAnd Signal FrequencyfThe ratio is approximately as follows:SDR(dB) = 40 * log10( fs/f /2 ). The simulation comparison code is as follows.
  • First, set the Doppler factor.dop, Interpolation method, the ratio of sampling rate to signal frequency ns. The minimum value is 2, corresponding to the nequest frequency.
  • Then, an initial signal is generated for each NS value.aAnd then interpolation to add Doppler to the signal. BecausesplineTo minimize the error caused by the method, select the method to add Doppler.
  • Different interpolation methods are used to remove doppler data. Because interpolation changes the signal length, only the 6000 data points at the end are omitted each time.
  • Next, draw a graph. Each NS corresponds to a graph, and indicate the measured SDR and the theoretical SDR value of linear interpolation for comparison.
dop = 0.05;intermethod = ‘nearest‘;% nearest linear cubic spline %n: fs / fcns = 2:7;figure;for n = ns    a = sin(2*pi*(1+rand():1:50000)/n);    b=interp1([0:length(a)-1],a,[1-1:length(a)-6000-1]*(1+dop),‘spline‘);    c=interp1([1-1:length(b)-1],b,[1-1:length(b)-6000-1]/(1+dop),intermethod);    subplot(3,ceil(length(ns)/3),n-1);    plot(a(29901:30000));    hold on;    plot(c(29901:30000),‘r‘);    error = sum(abs(a(1:30000)-c(1:30000)) .^2) / sum(abs(a(1:30000)) .^2);    title([‘fs/fc = ‘,num2str(n),‘ SDR = ‘,num2str(10*log10(1/error)), ‘dB VS‘, num2str(40*log10(n/2)),‘ dB‘])end
Simulation Result Analysis
  • Neighboring point interpolation simulation results: the performance is very poor and cannot be used.

  • Linear interpolation simulation results: it is better to see that it is in line with the theoretical value.

  • Simulation results of three-step Hermite interpolation: About 5 dB is increased, but a large amount of computation is produced.

  • Cubic Spline Interpolation simulation results: the performance is very good, but the most complex. Because spline interpolation is also used when adding doppler data, the theoretical result should be calculated only when the simulation result is 3 dB.

  • Conclusion if the influence of Doppler is removed using the ressample method and the more practical linear interpolation method is adopted, to meet the requirement of communication signal-to-noise ratio of about 19db, increase the sampling rate to at least six times the signal frequency.
      
      
       For more information, see focustc. The blog address is http://blog.csdn.net/caozhk.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.