Michael Thomas Flanagan's Java Scientific Library

SurfaceStripLine Class:      Surface Strip Transmission Line

     

Last update: 14 August 2011                                                                                                                             Main Page of Michael Thomas Flanagan's Java Library

This class provides, for a surface strip transmission line with
  • distributed resistance, R ohms/metre
  • distributed inductance, L henrys/metre
  • distributed conductance, G siemens/metre
  • distributed capacitance, C farads/metre
  • terminating load of impedance Zload ohms
  • length, l metres
  • plate separation, h metres
  • strip line width, w metres
  • strip line thickness, t metres
  • inner insulator relative electrical permittivity, εr
  • inner insulator relative magnetic permeability, μr
        
         
         
the methods for obtaining:

  • Characteristic impedance, Zo
  • Input impedance, Zi
  • Shorted line impedance, Zload = 0
  • Open line impedance, Zload = ∞
  • Quater-wave line impedance
  • Half-wave line impedance
  • Wavelength, λ
  • Transmission matrix (ABCD matrix)
  • Distributed impedance, R + jωL
  • Distributed admittance, G + jωC
  • Reflection coefficient, ρ
  • Standing-wave ratio
  • Attenuation constant, α
  • Phase constant, β
  • Propagation constant, γ = α +
  • Phase velocity, vp
  • Group velocity, vg
for
  • a generalised line, as depicted above right (R > 0, G > 0)
  • an ideal line (R = 0, G = 0)
  • a low loss line (R/ωL << 1, G/ωC << 1)
where ω is the radial frequency of a cosinusoidal signal of frequency f Hz. The symbol, j, is used on this page to represent the square root of minus one.

A rigorous analysis of strip transmission lines is difficult. This class offers a choice of three approximations:
This class, SurfaceStripLine, is a subclass of the superclass TransmissionLine.
The methods for the calculation of standard component impedances and for combining impedances may be found in the class Impedance and methods of their phasor representation and manipulation may be found in the class Phasor.

import statement: import flanagan.circuits.SurfaceStripLine;
Related classes

SUMMARY OF CONSTRUCTORS AND METHODS

Constructors public void SurfaceStripLine()
public void SurfaceStripLine(String title)
Strip track width, w public void setSurfaceTrackWidth(double width)
Strip track thickness, t public void setSurfaceTrackThickness(double thickness)
Plate separation, h public void setPlateSeparation(double separation)
Relative electrical permittivity, εr public void setRelativePermittivity(double epsilonR)
Relative magnetic permeability, μr public void setRelativePermeability(double muR)
Strip Line Model   public void setFormulae(int option)
Edwards - Hoffmann public void useEdwardsHoffmannFormulae()
Wadell - Wheeler - Schneider public void useWadellWheelerSchneiderFormulae()
IPC-D-317A public void useIPCD317AFormulae()

The following methods override the corresponding methods in the superclass TransmissionLine.

Frequency, f public void setFrequency(double frequency)
Characteristic impedance, Zo public Complex getIdealCharacteristicImpedance()
public double getIdealCharacteristicImpedanceAsReal()

The following methods are all inherited from the superclass TransmissionLine.

