Skip to content Skip to navigation

Connexions

You are here: Home » Content » Approach for Range

Navigation

Lenses

What is a lens?

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

This content is ...

Affiliated with (What does "Affiliated with" mean?)

This content is either by members of the organizations listed or about topics related to the organizations listed. Click each link to see a list of all content affiliated with the organization.
  • Rice University ELEC 301 Projects

    This module is included inLens: Rice University ELEC 301 Project Lens
    By: Rice University ELEC 301As a part of collection: "ECE 301 Projects Fall 2003"

    Click the "Rice University ELEC 301 Projects" link to see all content affiliated with them.

  • Rice Digital Scholarship

    This module is included in aLens by: Digital Scholarship at Rice UniversityAs a part of collection: "ECE 301 Projects Fall 2003"

    Click the "Rice Digital Scholarship" link to see all content affiliated with them.

Also in these lenses

  • Lens for Engineering

    This module is included inLens: Lens for Engineering
    By: Sidney Burrus

    Click the "Lens for Engineering" link to see all content selected in this lens.

  • EW Public Lens display tagshide tags

    This module is included inLens: Ed Woodward's Public Lens
    By: Ed WoodwardAs a part of collection: "ECE 301 Projects Fall 2003"

    Comments:

    "assafdf"

    Click the "EW Public Lens" link to see all content selected in this lens.

    Click the tag icon tag icon to display tags associated with this content.

Recently Viewed

This feature requires Javascript to be enabled.

Tags

(What is a tag?)

These tags come from the endorsement, affiliation, and other lenses that include this content.
 

Approach for Range

Module by: Amit Aggarwal, Erlend Hansen. E-mail the authors

Approach

Flow Chart for Approach of Range

Figure 1: Range Analysis Block Diagram
Range Analysis Block Diagram
Range Analysis Block Diagram (rangechart.jpg)

Chirp and Chirp Train Design

First, we design a Linear Frequency Modulated (LFM) chirp for the desired time-bandwidth product amount (TW), oversampling amount p, and sampling frequency (fs) . The MATLAB program "dchirp2" will build up a single pulse while "ctbuild4" will design a burst waveform consisting of L chirps, repeated over a period M.

Example of "dchirp2" MATLAB function call

[s,h,y,T,W,Ts] = dchirp2(TW,p,sampfreq) with outputs:

  • s = single LFM chirp set to specified input paramters
  • h = match filter impulse response
  • y = (used for testing of original code) passing s through match filter
  • T = time duration of LFM chirp (units: sec)
  • W= swept bandwidth of LFM chirp (units: Hz)
  • Ts= sampling period (1/fs)

Example of "ctbuild4" MATLAB function call

[s,ssent,h,y,T,W,Ts] = ctbuild4(TW,p,sampfreq,M,L) with outputs:

  • s = single chirp defined by TW,p
  • ssent = noise-free burst waveform of L lfm chirps of the same TW, p
  • h = match filter impulse response
  • y = (used for testing of original code) passing s through match filter
  • T = time duration of LFM chirp (units: sec)
  • W= swept bandwidth of LFM chirp (units: Hz)
  • Ts= sampling period (1/fs)

Simulate radar returns

In order to simulate proper radar returns, we first simulate the noise of a channel. Thus, we add complex white Gaussian nosie, using the "crandn" command in MATLAB, to our complex train of chirps. We perform this opertion in our main MATLAB function called "burst4." Next, we then apply a time delay to our signal. The program accomplishes that by shifting a vector x of length N to the right by amount TD.

Note:

