# height2range

## Syntax

## Description

returns the propagated range to the target, `r`

= height2range(`tgtht`

,`anht`

,`el`

)`r`

, as a function of the
target height `tgtht`

, the sensor height `anht`

, and
the local elevation angle `el`

assuming a Curved Earth Model with a 4/3 effective Earth
radius.

specifies additional inputs using name-value arguments. For example, you can specify a flat
Earth model, a curved Earth model with a given radius, or a CRPL Exponential Reference Atmosphere Model with custom
values.`r`

= height2range(`tgtht`

,`anht`

,`el`

,`Name=Value`

)

## Examples

### Range Along Propagated Path

Compute the range along the propagated path for a target height of 1 km, an antenna height of 10 meters, and an elevation angle of 2 degrees at the radar. Assume a curved Earth model with a 4/3 effective Earth radius.

r = height2range(1e3,10,2)

r = 2.7125e+04

### Propagated Range Using CRPL Atmosphere

Compute the range along the propagated path using the CRPL exponential reference atmosphere. Assume a target height of 1 km, an antenna height of 10 meters, and an elevation angle of 2 degrees at the radar. Additionally, compute the true slant range and the true elevation angle to the target.

`[R,SRtrue,elTrue] = height2range(1e3,10,2,Method="CRPL")`

R = 2.7171e+04

SRtrue = 2.7163e+04

elTrue = 1.9666

## Input Arguments

`tgtht`

— Target height

nonnegative real-valued scalar | nonnegative real-valued vector

Target height in meters, specified as a nonnegative real-valued scalar or vector. If `tgtht`

is a vector, it must have the same size as the other vector input arguments of `height2range`

. Heights are referenced to the ground.

**Data Types: **`double`

`anht`

— Sensor height

nonnegative real-valued scalar | nonnegative real-valued vector

Sensor height in meters, specified as a nonnegative real-valued scalar or vector. If
`anht`

is a vector, it must have the same size as the other
vector input arguments of `height2range`

. Heights are referenced to
the ground.

**Data Types: **`double`

`el`

— Local elevation angle

real-valued scalar | real-valued vector

Local elevation angle in degrees, specified as a real-valued scalar or vector. The local elevation angle is the initial elevation angle of the ray leaving the sensor. If `el`

is a vector, it must have the same size as the other vector input arguments of `height2range`

.

**Data Types: **`double`

### Name-Value Arguments

Specify optional pairs of arguments as
`Name1=Value1,...,NameN=ValueN`

, where `Name`

is
the argument name and `Value`

is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.

**Example: **`Method="CRPL",SurfaceRefractivity=300,RefractionExponent=0.15`

`Method`

— Earth model

`"Curved"`

(default) | `"Flat"`

| `"CRPL"`

Earth model used for the computation, specified as `"Curved"`

,
`"Flat"`

, or `"CPRL"`

.

`"Curved"`

— Assumes a Curved Earth Model with a 4/3 effective Earth radius, which is an approximation used for modeling refraction effects in the troposphere. To specify another value for the effective Earth radius, use the`EffectiveEarthRadius`

name-value argument.`"Flat"`

— Assumes a Flat Earth Model. In this case, the effective Earth radius is infinite.`"CRPL"`

— Assumes a curved Earth model with the atmosphere defined by the CRPL Exponential Reference Atmosphere Model with a refractivity of 313 N-units and a refraction exponent of 0.143859 km^{–1}. To specify other values for the refractivity and the refraction exponent, use the`SurfaceRefractivity`

and`RefractionExponent`

name value arguments. This method requires`el`

to be positive. For more information, see CRPL Model Geometry.

**Data Types: **`char`

| `string`

`EffectiveEarthRadius`

— Effective Earth radius

4/3 of Earth's radius (default) | positive scalar

Effective Earth radius in meters, specified as a positive scalar. If this argument is
not specified, `height2range`

calculates the effective Earth radius
using a refractivity gradient of –39 × 10^{–9} N-units/meter,
which results in approximately 4/3 of the real Earth radius. This argument applies only
if `Method`

is specified as `"Curved"`

.

**Data Types: **`double`

`SurfaceRefractivity`

— Surface refractivity

`313`

(default) | real-valued scalar

Surface refractivity in N-units, specified as a nonnegative real-valued scalar. The surface
refractivity is a parameter of the CRPL Exponential Reference Atmosphere Model used by
`height2range`

. This argument applies only if
`Method`

is specified as `"CRPL"`

.

**Data Types: **`double`

`RefractionExponent`

— Refraction exponent

`0.143859`

(default) | real-valued scalar

Refraction exponent, specified as a nonnegative real-valued scalar. The refraction exponent is
a parameter of the CRPL Exponential Reference Atmosphere Model used by
`height2range`

. This argument applies only if
`Method`

is specified as `"CRPL"`

.

**Data Types: **`double`

## Output Arguments

`r`

— Propagated range

real-valued scalar | real-valued row vector

Propagated range between the target and the sensor in meters, returned as a
real-valued scalar or row vector. If `r`

is a vector, it has the same
size as the vector input arguments of `height2range`

.

`trueSR`

— True slant range

real-valued scalar | real-valued row vector

True slant range in meters, returned as a real-valued scalar or row vector. If
`trueSR`

is a vector, it has the same size as the vector input
arguments of `height2range`

. This argument is available only if
`Method`

is specified as `"CRPL"`

.

`trueEL`

— True elevation angle