Instance title public void setTitle(String title)
public String getTitle()
Frequency, f public void setFrequency(double frequency)      [overridden]
public double getFrequency()
public double getRadialFrequency()
Load impedance, Zload public void setLoadImpedance(double impedance)
public void setLoadImpedance(Complex impedance)
public Complex getLoadImpedance()
Line length, l public void setLineLength(double length)
public double getLineLength()
Distributed resistance, R public void setDistributedResistance(double resistance)
public double getDistributedResistance()
Distributed conductance, G public void setDistributedConductance(double conductance)
public double getDistributedConductance()
Distributed inductance, L public double getDistributedInductance()
Distributed capacitance, C public double getDistributedCapacitance()
Distributed impedance, R + jωL public Complex getDistributedImpedance()
Distributed admittance, G + jωC public Complex getDistributedAdmittance()
Characteristic impedance, Zo public Complex getIdealCharacteristicImpedance()      [overridden]
public double getIdealCharacteristicImpedanceAsReal()      [overridden]
public Complex getCharacteristicImpedance()
public Complex getLowLossCharacteristicImpedance()
Input impedance, Zi public Complex getInputImpedance()
public Complex getIdealInputImpedance()
public Complex getLowLossInputImpedance()
Shorted line impedance, Zload = 0 public Complex getShortedLineImpedance()
public Complex getIdealShortedLineImpedance()
public Complex getLowLossShortedLineImpedance()
Open line impedance, Zload = ∞ public Complex getOpenLineImpedance()
public Complex getIdealOpenLineImpedance()
public Complex getLowLossOpenLineImpedance()
Line signal wavelength, λ public double getWavelength()
public double getIdealWavelength()
public double getLowLossWavelength()
Quarter-wave line impedance public Complex getQuarterWaveLineImpedance()
public Complex getIdealQuarterWaveLineImpedance()
public Complex getLowLossQuarterWaveLineImpedance()
Half-wave line impedance public Complex getHalfWaveLineImpedance()
public Complex getIdealHalfWaveLineImpedance()
public Complex getLowLossHalfWaveLineImpedance()
Reflection coefficient public Complex getReflectionCoefficient()
public Complex getIdealReflectionCoefficient()
public Complex getLowLossReflectionCoefficient()
Standing-wave ratio public double getStandingWaveRatio()
public double getIdealStandingWaveRatio()
public double getLowLossStandingWaveRatio()
Attenuation constant, α public double getAttenuationConstant()
public double getIdealAttenuationConstant()
public double getLowLossAttenuationConstant()
Phase constant, β public double getPhaseConstant()
public double getIdealPhaseConstant()
public double getLowLossPhaseConstant()
Propagation constant, γ = α + public Complex getPropagationConstant()
public Complex getIdealPropagationConstant()
public Complex getLowLossPropagationConstant()
Phase velocity, vp public double getPhaseVelocity()
public double getIdealPhaseVelocity()
public double getLowLossPhaseVelocity()
Group velocity, vg public double getGroupVelocity()
public void setDelta(double delta)
public double getGroupPhaseVelocity()
public double getLowLossGroupVelocity()
Transmission matrix
(ABCD matrix)
public ComplexMatrix getABCDmatrix()
public ComplexMatrix getIdealABCDmatrix()
public ComplexMatrix getLowLossABCDmatrix()
Segment length public void setSegmentLength(double segLength)
Segment output voltage public void setOutputVoltage(Phasor voltage)
public void setOutputVoltage(Complex voltage)
public void setOutputVoltage(double magnitude, double phase)
Segment output current public void setOutputCurrent(Phasor current)
public void setOutputCurrent(Complex current)
public void setOutputCurrent(double magnitude, double phase)
Segment input voltage and current public Phasor[] getInputVandIasPhasor()
public Phasor[] getInputVandIasPhasor(double segmentLength)
public Complex[] getInputVandIasComplex()
public Complex[] getInputVandIasComplex(double segmentLength)
public double[] getInputVandIasReal()
public double[] getInputVandIasReal(double segmentLength)
public double[] getInputVandIasMagnitudeAndPhase()
public double[] getInputVandIasMagnitudeAndPhase(double segmentLength)
Segment input voltage public Phasor getInputVoltageAsPhasor()
public Complex getInputVoltageAsComplex()
public double getInputVoltageAsReal()
public double[] getInputVoltageAsMagnitudeAndPhase()
Segment input current public Phasor getInputCurrentAsPhasor()
public Complex getInputCurrentAsComplex()
public double getInputCurrentAsReal()
public double[] getInputCurrentAsMagnitudeAndPhase()
Deep Copy public SurfaceStripLine copy()
public Object clone()




CONSTRUCTORS

public SurfaceStripLine()
Usage:                      SurfaceStripLine pptl = new SurfaceStripLine();
Creates an instance of SurfaceStripLine with a default title, "Parallel Plate Line".

public SurfaceStripLine(String title)
Usage:                      SurfaceStripLine pptl = new SurfaceStripLine(title);
Creates an instance of SurfaceStripLine with a user supplied title through the argument title.



STRIP LINE MODELS

A rigorous analysis of a strip line transmission line is difficult and this class simply offers three approximations.

1. EDWARDS-HOFFMANN-YORK MODEL
This model is one derived from the publications of Edwards [ref 1] and Hoffmann [ref 2] as combined and presented by York [ref 3].

Static Values
Ideal Characteristic Impedance, Z0(0)

where η0 is the characteristic impedance of free space and the other symbols are as in the diagram at the top of the page.

Effective Relative Permittivity, εeff(0)

where

Effective Strip Width, weff(0)


Frequency Dependent Values
Ideal Characteristic Impedance, Z0(f)

where

These formulae are most accurate within the ranges


Effective Relative Permittivity, εeff(f)

where


Effective Strip Width, weff(f)


This option is the default option of this class.

