Main Content

couplerRatrace

Create equal-split rat-race coupler or 180-degree-ring hybrid

Since R2021b

Description

Use the couplerRatrace object to create an equal-split rat-race coupler or a 180-degree-ring hybrid.

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

The rat-race coupler is used as a splitter with a phase shift. When given two inputs, the coupler can create sum and difference ports for added and subtracted power. It also acts as an interface between transmitters and receivers for integrating with an antenna and in building circuits with complex functionality like a comparator with sum and difference ports.

There are four ports and the circumference is 1.5 λ. The phase shift between the output ports is 180 degrees. When you apply an input at port 1, port 2 and port 4 are coupled ports, where the output has a phase difference of 180 degrees, and port 3 is the isolated port. When you apply an input at port 3, the output is split equally with same phase at port 2 and port 4.

To analyze the behavioral model for the rat-race coupler, set the Behavioral property in the sparameters to true or 1.

Creation

Description

example

coupler = couplerRatrace creates a rat-race coupler with default property values for a frequency of 3 GHz.

coupler = couplerRatrace(Name=Value) sets Properties using one or more name-value arguments. For example, couplerRatrace(PortLineLength=0.0286) creates a rat-race coupler with a port line length of 0.0286 meters. Properties not specified retain their default values.

Properties

expand all

Length of the input and the output line in meters, specified as a positive scalar.

Example: coupler = couplerRatrace(PortLineLength=0.0286)

Data Types: double

Width of the input and the output line in meters, specified as a positive scalar.

Example: coupler = couplerRatrace(PortLineWidth=0.0070)

Data Types: double

Width of the coupler line in meters, specified as a positive scalar. The default value is for a λ/4 line with an impedance of Zo/sqrt(2) ohms.

Example: coupler = couplerRatrace(CouplerLineWidth=0.0070)

Data Types: double

Length of the coupler line in meters, specified as a positive scalar. The default value is for a 1.5 λ line with an impedance of Zo/sqrt(2) ohms.

Example: coupler = couplerRatrace(Circumference=0.2303)

Data Types: double

Height of the rat-race coupler from the ground plane in meters, specified as a positive scalar.

In the case of a multilayer substrate, you can use the Height property to create a rat-race coupler where the two dielectrics interface.

Example: coupler = couplerRatrace(Height=0.0015)

Data Types: double

Type of dielectric material used as a substrate, specified as a dielectric object. The dielectric material in a couplerRatrace object with default properties is Teflon. The thickness of the default dielectric material Teflon is 0.0016 m or the same as the Height property.

Example: d = dielectric("FR4"); coupler = couplerRatrace(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 couplerRatrace object with default properties is Copper.

Example: m = metal("PEC"); coupler = couplerRatrace(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.

Note

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

    matlab.addons.installedAddons
    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.

Dependencies

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.

Dependencies

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

Object Functions

chargeCalculate and plot charge distribution
couplingCalculate coupling factor of coupler
currentCalculate and plot current distribution
designDesign rat-race coupler around specified frequency
directivityCalculate directivity of coupler
feedCurrentCalculate current at feed port
getZ0Calculate characteristic impedance of transmission line
isolationCalculate isolation of coupler
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

Examples

collapse all

Create and view a default rat-race coupler.

ratrace = couplerRatrace
ratrace = 
  couplerRatrace with properties:

      PortLineLength: 0.0186
       PortLineWidth: 0.0050
    CouplerLineWidth: 0.0030
       Circumference: 0.1110
              Height: 0.0016
           Substrate: [1x1 dielectric]
           Conductor: [1x1 metal]
          IsShielded: 0

show(ratrace)

Create a rat-race coupler with default properties.

coupler = couplerRatrace;

Set the excitation voltage and the phase angle at the ports of the coupler.

v = voltagePort(4)
v = 
  voltagePort with properties:

         NumPorts: 4
      FeedVoltage: [1 0 0 0]
        FeedPhase: [0 0 0 0]
    PortImpedance: 50

v.FeedVoltage = [1 0 1 0]
v = 
  voltagePort with properties:

         NumPorts: 4
      FeedVoltage: [1 0 1 0]
        FeedPhase: [0 0 0 0]
    PortImpedance: 50

v.FeedPhase = [90 0 270 0]
v = 
  voltagePort with properties:

         NumPorts: 4
      FeedVoltage: [1 0 1 0]
        FeedPhase: [90 0 270 0]
    PortImpedance: 50

Calculate and plot the current on the coupler at 3 GHz.

figure
current(coupler,3e9,Excitation=v,Type='real',Direction='on')

References

[1] Pozar, David M. Microwave Engineering. 4th ed. Hoboken, NJ: Wiley, 2012.

Version History

Introduced in R2021b

expand all