Main Content


Create phase shifter in microstrip form

Since R2022b


Use the phaseShifter object to create a phase shifter in the microstrip form. Phase shifters change the phase of a signal using proper matching at the input and output ports and minimum insertion loss.

Three part image from right to left: Default image of a phase shifter. Current distribution on the phase shifter. S-parameters plot of the phase shifter.




ps = phaseShifter creates a phase shifter using Teflon as the default substrate.


ps = phaseShifter(Name=Value) sets Properties using one or more name-value arguments. For example, phaseShifter(NumSections=3) creates a phase shifter with 3 U-sections. Properties not specified retain their default values.


expand all

Number of U-sections, specified as a positive scalar.

Example: ps = phaseShifter(NumSections=3)

Data Types: double

Shape of the U-sections, specified as a ubendRightAngle, ubendMitered, or ubendCurved object.

Example: shape = ubendMitered; ps = phaseShifter(SectionShape=shape)

Data Types: double

Length of the port line in meters, specified as a positive scalar.

Example: ps = phaseShifter(PortLineLength=0.0400)

Data Types: double

Width of the port line in meters, specified as a positive scalar.

Example: ps = phaseShifter(PortLineWidth=0.0800)

Data Types: double

Height of the phase shifter from the ground plane in meters, specified as a positive scalar. For multilayer dielectrics, use the Height property to create the filter between the two dielectric layers.

Example: ps = phaseShifter(Height=0.0019)

Data Types: double

Width of the ground plane in meters, specified as a positive scalar.

Example: ps = phaseShifter(GroundPlaneWidth=0.0500)

Data Types: double

Type of dielectric material used as a substrate, specified as a dielectric object. The dielectric material in a phaseShifter object with default properties is Teflon.

Example: d = dielectric("FR4"); ps = phaseShifter(Substrate=d)

Data Types: string | char

Type of metal used in the conducting layers, specified as a metal object. The type of metal in a phaseShifter object with default properties is PEC.

Example: m = metal("Copper"); ps = phaseShifter(Conductor=m)

Data Types: string | char

Flag to add a metal shielding to the PCB component, specified as a logical 0 or logical 1. The default value is logical 0.

Example: IsShielded = true or 1 add a metal shield.


To enable FEM solver required for the metal shield property, download the Integro-Differential Modeling Framework for MATLAB. To download this add-on:

  1. In the Home tab Environment section, click on Add-Ons. This opens the add-on explorer. You need an active internet connection to download the add-on.

  2. Search for Integro-Differential Modeling Framework for MATLAB and click Install.

  3. To verify if the download is successful, run

    in your MATLAB® session command line.

  4. On Windows, to run the IDMF add-on, you must install the Windows Subsystem for Linux (WSL). To install WSL, see Install Linux on Windows with WSL.

    The Windows Defender Firewall can block the PostgreSQL server when using the IDMF add-on. To resolve this issue, you can allow the server to communicate on desired networks if the firewall prompts. Alternatively, you can manually add the executable file of the PostgreSQL server located in <matlabroot>\sys\postgresql\win64\PostgreSQL\bin\postgres.exe. For more information regarding firewalls, see Allowing apps through Windows Defender Firewall .

Data Types: logical

This property is read-only.

Metal shield for the PCB component, specified as a shape.Box object. The length and width of the box must be equal to the length and width of the ground plane. The center of the box is at [0 0 Shielding.Height]. You can modify the property after creating the object.


To enable the Shielding property, set the IsShielded property to true or 1.

Type of RF connector assembled at the feed locations of the PCB component, specified as a RFConnector object.

Example: Create connector from RFConnector object like this: coaxial = RFConnector adds a coaxial connector.


To enable the Connector property, set the IsShielded property to true or 1.

Object Functions

currentCalculate and plot current distribution
chargeCalculate and plot charge distribution
designDesign phase shifter around specified frequency
feedCurrentCalculate current at feed port
layoutPlot all metal layers and board shape
meshChange and view mesh properties of metal or dielectric in PCB component
shapesExtract all metal layer shapes of PCB component
showDisplay PCB component structure or PCB shape
sparametersCalculate S-parameters for RF PCB objects
RFConnectorCreate RF connector


collapse all

Create a phase shifter with default values.

ps = phaseShifter
ps = 
  phaseShifter with properties:

         NumSections: 1
        SectionShape: [1x1 ubendRightAngle]
      PortLineLength: 0.0100
       PortLineWidth: 0.0050
              Height: 0.0016
    GroundPlaneWidth: 0.0500
           Substrate: [1x1 dielectric]
           Conductor: [1x1 metal]
          IsShielded: 0

Visualize the phase shifter.


Create a phase shifter at the interface of a multilayered dielectric.

ps = phaseShifter;
ps.Substrate = dielectric(Name={'Teflon','Teflon'},EpsilonR=[2.1 2.1], ...
    LossTangent=[0 0],Thickness=[0.8e-3 0.8e-3]);
ps.Height = 0.8e-3;

Visualize the phase shifter.


Version History

Introduced in R2022b

expand all