References
1. T.C. Edwards, Foundations of Microstrip Circuit Design, Wiley, UK, 1981
2. R.K. Hoffmann, Handbook of Microwave Integrated Circuits, Translation from the German of Integrierte Mikrowellenschaltungen, Artech House, 1987.
3. Professor Bob York, University of California, Santa Barbara, On-line course note: Microstrip

2. WADELL-WHEELER-SCHNEIDER MODEL
This model is one derived from the publications of Wadell [ref 4] and Wheeler [ref 5] with the effective permittivities calculated as suggested by Schneider [ref 6] and described by Chemandy Electronics [ref 7].

Ideal Characteristic Impedance, Z0

where the effective permittivity, εeff, and erffective width, weff are calculated as below.

Effective Relative Permittivity, εeff


Effective Strip Width, weff


References
4. B.C. Wadell, Transmission Line Design Handbook, Artech house, 1991.
5. H.A. Wheeler, Transmission-line properties of a strip on a dielectric sheet on a plane, IEEE Tran. Microwave Theory tech., vol. MTT-25, pp 631-647, August 1977.
6. M.V. Schneider, Microstrip lines for microwave integrated circuits, Bell Syst Tech.J., vol 48, pp 1422-1444, 1969.
7. Chemandy Electronics, Microstrip Line Characteristic Impedance Calculator Using a Formula by Brian C. Wadell, http://chemandy.com/calculators/microstrip_transmission_line_calculator.htm

3. IPC-D-317A
This model is one presented by the Institute for Interconnecting and Packaging Electronic Circuits (IPC) [ref 8].

Ideal Characteristic Impedance, Z0

This formula is only valid within the following ranges


Reference
8. Institute for Interconnecting and Packaging Electronic Circuits (IPC), IPC-D-317A, Design Guidelines for Electronic Packaging Utilizing High-Speed Techniques, IPC, Illinois, USA, January 1995.

Set option
public void setFormulae(int option)
public void useEdwardsHoffmannFormulae()
public void useWadellWheelerSchneiderFormulae()
public void useIPCD317AFormulae()

Usage:                      sstl.setFormulae(option);
This method allows the setting of one of the above model options:
Usage:                      sstl.useEdwardsHoffmannFormulae();
Calling this method sets the Edwards-Hoffmann-York model as the model used by the program.

Usage:                      sstl.useWadellWheelerSchneiderFormulae();
Calling this method sets the Wadell-Wheeler-Schneider model as the model used by the program.

Usage:                      sstl.useIPCD317AFormulae();
Calling this method sets the IPC-D-317A model as the model used by the program.



STRIP TRACK WIDTH, w

public void setTrackWidth(double width)
Usage:                      sstl.setPlateWidth(Width);
A method for entering the width [argument width] of the track, w in metres, of the surface strip line (see figure at top of page left).

STRIP TRACK THICKNESS, t

public void setTrackThickness(double thickness)
Usage:                      sstl.setTrackThickness(thickness);
A method for entering the thickness [argument thickness] of the track, t in metres, of the surface strip line (see figure at top of page left).
The strip track thickness is not required by the Edwards-Hoffmann formulae (model option 1) but is reqired by the Wadell-Wheeler-Schneider (model option 2) and IPC-D-317A (model option 3) formulae.

PLATE SEPARATION, h

public void setPlateSeparation(double separation)
Usage:                      sstl.setPlateSeparation(separation);
A method for entering the separation distance between the surface strip and the grounded plane, h in metres, of the surface strip line. The separation distance [argument separation] is measured normal to and between the inner surfaces of the line plates (see figure at top of page left).

RELATIVE ELECTRICAL PERMITTIVITY, εr

public void setRelativePermittivity(double epsilonR)
Usage:                      sstl.setRelativePermittivity(epsilonR);
A method for entering the relative electrical permittivity, εr, of the insulator between the conducting plates.



RELATIVE MAGNETIC PERMEABILITY, μr

public void setRelativePermeability(double muR)
Usage:                      sstl.setRelativePermeability(muR);
A method for entering the relative electrical permeability, μr, of the insulator between the conducting plates. The default value, if no user value is entered, is 1.0.



The following methods are all inherited from or override the superclass TransmissionLine.

INSTANCE TITLE

public void setTitle(String title)
Usage:                      sstl.setTitle(title);
Resets the title of the instance, sstl, of SurfaceStripLine to a user supplied title through the argument title. The default title is "Parallel Plate Line".

public String getTitle()
Usage:                      title = sstl.getTitle();
Returns the title of the instance of SurfaceStripLine, sstl.



FREQUENCY, f

