Main Content

getElementNormal

Normal vectors for array elements

    Description

    example

    normvec = getElementNormal(array) returns the normal vectors normvec to the array.

    normvec = getElementNormal(array,elemidx) returns only the normals of the elements that are specified in the element index vector elemidx.

    Examples

    collapse all

    Construct three ULAs with elements along the x-, y-, and z-axes. Obtain the element normals.

    First, choose the array axis along the x-axis.

    sULA1 = phased.ULA('NumElements',5,'ArrayAxis','x');
    norm = getElementNormal(sULA1)
    norm = 2×5
    
        90    90    90    90    90
         0     0     0     0     0
    
    

    The element normal vectors point along the y-axis.

    Next, choose the array axis along the y-axis.

    sULA2 = phased.ULA('NumElements',5,'ArrayAxis','y');
    norm = getElementNormal(sULA2)
    norm = 2×5
    
         0     0     0     0     0
         0     0     0     0     0
    
    

    The element normal vectors point along the x-axis.

    Finally, set the array axis along the z-axis. Obtain the normal vectors of the odd-numbered elements.

    sULA3 = phased.ULA('NumElements',5,'ArrayAxis','z');
    norm = getElementNormal(sULA3,[1,3,5])
    norm = 2×3
    
         0     0     0
         0     0     0
    
    

    The element normal vectors also point along the x-axis.

    Input Arguments

    collapse all

    Phased array, specified as a System object.

    Element index vector, specified as a vector of positive integers each of which takes a value from 1 to N. The dimension N is the number of elements of the array.

    Example: [1,2,3]

    Output Arguments

    collapse all

    Normal vector of array elements, returned as a 2-by-M real matrix. Each column of normvec specifies the normal direction of the corresponding element in the local coordinate system in the form [azimuth;elevation]. If the input argument elemidx is not specified, M is the number of elements of the array, N. If elemidx is specified, M is the size of elemidx. The azimuth angle is defined as the angle from x-axis toward y axis. The elevation angle is defined as the angle from xy-plane toward z-axis. Units are in degrees.

    For uniform linear arrays, the normal vector depends upon the value of the ArrayAxis property.

    ArrayAxis Property ValueArray Normal Direction
    'x'azimuth = 90°, elevation = 0° (y-axis)
    'y'azimuth = 0°, elevation = 0° (x-axis)
    'z'azimuth = 0°, elevation = 0° (x-axis)
    • For a conformal array, the origin of the local coordinate system, i.e., the phase center of the array, is defined at an arbitrary point. In local coordinate system, x, y, and z axes are three orthogonal axes with x axis defines the normal direction of the conformal array. The elements are located in the 3D space.

    Extended Capabilities

    C/C++ Code Generation
    Generate C and C++ code using MATLAB® Coder™.

    Version History

    Introduced in R2021a