phased.ScatteringMIMOChannel
Scattering MIMO channel
Description
The phased.ScatteringMIMOChannel
            System object™ models a multipath propagation channel where a transmitting array radiates
            signals that reflect off multiple scatterers and travel back toward a receiving array.
            In this channel, propagation paths are line of sight from point to point. The object
            models range-dependent time delay, gain, Doppler shift, phase change, and atmospheric
            loss due to gases, rain, fog, and clouds.
The attenuation models for atmospheric gases and rain are valid for electromagnetic signals in the frequency range from 1 through 1000 GHz. The attenuation model for fog and clouds is valid from 10 through 1000 GHz. Outside of these frequency ranges, the object uses the nearest valid value.
To compute the multipath propagation for specified source and receiver points:
- Create the - phased.ScatteringMIMOChannelobject and set its properties.
- Call the object with arguments, as if it were a function. 
To learn more about how System objects work, see What Are System Objects?
Creation
Syntax
Description
scatteringMIMOChannel = phased.ScatteringMIMOChannel
                    creates a scattering MIMO propagation channel System object, scatteringMIMOChannel.
scatteringMIMOChannel = phased.ScatteringMIMOChannel(
                    sets properties using optional name-value arguments.Name=Value)
Properties
Usage
Syntax
Description
Y = scatteringMIMOChannel(channel,X)channel, to propagate a
                    signal, X, from a transmitting array towards multiple
                    scatterers, and returns the scattered signals, Y, to a
                    receiving array.
To enable this syntax, set the TransmitArrayMotionSource,
                        ReceiveArrayMotionSource, and
                        ScattererSpecificationSource properties to
                        "Property". 
[propagates
                    the polarized signals, YH,YV] = scatteringMIMOChannel(channel,[XH,XV])XH and XV,
                    through the H-port and V-port of the
                    transmit array. The object returns the received signals, YH
                    and YV to the H-port and
                        V-port of the receive array.
To enable this syntax, set the Polarization property to
                        "Dual".
[___] = scatteringMIMOChannel(___,
                    specifies the scatterer positions and velocities, and the scattering
                    coefficients.scatpos,scatvel,scatcoef)
To enable this syntax, set the TransmitArrayMotionSource
                    and ReceiveArrayMotionSource properties to
                        "Property", set
                        ScattererSpecificationSource to "Input
                        port', and set the Polarization property to
                        "None'.
[___] = scatteringMIMOChannel(___,
                    specifies the scatterer positions, scatpos,scatvel,scatmat,scataxes)scatpos, and velocities,
                        scatvel, the scattering matrix,
                        scatmat, and the scatterer orientation axes,
                        scataxes.
To enable this syntax, set the TransmitArrayMotionSource
                    and ReceiveArrayMotionSource properties to
                        "Property", set
                        ScattererSpecificationSource to "Input
                        port", and set the Polarization property to
                        "Combined" or "Dual".
[___,
                    also returns the channel response matrix, CR,TAU]
= scatteringMIMOChannel(channel,___)CR, and the
                    channel path delays, TAU, using any of the previous input
                    argument combinations.
To enable this syntax, set the ChannelResponseOutputPort
                    property to true and set the
                        Polarization property to "None" or
                        "Combined".
[___,
                    also returns the channel response matrices,
                            CRHH,CRHV,CRVH,CRVV,TAU]
= scatteringMIMOChannel(channel,___)CRHH,
                            CRHV,
                            CRVH, and
                            CRVV, using any of the
                    previous input argument combinations.
To enable this syntax, set the ChannelResponseOutputPort
                    property to true and set the
                        Polarization property to
                    "Dual".
[___] = scatteringMIMOChannel(___,
                    uses steert)steert as the subarray steering angle for the transmit
                    array. This syntax is only applicable when you use subarrays in the
                        TransmitArray property and set the
                        SubarraySteering property in the
                        ReceiveArray to either "Phase" or
                        "Time".
[___] = scatteringMIMOChannel(___,
                    specifies the element weights, wst)wst for each element within
                    the transmit array subarrays. This syntax is applicable when you use a subarray
                    as the transmit array and set the SubarraySteering property
                    to "Custom' or an phased.NRRectangularPanelArray
                    System object that uses each panel as a subarray.
[___] = scatteringMIMOChannel(___,
                    uses steerr)steerr as the subarray steering angle for the receive
                    array. This syntax is only applicable when you use subarrays in the
                        ReceiveArray property, set the
                        SubarraySteering property in the
                        ReceiveArray to either "Phase" or
                        "Time".
[___] = scatteringMIMOChannel(___,
                    specifies the element weights, wsr)wsr, for each element within
                    the receive array subarrays. This syntax is applicable when you use a subarray
                    as the receive array and set the SubarraySteering property
                    to "Custom" or an phased.NRRectangularPanelArray
                    System object that uses each panel as a subarray.
[combines
                    optional input arguments when you set their enabling properties.Y,CR,TAU]
= scatteringMIMOChannel(channel,X,steert,steerr,txpos,txvel,txaxesrxpos,rxvel,rxaxes,scatpos,scatvel,scatcoef)
Note
You can combine optional input arguments by enabling their respective properties, as shown in the previous two syntaxes.
Input Arguments
Output Arguments
Object Functions
To use an object function, specify the
      System object as the first input argument. For
      example, to release system resources of a System object named obj, use
      this syntax:
release(obj)
Examples
More About
References
[1] Heath, R. Jr. et al. “An Overview of Signal Processing Techniques for Millimeter Wave MIMO Systems”, arXiv.org:1512.03007 [cs.IT], 2015.
[2] Tse, D. and P. Viswanath, Fundamentals of Wireless Communications, Cambridge: Cambridge University Press, 2005.
[3] Paulraj, A. Introduction to Space-Time Wireless Communications, Cambridge: Cambridge University Press, 2003.
[4] Radiocommunication Sector of the International Telecommunication Union. Recommendation ITU-R P.676-10: Attenuation by atmospheric gases. 2013.
[5] Radiocommunication Sector of the International Telecommunication Union. Recommendation ITU-R P.840-6: Attenuation due to clouds and fog. 2013.
[6] Radiocommunication Sector of the International Telecommunication Union. Recommendation ITU-R P.838-3: Specific attenuation model for rain for use in prediction methods. 2005.
[7] Seybold, J. Introduction to RF Propagation. New York: Wiley & Sons, 2005.
[8] Skolnik, M. Introduction to Radar Systems, 3rd Ed. New York: McGraw-Hill, 2001.
Extended Capabilities
Version History
Introduced in R2017aSee Also
Functions
- rangeangle|- fogpl|- gaspl|- rainpl|- fspl|- diagbfweights|- scatteringchanmtx|- waterfill
Objects
- phased.FreeSpace|- phased.RadarTarget|- phased.BackscatterRadarTarget|- twoRayChannel(Radar Toolbox) |- phased.LOSChannel