public void setFrequency(double frequency)
Usage:                      sstl.setFrequency(frequency);
A method for entering the frequency of the signal [frequency], f, in Hz. This method also calculates the radial frequency, ω = 2πf.

public double getFrequency()
Usage:                      freq = sstl.getFrequency();
Returns the frequency, f, in Hz.

public double getRadialFrequency()
Usage:                      freq = sstl.getRadialFrequency();
Returns the radial frequency, ω [2πf].



LOAD IMPEDANCE, Zload

public void setLoadImpedance(double impedance)
public void setLoadImpedance(Complex impedance)
Usage:                      sstl.setLoadImpedance(impedance);
A method for entering the impedance of the load [impedance], Zload, in ohms. The impedance may be entered as real (pure resistance) or as Complex (complex impedance).

public Complex getLoadImpedance()
Usage:                      freq = sstl.getFrequency();
Returns the complex impedance of the load, Zload, in ohms.



LINE LENGTH, l

public void setLineLength(double length)
Usage:                      sstl.setLineLength(length);
A method for entering the length of the line [length], l, in metres.

public Complex getLineLength()
Usage:                      length = sstl.getLineLength();
Returns the length of the line, l, in metres.



DISTRIBUTED RESISTANCE, R

public void setDistributedResistance(double resistance)
Usage:                      sstl.setDistributedResistance(resistance);
A method for entering the distributed resistance [resistance], R, in ohms per metre. The default value is zero.

Methods that return the resistance of wires or plates of metals and alloys commonly used in electrical and electronic engineering may found in the class Impedance. The present list is
  • aluminium
  • antimony
  • brass
  • cobalt
  • constantan
  • copper - annealed
  • copper - hard drawn
  • German silver
  • gold
  • iron
  • lead
  • magnesium
  • managanin
  • mercury
  • molybdenum - drawn
  • Monel metal
  • Nichrome™
  • nickel
  • palladium
  • phosphor bronze
  • platinum
  • silver
  • steel: B B
  • steel: E B B
  • steel: manganese
  • steel: Siemens-Martin
  • tantalum
  • Therlo™
  • tin
  • tungsten - drawn
  • zinc
public Complex getDistributedResistance()
Usage:                      dres = sstl.getDistributedResistance();
Returns the distributed resistance, R, in ohms per metre.



DISTRIBUTED CONDUCTANCE, G

public void setDistributedConductance(double conductance)
Usage:                      sstl.setDistributedConductance(conductance);
A method for entering the distributed inductance [conductance], R, in siemens per metre. The default value is zero.

public Complex getDistributedConductance()
Usage:                      dcon = sstl.getDistributedConductance();
Returns the distributed conductance, G, in siemens per metre.



DISTRIBUTED INDUCTANCE, L

public Complex getDistributedInductance()
Usage:                      dind = sstl.getDistributedInductance();
Returns the distributed inductance, L, in henrys per metre. See Impedance for details of the methods that this class, surfaceStripLine, uses in the calculation of the impedance of an inductor.



DISTRIBUTED CAPACITANCE, C

public Complex getDistributedCapacitance()
Usage:                      dcap = sstl.getDistributedCapacitance();
Returns the distributed capacitance, C, in farads per metre. See Impedance for details of the methods that this class, SurfaceStripLine, uses in the calculation of the impedance of a capacitor.



DISTRIBUTED IMPEDANCE, R + jωL

public Complex getDistributedImpudence()
Usage:                      dimp = sstl.getDistributedImpedance();
Returns the distributed impedance, R + jωL, in ohms per metre.



DISTRIBUTED ADMITTANCE, G + jωC

public Complex getDistributedAdmittance()
Usage:                      dadm = sstl.getDistributedAdmittance();
Returns the distributed admittance, G + jωC, in siemens per metre.



CHARACTERISTIC IMPEDANCE, Zo

General Line
public Complex getCharacteristicImpedance()
Usage:                      zed0 = sstl.getcharacteristicImpedance();
Returns the characteristic impedance, Zo, in ohms, for the generalised transmission line depicted at the top of this page:


Ideal Line
public Complex getIdealCharacteristicImpedance()
Usage:                      zed0 = sstl.getIdealCharacteristicImpedance();
Returns the characteristic impedance, Zo, in ohms, for an ideal transmission line:
See Strip Line Models (above) for the calculation of Zo.

public double getIdealCharacteristicImpedanceAsReal()
Usage:                      zed0 = tl.getIdealCharacteristicImpedanceAsReal();
Returns the characteristic impedance, Zo, in ohms, for an ideal transmission line:
See Strip Line Models (above) for the calculation of Zo.

as a real number [double].

