Main Content

uv2azelpat

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

Description

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_pat,el_pat] = 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.

example

Examples

collapse all

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

Define the pattern in terms of u and v. Because u and v values outside the unit circle are not physical, set the pattern values in this region to zero.

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 1° apart.

Define the pattern in terms of u and v. Because u and v values outside the unit circle are not physical, set the pattern values in this region to zero.

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 for plotting.

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

Plot the pattern.

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

Figure contains an axes object. The axes object with xlabel Azimuth (degrees), ylabel Elevation (degrees) contains an object of type surface.

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

Define the pattern in terms of u and v. Because u and v values outside the unit circle are not physical, set the pattern values in this region to zero.

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

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

Figure contains an axes object. The axes object with xlabel Azimuth (degrees), ylabel Elevation (degrees) contains an object of type surface.

Input Arguments

collapse all

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

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

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

collapse all

Antenna radiation pattern in azimuth-elevation coordinates, returned as a real-valued M-by-L matrix. pat_azel represents the magnitude pattern. L is the length of the az_pat vector, and M is the length of the el_pat vector. Units are in dB.

Azimuth angles at which the pat_azel output pattern is sampled, returned as a real-valued length-L vector. Units are in degrees.

Elevation angles at which the pat_azel output pattern is sampled, returned as a real-valued length-M vector. Units are in degrees.

More About

collapse all

Extended Capabilities

expand all

Version History

Introduced in R2012a