29 #include "component.h"
34 cpwstep::cpwstep () :
circuit (2) {
40 nr_double_t& C1, nr_double_t& C2) {
46 nr_double_t s1 = (s - W1) / 2;
47 nr_double_t s2 = (s - W2) / 2;
54 nr_double_t ZlEff, ErEff, ZlEffFreq, ErEffFreq;
57 ZlEffFreq, ErEffFreq);
58 C1 = ErEffFreq /
C0 / ZlEffFreq;
61 ZlEffFreq, ErEffFreq);
62 C2 = ErEffFreq /
C0 / ZlEffFreq;
88 if (W1 >= s || W2 >= s) {
90 "than groundplane gap\n");
94 if (er < 2 || er > 14) {
96 "2 < er < 14 (er = %g)\n", er);
104 nr_double_t s1 = (s - W1) / 2;
105 nr_double_t s2 = (s - W2) / 2;
106 nr_double_t a,
c, c1, c2, x1, x2;
107 nr_double_t o = 2 *
M_PI * frequency;
111 a = s1 > s2 ? s2 / s1 : s1 / s2;
112 c =
M_1_PI * ((a * a + 1) / a *
log ((1 + a) / (1 - a)) -
113 2 *
log (4 * a / (1 - a * a)));
114 c = c * (x1 + x2) / 2;
115 return rect (0, c * o);