Skip to Main Content Skip to Search
Product Documentation

ambgfun - Ambiguity function

Syntax

afmag = ambgfun(x,Fs,PRF)
[afmag,delay,doppler] = ambgfun(x,Fs,PRF)
[afmag,delay,doppler] = ambgfun(x,Fs,PRF,'Cut','2D')
[afmag,delay] = ambgfun(x,Fs,PRF,'Cut','Doppler')
[afmag,doppler] = ambgfun(x,Fs,PRF,'Cut','Delay')
ambgfun(x,Fs,PRF)
ambgfun(x,Fs,PRF,'Cut','2D')
ambgfun(x,Fs,PRF,'Cut','Delay')
ambgfun(x,Fs,PRF,'Cut','Doppler')

Description

afmag = ambgfun(x,Fs,PRF) returns the magnitude of the normalized ambiguity function for the vector x. The sampling of x occurs at Fs hertz with pulse repetition frequency, PRF. The sampling frequency Fs divided by the pulse repetition frequency PRF is the number of samples per pulse.

[afmag,delay,doppler] = ambgfun(x,Fs,PRF) or [afmag,delay,doppler] = ambgfun(x,Fs,PRF,'Cut','2D') returns the time delay vector, delay, and the Doppler frequency vector, doppler.

[afmag,delay] = ambgfun(x,Fs,PRF,'Cut','Doppler') returns the zero Doppler cut through the 2-D normalized ambiguity function magnitude.

[afmag,doppler] = ambgfun(x,Fs,PRF,'Cut','Delay') returns the zero delay cut through the 2-D normalized ambiguity function magnitude.

ambgfun(x,Fs,PRF) or ambgfun(x,Fs,PRF,'Cut','2D') with no output argument produces a contour plot of the ambiguity function.

ambgfun(x,Fs,PRF,'Cut','Delay') or ambgfun(x,Fs,PRF,'Cut','Doppler') with no output argument produces a line plot of the ambiguity function cut.

Input Arguments

x

Pulse waveform. x is a row or column vector.

Fs

Sampling frequency in hertz.

PRF

Pulse repetition frequency in hertz.

Output Arguments

afmag

Normalized ambiguity function magnitudes. afmag is an M-by-N matrix where M is the number of Doppler frequencies and N is the number of time delays.

delay

Time delay vector. delay is an N-by-1 vector of time delays. The time delay vector consists of N = 2*length(x)-1 linearly spaced samples in the interval (-length(x)/Fs, length(x)/Fs). The spacing between elements is the reciprocal of the sampling frequency.

doppler

Doppler frequency vector. doppler is an M-by-1 vector of Doppler frequencies. The Doppler frequency vector consists of linearly spaced samples in the frequency interval [-Fs/2,Fs/2). The spacing between elements in the Doppler frequency vector is Fs/2^nextpow2(2*length(x)-1).

Definitions

Normalized Ambiguity Function

The magnitude of the normalized ambiguity function is defined as:

where Ex is the norm of the signal, x(t), t is the time delay, and fd is a Doppler shift. The asterisk (*) denotes the complex conjugate.

The ambiguity function is a function of two variables that describes the effects of time delays and Doppler shifts on the output of a matched filter.

The magnitude of the ambiguity function at zero time delay and Doppler shift, indicates the matched filter output when the received waveform exhibits the time delay and Doppler shift for which the matched filter is designed. Nonzero values of the time delay and Doppler shift variables indicate that the received waveform exhibits mismatches in time delay and Doppler shift from the matched filter.

The magnitude of the ambiguity function achieves maximum value at (0,0). At this point, there is perfect correspondence between the received waveform and the matched filter. In the normalized ambiguity function, the maximum value equals one.

Examples

Plot the ambiguity function magnitude of a rectangular pulse.

hrect = phased.RectangularWaveform;
% Default rectangular pulse waveform
x = step(hrect);
PRF = 2e4;
[afmag,delay,doppler] = ambgfun(x,hrect.SampleRate,PRF);
contour(delay,doppler,afmag);
xlabel('Delay (seconds)'); ylabel('Doppler Shift (hertz)');

 

Zero-Doppler cuts (autocorrelation sequences) for rectangular and linear FM pulses of the same duration. Note the pulse compression exhibited in the autocorrelation sequence of the linear FM pulse.

hrect = phased.RectangularWaveform('PRF',2e4);
hfm = phased.LinearFMWaveform('PRF',2e4);
xrect = step(hrect);
xfm = step(hfm);
[ambrect,delayrect] = ambgfun(xrect,hrect.SampleRate,...,
    hrect.PRF,'Cut','Doppler');
[ambfm,delayfm] = ambgfun(xfm,hfm.SampleRate,...,
    hfm.PRF,'Cut','Doppler');
figure;
subplot(211);
stem(delayrect,ambrect);
title('Autocorrelation of Rectangular Pulse');
subplot(212);
stem(delayfm,ambfm)
xlabel('Delay (seconds)');
title('Autocorrelation of Linear FM Pulse');

References

[1] Levanon, N. and E. Mozeson. Radar Signals. Hoboken, NJ: John Wiley & Sons, 2004.

[2] Mahafza, B. R., and A. Z. Elsherbeni. MATLAB Simulations for Radar Systems Design. Boca Raton, FL: CRC Press, 2004.

[3] Richards, M. A. Fundamentals of Radar Signal Processing. New York: McGraw-Hill, 2005.

See Also

phased.LinearFMWaveform | phased.MatchedFilter | phased.RectangularWaveform | phased.SteppedFMWaveform

  


Recommended Products

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.

 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS