45 MicrostripCoupledLines,
59inline QString ComponentTypeToString(ComponentType type){
60 static const QMap<ComponentType, QString> names = {
61 {Capacitor,
"Capacitor"},
62 {Inductor,
"Inductor"},
65 {ConnectionNodes,
"ConnectionNodes"},
66 {Resistor,
"Resistor"},
67 {TransmissionLine,
"TransmissionLine"},
68 {MicrostripLine,
"MicrostripLine"},
69 {MicrostripStep,
"MicrostripStep"},
70 {MicrostripOpen,
"MicrostripOpen"},
71 {MicrostripVia,
"MicrostripVia"},
72 {MicrostripCoupledLines,
"MicrostripCoupledLines"},
73 {OpenStub,
"OpenStub"},
74 {ShortStub,
"ShortStub"},
75 {CoupledLines,
"CoupledLines"},
77 {ComplexImpedance,
"ComplexImpedance"},
78 {SPAR_Block,
"SPAR_Block"}};
80 return names.value(type,
"Unknown");
101enum FilterClass { Lowpass, Highpass, Bandpass, Bandstop };
107 CapacitiveCoupledShuntResonators,
108 InductiveCoupledShuntResonators,
109 CapacitiveCoupledSeriesResonators,
110 InductiveCoupledSeriesResonators,
111 QWCoupledShuntResonators
117enum SemiLumpedImplementation { ONLY_INDUCTORS, INDUCTORS_AND_SHUNT_CAPS };
123enum TransmissionLineType {
130static const double SPEED_OF_LIGHT = 299792458.0;
139 std::vector<double>
RL;
178inline QList<MS_Substrate> removeDuplicates(
const QList<MS_Substrate>& list) {
179 QList<MS_Substrate> uniqueList;
180 for (
const auto& item : list) {
181 if (!uniqueList.contains(item)) {
182 uniqueList.append(item);
192struct FilterSpecifications {
193 FilterClass FilterType;
194 ResponseType FilterResponse;
195 QString Implementation;
196 TransmissionLineType TL_implementation;
197 Coupling DC_Coupling;
200 double Ripple = 0.05;
206 QString EllipticType;
207 bool UseZverevTables;
210 SemiLumpedImplementation SemiLumpedISettings;
211 double ImpedanceRatio;
213 ComponentType tunableComponent_DC_Filters;
214 std::vector<double> resonatorValues;
230 std::complex<double>
ZL;
252 std::vector<std::complex<double>>
ZS;
253 std::vector<std::complex<double>>
ZL;
Attenuator design parameters.
Definition structures.h:277
QString Topology
Attenuator topology.
Definition structures.h:278
double Zout
Output impedance (Ohm)
Definition structures.h:281
double Pin
Input power (W)
Definition structures.h:284
double Attenuation
Attenuation (dB)
Definition structures.h:282
double Frequency
Central frequency (Hz)
Definition structures.h:283
TransmissionLineType TL_implementation
TL type.
Definition structures.h:279
MS_Substrate MS_Subs
Substrate settings.
Definition structures.h:285
double Zin
Input impedance (Ohm)
Definition structures.h:280
Microstrip substrate parameters.
Definition structures.h:145
double MetalThickness
Metal thickness (m)
Definition structures.h:150
double er
Relative permittivity.
Definition structures.h:147
double tand
Dissipation factor.
Definition structures.h:148
double MetalConductivity
Metal conductivity (S/m)
Definition structures.h:149
double height
Substrate height (m)
Definition structures.h:146
MS_Substrate(double h=0.508e-3, double epsilon_r=3.55, double tand=0.0027, double MetalConductivity=58e6, double MetalThickness=32e-6)
Constructor with RO4003C defaults (20 mils)
Definition structures.h:153
Matching network design data.
Definition structures.h:240
MatchingNetworkDesignParameters OutputNetworkParameters
Output network params.
Definition structures.h:242
double f_match
Target frequency (Hz)
Definition structures.h:245
std::array< std::complex< double >, 4 > sparams
S-parameters.
Definition structures.h:243
bool twoPortMode
Two-port mode flag.
Definition structures.h:244
MatchingNetworkDesignParameters InputNetworkParameters
Input network params.
Definition structures.h:241
Matching network design parameters.
Definition structures.h:220
QList< std::complex< double > > ZL_data
Impedance vs frequency.
Definition structures.h:232
MS_Substrate MS_Subs
Substrate settings.
Definition structures.h:234
TransmissionLineType TL_implementation
TL type.
Definition structures.h:223
int Solution
Solution number.
Definition structures.h:224
int Topology
Network topology.
Definition structures.h:222
std::complex< double > ZL
Load impedance at fmatch.
Definition structures.h:230
double Z0
Reference impedance (Ohm)
Definition structures.h:221
double gamma_MAX
Maximum reflection coefficient.
Definition structures.h:228
int NSections
Number of sections.
Definition structures.h:226
QList< double > freq
Frequency list.
Definition structures.h:231
double ZL_freq
Load impedance frequency (Hz)
Definition structures.h:229
QString Weigthing
Weighting function.
Definition structures.h:227
int OpenShort
Open/short configuration.
Definition structures.h:225
QString sim_path
S-parameter file path.
Definition structures.h:233
Network information.
Definition structures.h:251
std::vector< std::complex< double > > ZL
Load impedances.
Definition structures.h:253
QList< struct ComponentInfo > Ladder
Component IDs and properties.
Definition structures.h:255
std::vector< std::complex< double > > ZS
Source impedances.
Definition structures.h:252
QStringList topology
Topology descriptions.
Definition structures.h:254
Power combiner parameters.
Definition structures.h:261
QString Type
Wilkinson, branchlines, Bagley, etc.
Definition structures.h:262
double freq
Center frequency (Hz)
Definition structures.h:269
TransmissionLineType TL_implementation
TL type.
Definition structures.h:263
double alpha
Attenuation constant.
Definition structures.h:267
std::deque< double > OutputRatio
Splitting ratio.
Definition structures.h:266
MS_Substrate MS_Subs
Substrate settings.
Definition structures.h:271
int Nstages
Number of combiner stages.
Definition structures.h:265
QString units
mm, mil, um
Definition structures.h:268
double Z0
Reference impedance (Ohm)
Definition structures.h:270
int Noutputs
Number of output branches.
Definition structures.h:264
Prototype table properties.
Definition structures.h:135
QString ID
Table identifier.
Definition structures.h:136
std::vector< double > RL
Return loss values.
Definition structures.h:139
std::vector< int > N
Filter orders.
Definition structures.h:137
std::vector< double > Ripple
Ripple values.
Definition structures.h:138