Low Loss Line
public Complex getLowLossCharacteisticImpedance()
Usage:                      zed0 = sstl.getLowLossCharacteristicImpedance();
Returns the characteristic impedance, Zo, in ohms, for a low loss transmission line:




INPUT IMPEDANCE, Zi

General Line
public Complex getInputImpedance()
Usage:                      zedi = sstl.getInputImpedance();
Returns the input impedance, Zi, in ohms, for the generalised transmission line depicted at the top of this page:


Ideal Line
public Complex getIdealInputImpedance()
Usage:                      zedi = sstl.getIdealInputImpedance();
Returns the input impedance, Zi, in ohms, for an ideal transmission line:


Low Loss Line
public Complex getLowLossInputImpedance()
Usage:                      zedi = sstl.getLowLossInputImpedance();
Returns the input impedance, Zi, in ohms, for a low loss transmission line:




SHORTED LINE IMPEDANCE, Zload = 0

General Line
public Complex getShortedLineImpedance()
Usage:                      zedShort = sstl.getShortedLineImpedance();
Returns the shorted line impedance, in ohms, for the generalised transmission line depicted at the top of this page:
Zotanh(γl)

Ideal Line
public Complex getIdealShortedLineImpedance()
Usage:                      zedShort = sstl.getIdealShortedLineImpedance();
Returns the shorted line impedance, in ohms, for an ideal transmission line:
jZotan(βl)

Low Loss Line
public Complex getLowLossShortedLineImpedance()
Usage:                      zedShort = sstl.getLowLossShortedLineImpedance();
Returns the shorted line impedance, in ohms, for a low loss transmission line:




OPEN LINE IMPEDANCE, Zload = ∞

General Line
public Complex getOpenLineImpedance()
Usage:                      zedOpen = sstl.getOpenLineImpedance();
Returns the open line impedance, in ohms, for the generalised transmission line depicted at the top of this page:
Zocoth(γl)

Ideal Line
public Complex getIdealOpenLineImpedance()
Usage:                      zedOpen = sstl.getIdealOpenLineImpedance();
Returns the open line impedance, in ohms, for an ideal transmission line:
jZocot(βl)

Low Loss Line
public Complex getLowLossOpenLineImpedance()
Usage:                      zedOpen = sstl.getLowLossOpenLineImpedance();
Returns the open line impedance, in ohms, for a low loss transmission line:




WAVELENGTH, λ

General Line
public Complex getWavelength()
Usage:                      lambda = sstl.getWavelength();
Returns the wavelength, λ = 2π /β, in metres, of a cosinusoidal signal of radial frequency, ω, on the generalised transmission line depicted at the top of this page:

Ideal Line
public Complex getIdealOpenLineImpedance()
Usage:                      lambda = sstl.getIdealWavelength();
Returns the wavelength, λ = 2π /β, in metres, of a cosinusoidal signal of radial frequency, ω, on an ideal transmission line:

Low Loss Line
public Complex getLowLossOpenLineImpedance()
Usage:                      lambda = sstl.getLowLossWavelength();
Returns the wavelength, λ = 2π /β, in metres, of a cosinusoidal signal of radial frequency, ω, on a low loss transmission line:



QUARTER−WAVE LINE IMPEDANCE

General Line
public Complex getQuarterWaveLineImpedance()
Usage:                      zedQuarterWave = sstl.getQuarterWaveLineImpedance();
Returns the impedance of a quarter-wave line, in ohms, for the generalised transmission line depicted at the top of this page:


Ideal Line
public Complex getIdealQuarterWaveLineImpedance()
Usage:                      zedQuarterWave = sstl.getIdealQuarterWaveLineImpedance();
Returns the impedance of a quarter-wave line, in ohms, for an ideal transmission line:


Low Loss Line
public Complex getLowLossQuarterWaveLineImpedance()
Usage:                      zedQuarterWave = sstl.getLowLossQuarterWaveLineImpedance();
Returns the impedance of a quarter-wave line, in ohms, for a low loss transmission line:




HALF−WAVE LINE IMPEDANCE

General Line
public Complex getHalfWaveLineImpedance()
Usage:                      zedHalfWave = sstl.getHalfWaveLineImpedance();
Returns the impedance of a half-wave line, in ohms, for the generalised transmission line depicted at the top of this page:


Ideal Line
public Complex getIdealHalfWaveLineImpedance()
Usage:                      zedHalfWave = sstl.getIdealHalfWaveLineImpedance();
Returns the impedance of a half-wave line, in ohms, for an ideal transmission line:
Zload

