Main Content

couplerDirectional

Create single section or multi-section directional coupler in microstrip form

Since R2022b

Description

Use the couplerDirectional object to create a single section or a multi-section coupler in the microstrip form.

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

Creation

Description

coupler = couplerDirectional creates a single section coupler in the microstrip form with default property values for a resonating frequency of 1 GHz for a 21 dB coupling.

example

coupler = couplerDirectional(Name=Value) sets Properties using one or more name-value arguments. For example, couplerDirectional(PortLineWidth=0.0286) creates a directional coupler with a port line width of 0.0286 meters. Properties not specified retain their default values.

Properties

expand all

Length of the coupled line in each section, specified as a positive scalar.

Example: coupler = couplerDirectional(Length=0.0096)

Data Types: double

Width of the coupled line in each section, specified as a positive scalar or vector.

Example: coupler = couplerDirectional(Width=0.0036)

Data Types: double

Spacing between the coupled lines in each section, specified as a positive scalar or vector.

Example: coupler = couplerDirectional(Spacing=0.0016)

Data Types: double

Number of coupled line sections, specified as a positive scalar. To create a multi-section directional coupler, the number of sections must be greater than one.

Example: coupler = couplerDirectional(NumSections=2)

Data Types: double

Bend type at the corners of the coupler for extending the ports, specified as 'Mitered', 'Curved', or 'RightAngle'.

Example: coupler = couplerDirectional(Corner='Curved')

Data Types: char

Height of the directional 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 branch line coupler line where the two dielectrics interface.

Example: coupler = couplerDirectional(Height=0.0026)

Data Types: double

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

Example: coupler = couplerDirectional(PortLineWidth=0.0070)

Data Types: double

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

Example: coupler = couplerDirectional(GroundPlaneLength=0.046)

Example: double

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

Example: coupler = couplerDirectional(GroundPlaneWidth=0.046)

Example: double

Type of dielectric material used as a substrate, specified as a dielectric object.

Example: d = dielectric("FR4"); coupler = couplerDirectional(Substrate=d)

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

Example: m = metal("PEC"); coupler = couplerDirectional(Conductor=m)

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, see https://support.microsoft.com/en-us/windows/risks-of-allowing-apps-through-windows-defender-firewall-654559af-3f54-3dcf-349f-71ccd90bcc5c.

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

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
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 a default directional coupler.

coupler = couplerDirectional
coupler = 
  couplerDirectional with properties:

               Length: 0.0397
                Width: 0.0028
              Spacing: 0.0013
          NumSections: 1
               Corner: 'Mitered'
               Height: 0.0016
        PortLineWidth: 0.0029
    GroundPlaneLength: 0.0697
     GroundPlaneWidth: 0.0345
            Substrate: [1x1 dielectric]
            Conductor: [1x1 metal]
           IsShielded: 0

View the coupler.

show(coupler)

Figure contains an axes object. The axes object with title couplerDirectional element, xlabel x (mm), ylabel y (mm) contains 8 objects of type patch, surface. These objects represent Copper, feed, FR4.

Create a three-section symmetrical directional coupler on a Teflon substrate.

 coupler = couplerDirectional(Length=18.15e-3, Width=[4.942e-3,...
    4.813e-3,4.942e-3],Spacing=[10.95e-3,1.295e-3,10.95e-3],...
    NumSections=3 ,Substrate=dielectric(EpsilonR=2.2,LossTangent=0.005,...
    Thickness=0.0016),PortLineWidth=4.942e-3,...
    GroundPlaneLength=75.5e-3,GroundPlaneWidth=50e-3 )
coupler = 
  couplerDirectional with properties:

               Length: 0.0181
                Width: [0.0049 0.0048 0.0049]
              Spacing: [0.0109 0.0013 0.0109]
          NumSections: 3
               Corner: 'Mitered'
               Height: 0.0016
        PortLineWidth: 0.0049
    GroundPlaneLength: 0.0755
     GroundPlaneWidth: 0.0500
            Substrate: [1x1 dielectric]
            Conductor: [1x1 metal]
           IsShielded: 0

View the coupler.

show(coupler)

Figure contains an axes object. The axes object with title couplerDirectional element, xlabel x (mm), ylabel y (mm) contains 8 objects of type patch, surface. These objects represent Copper, feed, Air.

References

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

Version History

Introduced in R2022b

expand all