Accelerating the pace of engineering and science

# uv2azelpat

Convert radiation pattern from u/v form to azimuth/elevation form

## Syntax

• pat_azel = uv2azelpat(pat_uv,u,v) example
• pat_azel = uv2azelpat(pat_uv,u,v,az,el) example
• [pat_azel,az,el] = uv2azelpat(___) example

## Description

example

pat_azel = uv2azelpat(pat_uv,u,v) expresses the antenna radiation pattern pat_azel in azimuth/elevation angle coordinates instead of u/v space coordinates. pat_uv samples the pattern at u angles in u and v angles in v. The pat_azel matrix uses a default grid that covers azimuth values from –90 to 90 degrees and elevation values from –90 to 90 degrees. In this grid, pat_azel is uniformly sampled with a step size of 1 for azimuth and elevation. The function interpolates to estimate the response of the antenna at a given direction.

example

pat_azel = uv2azelpat(pat_uv,u,v,az,el) uses vectors az and el to specify the grid at which to sample pat_azel. To avoid interpolation errors, az should cover the range [–90, 90] and el should cover the range [–90, 90].

example

[pat_azel,az,el] = uv2azelpat(___) returns vectors containing the azimuth and elevation angles at which pat_azel samples the pattern, using any of the input arguments in the previous syntaxes.

## Examples

expand all

Convert a radiation pattern to azimuth/elevation form, with the angles spaced 1 degree apart.

Define the pattern in terms of u and v. For values outside the unit circle, u and v are undefined and the pattern value is 0.

```u = -1:0.01:1;
v = -1:0.01:1;
[u_grid,v_grid] = meshgrid(u,v);
pat_uv = sqrt(1 - u_grid.^2 - v_grid.^2);
pat_uv(hypot(u_grid,v_grid) >= 1) = 0;```

Convert the pattern to azimuth/elevation space.

`pat_azel = uv2azelpat(pat_uv,u,v);`

Convert a radiation pattern to azimuth/elevation form, with the angles spaced one degree apart.

Define the pattern in terms of and . For values outside the unit circle, and are undefined and the pattern value is 0.

```u = -1:0.01:1;
v = -1:0.01:1;
[u_grid,v_grid] = meshgrid(u,v);
pat_uv = sqrt(1 - u_grid.^2 - v_grid.^2);
pat_uv(hypot(u_grid,v_grid) >= 1) = 0;
```

Convert the pattern to azimuth/elevation space. Store the azimuth and elevation angles to use them for plotting.

```[pat_azel,az,el] = uv2azelpat(pat_uv,u,v);
```

Plot the result.

```H = surf(az,el,pat_azel);
H.LineStyle = 'none';
xlabel('Azimuth (degrees)');
ylabel('Elevation (degrees)');
zlabel('Pattern');
```

### Convert Radiation Pattern Using Specific Azimuth/Elevation Values

Convert a radiation pattern to azimuth/elevation form, with the angles spaced five degrees apart.

Define the pattern in terms of and . For values outside the unit circle, and are undefined and the pattern value is 0.

```u = -1:0.01:1;
v = -1:0.01:1;
[u_grid,v_grid] = meshgrid(u,v);
pat_uv = sqrt(1 - u_grid.^2 - v_grid.^2);
pat_uv(hypot(u_grid,v_grid) >= 1) = 0;
```

Define the set of azimuth and elevation angles at which to sample the pattern. Then convert the pattern.

```az = -90:5:90;
el = -90:5:90;
pat_azel = uv2azelpat(pat_uv,u,v,az,el);
```

Plot the result.

```H = surf(az,el,pat_azel);
H.LineStyle = 'none';
xlabel('Azimuth (degrees)');
ylabel('Elevation (degrees)');
zlabel('Pattern');
```

## Input Arguments

expand all

### pat_uv — Antenna radiation pattern in u/v formQ-by-P matrix

Antenna radiation pattern in u/v form, specified as a Q-by-P matrix. pat_uv samples the 3-D magnitude pattern in decibels in terms of u and v coordinates. P is the length of the u vector and Q is the length of the v vector.

Data Types: double

### u — u coordinatesvector of length P

u coordinates at which pat_uv samples the pattern, specified as a vector of length P. Each coordinate is between –1 and 1.

Data Types: double

### v — v coordinatesvector of length Q

v coordinates at which pat_uv samples the pattern, specified as a vector of length Q. Each coordinate is between –1 and 1.

Data Types: double