Low Loss Line
public Complex getLowLossHalfWaveLineImpedance()
Usage:                      zedHalfWave = sstl.getLowLossHalfWaveLineImpedance();
Returns the impedance of a half-wave line, in ohms, for a low loss transmission line:




REFLECTION COEFFICIENT, ρ

General Line
public Complex getReflectionCoefficient()
Usage:                      reflCoeff = sstl.getReflectionCoefficient();
Returns the reflection coefficient, ρ, for the generalised transmission line depicted at the top of this page:


Ideal Line
public Complex getIdealReflectionCoefficient()
Usage:                      reflCoeff = sstl.getIdealReflectionCoefficient();
Returns the reflection coefficient, ρ, for an ideal transmission line:


Low Loss Line
public Complex getLowLossReflectionCoefficient()
Usage:                      reflCoeff = sstl.getLowLossReflectionCoefficient();
Returns the reflection coefficient, ρ, for a low loss transmission line:




STANDING−WAVE RATIO

General Line
public Complex getStandingWaveRatio()
Usage:                      swr = sstl.getStandingWaveRatio();
Returns the standing-wave ratio, ρ, for the generalised transmission line depicted at the top of this page:


Ideal Line
public Complex getIdealStandingWaveRatio()
Usage:                      swr = sstl.getIdealStandingWaveRatio();
Returns the standing-wave ratio, ρ, for an ideal transmission line:


Low Loss Line
public Complex getLowLossStandingWaveRatio()
Usage:                      swr = sstl.getLowLossStandingWaveRatio();
Returns the standing-wave ratio, ρ, for a low loss transmission line:




ATTENUATION CONSTANT, α

General Line
public Complex getAttenuationConstant()
Usage:                      alpha = sstl.getAttenuationConstant();
Returns the attenuation constant, α, for the generalised transmission line depicted at the top of this page:


Ideal Line
public Complex getIdealAttenuationConstant()
Usage:                      alpha = sstl.getIdealAttenuationConstant();
Returns the attenuation constant, α, for an ideal transmission line:
α = 0

Low Loss Line
public Complex getLowLossAttenuationConstant()
Usage:                      alpha = sstl.getLowLossAttenuationConstant();
Returns the attenuation constant, α, for a low loss transmission line:




PHASE CONSTANT, β

General Line
public double getPhaseConstant()
Usage:                      beta = sstl.getPhaseConstant();
Returns the phase constant, β, for the generalised transmission line depicted at the top of this page:


Ideal Line
public double getIdealPhaseConstant()
Usage:                      alpha = sstl.getIdealPhaseConstant();
Returns the phase constant, β, for an ideal transmission line:


Low Loss Line
public double getLowLossPhaseConstant()
Usage:                      beta = sstl.getLowLossPhaseConstant();
Returns the phase constant, β, for a low loss transmission line:




PROPAGATION CONSTANT, γ = α +

General Line
public Complex getPropagationConstant()
Usage:                      gamma = sstl.getPropagationConstant();
Returns the propagation constant, γ, for the generalised transmission line depicted at the top of this page:


Ideal Line
public Complex getIdealPropagationConstant()
Usage:                      gamma = sstl.getIdealPropagationConstant();
Returns the propagation constant, γ, for an ideal transmission line:


Low Loss Line
public Complex getLowLossPropagationConstant()
Usage:                      gamma = sstl.getLowLossPropagationConstant();
Returns the propagation constant, γ, for a low loss transmission line:




PHASE VELOCITY, vp

General Line
public double getPhaseVelocity()
Usage:                      vp = sstl.getPhaseVelocity();
Returns the phase velocity, vp in metres per second, for the generalised transmission line depicted at the top of this page:


Ideal Line
public double getIdealPhaseVelocity()
Usage:                      vp = sstl.getIdealPhaseVelocity();
Returns the phase velocity, vp in metres per second, for an ideal transmission line:

where εo is the electical permittivity of free space, μo is the magnetic permeability of free space and vlight is the velocity of light in free space (2.99792458x108 m s-1).

Low Loss Line
public double getLowLossPhaseVelocity()
Usage:                      vp = sstl.getLowLossPhaseVelocity();
Returns the phase velocity, vp in metres per second, for a low loss transmission line:




GROUP VELOCITY, vg

General Line
public double getPhaseVelocity()
Usage:                      vg = tl.getGroupVelocity();
Returns the group velocity, vg in metres per second, for the generalised transmission line depicted at the top of this page:


If the distributed resistance, R, and the distributed conductance, G, are equal to zero (an ideal line) the group velocity is evaluated as

otherwise an approximation, using numerically differentiation, is evaluated as

