Main Content

dechirp

Perform dechirp operation on FMCW signal

Description

y = dechirp(x,xref) mixes the incoming signal, x, with the reference signal, xref. The signals can be complex baseband signals. In an FMCW radar system, x is the received signal and xref is the transmitted signal.

example

Examples

collapse all

Dechirp a delayed FMCW signal, and plot the spectrum before and after dechirping.

Create an FMCW signal.

Fs = 2e5; Tm = 0.001;
hwav = phased.FMCWWaveform('SampleRate',Fs,'SweepTime',Tm);
xref = step(hwav);

Dechirp a delayed copy of the signal.

x = [zeros(10,1); xref(1:end-10)];
y = dechirp(x,xref);

Plot the spectrum before dechirping.

[Pxx,F] = periodogram(x,[],1024,Fs,'centered');
plot(F/1000,10*log10(Pxx)); grid;
xlabel('Frequency (kHz)');
ylabel('Power/Frequency (dB/Hz)');
title('Periodogram Power Spectral Density Estimate Before Dechirping');

Figure contains an axes object. The axes object with title Periodogram Power Spectral Density Estimate Before Dechirping, xlabel Frequency (kHz), ylabel Power/Frequency (dB/Hz) contains an object of type line.

Plot the spectrum after dechirping.

[Pyy,F] = periodogram(y,[],1024,Fs,'centered');
plot(F/1000,10*log10(Pyy));
xlabel('Frequency (kHz)');
ylabel('Power/Frequency (dB/Hz)');
ylim([-100 -30]); grid
title('Periodogram Power Spectral Density Estimate After Dechirping');

Figure contains an axes object. The axes object with title Periodogram Power Spectral Density Estimate After Dechirping, xlabel Frequency (kHz), ylabel Power/Frequency (dB/Hz) contains an object of type line.

Input Arguments

collapse all

Incoming signal, specified as an M-by-N matrix. Each column of x is an independent signal and is individually mixed with xref.

Data Types: single | double
Complex Number Support: Yes

Reference signal, specified as an M-by-1 vector.

Data Types: single | double
Complex Number Support: Yes

Output Arguments

collapse all

Dechirped signal, returned as an M-by-N matrix. Each column is the mixer output for the corresponding column of x.

Data Types: single | double

Algorithms

For column vectors x and xref, the mix operation is defined as xref .* conj(x).

If x has multiple columns, the mix operation applies the preceding expression to each column of x independently.

The mix operation reverses the Doppler shift embedded in x, because of the mixing order of xref and x. The mixing order affects the sign of the imaginary part of the output argument, y. There is no consistent convention in the literature about the mixing order. This function and the beat2range function use the same convention. If your program processes the output of dechirp in other ways, take the mixing order into account.

This function supports single and double precision for input data and arguments. If the input data, x, is single precision, the output data is single precision, regardless of the precision of the arguments. If the input data is double precision, the output data is double precision, regardless of the precision of the arguments.

References

[1] Pace, Phillip. Detecting and Classifying Low Probability of Intercept Radar. Boston: Artech House, 2009.

[2] Skolnik, M.I. Introduction to Radar Systems. New York: McGraw-Hill, 1980.

Extended Capabilities

Version History

Introduced in R2012b