diff --git a/img/elektronik_3/Jitter_timing.svg.png b/img/elektronik_3/Jitter_timing.svg.png new file mode 100644 index 0000000..e969a23 Binary files /dev/null and b/img/elektronik_3/Jitter_timing.svg.png differ diff --git a/src/elektronik_3.typ b/src/elektronik_3.typ index 1730057..1cabf84 100644 --- a/src/elektronik_3.typ +++ b/src/elektronik_3.typ @@ -23,7 +23,35 @@ CMRR??? -> comon mode redejte ration === Brückenschaltungen und ihre Steuerung === Wirkungsgrad und Verluste === Rauschen +==== weisses Rauschen +==== Rosa Rauschen +==== Burst Rauschen +==== Bandbegrenztes Rauschen +==== SNR Signal to Noise Ration + === Signalintegrität (Massnahmen) +==== Parasitäre Effekte +==== Jitter +#grid(columns: (1fr, 1fr), gutter: 10pt, [ +Jitter bezeichnet eine nicht gerade Flanke, sondern eine, die wie in der Abbildung dargestellt leicht hin und her schwankt. +], [#image("../img/elektronik_3/Jitter_timing.svg.png")] +) + +==== Massnahmen +- Kein DC, weder im Signal, noch in der Auswertung +- Die Eingänge toleranter gegen Über- bzw. Unterspannungen machen. +- Eigenrauschen der «Signal Conditioning-Stufe» sehr rauscharm gestalten +- Alle Frequenzbereiche, die nicht zum Signal beitragen VOR dem Eingang filtern. +- Spezielle Messverfahren (z.B Lock-in), die Messungen in stark rauschenden Umgebungen ermöglichen +- Hohe Dynamik bei ADC, damit digitale Filterung effektiv ist. +- Kleine Signale möglichst früh im Pfad rauscharm verstärken, wenn möglich bandlimitiert. +- Auf Leiterplatten: + - Sternförmige Signale (auch Erde, Versorgung) + - Abstände zwischen hochfrequenten Signalen + - Zusätzliche Erdungsebenen + - Kurze Signalleitungen + - Unterschiedliche Domänen (Bereiche, z.B. Hochstrom, digital, analog) + - Kondensatoren zur Entkopplung === Netzwerkgrundlagen ==== Topologien @@ -206,6 +234,68 @@ CMRR??? -> comon mode redejte ration ==== Schichtenmodell +#cetz.canvas({ + import cetz.draw: * + + let layers = ( + (color: red, name: "Physical", data: " "), + (color: yellow, name: "Data link", data: "D"), + (color: green, name: "Network", data: "N"), + (color: aqua, name: "Transport", data: "T"), + (color: purple, name: "Session", data: "S"), + (color: eastern, name: "Presentation", data: "P"), + (color: orange, name: "Application", data: "A"), + ) + + for (i, layer) in layers.enumerate() { + rect( + (0, i * 1.5), + (1, i * 1.5 + 1), + fill: layer.color + ) + content((0.5, i * 1.5 + 0.5), [#(i + 1)]) + + rect( + (1.5, i * 1.5), + (4.5, i * 1.5 + 1), + fill: layer.color + ) + content((3, i * 1.5 + 0.5), [#layer.name]) + } + + for (i, layer) in layers.enumerate(){ + if i > 0 { + for j in range(i){ + rect(((i - 1) * 1 + 5, j * 1.5 + 1.5), ((i - 1) * 1 + 6, j * 1.5 + 2.5), fill: layer.color) + content(((i - 1) * 1 + 5.5, j * 1.5 + 2.3), [#layer.data]) + content(((i - 1) * 1 + 5.5, j * 1.5 + 1.7), [H]) + } + } + } + + for i in range(1, 7){ + rect((11, i * 1.5), (13, i * 1.5 + 1), fill: gray) + content((12, i * 1.5 + 0.5), [Data]) + } + + rect((13, 1.5), (14, 2.5), fill: yellow) + content((13.5, 2.3), [D]) + content((13.5, 1.7), [T]) + rect((5, 0), (14, 1), fill: red) + content((9.5, 0.5), [Bits]) + + line((14.5, 0), (14.5, 1), stroke: 5pt) + line((14.5, 1.5), (14.5, 2.5), stroke: 5pt) + line((14.5, 3), (14.5, 4), stroke: 5pt) + line((14.5, 4.5), (14.5, 5.5), stroke: 5pt) + line((14.5, 6), (14.5, 10), stroke: 5pt) + content((15, 0.5), [Bits], anchor: "west") + content((15, 2), [Frames], anchor: "west") + content((15, 3.5), [Packets], anchor: "west") + content((15, 5), [Segments], anchor: "west") + content((15, 8), [Data], anchor: "west") +}) + ==== TCP/IP ==== Sockets