where βω(1 − δ) and βω(1 + δ) are the values of the phase constant, β, evaluated at ω(1 − δ) and ω(1 + δ) respectively. The default value of the numerical incremental factor, δ, is 0.001 but this may be reset using the method, setDelta, described below.

public void setDelta(double delta)
Usage:                      tl.setDelta(delta);
A method that allows the incremental factor, δ, used in the numerical approximation of the group velocity on a general line (see above), to be reset. The default value is 0.001.

Ideal Line
public double getIdealGroupVelocity()
Usage:                      vg = tl.getIdealGroupVelocity();
Returns the group velocity, vg in metres per second, for an ideal transmission line:


Low Loss Line
public double getLowLossGroupVelocity()
Usage:                      vg = tl.getLowLossGroupVelocity();
Returns the group velocity, vg in metres per second, for a low loss transmission line:




TRANSMISSION (ABCD) MATRIX

details of complex matrix manipulations, e.g. multiplication, using theComplexMatrix class.

General Line
public ComplexMatrix getABCDmatrix()
Usage:                      ComplexMatrix abcd = tl.getABCDmatrix();
Returns the transmission matrix (ABCD matrix) for the generalised transmission line depicted at the top of this page:

where Zo is the characteristic impedance, γ is the propagation constant and Λ is the length of segment to which the transmission matrix is applied.

Ideal Line
public ComplexMatrix getIdealABCDmatrix()
Usage:                      ComplexMatrix abcd = tl.getIdealABCDmatrix();
Returns the transmission matrix (ABCD matrix) for an ideal transmission line:

where Zo is the characteristic impedance, β is the phase constant and Λ is the length of segment to which the transmission matrix is applied.

Low Loss Line
public ComplexMatrix getLowLossABCDmatrix()
Usage:                      ComplexMatrix abcd = tl.getLowLossABCDmatrix();
Returns the transmission matrix (ABCD matrix) for a low loss transmission line:

where Zo is the characteristic impedance, γ is the propagation constant and Λ is the length of segment to which the transmission matrix is applied.



SEGMENT LENGTH, Λ

public void setSegmentLength(double length)
Usage:                      tl.setSegmentLength(length);
A method for entering the length of a line segment [length], Λ, in metres. The ABCD matrix methods require a segment length.



SEGMENT INPUT VOLTAGE AND INPUT CURRENT

These methods all calculate and return the input voltage, Vo, and current, Io, to a segment of line, of length Λ, with an output voltage, VΛ, and an output current, IΛ, using the relationship

or, if the distributed resistance, R, and the distributed conductance, G, are both equal to zero,

where γ is the propagation constant and β is the phase constant. The methods require the output voltage, VΛ, the output current, IΛ, and, if it is not the method's argument, the segment length, Λ, to have been previously entered.

public Phasor[] getInputVandIasPhasor()
Usage:                     Phasor[] vAndI = tl.getInputVandIasPhasor();
public Phasor[] getInputVandIasPhasor(double segmentLength)
Usage:                     Phasor[] vAndI = tl.getInputVandIasPhasor(segmentLength);
Returns the input voltage Vo as a phasor (magnitude∠phase) [Phasor] vAndI[0] and the input current Io as a phasor vAndI[1].

public Complex[] getInputVandIasComplex()
Usage:                     Complex[] vAndI = tl.getInputVandIasComplex();
public Complex[] getInputVandIasComplex(double segmentLength)
Usage:                     Complex[] vAndI = tl.getInputVandIasComplex(segmentLength);
Returns the input voltage Vo in rectangular complex form (magnitude.cos(phase) + j.magnitude.sin(phase)) [Complex] vAndI[0] and the input current Io as the complex number vAndI[1].

public double[] getInputVandIasReal()
Usage:                     double[] vAndI = tl.getInputVandIasReal();
public double []getInputVandIasReal(double segmentLength)
Usage:                     double[] vAndI = tl.getInputVandIasReal(segmentLength);
Returns the input voltage Vo as real, i.e. as magnitude.cos(phase), in vAndI[0] and the input current Io as real in vAndI[1].

public double[] getInputVandIasMagnitudeAndPhase()
Usage:                     double[] vAndI = tl.getInputVandIasReal();
public double[] getInputVandIasMagnitudeAndPhase(double segmentLength)
Usage:                     double[] vAndI = tl.getInputVandIasReal(segmentLength);
Returns the magnitude and phase of the input voltage Vo in vAndI[0] and vAndI[1] and the magnitude and phase of the input current in vAndI[2] and vAndI[3].



