Main Content

microstripLine

Create transmission line in microstrip form

Since R2021b

Description

Use the microstripLine object to create a microstrip transmission line. A microstrip line is a transmission line that is a basic building block for most RF planar microwave devices. You can use this transmission line to connect two PCB components or to create components such as filters, couplers, and feeding elements of various types of antennas.

Note

This PCB object supports behavioral modeling. For more information, see Behavioral Models. To analyze the behavioral model for a microstrip transmission line, set the Behavioral property in the sparameters function to true or 1

A few applications of microstrip transmission lines are:

  • Creating matching feed and coupling networks

  • Transmitting power from one component to another

  • Feeding planar antennas and coupling structures

  • Creating varying inductances or capacitances using open- or short ended- transmission lines

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

Creation

Description

microstrip = microstripLine creates a default microstrip transmission line using a Teflon substrate.

example

microstrip = microstripLine(Name=Value) sets properties using one or more name value pair arguments. For example, microstrip = microstripLine(Length=0.0300) creates a microstrip line of length 0.0300 meters. Properties not specified retain their default values.

example

microstrip = microstripLine(txlineobj) creates a microstrip transmission line from the behavioral model of a txlineMicrostrip object in RF Toolbox™.

Properties

expand all

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

Example: microstrip = microstripLine(Length=0.0300)

Data Types: double

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

Example: microstrip = microstripLine(Width=0.00630)

Data Types: double

Height of the microstrip line 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 microstrip line at the interface of the two dielectrics.

Example: microstrip = microstripLine(Height=0.0015)

Data Types: double

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

Example: microstrip = microstripLine(GroundPlaneWidth=0.0400)

Data Types: double

Type of dielectric material used as a substrate, specified as a dielectric object. For more information, see dielectric. The dielectric material in a microstripLine 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'); microstrip = microstripLine(Substrate=d)

Data Types: string | char

Type of metal used in conducting layers, specified as a metal object. For more information see metal. The type of metal in a microstripLine object with default properties is PEC.

