;********************************************************************* ; di2455.txt ; ; LISTING 1 --CASCADING TWO-PORT NETWORKS ; ; "Cascade ABCD two-port networks," EDN, Dec 23, 1999, pg 107 ; http://www.ednmag.com/ednmag/reg/1999/122399/designideas.htm#26di1 ;********************************************************************* CLS PRINT SPC(8); : INPUT "Enter number of 2X2 matrices, n => 2 "; n DIM a(n - 1), b(n - 1), c(n - 1), d(n - 1) DIM e(n - 1), f(n - 1), g(n - 1), h(n - 1), t(7) FOR j = 0 TO n - 1 PRINT SPC(8); "For matrix number "; j + 1 PRINT SPC(16); : INPUT "Enter A and E "; a(j), e(j) PRINT SPC(16); : INPUT "Enter B and F "; b(j), f(j) PRINT SPC(16); : INPUT "Enter C and G "; c(j), g(j) PRINT SPC(16); : INPUT "Enter D and H "; d(j), h(j) NEXT j GOSUB 1 END 1 FOR j = 1 TO n - 1 t(0) = a(j - 1) * a(j) - e(j - 1) * e(j) + b(j - 1) * c(j) - f(j - 1) * g(j) t(1) = a(j - 1) * e(j) + e(j - 1) * a(j) + b(j - 1) * g(j) + f(j - 1) * c(j) t(2) = a(j - 1) * b(j) - e(j - 1) * f(j) + b(j - 1) * d(j) - f(j - 1) * h(j) t(3) = a(j - 1) * f(j) + e(j - 1) * b(j) + b(j - 1) * h(j) + f(j - 1) * d(j) t(4) = c(j - 1) * a(j) - g(j - 1) * e(j) + d(j - 1) * c(j) - h(j - 1) * g(j) t(5) = c(j - 1) * e(j) + g(j - 1) * a(j) + d(j - 1) * g(j) + h(j - 1) * c(j) t(6) = c(j - 1) * b(j) - g(j - 1) * f(j) + d(j - 1) * d(j) - h(j - 1) * h(j) t(7) = c(j - 1) * f(j) + g(j - 1) * b(j) + d(j - 1) * h(j) + h(j - 1) * d(j) a(j) = t(0): b(j) = t(2): c(j) = t(4): d(j) = t(6) e(j) = t(1): f(j) = t(3): g(j) = t(5): h(j) = t(7) PRINT : PRINT SPC(16); t(0); t(1), t(2); t(3) PRINT SPC(16); t(4); t(5), t(6); t(7) NEXT j RETURN