feat(etit-es): example exercise for 3dB and Arbeitspunkt + formatting
This commit is contained in:
parent
d8d7ae8c14
commit
058b94688a
|
@ -1,4 +1,5 @@
|
|||
#import "@preview/zap:0.2.1"
|
||||
#import "@preview/cetz-plot:0.1.2": plot, chart
|
||||
|
||||
#set columns(gutter: 5pt)
|
||||
#set rect(outset: 0pt)
|
||||
|
@ -22,6 +23,15 @@
|
|||
circle(pos, name: name, radius: .1, fill: white)
|
||||
})
|
||||
}
|
||||
|
||||
#let arrow(a,b,..args) = {
|
||||
import zap.draw: *
|
||||
line((a,.2,b), (b, .2, a), name: "line", mark: (end: (symbol: ">", fill: black)))
|
||||
content("line", anchor: "east", padding: .2, ..args)
|
||||
}
|
||||
|
||||
|
||||
|
||||
#columns(2, [
|
||||
|
||||
#section[
|
||||
|
@ -47,12 +57,16 @@
|
|||
]
|
||||
|
||||
#grid(columns: 2 * (1fr,), align: (right, left), gutter: 10pt,
|
||||
|
||||
[Parallelwiderstände], $R_1 || R_2 = 1 / (1 / R_1 + 1 / R_2)$,
|
||||
[Knotenregel, $sum I = 0$], [Maschenregel $sum U = 0$],
|
||||
[Parallelwiderstände], $R_1 || R_2 = 1 / (1 / R_1 + 1 / R_2) = (R_1 dot R_2) / (R_1 + R_2)$,
|
||||
[Spannungsteiler], $U_2 = U dot R_2 / (R_1 + R_2)$,
|
||||
[Stromteiler], $I_1 = I dot = R_2 / (R_2 + R_2)$,
|
||||
[3 dB-Grenzfrequenz], $f_"3dB" = 1 / (2 pi dot C dot R)$
|
||||
[Stromteiler], $I_1 = I dot R_2 / (R_1 + R_2)$, [3 dB-Grenzfrequenz], $f_"3dB" =
|
||||
1 / (2 pi dot C dot R)$
|
||||
)
|
||||
Übertragungsfunktion normiert: $1/(1+j omega K)$ bzw $(j omega K)/(1 + j omega K)$ \
|
||||
$omega_"3dB" = 1 / K => f_"3dB" = 1 / (2 pi K)$
|
||||
$Z_L = j omega L, Z_C = 1 / (j omega C)$ \
|
||||
$abs(H(omega)) = abs(a+b j) = sqrt(a^2 + b ^2)$
|
||||
|
||||
]
|
||||
#colbreak()
|
||||
|
@ -60,22 +74,27 @@
|
|||
#section[
|
||||
== Diode #box(zap.canvas({zap.diode("d", (0,0),(1,0))}))
|
||||
|
||||
$
|
||||
I = I_s dot (e^(U/U_T) -1) approx 26"mv" " mit " U_T = (k_B dot T)/mono(e)
|
||||
$
|
||||
#v(-.5cm)
|
||||
#grid(columns: 2 * (1fr,), align: (right, left), gutter: 10pt,
|
||||
[], $" mit " U_T = (k_B dot T)/mono(e) approx 26"mv"$,
|
||||
[Diodenstrom], $I_D &= I_s dot (e^(U_D/U_T) -1)$,
|
||||
[Diodenspannung], $U_D &= U_T dot ln(I_D/I_S)$ ,
|
||||
[Kleinsignal], $r_D &= U_T / I_D$
|
||||
)
|
||||
|
||||
#zap.canvas({
|
||||
import zap: *
|
||||
import zap.cetz.draw: *
|
||||
|
||||
scale(.6)
|
||||
content((-5,0), [Kleinsignalersatzschaltbild])
|
||||
content((-5,-.3), [Kleinsignalersatzschaltbild])
|
||||
out("A", (0,0))
|
||||
out("K", (3,0))
|
||||
resistor("rd", "A", "K", label: (content: $r_D$, anchor: "south", distance: 0pt))
|
||||
|
||||
translate((0.8,-2.5))
|
||||
content((-5.8,0), [Erweitertes \ Kleinsignalersatzschaltbild])
|
||||
translate((0.8,-1.5))
|
||||
content((-4.2,0), [Erweitertes Kleinsignalersatzschaltbild])
|
||||
translate((2.4,.4))
|
||||
scale(.6)
|
||||
out("A", (0,0))
|
||||
out("K", (5,0))
|
||||
|
@ -88,12 +107,36 @@ $
|
|||
wire("CD.in", (rel: (0,-1)))
|
||||
wire("CD.out", (rel: (0,-1)))
|
||||
})
|
||||
#stack(dir: ltr,[
|
||||
#zap.cetz.canvas({
|
||||
import zap.draw: *
|
||||
plot.plot(axis-style: "school-book", name: "plot", size: (2,2), x-label: $U(V)$, y-label:
|
||||
$I(A)$, x-tick-step: none, y-tick-step: none, {
|
||||
plot.add(domain: (-23,15), u => if (u > 0) {(u, calc.exp(u - 2))}
|
||||
else {(u,-calc.exp(-u - 10))})
|
||||
plot.add-anchor("brk", (-8,0))
|
||||
plot.add-anchor("UBR", (-18,0))
|
||||
plot.add-anchor("UF", (14,0))
|
||||
})
|
||||
content("plot.brk", text(fill: black, weight: "extrabold")[\/\/])
|
||||
line((rel: (0,.2), to: "plot.UBR"), (rel: (0,-.4)))
|
||||
content("plot.UBR", anchor: "south", padding: 8pt, $U_"Br" "/" U_Z$)
|
||||
line((rel: (0,.2), to: "plot.UF"), (rel: (0,-.4)))
|
||||
content("plot.UF", anchor: "north", padding: 8pt, $U_"F"$)
|
||||
})
|
||||
],[
|
||||
$
|
||||
U_F & "Flussspannung" \
|
||||
U_"Br" "/" U_Z & "Durchbruchspannung /" \
|
||||
& "Zenerspannung "
|
||||
$
|
||||
])
|
||||
]
|
||||
])
|
||||
|
||||
#section[
|
||||
|
||||
#grid(columns: 2 * (1fr,), [
|
||||
#stack(dir: ltr, spacing: 1fr, [
|
||||
== Bipolartransistor #box[#zap.canvas({
|
||||
import zap: *
|
||||
import zap.draw: *
|
||||
|
@ -105,10 +148,11 @@ content("Q.e", "E", anchor: "west", padding: (left: 5pt))
|
|||
})]
|
||||
#grid(columns: 2, align: (right, left), gutter: 10pt,
|
||||
[Steilheit], $S = I_(C,A) / U_T$,
|
||||
[Kleinsignal-Eingangs-Widerstand], $r_"BE" = beta / S$
|
||||
[Kleinsignal-Eingangs-\ Widerstand], $r_"BE" = beta / S$,
|
||||
[Stromverstärkung], $beta = I_C / I_B$,
|
||||
[Ausgangswiderstand], $r_"CE" = (abs(U_A) + U_"CE") / I_C$,
|
||||
)
|
||||
],[
|
||||
#grid(columns: 2 * (1fr,), [
|
||||
#figure(zap.canvas({
|
||||
import zap: *
|
||||
import zap.cetz.draw: *
|
||||
|
@ -137,7 +181,7 @@ capacitor("CBE", ("E"), (rel: (0,2)), stroke: red, label: (content: text(fill:re
|
|||
capacitor("", ("K"), (rel: (-1,0)), stroke: red)
|
||||
content((rel: (-1.5,0), to: "K"), text(fill: red, $C_"BC"$))
|
||||
}),
|
||||
caption: [#text(fill:red)[vollständiges] Kleinsignalersatzschaltbild])
|
||||
caption: [#text(fill:red)[vollständiges] \ Kleinsignalersatzschaltbild])
|
||||
], [
|
||||
#figure(zap.canvas({
|
||||
import zap: *
|
||||
|
@ -163,7 +207,33 @@ diode("RBE", "B", ((), "|-", "E"))
|
|||
isource("SUBE", "K", ((), "|-", "E"), label: (content: $S dot u_"BE"$, distance: 1pt))
|
||||
}),caption: [Großsignalersatzschaltbild])
|
||||
])
|
||||
#align(right + horizon, stack(dir: ltr, [
|
||||
#figure(zap.canvas({
|
||||
import zap: *
|
||||
import zap.cetz.draw: *
|
||||
scale(.7)
|
||||
out("U1E", (0,0))
|
||||
out("U1A", (0,-2))
|
||||
out("U2E", (5,0))
|
||||
out("U2A", (5,-2))
|
||||
set-style(zap: (wires: (stroke: green)))
|
||||
resistor("Z1", (1.5,0), (1.5,-2), stroke: green, label: (content: text(fill: green, $Z/(1-A)$), distance: 1pt))
|
||||
resistor("Z2", (5-1.5,0), (5-1.5,-2), stroke: green, label: (content: text(fill: green, $(A Z)/(A-1)$), distance: 1pt))
|
||||
wire("U1E", "Z1.in")
|
||||
wire("U2E", "Z2.in")
|
||||
wire("U1A", "U2A")
|
||||
set-style(zap: (wires: (stroke: red)))
|
||||
resistor("Z","Z1.in", "Z2.in", stroke: red, label: (content: text(fill: red, $Z$), distance: 1pt))
|
||||
|
||||
arrow("U1E", "U1A", $u_1$, anchor: "west")
|
||||
arrow("U2E", "U2A", $u_2$, anchor: "west")
|
||||
}),caption: [
|
||||
])
|
||||
], [
|
||||
Miller-Theorem: $A = u_2/u_1$\
|
||||
#text(fill: red)[verbundene Impedanz $Z$] wird \
|
||||
zu #text(fill: green)[zwei getrennte Impedanzen]
|
||||
]))
|
||||
|
||||
#table(columns: 3 * (1fr,), align: center,
|
||||
table.header([Ermitterschaltung], [Basisschaltung], [Kollektorschaltung]),[
|
||||
|
@ -278,6 +348,64 @@ $)
|
|||
|
||||
]
|
||||
|
||||
== Übergangsfunktion und 3dB-Grenzfrequenz
|
||||
|
||||
#grid(columns: 3*(1fr,), [
|
||||
#scale(80%, reflow: true)[
|
||||
#zap.canvas({
|
||||
import zap: *
|
||||
// acvsource("UE", (0,0), (1,0))
|
||||
vsource("UE", (0,0), (0,-2), u: (label:$u_e$, position: bottom))
|
||||
resistor("R1", (0,0), (3,0), label: (content: $R 1 = 250 Omega$))
|
||||
wire((3,0), (5,0))
|
||||
resistor("RL", (3,0), (3,-2), label: (content: $R_L = 500 Omega$, anchor: "south"), distance: 0pt)
|
||||
inductor("L", (5,0), (5,-2), u: (label: $u_L$, position: bottom), i: $i_L$, label: (content: $L = 850 "pH"$))
|
||||
wire((0,-2), (5,-2))
|
||||
})
|
||||
]
|
||||
$
|
||||
H(omega) =& u_l / u_e = (j omega L || R_2) / (R_1 + (j omega L || R_2)) \
|
||||
=& (j omega L dot R_2) / (R_1 dot R_2 + j omega L dot (R_1 + R_2)) \
|
||||
=& R_2 / (R_1 + R_2) (j omega K) / (1+j omega K)
|
||||
$
|
||||
], [
|
||||
#v(.3cm)
|
||||
$
|
||||
" mit " K &= L dot (R_1 + R_2) / (R_1 dot R_2) = 5,1 "ps" \
|
||||
abs(H(omega)) =& R_2 / (R_1 + R_2) (omega K) / sqrt(1 + (omega K)^2) \
|
||||
&=> f_"3dB" = omega_"3dB" / (2 pi) = 1 / ( 2 pi K) \
|
||||
& = 1 / ( 2 pi * 5,1 "ps") = 31,2 "GHz" \
|
||||
H(omega -> oo) &= R_2 / (R_1 + R_2) = 2 / 3 | 20 log(x) \
|
||||
&= -3,51 "dB"
|
||||
$
|
||||
], [
|
||||
#zap.canvas({
|
||||
import zap.draw: *
|
||||
plot.plot(
|
||||
x-tick-step: none, y-tick-step: none,
|
||||
size: (4,3),
|
||||
x-label: $f " in Hz"$,
|
||||
y-label: $abs(H) " in dB"$,
|
||||
legend: (-1,-1),
|
||||
x-min: 100,
|
||||
x-max: 150000,
|
||||
y-min: -40,
|
||||
x-mode: "log",
|
||||
x-base: 10,
|
||||
y-max: 0,
|
||||
x-ticks: ((100,$100 M$), (1000,$1 G$), (10000,$10 G$), (100000,$100 G$)),
|
||||
y-ticks: (-40, -20, 0), {
|
||||
plot.add-hline((-3.52), label: $H(omega -> oo) = -3,51 "dB"$)
|
||||
plot.add-vline((31200), label: $f_"3dB" = 31,2 "GHz"$)
|
||||
plot.add(((500, -40), (31200, -3.52), (150000,-3.52)))
|
||||
plot.annotate({
|
||||
line((1500,-30),(6000,-30),(6000,-18))
|
||||
content((14000,-24), $20 "dB"/"Dek"$)
|
||||
})
|
||||
})
|
||||
})
|
||||
])
|
||||
|
||||
#section[
|
||||
#grid(columns: (2fr, 3fr), [
|
||||
== Feldeffekttransistor (FET) #box[#zap.canvas({
|
||||
|
@ -445,4 +573,94 @@ $
|
|||
])
|
||||
]
|
||||
|
||||
== Arbeitspunkt und Lastgerade
|
||||
|
||||
#grid(columns: 3*(1fr,),[
|
||||
#scale(80%, reflow: true, [
|
||||
#zap.canvas({
|
||||
import zap: *
|
||||
import zap.draw: *
|
||||
|
||||
out("UEE", (0,0))
|
||||
arrow((0,0), (0,-2), $u_e$)
|
||||
ground("UEA", (0,-2))
|
||||
out("", (0,-2))
|
||||
capacitor("", (0,0), (2,0))
|
||||
resistor("RG2", (2,0), (2,-2), label: (content: $R_"G2"$, anchor: "south"))
|
||||
ground("", (2,-2))
|
||||
resistor("RG1", (2,3),(2,0), i: (label: $i_a$, position: bottom), label: (content: $R_"G1"$, anchor: "south"))
|
||||
wire((2,0), (3,0))
|
||||
nmos("Q", (4,0.5))
|
||||
wire("Q.s", (rel: (0,-2)))
|
||||
ground("", (4,-2))
|
||||
resistor("RD", (4,3), (4,1), i: $i_D$, label: (content: $R_D$))
|
||||
wire((2,3), (6,3))
|
||||
out("Ub", (6,3))
|
||||
content((6,3), anchor: "west", padding: 5pt, $U_b = 2 V$)
|
||||
capacitor("", (4,1), (6,1))
|
||||
out("UAE", (6,1))
|
||||
arrow((6,1),(6,-2), $U_a$)
|
||||
ground("", (6,-2))
|
||||
out("UAA", (6,-2))
|
||||
})
|
||||
])
|
||||
],[
|
||||
$
|
||||
U_b = U_"DS1" + R_D dot I_D \
|
||||
<=> I_D = (U_b - U_"DS1") / R_D
|
||||
$
|
||||
$
|
||||
P 1: I_D (U_"DS1" = 0) = U_D / R_D = 16"mA" \
|
||||
P 2: I_D (U_"DS1" = U_b = 2 V) = 0
|
||||
$
|
||||
|
||||
],[
|
||||
#v(-1cm)
|
||||
#zap.canvas({
|
||||
import zap.draw: *
|
||||
plot.plot(name: "plot", size: (5,5),
|
||||
x-label: $U_"DS1" "in V"$,
|
||||
y-label: $I_D "in mA"$,
|
||||
y-tick-step: 4,
|
||||
x-tick-step: .5,
|
||||
y-min: 0, y-max: 16,
|
||||
x-min: 0, x-max: 2.1,
|
||||
{
|
||||
plot.add-anchor("AP", (1,8))
|
||||
plot.add-anchor("P1", (2,0))
|
||||
plot.add(((0,16), (2,0)))
|
||||
plot.add(domain: (0.00001,2.1), u => 2 * calc.log(u) + 2)
|
||||
plot.add(domain: (0.00001,2.1), u => 1.5 * calc.log(u) + 5)
|
||||
plot.add(domain: (0.00001,2.1), u => 1 * calc.log(u) + 8)
|
||||
plot.add(domain: (0.00001,2.1), u => .5 * calc.log(u) + 11)
|
||||
plot.add(domain: (0.00001,2.1), u => .2 * calc.log(u) + 14)
|
||||
plot.annotate({
|
||||
content((2.7,3), anchor: "east", padding: 0, $U_"GS1" = 0,8 V$)
|
||||
content((2.7,6), anchor: "east", padding: 0, $U_"GS1" = 0,9 V$)
|
||||
content((2.7,9), anchor: "east", padding: 0, $U_"GS1" = 1,0 V$)
|
||||
content((2.7,12), anchor: "east", padding: 0, $U_"GS1" = 1,1 V$)
|
||||
content((2.7,15), anchor: "east", padding: 0, $U_"GS1" = 1,2 V$)
|
||||
})
|
||||
plot.annotate({
|
||||
content((1,8), $times$)
|
||||
content((1,8), anchor: "north", padding: 20pt, [AP])
|
||||
content((2,0), $times$)
|
||||
content((2,0), anchor: "north", padding: 20pt, [P1])
|
||||
content((0,16), $times$)
|
||||
content((0,16), anchor: "north", padding: 20pt, [P2])
|
||||
})
|
||||
})
|
||||
})
|
||||
])
|
||||
#v(-1.3cm)
|
||||
$
|
||||
"Einstellen sodass " U_"GS1" = 1 V": " & R_"G1" + R_"G2" = U_D / I_D =^! (2 V) / (8"mA") = 25 k Omega \
|
||||
&R_"G1" / (R_"G1" + R_"G2") =^! U_"GS1" = 1 V \
|
||||
&R_"G2" / (R_"G1" + R_"G2") dot U_D =^! U_D - U_"GS1" = 1 V => R_"G1" = R_"G2" =
|
||||
&12,5 k Omega
|
||||
$
|
||||
|
||||
NOT #box(align(horizon, stack(dir:ltr, rect[1],circle(radius: 3pt))))
|
||||
AND #box(rect[&])
|
||||
OR #box(rect[$>=1$])
|
||||
|
||||
|
|
Loading…
Reference in a new issue