Documentation Center

  • Trial Software
  • Product Updates

FMCW Range Estimation

The purpose of FMCW range estimation is to estimate the range of a target. For example, a radar for collision avoidance in an automobile needs to estimate the distance to the nearest obstacle. FMCW range estimation algorithms can vary in the details, but the typical high-level procedure is as follows:

  1. Dechirp — Dechirp the received signal by mixing it with the transmitted signal. If you use the dechirp function, the transmitted signal is the reference signal.

  2. Find beat frequency — From the dechirped signal, extract the beat frequency or pair of beat frequencies. If the FMCW signal has a sawtooth shape (up-sweep or down-sweep sawtooth shape), you extract one beat frequency. If the FMCW signal has a triangular sweep, you extract up-sweep and down-sweep beat frequencies.

    Extracting beat frequencies can use a variety of algorithms. For example, you can use the following features to help you perform this step:

    • pwelch or periodogram

    • psd

    • findpeaks

    • rootmusic

    • phased.CFARDetector

  3. Compute range — Use the beat frequency or frequencies to compute the corresponding range value. The beat2range function can perform this computation.

While developing your algorithm, you might also perform these auxiliary tasks:

  • Visualize targets in the range-Doppler domain, using the phased.RangeDopplerResponse System object™.

  • Determine whether you need to compensate for range-Doppler coupling. Such coupling can occur if the target is moving relative to the radar. You can use the rdcoupling function to compute the range offset due to range-Doppler coupling. If the range offset is not negligible, common compensation techniques include:

    • Subtracting the range offset from your initial range estimate

    • Having the FMCW signal use a triangle sweep instead of an up sweep or down sweep

  • Explore the relationships among your system's range requirements and parameters of the FMCW waveform. You can use these functions:

    • range2time

    • time2range

    • range2bw

See Also

| | | | | | | | | | | |

Related Examples

Was this topic helpful?