### az — Azimuth angles[-90:90] (default) | vector of length L

Azimuth angles at which pat_azel samples the pattern, specified as a vector of length L. Each azimuth angle is in degrees, between –90 and 90. Such azimuth angles are in the hemisphere for which u and v are defined.

Data Types: double

### el — Elevation angles[-90:90] (default) | vector of length M

Elevation angles at which pat_azel samples the pattern, specified as a vector of length M. Each elevation angle is in degrees, between –90 and 90.

Data Types: double

## Output Arguments

expand all

### pat_azel — Antenna radiation pattern in azimuth/elevation formM-by-L matrix

Antenna radiation pattern in azimuth/elevation form, returned as an M-by-L matrix. pat_azel samples the 3-D magnitude pattern in decibels, in terms of azimuth and elevation angles. L is the length of the az vector, and M is the length of the el vector.

### az — Azimuth anglesvector of length L

Azimuth angles at which pat_azel samples the pattern, returned as a vector of length L. Angles are expressed in degrees.

### el — Elevation anglesvector of length M

Elevation angles at which pat_azel samples the pattern, returned as a vector of length M. Angles are expressed in degrees.

expand all

### U/V Space

The u and v coordinates are the direction cosines of a vector with respect to the y-axis and z-axis, respectively.

The u/v coordinates for the hemisphere x ≥ 0 are derived from the phi and theta angles, as follows:

$\begin{array}{l}u=\mathrm{sin}\theta \mathrm{cos}\varphi \\ v=\mathrm{sin}\theta \mathrm{sin}\varphi \end{array}$

In these expressions, φ and θ are the phi and theta angles, respectively.

In terms of azimuth and elevation, the u and v coordinates are

$\begin{array}{l}u=\mathrm{cos}el\mathrm{sin}az\\ v=\mathrm{sin}el\end{array}$

The values of u and v satisfy the inequalities

$\begin{array}{l}-1\le u\le 1\\ -1\le v\le 1\\ {u}^{2}+{v}^{2}\le 1\end{array}$

Conversely, the phi and theta angles can be written in terms of u and v using

$\begin{array}{l}\mathrm{tan}\varphi =u/v\\ \mathrm{sin}\theta =\sqrt{{u}^{2}+{v}^{2}}\end{array}$

The azimuth and elevation angles can also be written in terms of u and v

$\begin{array}{l}\mathrm{sin}el=v\\ \mathrm{tan}az=\frac{u}{\sqrt{1-{u}^{2}-{v}^{2}}}\end{array}$

### Phi Angle, Theta Angle

The φ angle is the angle from the positive y-axis toward the positive z-axis, to the vector's orthogonal projection onto the yz plane. The φ angle is between 0 and 360 degrees. The θ angle is the angle from the x-axis toward the yz plane, to the vector itself. The θ angle is between 0 and 180 degrees.

The figure illustrates φ and θ for a vector that appears as a green solid line. The coordinate system is relative to the center of a uniform linear array, whose elements appear as blue circles.

The coordinate transformations between φ/θ and az/el are described by the following equations

$\begin{array}{l}\mathrm{sin}\left(\text{el}\right)=\mathrm{sin}\varphi \mathrm{sin}\theta \hfill \\ \mathrm{tan}\left(\text{az}\right)=\mathrm{cos}\varphi \mathrm{tan}\theta \hfill \\ \hfill \\ \mathrm{cos}\theta =\mathrm{cos}\left(\text{el}\right)\mathrm{cos}\left(\text{az}\right)\hfill \\ \mathrm{tan}\varphi =\mathrm{tan}\left(\text{el}\right)/\mathrm{sin}\left(\text{az}\right)\hfill \end{array}$

### Azimuth Angle, Elevation Angle

The azimuth angle is the angle from the positive x-axis toward the positive y-axis, to the vector's orthogonal projection onto the xy plane. The azimuth angle is between –180 and 180 degrees. The elevation angle is the angle from the vector's orthogonal projection onto the xy plane toward the positive z-axis, to the vector. The elevation angle is between –90 and 90 degrees. These definitions assume the boresight direction is the positive x-axis.

 Note:   The elevation angle is sometimes defined in the literature as the angle a vector makes with the positive z-axis. The MATLAB® and Phased Array System Toolbox™ products do not use this definition.

This figure illustrates the azimuth angle and elevation angle for a vector that appears as a green solid line. The coordinate system is relative to the center of a uniform linear array, whose elements appear as blue circles.