24#ifndef TRANSLINE_CALCULATIONS_COUPLED_MICROSTRIP_H
25#define TRANSLINE_CALCULATIONS_COUPLED_MICROSTRIP_H
80 if( aWOverH <= 0.0 || aCOverH <= 0.0 )
83 const double q2Coated =
WanHoorfarQ2( aWOverH, 1.0 + aCOverH );
85 return std::max( 0.0, q2Coated - q2Base );
189 void syn_err_fun(
double*,
double*,
double,
double,
double,
double,
double );
199 void syn_fun(
double*,
double*,
double,
double,
double,
double );
double atten_dielectric_e
void Z0_dispersion()
Calculate frequency dependency of characteristic impedances.
void delta_u_thickness()
Compute the thickness effect on normalized width for coupled microstrips.
void er_eff_static()
Compute the static effective dielectric constants.
void diff_impedance()
Calculate the differential impedance of the coupled microstrips.
double delta_u_thickness_single(double, double)
Computes the thickness effect on normalized width for a single microstrip line.
MICROSTRIP m_aux_microstrip
Runs intermediate single-track calculations.
double atten_dielectric_o
void line_angle()
Compute electrical length in radians.
void synth_width()
Calculate widths given Z0 and e_r.
void syn_err_fun(double *, double *, double, double, double, double, double)
Error function to minimise when synthesising trace geometry.
void attenuation()
Compute attenuation.
double filling_factor_even(double, double, double)
Compute the filling factor for the coupled microstrip even mode without cover and zero conductor thic...
double delta_Z0_odd_cover(double, double, double)
Compute the odd mode impedance correction for a homogeneous microstrip due to the cover.
void compute_single_line()
Computes initial parameters for a single microstrip.
void SetAnalysisResults() override
Sets the output values and status following analysis.
void er_eff_freq()
Compute er_eff as a function of frequency.
void conductor_losses()
Compute conductor losses per unit length.
double GetSoldermaskDeltaQ(double aWOverH, double aCOverH) const override
Coupled microstrip shares the microstrip incremental filling factor.
void Analyse() override
Analyse track geometry parameters to output Z0 and Ang_L.
void SetSynthesisResults() override
Sets the output values and status following synthesis.
void syn_fun(double *, double *, double, double, double, double)
double delta_q_cover_even(double)
Compute the cover effect on filling factor for the even mode.
double delta_q_cover_odd(double)
Compute the cover effect on filling factor for the odd mode.
bool Synthesize(SYNTHESIZE_OPTS aOpts) override
Synthesis track geometry parameters to match given Z0.
double filling_factor_odd(double, double, double)
Compute the filling factor for the coupled microstrip odd mode without cover and zero conductor thick...
void Z0_even_odd()
Compute the static even- and odd-mode static impedances.
void dielectric_losses()
Compute dielectric losses per unit length.
double delta_Z0_even_cover(double, double, double)
Compute the even mode impedance correction for a homogeneous microstrip due to the cover.
static double WanHoorfarQ2(double aU, double aHBarTop)
Wan-Hoorfar 2000 eq.
TRANSLINE_CALCULATION_BASE(std::initializer_list< TRANSLINE_PARAMETERS > aParameters)
Constructs the transmission line calculation object.
SYNTHESIZE_OPTS
Options for specifying synthesis inputs, targets, or strategies.
TRANSLINE_PARAMETERS
All possible parameters used (as inputs or outputs) by the transmission line calculations.