For the project we worked only with an assumed value of SNR = -10 dB (i.e. the std. deviation is the square root of 10 multiplied against the chirp's average amplitude). We did a visual comparison of these two values to make sure our value of n was correct. See MATLAB function "burst4" for detailed commentary.

Note:

The TD value inputted by the user is in terms of how many elements the user wants to physically shift the transmitted wave form by and do not correspond to actual units of time.

Defining max range of radar processing

The Maximum Range of our radar system is determiend by two things. First, how large the resting time is between consecutive falling and rising edges of chirps. Secondly, how long our signal is. The reason why these are important is that since this model for range processing is in discrete time, we can not simulate an infinite range for our targets. That would correspond to having to time delay our transmitted signal by a extremely large amount. If shifted by an amount greater than the signal's length, the simulated return would just be a flat line of value zero for the length of the signal. Basically, the signal can be time delayed only up until the first LFM chirp's falling edge. This location corresponds to the last value of the recieved signal to ensure getting a big enough spike in the match filter's output to use in calculating range. Thus, since we define the value for time period (Ts) of our chirp pulse train and the number of pulses, we can define the max range by finding the maximum amount we can shift our signal. Then by plugging in this max Td value into the discrete-time range equation below, the max range value is found.

Equation for Max Time Delay

MaxTD=ML(MN) MaxTD M L M N (1)

Note:

Basically M multiplied by L is the entire length of the signal and (M-N) is the last value of the first chirp right on the falling edge.

Characterizing Match Filter

We characterize the match filter impulse response as being h(t)=s*(-t)=exp(-j*W/T*t^2) with t on the range of [-T/2,T/2]. See "Background" module under the section "Match Filter" for more details.

Range Analysis

The approach taken now to analyze the corresponding range of the target for the received signal is the following:

  • Process recieved signal through a match filter with impulse response described above and in "Backgrounds"
  • Process originally transmitted signal through same match filter
  • Pick out the peaks from outputs via setting a threshold value as a starting point
  • Compare the location of the first peak from each output
  • The difference in locations of the 1st peaks is the time delay (Td) value
  • Plug Td into discrete time range equation to get approximate range

Note:

The reason why we only need to analyze the first peak is because we are assuming that the object is not moving. Also, for future work, if the range and velocity systems were to be integrated (i.e. can take into account a moving target ) an initial range would be calculated from the first returned pulse. Velocity would be calculated as well from the rest of the recieved signal. Then, a relationship could be found for the object's range as a function of time. More specifically R(t) = Ro - vt where assuming the target is approaching the radar and since the velocity was calculated the simple distance = rate x time relationship can be used ( where x = multiplication). Note, this is all assuming a constant velocity and that the target is still not at an angle to the radar's transmission path.
The matlab function "rangecalc" does the above stated list and an exampe of how it is called follows. It is interesting to note that the "rangecalc" function calls a subfunction to actually pick out the peaks in the outputs of the matched filters. The subfunction is called "pkpicker"" and was provided by the "Computer-Based Exerciese for Signal Processing Using MATLAB" book by Burrus [ et al.]. Given the number of peaks to look for, a threshold value to use, and a vector, the function will go through a vector and will output the locations of the highest peaks above the threshold as well as their values.

Example of "rangecalc" MATLAB function call

[timedelay,range,rsigmatchlocs] = rangecalc(rsig,tsig,h,number,thresh,Ts) with inputs:

  • rsig = simulated recieved signal
  • tsig = originally transmitted chirp train
  • h = match filter impulse resposne
  • number = # of pulses you want to be picked out
  • thresh = starting point to look for peaks in signal
  • Ts = sampling period
with outputs:
  • timedelay = difference in location of 1st peaks from outputs of both match filters
  • range = corresponding real world target range (units: meters)
  • rsigmatchlocs = vector containing locations of peaks from output of match filter of recieved signal

Example of "pkpicker" MATLAB function call

[peaks,locs] = pkpicker( x, thresh, number, sortem ) with inputs:

  • x : input data (if complex, operate on mag)
  • thresh : reject peaks below this level
  • number : max number of peaks to return
  • sortem : 'sort' will return list sorted by peak height instead of by index # (the default)
with outputs:
  • peaks : peak values
  • locs : location of peaks (index within a column)

Putting it all together

The function that we designed to combine all of the previously mentioned functions is called "burst4".

Example of "burst4" MATLAB function call

[noisytestecho,noisyshifttestecho,rsigmatchlocs,timedelay,range,h] = burst4(L,TW,p,M,n,sampfreq,TD) with inputs:

  • L: number of pulses
  • TW: time bandwidth product
  • p: oversampling factor
  • M: interpulse period
  • n: noise factor
  • sampfreq: sampling frequency to be used
  • TD: The amount the transmitted signal is to be shifted
with outputs:
  • noisytestecho: noisy burst waveform of L lfm chirps of the same TW,p
  • noisyshifttestecho: shifted (i.e. time-delayed) of noisy burst waveform
  • rsigmatchlocs: vector containing locations of peaks from output of match filter of recieved signal
  • timedelay: difference in location of 1st peaks from outputs of both match filters
  • range: real world target range (units: meters)
  • h: impulse response for match filter

Method of Comparison

Using the "radar" function provided by "Computer-Based Exerciese for Signal Processing Using MATLAB" by Burrus [ et al.] (see page 328 of book for full explanation of usage) we were able to compare our simulated returned signal.

Range Equation

Range Equation (Continuous Time)

Range=cTd2 Range c Td 2 (2)

Characteristics of continous-time Range Equation

The equation is designed for continuous time signal where the two parameters are:

  • Td = time delay between transmitted signal and recieved signal
  • c = speed of light (3 x 10^8 m/s) (where x = multiplication)

Range Equation (Discrete Time)

Range=cTsTd2 Range c Ts Td 2 (3)

Characteristics of discrete-time Range Equation

The equation that matlab will have to use to calculate range and get corresponding real world values from three paramters:

  • Td = difference in terms of actual physical location of the same value in 2 vectors
  • c = speed of light (3 x 10^8 m/s) (where x = multiplication)
  • Ts = 1/sampling frequency (used to create LFM chirp from beginning)

Where to Next

Next, look at "Range Results" as next step.

References

  1. Burrus [ et al.]. (2000). Computer-Based Exerciese for Signal Processing Using MATLAB. Prentice Hall.

Content actions

Download module as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks