Main Content

azel2uvpat

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

Description

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

example

Examples

collapse all

Convert a radiation pattern to u-v space, 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 u/v space with the u and v 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 u/v space. Use the u and v 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');

Figure contains an axes object. The axes object with xlabel u, ylabel v contains an object of type surface.

Convert a radiation pattern to u/v form, with the u and v 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 u and v 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');

Figure contains an axes object. The axes object with xlabel u, ylabel v contains an object of type surface.

Input Arguments

collapse all

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

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

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

collapse all

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 coordinates at which pat_uv samples the pattern, returned as a vector of length L.

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

More About

collapse all

Extended Capabilities

expand all

Version History

Introduced in R2012a