real-valued scalar | real-valued row vector

True elevation angle in degrees, returned as a real-valued scalar or row vector. If
`trueEL`

is a vector, it has the same size as the vector input
arguments of `height2range`

. This argument is available only if
`Method`

is specified as `"CRPL"`

.

## More About

### Flat Earth Model

The flat Earth model assumes that the Earth has infinite radius and that the index of refraction of air is uniform throughout the atmosphere. The flat Earth model is applicable over short distances and is used in applications like communications, automotive radar, and synthetic aperture radar (SAR).

Given the antenna height *h _{a}* and the initial
elevation angle

*θ*

_{0}, the model relates the target height

*h*and the slant range

_{T}*R*by

_{T}$${h}_{T}={h}_{a}+{R}_{T}\mathrm{sin}{\theta}_{0}\text{\hspace{1em}}\iff \text{\hspace{1em}}{R}_{T}=\left({h}_{T}-{h}_{a}\right)\mathrm{csc}{\theta}_{0},$$

so knowing one of those magnitudes enables you to compute the other. The
actual range *R* is equal to the slant range. The true elevation angle
*θ _{T}* is equal to the initial elevation
angle.

To compute the ground range *G*, use

$$G=\left({h}_{T}-{h}_{a}\right)\mathrm{cot}{\theta}_{0}.$$

### Curved Earth Model

The fact that the index of refraction of air depends on height can be treated approximately by using an effective Earth's radius larger than the actual value.

Given the effective Earth's radius *R*_{0}, the antenna
height *h _{a}*, and the initial elevation angle

*θ*

_{0}, the model relates the target height

*h*and the slant range

_{T}*R*by

_{T}$${\left({R}_{0}+{h}_{T}\right)}^{2}={\left({R}_{0}+{h}_{a}\right)}^{2}+{R}_{T}^{2}+2{R}_{T}\left({R}_{0}+{h}_{a}\right)\mathrm{sin}{\theta}_{0},$$

so knowing one of those magnitudes enables you to compute the other. In particular,

$${h}_{T}=\sqrt{{\left({R}_{0}+{h}_{a}\right)}^{2}+{R}_{T}^{2}+2{R}_{T}\left({R}_{0}+{h}_{a}\right)\mathrm{sin}{\theta}_{0}}-{R}_{0}.$$

The actual range *R* is equal to the slant range. The
true elevation angle *θ _{T}* is equal to the initial
elevation angle.

To compute the ground range *G*, use

$$G={R}_{0}\varphi ={R}_{0}\mathrm{arcsin}\frac{{R}_{T}\mathrm{cos}{\theta}_{0}}{{R}_{0}+{h}_{T}}.$$

A standard propagation model uses an effective Earth's radius that is 4/3 times the actual value. This model has two major limitations:

The model implies a value for the index of refraction near the Earth's surface that is valid only for certain areas and at certain times of the year. To mitigate this limitation, use an effective Earth's radius based on the near-surface refractivity value.

The model implies a value for the gradient of the index of refraction that is unrealistically low at heights of around 8 km. To partially mitigate this limitation, use an effective Earth's radius based on the platform altitudes.

For more information, see `effearthradius`

.

### CRPL Exponential Reference Atmosphere Model

Atmospheric refraction evidences itself as a deviation in an
electromagnetic ray from a straight line due to variation in air density as a function of
height. The Central Radio Propagation Laboratory (CRPL) exponential reference atmosphere
model treats refraction effects by assuming that the index of refraction
*n*(*h*) and the refractivity *N*
decay exponentially with height. The model defines

$$N=\left(n\left(h\right)-1\right)\times {10}^{6}={N}_{\text{s}}{e}^{-{R}_{\text{exp}}h},$$

where *N*_{s} is the atmospheric
refractivity value (in units of 10^{–6}) at the surface of the
earth, *R*_{exp} is the decay constant, and
*h* is the height above the surface in kilometers. Thus

$$n(h)=1+\left({N}_{\text{s}}\text{\hspace{0.17em}}\times {10}^{-6}\right){e}^{-{R}_{\text{exp}}h}.$$

The default value of *N*_{s} is 313
N-units and can be modified using the `SurfaceRefractivity`

name-value
argument in functions that accept it. The default value of
*R*_{exp} is 0.143859 km^{–1} and can be modified using the `RefractionExponent`

name-value argument in functions that accept it.

### CRPL Model Geometry

When the refractivity of air is incorporated into the curved Earth model, the ray paths do not follow a straight line but curve downward. (This statement assumes standard atmospheric propagation and nonnegative elevation angles.) The true elevation angle is different from the initial . The actual range , which is the distance along the curved path , is different from the slant range .

Given the Earth's radius , the antenna height , the initial elevation angle , and the height-dependent index of refraction with value at , the modified model relates the target height and the actual range by

When `Method`

is specified as `"CRPL"`

, the integral is solved using from CRPL Exponential Reference Atmosphere Model.

To compute the ground range , use

## Extended Capabilities

### C/C++ Code Generation

Generate C and C++ code using MATLAB® Coder™.

## Version History

**Introduced in R2021b**

## See Also

### Apps

### Functions

## Open Example

You have a modified version of this example. Do you want to open this example with your edits?

## MATLAB Command

You clicked a link that corresponds to this MATLAB command:

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

## How to Get Best Site Performance

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

### Americas

- América Latina (Español)
- Canada (English)
- United States (English)

### Europe

- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)

- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)