SEGMENT INPUT VOLTAGE

These methods all calculate and return the input voltage, Vo, to a segment of line, of length Λ, with an output voltage, VΛ, and an output current, IΛ, using the relationship

or, if the distributed resistance, R, and the distributed conductance, G, are both equal to zero,

where γ is the propagation constant and β is the phase constant. The methods require the output voltage, VΛ, the output current, IΛ, and the segment length, Λ, to have been previously entered.

public Phasor getInputVoltageAsPhasor()
Usage:                     Phasor voltage = tl.getInputVoltageAsPhasor();
public Phasor getInputVoltageAsPhasor(double segmentLength)
Returns the input voltage Vo as a phasor (magnitude∠phase) [Phasor].

public Complex getInputVoltageAsComplex()
Usage:                     Complex voltage = tl.getInputVoltageAsComplex();
public Complex getInputVoltageAsComplex(double segmentLength)
Returns the input voltage Vo in rectangular complex form (magnitude.cos(phase) + j.magnitude.sin(phase)) [Complex].

public double getInputVoltageAsReal()
Usage:                     double voltage = tl.getInputVoltageAsReal();
public double getInputVoltageAsReal(double segmentLength)
Returns the input voltage Vo as real, i.e. as magnitude.cos(phase).

public double[] getInputVoltageAsMagnitudeAndPhase()
Usage:                     double voltage[] = tl.getInputVoltageAsReal();
Returns the magnitude and phase of the input voltage Vo in voltage[0] and voltage[1].



SEGMENT INPUT CURRENT

These methods all calculate and return the input current, Io, to a segment of line, of length Λ, with an output voltage, VΛ, and an output current, IΛ, using the relationship

or, if the distributed resistance, R, and the distributed conductance, G, are both equal to zero,

where γ is the propagation constant and β is the phase constant. The methods require that the output voltage, VΛ, the output current, IΛ, and the segment length, Λ, to have been previously entered.

public Phasor getInputCurrentAsPhasor()
Usage:                     Phasor current = tl.getInputCurrentAsPhasor();
public Phasor getInputCurrentAsPhasor(double segmentLength)
Returns the input current Io as a phasor (magnitude∠phase) [Phasor].

public Complex getInputCurrentAsComplex()
Usage:                     Complex current = tl.getInputCurrentAsComplex();
public Complex getInputCurrentAsComplex(double segmentLength)
Returns the input current Io in rectangular complex form (magnitude.cos(phase) + j.magnitude.sin(phase)) [Complex].

public double getInputCurrentAsReal()
Usage:                     double current = tl.getInputCurrentAsReal();
public double getInputCurrentAsReal(double segmentLength)
Returns the input current Io as real, i.e. as magnitude.cos(phase).

public double[] getInputCurrentAsMagnitudeAndPhase()
Usage:                     double current[] = tl.getInputCurrentAsReal();
Returns the magnitude and phase of the input current Io in current[0] and current[1.



SEGMENT OUTPUT VOLTAGE

public void setOutputVoltage(Phasor voltage)
public void setOutputVoltage(Complex voltage)
public void setOutputVoltage(double magnitude, double phase)
Usage:                      tl.setOutputVoltage(voltage);
A method for entering the output voltage of a line segment to which the ABCD matrix is to be applied. The voltage [voltage] may be entered as a Phasor (magnitude∠phase), a Complex (magnitude.cos(phase)+j.magnitude.cos(phase)) or as the magnitude and phase.



SEGMENT OUTPUT CURRENT

public void setOutputCurrent(Phasor current)
public void setOutputCurrent(Complex current)
public void setOutputCurrent(double magnitude, double phase)
Usage:                      tl.setOutputCurrent(current);
A method for entering the output current of a line segment to which the ABCD matrix is to be applied. The current [current] may be entered as a Phasor (magnitude∠phase), a Complex (magnitude.cos(phase)+j.magnitude.cos(phase)) or as the magnitude and phase.



DEEP COPY

public SurfaceStripLine copy()
public Object clone()

Copy a SurfaceStripLine
Usage:                      aa = bb.copy();
A deep copy of SurfaceStripLine, bb, is returned as aa. This method overrides the super-class TransmissionLine clone method.

Copy a SurfaceStripLine
Usage:                      aa = bb.clone();
A deep copy of SurfaceStripLine, bb, is returned as aa cast as Object. This method overrides java.lang.Object.clone() and the super-class TransmissionLine clone method.



OTHER CLASSES USED BY THIS CLASS

This class uses the following classes in this library:


This page was prepared by Dr Michael Thomas Flanagan