Main Content

phased.RISReflector

Reconfigurable intelligent surface (RIS) reflector

Since R2025a

Description

phased.RISReflector creates a narrowband rectangular Reconfigurable Intelligent Surface (RIS) reflector System object™. The object reflects narrowband signals in specified directions using a RIS surface.

To create and use a phased.RISReflector System object:

  1. Create the phased.RISReflector object and set its properties.

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

Description

reflector = phased.RISReflector creates a phased.RISReflector System object, reflector, with default property values.

reflector = phased.RISReflector(Name=Value) creates a phased.RISReflector System object with each specified property Name set to the specified Value.

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

example

Properties

expand all

Unless otherwise indicated, properties are nontunable, which means you cannot change their values after calling the object. Objects lock when you call them, and the release function unlocks them.

If a property is tunable, you can change its value at any time.

For more information on changing property values, see System Design in MATLAB Using System Objects.

RIS surface, specified as a phased.RectangularRIS System object. By default, the RIS surface has default phased.RectangularRIS properties.

Operating frequency, specified as a positive scalar. Units are in Hz.

Data Types: double

Propagation speed, specified as a positive scalar. Units are in meters/second.

Example: 3e8

Data Types: double

Usage

Description

resp = reflector(X,angin,angout,w) reflects signals, X, coming from incident directions specified by angin and towards reflection directions specified by angout. w represents the weights applied to each element of the surface.

example

Input Arguments

expand all

Incident signal, specified as a complex-valued M-column matrix. Matrix columns represent independent signals arriving at the surface.

Data Types: double
Complex Number Support: Yes

Incident angles of signals, specified as a real-valued length-M vector or real-valued 2-by-M matrix. M is the number of incident angles. If angin is a matrix, each column specifies an incident direction in the form of an [AzimuthAngle;ElevationAngle] pair. If angin is a vector, it represents only the azimuth angle. The corresponding elevation angles are zero. Units are in degrees.

Data Types: double

Reflected angles of signals, specified as a real-valued length-M vector or real-valued 2-by-M matrix. M is the number of reflected angles. angout must have the same size and dimensions as angin. If angin is a matrix, each column specifies an incident direction in the form of an [AzimuthAngle;ElevationAngle] pair. If angin is a vector, it represents only the azimuth angle. The corresponding elevation angles are zero. Units are in degrees.

Data Types: double

RIS array weights, specified as a complex-valued column vector. The number of entries in w must be the same as the number of array elements specified in the Size property of the RIS Surface.

Data Types: double
Complex Number Support: Yes

Output Arguments

expand all

Reflected signals from RIS, returned as a complex-valued M-column matrix. Each column represents a different reflected signal from the surface.

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)

expand all

stepRun System object algorithm
releaseRelease resources and allow changes to System object property values and input characteristics
resetReset internal states of System object

Examples

collapse all

Compute a signal scattered from a 25-by-25 Reconfigurable Intelligent Surface (RIS). The incident angle to the surface is10° in azimuth and the reflected direction is -10°in azimuth. Apply uniform weights to the RIS. RIS elements are half-wavelength apart.

fc = 300e6;
c = physconst("LightSpeed");
lambda = c/fc;
d = 0.5*lambda;

Create a rectangular RIS surface from cosine antenna elements.

ris = phased.RectangularRIS(...
    UnitCell=phased.CosineAntennaElement(CosinePower=2), ...
    Size=[25 25],Spacing=[d,d]);

Create the RIS reflector from the surface.

reflector = phased.RISReflector(Surface=ris);

Reflect a random signal.

x = randn(50,1);

Apply uniform weights to the array elements.

w = ones(getNumElements(reflector.Surface),1);

Display the array response.

y = reflector(x,[10;0],[-10;0],w)
y = 50×1
103 ×

    0.3161
    1.0781
   -1.3279
    0.5069
    0.1874
   -0.7688
   -0.2549
    0.2014
    2.1037
    1.6281
   -0.7936
    1.7842
    0.4264
   -0.0371
    0.4202
      ⋮

pattern(ris,fc,[10;0],-45:45,-45:45)

Figure contains an axes object. The hidden axes object with title 3D Response Pattern contains 13 objects of type surface, line, text, patch.

Extended Capabilities

expand all

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

Version History

Introduced in R2025a