Main Content

range2height

Convert propagated range to target height

Since R2021b

Description

tgtht = range2height(r,anht,el) returns the target height tgtht as a function of the propagated range r, the sensor height anht, and the local elevation angle el assuming a Curved Earth Model with a 4/3 effective Earth radius.

example

tgtht = range2height(r,anht,el,Name=Value) 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.

example

Examples

collapse all

Determine the target height in meters given a range of 300 km, a sensor height of 10 meters, and an elevation angle of 0.5 degrees. Assume a curved Earth with an effective radius equal to 4/3 times the Earth's actual radius.

R = 300e3;
anht = 10;
el = 0.5;

range2height(R,anht,el)
ans = 
7.9325e+03

Compute target heights in meters using different Earth models and compare the values you obtain. Assume a range of 200 km and an antenna height of 100 meters. Use a range of elevation angles from 0 to 5 degrees.

R = 200e3;
anht = 100;
el = (0:0.1:5)';

Compute the target height for the given parameters assuming a flat Earth.

tgthtFlat = range2height(R,anht,el,Method="Flat");

Compute the target height for the given parameters assuming free-space propagation with a curved Earth.

r0 = physconst("EarthRadius");
tgthtFS = range2height(R,anht,el,Method="Curved", ...
    EffectiveEarthRadius=r0);

Compute the target height for the given parameters assuming a 4/3 effective Earth radius.

tgthtEffRad = range2height(R,anht,el);

Compute the target height for the given parameters assuming the CRPL atmospheric model.

tgthtCRPL = range2height(R,anht,el,Method="CRPL");

Plot the results.

plot(el,[tgthtFlat(:) tgthtFS(:) tgthtEffRad(:)], ...
    el,tgthtCRPL,'--',LineWidth=1.5)
grid on

xlabel("Elevation Angle (degrees)")
ylabel("Target Height (m)")
legend(["Flat" "Free Space" "4/3 Earth" "CRPL"],Location="best")
title("Target Height Estimation")

Figure contains an axes object. The axes object with title Target Height Estimation, xlabel Elevation Angle (degrees), ylabel Target Height (m) contains 4 objects of type line. These objects represent Flat, Free Space, 4/3 Earth, CRPL.

Input Arguments

collapse all

Propagated range between the target and the sensor in meters, specified as a real-valued scalar or vector. If r is a vector, it must have the same size as the other vector input arguments of range2height.

Data Types: double

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 range2height. Heights are referenced to the ground.

Data Types: double

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 range2height.

Data Types: double

Name-Value Arguments

collapse all

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,MaxNumIterations=8,Tolerance=1e-7

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

Effective Earth radius in meters, specified as a positive scalar. If this argument is not specified, range2height 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

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 range2height. This argument applies only if Method is specified as "CRPL".

Data Types: double

Refraction exponent, specified as a nonnegative real-valued scalar. The refraction exponent is a parameter of the CRPL Exponential Reference Atmosphere Model used by range2height. This argument applies only if Method is specified as "CRPL".

Data Types: double

Maximum number of iterations for the CRPL method, specified as a nonnegative scalar integer. This input acts as a safeguard to preempt long iterative calculations. This argument applies only if Method is specified as "CRPL".

If MaxNumIterations is set to 0, range2height performs a faster but less accurate noniterative CRPL calculation. The noniterative calculation has a maximum height error of 0.056388 m (0.185 ft) at a target height of 30,480 m (100,000 ft) and an elevation angle of 0. The height error for the noniterative method decreases with decreasing target height and increasing elevation angle.

Data Types: double

Numerical tolerance for the CRPL method, specified as a positive real scalar. The iterative process terminates when the numerical tolerance is achieved. This argument applies only if Method is specified as "CRPL" and MaxNumIterations is greater than 0.

Data Types: double

Output Arguments

collapse all

Target height in meters, returned as a nonnegative real-valued scalar or row vector. If tgtht is a vector, it has the same size as the vector input arguments of range2height. The height is referenced to the ground.

More About

collapse all

References

[1] Barton, David K. Radar Equations for Modern Radar. Norwood, MA: Artech House, 2013.

[2] Bean, B.R., and G.D. Thayer. "Central Radio Propagation Laboratory Exponential Reference Atmosphere." Journal of Research of the National Bureau of Standards, Section D: Radio Propagation 63D, no. 3 (November 1959): 315. https://doi.org/10.6028/jres.063D.031.

[3] Blake, Lamont V. "Ray Height Computation for a Continuous Nonlinear Atmospheric Refractive-Index Profile." Radio Science 3, no. 1 (January 1968): 85–92. https://doi.org/10.1002/rds19683185.

Extended Capabilities

expand all

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2021b