Main Content

uv2phithetapat

Convert radiation pattern from u/v form to phi/theta form

Description

example

pat_phitheta = uv2phithetapat(pat_uv,u,v) expresses the antenna radiation pattern pat_phitheta in φ/θ 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_phitheta matrix uses a default grid that covers φ values from 0 to 360 degrees and θ values from 0 to 90 degrees. In this grid, pat_phitheta is uniformly sampled with a step size of 1 for φ and θ. The function interpolates to estimate the response of the antenna at a given direction.

example

pat_phitheta = uv2phithetapat(pat_uv,u,v,phi,theta) uses vectors phi and theta to specify the grid at which to sample pat_phitheta. To avoid interpolation errors, phi should cover the range [0, 360], and theta should cover the range [0, 90].

example

[pat_phitheta,phi_pat,theta_pat] = uv2phithetapat(___) returns vectors containing the φ and θ angles at which pat_phitheta samples the pattern, using any of the input arguments in the previous syntaxes.

Examples

collapse all

Convert a radiation pattern to φ-θ space 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 φ-θ space.

[pat_phitheta,phi,theta] = uv2phithetapat(pat_uv,u,v);

Convert a radiation pattern to ϕ-θ space with the angles spaced one 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 ϕ-θ space. Store the ϕ and θ angles for use in plotting.

[pat_phitheta,phi,theta] = uv2phithetapat(pat_uv,u,v);

Plot the result.

H = surf(phi,theta,pat_phitheta);
H.LineStyle = 'none';
xlabel('Phi (degrees)');
ylabel('Theta (degrees)');
zlabel('Pattern');

Convert a radiation pattern to ϕ-θ space with the angles spaced five degrees 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;

Define the set of ϕ and θ angles at which to sample the pattern. Then, convert the pattern.

phi = 0:5:360;
theta = 0:5:90;
pat_phitheta = uv2phithetapat(pat_uv,u,v,phi,theta);

Plot the result.

H = surf(phi,theta,pat_phitheta);
H.LineStyle = 'none';
xlabel('Phi (degrees)');
ylabel('Theta (degrees)');
zlabel('Pattern');

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

Phi angles at which pat_phitheta samples the pattern, specified as a vector of length L. Each φ angle is in degrees, between 0 and 360.

Data Types: double

Theta angles at which pat_phitheta samples the pattern, specified as a vector of length M. Each θ angle is in degrees, between 0 and 90. Such θ angles are in the hemisphere for which u and v are defined.

Data Types: double

Output Arguments

collapse all

Antenna radiation pattern in phi-theta coordinates, returned as a real-valued M-by-L matrix. pat_phitheta represents the magnitude pattern. L is the length of the phi_pat vector, and M is the length of the theta_pat vector. Units are in dB.

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

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

More About

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

u=sinθcosϕv=sinθsinϕ

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

To convert azimuth and elevation to u and v use the transformation

u=coselsinazv=sinel

which is valid only in the range abs(az)≤=90.

The values of u and v satisfy the inequalities

1u11v1u2+v21

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

tanϕ=v/usinθ=u2+v2

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

sinel=vtanaz=u1u2v2

Phi Angle, Theta Angle

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

The figure illustrates phi and theta for a vector that appears as a green solid line.

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

sinel=sinϕsinθtanaz=cosϕtanθcosθ=coselcosaztanϕ=tanel/sinaz

Extended Capabilities

Version History

Introduced in R2012a