Accelerating the pace of engineering and science

# azel2uvpat

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

## Syntax

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

## Description

example

pat_uv = azel2uvpat(pat_azel,az,el) expresses the antenna radiation pattern pat_azel in u/v space coordinates instead of azimuth/elevation angle coordinates. pat_azel samples the pattern at azimuth angles in az and elevation angles in el. The pat_uv matrix uses a default grid that covers u values from –1 to 1 and v values from –1 to 1. In this grid, pat_uv is uniformly sampled with a step size of 0.01 for u and v. The function interpolates to estimate the response of the antenna at a given direction. Values in pat_uv are NaN for u and v values outside the unit circle because u and v are undefined outside the unit circle.

example

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

example

[pat_uv,u,v] = azel2uvpat(___) returns vectors containing the u and v coordinates at which pat_uv samples the pattern, using any of the input arguments in the previous syntaxes.

## Examples

expand all

Convert a radiation pattern to u/v form, with the u and v coordinates spaced by 0.01.

Define the pattern in terms of azimuth and elevation.

```az = -90:90;
el = -90:90;
pat_azel = mag2db(repmat(cosd(el)',1,numel(az)));```

Convert the pattern to u/v space.

`pat_uv = azel2uvpat(pat_azel,az,el);`

Plot the result of converting a radiation pattern to space with the and coordinates spaced by 0.01.

The radiation pattern is the cosine of the elevation angle.

```az = -90:90;
el = -90:90;
pat_azel = repmat(cosd(el)',1,numel(az));
```

Convert the pattern to space. Use the and coordinates for plotting.

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

Plot the result.

```H = surf(u,v,mag2db(pat_uv));
H.LineStyle = 'none';
xlabel('u');
ylabel('v');
zlabel('Pattern');
```

### Convert Radiation Pattern For Specific U/V Values

Convert a radiation pattern to form, with the and coordinates spaced by 0.05.

The radiation pattern is cosine of the elevation angle.

```az = -90:90;
el = -90:90;
pat_azel = repmat(cosd(el)',1,numel(az));
```

Define the set of and coordinates at which to sample the pattern. Then, convert the pattern.

```u = -1:0.05:1;
v = -1:0.05:1;
pat_uv = azel2uvpat(pat_azel,az,el,u,v);
```

Plot the result.

```H = surf(u,v,mag2db(pat_uv));
H.LineStyle = 'none';
xlabel('u');
ylabel('v');
zlabel('Pattern');
```

## Input Arguments

expand all

### pat_azel — Antenna radiation pattern in azimuth/elevation formQ-by-P matrix

Antenna radiation pattern in azimuth/elevation form, specified as a Q-by-P matrix. pat_azel samples the 3-D magnitude pattern in decibels, in terms of azimuth and elevation angles. P is the length of the az vector, and Q is the length of the el vector.

Data Types: double

### az — Azimuth anglesvector of length P

Azimuth angles at which pat_azel samples the pattern, specified as a vector of length P. 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 anglesvector of length Q

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

Data Types: double

### u — u coordinates[-1:0.01:1] (default) | vector of length L

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

Data Types: double

### v — v coordinates[-1:0.01:1] (default) | vector of length M

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

Data Types: double

## Output Arguments

expand all

### pat_uv — Antenna radiation pattern in u/v formM-by-L matrix

Antenna radiation pattern in u/v form, returned as an M-by-L matrix. pat_uv samples the 3-D magnitude pattern in decibels, in terms of u and v coordinates. L is the length of the u vector, and M is the length of the v vector. Values in pat_uv are NaN for u and v values outside the unit circle because u and v are undefined outside the unit circle.

### u — u coordinatesvector of length L

u coordinates at which pat_uv samples the pattern, returned as a vector of length L.

### v — v coordinatesvector of length M

v coordinates at which pat_uv samples the pattern, returned as a vector of length M.

expand all

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

### 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 by:

$\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}$