diff --git a/src/cheatsheets/Schaltungstheorie.typ b/src/cheatsheets/Schaltungstheorie.typ index 04fa904..0f14550 100644 --- a/src/cheatsheets/Schaltungstheorie.typ +++ b/src/cheatsheets/Schaltungstheorie.typ @@ -419,6 +419,54 @@ ] */ + // Dual Wandlung + #bgBlock(fill: colorAllgemein)[ + #subHeading(fill: colorAllgemein)[Dual Wandlung] + Stumpfe Ersetzung mit: + + #table( + columns: (1fr, 1fr), + fill: (x, y) => if calc.rem(y, 2) == 0 { tableFillHigh } else { tableFillLow }, + + $ u --> R_d i^d $, + $ i --> u^d / R_d $, + $ Phi --> R_d q^d $, + $ q --> Phi / R_d $, + + $ R --> G^d = R / R_d^2 $, + $ G --> R^d = R_d^2 G $, + + $C --> L^d = R_d^2 C$, + $L --> C^d = L / R_d^2$, + + $"KS" --> "LL"$, $"LL" -> "KS"$, + + $"Parallel" --> "Seriell"$, + $"Seriell" --> "Parallel"$, + + table.cell(colspan: 2)[ + *Dualwandlung: Steurende & Ausgangs Größe* + $ + "VCVS": u_"out" = mu dot u_"in" &--> i_"out" R_d = mu dot i_"in" R_d \ + "VCCS": u_"out" = g dot i_"in" &--> \ + "CCVS": u_"out" = r dot i_"in" &--> \ + "CCCS": i_"out" = beta dot i_"in" &--> \ + $ + ], + + table.cell(colspan: 2)[ + *Dualwandlung: Nur Ausgangs Größe* + $ + "VCVS": u_"out" = mu dot u_"in" &--> \ + "VCCS": u_"out" = g dot i_"in" &--> \ + "CCVS": u_"out" = r dot i_"in" &--> \ + "CCCS": i_"out" = beta dot i_"in" &--> \ + $ + ], + + table.cell(colspan: 2)[$ (u, i) in cal(F) --> (u_d, i_d) in cal(F) = (R_d i, 1/R_d u) $] + ) + ] // Linearsierung #bgBlock(fill: colorEineTore)[ @@ -517,8 +565,6 @@ *Klein-Signal* $quad u_"lin" = r_"lin" (i) = r'(i_"AP")i$ ] - - #colbreak() // Graphen und Matrizen #bgBlock(fill: colorAnalyseVerfahren)[ #subHeading(fill: colorAnalyseVerfahren)[Graphen und Matrizen] @@ -594,6 +640,7 @@ #line(length: 100%, stroke: (thickness: 0.2mm)) + #colbreak() *KCL und KVL* \ KCL in Nullraum: $bold(A) bold(i_b) = bold(0)$ \ @@ -634,29 +681,82 @@ // Tablauematrix #bgBlock(fill: colorAnalyseVerfahren)[ - #subHeading(fill: colorAnalyseVerfahren)[Tablauematrix] + #subHeading(fill: colorAnalyseVerfahren)[Allgemeine Analyse Verfahren] + + *Tableaugleichung* Alle Element Gleichungen in Nullraum + KVLs/KCLs in eine Matrix - KCLs: $jMat(A) jVec(i) = jVec(0)$\ - KVLs: $jMat(B) jVec(u) = jVec(0)$\ - Elementgleichungen: $jMat(N) jVec(u) + jMat(M) jVec(i) = jVec(e)$ + KCLs in Nullraum: $jMat(A) jVec(i)_b = jVec(0)$\ + KVLs in Nullraum: $jMat(B) jVec(u)_b = jVec(0)$\ + Elementgleichungen: $jMat(N) jVec(u)_b + jMat(M) jVec(i)_b = jVec(e)$ - $ mat( + $ mannot.mark(mat( jMat(B), jMat(0); jMat(0), jMat(A); jMat(M), jMat(N) - ) vec(jVec(u), jVec(i)) = vec(jVec(0), jVec(0), jVec(e)) $ + ), tag: #<1>) vec(jVec(u)_b, jVec(i)_b) = vec(jVec(0), jVec(0), jVec(e)) - ] - // Machenstrom-/Knotenpotenzial-Analyse - #bgBlock(fill: colorAnalyseVerfahren)[ - #subHeading(fill: colorAnalyseVerfahren)[Machenstrom-/Knotenpotenzial-Analyse] + #mannot.annot(<1>, text($b - (n-1) space$, rgb("#00318b")), pos: left, dy: -2.8mm, dx: 1mm) + #mannot.annot(<1>, text($n-1 space$, rgb("#00318b")), pos: left, dy: 0mm, dx: 1mm) + #mannot.annot(<1>, text($b space$, rgb("#00318b")), pos: left, dy: 2.8mm, dx: 1mm) + #mannot.annot(<1>, text($2b$, rgb("#00318b")), pos: bottom, dy: -0.5mm) + $ + + #line(stroke: (thickness: 0.2mm), length: 100%) + + *Knotenspannungs-Analyse* + + KVL in Bildraum: $jVec(u)_b = jMat(A)^T jVec(u)_k$\ + KCLs in Nullraum: $jMat(A) jVec(i)_b = jVec(0)$\ + Elementgleichungen: $jMat(N) jVec(u)_b + jMat(M) jVec(i)_b = jVec(e)$ + + $ + mannot.mark(mat( + -jMat(A)^T, jMat(1), jMat(0); + jMat(0), jMat(0), jMat(A); + jMat(0), jMat(M), jMat(N) + ), tag: #<1>) vec(jVec(u)_k, jVec(u)_b, jVec(i)_b) = vec(jVec(0), jVec(0), jVec(e)) + + #mannot.annot(<1>, text($b space$, rgb("#00318b")), pos: left, dy: -2.8mm, dx: 1mm) + #mannot.annot(<1>, text($n-1 space$, rgb("#00318b")), pos: left, dy: 0mm, dx: 1mm) + #mannot.annot(<1>, text($b space$, rgb("#00318b")), pos: left, dy: 2.8mm, dx: 1mm) + #mannot.annot(<1>, text($2b + (n-1)$, rgb("#00318b")), pos: bottom, dy: -0.5mm) + $ + + #line(stroke: (thickness: 0.2mm), length: 100%) + + *Maschenstrom-Analyse* + + Nur für Planare Schaltungen + + KCL in Bildraum: $jVec(i)_b = jMat(B)^T jVec(i)_m$\ + KCLs in Nullraum: $jMat(B) jVec(u)_b = jVec(0)$\ + Elementgleichungen: $jMat(N) jVec(u)_b + jMat(M) jVec(i)_b = jVec(e)$ + + $ + mannot.mark(mat( + jMat(B), jMat(0), jMat(0); + jMat(0), jMat(1), -jMat(B)^T; + jMat(M), jMat(N), jMat(0) + ), tag: #<1>) vec(jVec(u)_b, jVec(i)_b, jVec(i)_m) = vec(jVec(0), jVec(0), jVec(e)) + + #mannot.annot(<1>, text($b - (n-1) space$, rgb("#00318b")), pos: left, dy: -2.8mm, dx: 1mm) + #mannot.annot(<1>, text($b space$, rgb("#00318b")), pos: left, dy: 0mm, dx: 1mm) + #mannot.annot(<1>, text($b space$, rgb("#00318b")), pos: left, dy: 2.8mm, dx: 1mm) + #mannot.annot(<1>, text($3b - (n-1)$, rgb("#00318b")), pos: bottom, dy: -0.5mm) + $ + + #line(stroke: (thickness: 0.2mm), length: 100%) + + Nicht Lineare Gleichungen: $underline(f)'(jVec(u), jVec(i)) = 0$ ] - // Reduziert Knotenpotenzial + // Netwon Rephson #bgBlock(fill: colorAnalyseVerfahren)[ - #subHeading(fill: colorAnalyseVerfahren)[Reduzierte Knotenpotenzial-Analyse] + #subHeading(fill: colorAnalyseVerfahren)[Netwen-Raphson] + + ] // ZweiTor Beschreibungen @@ -885,15 +985,11 @@ ], // Linearsierung (N-Tore) - #bgBlock(fill: colorZweiTore)[ - #subHeading(fill: colorZweiTore)[Linearisierung (N-Tore)] + #bgBlock(fill: colorAnalyseVerfahren)[ + #subHeading(fill: colorAnalyseVerfahren)[Linearisierung (N-Tore)] - 1. Arbeitspunk bestimmen $vec(jVec(u)_"AP", jVec(i)_"AP") hat(=) vec(jVec(x)_"AP", jVec(y)_"AP")$ - - $f_1(x_1, x_2, ... x_n) &= y_1\ - f_2(x_1, x_2, ... x_n) &= y_2\ - &dots.v \ - f_n (x_1, x_2, ... x_n) &= y_n$ + 1. Arbeitspunk bestimmen/schätzen/ist gegeben \ + $vec(jVec(u)_"AP", jVec(i)_"AP") hat(=) vec(jVec(x)_"AP", jVec(y)_"AP")$ $bold(f)(jVec(x))=jVec(y)$ @@ -922,10 +1018,29 @@ // Netwen-Raphson N-Tore #bgBlock(fill: colorZweiTore)[ #subHeading(fill: colorZweiTore)[Newton-Raphson (N-Tore)] - Nicht lineare Beschreibung in Nullraum/Impliziter Darstellung: - $f(jVec(x)) = jVec(0)$\ + Nicht lineare Beschreibung in Nullraum/Implizit Darstellung: + $jVec(f)'(jVec(x)) = jVec(0)$\ - $jVec(x)_(n+1) = jVec(x)_n - (jMat(J)|_(jVec(x)_"AP"))^(-1) f(jVec(x))$ + + 0. Jakobi Matrix $jMat(J)(x^((k)))$ aufstellen (ableiten) + + Schrit $n+1$ Berechnen: + + 1. Jacobi Matrix $jMat(J)(x^((n)))$ ausrechnen + + 2. Linearisiertes Gleichungs System aufstellen: \ + $M_"lin"^((n)) jVec(u)^((n)) + N_"lin"^((n)) jVec(i)^((n))$ aus $jMat(J)(x^((n)))$ rauslesen + + $jVec(e)_"lin" = jMat(J)(x^((n))) dot x^((n)) - jVec(f)(x^((n)))$ + + $n$te-Linearisierte Elementgleichungen: \ + $M_"lin"^((n)) jVec(u)^((n)) + N_"lin"^((n)) jVec(i)^((n)) = jVec(e)^((n))_"lin"$ + + Tablaue: $jMat(T)^((n)) jVec(x)^((n + 1)) = jVec(e)^((n))$ \ + + 3. Gleichungsystem lösen: $jVec(x)^((n+1))$ + + 4. Fehler $epsilon$ berechnen ] // Reaktive Elemeten @@ -940,12 +1055,16 @@ row-gutter: 10mm, column-gutter: 2mm, [ + *Kapazitiv* + $[i(t)] = unit("A")$\ $[q(t)] = unit("A s") = unit("C")$\ ], grid.vline(stroke: 0.75pt), [], [ + *Induktiv* + $[u(t)] = unit("V")$ \ $[Phi(t)] = unit("V s") = unit("W b")$ \ ], @@ -965,7 +1084,11 @@ ], ) - $W(t_1, t_2) = integral_(t_1)^(t_2) P(tau) d tau = integral_(t_1)^(t_2) u(tau) i(tau) d tau$ + #linebreak() + + $P(t) = u(t) i(t)$ + + $W(t_1, t_2) = integral_(t_1)^(t_2) P(tau) d tau$ $W(t_1, t_2) > 0$: Nimmt Energie auf\ $W(t_1, t_2) = 0$: Verlustlos\ @@ -981,13 +1104,17 @@ [*Kapazitiv*], grid.vline(stroke: 0.75pt), [], - [*Induktivität*], + [*Induktiv*], [ $q = c(u) \ u = chi(q)$\ + + $W(t_1, t_2), integral_(q_1 = q(t_1))^(q_2 = q(t_2)) chi(q) d q$ ], [], [ - $Phi = l(i) \ i = lambda(Phi)$ + $Phi = l(i) \ i = lambda(Phi)$ \ + + $W(t_1, t_2), integral_(Phi_1 = Phi(t_1))^(Phi_2 = Phi(t_2)) lambda(Phi) d Phi$ ], [$u,q$ stetig und beschränkt], @@ -1080,7 +1207,7 @@ #subHeading(fill: colorComplexAC)[Komplex Wechselstrom Rechnnung] Im Eingeschwungenem Zustand - $u(t) =U_m "Re"{e^(j omega t + phi)}$ + $u(t) = "Re"{U_m e^(j omega t + phi)}$ $u(t) = U_m cos(omega t + alpha)$ \ $i(t) = I_m cos(omega t + beta)$ @@ -1239,7 +1366,16 @@ #ComplexNumbersSection(i: $j$) + *Trigonometire* + #grid( + columns: (auto, auto), + column-gutter: 2mm, + row-gutter: 3mm, + $cos(x) = cos(-x)$, $sin(-x) = -sin(x)$, $cos(x)^2 + sin(x)^2 = 1$, $cos(x) = sin(x + pi/2)$, $sin(x) = cos(x - pi/2)$, $$, + grid.cell(colspan: 2, $cos(x + y) = cos(x)cos(y) - sin(x)sin(y)$), + grid.cell(colspan: 2, $sin(x + y) = sin(x)cos(y) + cos(x)sin(y)$) + ) ] // SinTable @@ -1260,11 +1396,40 @@ #columns(2)[ #bgBlock(fill: colorAnalyseVerfahren)[ - #subHeading(fill: colorAnalyseVerfahren)[Knotenpotenzial-Analyse Komponetent] + #subHeading(fill: colorAnalyseVerfahren)[Reduzierte Knotenpotenzial-Analyse Komponetent] #import mannot: * #let ImageHeight = 2.5cm + Reduzierte Knotenpotenzial-Analyse: $jMat(G_k) = jVec(u)_k = jVec(i)_q$ + + *Cramersche Regel:* $u_(k i) = (det jMat(G)_(k i))/(det jMat(G)_k)$ ($jMat(G)_(k i)$ entshet aus $G_k$ durch ersetzen der $i$-ten Splate mit $jVec(i)_q$) + + #table( + grid( + columns: 3, + zap.circuit({ + import zap : * + + vsource("V", (0,0), (0,1.5), scale: 0.4, fill: none) + joham.voltage((-0.3,1), (-0.3,0), $U_0$) + resistor("G", (0,1.5), (1,1.5), scale: 0.4, fill: none) + wire("V.in", (1,0)) + }), + align(center+horizon, $==>$), + zap.circuit({ + import zap : * + + isource("V", (0,0), (0,1.5), scale: 0.4, fill: none, i: (content: $G U_0 space $, invert: false, distance: 0.2, anchor: "east")) + + resistor("G", (0,1.5), (1,1.5), scale: 0.4, fill: none) + wire("V.in", (1,0)) + }) + ), + + + ) + #table( columns: (1fr, 1fr), fill: (x, y) => if calc.rem(y, 2) == 0 { tableFillHigh } else { tableFillLow }, @@ -1725,7 +1890,7 @@ // Zwei-Tor Tabelle -#grid(columns: (2fr, 1fr))[ +#grid(columns: (1fr))[ #bgBlock(fill: colorZweiTore, width: 100%)[ #subHeading(fill: colorZweiTore)[Zwei-Tor-Übersichts] @@ -1748,7 +1913,7 @@ joham.voltage((to: "Op.plus", rel: (-0.25, 0)), (to: "Op.minus", rel: (-0.25, 0)), $u_"in"$) - joham.voltage((to: "Op.out", rel: (0.25, 0)), (to: "Op.out", rel: (0.25, -0.7)), $u_"out"$, anchor: "west") + joham.voltage((to: "Op.out", rel: (0.25, 0)), (to: "Op.out", rel: (0.25, -0.7)), $u_"out"$, anchor: "west") }) #table( @@ -1914,7 +2079,25 @@ $ i_2 &= - ü i_1 &quad i_1 &= - 1/ü i_2 \ u_2 &= 1/ü u_1 &quad u_1 &= ü u_2 $ - ], [], + ], [ + #align(horizon+center, zap.circuit({ + import zap : * + import cetz.draw : line, rect, mark, content + + joham.gyrator("G1", (0,0), scale: 0.4, constant: $G_d$) + joham.gyrator("G2", (1.6,0), scale: 0.4, constant: $ü G_d$) + joham.ground("G", (0.8, -0.67)) + + node("N1", "G1.12", fill: false, label: (content: $beta$, distance: 0.1)) + node("N1", "G1.11", fill: false, label: (content: $alpha$, distance: 0.1)) + node("N1", "G2.22", fill: false, label: (content: $delta$, distance: 0.1)) + node("N1", "G2.21", fill: false, label: (content: $gamma$, distance: 0.1)) + + node("N1", (0.8, 0.67), label: (content: $epsilon$, distance: 0.1)) + node("N1", (0.8, -0.67)) + + })) + ], [ - Verlustlos - Reziprok @@ -1948,8 +2131,11 @@ content((-0.7, -0.8), text([Output $cal(F)^d$], fill: rgb("#8b2000"))) content((0.8, -0.8), text([Input $cal(F)$], fill: rgb("#00318b"))) - - })], + }) + $ u_1 = - R_d i_2 &quad i_1 = 1/R_d u_2 \ + u_2 = R_d i_1 &quad u_2 = - 1/R_d u_1 + $ + ], [], [ - Verlustlos @@ -1958,14 +2144,77 @@ Der Pfeil zeigt AUF die NORMAL Eintor ], - [$ R = mat(0, -R_d; R_d, 0) &quad G = mat(0, G_d; -G_d, 0) \ A = mat(0, R_d; 1/R_d, 0) &quad A' = mat(0, -R_d; -1/R_d, 0) + [$ R = mat(0, -R_d; R_d, 0) &quad G = mat(0, G_d; -G_d, 0) \ + A = mat(0, R_d; 1/R_d, 0) &quad A' = mat(0, -R_d; -1/R_d, 0) \ + R_d = 1/G_d + $], [NIK], [#zap.circuit({ joham.zweitor("NIK", (0,0), label: "NIK") })], - [], + [#grid( + columns: (auto, auto), + column-gutter: -3mm, + align(center+horizon, scale(75%, zap.circuit({ + import zap : * + import cetz.draw : line, rect, mark, content + + node("A", (-2, 0), fill: false) + node("B", (2, 0), fill: false) + node("C", (-2, 1.5), fill: false) + node("D", (2, 1.5), fill: false) + + wire("A", "B") + + joham.norator("Q1", (-1.5, 2), (1.5, 2), scale: 0.5) + node("N1", (-1.5,1.5)) + node("N2", (0,1.5)) + node("N3", (1.5,1.5)) + resistor("R1", "N1", "N2", scale: 0.5, fill: none, label: (content: $R$, anchor: "south", distance: 1mm)) + resistor("R2", "N2", "N3", scale: 0.5, fill: none, label: (content: $R$, anchor: "south", distance: 1mm)) + wire("N1", "Q1.in") + wire("N3", "Q1.out") + wire("N1", "C", i: (content: $i_1$, invert: true)) + wire("N3", "D", i: (content: $i_2$, invert: true)) + joham.nullator("Q0", "N2", n:"*-*", (0,0), scale: 0.5) + + joham.voltage("C", "A", $u_1$) + joham.voltage("D", "B", $u_2$) + + content((0,-0.4), $k = +1$, anchor: "south") + }))), + align(center+horizon, scale(75%, zap.circuit({ + import zap : * + import cetz.draw : line, rect, mark, content + + node("A", (-2, 0), fill: false) + node("B", (2, 0), fill: false) + node("C", (-2, 1.5), fill: false) + node("D", (2, 1.5), fill: false) + + wire("A", "B") + + joham.nullator("Q1", (-1.5, 2), (1.5, 2), scale: 0.5) + node("N1", (-1.5,1.5)) + node("N2", (0,1.5)) + node("N3", (1.5,1.5)) + resistor("R1", "N1", "N2", scale: 0.5, fill: none, label: (content: $R$, anchor: "south", distance: 1mm)) + resistor("R2", "N2", "N3", scale: 0.5, fill: none, label: (content: $R$, anchor: "south", distance: 1mm)) + wire("N1", "Q1.in") + wire("N3", "Q1.out") + wire("N1", "C", i: (content: $i_1$, invert: true)) + wire("N3", "D", i: (content: $i_2$, invert: true)) + joham.norator("Q0", "N2", n:"*-*", (0,0), scale: 0.5) + + joham.voltage("C", "A", $u_1$) + joham.voltage("D", "B", $u_2$) + + content((0,-0.4), $k = -1$, anchor: "south") + })))) + + ], [ - Aktiv - Antireziprok @@ -1973,7 +2222,7 @@ ], [$ H = mat(0, -k; -k, 0) quad H' = mat(0, -1/k; -1/k, 0) \ A = mat(-k, 0; 0, 1/k) quad A'= mat(-1/k, 0; 0, k) $] ) -] + ] ] // Knoten Spannungs Analyse @@ -2005,12 +2254,17 @@ Kennline nur $u\/i$-Achsen ], [$forall vec(jVec(u), jVec(v)) in cal(F) : jVec(u)^T jVec(i) = 0$], + grid(columns: (auto, auto), + column-gutter: 5mm, [ $u\/q$-Plot: Wenn keine Schleifen \ - $i\/Phi$-Plot: Wenn keine Schleifen \ + $i\/Phi$-Plot: Wenn keine Schleifen + ], [ $u\/i$-Plot: Wenn Auf Achse \ $Phi\/q$-Plot: Wenn auf Achse \ - ], + ], [ + + ]), [*linear*], [Kennline ist Gerade], diff --git a/src/lib/common_rewrite.typ b/src/lib/common_rewrite.typ index a7b73d7..81ab6d3 100644 --- a/src/lib/common_rewrite.typ +++ b/src/lib/common_rewrite.typ @@ -69,7 +69,11 @@ $z^* = a - #i b = r e^(-#i phi)$ Konjungiert Erweitern:\ - $(a + b #i)/(c + d #i) = ((a + b #i)(c - d #i))/(c^2 + d² )$ + #grid(columns: (1fr, 1fr), + $(a + b #i)/(c + d #i) = ((a + b #i)(c - d #i))/(c^2 + d² )$, + $1/(a + j b) = (a - j b)/(a^2 + b^2)$ + ) + $r = abs(z) quad phi = cases( + arccos(a/r) space : space a >= 0,