Example: m = metal('Copper'); microstrip = microstripLine(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, 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
currentCalculate and plot current distribution
designDesign microstrip transmission line around specified frequency
feedCurrentCalculate current at feed port
getZ0Calculate characteristic impedance of transmission line
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 microstrip transmission line.

microstrip = microstripLine
microstrip = 
  microstripLine with properties:

              Length: 0.0200
               Width: 0.0050
              Height: 0.0016
    GroundPlaneWidth: 0.0300
           Substrate: [1x1 dielectric]
           Conductor: [1x1 metal]
          SolverType: 'MoM'
          IsShielded: 0

show(microstrip)

Figure contains an axes object. The axes object with title microstripLine element, xlabel x (mm), ylabel y (mm) contains 6 objects of type patch, surface. These objects represent PEC, feed, Teflon.

Design a microstrip transmission line at 3 GHz, with a characteristic impedance of 70 ohms and a line length 1.5 times the wavelength.

microstrip = design(microstripLine,3e9,'Z0',70,'LineLength',1.5)
microstrip = 
  microstripLine with properties:

              Length: 0.1132
               Width: 0.0030
              Height: 0.0016
    GroundPlaneWidth: 0.0150
           Substrate: [1x1 dielectric]
           Conductor: [1x1 metal]
          SolverType: 'MoM'
          IsShielded: 0

View the microstrip transmission line.

show(microstrip)

Figure contains an axes object. The axes object with title microstripLine element, xlabel x (mm), ylabel y (mm) contains 6 objects of type patch, surface. These objects represent PEC, feed, Teflon.

Create and view a multilayer dielectric microstrip transmission line.

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

Figure contains an axes object. The axes object with title microstripLine element, xlabel x (mm), ylabel y (mm) contains 7 objects of type patch, surface. These objects represent PEC, feed, Teflon.

Design a microstrip transmission line at 3 GHz using FR4 substrate.

d = dielectric('FR4');
d.LossTangent = 0;
m = design(microstripLine('Substrate',d),3e9,'Z0',75,...
    'LineLength',0.5);

Create a microstrip cross.

layer2d = traceCross('Length',[m.Length m.Length], ...
    'Width',[m.Width m.Width]);

Convert the cross trace to a PCB component.

robj = pcbComponent(layer2d);
robj.BoardThickness = m.Substrate.Thickness;
robj.Layers{2} = m.Substrate;
show(robj)

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

Define frequency points to calculate the s-parameters.

freq = (1:3:40)*100e6;

Calculate the s-parameters of the cross trace using the behavioral model.

Sckt = sparameters(robj,freq,'Behavioral',true);
Warning: Behavioral model is valid only when EpsilonR is 9.9.

Calculate the s-parameters of the cross trace using the electromagnetic solver.

Sem = sparameters(robj,freq);

References:

  1. Ramesh Garg & I. J. Bahl (1978) Microstrip discontinuities, International Journal of Electronics, 45:1, 81-87, DOI: 10.1080/00207217808900883

  2. Wadell, Brian C. Transmission Line Design Handbook. The Artech House Microwave Library. Boston: Artech House, 1991.

Create mitered bend microstrip.

m = design(microstripLine,6e9,"Z0",75);
layer2d = bendMitered('Length',[m.Length/2 m.Length/2],...
"Width",[m.Width m.Width],'MiterDiagonal',sqrt(2)*m.Width);
robj = pcbComponent(layer2d);
robj.BoardThickness = m.Substrate.Thickness;
robj.Layers{2} = m.Substrate;
show(robj)

Figure contains an axes object. The axes object with title pcbComponent element, xlabel x (mm), ylabel y (mm) contains 7 objects of type patch, surface. These objects represent PEC, feed, Teflon.

Compute and plot s-parameters.

freq = (1:2:60)*100e6;
Sckt = sparameters(robj,freq,'Behavioral',true);
Sem = sparameters(robj,freq);
rfplot(Sckt,1,1,'db','-s')
hold on
rfplot(Sem,1,1,'db','-x')

Figure contains an axes object. The axes object with xlabel Frequency (GHz), ylabel Magnitude (dB) contains 2 objects of type line. These objects represent dB(S_{11}).

Reference:

M. Kirschning, R. H. Jansen and N. H. L. Koster, "Measurement and Computer-Aided Modeling of Microstrip Discontinuities by an Improved Resonator Method," 1983 IEEE MTT-S International Microwave Symposium Digest, Boston, MA, USA, 1983, pp. 495-497, doi: 10.1109/MWSYM.1983.1130959.

Create a microstrip transmission line with a metal shield.

microstrip = microstripLine(IsShielded=true)
Warning: SolverType property is changed to 'FEM'.
microstrip = 
  microstripLine with properties:

              Length: 0.0200
               Width: 0.0050
              Height: 0.0016
    GroundPlaneWidth: 0.0300
           Substrate: [1×1 dielectric]
           Conductor: [1×1 metal]
          SolverType: 'FEM'
          IsShielded: 1
           Connector: [1×1 RFConnector]
           Shielding: [1×1 shape.Box]

Display the Connector property whose value is set to a default RFConnector.

microstrip.Connector
ans = 
  RFConnector with properties:

            Name: 'Connector'
     InnerRadius: 5.0000e-04
     OuterRadius: 0.0015
          Flange: [1×1 antenna.Rectangle]
        EpsilonR: 1.7341
    PinFootprint: 'Taper'
       PinLength: 0.0030
       Impedance: 50.0000

View a microstrip transmission line. A tapered trace is added to the both ends of the microstrip transmission line - tapered from a trace width of a microstrip transmission line to an inner diameter of a connector. The length of a tapered trace is controlled by the PinLength property.

show(microstrip)

Figure contains an axes object. The axes object with title microstripLine element, xlabel x (mm), ylabel y (mm) contains 14 objects of type patch. These objects represent PEC, Teflon, Coax feed Inner conductor, Coax feed Dielectric.

Set the PinLength property to zero and view a microstrip transmission line. Beware that an outer conductor of a connector must not electrically connected to the signal trace.

microstrip.Connector.PinLength = 0;
microstrip.Connector.OuterRadius = 0.003;
microstrip.Connector.InnerRadius = 0.001;
show(microstrip)

Figure contains an axes object. The axes object with title microstripLine element, xlabel x (mm), ylabel y (mm) contains 14 objects of type patch. These objects represent PEC, Teflon, Coax feed Inner conductor, Coax feed Dielectric.

References

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

Version History

Introduced in R2021b

expand all