Main Content


Create spiral inductor in four different shapes

Since R2021b


Use the spiralInductor object to create a spiral inductor in one of four different shapes: square, circle, hexagon, or octagon. The spiral inductor is a two-port planar inductor with a single or multiple dielectric layers. A turn in a spiral inductor is the length of a complete 360-degree revolution. Spiral inductor filaments have uniform spacing and width throughout the structure. Spiral inductors are an integral part of many radio-frequency and microwave circuits, acting as resonant elements or chokes. The inductor feed can be configured in one of the following two ways:


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

  • The input and output ports are punched through at the same layer.

  • The input port is routed out from the layer below the inductor by a via hole. The output port is extended to the end of the dielectric in the same layer.

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




inductor = spiralInductor creates a square spiral planar inductor with default properties for a resonant frequency of 600 MHz.


inductor = spiralInductor(Name=Value) sets Properties using one or more name-value arguments. For example, spiralInductor(SpiralShape="Octagon") creates an octagonal spiral inductor. Properties not specified retain their default values.


expand all

Shape of the spiral inductor, specified as either "Square", "Circle", "Hexagon", or "Octagon".

Example: inductor = spiralInductor(SpiralShape="Circle")

Data Types: string | char

Inner diameter of the polygon along the edge in meters, specified as a positive scalar.

Example: inductor = spiralInductor(InnerDiameter=8.0000e-04)

Data Types: double

Strip width in meters, specified as a positive scalar.

Example: inductor = spiralInductor(Width=3.8000e-04)

Data Types: double

Distance between the strips in meters, specified as a positive scalar.

Example: inductor = spiralInductor(Spacing=3.8000e-04)

Data Types: double

Number of turns in the spiral inductor, specified as a positive scalar. You can specify a minimum of 1 turn and a maximum of 12 turns. One turn length is the length of a complete 360-degree revolution.

Example: inductor = spiralInductor(NumTurns=6)

Data Types: double

Height from the ground plane to the inductor in meters, specified as a positive scalar.

Example: inductor = spiralInductor(Height=0.0056)

Data Types: double

Length of the ground plane in meters, specified as a positive scalar. This object does not support infinite ground plane length.

Example: inductor = spiralInductor(GroundPlaneLength=0.046)

Example: double

Width of the ground plane in meters, specified as a positive scalar. This object does not support infinite ground plane width.

Example: inductor = spiralInductor(GroundPlaneWidth=0.046)

Example: double

Type of dielectric material used as a substrate, specified as a dielectric object. The dielectric material in a spiralInductor object with default properties have the following properties:

  • Name{'RTDuroid','RTDuroid','RTDuroid'}

  • EpsilonR[3.66,3.66,3.66]

  • LossTangent[0.0013,0.0013,0.0013]

  • Thickness[0.508e-3,0.508e-3,0.508e-3]

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

Example: m = metal("PEC"); inductor = spiralInductor(Conductor=m)

Data Types: string | char

Object Functions

chargeCalculate and plot charge distribution
currentCalculate and plot current distribution
feedCurrentCalculate current at feed port
getZ0Calculate characteristic impedance of transmission line
inductanceCalculate inductance
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


collapse all

Create and view a default spiral inductor.

inductor = spiralInductor
inductor = 
  spiralInductor with properties:

          SpiralShape: 'Square'
        InnerDiameter: 5.0000e-04
                Width: 2.5000e-04
              Spacing: 2.5000e-04
             NumTurns: 4
               Height: 0.0010
    GroundPlaneLength: 0.0056
     GroundPlaneWidth: 0.0056
            Substrate: [1x1 dielectric]
            Conductor: [1x1 metal]


Create and view a two-turn octagonal spiral inductor.

inductor = spiralInductor(SpiralShape="Octagon",NumTurns=2);

Measure the inductance of the inductor.


ind = inductance(inductor,600e6)
ind = 1.0744e-08

Create a spiral inductor using gold as the conductor.

inductor = spiralInductor;
inductor.Conductor = metal("Gold");

Compute and plot the behavioral S-parameters of the inductor at 600 MHz.

spar = sparameters(inductor,600e6,Behavioral=true);

More About

expand all


[1] Beeresha, R.S., A.M. Khan, and H.V. Manjunatha Reddy. “The Design and EM-Simulation of Square Spiral Inductor Using Simple Equations.” Materials Today: Proceedings 5, no. 4 (2018): 10875–82.

[2] Mohan, S.S., M. del Mar Hershenson, S.P. Boyd, and T.H. Lee. “Simple Accurate Expressions for Planar Spiral Inductances.” IEEE Journal of Solid-State Circuits 34, no. 10 (October 1999): 1419–24.

Version History

Introduced in R2021b