Qucs-S S-parameter Viewer & RF Synthesis Tools
Loading...
Searching...
No Matches
Microstrip.h
Go to the documentation of this file.
1
8
9#ifndef MICROSTRIP_H
10#define MICROSTRIP_H
11
12#include "Schematic/structures.h"
13#include <cmath>
14#include <iostream>
15#include <string>
16
20 private:
21 // Constants
22 static constexpr double Z_FIELD =
23 376.730313668; // Impedance of free space (ohms)
24 static constexpr double PI = 3.14159265358979323846;
25 static constexpr double MAX_ERROR = 1e-7;
26
27 public:
28
32 double width; // microstrip width (mm)
33 double length; // microstrip length (mm)
34 double gap; // for coupled lines (mm)
35 double er_eff; // effective permittivity
36 double zl; // characteristic impedance (ohms)
37 double zl_even; // even mode impedance (ohms)
38 double zl_odd; // odd mode impedance (ohms)
39 int iterations; // number of iterations used
40
42 };
43
46
49
50 public:
52 MicrostripClass() = default;
53
55 ~MicrostripClass() = default;
56
63 void calcMicrostrip(double width, double freq, double& er_eff, double& zl);
64
66 bool synthesizeMicrostrip(double Z0, double e_length, double freq);
67
69 double getMicrostripOpen(double Wh, double er, double er_eff);
70
73 bool synthesizeCoupledMicrostrip(double zl_even, double zl_odd, double length,
74 double freq);
75
77 void calcCoupledMicrostrip(double width, double gap, double freq,
78 double& zl_even, double& zl_odd,
79 double& er_eff_even, double& er_eff_odd);
80
82 void printResults(const std::string& title = "Results");
83
84 private:
86 static double dispersionKirschning(double er, double Wh, double freq,
87 double& er_eff, double& zl);
88};
89
90#endif // MICROSTRIP_H
Synthesize microstrip lines.
Definition Microstrip.h:19
MicrostripClass()=default
@brieg Class constructor
SynthesisResults Results
Synthesis results.
Definition Microstrip.h:48
~MicrostripClass()=default
Class destructor.
void calcMicrostrip(double width, double freq, double &er_eff, double &zl)
Calculates the impedance and relative effective permittivity of a microstrip line.
Definition Microstrip.cpp:17
bool synthesizeCoupledMicrostrip(double zl_even, double zl_odd, double length, double freq)
Synthesizes coupled microstrip dimensions for given even and odd mode impedances.
Definition Microstrip.cpp:168
void calcCoupledMicrostrip(double width, double gap, double freq, double &zl_even, double &zl_odd, double &er_eff_even, double &er_eff_odd)
Calculates even and odd mode parameters for coupled microstrip lines.
Definition Microstrip.cpp:273
void printResults(const std::string &title="Results")
Prints results in a formatted way.
Definition Microstrip.cpp:522
MS_Substrate Substrate
Substrate definition.
Definition Microstrip.h:45
double getMicrostripOpen(double Wh, double er, double er_eff)
Calculates additional line length for microstrip open end.
Definition Microstrip.cpp:149
bool synthesizeMicrostrip(double Z0, double e_length, double freq)
Synthesizes microstrip width for given characteristic impedance.
Definition Microstrip.cpp:105
Microstrip substrate parameters.
Definition structures.h:145
Structure for microstrip calculations.
Definition Microstrip.h:31