Formelsammlung für Informatiker und Ingenieure

Formula Reference for Computer Scientists and Engineers

Mathematik · Informatik · Elektrotechnik · Signalverarbeitung

Mathematics · Computer Science · Electrical Engineering · Signal Processing

Autor: Dipl. Informatiker Gerd Schmitt

SCHMITT CONSULTING

Darstellung: Style:
☰ Inhalt ☰ Contents
VorwortForeword
VorwortForeword

Vorwort

Foreword

Über diese Formelsammlung

About This Formula Reference

Diese Publikation ist eine Formelsammlung — ein kompaktes Nachschlagewerk für Formeln, Definitionen und Zusammenhänge aus Mathematik, Informatik, Elektrotechnik und Signalverarbeitung. Sie ist ausdrücklich kein Lehrbuch. Die einzelnen Themen werden nicht in lehrbuchartiger Tiefe erklärt, sondern in der für eine Formelsammlung angemessenen Knappheit dargestellt: Formel, Variablenlegende und ein kurzes Anwendungsbeispiel.

This publication is a formula reference — a compact look-up resource for formulas, definitions and relationships in mathematics, computer science, electrical engineering and signal processing. It is explicitly not a textbook. Topics are not explained in textbook-level depth but presented with the brevity appropriate for a formula collection: formula, variable legend and a short practical example.

Zu ausgewählten Themen biete ich eigenständige, ausführliche Bücher an, die Theorie, Hintergründe und Praxis in der Tiefe behandeln, die in einer Formelsammlung keinen Platz findet. Sollten Sie Interesse an einem vertiefenden Buch zu einem bestimmten Thema haben — oder ein Thema vermissen, das hier nicht abgedeckt ist — freue ich mich über Ihre Nachricht. Ich prüfe gerne, ob ich dazu eine eigenständige Publikation erstellen kann.

For selected topics I offer dedicated, in-depth books that cover theory, background and practice to a level that a formula collection cannot accommodate. If you are interested in a deeper book on a particular subject — or if you notice a topic that is missing — I would be glad to hear from you. I am happy to consider whether a dedicated publication on that subject is feasible.

KontaktContact

Themenwunsch, Feedback oder Fehlerhinweis? Schreiben Sie an: info@schmitt-consulting.de

Topic request, feedback or error report? Write to: info@schmitt-consulting.de

Zielgruppe

Target Audience

Die Formelsammlung richtet sich an Studierende, Ingenieure und Informatiker, die eine zuverlässige Referenz für ihre tägliche Arbeit, Prüfungsvorbereitung oder Projektarbeit benötigen. Die Wissenslevel-Markierungen (🌱 Einsteiger 📘 Fortgeschritten 🎯 Experte) helfen bei der Einordnung des jeweiligen Schwierigkeitsgrads.

This formula reference is aimed at students, engineers and computer scientists who need a reliable reference for their daily work, exam preparation or project work. The knowledge-level badges (🌱 Beginner 📘 Intermediate 🎯 Expert) help gauge the difficulty of each chapter.

Rechtliche Hinweise

Legal Notice

HaftungsausschlussDisclaimer

Diese Formelsammlung wurde mit größter Sorgfalt erstellt und mehrfach geprüft. Dennoch können Fehler — etwa in Formeln, Koeffizienten, Einheiten oder Beispielrechnungen — nicht vollständig ausgeschlossen werden. Der Autor und der Verlag übernehmen keine Haftung für Schäden, die direkt oder indirekt aus der Nutzung dieser Formelsammlung entstehen. Dies gilt insbesondere für Anwendungen in sicherheitskritischen Bereichen wie Medizintechnik, Luftfahrt, Energieversorgung oder ähnlichen Gebieten, in denen fehlerhafte Berechnungen zu Personen- oder Sachschäden führen können.

This formula reference has been prepared with the utmost care and reviewed multiple times. Nevertheless, errors — for instance in formulas, coefficients, units or worked examples — cannot be entirely ruled out. The author and the publisher accept no liability for damages arising directly or indirectly from the use of this formula reference. This applies in particular to applications in safety-critical domains such as medical engineering, aviation, energy supply or similar fields where erroneous calculations could lead to personal injury or property damage.

Eigenverantwortung des AnwendersUser Responsibility

Der Anwender ist stets selbst dafür verantwortlich, die Korrektheit und Eignung einer Formel für seinen konkreten Anwendungsfall zu prüfen. Eine Formelsammlung ersetzt nicht das Studium der einschlägigen Fachliteratur und keinesfalls die fachkundige Beurteilung durch qualifizierte Ingenieure oder Wissenschaftler.

The user is always responsible for verifying the correctness and suitability of any formula for their specific application. A formula reference is no substitute for studying the relevant specialist literature and certainly not for the professional judgement of qualified engineers or scientists.

UrheberrechtCopyright

© 2026 Gerd Schmitt / SCHMITT CONSULTING. Alle Rechte vorbehalten. Kein Teil dieser Formelsammlung darf ohne schriftliche Genehmigung des Autors vervielfältigt, in Datenbanken gespeichert oder in irgendeiner Form übertragen werden. Dies gilt für alle Darstellungsformen einschließlich Grafiken, SVG-Diagramme und Codebeispiele.

© 2026 Gerd Schmitt / SCHMITT CONSULTING. All rights reserved. No part of this formula reference may be reproduced, stored in databases or transmitted in any form without written permission from the author. This applies to all presentation forms including graphics, SVG diagrams and code examples.

Hinweise zur Benutzung

Usage Notes

Die Formelsammlung ist als interaktives HTML-Dokument gestaltet und funktioniert offline im Browser — ohne Server, ohne Internetverbindung. Die Navigation erfolgt über das Inhaltsverzeichnis, den seitlichen Drawer (☰) oder die Vor-/Zurück-Buttons am Seitenanfang und -ende. Die Sprachumschaltung Deutsch/Englisch finden Sie im Kopfbereich.

This formula reference is designed as an interactive HTML document and works offline in any browser — no server, no internet connection required. Navigate via the table of contents, the side drawer (☰) or the forward/back buttons at the top and bottom of each page. The German/English language switch is located in the header area.

Ich wünsche Ihnen viel Erfolg beim Nachschlagen und freue mich über jede Rückmeldung, die diese Sammlung besser macht.

I wish you every success in looking things up and welcome any feedback that helps improve this collection.

Gerd Schmitt
Dipl. Informatiker
SCHMITT CONSULTING
April 2026

Gerd Schmitt
Graduate Computer Scientist
SCHMITT CONSULTING
April 2026

☰ Inhalt ☰ Contents
Kapitel 1Chapter 1Zahlensysteme und DarstellungenNumber Systems and Representations
Kapitel 1Chapter 1

Zahlensysteme und Darstellungen 🌱

Number Systems and Representations 🌱

1.1 Dezimal, Binär, Oktal, Hexadezimal

1.1 Decimal, Binary, Octal, Hexadecimal

Stellenwertsystem — allgemeine DarstellungPositional Notation — General Form
Z = n−1i=−m di · bi
Z = Zahlenwert, b = Basis, di = Ziffer an Stelle i, n = Vorkomma-Stellen, m = Nachkomma-Stellen
Z = numeric value, b = base, di = digit at position i, n = integer digits, m = fractional digits
Wozu? Jede Zahl ist eine Summe aus Ziffern mal Stellenwerten. Beispiel Dezimal: 347 = 3·10² + 4·10¹ + 7·10⁰. Genauso in Binär: 1011₂ = 1·2³ + 0·2² + 1·2¹ + 1·2⁰ = 8+0+2+1 = 11.
Purpose? Every number is a sum of digits times positional values. Example decimal: 347 = 3·10² + 4·10¹ + 7·10⁰. Same in binary: 1011₂ = 1·2³ + 0·2² + 1·2¹ + 1·2⁰ = 8+0+2+1 = 11.
Gebräuchliche ZahlensystemeCommon Number Systems
SystemSystemBasisBaseZiffernDigitsPräfixPrefix
BinärBinary20, 10b
OktalOctal80–70o
DezimalDecimal100–9
HexadezimalHexadecimal160–9, A–F0x
Wozu welches System? Binär: So denkt der Computer (Strom an/aus). Hex: Kurzschrift für Binär, z.B. Farbe Rot = #FF0000, Speicheradresse 0x7FFF. Oktal: Unix-Rechte (chmod 755 = rwxr-xr-x). Dezimal: unser Alltag.
Which system for what? Binary: how the computer thinks (current on/off). Hex: shorthand for binary, e.g., color red = #FF0000, memory address 0x7FFF. Octal: Unix permissions (chmod 755 = rwxr-xr-x). Decimal: everyday use.
Umrechnung Binär ↔ Hexadezimal (Gruppierung)Binary ↔ Hexadecimal Conversion (Grouping)
HexBinHexBinHexBinHexBin
000004010081000C1100
100015010191001D1101
2001060110A1010E1110
3001170111B1011F1111
Merkhilfe: Je 4 Bits = 1 Hex-Ziffer. Beispiel: 10110011₂ → 1011|0011 → B3₁₆. Rückwärts: A5₁₆ → 1010|0101 → 10100101₂. Diese Tabelle auswendig lernen spart viel Zeit beim Debugging!
Mnemonic: every 4 bits = 1 hex digit. Example: 10110011₂ → 1011|0011 → B3₁₆. Reverse: A5₁₆ → 1010|0101 → 10100101₂. Memorizing this table saves lots of debugging time!

1.2 Konvertierung zwischen Zahlensystemen

1.2 Conversion Between Number Systems

Basis b → Dezimal (Hornerschema)Base b → Decimal (Horner's Method)
(dn−1 dn−2 … d1 d0)b = dn−1·bn−1 + dn−2·bn−2 + … + d1·b + d0
Beispiel: Was ist 1A3₁₆ in Dezimal? Von links nach rechts: ((1·16 + 10)·16 + 3) = (26·16 + 3) = 416 + 3 = 419. Ohne Hornerschema: 1·256 + 10·16 + 3 = 256 + 160 + 3 = 419. Hornerschema braucht weniger Multiplikationen.
Example: What is 1A3₁₆ in decimal? Left to right: ((1·16 + 10)·16 + 3) = (26·16 + 3) = 416 + 3 = 419. Without Horner: 1·256 + 10·16 + 3 = 256 + 160 + 3 = 419. Horner needs fewer multiplications.
di = Ziffer an Stelle i, b = Basis, n = Anzahl Stellen. Das Hornerschema vermeidet Potenzberechnungen durch schrittweises Ausmultiplizieren.
di = digit at position i, b = base, n = number of digits. Horner's method avoids exponentiation through successive multiplication.
Dezimal → Basis b (Divisionsverfahren)Decimal → Base b (Division Method)
Z = q · b + r
q = Quotient (weiter teilen), r = Rest (wird zur Ziffer). Reste von unten nach oben lesen = Ergebnis.
q = quotient (continue dividing), r = remainder (becomes digit). Read remainders bottom-to-top = result.
Beispiel: 13 in Binär? 13÷2 = 6 Rest 1, 6÷2 = 3 Rest 0, 3÷2 = 1 Rest 1, 1÷2 = 0 Rest 1. Reste von unten lesen: 1101₂. Probe: 8+4+0+1 = 13. ✓
Example: 13 to binary? 13÷2 = 6 rem 1, 6÷2 = 3 rem 0, 3÷2 = 1 rem 1, 1÷2 = 0 rem 1. Read remainders bottom-up: 1101₂. Check: 8+4+0+1 = 13. ✓
Nachkommastellen: Dezimal → Basis b (Multiplikationsverfahren)Fractional Part: Decimal → Base b (Multiplication Method)
f × b = d−1 + f′
f = Nachkommateil, d−1 = Ganzzahlteil (wird zur Ziffer), f′ = neuer Nachkommateil (weiter multiplizieren)
f = fractional part, d−1 = integer part (becomes digit), f′ = new fractional part (continue multiplying)
Komplementär zum Divisionsverfahren für den Nachkommateil. Achtung: Nicht alle Dezimalbrüche sind in Binär exakt darstellbar (z.B. 0.1₁₀ = 0.0001100110011…₂).
Complementary to the division method for the fractional part. Note: not all decimal fractions are exactly representable in binary (e.g., 0.1₁₀ = 0.0001100110011…₂).
Anzahl Stellen in Basis b für n-Bit-ZahlNumber of Digits in Base b for n-Bit Number
Stellen = n · logb(2) = n · ln 2ln b
Nützlich zur Dimensionierung von Anzeigefeldern und Puffergrößen. Beispiel: 32-Bit-Zahl braucht max. ⌈32 · 0.301⌉ = 10 Dezimalstellen.
Useful for sizing display fields and buffer sizes. Example: 32-bit number needs max. ⌈32 · 0.301⌉ = 10 decimal digits.
n = Bitbreite, b = Zielbasis. Beispiel: 8-Bit-Zahl braucht ⌈8·log₁₀(2)⌉ = 3 Dezimalstellen.
n = bit width, b = target base. Example: 8-bit number needs ⌈8·log₁₀(2)⌉ = 3 decimal digits.

1.3 Festkomma-Darstellung (Q-Format)

1.3 Fixed-Point Representation (Q-Format)

Q-Format Qm.n — WertberechnungQ-Format Qm.n — Value Calculation
Wert = Ganzzahlwert2n
m = Vorkommabits (inkl. Vorzeichen), n = Nachkommabits. Gesamtbreite = m + n Bits.
m = integer bits (incl. sign), n = fractional bits. Total width = m + n bits.
Stell dir vor, du rechnest mit Geldbeträgen in Cent statt Euro — 3.50 EUR wird zu 350. Genauso Festkomma: Der Wert 0.75 wird als Ganzzahl 49152 gespeichert (bei Q16.16: 49152/65536 = 0.75). Kein Gleitkomma nötig!
Imagine calculating money in cents instead of euros — 3.50 EUR becomes 350. Same for fixed-point: the value 0.75 is stored as integer 49152 (in Q16.16: 49152/65536 = 0.75). No floating point needed!
Q16.16 Referenzwerte (FPGA-PID)Q16.16 Reference Values (FPGA-PID)
EigenschaftPropertyWertValue
AuflösungResolution2−16 ≈ 1.526 × 10−5
Wertebereich (signed)Range (signed)−32768.0 … +32767.99998
Wertebereich (unsigned)Range (unsigned)0.0 … +65535.99998
GesamtbreiteTotal width32 Bit
Beispiel: Der Wert 3.14159 wird in Q16.16 als Ganzzahl 205887 gespeichert (3.14159 × 65536 ≈ 205887). Zurückrechnen: 205887 / 65536 = 3.14158... — fast exakt! Auflösung: ~0.000015, also ca. 4-5 Dezimalstellen Genauigkeit.
Example: the value 3.14159 is stored in Q16.16 as integer 205887 (3.14159 × 65536 ≈ 205887). Back-calculation: 205887 / 65536 = 3.14158... — almost exact! Resolution: ~0.000015, about 4-5 decimal digits of accuracy.
Festkomma-MultiplikationFixed-Point Multiplication
Ergebnis = Araw × Braw2n = (Araw × Braw) ≫ n
Multiplikation zweier Qm.n-Werte erfordert doppelte Breite (2·(m+n) Bit) vor der Rechtsverschiebung.
Multiplying two Qm.n values requires double width (2·(m+n) bits) before right-shifting.
Beispiel: 1.5 × 2.0 in Q16.16: 98304 × 131072 = 12884901888 (64 Bit!). Dann ≫16: 12884901888/65536 = 196608 = 3.0 in Q16.16. ✓ Wichtig: Das Zwischenergebnis braucht doppelte Bitbreite (64 Bit), sonst Überlauf!
Example: 1.5 × 2.0 in Q16.16: 98304 × 131072 = 12884901888 (64 bit!). Then ≫16: 12884901888/65536 = 196608 = 3.0 in Q16.16. ✓ Important: the intermediate result needs double bit width (64 bits), otherwise overflow!

1.4 Gleitkomma (IEEE 754)

1.4 Floating Point (IEEE 754)

IEEE 754 — ZahlendarstellungIEEE 754 — Number Representation
x = (−1)s × 1.m × 2e − Bias
s = Vorzeichenbit, m = Mantisse (implizite 1), e = Exponent, Bias = 2k−1 − 1
s = sign bit, m = mantissa (implicit 1), e = exponent, Bias = 2k−1 − 1
Wie wissenschaftliche Notation: 6.022 × 10²³ wird zu Vorzeichen(+) × 1.Mantisse × 2^Exponent. Beispiel: Die Zahl 6.5 = 1.101₂ × 2² → Vorzeichen=0, Exponent=129 (127+2), Mantisse=101000...0.
Like scientific notation: 6.022 × 10²³ becomes sign(+) × 1.mantissa × 2^exponent. Example: 6.5 = 1.101₂ × 2² → sign=0, exponent=129 (127+2), mantissa=101000...0.
Formate im VergleichFormat Comparison
FormatGesamtTotalVorzeichenSignExponentExponentMantisseMantissaBias
Half (fp16)16151015
Single (fp32)321823127
Double (fp64)64111521023
Wann welches Format? fp16: Neuronale Netze (halber Speicher, schneller). fp32: Normalfall — float in C, Python, Java (7 Dezimalstellen genau). fp64: Wenn es auf die 15. Nachkommastelle ankommt (Astronomie, Finanzen, Physik-Simulation).
When which format? fp16: neural networks (half the memory, faster). fp32: default — float in C, Python, Java (7 decimal digits). fp64: when the 15th decimal place matters (astronomy, finance, physics simulation).
Maschinengenauigkeit (Maschinenepsilon)Machine Precision (Machine Epsilon)
εmach = 2−p
p = Mantissenbits. Float32: ε ≈ 1.19 × 10−7. Float64: ε ≈ 2.22 × 10−16.
p = mantissa bits. Float32: ε ≈ 1.19 × 10−7. Float64: ε ≈ 2.22 × 10−16.
Falle: 0.1 + 0.2 == 0.3 ist in den meisten Sprachen FALSE! Weil 0.1+0.2 = 0.30000000000000004. Darum: Nie == für Gleitkomma-Vergleiche. Stattdessen: |a − b| < 0.0001 (oder ein anderer sinnvoller ε-Wert).
Trap: 0.1 + 0.2 == 0.3 is FALSE in most languages! Because 0.1+0.2 = 0.30000000000000004. Therefore: never use == for float comparisons. Instead: |a − b| < 0.0001 (or another reasonable ε value).

1.5 Zweierkomplement

1.5 Two's Complement

Zweierkomplement — Wertebereich (n Bit)Two's Complement — Range (n Bits)
−2n−1 ≤ x ≤ 2n−1 − 1
nMinMax
8−128+127
16−32 768+32 767
32−2 147 483 648+2 147 483 647
Wie funktioniert −1 im Computer? Bei 8 Bit: −1 = 11111111₂ = 0xFF. Warum? Weil 0xFF + 0x01 = 0x00 (Überlauf!) — genau wie −1 + 1 = 0. Der Trick: Die Hardware muss gar nicht wissen ob eine Zahl positiv oder negativ ist — Addition funktioniert einfach.
How does −1 work in computers? With 8 bits: −1 = 11111111₂ = 0xFF. Why? Because 0xFF + 0x01 = 0x00 (overflow!) — exactly like −1 + 1 = 0. The trick: hardware doesn't need to know if a number is positive or negative — addition just works.
n = Bitbreite (inkl. Vorzeichenbit). MSB = Vorzeichenbit (0=positiv, 1=negativ). Negation: alle Bits invertieren und 1 addieren.
n = bit width (incl. sign bit). MSB = sign bit (0=positive, 1=negative). Negation: invert all bits and add 1.
Negation im ZweierkomplementNegation in Two's Complement
−x = x + 1
x = bitweises Invertieren aller Bits (Einerkomplement), dann +1.
x = bitwise inversion of all bits (one's complement), then +1.
Beispiel: −5 bei 8 Bit? 5 = 00000101. Invertieren: 11111010. Plus 1: 11111011 = 0xFB = 251 (unsigned) = −5 (signed). Probe: 5 + (−5) = 00000101 + 11111011 = 100000000 — die 9. Stelle fällt weg → 00000000 = 0. ✓
Example: −5 in 8 bits? 5 = 00000101. Invert: 11111010. Plus 1: 11111011 = 0xFB = 251 (unsigned) = −5 (signed). Check: 5 + (−5) = 00000101 + 11111011 = 100000000 — 9th bit drops off → 00000000 = 0. ✓
Vorzeichenerweiterung (Sign Extension)Sign Extension
n Bit → m Bit (m > n): obere (m − n) Bits mit Bitn−1 füllen
Beispiel 8→16 Bit: 0xFF (= −1) → 0xFFFF (= −1). 0x7F (= +127) → 0x007F (= +127). In SystemVerilog: automatisch bei signed-Zuweisung an breitere Variable.
Example 8→16 bit: 0xFF (= −1) → 0xFFFF (= −1). 0x7F (= +127) → 0x007F (= +127). In SystemVerilog: automatic for signed assignment to wider variable.
MSB = Most Significant Bit (Vorzeichenbit). Das Vorzeichenbit wird in alle neuen höherwertigen Bits kopiert, um den Zahlenwert zu erhalten.
MSB = Most Significant Bit (sign bit). The sign bit is copied into all new higher-order bits to preserve the numeric value.
☰ Inhalt ☰ Contents
Kapitel 2Chapter 2Arithmetik und AlgebraArithmetic and Algebra
Kapitel 2Chapter 2

Arithmetik und Algebra 🌱

Arithmetic and Algebra 🌱

2.1 Grundrechenarten und Rechengesetze

2.1 Basic Operations and Laws

KommutativgesetzCommutative Law
a + b = b + a  a · b = b · a
Einfach gesagt: 3 + 5 = 5 + 3, und 4 · 7 = 7 · 4 — die Reihenfolge ist egal. Aber Achtung: 5 − 3 ≠ 3 − 5 und 6 ÷ 2 ≠ 2 ÷ 6. Subtraktion und Division sind NICHT kommutativ!
Simply put: 3 + 5 = 5 + 3, and 4 · 7 = 7 · 4 — order doesn't matter. But careful: 5 − 3 ≠ 3 − 5 and 6 ÷ 2 ≠ 2 ÷ 6. Subtraction and division are NOT commutative!
a, b = beliebige reelle Zahlen. Gilt für Addition und Multiplikation, NICHT für Subtraktion und Division.
a, b = any real numbers. Holds for addition and multiplication, NOT for subtraction and division.
AssoziativgesetzAssociative Law
(a + b) + c = a + (b + c)  (a · b) · c = a · (b · c)
Einfach gesagt: (2 + 3) + 4 = 2 + (3 + 4) = 9. Die Klammern darf man verschieben. Wichtige Falle in der Programmierung: Bei Gleitkomma gilt das nur ungefähr! (0.1 + 0.2) + 0.3 ≠ 0.1 + (0.2 + 0.3) wegen Rundungsfehlern.
Simply put: (2 + 3) + 4 = 2 + (3 + 4) = 9. Parentheses can be moved. Important trap in programming: with floating-point this only holds approximately! (0.1 + 0.2) + 0.3 ≠ 0.1 + (0.2 + 0.3) due to rounding errors.
a, b, c = beliebige reelle Zahlen. Die Klammerung ist bei Addition und Multiplikation beliebig.
a, b, c = any real numbers. Grouping is arbitrary for addition and multiplication.
DistributivgesetzDistributive Law
a · (b + c) = a · b + a · c
Beispiel Ausmultiplizieren: 3·(4+5) = 3·4 + 3·5 = 12+15 = 27. Und umgekehrt Ausklammern: 6x + 6y = 6·(x+y). In der Digitaltechnik genauso: A AND (B OR C) = (A AND B) OR (A AND C).
Example expanding: 3·(4+5) = 3·4 + 3·5 = 12+15 = 27. And reverse (factoring): 6x + 6y = 6·(x+y). In digital design the same: A AND (B OR C) = (A AND B) OR (A AND C).
a, b, c = beliebige reelle Zahlen. Ausmultiplizieren und Ausklammern sind die Grundoperationen der Algebra.
a, b, c = any real numbers. Expanding and factoring are fundamental algebraic operations.
BruchrechnungFraction Arithmetic
ab + cd = a·d + b·cb·d
ab · cd = a·cb·d    ab ÷ cd = a·db·c
Merkhilfe Bruchrechnung: Addition → auf gleichen Nenner bringen (Kreuzweise: a/b + c/d = (ad+bc)/bd). Multiplikation → Zähler mal Zähler, Nenner mal Nenner. Division → mit dem Kehrwert multiplizieren (Bruch umdrehen!).
Mnemonic for fractions: Addition → find common denominator (cross-multiply: a/b + c/d = (ad+bc)/bd). Multiplication → numerator × numerator, denominator × denominator. Division → multiply by reciprocal (flip the fraction!).
a, b, c, d = reelle Zahlen, b, d ≠ 0. Merkhilfe Doppelbruch: Außen mal Außen durch Innen mal Innen.
a, b, c, d = real numbers, b, d ≠ 0. Mnemonic for compound fractions: outer times outer over inner times inner.

2.2 Potenzen und Wurzeln

2.2 Powers and Roots

PotenzgesetzeLaws of Exponents
RegelRuleFormelFormula
Gleiche BasisSame baseam · an = am+n
DivisionDivisionam / an = am−n
Potenz einer PotenzPower of a power(am)n = am·n
Produkt-PotenzProduct power(a · b)n = an · bn
Negativer ExponentNegative exponenta−n = 1 / an
Nullter ExponentZero exponenta0 = 1 (a ≠ 0)
Beispiele: 2³ · 2⁴ = 2⁷ = 128 (Exponenten addieren). (2³)² = 2⁶ = 64 (Exponenten multiplizieren). 5⁰ = 1 (immer!). 2⁻³ = 1/2³ = 1/8 = 0.125. In der Informatik: 2¹⁰ = 1024 ≈ 1 KB, 2²⁰ ≈ 1 MB, 2³⁰ ≈ 1 GB.
Examples: 2³ · 2⁴ = 2⁷ = 128 (add exponents). (2³)² = 2⁶ = 64 (multiply exponents). 5⁰ = 1 (always!). 2⁻³ = 1/2³ = 1/8 = 0.125. In CS: 2¹⁰ = 1024 ≈ 1 KB, 2²⁰ ≈ 1 MB, 2³⁰ ≈ 1 GB.
Wurzeln als PotenzenRoots as Powers
a = a1/2    a = a1/n    am = am/n
Beispiel: ³√8 = 8^(1/3) = 2, weil 2³ = 8. In Python: 8**(1/3) = 2.0. Vierte Wurzel: ⁴√16 = 16^(1/4) = 2. Allgemein: ⁿ√a = a^(1/n). Damit kann man jede Wurzel mit der Potenz-Taste berechnen.
Example: ³√8 = 8^(1/3) = 2, because 2³ = 8. In Python: 8**(1/3) = 2.0. Fourth root: ⁴√16 = 16^(1/4) = 2. General: ⁿ√a = a^(1/n). This lets you compute any root with the power key.
a = Basis (a ≥ 0), n = Wurzelexponent (n ≥ 2), m = Potenzexponent. Die n-te Wurzel ist die Umkehroperation des Potenzierens.
a = base (a ≥ 0), n = root index (n ≥ 2), m = power exponent. The n-th root is the inverse of exponentiation.

2.3 Logarithmen

2.3 Logarithms

Definition und RechenregelnDefinition and Rules
logb(x) = y ⇔ by = x
RegelRuleFormelFormula
ProduktProductlog(a·b) = log(a) + log(b)
QuotientQuotientlog(a/b) = log(a) − log(b)
PotenzPowerlog(an) = n · log(a)
BasiswechselChange of baselogb(x) = ln(x) / ln(b)
Der Logarithmus beantwortet: Wie oft muss ich die Basis multiplizieren, um x zu erreichen? log₂(8) = 3, weil 2³ = 8. log₁₀(1000) = 3, weil 10³ = 1000. Besonders nützlich: log₂ sagt dir, wie viele Bits du brauchst (log₂(256) = 8 Bit).
The logarithm answers: how many times must I multiply the base to reach x? log₂(8) = 3, because 2³ = 8. log₁₀(1000) = 3, because 10³ = 1000. Especially useful: log₂ tells you how many bits you need (log₂(256) = 8 bits).
a, b = Argumente (a, b > 0), b = Basis des Logarithmus. log ohne Index meint oft log₁₀ (Ingenieure) oder ln (Mathematiker).
a, b = arguments (a, b > 0), b = base of logarithm. log without subscript often means log₁₀ (engineers) or ln (mathematicians).
Spezielle LogarithmenSpecial Logarithms
NotationNotationBasisBaseAnwendungApplication
ln(x)e ≈ 2.71828Analysis, NaturwissenschaftenCalculus, natural sciences
log(x), lg(x)10Dezibel, IngenieurwesenDecibels, engineering
log2(x), ld(x)2Informatik, BitsComputer science, bits
Beispiel Dezibel: Lautsprecher verstärkt Spannung 10-fach → 20·lg(10) = 20 dB. 100-fach → 40 dB. Beispiel Informatik: Binäre Suche in 1 Million Einträgen braucht ld(1000000) ≈ 20 Vergleiche statt 1 Million!
Example decibels: amplifier increases voltage 10× → 20·lg(10) = 20 dB. 100× → 40 dB. Example CS: binary search in 1 million entries needs ld(1000000) ≈ 20 comparisons instead of 1 million!
Bits für n ZuständeBits for n States
Bits = log2(n)
Zur Berechnung der nötigen Bitbreite für n verschiedene Zustände. Beispiel: 1000 Zustände → ⌈log₂(1000)⌉ = ⌈9.97⌉ = 10 Bit.
For calculating the bit width needed for n distinct states. Example: 1000 states → ⌈log₂(1000)⌉ = ⌈9.97⌉ = 10 bits.
n = Anzahl darzustellender Zustände, b = benötigte Bits. Beispiel: 1000 Zustände → ⌈log₂(1000)⌉ = 10 Bits.
n = number of states to represent, b = required bits. Example: 1000 states → ⌈log₂(1000)⌉ = 10 bits.

2.4 Binomische Formeln

2.4 Binomial Formulas

Drei binomische FormelnThree Binomial Formulas
(a + b)2 = a2 + 2ab + b2
(a − b)2 = a2 − 2ab + b2
(a + b)(a − b) = a2 − b2
Beispiel: (x+3)² = x² + 6x + 9. Kopfrechentrick: 52² = (50+2)² = 2500 + 200 + 4 = 2704. Dritte Formel rückwärts: x² − 9 = (x+3)(x−3) — nützlich zum Vereinfachen von Brüchen und Gleichungen.
Example: (x+3)² = x² + 6x + 9. Mental math trick: 52² = (50+2)² = 2500 + 200 + 4 = 2704. Third formula reversed: x² − 9 = (x+3)(x−3) — useful for simplifying fractions and equations.
a, b = beliebige reelle Ausdrücke. Die dritte Formel (Differenz zweier Quadrate) ist besonders nützlich zum Faktorisieren.
a, b = any real expressions. The third formula (difference of squares) is especially useful for factoring.
Binomischer Lehrsatz (allgemein)Binomial Theorem (General)
(a + b)n = nk=0 nk · an−k · bk
(n über k) = Binomialkoeffizient = n! / (k! · (n−k)!). Die Koeffizienten lassen sich aus dem Pascalschen Dreieck ablesen.
(n choose k) = binomial coefficient = n! / (k! · (n−k)!). The coefficients can be read from Pascal's triangle.
Beispiel: (a+b)³ = 1·a³ + 3·a²b + 3·ab² + 1·b³. Die Koeffizienten 1,3,3,1 stehen in Zeile 3 des Pascalschen Dreiecks. In der Numerik: (1+0.01)¹⁰⁰ ≈ e¹ ≈ 2.718 — so wird die Eulersche Zahl hergeleitet!
Example: (a+b)³ = 1·a³ + 3·a²b + 3·ab² + 1·b³. The coefficients 1,3,3,1 are in row 3 of Pascal's triangle. In numerics: (1+0.01)¹⁰⁰ ≈ e¹ ≈ 2.718 — this is how Euler's number is derived!
Pascalsches Dreieck — Koeffizienten für (a + b)ⁿPascal's Triangle — Coefficients for (a + b)ⁿ
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
n = 0 (oben) bis n = 6 (unten)n = 0 (top) to n = 6 (bottom)
Bildungsgesetz: Jeder Eintrag = Summe der beiden schräg darüberliegenden. Die Ränder sind immer 1. Formal: (n über k) = (n−1 über k−1) + (n−1 über k).
Construction rule: Each entry = sum of the two diagonally above it. The edges are always 1. Formally: C(n,k) = C(n−1,k−1) + C(n−1,k).
Bestimmt Binomialkoeffizienten ohne Fakultätsberechnung. Auch nützlich in der Kombinatorik: Zeile n enthält alle C(n,k)-Werte.
Determines binomial coefficients without factorial calculation. Also useful in combinatorics: row n contains all C(n,k) values.
Beispielentwicklungen aus dem DreieckExample Expansions from the Triangle
n = 2 — Koeffizienten 1, 2, 1:
n = 2 — Coefficients 1, 2, 1:
(a + b)² = 1·a² + 2·ab + 1·b² = a² + 2ab + b²
n = 3 — Koeffizienten 1, 3, 3, 1:
n = 3 — Coefficients 1, 3, 3, 1:
(a + b)³ = 1·a³ + 3·a²b + 3·ab² + 1·b³ = a³ + 3a²b + 3ab² + b³
n = 4 — Koeffizienten 1, 4, 6, 4, 1:
n = 4 — Coefficients 1, 4, 6, 4, 1:
(a + b)⁴ = a⁴ + 4a³b + 6a²b² + 4ab³ + b⁴
Muster: Potenzen von a fallen (n→0), Potenzen von b steigen (0→n), Koeffizienten aus der entsprechenden Zeile des Dreiecks.
Pattern: Powers of a decrease (n→0), powers of b increase (0→n), coefficients from the corresponding row of the triangle.
Koeffizienten aus dem Dreieck ablesen, dann Potenzen von a und b systematisch einsetzen — funktioniert für beliebiges n ohne Formelkenntnis.
Read coefficients from the triangle, then systematically substitute powers of a and b — works for any n without knowing the formula.
Anwendungsbeispiel: (2x + 3)⁴Application Example: (2x + 3)⁴
Schritt 1: Koeffizienten aus Zeile n=4 ablesen: 1, 4, 6, 4, 1
Step 1: Read coefficients from row n=4: 1, 4, 6, 4, 1
Schritt 2: a = 2x, b = 3 einsetzen. Potenzen von a fallen, Potenzen von b steigen:
Step 2: Substitute a = 2x, b = 3. Powers of a decrease, powers of b increase:
= 1·(2x)⁴ + 4·(2x)³·3 + 6·(2x)²·3² + 4·(2x)·3³ + 1·3⁴
= 16x⁴ + 96x³ + 216x² + 216x + 81
Zeigt den vollständigen Workflow: Koeffizienten ablesen → einsetzen → ausmultiplizieren. Gleiches Vorgehen für beliebige (a+b)ⁿ.
Shows the complete workflow: read coefficients → substitute → expand. Same procedure for any (a+b)ⁿ.

2.5 Gleichungen und Ungleichungen

2.5 Equations and Inequalities

Quadratische Gleichung (p-q-Formel)Quadratic Equation (p-q Formula)
x2 + px + q = 0
x1,2 = − p2 ± p24 − q
Beispiel: x² − 5x + 6 = 0. Hier p = −5, q = 6. Einsetzen: x = 5/2 ± √(25/4 − 6) = 2.5 ± √(0.25) = 2.5 ± 0.5. Also x₁ = 3, x₂ = 2. Probe: 3² − 5·3 + 6 = 9 − 15 + 6 = 0 ✓
Example: x² − 5x + 6 = 0. Here p = −5, q = 6. Substitute: x = 5/2 ± √(25/4 − 6) = 2.5 ± √(0.25) = 2.5 ± 0.5. So x₁ = 3, x₂ = 2. Check: 3² − 5·3 + 6 = 9 − 15 + 6 = 0 ✓
p = linearer Koeffizient, q = Absolutglied (nach Normierung auf x²+px+q=0). Diskriminante D = (p/2)² − q: D>0 → 2 Lösungen, D=0 → 1 Lösung, D<0 → keine reelle Lösung.
p = linear coefficient, q = constant term (after normalizing to x²+px+q=0). Discriminant D = (p/2)² − q: D>0 → 2 solutions, D=0 → 1 solution, D<0 → no real solution.
Quadratische Gleichung (abc-Formel / Mitternachtsformel)Quadratic Formula (abc Formula)
ax2 + bx + c = 0
x1,2 = −b ± b2 − 4ac2a
D = b² − 4ac (Diskriminante): D > 0 → 2 Lösungen, D = 0 → 1 Lösung, D < 0 → keine reelle Lösung
D = b² − 4ac (discriminant): D > 0 → 2 solutions, D = 0 → 1 solution, D < 0 → no real solution
Beispiel: 2x² + 5x − 3 = 0. a=2, b=5, c=−3. D = 25−4·2·(−3) = 49. x = (−5 ± 7)/4. Also x₁ = 2/4 = 0.5, x₂ = −12/4 = −3. Merkhilfe Diskriminante: D > 0 → 2 Schnittpunkte mit x-Achse, D = 0 → berührt x-Achse, D < 0 → schwebt über x-Achse.
Example: 2x² + 5x − 3 = 0. a=2, b=5, c=−3. D = 25−4·2·(−3) = 49. x = (−5 ± 7)/4. So x₁ = 2/4 = 0.5, x₂ = −12/4 = −3. Mnemonic discriminant: D > 0 → 2 x-intercepts, D = 0 → touches x-axis, D < 0 → floats above x-axis.

2.6 Summen und Produkte (Σ, Π)

2.6 Sums and Products (Σ, Π)

Wichtige SummenformelnImportant Sum Formulas
nk=1 k = n(n+1)2
nk=1 k2 = n(n+1)(2n+1)6
nk=0 qk = 1 − qn+11 − q  (q ≠ 1, geometrische Reihe)
Gaußsche Summenformel: 1+2+3+...+100 = 100·101/2 = 5050. Die Geschichte: Der kleine Gauß hat das in der Schule im Kopf berechnet. In der Informatik: Zwei verschachtelte Schleifen über n Elemente → ca. n²/2 Durchläufe → O(n²).
Gaussian sum: 1+2+3+...+100 = 100·101/2 = 5050. The story: young Gauss computed this in his head at school. In CS: two nested loops over n elements → about n²/2 iterations → O(n²).
n = obere Summationsgrenze, q = Quotient der geometrischen Reihe (|q|<1 für Konvergenz der unendlichen Reihe).
n = upper summation limit, q = ratio of geometric series (|q|<1 for convergence of infinite series).
☰ Inhalt ☰ Contents
Kapitel 3Chapter 3Geometrie und TrigonometrieGeometry and Trigonometry
Kapitel 3Chapter 3

Geometrie und Trigonometrie 🌱

Geometry and Trigonometry 🌱

3.1 Winkel und Bogenmaß

3.1 Angles and Radians

Winkelmaße im ÜberblickAngular Measurement Systems
WinkelmaßSystemEinheitUnitVollkreisFull CircleRechter WinkelRight AngleAnwendungApplication
Altgrad (DEG)Degree (DEG)° (Grad)360°90°Alltag, Technik, NavigationEveryday, engineering, navigation
Bogenmaß (RAD)Radian (RAD)rad2π ≈ 6.2832π/2 ≈ 1.5708Mathematik, Physik, ProgrammierungMathematics, physics, programming
Neugrad / Gon (GRAD)Gradian / Gon (GRAD)gon (g)400 gon100 gonGeodäsie, Vermessung, BauwesenGeodesy, surveying, construction
UmdrehungTurn / Revolutionrev, U10.25Drehzahl (U/min), MotorenRotational speed (RPM), motors
Häufigster Programmierfehler: sin(90) in Python ergibt 0.894 statt 1 — weil Python Bogenmaß erwartet! Richtig: sin(π/2) = 1.0 oder sin(radians(90)) = 1.0. Taschenrechner: Immer prüfen ob DEG oder RAD aktiv ist!
Most common programming error: sin(90) in Python returns 0.894 instead of 1 — because Python expects radians! Correct: sin(π/2) = 1.0 or sin(radians(90)) = 1.0. Calculator: always check if DEG or RAD mode is active!
Umrechnungsformeln zwischen allen WinkelmaßenConversion Formulas Between All Angular Units
Von → NachFrom → ToFormelFormula
Grad → Bogenmaßrad = deg · π / 180
Bogenmaß → Graddeg = rad · 180 / π
Grad → Gongon = deg · 400 / 360 = deg · 10 / 9
Gon → Graddeg = gon · 360 / 400 = gon · 9 / 10
Gon → Bogenmaßrad = gon · π / 200
Bogenmaß → Gongon = rad · 200 / π
Schnelle Umrechnung: Grad → Rad = ×π/180 ≈ ×0.01745. Beispiel: 45° = 45·π/180 = π/4 ≈ 0.7854 rad. Grad → Gon = ×10/9. Beispiel: 90° = 100 gon. Eselsbrücke: 'Gon ist wie Prozent vom rechten Winkel'.
Quick conversion: Deg → Rad = ×π/180 ≈ ×0.01745. Example: 45° = 45·π/180 = π/4 ≈ 0.7854 rad. Deg → Gon = ×10/9. Example: 90° = 100 gon. Mnemonic: 'Gon is like percent of a right angle'.
Untereinheiten bei Grad und GonSubdivisions for Degrees and Gon
SystemSystemUnterteilungSubdivisionNotationNotation
Altgrad (sexagesimal)Degree (sexagesimal)1° = 60′ (Bogenminuten), 1′ = 60″ (Bogensekunden)1° = 60′ (arcminutes), 1′ = 60″ (arcseconds)47° 23′ 15″
Altgrad (dezimal)Degree (decimal)Nachkommastellen statt ′ und ″Decimal places instead of ′ and ″47.3875°
Neugrad / GonGradian / Gon1 gon = 10 cgon (Zentigon) = 100 mgon (Milligon)1 gon = 10 cgon (centigon) = 100 mgon (milligon)52.6389 gon
Umrechnung DMS → Dezimal: 47° 23′ 15″ = 47 + 23/60 + 15/3600 = 47.3875°. GPS-Koordinaten nutzen meist Dezimalgrad.
Conversion DMS → Decimal: 47° 23′ 15″ = 47 + 23/60 + 15/3600 = 47.3875°. GPS coordinates typically use decimal degrees.
Wichtige Winkelwerte in allen MaßenImportant Angle Values in All Systems
BeschreibungDescriptionGrad (°)Bogenmaß (rad)GonUmdrehungTurn
NullZero000
30°30°π/6 ≈ 0.523633.3331/12
45°45°π/4 ≈ 0.7854501/8
60°60°π/3 ≈ 1.047266.6671/6
Rechter WinkelRight Angle90°π/2 ≈ 1.57081001/4
Gestreckter WinkelStraight Angle180°π ≈ 3.14162001/2
270°270°3π/2 ≈ 4.71243003/4
VollwinkelFull Angle360°2π ≈ 6.28324001
Die wichtigsten Werte auswendig: sin 30° = 0.5, sin 45° = √2/2 ≈ 0.707, sin 60° = √3/2 ≈ 0.866, sin 90° = 1. Cosinus ist einfach rückwärts: cos 0° = 1, cos 30° = √3/2, cos 60° = 0.5, cos 90° = 0.
Most important values to memorize: sin 30° = 0.5, sin 45° = √2/2 ≈ 0.707, sin 60° = √3/2 ≈ 0.866, sin 90° = 1. Cosine is simply reversed: cos 0° = 1, cos 30° = √3/2, cos 60° = 0.5, cos 90° = 0.
Bogenmaß — geometrische DefinitionRadian — Geometric Definition
αrad = sr
s = Bogenlänge, r = Radius. 1 rad = der Winkel, bei dem die Bogenlänge gleich dem Radius ist. Daraus folgt: Bogenlänge s = r · α, Kreisfläche eines Sektors A = ½ · r² · α.
s = arc length, r = radius. 1 rad = the angle where arc length equals radius. It follows: arc length s = r · α, sector area A = ½ · r² · α.
1 Bogenmaß = der Winkel, bei dem der Kreisbogen so lang ist wie der Radius. Stell dir ein Pizzastück vor, dessen äußerer Rand genauso lang ist wie der Radius der Pizza — das ist 1 rad ≈ 57.3°. Bogenlänge = Radius × Winkel: s = r·α.
1 radian = the angle where the arc length equals the radius. Imagine a pizza slice whose outer edge is as long as the pizza's radius — that's 1 rad ≈ 57.3°. Arc length = radius × angle: s = r·α.

3.2 Trigonometrische Funktionen

3.2 Trigonometric Functions

Definition am rechtwinkligen DreieckDefinition in Right Triangle
sin α = GegenkatheteOppositeHypotenuseHypotenusecos α = AnkatheteAdjacentHypotenuseHypotenusetan α = sin αcos α
SOH-CAH-TOA: Sin = Opposite/Hypotenuse, Cos = Adjacent/Hypotenuse, Tan = Opposite/Adjacent. Beispiel: Leiter (5m) lehnt an Wand, Fuß 3m entfernt. Wandhöhe = √(5²−3²) = 4m. Winkel: sin α = 4/5 → α = 53.1°.
SOH-CAH-TOA: Sin = Opposite/Hypotenuse, Cos = Adjacent/Hypotenuse, Tan = Opposite/Adjacent. Example: ladder (5m) leans against wall, base 3m away. Wall height = √(5²−3²) = 4m. Angle: sin α = 4/5 → α = 53.1°.
α = Winkel, a = Gegenkathete, b = Ankathete, c = Hypotenuse. Merkhilfe: SOHCAHTOA (Sin=O/H, Cos=A/H, Tan=O/A).
α = angle, a = opposite, b = adjacent, c = hypotenuse. Mnemonic: SOHCAHTOA (Sin=O/H, Cos=A/H, Tan=O/A).
Wichtige WerteImportant Values
α30°45°60°90°
sin α01/2√2/2√3/21
cos α1√3/2√2/21/20
tan α0√3/31√3
Referenztabelle zum Auswendiglernen. Merkhilfe: sin-Werte von 0° bis 90° entsprechen √0/2, √1/2, √2/2, √3/2, √4/2.
Reference table for memorization. Mnemonic: sin values from 0° to 90° correspond to √0/2, √1/2, √2/2, √3/2, √4/2.
Satz des PythagorasPythagorean Theorem
a2 + b2 = c2    sin2 α + cos2 α = 1
Beispiel: Wie weit sind zwei Punkte P₁(1|2) und P₂(4|6) im Koordinatensystem voneinander entfernt? Die horizontale Strecke ist Δx = 4−1 = 3, die vertikale Δy = 6−2 = 4. Diese bilden die Katheten eines rechtwinkligen Dreiecks. Der Abstand ist die Hypotenuse: d = √(3² + 4²) = √25 = 5. In 3D analog: d = √(Δx² + Δy² + Δz²). Die Identität sin²α + cos²α = 1 ist die trigonometrische Form des Satzes: auf dem Einheitskreis gilt x² + y² = 1.
Example: How far apart are two points P₁(1,2) and P₂(4,6) in a coordinate system? The horizontal distance is Δx = 4−1 = 3, the vertical Δy = 6−2 = 4. These form the legs of a right triangle. The distance is the hypotenuse: d = √(3² + 4²) = √25 = 5. In 3D analogously: d = √(Δx² + Δy² + Δz²). The identity sin²α + cos²α = 1 is the trigonometric form: on the unit circle, x² + y² = 1.
a, b = Katheten, c = Hypotenuse (längste Seite, dem rechten Winkel gegenüberliegend).
a, b = legs (catheti), c = hypotenuse (longest side, opposite the right angle).

3.3 Trigonometrische Identitäten

3.3 Trigonometric Identities

AdditionstheoremeAddition Theorems
sin(α ± β) = sin α · cos β ± cos α · sin β
cos(α ± β) = cos α · cos β ∓ sin α · sin β
tan(α ± β) = tan α ± tan β1 ∓ tan α · tan β
Beispiel: sin(45°+30°) = sin 45°·cos 30° + cos 45°·sin 30° = 0.707·0.866 + 0.707·0.5 = 0.612 + 0.354 = 0.966 = sin 75°. In der Praxis: Wenn ein Signal um Phase φ verschoben wird, braucht man diese Formeln zur Berechnung.
Example: sin(45°+30°) = sin 45°·cos 30° + cos 45°·sin 30° = 0.707·0.866 + 0.707·0.5 = 0.612 + 0.354 = 0.966 = sin 75°. In practice: when a signal is shifted by phase φ, these formulas are needed.
α, β = beliebige Winkel [rad oder °]. Aus den Additionstheoremen leiten sich alle weiteren trigonometrischen Identitäten ab.
α, β = any angles [rad or °]. All other trigonometric identities derive from the addition theorems.
DoppelwinkelsätzeDouble Angle Formulas
sin(2α) = 2 · sin α · cos α
cos(2α) = cos2 α − sin2 α = 2cos2 α − 1 = 1 − 2sin2 α
Beispiel: sin(2·30°) = 2·sin 30°·cos 30° = 2·0.5·0.866 = 0.866 = sin 60°. ✓ Nützlich zum Vereinfachen: cos²x = (1+cos 2x)/2 — wird bei der Integration von cos²x verwendet.
Example: sin(2·30°) = 2·sin 30°·cos 30° = 2·0.5·0.866 = 0.866 = sin 60°. ✓ Useful for simplification: cos²x = (1+cos 2x)/2 — used when integrating cos²x.
α = Winkel. Diese Formeln folgen aus den Additionstheoremen mit β = α. Die cos(2α)-Formel hat drei äquivalente Darstellungen.
α = angle. These follow from the addition theorems with β = α. The cos(2α) formula has three equivalent forms.
Sinussatz und KosinussatzLaw of Sines and Law of Cosines
asin α = bsin β = csin γ
c2 = a2 + b2 − 2ab · cos γ
Beispiel Kosinussatz: Dreieck mit a=5, b=7, γ=60°. c² = 25 + 49 − 2·5·7·cos 60° = 74 − 35 = 39. c = √39 ≈ 6.24. Wenn γ=90° wird cos γ=0 und der Kosinussatz vereinfacht sich zum Satz des Pythagoras: c² = a² + b².
Example law of cosines: triangle with a=5, b=7, γ=60°. c² = 25 + 49 − 2·5·7·cos 60° = 74 − 35 = 39. c = √39 ≈ 6.24. When γ=90°, cos γ=0 and the law of cosines simplifies to Pythagoras: c² = a² + b².
a, b, c = Seiten des Dreiecks, α, β, γ = gegenüberliegende Winkel. Sinussatz: für 2 Winkel + 1 Seite. Kosinussatz: für 3 Seiten oder 2 Seiten + 1 Winkel.
a, b, c = triangle sides, α, β, γ = opposite angles. Law of sines: for 2 angles + 1 side. Law of cosines: for 3 sides or 2 sides + 1 angle.

3.4 Flächen und Volumen

3.4 Areas and Volumes

Flächen (2D)Areas (2D)
FormShapeFläche AArea A
RechteckRectangleA = a · b
DreieckTriangleA = ½ · g · h
KreisCircleA = π · r²
TrapezTrapezoidA = ½ · (a + c) · h
KreisringAnnulusA = π · (R² − r²)
Beispiele: Zimmer 4×5m → A = 20 m². Dreieck g=6, h=4 → A = ½·6·4 = 12. Pizza Ø30cm → A = π·15² ≈ 706.9 cm². Kreisring (Unterlegscheibe) R=10mm, r=5mm → A = π(100−25) ≈ 235.6 mm².
Examples: room 4×5m → A = 20 m². Triangle g=6, h=4 → A = ½·6·4 = 12. Pizza Ø30cm → A = π·15² ≈ 706.9 cm². Washer (annulus) R=10mm, r=5mm → A = π(100−25) ≈ 235.6 mm².
Volumen (3D)Volumes (3D)
KörperSolidVolumen VVolume VOberfläche OSurface A
QuaderCuboidV = a·b·cO = 2(ab+bc+ac)
ZylinderCylinderV = π·r²·hO = 2πr(r+h)
KugelSphereV = 4/3·π·r³O = 4·π·r²
KegelConeV = 1/3·π·r²·hO = πr(r+s)
Beispiele: Getränkedose (r=3.3cm, h=11.5cm) → V = π·3.3²·11.5 ≈ 393 cm³ ≈ 0.4 Liter. Fußball (r=11cm) → V = 4/3·π·11³ ≈ 5575 cm³. Die Kugel hat das beste Volumen/Oberfläche-Verhältnis — darum sind Seifenblasen rund.
Examples: beverage can (r=3.3cm, h=11.5cm) → V = π·3.3²·11.5 ≈ 393 cm³ ≈ 0.4 liters. Soccer ball (r=11cm) → V = 4/3·π·11³ ≈ 5575 cm³. The sphere has the best volume/surface ratio — that's why soap bubbles are round.

3.5 Koordinatensysteme

3.5 Coordinate Systems

Kartesisch ↔ Polar (2D)Cartesian ↔ Polar (2D)
x = r · cos φy = r · sin φr = x2 + y2φ = atan2(y, x)
Beispiel: Punkt (3, 4) → Polar: r = √(9+16) = 5, φ = atan2(4,3) ≈ 53.1°. Zurück: x = 5·cos 53.1° ≈ 3, y = 5·sin 53.1° ≈ 4. Warum atan2 statt atan? atan kann nicht zwischen (1,1) und (−1,−1) unterscheiden — atan2 schon!
Example: point (3, 4) → polar: r = √(9+16) = 5, φ = atan2(4,3) ≈ 53.1°. Back: x = 5·cos 53.1° ≈ 3, y = 5·sin 53.1° ≈ 4. Why atan2 not atan? atan can't distinguish (1,1) from (−1,−1) — atan2 can!
x, y = kartesische Koordinaten, r = Abstand vom Ursprung, φ = Winkel zur x-Achse [rad]. atan2(y,x) liefert den korrekten Quadranten.
x, y = Cartesian coordinates, r = distance from origin, φ = angle from x-axis [rad]. atan2(y,x) returns the correct quadrant.
Kartesisch ↔ Kugelkoordinaten (3D)Cartesian ↔ Spherical (3D)
x = r · sin θ · cos φy = r · sin θ · sin φz = r · cos θ
r = x2 + y2 + z2θ = arccos zrφ = atan2(y, x)
Stell dir die Erde vor: Breitengrad θ (0°=Nordpol, 90°=Äquator), Längengrad φ (0°=Greenwich). Punkt auf der Oberfläche: x = R·sinθ·cosφ, y = R·sinθ·sinφ, z = R·cosθ. GPS-Koordinaten funktionieren genauso!
Imagine the Earth: latitude θ (0°=north pole, 90°=equator), longitude φ (0°=Greenwich). Point on surface: x = R·sinθ·cosφ, y = R·sinθ·sinφ, z = R·cosθ. GPS coordinates work the same way!
r = Abstand vom Ursprung, θ = Polarwinkel (0…π, von z-Achse), φ = Azimutwinkel (0…2π, in xy-Ebene).
r = distance from origin, θ = polar angle (0…π, from z-axis), φ = azimuthal angle (0…2π, in xy-plane).
☰ Inhalt ☰ Contents
Kapitel 4Chapter 4Boolesche AlgebraBoolean Algebra
Kapitel 4Chapter 4

Boolesche Algebra 🌱

Boolean Algebra 🌱

4.1 Grundoperationen (AND, OR, NOT, XOR)

4.1 Basic Operations (AND, OR, NOT, XOR)

WahrheitstabellenTruth Tables
ABA ∧ BA ∨ BA ⊕ B¬A
000001
010111
100110
111100
= AND, = OR, = XOR, ¬ = NOT
= AND, = OR, = XOR, ¬ = NOT
AND: Nur wenn BEIDE 1 sind → 1 (wie eine Reihenschaltung: beide Schalter müssen an sein). OR: Wenn MINDESTENS einer 1 ist → 1 (Parallelschaltung). XOR: Genau wenn die Eingänge VERSCHIEDEN sind → 1 (Lichtschalter-Wechselschaltung!). NOT: Einfach umdrehen.
AND: only when BOTH are 1 → 1 (like series connection: both switches must be on). OR: when AT LEAST one is 1 → 1 (parallel connection). XOR: exactly when inputs are DIFFERENT → 1 (two-way light switch!). NOT: simply flip.
Abgeleitete OperationenDerived Operations
OperationOperationSymbolSymbolÄquivalentEquivalent
NAND¬(A ∧ B)
NOR¬(A ∨ B)
XNOR¬(A ⊕ B)
ImplikationImplication¬A ∨ B
ÄquivalenzEquivalence(A → B) ∧ (B → A)
Beispiel NAND: NOT A = A NAND A. AND = (A NAND B) NAND (A NAND B). OR = (A NAND A) NAND (B NAND B). Man braucht also nur EINE Gatter-Sorte für ALLES — darum sind NAND-Flash-Speicher nach diesem Gatter benannt.
Example NAND: NOT A = A NAND A. AND = (A NAND B) NAND (A NAND B). OR = (A NAND A) NAND (B NAND B). You only need ONE gate type for EVERYTHING — that's why NAND flash memory is named after this gate.

4.2 Gesetze der Booleschen Algebra

4.2 Laws of Boolean Algebra

GrundgesetzeFundamental Laws
GesetzLawANDOR
IdempotenzIdempotenceA ∧ A = AA ∨ A = A
Neutrales ElementIdentityA ∧ 1 = AA ∨ 0 = A
DominanzDominationA ∧ 0 = 0A ∨ 1 = 1
KomplementComplementA ∧ ¬A = 0A ∨ ¬A = 1
AbsorptionAbsorptionA ∧ (A ∨ B) = AA ∨ (A ∧ B) = A
Doppelte NegationDouble Negation¬(¬A) = A
Beispiel Absorption: A AND (A OR B) = A. Warum? Wenn A wahr ist, ist (A OR B) immer wahr, und A AND wahr = A. Wenn A falsch ist, ist das Ergebnis sowieso falsch. Also hängt es nur von A ab — das B ist überflüssig!
Example absorption: A AND (A OR B) = A. Why? If A is true, (A OR B) is always true, and A AND true = A. If A is false, the result is false anyway. So it only depends on A — B is redundant!

4.3 De Morgansche Gesetze

4.3 De Morgan's Laws

De MorganDe Morgan
¬(A ∧ B) = ¬A ∨ ¬B
¬(A ∨ B) = ¬A ∧ ¬B
Beispiel im Code: if (!(a > 5 && b < 3)) ist das gleiche wie if (a <= 5 || b >= 3). De Morgan dreht AND↔OR und negiert alles. Merkhilfe: 'Breche die Klammer auf, drehe den Operator um, negiere jeden Teil'.
Example in code: if (!(a > 5 && b < 3)) is the same as if (a <= 5 || b >= 3). De Morgan flips AND↔OR and negates everything. Mnemonic: 'break the bracket, flip the operator, negate each part'.
A, B = Boolesche Variablen. De Morgan wandelt AND in OR um (und umgekehrt) bei gleichzeitiger Negation. In der Digitaltechnik: NAND und NOR als Universalgatter.
A, B = Boolean variables. De Morgan converts AND to OR (and vice versa) with simultaneous negation. In digital design: NAND and NOR as universal gates.

4.4 Normalformen (DNF, KNF)

4.4 Normal Forms (DNF, CNF)

Disjunktive Normalform (DNF)Disjunctive Normal Form (DNF)
f = (A ∧ ¬B ∧ C) ∨ (¬A ∧ B ∧ C) ∨ …
Summe von Produkten (SOP). Jeder Minterm enthält alle Variablen. Aus der Wahrheitstabelle: alle Zeilen mit Ergebnis 1.
Sum of Products (SOP). Each minterm contains all variables. From truth table: all rows with output 1.
Beispiel: Lampe soll leuchten wenn (A=1 UND B=0) ODER (A=1 UND B=1). DNF: f = (A ∧ ¬B) ∨ (A ∧ B). Vereinfacht: f = A ∧ (¬B ∨ B) = A ∧ 1 = A. Die Lampe hängt also nur von A ab!
Example: lamp should light when (A=1 AND B=0) OR (A=1 AND B=1). DNF: f = (A ∧ ¬B) ∨ (A ∧ B). Simplified: f = A ∧ (¬B ∨ B) = A ∧ 1 = A. The lamp only depends on A!
Konjunktive Normalform (KNF)Conjunctive Normal Form (CNF)
f = (A ∨ ¬B ∨ C) ∧ (¬A ∨ B ∨ C) ∧ …
Produkt von Summen (POS). Jeder Maxterm enthält alle Variablen. Aus der Wahrheitstabelle: alle Zeilen mit Ergebnis 0, negiert.
Product of Sums (POS). Each maxterm contains all variables. From truth table: all rows with output 0, negated.
Beispiel: f ist fast immer 1, nur bei (A=0, B=0) ist f=0. Maxterm: (A ∨ B). KNF: f = (A ∨ B) — fertig, nur ein Term! In DNF hätte man 3 Minterme gebraucht. Regel: Wenige Nullen → KNF kürzer. Wenige Einsen → DNF kürzer.
Example: f is almost always 1, only at (A=0, B=0) is f=0. Maxterm: (A ∨ B). CNF: f = (A ∨ B) — done, just one term! DNF would need 3 minterms. Rule: few zeros → CNF shorter. Few ones → DNF shorter.

4.5 Karnaugh-Diagramme

4.5 Karnaugh Maps

MinimierungsregelnMinimization Rules
1. Benachbarte 1-Felder zu Gruppen der Größe 2k zusammenfassen (1, 2, 4, 8, …)
2. Gruppen so groß wie möglich bilden
3. Jede 1 muss in mindestens einer Gruppe enthalten sein
4. Don't-Care-Felder (×) dürfen einbezogen werden, müssen aber nicht
5. K-Map-Ränder sind "verbunden" (Torus-Topologie)
1. Group adjacent 1-cells into groups of size 2k (1, 2, 4, 8, …)
2. Make groups as large as possible
3. Every 1 must be in at least one group
4. Don't-care cells (×) may be included but need not be
5. K-map edges "wrap around" (torus topology)
Beispiel 2 Variablen: Felder (0,1) und (1,1) sind 1. Gruppiere sie → B bleibt 1, A ändert sich → Term: B. Ergebnis: f = B. Ohne K-Map hätte man f = (¬A∧B) ∨ (A∧B) und müsste erst vereinfachen. K-Map gibt das Ergebnis direkt.
Example 2 variables: cells (0,1) and (1,1) are 1. Group them → B stays 1, A changes → term: B. Result: f = B. Without K-map you'd get f = (¬A∧B) ∨ (A∧B) and simplify manually. K-map gives the result directly.
☰ Inhalt ☰ Contents
Kapitel 5Chapter 5Mengen, Relationen und FunktionenSets, Relations and Functions
Kapitel 5Chapter 5

Mengen, Relationen und Funktionen 🌱

Sets, Relations and Functions 🌱

5.1 Mengenoperationen

5.1 Set Operations

GrundoperationenBasic Operations
OperationOperationSymbolSymbolDefinitionDefinition
VereinigungUnionA ∪ B{x | x ∈ A oderor x ∈ B}
DurchschnittIntersectionA ∩ B{x | x ∈ A undand x ∈ B}
DifferenzDifferenceA \ B{x | x ∈ A undand x ∉ B}
KomplementComplementĀ, Ac{x | x ∉ A}
Symm. DifferenzSymm. DifferenceA △ B(A \ B) ∪ (B \ A)
Kartesisches ProduktCartesian ProductA × B{(a,b) | a ∈ A, b ∈ B}
PotenzmengePower Set𝒫(A)|𝒫(A)| = 2|A|
Beispiel: A = {1,2,3,4}, B = {3,4,5,6}. A ∪ B = {1,2,3,4,5,6}. A ∩ B = {3,4}. A \ B = {1,2}. In SQL: SELECT * FROM A UNION SELECT * FROM B. Die Potenzmenge von {a,b} = {{}, {a}, {b}, {a,b}} — hat 2² = 4 Elemente.
Example: A = {1,2,3,4}, B = {3,4,5,6}. A ∪ B = {1,2,3,4,5,6}. A ∩ B = {3,4}. A \ B = {1,2}. In SQL: SELECT * FROM A UNION SELECT * FROM B. Power set of {a,b} = {{}, {a}, {b}, {a,b}} — has 2² = 4 elements.
De Morgansche Gesetze für MengenDe Morgan's Laws for Sets
A ∪ B = AB
A ∩ B = AB
Beispiel: 'Nicht (Student ODER Mitarbeiter)' = 'Nicht Student UND nicht Mitarbeiter'. In SQL: NOT (dept='Sales' OR dept='HR') wird zu dept<>'Sales' AND dept<>'HR'. Gleiche Logik wie bei Boole, nur mit Mengen statt Aussagen.
Example: 'Not (student OR employee)' = 'not student AND not employee'. In SQL: NOT (dept='Sales' OR dept='HR') becomes dept<>'Sales' AND dept<>'HR'. Same logic as Boolean, just with sets instead of propositions.
A, B = Mengen, = Komplement von A. Analogie zur Booleschen Algebra: ∪ entspricht OR, ∩ entspricht AND, Komplement entspricht NOT.
A, B = sets, = complement of A. Analogy to Boolean algebra: ∪ corresponds to OR, ∩ to AND, complement to NOT.
Inklusion-Exklusion (2 und 3 Mengen)Inclusion-Exclusion (2 and 3 Sets)
|A ∪ B| = |A| + |B| − |A ∩ B|
|A ∪ B ∪ C| = |A| + |B| + |C| − |A∩B| − |A∩C| − |B∩C| + |A∩B∩C|
Zur Berechnung der Größe von Vereinigungen ohne Doppelzählung. Beispiel: |M ∪ P| = |M| + |P| − |M ∩ P|.
For computing the size of unions without double-counting. Example: |M ∪ P| = |M| + |P| − |M ∩ P|.
|A| = Mächtigkeit (Elementanzahl) der Menge A. Das Prinzip korrigiert Mehrfachzählung bei der Vereinigung.
|A| = cardinality (element count) of set A. The principle corrects overcounting in the union.

5.2 Relationen und Ordnungen

5.2 Relations and Orders

Eigenschaften von Relationen R ⊆ A × AProperties of Relations R ⊆ A × A
EigenschaftPropertyFormalFormal
ReflexivReflexive∀a ∈ A: (a, a) ∈ R
SymmetrischSymmetric(a,b) ∈ R ⇒ (b,a) ∈ R
AntisymmetrischAntisymmetric(a,b) ∈ R ∧ (b,a) ∈ R ⇒ a = b
TransitivTransitive(a,b) ∈ R ∧ (b,c) ∈ R ⇒ (a,c) ∈ R
Äquivalenzrelation: reflexiv + symmetrisch + transitiv
Partielle Ordnung: reflexiv + antisymmetrisch + transitiv
Equivalence relation: reflexive + symmetric + transitive
Partial order: reflexive + antisymmetric + transitive
Äquivalenzrelationen erzeugen disjunkte Klassen (z.B. Restklassen mod n). Partielle Ordnungen definieren Halbordnungen (z.B. Abhängigkeitsgraphen, Scheduling).
Equivalence relations create disjoint classes (e.g., residue classes mod n). Partial orders define half-orders (e.g., dependency graphs, scheduling).

5.3 Funktionseigenschaften

5.3 Function Properties

Abbildungseigenschaften f: A → BMapping Properties f: A → B
EigenschaftPropertyFormalFormal
Injektiv (1-zu-1)Injective (one-to-one)f(a₁) = f(a₂) ⇒ a₁ = a₂
Surjektiv (auf)Surjective (onto)∀b ∈ B: ∃a ∈ A: f(a) = b
BijektivBijectiveInjektiv und surjektiv → Inverse f⁻¹ existiertInjective and surjective → Inverse f⁻¹ exists
Beispiel: f(x) = x² ist NICHT injektiv, weil f(2) = f(−2) = 4 (zwei verschiedene x geben dasselbe y). Aber f(x) = 2x+1 IST injektiv UND surjektiv = bijektiv — jedes y hat genau ein x. Verschlüsselung: muss bijektiv sein, sonst kann man nicht entschlüsseln!
Example: f(x) = x² is NOT injective because f(2) = f(−2) = 4 (two different x give the same y). But f(x) = 2x+1 IS injective AND surjective = bijective — every y has exactly one x. Encryption: must be bijective, otherwise you can't decrypt!

5.4 Wichtige Zahlmengen

5.4 Important Number Sets

Zahlmengen-HierarchieNumber Set Hierarchy
ℕ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ
SymbolSymbolNameNameBeispieleExamples
Natürliche ZahlenNatural numbers{0, 1, 2, 3, …}
Ganze ZahlenIntegers{…, −2, −1, 0, 1, 2, …}
Rationale ZahlenRational numbersp/q mit p ∈ ℤ, q ∈ ℤ \ {0}
Reelle ZahlenReal numbersℚ ∪ {π, √2, e, …}
Komplexe ZahlenComplex numbersa + bi mit i² = −1
Stell dir vor: ℕ = Anzahl Äpfel (0,1,2,...). ℤ = Kontostand (auch negativ). ℚ = Pizzastücke (1/3, 2/5...). ℝ = Kreis-Umfang (π = 3.14159..., nicht als Bruch darstellbar). ℂ = Wechselstrom (braucht Betrag UND Phase). Jede Menge enthält die vorherige.
Think of it: ℕ = count of apples (0,1,2,...). ℤ = bank balance (also negative). ℚ = pizza slices (1/3, 2/5...). ℝ = circle circumference (π = 3.14159..., not expressible as fraction). ℂ = AC current (needs magnitude AND phase). Each set contains the previous.
= natürliche Zahlen, = ganze Zahlen, = rationale Zahlen, = reelle Zahlen, = komplexe Zahlen. Jede Menge ist echte Teilmenge der nächsten.
= natural numbers, = integers, = rationals, = reals, = complex numbers. Each set is a proper subset of the next.
Komplexe Zahlen — GrundformelnComplex Numbers — Basic Formulas
z = a + bi = r · e = r · (cos φ + i · sin φ)
|z| = a2 + b2φ = atan2(b, a)z = a − bi
e + 1 = 0 (Euler-Identität)
Beispiel: z = 3 + 4i. Betrag |z| = √(9+16) = 5. Phase φ = atan2(4,3) ≈ 53°. In Polarform: z = 5·e^(i·53°). Multiplikation in Polarform ist einfach: Beträge multiplizieren, Phasen addieren. Darum nutzt die Elektrotechnik komplexe Zahlen für Wechselstrom!
Example: z = 3 + 4i. Magnitude |z| = √(9+16) = 5. Phase φ = atan2(4,3) ≈ 53°. In polar: z = 5·e^(i·53°). Multiplication in polar is easy: multiply magnitudes, add phases. That's why electrical engineering uses complex numbers for AC!
j = imaginäre Einheit (j² = −1), a = Realteil, b = Imaginärteil, r = Betrag, φ = Phase/Argument. In der Elektrotechnik j statt i (i = Strom).
j = imaginary unit (j² = −1), a = real part, b = imaginary part, r = magnitude, φ = phase/argument. In EE, j instead of i (i = current).
☰ Inhalt ☰ Contents
Kapitel 6Chapter 6Folgen und ReihenSequences and Series
Kapitel 6Chapter 6

Folgen und Reihen 🌱

Sequences and Series 🌱

6.1 Arithmetische und geometrische Folgen

6.1 Arithmetic and Geometric Sequences

Arithmetische FolgeArithmetic Sequence
an = a1 + (n−1) · d
Sn = n2 · (a1 + an) = n2 · (2a1 + (n−1)·d)
d = konstante Differenz, a₁ = Anfangsglied, Sn = Partialsumme der ersten n Glieder
d = common difference, a₁ = first term, Sn = partial sum of first n terms
Stell dir vor: Jeden Monat 200 EUR sparen. Nach n Monaten: 200n EUR. Die Differenz d=200 ist immer gleich — das ist arithmetisch. Summenformel: Nach 12 Monaten: 12/2·(200+2400) = 15600 EUR. Oder einfacher: 12·200·13/2.
Imagine: saving 200 EUR every month. After n months: 200n EUR. The difference d=200 is always the same — that's arithmetic. Sum formula: after 12 months: 12/2·(200+2400) = 15600 EUR.
Geometrische FolgeGeometric Sequence
an = a1 · qn−1
Sn = a1 · 1 − qn1 − q  (q ≠ 1)
S = a11 − q  (|q| < 1)
q = konstanter Quotient, S = Grenzwert der unendlichen Reihe (nur für |q| < 1)
q = common ratio, S = limit of infinite series (only for |q| < 1)
Stell dir vor: 1000 EUR zu 5% Zinsen anlegen. Nach n Jahren: 1000·1.05ⁿ. Nach 10 Jahren: 1000·1.05¹⁰ = 1628.89 EUR. Die Folge wächst immer schneller — das ist geometrisch (Faktor q=1.05). Zerfall: Halbwertszeit → q=0.5, nach 3 Halbwertszeiten: 0.5³ = 12.5% übrig.
Imagine: investing 1000 EUR at 5% interest. After n years: 1000·1.05ⁿ. After 10 years: 1000·1.05¹⁰ = 1628.89 EUR. The sequence grows faster and faster — that's geometric (factor q=1.05). Decay: half-life → q=0.5, after 3 half-lives: 0.5³ = 12.5% remaining.

6.2 Grenzwerte

6.2 Limits

Grenzwert einer FolgeLimit of a Sequence
limn→∞ an = L ⇔ ∀ε > 0 ∃N ∈ ℕ: n > N ⇒ |an − L| < ε
Beispiel: 1/n → 0 für n→∞. Bei n=100 ist 1/n = 0.01, bei n=1000000 ist 1/n = 0.000001 — immer näher an 0, aber nie genau 0. Praktisch: In numerischen Algorithmen bricht man ab wenn |a_n − a_{n-1}| < ε (z.B. ε = 10⁻⁶).
Example: 1/n → 0 as n→∞. At n=100, 1/n = 0.01, at n=1000000, 1/n = 0.000001 — always closer to 0 but never exactly 0. Practical: in numerical algorithms, stop when |a_n − a_{n-1}| < ε (e.g., ε = 10⁻⁶).
an = n-tes Folgenglied, L = Grenzwert, ε = beliebig kleine positive Zahl, N = Indexschwelle ab der alle Glieder in der ε-Umgebung von L liegen.
an = n-th term, L = limit, ε = arbitrarily small positive number, N = index threshold beyond which all terms lie within ε of L.
Wichtige GrenzwerteImportant Limits
Folge / AusdruckSequence / ExpressionGrenzwertLimit
limn→∞ (1 + 1/n)ne ≈ 2.71828
limx→0 sin(x)/x1
limx→0 (ex − 1)/x1
limx→∞ (1 + a/x)xea
limn→∞ n1/n1
limn→∞ qn (|q| < 1)0
Beispiel (1+1/n)ⁿ: n=1 → 2.000, n=10 → 2.594, n=100 → 2.705, n=1000 → 2.717, n→∞ → e ≈ 2.71828. Je öfter man einen Zins aufteilt und wieder verzinst, desto näher kommt man an e. Bei kontinuierlicher Verzinsung: Endkapital = Startkapital · e^(Zinssatz·Zeit).
Example (1+1/n)ⁿ: n=1 → 2.000, n=10 → 2.594, n=100 → 2.705, n=1000 → 2.717, n→∞ → e ≈ 2.71828. The more often you compound interest, the closer you get to e. With continuous compounding: final = start · e^(rate·time).

6.3 Konvergenzkriterien

6.3 Convergence Criteria

Konvergenzkriterien für ReihenConvergence Criteria for Series
KriteriumCriterionBedingung für KonvergenzCondition for Convergence
NotwendigNecessarylimn→∞ an = 0
QuotientenkriteriumRatio testlim |an+1/an| < 1
WurzelkriteriumRoot testlim n√|an| < 1
VergleichskriteriumComparison test|an| ≤ bn und Σbn konvergiertand Σbn converges
LeibnizAlternierend, |an| monoton fallend → 0Alternating, |an| monotonically decreasing → 0
Beispiel Quotientenkriterium: Konvergiert Σ 1/n! ? Quotient: (1/(n+1)!) / (1/n!) = 1/(n+1) → 0 < 1 → konvergiert! (Ergebnis: e−1 ≈ 1.718). Dagegen: Σ 1/n → Quotient 1 → Test sagt nichts (divergiert aber trotzdem — harmonische Reihe!).
Example ratio test: does Σ 1/n! converge? Ratio: (1/(n+1)!) / (1/n!) = 1/(n+1) → 0 < 1 → converges! (Result: e−1 ≈ 1.718). Contrast: Σ 1/n → ratio 1 → test says nothing (but diverges anyway — harmonic series!).

6.4 Potenzreihen und Taylor-Reihen

6.4 Power Series and Taylor Series

Taylor-Reihe um x₀Taylor Series Around x₀
f(x) = n=0 f(n)(x0)n! · (x − x0)n
f(n)(x₀) = n-te Ableitung von f an der Stelle x₀. Für x₀ = 0 heißt sie Maclaurin-Reihe.
f(n)(x₀) = n-th derivative of f at x₀. For x₀ = 0 it is called Maclaurin series.
Beispiel: sin x ≈ x − x³/6 + x⁵/120 (Taylor 5. Ordnung). Für x=0.5: exakt sin(0.5) = 0.47943. Taylor: 0.5 − 0.02083 + 0.00026 = 0.47943 — auf 5 Stellen genau! In FPGAs reichen oft 3-4 Terme für ausreichende Genauigkeit.
Example: sin x ≈ x − x³/6 + x⁵/120 (Taylor 5th order). For x=0.5: exact sin(0.5) = 0.47943. Taylor: 0.5 − 0.02083 + 0.00026 = 0.47943 — accurate to 5 digits! In FPGAs, 3-4 terms often suffice.
Wichtige Maclaurin-Reihen (x₀ = 0)Important Maclaurin Series (x₀ = 0)
f(x)ReiheSeriesKonvergenzConvergence
ex1 + x + x²/2! + x³/3! + …∀x ∈ ℝ
sin xx − x³/3! + x⁵/5! − x⁷/7! + …∀x ∈ ℝ
cos x1 − x²/2! + x⁴/4! − x⁶/6! + …∀x ∈ ℝ
ln(1+x)x − x²/2 + x³/3 − x⁴/4 + …−1 < x ≤ 1
1/(1−x)1 + x + x² + x³ + …|x| < 1
arctan xx − x³/3 + x⁵/5 − x⁷/7 + …|x| ≤ 1
Merkregel: eˣ hat nur Pluszeichen und Fakultäten. sin x hat abwechselnd ±, nur ungerade Potenzen (x, x³, x⁵...). cos x hat abwechselnd ±, nur gerade Potenzen (1, x², x⁴...). ln(1+x) hat abwechselnd ± ohne Fakultät.
Memory aid: eˣ has only plus signs and factorials. sin x alternates ±, only odd powers (x, x³, x⁵...). cos x alternates ±, only even powers (1, x², x⁴...). ln(1+x) alternates ± without factorials.
☰ Inhalt ☰ Contents
Kapitel 7Chapter 7DifferentialrechnungDifferential Calculus
Kapitel 7Chapter 7

Differentialrechnung 📘

Differential Calculus 📘

7.1 Ableitungsregeln

7.1 Differentiation Rules

AbleitungsregelnDifferentiation Rules
RegelRuleFormelFormula
KonstantenregelConstant rule(c · f)′ = c · f′
SummenregelSum rule(f ± g)′ = f′ ± g′
ProduktregelProduct rule(f · g)′ = f′ · g + f · g′
QuotientenregelQuotient rule(f/g)′ = (f′·g − f·g′) / g²
KettenregelChain rule(f(g(x)))′ = f′(g(x)) · g′(x)
PotenzregelPower rule(xn)′ = n · xn−1
Merkhilfe Produktregel: (f·g)' = f'·g + f·g' — erst eine ableiten, dann die andere. Kettenregel: (f(g(x)))' = f'(g(x))·g'(x) — von außen nach innen. Beispiel: (sin(3x))' = cos(3x)·3 = 3cos(3x). Die Kettenregel ist auch die Basis für Backpropagation in KI.
Mnemonic product rule: (f·g)' = f'·g + f·g' — differentiate one, then the other. Chain rule: (f(g(x)))' = f'(g(x))·g'(x) — outside to inside. Example: (sin(3x))' = cos(3x)·3 = 3cos(3x). Chain rule is also the basis for backpropagation in AI.

7.2 Ableitungen elementarer Funktionen

7.2 Derivatives of Elementary Functions

AbleitungstabelleDerivative Table
f(x)f′(x)f(x)f′(x)
xnn·xn−1exex
sin xcos xcos x−sin x
tan x1/cos²xln x1/x
axax · ln aloga x1/(x · ln a)
arcsin x1/√(1−x²)arccos x−1/√(1−x²)
arctan x1/(1+x²)sinh xcosh x
cosh xsinh x√x1/(2√x)
Nachschlagewerk für die wichtigsten Ableitungen. Besonders relevant: (ex)′ = ex (einzige Funktion die ihre eigene Ableitung ist), (ln x)′ = 1/x.
Reference for the most important derivatives. Especially relevant: (ex)′ = ex (only function that is its own derivative), (ln x)′ = 1/x.

7.3 Partielle Ableitungen und Gradient

7.3 Partial Derivatives and Gradient

GradientGradient
∇f = ∂f∂x1, ∂f∂x2, …, ∂f∂xn
∇f = Gradient, zeigt in Richtung des steilsten Anstiegs. ∂f/∂xi = partielle Ableitung nach xi (alle anderen Variablen konstant).
∇f = gradient, points in the direction of steepest ascent. ∂f/∂xi = partial derivative with respect to xi (all other variables held constant).
Stell dir einen nebligen Berg vor — du willst ins Tal. Der Gradient sagt dir, welche Richtung am steilsten bergauf geht. Also geh in die ENTGEGENGESETZTE Richtung (−∇f) → steilster Abstieg. Das macht ein neuronales Netz in jedem Trainingsschritt!
Imagine a foggy mountain — you want to reach the valley. The gradient tells you which direction goes steepest uphill. So walk in the OPPOSITE direction (−∇f) → steepest descent. That's what a neural network does at every training step!

7.4 Extremwerte und Optimierung

7.4 Extrema and Optimization

Notwendige und hinreichende BedingungNecessary and Sufficient Condition
Notwendig: f′(x₀) = 0 (stationärer Punkt)
Necessary: f′(x₀) = 0 (stationary point)
BedingungConditionTypType
f″(x₀) > 0Lokales MinimumLocal minimum
f″(x₀) < 0Lokales MaximumLocal maximum
f″(x₀) = 0Wendepunkt oder Sattelpunkt (höhere Ableitungen prüfen)Inflection or saddle point (check higher derivatives)
Beispiel: f(x) = x² − 4x + 3. f'(x) = 2x − 4 = 0 → x = 2. f''(2) = 2 > 0 → Minimum! f(2) = 4 − 8 + 3 = −1. Also: Tiefpunkt bei (2, −1). Wie ein Talkessel — die Kugel rollt immer zum Minimum.
Example: f(x) = x² − 4x + 3. f'(x) = 2x − 4 = 0 → x = 2. f''(2) = 2 > 0 → minimum! f(2) = 4 − 8 + 3 = −1. So: lowest point at (2, −1). Like a valley — the ball always rolls to the minimum.
☰ Inhalt ☰ Contents
Kapitel 8Chapter 8IntegralrechnungIntegral Calculus
Kapitel 8Chapter 8

Integralrechnung 📘

Integral Calculus 📘

8.1 Grundintegrale

8.1 Basic Integrals

IntegraltabelleIntegral Table
f(x)∫ f(x) dxf(x)∫ f(x) dx
xnxn+1/(n+1) + C1/xln|x| + C
exex + Caxax/ln(a) + C
sin x−cos x + Ccos xsin x + C
1/cos²xtan x + C1/sin²x−cot x + C
1/(1+x²)arctan x + C1/√(1−x²)arcsin x + C
sinh xcosh x + Ccosh xsinh x + C
C = Integrationskonstante (fällt bei bestimmten Integralen weg)
C = constant of integration (cancels in definite integrals)
Integrieren ist das Gegenteil von Ableiten. Probe: Wenn ∫cos x dx = sin x + C, dann muss (sin x)' = cos x sein — stimmt! ✓ Merke: Die Integrationskonstante C fällt bei bestimmten Integralen weg (F(b) − F(a)).
Integration is the reverse of differentiation. Check: if ∫cos x dx = sin x + C, then (sin x)' must be cos x — correct! ✓ Note: the constant C cancels in definite integrals (F(b) − F(a)).

8.2 Integrationsmethoden

8.2 Integration Methods

Substitution und partielle IntegrationSubstitution and Integration by Parts
Substitution (Kettenregel rückwärts):
Substitution (chain rule in reverse):
∫ f(g(x)) · g′(x) dx = ∫ f(u) du   mit u = g(x)
Partielle Integration (Produktregel rückwärts):
Integration by parts (product rule in reverse):
∫ u · v′ dx = u · v − ∫ u′ · v dx
Substitution: ∫2x·cos(x²) dx. Setze u=x², du=2x dx → ∫cos(u) du = sin(u) + C = sin(x²) + C. Partielle Integration: ∫x·eˣ dx. u=x, v'=eˣ → x·eˣ − ∫eˣ dx = x·eˣ − eˣ + C = eˣ(x−1) + C.
Substitution: ∫2x·cos(x²) dx. Set u=x², du=2x dx → ∫cos(u) du = sin(u) + C = sin(x²) + C. By parts: ∫x·eˣ dx. u=x, v'=eˣ → x·eˣ − ∫eˣ dx = x·eˣ − eˣ + C = eˣ(x−1) + C.

8.3 Bestimmte Integrale

8.3 Definite Integrals

Hauptsatz der Differential- und IntegralrechnungFundamental Theorem of Calculus
ab f(x) dx = F(b) − F(a)
F = Stammfunktion von f, d.h. F′ = f. Das bestimmte Integral berechnet die Fläche unter der Kurve (vorzeichenbehaftet).
F = antiderivative of f, i.e., F′ = f. The definite integral computes the area under the curve (signed).
Beispiel: Fläche unter f(x)=x² von 0 bis 3? F(x) = x³/3. Ergebnis: F(3)−F(0) = 27/3 − 0 = 9 Flächeneinheiten. Der Hauptsatz sagt: Integrieren = Stammfunktion bilden und Grenzen einsetzen.
Example: area under f(x)=x² from 0 to 3? F(x) = x³/3. Result: F(3)−F(0) = 27/3 − 0 = 9 area units. The fundamental theorem says: integrate = find antiderivative and substitute bounds.

8.4 Mehrfachintegrale

8.4 Multiple Integrals

Doppel- und DreifachintegralDouble and Triple Integral
R f(x,y) dA = ∫ab cd f(x,y) dy dx
V f(x,y,z) dV = ∫∫∫ f(x,y,z) dz dy dx
Beispiel: Volumen unter z = x² + y² über dem Einheitskreis? ∫∫(x²+y²) dA. In Polarkoordinaten: ∫₀²π ∫₀¹ r²·r dr dθ = 2π · [r⁴/4]₀¹ = 2π/4 = π/2 ≈ 1.57. Polar ist oft einfacher als kartesisch bei kreisförmigen Gebieten!
Example: volume under z = x² + y² over unit circle? ∫∫(x²+y²) dA. In polar: ∫₀²π ∫₀¹ r²·r dr dθ = 2π · [r⁴/4]₀¹ = 2π/4 = π/2 ≈ 1.57. Polar is often easier than Cartesian for circular regions!
f(x,y) = Funktion zweier Variablen, D = Integrationsgebiet (2D), V = Integrationsvolumen (3D). Anwendung: Flächen, Volumina, Schwerpunkte, Trägheitsmomente.
f(x,y) = function of two variables, D = integration region (2D), V = integration volume (3D). Application: areas, volumes, centroids, moments of inertia.
☰ Inhalt ☰ Contents
Kapitel 9Chapter 9DifferentialgleichungenDifferential Equations
Kapitel 9Chapter 9

Differentialgleichungen 📘

Differential Equations 📘

9.1 Gewöhnliche DGL 1. Ordnung

9.1 First-Order ODEs

Trennung der VariablenSeparation of Variables
dydx = f(x) · g(y)  ⟹  ∫ dyg(y) = ∫ f(x) dx
Einfachste Lösungsmethode: Variablen auf verschiedene Seiten bringen und integrieren. Funktioniert wenn y′ = f(x)·g(y) separierbar ist.
Simplest solution method: bring variables to different sides and integrate. Works when y′ = f(x)·g(y) is separable.
y = gesuchte Funktion, x = unabhängige Variable, g(y) = Funktion nur von y, f(x) = Funktion nur von x, C = Integrationskonstante.
y = unknown function, x = independent variable, g(y) = function of y only, f(x) = function of x only, C = integration constant.
Lineare DGL 1. OrdnungFirst-Order Linear ODE
y′ + p(x) · y = q(x)
Lösung: y = e−P(x) · [∫ q(x) · eP(x) dx + C], wobei P(x) = ∫ p(x) dx
Solution: y = e−P(x) · [∫ q(x) · eP(x) dx + C], where P(x) = ∫ p(x) dx
Beispiel Kaffee abkühlen: dT/dt = −k(T−T_Raum). Lösung: T(t) = T_Raum + (T_Start−T_Raum)·e^(−kt). Kaffee bei 90°C, Raum 20°C, k=0.05/min: Nach 10 min: T = 20 + 70·e^(−0.5) ≈ 20 + 42.5 = 62.5°C.
Example coffee cooling: dT/dt = −k(T−T_room). Solution: T(t) = T_room + (T_start−T_room)·e^(−kt). Coffee at 90°C, room 20°C, k=0.05/min: after 10 min: T = 20 + 70·e^(−0.5) ≈ 20 + 42.5 = 62.5°C.

9.2 Gewöhnliche DGL 2. Ordnung

9.2 Second-Order ODEs

Lineare DGL 2. Ordnung mit konstanten KoeffizientenSecond-Order Linear ODE with Constant Coefficients
a·y″ + b·y′ + c·y = 0
Charakteristische Gleichung: a·λ² + b·λ + c = 0
Characteristic equation: a·λ² + b·λ + c = 0
DiskriminanteDiscriminantLösung y(x)Solution y(x)VerhaltenBehavior
b²−4ac > 0C₁·eλ₁x + C₂·eλ₂xÜberdämpftOverdamped
b²−4ac = 0(C₁ + C₂·x)·eλxKritisch gedämpftCritically damped
b²−4ac < 0eαx·(C₁·cos βx + C₂·sin βx)SchwingendOscillating
Stell dir ein Auto auf einer Bodenwelle vor: Überdämpft → sinkt langsam zurück (alte Kutsche). Kritisch gedämpft → schnellstmöglich zurück ohne Überschwingen (gut eingestellte Stoßdämpfer). Schwingend → federt nach (kaputte Stoßdämpfer). Die Diskriminante bestimmt welcher Fall vorliegt.
Imagine a car hitting a bump: overdamped → slowly returns (old carriage). Critically damped → fastest return without overshoot (well-tuned shocks). Oscillating → bounces (broken shocks). The discriminant determines which case applies.

9.3 Laplace-Transformation

9.3 Laplace Transform

Definition und RücktransformationDefinition and Inverse Transform
F(s) = ℒ{f(t)} = ∫0 f(t) · e−st dt
s = σ + jω (komplexe Frequenzvariable). Transformiert DGLs in algebraische Gleichungen im Bildbereich.
s = σ + jω (complex frequency variable). Transforms ODEs into algebraic equations in the frequency domain.
Stell dir vor, du musst eine schwierige DGL lösen. Die Laplace-Transformation verwandelt sie in eine einfache algebraische Gleichung (wie Zaubertrick: Ableitung → Multiplikation mit s). Lösen, dann rücktransformieren → fertig. Wie Logarithmen Multiplikation in Addition verwandeln.
Imagine having to solve a difficult ODE. The Laplace transform turns it into a simple algebraic equation (magic trick: derivative → multiplication by s). Solve, then inverse transform → done. Like logarithms turning multiplication into addition.
Wichtige Laplace-KorrespondenzenImportant Laplace Transform Pairs
f(t)F(s) = ℒ{f(t)}
1 (Sprung)1/s
t1/s²
tnn!/sn+1
e−at1/(s+a)
sin(ωt)ω/(s²+ω²)
cos(ωt)s/(s²+ω²)
e−at·sin(ωt)ω/((s+a)²+ω²)
δ(t) (Dirac)1
Korrespondenztabelle zum schnellen Nachschlagen. Ableitung im Zeitbereich → Multiplikation mit s im Bildbereich: ℒ{f′(t)} = s·F(s) − f(0).
Transform pairs for quick lookup. Derivative in time domain → multiplication by s in frequency domain: ℒ{f′(t)} = s·F(s) − f(0).

9.4 Partielle DGL (Überblick)

9.4 Partial DEs (Overview)

Wichtige partielle DGLsImportant Partial Differential Equations
NameNameGleichungEquationAnwendungApplication
Wärmeleitungsgl.Heat equation∂u/∂t = α · ∇²uTemperaturverteilung, DiffusionTemperature distribution, diffusion
WellengleichungWave equation∂²u/∂t² = c² · ∇²uAkustik, Elektromagnetik, SchwingungenAcoustics, electromagnetics, vibrations
Laplace-Gl.∇²u = 0Elektrostatik, stationäre FelderElectrostatics, steady-state fields
Poisson-Gl.∇²u = fGravitationsfeld, LadungsverteilungGravitational field, charge distribution
∇² = Laplace-Operator = ∂²/∂x² + ∂²/∂y² + ∂²/∂z² (Summe der zweiten partiellen Ableitungen)
∇² = Laplacian = ∂²/∂x² + ∂²/∂y² + ∂²/∂z² (sum of second partial derivatives)
Stell dir einen Stein im Teich vor: Die Wellen breiten sich als Kreise aus — beschrieben durch die Wellengleichung. Wärmeleitung: Eine heiße Tasse kühlt ab — der Temperaturverlauf folgt der Wärmeleitungsgleichung. Beide werden mit Computern auf einem Gitter berechnet (FEM).
Imagine a stone in a pond: waves spread as circles — described by the wave equation. Heat conduction: a hot cup cools down — temperature follows the heat equation. Both are computed on a grid using computers (FEM).
☰ Inhalt ☰ Contents
Kapitel 10Chapter 10Vektoren und VektorräumeVectors and Vector Spaces
Kapitel 10Chapter 10

Vektoren und Vektorräume 🌱

Vectors and Vector Spaces 🌱

10.1 Vektoroperationen

10.1 Vector Operations

Addition, Skalarmultiplikation, BetragAddition, Scalar Multiplication, Magnitude
a + b = (a₁+b₁, a₂+b₂, …, an+bn)
λ · a = (λa₁, λa₂, …, λan)
|a| = a₁² + a₂² + … + an²
Ein Vektor ist wie ein Pfeil mit Richtung und Länge. Addition: Pfeile hintereinander hängen. Skalarmultiplikation: Pfeil strecken/stauchen. Betrag = Länge des Pfeils. Beispiel: |(3, 4)| = √(9+16) = 5. Einheitsvektor: Pfeil auf Länge 1 normieren → â = (3/5, 4/5).
A vector is like an arrow with direction and length. Addition: chain arrows end-to-end. Scalar multiplication: stretch/shrink arrow. Magnitude = arrow length. Example: |(3, 4)| = √(9+16) = 5. Unit vector: normalize to length 1 → â = (3/5, 4/5).
a, b = Vektoren, λ = Skalar (reelle Zahl), |a| = Betrag/Länge des Vektors (euklidische Norm).
a, b = vectors, λ = scalar (real number), |a| = magnitude/length of vector (Euclidean norm).

10.2 Skalarprodukt und Kreuzprodukt

10.2 Dot Product and Cross Product

Skalarprodukt (Dot Product)Dot Product
a · b = ni=1 ai · bi = |a| · |b| · cos θ
θ = Winkel zwischen den Vektoren. Ergebnis ist ein Skalar. a·b = 0 ⟺ a ⊥ b (orthogonal).
θ = angle between vectors. Result is a scalar. a·b = 0 ⟺ a ⊥ b (orthogonal).
Das Skalarprodukt misst, wie sehr zwei Vektoren in die gleiche Richtung zeigen. Ergebnis = 0 → senkrecht aufeinander (90°). Beispiel: (1,0)·(0,1) = 0 (senkrecht). (1,2)·(3,4) = 1·3+2·4 = 11. In der KI: Cosine Similarity misst so die Ähnlichkeit von Texten.
The dot product measures how much two vectors point in the same direction. Result = 0 → perpendicular (90°). Example: (1,0)·(0,1) = 0 (perpendicular). (1,2)·(3,4) = 1·3+2·4 = 11. In AI: cosine similarity uses this to measure text similarity.
Kreuzprodukt (Cross Product, nur ℝ³)Cross Product (only ℝ³)
a × b = e₁e₂e₃a₁a₂a₃b₁b₂b₃ = (a₂b₃−a₃b₂, a₃b₁−a₁b₃, a₁b₂−a₂b₁)
Ergebnis ist ein Vektor, senkrecht auf a und b. Betrag = |a|·|b|·sin θ = Fläche des aufgespannten Parallelogramms.
Result is a vector, perpendicular to a and b. Magnitude = |a|·|b|·sin θ = area of the spanned parallelogram.
Beispiel: a=(1,0,0), b=(0,1,0) → a×b = (0·0−0·1, 0·0−1·0, 1·1−0·0) = (0,0,1). Das Ergebnis zeigt nach oben (z-Richtung) — senkrecht auf beide Eingangsvektoren. Rechte-Hand-Regel: Finger von a nach b krümmen → Daumen zeigt Richtung von a×b.
Example: a=(1,0,0), b=(0,1,0) → a×b = (0·0−0·1, 0·0−1·0, 1·1−0·0) = (0,0,1). Result points up (z-direction) — perpendicular to both input vectors. Right-hand rule: curl fingers from a to b → thumb points in a×b direction.

10.3 Vektorräume und Basen

10.3 Vector Spaces and Bases

Basis und DimensionBasis and Dimension
Eine Basis von V ist eine linear unabhängige Menge, die V aufspannt. Jeder Vektor v ∈ V hat eine eindeutige Darstellung:
A basis of V is a linearly independent set that spans V. Every vector v ∈ V has a unique representation:
v = λ₁b1 + λ₂b2 + … + λnbn
Dimension = Anzahl der Basisvektoren. ℝ² hat Dimension 2, ℝ³ hat Dimension 3.
Dimension = number of basis vectors. ℝ² has dimension 2, ℝ³ has dimension 3.
Stell dir ein Koordinatensystem vor: e₁=(1,0) zeigt nach rechts, e₂=(0,1) nach oben. JEDER 2D-Vektor ist eine Kombination davon: (3,5) = 3·e₁ + 5·e₂. Eine andere Basis (z.B. gedreht um 45°) beschreibt denselben Punkt mit anderen Koordinaten. Dimension = Anzahl Basisvektoren.
Imagine a coordinate system: e₁=(1,0) points right, e₂=(0,1) points up. EVERY 2D vector is a combination: (3,5) = 3·e₁ + 5·e₂. A different basis (e.g., rotated 45°) describes the same point with different coordinates. Dimension = number of basis vectors.

10.4 Lineare Unabhängigkeit

10.4 Linear Independence

Lineare Unabhängigkeit — DefinitionLinear Independence — Definition
λ₁v1 + λ₂v2 + … + λnvn = 0  ⟹  λ₁ = λ₂ = … = λn = 0
Beispiel: (1,0) und (0,1) sind unabhängig — man kann (0,1) nicht durch Strecken von (1,0) erzeugen. Aber (1,2) und (2,4) sind ABHÄNGIG — der zweite ist einfach der doppelte erste. Test: det [[1,2],[2,4]] = 4−4 = 0 → abhängig!
Example: (1,0) and (0,1) are independent — you can't create (0,1) by stretching (1,0). But (1,2) and (2,4) are DEPENDENT — the second is just twice the first. Test: det [[1,2],[2,4]] = 4−4 = 0 → dependent!
v₁…vn = Vektoren, λ₁…λn = Koeffizienten (Skalare). Lineare Unabhängigkeit bedeutet: keiner der Vektoren lässt sich als Linearkombination der anderen darstellen.
v₁…vn = vectors, λ₁…λn = coefficients (scalars). Linear independence means: no vector can be expressed as a linear combination of the others.
☰ Inhalt ☰ Contents
Kapitel 11Chapter 11Matrizen und DeterminantenMatrices and Determinants
Kapitel 11Chapter 11

Matrizen und Determinanten 📘

Matrices and Determinants 📘

11.1 Matrixoperationen

11.1 Matrix Operations

MatrixmultiplikationMatrix Multiplication
(A · B)ij = nk=1 aik · bkj
A ist m×n, B ist n×p → Ergebnis C ist m×p. Reihenfolge wichtig: A·B ≠ B·A (nicht kommutativ!).
A is m×n, B is n×p → result C is m×p. Order matters: A·B ≠ B·A (not commutative!).
Matrixmultiplikation: Zeile mal Spalte, Ergebnisse addieren. Beispiel 2×2: [[1,2],[3,4]]·[[5,6],[7,8]] → erstes Element: 1·5+2·7=19. Wichtig: A·B ≠ B·A! Reihenfolge vertauschen gibt ein anderes Ergebnis — anders als bei normalen Zahlen.
Matrix multiplication: row times column, add results. Example 2×2: [[1,2],[3,4]]·[[5,6],[7,8]] → first element: 1·5+2·7=19. Important: A·B ≠ B·A! Swapping order gives a different result — unlike normal numbers.
Transponierte und SpezialmatrizenTranspose and Special Matrices
(AT)ij = aji   (A·B)T = BT·AT
TypTypeEigenschaftProperty
Einheitsmatrix IIdentity matrix IA·I = I·A = A
SymmetrischSymmetricAT = A
OrthogonalOrthogonalAT = A−1, det A = ±1
DiagonalDiagonalaij = 0 für i ≠ j
Beispiel: A = [[1,2,3],[4,5,6]] → Aᵀ = [[1,4],[2,5],[3,6]]. Zeilen werden zu Spalten. Besonders nützlich: (A·B)ᵀ = Bᵀ·Aᵀ — die Reihenfolge dreht sich um! Orthogonale Matrizen (z.B. Rotation): A⁻¹ = Aᵀ — Invertieren ist kostenlos.
Example: A = [[1,2,3],[4,5,6]] → Aᵀ = [[1,4],[2,5],[3,6]]. Rows become columns. Especially useful: (A·B)ᵀ = Bᵀ·Aᵀ — order reverses! Orthogonal matrices (e.g., rotation): A⁻¹ = Aᵀ — inversion is free.
AT = Transponierte (Zeilen und Spalten vertauscht), I = Einheitsmatrix, A⁻¹ = Inverse. Symmetrisch: A = AT. Orthogonal: A⁻¹ = AT.
AT = transpose (rows and columns swapped), I = identity matrix, A⁻¹ = inverse. Symmetric: A = AT. Orthogonal: A⁻¹ = AT.

11.2 Determinanten

11.2 Determinants

Determinante (2×2 und 3×3)Determinant (2×2 and 3×3)
det abcd = ad − bc
det abcdefghi = a(ei−fh) − b(di−fg) + c(dh−eg)
Die Determinante sagt dir: Ist das Gleichungssystem lösbar? det ≠ 0 → ja, eindeutig. det = 0 → nein (oder unendlich viele Lösungen). Geometrisch: |det| = Fläche. Beispiel: det [[1,0],[0,1]] = 1 (Einheitsquadrat). det [[2,0],[0,3]] = 6 (Rechteck 2×3).
The determinant tells you: is the system solvable? det ≠ 0 → yes, uniquely. det = 0 → no (or infinitely many solutions). Geometrically: |det| = area. Example: det [[1,0],[0,1]] = 1 (unit square). det [[2,0],[0,3]] = 6 (rectangle 2×3).
det(A) = Determinante. det(A) = 0 ⟺ A ist singulär (nicht invertierbar). Geometrisch: Fläche (2D) bzw. Volumen (3D) des aufgespannten Parallelogramms/Parallelepipeds.
det(A) = determinant. det(A) = 0 ⟺ A is singular (not invertible). Geometrically: area (2D) or volume (3D) of the spanned parallelogram/parallelepiped.

11.3 Inverse Matrix

11.3 Inverse Matrix

Inverse (2×2)Inverse (2×2)
A−1 = 1det A d−b−ca
Existiert nur wenn det A ≠ 0. Es gilt: A · A−1 = A−1 · A = I. Für größere Matrizen: Gauß-Jordan-Verfahren.
Exists only when det A ≠ 0. It holds: A · A−1 = A−1 · A = I. For larger matrices: Gauss-Jordan elimination.
Beispiel 2×2: A = [[3,1],[5,2]]. det = 6−5 = 1. A⁻¹ = [[2,−1],[−5,3]]. Probe: A·A⁻¹ = [[6−5, −3+3],[10−10, −5+6]] = [[1,0],[0,1]] = I ✓. Merke: Nur quadratische Matrizen mit det ≠ 0 haben eine Inverse.
Example 2×2: A = [[3,1],[5,2]]. det = 6−5 = 1. A⁻¹ = [[2,−1],[−5,3]]. Check: A·A⁻¹ = [[6−5, −3+3],[10−10, −5+6]] = [[1,0],[0,1]] = I ✓. Note: only square matrices with det ≠ 0 have an inverse.

11.4 Rang und Kern

11.4 Rank and Null Space

Rang und DimensionssatzRank and Rank-Nullity Theorem
rang(A) + dim(kern(A)) = n
rang(A) = Anzahl linear unabhängiger Zeilen/Spalten. kern(A) = Lösungsraum von Ax = 0. n = Spaltenanzahl.
rank(A) = number of linearly independent rows/columns. ker(A) = solution space of Ax = 0. n = number of columns.
Stell dir vor: 3 Gleichungen mit 3 Unbekannten. Nach Gauß bleiben 3 Nicht-Null-Zeilen → Rang 3 → eine Lösung. Nur 2 Nicht-Null-Zeilen → Rang 2 → eine Variable ist frei wählbar → unendlich viele Lösungen (eine ganze Linie).
Imagine: 3 equations with 3 unknowns. After Gauss, 3 non-zero rows remain → rank 3 → one solution. Only 2 non-zero rows → rank 2 → one variable is free → infinitely many solutions (a whole line).
☰ Inhalt ☰ Contents
Kapitel 12Chapter 12Lineare GleichungssystemeLinear Systems of Equations
Kapitel 12Chapter 12

Lineare Gleichungssysteme 📘

Linear Systems of Equations 📘

12.1 Gauß-Elimination

12.1 Gaussian Elimination

Was ist ein Gleichungssystem? — AlltagsbeispielWhat is a System of Equations? — Everyday Example
Situation: Im Obstladen kosten Äpfel und Birnen zusammen einen bestimmten Betrag. Aus zwei Einkäufen sollen die Einzelpreise bestimmt werden:
Situation: At the fruit shop, apples and pears together cost a certain amount. From two purchases, we want to find the individual prices:
Einkauf 1: 2 Äpfel + 3 Birnen = 3.80 EUR
Einkauf 2: 4 Äpfel + 1 Birne = 3.40 EUR
Purchase 1: 2 apples + 3 pears = 3.80 EUR
Purchase 2: 4 apples + 1 pear = 3.40 EUR
In Matrixform: x = Apfelpreis, y = Birnenpreis:
In matrix form: x = apple price, y = pear price:
2341 · xy = 3.803.40
Geometrisch: Jede Gleichung ist eine Gerade. Die Lösung ist der Schnittpunkt:
Geometrically: Each equation is a line. The solution is the intersection point:
x (Preis) y (Preis) 0 0.50 1.00 1.50 2.00 0 0.50 1.00 1.50 2x+3y=3.80 4x+y=3.40 (0.64, 0.84)
Ergebnis: Apfel = 0.64 EUR, Birne = 0.84 EUR. Der grüne Punkt ist die einzige Kombination, die beide Gleichungen gleichzeitig erfüllt.
Result: Apple = 0.64 EUR, Pear = 0.84 EUR. The green dot is the only combination that satisfies both equations simultaneously.
Gleichungssysteme lösen heißt: den Punkt finden, wo sich alle Geraden (2D) bzw. Ebenen (3D) schneiden. Die Matrix-Schreibweise macht dies systematisch auch für 100+ Gleichungen möglich.
Solving systems of equations means: finding the point where all lines (2D) or planes (3D) intersect. Matrix notation makes this systematic even for 100+ equations.
Gleichungssystem in Matrixform A · x = bSystem of Equations in Matrix Form A · x = b
Aufbau: Koeffizienten (Zahlen vor den Variablen) in die Matrix A, Unbekannte in den Vektor x, rechte Seite in den Vektor b:
Structure: Coefficients (numbers in front of variables) go into matrix A, unknowns into vector x, right-hand side into vector b:
2341 · xy = 3.803.40 ⟵ A · x = b
Erweiterte Matrix [A|b] — fasst alles in eine Tabelle zusammen. Darauf werden die Zeilenoperationen ausgeführt:
Augmented matrix [A|b] — combines everything in one table. Row operations are performed on this:
[A|b] = 23| 3.8041| 3.40
Jede Zeile = eine Gleichung, jede Spalte (außer der letzten) = eine Variable. Die letzte Spalte nach dem Strich enthält die rechte Seite.
Each row = one equation, each column (except the last) = one variable. The last column after the bar contains the right-hand side.
Gauß-Elimination — Schritt für Schritt erklärtGaussian Elimination — Step by Step
Ziel: Durch erlaubte Zeilenoperationen Nullen unterhalb der Diagonale erzeugen (Dreiecksform), dann von unten nach oben einsetzen.
Goal: Create zeros below the diagonal using allowed row operations (triangular form), then substitute from bottom to top.
Erlaubte OperationAllowed OperationWas sie bewirktWhat it does
Zeilen vertauschenSwap rowsGleichungen umsortieren (ändert nichts an der Lösung)Reorder equations (doesn't change the solution)
Zeile mit Zahl multiplizierenMultiply row by numberBeide Seiten einer Gleichung skalieren (z.B. ÷2)Scale both sides of an equation (e.g., ÷2)
Vielfaches einer Zeile addierenAdd multiple of a rowEine Variable eliminieren (das Kernstück!)Eliminate a variable (the key step!)
Beispiel (Obstladen von oben): Zeile 2 minus 2 × Zeile 1 eliminiert x:
Example (fruit shop from above): Row 2 minus 2 × Row 1 eliminates x:
23| 3.8041| 3.40  →  23| 3.800−5| −4.20
Rückwärtseinsetzen: Zeile 2 hat nur noch y: −5y = −4.20 → y = 0.84. In Zeile 1 einsetzen: 2x + 3·0.84 = 3.80 → 2x = 1.28 → x = 0.64.
Back-substitution: Row 2 has only y: −5y = −4.20 → y = 0.84. Substitute into Row 1: 2x + 3·0.84 = 3.80 → 2x = 1.28 → x = 0.64.
Das Verfahren funktioniert für beliebig viele Gleichungen und Unbekannte. Bei 3 Variablen: erst x eliminieren (Spalte 1), dann y eliminieren (Spalte 2), dann z direkt ablesen, dann rückwärts einsetzen.
The method works for any number of equations and unknowns. With 3 variables: first eliminate x (column 1), then y (column 2), then read z directly, then back-substitute.
Die drei Fälle — wann hat ein LGS welche Lösung?The Three Cases — When Does a System Have Which Solution?
1 Lösung / 1 solution 0 Lösungen / no solution ∞ Lösungen / solutions Schnittpunkt / intersection parallel identisch / identical
FallCaseRang-BedingungRank ConditionBedeutungMeaning
Genau eine LösungExactly one solutionrang(A) = rang([A|b]) = nDie Gleichungen liefern genug unabhängige InformationThe equations provide enough independent information
Keine LösungNo solutionrang(A) < rang([A|b])Die Gleichungen widersprechen sich (z.B. 0 = 5 nach Elimination)The equations contradict each other (e.g., 0 = 5 after elimination)
Unendlich vieleInfinitely manyrang(A) = rang([A|b]) < nZu wenig unabhängige Gleichungen — freie Parameter bleibenToo few independent equations — free parameters remain
Rang bestimmen: Gauß-Elimination durchführen und Nicht-Null-Zeilen zählen. Zeile der Form (0 0 … 0 | c) mit c ≠ 0 bedeutet: keine Lösung (Widerspruch). Bei überbestimmten Systemen → Least Squares (Kap. 12.3).
Determine rank: perform Gaussian elimination and count non-zero rows. A row of the form (0 0 … 0 | c) with c ≠ 0 means: no solution (contradiction). For overdetermined systems → least squares (Sec. 12.3).
Gauß-Elimination und ZeilenstufenformGaussian Elimination and Row Echelon Form
Algorithmus: Bringe [A|b] durch Zeilenoperationen in obere Dreiecksform, dann Rückwärtseinsetzen.
Algorithm: Bring [A|b] to upper triangular form via row operations, then back-substitute.
Erlaubte OperationAllowed OperationBeschreibungDescription
Zeilen vertauschenSwap rowsZi ↔ Zj
Zeile skalierenScale rowZi → λ · Zi (λ ≠ 0)
Zeile addierenAdd rowZi → Zi + λ · Zj
Standard-Algorithmus zum Lösen linearer Gleichungssysteme Ax = b. Komplexität O(n³). Mit Pivotisierung numerisch stabil. Grundlage für LU-Zerlegung.
Standard algorithm for solving linear systems Ax = b. Complexity O(n³). Numerically stable with pivoting. Foundation for LU decomposition.

12.2 LU-Zerlegung

12.2 LU Decomposition

LU-ZerlegungLU Decomposition
A = L · U
L = untere Dreiecksmatrix (lower), U = obere Dreiecksmatrix (upper). Lösung: Ly = b (vorwärts), Ux = y (rückwärts).
L = lower triangular matrix, U = upper triangular matrix. Solution: Ly = b (forward), Ux = y (backward).
Stell dir vor: Du musst 100 Gleichungssysteme lösen, die alle die gleiche Matrix A haben, aber verschiedene b. Ohne LU: 100× Gauß = O(100n³). Mit LU: 1× Zerlegung O(n³) + 100× Einsetzen O(n²) — riesige Ersparnis! Python: numpy.linalg.solve(A, b) macht das intern.
Imagine: solving 100 systems with the same matrix A but different b. Without LU: 100× Gauss = O(100n³). With LU: 1× factorization O(n³) + 100× substitution O(n²) — huge savings! Python: numpy.linalg.solve(A, b) does this internally.

12.3 Überbestimmte Systeme (Least Squares)

12.3 Overdetermined Systems (Least Squares)

Methode der kleinsten QuadrateLeast Squares Method
ATA · x = ATb  (Normalengleichung)
x = (ATA)−1 · ATb
Minimiert ‖Ax − b‖² (Summe der Fehlerquadrate). A hat mehr Zeilen als Spalten (überbestimmt).
Minimizes ‖Ax − b‖² (sum of squared errors). A has more rows than columns (overdetermined).
Stell dir 10 Messpunkte vor, die ungefähr auf einer Geraden liegen (aber nicht exakt wegen Messrauschen). Least Squares findet die Gerade y = mx + b, die den Gesamtfehler minimiert. Formel: x = (AᵀA)⁻¹Aᵀb. In Python: numpy.linalg.lstsq(A, b).
Imagine 10 data points roughly on a line (but not exactly due to measurement noise). Least squares finds the line y = mx + b that minimizes total error. Formula: x = (AᵀA)⁻¹Aᵀb. In Python: numpy.linalg.lstsq(A, b).
☰ Inhalt ☰ Contents
Kapitel 13Chapter 13Eigenwerte und TransformationenEigenvalues and Transformations
Kapitel 13Chapter 13

Eigenwerte und Transformationen 📘

Eigenvalues and Transformations 📘

13.1 Eigenwerte und Eigenvektoren

13.1 Eigenvalues and Eigenvectors

EigenwertgleichungEigenvalue Equation
A · v = λ · v
det(A − λI) = 0  (charakteristisches Polynom)
λ = Eigenwert, v = zugehöriger Eigenvektor. Die Matrix A streckt v nur, ohne die Richtung zu ändern.
λ = eigenvalue, v = corresponding eigenvector. Matrix A only stretches v without changing its direction.
Stell dir vor, du drückst eine Feder zusammen. Die Eigenwerte sagen dir, ob das System danach schwingt (komplexe λ), zur Ruhe kommt (|λ|<1) oder explodiert (|λ|>1). Beispiel: Matrix [[2,0],[0,3]] hat Eigenwerte 2 und 3 — die Diagonalelemente! Bei Google: Der größte Eigenwert bestimmt das PageRank-Ranking.
Imagine pressing a spring. Eigenvalues tell you if the system oscillates (complex λ), settles down (|λ|<1), or explodes (|λ|>1). Example: matrix [[2,0],[0,3]] has eigenvalues 2 and 3 — the diagonal elements! At Google: the largest eigenvalue determines PageRank ranking.

13.2 Rotationsmatrizen (2D, 3D)

13.2 Rotation Matrices (2D, 3D)

Rotation in 2D — FormelRotation in 2D — Formula
x'y' = cos θ−sin θsin θcos θ · xy
θ = Drehwinkel (positiv = gegen den Uhrzeigersinn). Der Punkt (x, y) wird um den Ursprung gedreht und landet bei (x', y').
θ = rotation angle (positive = counterclockwise). The point (x, y) is rotated around the origin and lands at (x', y').
Dreht einen 2D-Vektor um den Winkel θ gegen den Uhrzeigersinn um den Koordinatenursprung. Anwendung: Bildrotation, Koordinatentransformation, Roboterarm-Kinematik.
Rotates a 2D vector by angle θ counterclockwise around the origin. Applied in image rotation, coordinate transformation, robot arm kinematics.
Beispiel: Punkt (3, 1) um 90° drehenExample: Rotate Point (3, 1) by 90°
Gegeben: Punkt P = (3, 1), Drehwinkel θ = 90°. Wir wissen: cos 90° = 0, sin 90° = 1.
Given: Point P = (3, 1), rotation angle θ = 90°. We know: cos 90° = 0, sin 90° = 1.
x'y' = 0−110 · 31 = 0·3 + (−1)·11·3 + 0·1 = −13
x y 0 2 3 -1 1 3 P (3, 1) P' (-1, 3) 90°
Ergebnis: P = (3, 1) wird zu P' = (−1, 3). Der Abstand zum Ursprung bleibt gleich: |P| = |P'| = √10 ≈ 3.16. Rotation ist eine längentreue Abbildung.
Result: P = (3, 1) becomes P' = (−1, 3). Distance to origin stays the same: |P| = |P'| = √10 ≈ 3.16. Rotation is a distance-preserving transformation.
Weitere Beispiele: 180° dreht (x,y) nach (−x,−y). 45° dreht (1,0) nach (√2/2, √2/2). Negative Winkel drehen im Uhrzeigersinn. Zwei Rotationen nacheinander: R(α)·R(β) = R(α+β).
More examples: 180° rotates (x,y) to (−x,−y). 45° rotates (1,0) to (√2/2, √2/2). Negative angles rotate clockwise. Two rotations: R(α)·R(β) = R(α+β).
Spezialfälle der 2D-RotationSpecial Cases of 2D Rotation
θRotationsmatrix R(θ)Rotation Matrix R(θ)Wirkung auf (x, y)Effect on (x, y)
I (Einheitsmatrix)(x, y) → (x, y)
90°[[0,−1],[1,0]](x, y) → (−y, x)
180°[[−1,0],[0,−1]](x, y) → (−x, −y)
270° = −90°[[0,1],[−1,0]](x, y) → (y, −x)
Die 90°-Rotation (−y, x) wird häufig in der Bildverarbeitung verwendet. Merkhilfe: x und y tauschen, eines bekommt ein Minus — die Richtung des Minus bestimmt die Drehrichtung.
The 90° rotation (−y, x) is frequently used in image processing. Mnemonic: x and y swap, one gets a minus — the direction of the minus determines the rotation direction.
Rotation in 3D — die drei EinzeldrehungenRotation in 3D — The Three Individual Rotations
Rotation um die x-Achse (Roll, φ):
Rotation about x-axis (Roll, φ):
Rx(φ) = 1000cos φ−sin φ0sin φcos φ
Rotation um die y-Achse (Pitch, θ):
Rotation about y-axis (Pitch, θ):
Ry(θ) = cos θ0sin θ010−sin θ0cos θ
Rotation um die z-Achse (Yaw, ψ):
Rotation about z-axis (Yaw, ψ):
Rz(ψ) = cos ψ−sin ψ0sin ψcos ψ0001
Merkhilfe: Jede 3D-Rotation lässt die Koordinate der Drehachse unverändert (die 1 in der Diagonale) und dreht die anderen beiden wie eine 2D-Rotation.
Mnemonic: Each 3D rotation leaves the coordinate of the rotation axis unchanged (the 1 on the diagonal) and rotates the other two like a 2D rotation.
Gesamtrotation R = Rz(ψ)·Ry(θ)·Rx(φ). Die Reihenfolge ist konventionsabhängig (Luftfahrt: ZYX, Robotik oft: XYZ). Achtung: Gimbal Lock bei θ = ±90° (Pitch) — Alternative: Quaternionen.
Total rotation R = Rz(ψ)·Ry(θ)·Rx(φ). Order is convention-dependent (aerospace: ZYX, robotics often: XYZ). Caution: gimbal lock at θ = ±90° (pitch) — alternative: quaternions.
Beispiel 3D: Punkt (1, 0, 0) um 90° um die z-AchseExample 3D: Point (1, 0, 0) Rotated 90° About z-Axis
Rz(90°) · 100 = 0−10100001 · 100 = 010
Ergebnis: (1,0,0) → (0,1,0). Der Punkt wandert von der x-Achse auf die y-Achse — wie erwartet bei 90° Drehung um z. Die z-Koordinate bleibt 0 (Drehachse!).
Result: (1,0,0) → (0,1,0). The point moves from x-axis to y-axis — as expected for 90° rotation about z. The z-coordinate stays 0 (rotation axis!).
In der Stewart-Plattform: Die inverse Kinematik berechnet R(Roll,Pitch,Yaw)·Pplattform + Translation für jeden der 6 Befestigungspunkte, um die Strebenlängen zu bestimmen.
In the Stewart platform: inverse kinematics computes R(Roll,Pitch,Yaw)·Pplatform + translation for each of the 6 mounting points to determine strut lengths.

13.3 Singulärwertzerlegung (SVD)

13.3 Singular Value Decomposition (SVD)

SVDSVD
A = U · Σ · VT
U = orthogonale m×m Matrix, Σ = Diagonalmatrix mit Singulärwerten σ₁ ≥ σ₂ ≥ … ≥ 0, V = orthogonale n×n Matrix.
U = orthogonal m×m matrix, Σ = diagonal matrix with singular values σ₁ ≥ σ₂ ≥ … ≥ 0, V = orthogonal n×n matrix.
SVD zerlegt jede Matrix in Drehung × Streckung × Drehung. Praktisch: Ein 1000×1000-Bild mit SVD komprimieren — behalte nur die 50 größten Singulärwerte, das Bild sieht fast gleich aus bei 10× weniger Daten. Auch für Rauschentfernung: Kleine Singulärwerte ≈ Rauschen → abschneiden.
SVD decomposes any matrix into rotation × stretching × rotation. Practical: compress a 1000×1000 image with SVD — keep only the 50 largest singular values, the image looks almost the same with 10× less data. Also for noise removal: small singular values ≈ noise → truncate.

13.4 Jacobi-Matrix und Konditionierung

13.4 Jacobian Matrix and Conditioning

Jacobi-MatrixJacobian Matrix
J = ∂f₁/∂x₁∂f₁/∂xn∂fm/∂x₁∂fm/∂xn
Matrix aller ersten partiellen Ableitungen einer vektorwertigen Funktion f: ℝⁿ → ℝᵐ.
Matrix of all first partial derivatives of a vector-valued function f: ℝⁿ → ℝᵐ.
Stell dir vor: Du änderst die Motorwinkel eines Roboterarms ein bisschen — wie ändert sich die Greifer-Position? Die Jacobi-Matrix beantwortet das: Δ_Position ≈ J · Δ_Winkel. Konditionszahl κ groß → kleine Änderung am Eingang bewirkt riesige Änderung am Ausgang (instabil!).
Imagine: you slightly change a robot arm's motor angles — how does the gripper position change? The Jacobian answers: Δ_position ≈ J · Δ_angles. Condition number κ large → small input change causes huge output change (unstable!).
☰ Inhalt ☰ Contents
Kapitel 14Chapter 14KombinatorikCombinatorics
Kapitel 14Chapter 14

Kombinatorik 🌱

Combinatorics 🌱

14.1 Permutationen und Kombinationen

14.1 Permutations and Combinations

Permutationen und KombinationenPermutations and Combinations
Ohne WiederholungWithout repetitionMit WiederholungWith repetition
Reihenfolge wichtig (Perm.)Order matters (Perm.)n! / (n−k)!nk
Reihenfolge egal (Komb.)Order doesn't matter (Comb.)C(n,k) = n! / (k!·(n−k)!)C(n+k−1, k)
Beispiel Passwort: 8 Zeichen aus 62 (a-z, A-Z, 0-9) → 62⁸ ≈ 218 Billionen Möglichkeiten. Lotto '6 aus 49': C(49,6) = 49!/(6!·43!) = 13.983.816 Kombinationen. PIN 4 Stellen: 10⁴ = 10.000 Möglichkeiten — darum ist eine PIN allein unsicher.
Example password: 8 chars from 62 (a-z, A-Z, 0-9) → 62⁸ ≈ 218 trillion possibilities. Lottery '6 from 49': C(49,6) = 49!/(6!·43!) = 13,983,816 combinations. 4-digit PIN: 10⁴ = 10,000 possibilities — that's why a PIN alone is insecure.

14.2 Binomialkoeffizient

14.2 Binomial Coefficient

BinomialkoeffizientBinomial Coefficient
nk = n!k! · (n−k)! = n · (n−1) · … · (n−k+1)k!
Symmetrie: C(n,k) = C(n, n−k). Randbedingung: C(n,0) = C(n,n) = 1.
Symmetry: C(n,k) = C(n, n−k). Boundary: C(n,0) = C(n,n) = 1.
Beispiel: Aus 10 Bewerbern 3 auswählen → C(10,3) = 10!/(3!·7!) = 720/6 = 120 Möglichkeiten. Symmetrie: C(10,3) = C(10,7) = 120. Randwerte: C(n,0) = C(n,n) = 1 (nichts wählen oder alles wählen — nur eine Möglichkeit).
Example: choose 3 from 10 applicants → C(10,3) = 10!/(3!·7!) = 720/6 = 120 possibilities. Symmetry: C(10,3) = C(10,7) = 120. Edge cases: C(n,0) = C(n,n) = 1 (choose nothing or everything — only one way).

14.3 Fakultät und Binomischer Lehrsatz

14.3 Factorial and Binomial Theorem

Fakultät und Stirling-ApproximationFactorial and Stirling's Approximation
n! = 1 · 2 · 3 · … · n  0! = 1
n! ≈ 2πn · nen  (Stirling)
n! wächst extrem schnell: 10! = 3.628.800, 20! ≈ 2.4·10¹⁸ (überschreitet 64-Bit-Integer). Stirling-Formel für Abschätzungen bei großen n, z.B. in der Entropieberechnung.
n! grows extremely fast: 10! = 3,628,800, 20! ≈ 2.4·10¹⁸ (exceeds 64-bit integer). Stirling's formula for estimates at large n, e.g., in entropy calculations.
n! = n·(n−1)·…·2·1 (Fakultät), 0! = 1 (per Definition). Stirling: Näherung für große n, relative Genauigkeit besser als 1% ab n ≥ 10.
n! = n·(n−1)·…·2·1 (factorial), 0! = 1 (by definition). Stirling: approximation for large n, relative accuracy better than 1% for n ≥ 10.
☰ Inhalt ☰ Contents
Kapitel 15Chapter 15WahrscheinlichkeitsrechnungProbability Theory
Kapitel 15Chapter 15

Wahrscheinlichkeitsrechnung 📘

Probability Theory 📘

15.1 Axiome und Rechenregeln

15.1 Axioms and Rules

Kolmogorow-Axiome und RechenregelnKolmogorov Axioms and Rules
RegelRuleFormelFormula
WertebereichRange0 ≤ P(A) ≤ 1
Sicheres EreignisCertain eventP(Ω) = 1
GegenereignisComplementP(Ā) = 1 − P(A)
VereinigungUnionP(A ∪ B) = P(A) + P(B) − P(A ∩ B)
UnabhängigkeitIndependenceP(A ∩ B) = P(A) · P(B)
P(Regen) = 0.3 bedeutet: In 30% der Fälle regnet es. P(A oder B) = P(A) + P(B) − P(A und B) — das Minus verhindert Doppelzählung. Unabhängigkeit: P(A und B) = P(A)·P(B). Beispiel: Zwei faire Münzen → P(beide Kopf) = 0.5·0.5 = 0.25 = 25%.
P(rain) = 0.3 means: it rains in 30% of cases. P(A or B) = P(A) + P(B) − P(A and B) — the minus prevents double-counting. Independence: P(A and B) = P(A)·P(B). Example: two fair coins → P(both heads) = 0.5·0.5 = 0.25 = 25%.

15.2 Bedingte Wahrscheinlichkeit (Bayes)

15.2 Conditional Probability (Bayes)

Satz von BayesBayes' Theorem
P(A|B) = P(B|A) · P(A)P(B)
P(A|B) = Posterior (Wahrscheinlichkeit von A, gegeben B). P(B|A) = Likelihood. P(A) = Prior. P(B) = Normierung.
P(A|B) = posterior (probability of A given B). P(B|A) = likelihood. P(A) = prior. P(B) = normalization.
Alltagsbeispiel: Ein Test für eine seltene Krankheit (1 von 1000) ist zu 99% genau. Du testest positiv — wie wahrscheinlich bist du krank? Intuition sagt 99%, Bayes sagt: nur ~9%! Weil die Krankheit so selten ist, sind die meisten positiven Tests falsch-positiv. Bayes korrigiert diese Intuitionsfalle.
Everyday example: A test for a rare disease (1 in 1000) is 99% accurate. You test positive — how likely are you sick? Intuition says 99%, Bayes says: only ~9%! Because the disease is so rare, most positive tests are false positives. Bayes corrects this intuition trap.

15.3 Zufallsvariablen und Verteilungen

15.3 Random Variables and Distributions

Diskrete und stetige ZufallsvariablenDiscrete and Continuous Random Variables
DiskretDiscreteStetigContinuous
WahrscheinlichkeitProbabilityP(X = x) = p(x)P(a ≤ X ≤ b) = ∫ab f(x) dx
NormierungNormalizationΣ p(xi) = 1−∞ f(x) dx = 1
VerteilungsfunktionCDFF(x) = Σxi≤x p(xi)F(x) = ∫−∞x f(t) dt
Diskret = abzählbar (Würfel: 1,2,3,4,5,6). Stetig = jeder Wert möglich (Temperatur: 20.3714...°C). Bei diskret: P(X=3) hat einen Wert. Bei stetig: P(X=genau 20.37140000°C) = 0! Stattdessen: P(20 ≤ X ≤ 21) = Fläche unter der Kurve.
Discrete = countable (die: 1,2,3,4,5,6). Continuous = any value possible (temperature: 20.3714...°C). For discrete: P(X=3) has a value. For continuous: P(X=exactly 20.37140000°C) = 0! Instead: P(20 ≤ X ≤ 21) = area under curve.

15.4 Erwartungswert und Varianz

15.4 Expected Value and Variance

Erwartungswert und VarianzExpected Value and Variance
E(X) = μ = ni=1 xi · p(xi)  bzw.  −∞ x · f(x) dx
Var(X) = σ² = E((X−μ)²) = E(X²) − (E(X))²
σ = Var(X) (Standardabweichung)
E(X) = Erwartungswert (gewichteter Mittelwert), μ = Erwartungswert, Var(X) = Varianz (mittlere quadratische Abweichung), σ = Standardabweichung = √Var, p(xi) = Wahrscheinlichkeit des Wertes xi, f(x) = Dichtefunktion (stetig).
E(X) = expected value (weighted mean), μ = expected value, Var(X) = variance (mean squared deviation), σ = standard deviation = √Var, p(xi) = probability of value xi, f(x) = density function (continuous).
Beispiel Würfel: E(X) = (1+2+3+4+5+6)/6 = 3.5. Var(X) = E(X²)−(E(X))² = 91/6 − 12.25 = 2.917. σ = √2.917 ≈ 1.71. Bedeutung: Ein typischer Wurf weicht um ca. 1.7 Augen vom Mittelwert 3.5 ab.
Example die roll: E(X) = (1+2+3+4+5+6)/6 = 3.5. Var(X) = E(X²)−(E(X))² = 91/6 − 12.25 = 2.917. σ = √2.917 ≈ 1.71. Meaning: a typical roll deviates about 1.7 eyes from the mean 3.5.
☰ Inhalt ☰ Contents
Kapitel 16Chapter 16Wichtige VerteilungenImportant Distributions
Kapitel 16Chapter 16

Wichtige Verteilungen 📘

Important Distributions 📘

16.1 Diskret: Binomial, Poisson, Hypergeometrisch

16.1 Discrete: Binomial, Poisson, Hypergeometric

Diskrete VerteilungenDiscrete Distributions
VerteilungDistributionP(X = k)E(X)Var(X)
Binomial B(n,p)C(n,k) · pk · (1−p)n−kn·pn·p·(1−p)
Poisson P(λ)e−λ · λk / k!λλ
Geometrisch(1−p)k−1 · p1/p(1−p)/p²
Beispiel Binomial: 10 Münzwürfe, P(genau 3× Kopf)? C(10,3)·0.5³·0.5⁷ = 120·0.0078 = 0.117 ≈ 11.7%. Poisson: Durchschnittlich 5 E-Mails/Stunde, P(genau 8)? e⁻⁵·5⁸/8! = 0.065 ≈ 6.5%. Geometrisch: P(erster Sechser beim k-ten Wurf) = (5/6)^(k−1) · 1/6.
Example binomial: 10 coin flips, P(exactly 3 heads)? C(10,3)·0.5³·0.5⁷ = 120·0.0078 = 0.117 ≈ 11.7%. Poisson: avg 5 emails/hour, P(exactly 8)? e⁻⁵·5⁸/8! = 0.065 ≈ 6.5%. Geometric: P(first six on k-th roll) = (5/6)^(k−1) · 1/6.

16.2 Stetig: Normal, Exponential, Gleichverteilung

16.2 Continuous: Normal, Exponential, Uniform

Stetige VerteilungenContinuous Distributions
VerteilungDistributionf(x)E(X)Var(X)
Normal N(μ,σ²)(1/(σ√(2π))) · e−(x−μ)²/(2σ²)μσ²
Exponential Exp(λ)λ · e−λx (x ≥ 0)1/λ1/λ²
Gleichverteilung U(a,b)Uniform U(a,b)1/(b−a)(a+b)/2(b−a)²/12
Normalverteilung: Die Glockenkurve — je weiter vom Mittelwert, desto unwahrscheinlicher. Körpergröße, IQ, Messfehler. Exponentialverteilung: 'gedächtnislos' — die Wahrscheinlichkeit, dass ein Bauteil in den nächsten 5 Minuten ausfällt, ist immer gleich, egal wie alt es ist.
Normal: the bell curve — the further from the mean, the less likely. Height, IQ, measurement errors. Exponential: 'memoryless' — the probability of a component failing in the next 5 minutes is always the same, regardless of age.
Normalverteilung — Sigma-RegelnNormal Distribution — Sigma Rules
IntervallIntervalWahrscheinlichkeitProbability
μ ± 1σ68.27 %
μ ± 2σ95.45 %
μ ± 3σ99.73 %
μ ± 6σ99.9999998 % (Six Sigma)
Beispiel: Schraubenlänge μ=50mm, σ=0.1mm. 68% liegen zwischen 49.9 und 50.1mm (±1σ). 95.45% zwischen 49.8 und 50.2mm (±2σ). 99.73% zwischen 49.7 und 50.3mm (±3σ). Alles außerhalb ±3σ ist Ausschuss. Six Sigma: ±6σ = nur 3.4 Fehler pro Million Teile!
Example: screw length μ=50mm, σ=0.1mm. 68% are between 49.9 and 50.1mm (±1σ). 95.45% between 49.8 and 50.2mm (±2σ). 99.73% between 49.7 and 50.3mm (±3σ). Anything outside ±3σ is rejected. Six Sigma: ±6σ = only 3.4 defects per million parts!

16.3 χ²-, t- und F-Verteilung

16.3 χ², t and F Distribution

TestverteilungenTest Distributions
VerteilungDistributionAnwendungApplicationParameterParameter
χ² (Chi-Quadrat)Anpassungstest, UnabhängigkeitstestGoodness-of-fit, independence testdf = Freiheitsgradedf = degrees of freedom
t (Student)Mittelwerttest bei kleinen StichprobenMean test for small samplesdf = n − 1
F (Fisher)Varianzvergleich, ANOVAVariance comparison, ANOVAdf₁, df₂
Beispiel t-Test: Neue Maschine soll schneller sein. 20 Messungen: Mittel=4.8s, s=0.5s. Alte Maschine: 5.0s. Ist der Unterschied real oder Zufall? t = (5.0−4.8)/(0.5/√20) = 1.79. Nachschlagen: p ≈ 0.045 < 0.05 → signifikant, neue Maschine ist wirklich schneller!
Example t-test: new machine supposed to be faster. 20 measurements: mean=4.8s, s=0.5s. Old machine: 5.0s. Is the difference real or chance? t = (5.0−4.8)/(0.5/√20) = 1.79. Look up: p ≈ 0.045 < 0.05 → significant, new machine is really faster!
☰ Inhalt ☰ Contents
Kapitel 17Chapter 17Statistik und SchätzerStatistics and Estimators
Kapitel 17Chapter 17

Statistik und Schätzer 📘

Statistics and Estimators 📘

17.1 Deskriptive Statistik

17.1 Descriptive Statistics

Lagemaße und StreuungsmaßeMeasures of Location and Dispersion
MaßMeasureFormelFormula
Arithm. MittelArithmetic meanx̄ = (1/n) · Σxi
MedianMittlerer Wert der sortierten ReiheMiddle value of sorted series
Varianz (Stichprobe)Variance (sample)s² = (1/(n−1)) · Σ(xi−x̄)²
StandardabweichungStandard deviations = √(s²)
n−1 statt n: Bessel-Korrektur für erwartungstreue Schätzung der Populationsvarianz aus Stichprobendaten.
n−1 instead of n: Bessel's correction for unbiased estimation of population variance from sample data.
Beispiel: Gehälter [30k, 35k, 32k, 28k, 500k]. Mittelwert = 125k (durch den CEO verzerrt!). Median = 32k (der mittlere Wert — viel realistischer). Falle: Python numpy.var() teilt durch n, numpy.var(ddof=1) durch n−1. Bei kleinen Stichproben macht das einen Unterschied!
Example: salaries [30k, 35k, 32k, 28k, 500k]. Mean = 125k (skewed by the CEO!). Median = 32k (the middle value — much more realistic). Trap: Python numpy.var() divides by n, numpy.var(ddof=1) by n−1. For small samples this matters!

17.2 Konfidenzintervalle

17.2 Confidence Intervals

Konfidenzintervall für den MittelwertConfidence Interval for the Mean
x̄ ± zα/2 · σn  (σ bekannt)
x̄ ± tα/2, n−1 · sn  (σ unbekannt)
zα/2 = Quantil der Standardnormalverteilung (z.B. 1.96 für 95%). n = Stichprobengröße.
zα/2 = quantile of standard normal distribution (e.g., 1.96 for 95%). n = sample size.
Gibt den Bereich an, in dem der wahre Mittelwert mit einer bestimmten Wahrscheinlichkeit liegt. Breite sinkt mit √n — vierfache Stichprobe halbiert die Breite.
Gives the range in which the true mean lies with a given probability. Width decreases with √n — quadrupling the sample halves the width.

17.3 Hypothesentests

17.3 Hypothesis Tests

Ablauf eines HypothesentestsHypothesis Test Procedure
SchrittStepBeschreibungDescription
1H₀ (Nullhypothese) und H₁ (Alternative) formulierenFormulate H₀ (null hypothesis) and H₁ (alternative)
2Signifikanzniveau α festlegen (typisch: 0.05 oder 0.01)Set significance level α (typical: 0.05 or 0.01)
3Teststatistik berechnen (z, t, χ², F)Compute test statistic (z, t, χ², F)
4p-Wert bestimmen oder mit kritischem Wert vergleichenDetermine p-value or compare with critical value
5p < α → H₀ ablehnen; p ≥ α → H₀ nicht ablehnenp < α → reject H₀; p ≥ α → do not reject H₀
Fehler 1. Art (α): H₀ fälschlich abgelehnt. Fehler 2. Art (β): H₀ fälschlich beibehalten. A/B-Tests in Software nutzen dieses Framework.
Type I error (α): H₀ falsely rejected. Type II error (β): H₀ falsely retained. A/B tests in software use this framework.

17.4 Regression und Korrelation

17.4 Regression and Correlation

Lineare Regression und KorrelationLinear Regression and Correlation
ŷ = a + b·x   b = Σ(xi−x̄)(yi−ȳ)Σ(xi−x̄)²a = ȳ − b·x̄
r = Σ(xi−x̄)(yi−ȳ)Σ(xi−x̄)² · Σ(yi−ȳ)²
r = Korrelationskoeffizient (−1 ≤ r ≤ 1). = Bestimmtheitsmaß (Anteil erklärter Varianz).
r = correlation coefficient (−1 ≤ r ≤ 1). = coefficient of determination (proportion of explained variance).
Steigung b und Achsenabschnitt a der besten Geraden durch die Datenpunkte. r = ±1: perfekte Korrelation. r ≈ 0: kein linearer Zusammenhang (kann trotzdem nichtlinear sein!).
Slope b and intercept a of the best line through data points. r = ±1: perfect correlation. r ≈ 0: no linear relationship (could still be nonlinear!).
☰ Inhalt ☰ Contents
Kapitel 18Chapter 18GraphentheorieGraph Theory
Kapitel 18Chapter 18

Graphentheorie 📘

Graph Theory 📘

18.1 Grundbegriffe und Darstellungen

18.1 Basic Concepts and Representations

GraphendarstellungenGraph Representations
DarstellungRepresentationSpeicherSpaceKantenzugriffEdge AccessBeste fürBest for
AdjazenzmatrixAdjacency matrixO(V²)O(1)Dichte GraphenDense graphs
AdjazenzlisteAdjacency listO(V+E)O(deg)Dünne GraphenSparse graphs
KantenlisteEdge listO(E)O(E)Kruskal, SortierungKruskal, sorting
V = Knotenanzahl, E = Kantenanzahl, deg = Grad des Knotens.
V = vertex count, E = edge count, deg = degree of vertex.
Beispiel: Social Network mit 1 Mrd. Nutzern, jeder hat ~200 Freunde. Adjazenzmatrix: 10¹⁸ Einträge = unmöglich! Adjazenzliste: 200 Mrd. Einträge = machbar. Faustregel: Kanten < V²/10 → Adjazenzliste. Sonst → Matrix.
Example: social network with 1 billion users, each ~200 friends. Adjacency matrix: 10¹⁸ entries = impossible! Adjacency list: 200 billion entries = feasible. Rule of thumb: edges < V²/10 → adjacency list. Otherwise → matrix.
Handshaking-LemmaHandshaking Lemma
|V|i=1 deg(vi) = 2 · |E|
Die Summe aller Knotengrade ist immer gerade (doppelte Kantenzahl). Daraus folgt: Die Anzahl der Knoten mit ungeradem Grad ist immer gerade.
The sum of all vertex degrees is always even (twice the edge count). It follows: the number of vertices with odd degree is always even.
deg(v) = Grad des Knotens v (Anzahl anliegender Kanten), |E| = Kantenanzahl. Jede Kante trägt zu genau zwei Knotengraden bei, daher ist die Summe aller Grade gerade.
deg(v) = degree of vertex v (number of incident edges), |E| = number of edges. Each edge contributes to exactly two vertex degrees, so the sum of all degrees is even.

18.2 Bäume und Wälder

18.2 Trees and Forests

BaumeigenschaftenTree Properties
EigenschaftPropertyFormel / AussageFormula / Statement
KantenEdges|E| = |V| − 1
Eindeutiger PfadUnique pathZwischen je 2 Knoten genau ein PfadExactly one path between any 2 vertices
Binärbaum-HöheBinary tree heighth ≥ ⌈log₂(n+1)⌉ − 1
Vollständiger BinärbaumComplete binary tree2h+1 − 1 Knoten bei Höhe h2h+1 − 1 nodes at height h
Merke: Ein Baum mit n Knoten hat immer genau n−1 Kanten. Binärbaum: Jeder Knoten hat max. 2 Kinder. Höhe h → max. 2^(h+1)−1 Knoten. Beispiel: Binärbaum Höhe 10 → max. 2047 Knoten → binäre Suche in 1023 Werten braucht max. 10 Vergleiche.
Remember: a tree with n nodes always has exactly n−1 edges. Binary tree: each node has max. 2 children. Height h → max. 2^(h+1)−1 nodes. Example: binary tree height 10 → max. 2047 nodes → binary search in 1023 values needs max. 10 comparisons.

18.3 Euler- und Hamilton-Pfade

18.3 Euler and Hamiltonian Paths

Euler- und Hamilton-KriterienEuler and Hamiltonian Criteria
Euler-PfadEuler pathEuler-KreisEuler circuit
BesuchtVisitsJede Kante genau 1×Every edge exactly onceJede Kante genau 1×, zurück zum StartEvery edge exactly once, back to start
BedingungConditionGenau 0 oder 2 Knoten mit ungeradem GradExactly 0 or 2 vertices with odd degreeAlle Knoten geraden GradAll vertices even degree
Hamilton-Pfad: Besucht jeden Knoten genau einmal. Kein effizienter Existenztest bekannt (NP-vollständig).
Hamiltonian path: Visits every vertex exactly once. No efficient existence test known (NP-complete).
Euler: Lösbar in O(E), Anwendung in Schaltungslayout (Routing), DNA-Sequenzierung. Hamilton: NP-vollständig, verwandt mit dem Travelling Salesman Problem (TSP).
Euler: solvable in O(E), applied in circuit layout (routing), DNA sequencing. Hamiltonian: NP-complete, related to the Travelling Salesman Problem (TSP).

18.4 Planarität und Färbung

18.4 Planarity and Coloring

Eulersche Polyederformel und FärbungEuler's Polyhedron Formula and Coloring
V − E + F = 2  (Euler-Formel für planare Graphen)
E ≤ 3V − 6  (notwendig für Planarität, V ≥ 3)
F = Anzahl Flächen (inkl. äußere). Vierfarbensatz: Jeder planare Graph ist mit höchstens 4 Farben färbbar.
F = number of faces (incl. outer). Four Color Theorem: Every planar graph can be colored with at most 4 colors.
Planarität: Kann der Graph kreuzungsfrei gezeichnet werden? K₅ und K₃,₃ sind die kleinsten nicht-planaren Graphen (Kuratowski). Anwendung: PCB-Routing, Kartenfärbung.
Planarity: can the graph be drawn without crossings? K₅ and K₃,₃ are the smallest non-planar graphs (Kuratowski). Applied in PCB routing, map coloring.
☰ Inhalt ☰ Contents
Kapitel 19Chapter 19ZahlentheorieNumber Theory
Kapitel 19Chapter 19

Zahlentheorie 📘

Number Theory 📘

19.1 Teilbarkeit und Primzahlen

19.1 Divisibility and Primes

Fundamentalsatz der ArithmetikFundamental Theorem of Arithmetic
n = p₁a₁ · p₂a₂ · … · pkak  (eindeutige Primfaktorzerlegung)
Anzahl Teiler: τ(n) = (a₁+1)·(a₂+1)·…·(ak+1). Primzahlsatz: π(n) ≈ n / ln(n).
Number of divisors: τ(n) = (a₁+1)·(a₂+1)·…·(ak+1). Prime number theorem: π(n) ≈ n / ln(n).
Beispiel: 7·11 = 77 (einfach!). Aber gegeben nur 77: Was sind die Faktoren? Man muss probieren. Bei 300-stelligen Zahlen dauert das mit den schnellsten Computern Milliarden Jahre — darauf basiert RSA-Verschlüsselung. Primzahlsatz: Unter den ersten n Zahlen sind etwa n/ln(n) Primzahlen.
Example: 7·11 = 77 (easy!). But given only 77: what are the factors? You have to try. For 300-digit numbers, the fastest computers take billions of years — RSA encryption is based on this. Prime number theorem: among the first n numbers, about n/ln(n) are prime.

19.2 Modulare Arithmetik

19.2 Modular Arithmetic

Modulare RechenregelnModular Arithmetic Rules
OperationOperationFormelFormula
AdditionAddition(a + b) mod n = ((a mod n) + (b mod n)) mod n
MultiplikationMultiplication(a · b) mod n = ((a mod n) · (b mod n)) mod n
PotenzPowerab mod n → Square-and-Multiply
Achtung C/JS: (-5) % 3 kann −2 ergeben. Sichere Variante: ((x % n) + n) % n.
Caution C/JS: (-5) % 3 may return −2. Safe variant: ((x % n) + n) % n.
Beispiel: 17 mod 5 = 2 (Rest bei Division). Uhrenrechnung: 10:00 + 5 Stunden = 15:00 = 3:00 (mod 12). In der Kryptographie: Riesige Zahlen modulo einer Primzahl rechnen — schnelle Potenzierung mit Square-and-Multiply. C-Falle: (−7) % 3 kann −1 statt 2 ergeben!
Example: 17 mod 5 = 2 (remainder of division). Clock arithmetic: 10:00 + 5 hours = 15:00 = 3:00 (mod 12). In cryptography: compute huge numbers modulo a prime — fast exponentiation with square-and-multiply. C trap: (−7) % 3 may return −1 instead of 2!

19.3 Erweiterter euklidischer Algorithmus

19.3 Extended Euclidean Algorithm

GGT und erweiterter EuklidGCD and Extended Euclid
ggT(a, b) = ggT(b, a mod b)  (Euklid)
ggT(a, b) = x·a + y·b  (erweiterter Euklid, Bézout)
Beispiel: ggT(12, 8)? 12 = 1·8 + 4, 8 = 2·4 + 0 → ggT = 4. Erweitert: ggT(7, 5)? 7 = 1·5 + 2, 5 = 2·2 + 1 → ggT = 1. Rückwärts: 1 = 5 − 2·2 = 5 − 2·(7−5) = 3·5 − 2·7. Also: 7⁻¹ mod 5 = −2 mod 5 = 3. Probe: 7·3 = 21 = 4·5 + 1 ✓
Example: gcd(12, 8)? 12 = 1·8 + 4, 8 = 2·4 + 0 → gcd = 4. Extended: gcd(7, 5)? 7 = 1·5 + 2, 5 = 2·2 + 1 → gcd = 1. Backward: 1 = 5 − 2·2 = 5 − 2·(7−5) = 3·5 − 2·7. So: 7⁻¹ mod 5 = −2 mod 5 = 3. Check: 7·3 = 21 = 4·5 + 1 ✓
gcd(a,b) = größter gemeinsamer Teiler, a, b = ganze Zahlen. Der erweiterte Euklid findet x, y mit gcd(a,b) = ax + by. Anwendung: modulare Inverse für RSA.
gcd(a,b) = greatest common divisor, a, b = integers. Extended Euclid finds x, y with gcd(a,b) = ax + by. Application: modular inverse for RSA.

19.4 Euler-Funktion φ(n)

19.4 Euler's Totient Function φ(n)

Euler-Funktion und Satz von EulerEuler's Totient and Euler's Theorem
φ(n) = n · p|n (1 − 1/p)
aφ(n) ≡ 1 (mod n)  wenn ggT(a,n) = 1  (Euler)
ap−1 ≡ 1 (mod p)  wenn p prim  (Fermat)
Spezialfall: φ(p) = p−1 für Primzahlen. RSA: φ(n) = φ(p·q) = (p−1)·(q−1).
Special case: φ(p) = p−1 for primes. RSA: φ(n) = φ(p·q) = (p−1)·(q−1).
Beispiel: φ(12) = |{1,5,7,11}| = 4 (die Zahlen 1-12 die keinen gemeinsamen Teiler mit 12 haben). Für Primzahlen einfach: φ(7) = 6. Für RSA: n = p·q → φ(n) = (p−1)(q−1). Beispiel: p=5, q=7, n=35, φ(35) = 4·6 = 24. Satz von Euler: a²⁴ ≡ 1 (mod 35) für ggT(a,35)=1.
Example: φ(12) = |{1,5,7,11}| = 4 (numbers 1-12 with no common factor with 12). For primes simple: φ(7) = 6. For RSA: n = p·q → φ(n) = (p−1)(q−1). Example: p=5, q=7, n=35, φ(35) = 4·6 = 24. Euler's theorem: a²⁴ ≡ 1 (mod 35) for gcd(a,35)=1.
☰ Inhalt ☰ Contents
Kapitel 20Chapter 20Logik und BeweistechnikenLogic and Proof Techniques
Kapitel 20Chapter 20

Logik und Beweistechniken 🌱

Logic and Proof Techniques 🌱

20.1 Aussagenlogik

20.1 Propositional Logic

Logische VerknüpfungenLogical Connectives
NameNameSymbolSymbolSprechweiseReading
NegationNegation¬pnicht pnot p
KonjunktionConjunctionp ∧ qp und qp and q
DisjunktionDisjunctionp ∨ qp oder qp or q
ImplikationImplicationp → qwenn p dann qif p then q
ÄquivalenzEquivalencep ↔ qp genau dann wenn qp if and only if q
Tautologie: immer wahr. Kontradiktion: immer falsch. Kontraposition: (p → q) ↔ (¬q → ¬p).
Tautology: always true. Contradiction: always false. Contrapositive: (p → q) ↔ (¬q → ¬p).
Grundlage formaler Spezifikationen, SVA-Assertions in FPGAs und SAT-Solver. Die Implikation p → q ist äquivalent zu ¬p ∨ q (wichtig für formale Verifikation).
Foundation of formal specifications, SVA assertions in FPGAs, and SAT solvers. Implication p → q is equivalent to ¬p ∨ q (important for formal verification).

20.2 Prädikatenlogik

20.2 Predicate Logic

QuantorenQuantifiers
∀x: P(x)  (für alle x gilt P)
∃x: P(x)  (es existiert ein x mit P)
¬(∀x: P(x)) ↔ ∃x: ¬P(x)
¬(∃x: P(x)) ↔ ∀x: ¬P(x)
Quantoren-Negation ist ein haeufiger Fehler: nicht-alle ist nicht gleich keiner, sondern mindestens-einer-nicht. Formale Spezifikation in SVA: assert property.
Quantifier negation is a common error: not-all does not mean none, but at-least-one-not. Formal specification in SVA: assert property.
= Allquantor (für alle), = Existenzquantor (es gibt mindestens ein), P(x) = Prädikat (Aussage über x). Negation: ¬∀x P(x) ⟺ ∃x ¬P(x).
= universal quantifier (for all), = existential quantifier (there exists), P(x) = predicate (statement about x). Negation: ¬∀x P(x) ⟺ ∃x ¬P(x).

20.3 Beweismethoden

20.3 Proof Methods

BeweistechnikenProof Techniques
MethodeMethodVorgehenApproach
Direkter BeweisDirect proofVoraussetzung → logische Schritte → BehauptungAssumption → logical steps → claim
WiderspruchsbeweisProof by contradictionAnnahme ¬B → Widerspruch → B muss geltenAssume ¬B → contradiction → B must hold
KontrapositionContrapositive¬q → ¬p beweisen statt p → qProve ¬q → ¬p instead of p → q
GegenbeispielCounterexampleEin Gegenbeispiel widerlegt ∀-AussageOne counterexample disproves ∀-statement
In der formalen Verifikation (SymbiYosys): SAT = Gegenbeispiel gefunden (Aussage widerlegt), UNSAT = kein Gegenbeispiel möglich (Aussage bewiesen).
In formal verification (SymbiYosys): SAT = counterexample found (statement disproved), UNSAT = no counterexample possible (statement proved).

20.4 Vollständige Induktion

20.4 Mathematical Induction

Vollständige InduktionMathematical Induction
Induktionsanfang (IA): Zeige A(n₀) (z.B. n₀ = 0 oder 1).
Base case: Show A(n₀) (e.g., n₀ = 0 or 1).
Induktionsschritt (IS): Zeige A(n) → A(n+1) für beliebiges n ≥ n₀.
Inductive step: Show A(n) → A(n+1) for arbitrary n ≥ n₀.
Schluss: A(n) gilt für alle n ≥ n₀.
Conclusion: A(n) holds for all n ≥ n₀.
Standard-Beweismethode für Aussagen über natürliche Zahlen. Anwendung: Korrektheit rekursiver Algorithmen, Summenformeln, Komplexitätsbeweise. Starke Induktion: A(0)∧…∧A(n) → A(n+1).
Standard proof method for statements about natural numbers. Applied for: correctness of recursive algorithms, sum formulas, complexity proofs. Strong induction: A(0)∧…∧A(n) → A(n+1).
☰ Inhalt ☰ Contents
Kapitel 21Chapter 21Rekursion und RekurrenzrelationenRecursion and Recurrence Relations
Kapitel 21Chapter 21

Rekursion und Rekurrenzrelationen 📘

Recursion and Recurrence Relations 📘

21.1 Lineare Rekurrenzen

21.1 Linear Recurrences

Lineare RekurrenzrelationLinear Recurrence Relation
an = c₁·an−1 + c₂·an−2 + … + ck·an−k
Fibonacci: Fn = Fn−1 + Fn−2, F₀ = 0, F₁ = 1. Geschlossene Form: Fn = (φⁿ − ψⁿ)/√5 mit φ = (1+√5)/2 ≈ 1.618 (Goldener Schnitt).
Fibonacci: Fn = Fn−1 + Fn−2, F₀ = 0, F₁ = 1. Closed form: Fn = (φⁿ − ψⁿ)/√5 with φ = (1+√5)/2 ≈ 1.618 (golden ratio).
Fibonacci-Zahlen in Algorithmen (Fibonacci-Heap), Natur (Blattstellungen), Datenstrukturen. Lösungsmethode: Charakteristisches Polynom → Nullstellen → geschlossene Form.
Fibonacci numbers in algorithms (Fibonacci heap), nature (leaf arrangements), data structures. Solution: characteristic polynomial → roots → closed form.

21.2 Master-Theorem

21.2 Master Theorem

Master-Theorem für Divide-and-ConquerMaster Theorem for Divide and Conquer
T(n) = a · T(n/b) + f(n)
FallCaseBedingungConditionT(n) =
1f(n) = O(nc), c < logb aΘ(nlogb a)
2f(n) = Θ(nlogb a)Θ(nlogb a · log n)
3f(n) = Ω(nc), c > logb aΘ(f(n))
a = Anzahl Teilprobleme, b = Teilungsfaktor, f(n) = Aufwand für Teilen/Zusammenführen.
a = number of subproblems, b = division factor, f(n) = cost of dividing/combining.
Mergesort: T(n) = 2T(n/2) + O(n) → Fall 2 → O(n log n). Binäre Suche: T(n) = T(n/2) + O(1) → Fall 1 → O(log n). Karatsuba: T(n) = 3T(n/2) + O(n) → O(n^1.585).
Mergesort: T(n) = 2T(n/2) + O(n) → Case 2 → O(n log n). Binary search: T(n) = T(n/2) + O(1) → Case 1 → O(log n). Karatsuba: T(n) = 3T(n/2) + O(n) → O(n^1.585).

21.3 Erzeugende Funktionen

21.3 Generating Functions

Erzeugende FunktionGenerating Function
G(x) = n=0 an · xn
Codiert die Folge (a₀, a₁, a₂, …) als formale Potenzreihe. Fibonacci: G(x) = x / (1 − x − x²).
Encodes the sequence (a₀, a₁, a₂, …) as a formal power series. Fibonacci: G(x) = x / (1 − x − x²).
Mächtiges Werkzeug für Abzählprobleme und Rekurrenzen. Faltung zweier Folgen → Multiplikation der erzeugenden Funktionen. Verwandt mit der Z-Transformation.
Powerful tool for counting problems and recurrences. Convolution of two sequences → multiplication of generating functions. Related to the Z-transform.
☰ Inhalt ☰ Contents
Kapitel 22Chapter 22Interpolation und ApproximationInterpolation and Approximation
Kapitel 22Chapter 22

Interpolation und Approximation 📘

Interpolation and Approximation 📘

22.1 Lagrange- und Newton-Interpolation

22.1 Lagrange and Newton Interpolation

Lagrange-InterpolationLagrange Interpolation
P(x) = ni=0 yi · nj=0, j≠i x − xjxi − xj
Polynom n-ten Grades durch n+1 Stützstellen. Achtung: Runge-Phänomen bei hohem Grad und äquidistanten Stützstellen — Splines sind meist besser.
Polynomial of degree n through n+1 support points. Caution: Runge phenomenon with high degree and equidistant points — splines are usually better.
(xi, yi) = Stützstellen, n = Grad des Polynoms (n+1 Punkte), Li(x) = Lagrange-Basispolynome. Das Ergebnis ist ein Polynom n-ten Grades durch alle Stützstellen.
(xi, yi) = data points, n = polynomial degree (n+1 points), Li(x) = Lagrange basis polynomials. Result is a degree-n polynomial through all data points.

22.2 Spline-Interpolation

22.2 Spline Interpolation

Kubische SplinesCubic Splines
Stückweise kubische Polynome Si(x) = ai + bi(x−xi) + ci(x−xi)² + di(x−xi)³ mit:
Piecewise cubic polynomials Si(x) = ai + bi(x−xi) + ci(x−xi)² + di(x−xi)³ with:
1. Interpolation: Si(xi) = yi   2. Stetigkeit von S, S′, S″ an den Nahtstellen.
1. Interpolation: Si(xi) = yi   2. Continuity of S, S′, S″ at knot points.
Glatte Kurven ohne Oszillationen. Anwendung: CNC-Bahnplanung, Schriftdesign (Fonts), Signal-Rekonstruktion, Trajektorienplanung für Stewart-Plattform.
Smooth curves without oscillations. Applied in CNC path planning, font design, signal reconstruction, trajectory planning for Stewart platform.

22.3 Methode der kleinsten Quadrate

22.3 Least Squares Method

Lineare und nichtlineare RegressionLinear and Nonlinear Regression
min mi=1 (yi − f(xi, θ))²
Linear: f = Ax, Lösung: x = (AᵀA)⁻¹Aᵀb. Nichtlinear: Iterative Verfahren (Gauß-Newton, Levenberg-Marquardt).
Linear: f = Ax, solution: x = (AᵀA)⁻¹Aᵀb. Nonlinear: Iterative methods (Gauss-Newton, Levenberg-Marquardt).
Universelle Methode zur Kurvenanpassung. Kalibrierung der Stewart-Plattform: 54 Unbekannte aus 90+ Messungen mit Levenberg-Marquardt optimiert.
Universal method for curve fitting. Stewart platform calibration: 54 unknowns from 90+ measurements optimized with Levenberg-Marquardt.

22.4 Levenberg-Marquardt-Algorithmus

22.4 Levenberg-Marquardt Algorithm

Levenberg-MarquardtLevenberg-Marquardt
(JTJ + λ·I) · Δθ = JT · r
J = Jacobi-Matrix der Residuen, r = Residuenvektor, λ = Dämpfungsparameter. λ groß → Gradientenabstieg, λ klein → Gauß-Newton.
J = Jacobian of residuals, r = residual vector, λ = damping parameter. λ large → gradient descent, λ small → Gauss-Newton.
Robustes nichtlineares Optimierungsverfahren. In scipy: scipy.optimize.least_squares(method='lm'). Konvergenz-Indikator: RMS-Fehler < 0.1 mm bei Kalibrierung.
Robust nonlinear optimization method. In scipy: scipy.optimize.least_squares(method='lm'). Convergence indicator: RMS error < 0.1 mm for calibration.
☰ Inhalt ☰ Contents
Kapitel 23Chapter 23Numerische Integration und DifferentiationNumerical Integration and Differentiation
Kapitel 23Chapter 23

Numerische Integration und Differentiation 📘

Numerical Integration and Differentiation 📘

23.1 Trapez- und Simpson-Regel

23.1 Trapezoidal and Simpson's Rule

Numerische IntegrationsformelnNumerical Integration Formulas
MethodeMethodFormel (n Intervalle, h = (b−a)/n)Formula (n intervals, h = (b−a)/n)FehlerError
TrapezregelTrapezoidalh/2 · [f(a) + 2·Σf(xi) + f(b)]O(h²)
Simpson 1/3h/3 · [f(a) + 4·Σf(xodd) + 2·Σf(xeven) + f(b)]O(h⁴)
Simpson ist genauer als Trapez bei gleichem Aufwand. Für glatte Funktionen reichen wenige Stützstellen. Gauß-Quadratur ist optimal für Polynome.
Simpson is more accurate than trapezoidal for the same effort. For smooth functions, few support points suffice. Gauss quadrature is optimal for polynomials.

23.2 Numerische Differentiation

23.2 Numerical Differentiation

DifferenzenquotientenFinite Differences
TypTypeFormelFormulaFehlerError
VorwärtsdifferenzForward differencef′(x) ≈ (f(x+h) − f(x)) / hO(h)
RückwärtsdifferenzBackward differencef′(x) ≈ (f(x) − f(x−h)) / hO(h)
Zentrale DifferenzCentral differencef′(x) ≈ (f(x+h) − f(x−h)) / (2h)O(h²)
Zentrale Differenz ist doppelt so genau wie Vorwärts-/Rückwärtsdifferenz. Im digitalen PID-Regler: D-Anteil = (e[n] − e[n−1]) / Ts (Rückwärtsdifferenz).
Central difference is twice as accurate as forward/backward. In digital PID controller: D-term = (e[n] − e[n−1]) / Ts (backward difference).

23.3 Fehlerabschätzung

23.3 Error Estimation

FehlerartenError Types
FehlerartError TypeDefinitionDefinition
Absoluter FehlerAbsolute error|x̃ − x|
Relativer FehlerRelative error|x̃ − x| / |x|
RundungsfehlerRounding errorDurch endliche Stellenzahl (Maschinenepsilon)Due to finite precision (machine epsilon)
AbbruchfehlerTruncation errorDurch endliche Reihenentwicklung / DiskretisierungDue to finite series expansion / discretization
Kleines h reduziert den Abbruchfehler, verstärkt aber den Rundungsfehler. Optimales h: √ε · |x| (Vorwärtsdifferenz) bzw. ε^(1/3) · |x| (zentrale Differenz).
Small h reduces truncation error but amplifies rounding error. Optimal h: √ε · |x| (forward difference) or ε^(1/3) · |x| (central difference).
☰ Inhalt ☰ Contents
Kapitel 24Chapter 24Iterative VerfahrenIterative Methods
Kapitel 24Chapter 24

Iterative Verfahren 📘

Iterative Methods 📘

24.1 Newton-Raphson-Verfahren

24.1 Newton-Raphson Method

Newton-RaphsonNewton-Raphson
xn+1 = xn f(xn)f′(xn)
Quadratische Konvergenz (Fehler quadriert sich pro Schritt) bei gutem Startwert. Versagt bei f′(x) ≈ 0. Für Systeme: xn+1 = xn − J⁻¹·F(xn).
Quadratic convergence (error squares each step) with good starting value. Fails when f′(x) ≈ 0. For systems: xn+1 = xn − J⁻¹·F(xn).
xn = aktuelle Näherung, f(x) = Funktion deren Nullstelle gesucht wird, f'(x) = Ableitung. Konvergiert quadratisch bei einfacher Nullstelle und gutem Startwert.
xn = current approximation, f(x) = function whose root is sought, f'(x) = derivative. Converges quadratically for simple roots with good starting value.

24.2 Bisektion und Regula Falsi

24.2 Bisection and Regula Falsi

BisektionsverfahrenBisection Method
Voraussetzung: f(a)·f(b) < 0 (Vorzeichenwechsel). Algorithmus: m = (a+b)/2. Falls f(a)·f(m) < 0: b = m, sonst a = m.
Prerequisite: f(a)·f(b) < 0 (sign change). Algorithm: m = (a+b)/2. If f(a)·f(m) < 0: b = m, else a = m.
Fehler nach n Schritten:Error after n steps: |x − x*| ≤ (b−a) / 2n
Beispiel: Nullstelle von f(x) = x³−2 im Intervall [1, 2]. f(1)=−1, f(2)=6. Mitte: m=1.5, f(1.5)=1.375 > 0 → neues Intervall [1, 1.5]. Mitte: m=1.25, f(1.25)=−0.047 < 0 → [1.25, 1.5]. So halbiert sich das Intervall jedes Mal. Nach 10 Schritten: Genauigkeit ~0.001.
Example: root of f(x) = x³−2 in interval [1, 2]. f(1)=−1, f(2)=6. Middle: m=1.5, f(1.5)=1.375 > 0 → new interval [1, 1.5]. Middle: m=1.25, f(1.25)=−0.047 < 0 → [1.25, 1.5]. Interval halves each time. After 10 steps: accuracy ~0.001.

24.3 Fixpunktiteration

24.3 Fixed-Point Iteration

FixpunktiterationFixed-Point Iteration
xn+1 = g(xn)
Konvergenzbedingung: |g′(x)| < 1 in der Nähe des Fixpunkts x* = g(x*).
Convergence condition: |g′(x)| < 1 near the fixed point x* = g(x*).
Einfachstes iteratives Verfahren. Newton-Raphson ist ein Spezialfall mit g(x) = x − f(x)/f′(x). Kontraktionsprinzip: |g′| < 1 garantiert Konvergenz.
Simplest iterative method. Newton-Raphson is a special case with g(x) = x − f(x)/f′(x). Contraction principle: |g′| < 1 guarantees convergence.

24.4 Gradient Descent

24.4 Gradient Descent

Gradient DescentGradient Descent
θn+1 = θn − η · ∇L(θn)
η = Lernrate (learning rate), L = Kostenfunktion (loss), ∇L = Gradient. η zu groß → Divergenz, η zu klein → langsame Konvergenz.
η = learning rate, L = cost function (loss), ∇L = gradient. η too large → divergence, η too small → slow convergence.
Stell dir eine Kugel auf einer hügeligen Landschaft vor. Sie rollt bergab (−∇L), die Lernrate η bestimmt die Schrittweite. η zu groß → Kugel springt über das Tal hinweg. η zu klein → dauert ewig. Adam löst das: passt η automatisch pro Parameter an. In der Praxis: Adam ist meist die beste Wahl.
Imagine a ball on a hilly landscape. It rolls downhill (−∇L), learning rate η determines step size. η too large → ball jumps over the valley. η too small → takes forever. Adam solves this: adapts η automatically per parameter. In practice: Adam is usually the best choice.
☰ Inhalt ☰ Contents
Kapitel 25Chapter 25Fourier-AnalysisFourier Analysis
Kapitel 25Chapter 25

Fourier-Analysis 📘

Fourier Analysis 📘

25.1 Fourier-Reihe

25.1 Fourier Series

Fourier-ReiheFourier Series
f(t) = a₀2 + n=1 [an·cos(nω₀t) + bn·sin(nω₀t)]
an = 2T0T f(t)·cos(nω₀t) dtbn = 2T0T f(t)·sin(nω₀t) dt
T = Periodendauer, ω₀ = 2π/T (Grundkreisfrequenz), a₀/2 = Gleichanteil (DC-Offset).
T = period, ω₀ = 2π/T (fundamental frequency), a₀/2 = DC offset.
Stell dir einen Akkord auf dem Klavier vor (z.B. C-Dur: C+E+G). Die Fourier-Reihe zerlegt den Klang in die einzelnen Töne — jeder mit eigener Frequenz und Lautstärke. Umgekehrt kann man aus Sinustönen jeden Klang zusammenbauen (Synthesizer).
Imagine a piano chord (e.g., C major: C+E+G). The Fourier series decomposes the sound into individual tones — each with its own frequency and volume. Conversely, any sound can be built from sine tones (synthesizer).

25.2 Fourier-Transformation (kontinuierlich)

25.2 Fourier Transform (Continuous)

Fourier-Transformation und InverseFourier Transform and Inverse
F(ω) = ∫−∞ f(t) · e−jωt dt
f(t) = 1 −∞ F(ω) · ejωt
Stell dir ein Mikrofon auf einer Straße vor: Du hörst Autos, Vögel, Menschen. Die Fourier-Transformation zerlegt dieses Gemisch in ein Spektrum — tiefe Frequenzen (Motorbrummen), mittlere (Stimmen), hohe (Vogelzwitschern). Jede Frequenz hat eine Amplitude (wie laut) und Phase (wann).
Imagine a microphone on a street: you hear cars, birds, people. The Fourier transform decomposes this mix into a spectrum — low frequencies (engine hum), mid (voices), high (birdsong). Each frequency has amplitude (how loud) and phase (when).
x(t) = Zeitsignal, X(f) = Frequenzspektrum, f = Frequenz [Hz], j = imaginäre Einheit. Die FT zerlegt ein Signal in seine Frequenzanteile.
x(t) = time signal, X(f) = frequency spectrum, f = frequency [Hz], j = imaginary unit. The FT decomposes a signal into its frequency components.

25.3 Diskrete Fourier-Transformation (DFT/FFT)

25.3 Discrete Fourier Transform (DFT/FFT)

DFT und FFTDFT and FFT
X[k] = N−1n=0 x[n] · e−j2πkn/N
x[n] = 1N N−1k=0 X[k] · ej2πkn/N
N = Anzahl Abtastwerte. Frequenzauflösung: Δf = fs/N. FFT: O(N log N) statt O(N²) — erfordert N = 2m.
N = number of samples. Frequency resolution: Δf = fs/N. FFT: O(N log N) instead of O(N²) — requires N = 2m.
Die FFT zerlegt ein Signal in seine Frequenzen — wie ein Prisma Licht in Farben zerlegt. Beispiel: Ein Musikstück → FFT → Balkendiagramm der Frequenzen (Equalizer-Anzeige). Mit N=1024 Abtastwerten bei 44.1 kHz: Frequenzauflösung = 44100/1024 ≈ 43 Hz pro Balken.
The FFT decomposes a signal into its frequencies — like a prism splits light into colors. Example: a music track → FFT → bar chart of frequencies (equalizer display). With N=1024 samples at 44.1 kHz: frequency resolution = 44100/1024 ≈ 43 Hz per bar.

25.4 Fensterfunktionen

25.4 Window Functions

FensterfunktionenWindow Functions
FensterWindowHauptkeulenbreiteMain lobe widthNebenkeulenSide lobesEinsatzUse
RechteckSchmalsteNarrowest−13 dBMaximale FrequenzauflösungMaximum frequency resolution
Hann−31 dBAllgemein, guter KompromissGeneral purpose, good compromise
Hamming−42 dBSprachverarbeitungSpeech processing
Blackman−58 dBBeste NebenkeulenunterdrückungBest side lobe suppression
Stell dir vor, du analysierst ein Musikstück, aber nur einen kurzen Ausschnitt. Am Rand des Ausschnitts wird das Signal abrupt abgeschnitten → künstliche Frequenzen entstehen (Leakage). Ein Fenster blendet die Ränder sanft aus und reduziert diesen Effekt. Hann ist der Standard.
Imagine analyzing a music piece but only a short excerpt. At the edges, the signal is abruptly cut → artificial frequencies appear (leakage). A window gently fades the edges and reduces this effect. Hann is the standard.
☰ Inhalt ☰ Contents
Kapitel 26Chapter 26Z-TransformationZ-Transform
Kapitel 26Chapter 26

Z-Transformation 📘

Z-Transform 📘

26.1 Definition und Eigenschaften

26.1 Definition and Properties

Z-TransformationZ-Transform
X(z) = n=0 x[n] · z−n
Diskretes Pendant zur Laplace-Transformation. z = esT bildet die s-Ebene auf die z-Ebene ab.
Discrete counterpart of the Laplace transform. z = esT maps the s-plane to the z-plane.
Die Z-Transformation ist für digitale Systeme das, was die Laplace-Transformation für analoge ist. z⁻¹ bedeutet 'einen Takt verzögern' — in Hardware ist das ein Flip-Flop! Stabilitätsregel: Alle Pole müssen im Einheitskreis liegen (|z| < 1), sonst explodiert das Signal.
The Z-transform is to digital systems what the Laplace transform is to analog. z⁻¹ means 'delay by one clock' — in hardware that's a flip-flop! Stability rule: all poles must be inside the unit circle (|z| < 1), otherwise the signal explodes.

26.2 Korrespondenztabelle

26.2 Correspondence Table

Z-Transformations-PaareZ-Transform Pairs
x[n]X(z)
δ[n]1
u[n] (Sprung)z / (z−1)
n · u[n]z / (z−1)²
aⁿ · u[n]z / (z−a)
sin(ωn) · u[n]z·sin ω / (z²−2z·cos ω+1)
cos(ωn) · u[n]z·(z−cos ω) / (z²−2z·cos ω+1)
Merke: z⁻¹ = Verzögerung um 1 Takt. Beispiel: y[n] = 0.5·x[n] + 0.5·x[n−1] (Mittelwert über 2 Werte). In z: Y(z) = 0.5·X(z) + 0.5·z⁻¹·X(z) = X(z)·(0.5 + 0.5·z⁻¹). Also H(z) = 0.5 + 0.5·z⁻¹ — das ist ein einfacher FIR-Tiefpass.
Remember: z⁻¹ = delay by 1 clock. Example: y[n] = 0.5·x[n] + 0.5·x[n−1] (average over 2 values). In z: Y(z) = 0.5·X(z) + 0.5·z⁻¹·X(z) = X(z)·(0.5 + 0.5·z⁻¹). So H(z) = 0.5 + 0.5·z⁻¹ — that's a simple FIR low-pass.

26.3 Übertragungsfunktion H(z)

26.3 Transfer Function H(z)

Digitale ÜbertragungsfunktionDigital Transfer Function
H(z) = Y(z)X(z) = b₀ + b₁z⁻¹ + … + bMz−M1 + a₁z⁻¹ + … + aNz−N
Frequenzgang: H(e) durch Einsetzen von z = e. Betrag |H| = Amplitudengang, arg(H) = Phasengang.
Frequency response: H(e) by substituting z = e. Magnitude |H| = amplitude response, arg(H) = phase response.
Beispiel: H(z) = (1+z⁻¹)/(1−0.5·z⁻¹). Zähler → FIR-Teil: b₀=1, b₁=1. Nenner → IIR-Teil: a₁=−0.5. Differenzengleichung: y[n] = x[n] + x[n−1] + 0.5·y[n−1]. Das ist ein IIR-Filter mit einem Pol bei z=0.5 (stabil, da |0.5| < 1).
Example: H(z) = (1+z⁻¹)/(1−0.5·z⁻¹). Numerator → FIR part: b₀=1, b₁=1. Denominator → IIR part: a₁=−0.5. Difference equation: y[n] = x[n] + x[n−1] + 0.5·y[n−1]. This is an IIR filter with a pole at z=0.5 (stable since |0.5| < 1).
☰ Inhalt ☰ Contents
Kapitel 27Chapter 27Filter und SystemeFilters and Systems
Kapitel 27Chapter 27

Filter und Systeme 📘

Filters and Systems 📘

27.1 FIR- und IIR-Filter

27.1 FIR and IIR Filters

FIR vs. IIRFIR vs. IIR
FIRIIR
GleichungEquationy[n] = Σ bk·x[n−k]y[n] = Σ bk·x[n−k] − Σ ak·y[n−k]
PolePolesKeine (immer stabil)None (always stable)Hat Pole (Stabilität prüfen!)Has poles (check stability!)
PhasePhaseLinear möglichLinear possibleNichtlinearNonlinear
Ordnung für gleiche SteilheitOrder for same steepnessHoch (viele Koeff.)High (many coeffs)Niedrig (wenige Koeff.)Low (few coeffs)
Stell dir einen Equalizer vor: FIR = 'Eimer-Kette' — jeder Abtastwert durchläuft eine Kette von Gewichtungen, kein Feedback. IIR = 'Echo-Kammer' — das Ausgangssignal wird teilweise zurückgeführt und beeinflusst die nächste Berechnung. IIR braucht weniger Koeffizienten für gleiche Steilheit.
Imagine an equalizer: FIR = 'bucket chain' — each sample passes through a chain of weights, no feedback. IIR = 'echo chamber' — output is partially fed back and influences the next calculation. IIR needs fewer coefficients for the same steepness.

27.2 Butterworth, Tschebyscheff, Bessel

27.2 Butterworth, Chebyshev, Bessel

Analoge FiltertypenAnalog Filter Types
TypTypeEigenschaftPropertyEinsatzUse
ButterworthMaximal flacher DurchlassbereichMaximally flat passbandAllzweck-StandardGeneral purpose
Tschebyscheff IChebyshev IWelligkeit im Durchlass, steilere FlankePassband ripple, steeper roll-offSteile Trennung nötigSteep separation needed
BesselLineare Phase (konstante Gruppenlaufzeit)Linear phase (constant group delay)PulsformerhaltungPulse shape preservation
Analogie: Butterworth = sanfter Hügel (glatter Übergang, keine Wellen). Tschebyscheff = Steilklippe mit Wellen (steiler, aber wellig im Durchlassbereich). Bessel = Rutsche (sanft, aber die Form eines Pulses bleibt erhalten). Wahl hängt davon ab was wichtiger ist: Flachheit, Steilheit oder Pulsform.
Analogy: Butterworth = gentle hill (smooth transition, no ripples). Chebyshev = steep cliff with waves (steeper, but rippled in passband). Bessel = slide (smooth, pulse shape preserved). Choice depends on what matters: flatness, steepness, or pulse shape.

27.3 Abtasttheorem (Nyquist/Shannon)

27.3 Sampling Theorem (Nyquist/Shannon)

AbtasttheoremSampling Theorem
fs ≥ 2 · fmax
fs = Abtastfrequenz, fmax = höchste Signalfrequenz. Nyquist-Frequenz: fN = fs/2. Unterabtastung → Aliasing (nicht umkehrbare Frequenzspiegelung).
fs = sampling frequency, fmax = highest signal frequency. Nyquist frequency: fN = fs/2. Undersampling → aliasing (irreversible frequency folding).
Beispiel: Musik geht bis 20 kHz → Abtastrate mindestens 40 kHz nötig. CD verwendet 44.1 kHz (etwas mehr als 2×). Was passiert bei zu niedriger Rate? Ein 15-kHz-Ton bei f_s = 20 kHz erscheint als 5-kHz-Ton — Aliasing! Wie ein Wagenrad im Film, das sich rückwärts zu drehen scheint.
Example: music goes up to 20 kHz → sampling rate at least 40 kHz needed. CD uses 44.1 kHz (slightly more than 2×). What happens with too low rate? A 15 kHz tone at f_s = 20 kHz appears as 5 kHz — aliasing! Like a wagon wheel in a movie that seems to spin backward.

27.4 Dezimation und Interpolation

27.4 Decimation and Interpolation

AbtastratenkonvertierungSample Rate Conversion
Dezimation (Downsampling): Tiefpass-Filter → jeden M-ten Abtastwert behalten. Neue Rate: fs/M.
Decimation (downsampling): Low-pass filter → keep every M-th sample. New rate: fs/M.
Interpolation (Upsampling): M−1 Nullen zwischen Abtastwerte einfügen → Tiefpass-Filter. Neue Rate: M · fs.
Interpolation (upsampling): Insert M−1 zeros between samples → low-pass filter. New rate: M · fs.
Beispiel Dezimation: Audio bei 48 kHz → brauche nur 8 kHz für Sprache. Faktor M=6. Erst Tiefpass bei 4 kHz, dann jeden 6. Wert behalten. Beispiel Interpolation: 8 kHz → 48 kHz. Faktor L=6. Nullen einfügen, dann Tiefpass → glatte 48-kHz-Signale.
Example decimation: audio at 48 kHz → only need 8 kHz for speech. Factor M=6. First low-pass at 4 kHz, then keep every 6th sample. Example interpolation: 8 kHz → 48 kHz. Factor L=6. Insert zeros, then low-pass → smooth 48 kHz signal.
☰ Inhalt ☰ Contents
Kapitel 28Chapter 28Korrelation und FaltungCorrelation and Convolution
Kapitel 28Chapter 28

Korrelation und Faltung 📘

Correlation and Convolution 📘

28.1 Auto- und Kreuzkorrelation

28.1 Auto- and Cross-Correlation

KorrelationCorrelation
Rxy[m] = n=−∞ x[n] · y[n+m]
Autokorrelation: Rxx[m] (x = y). Maximum bei m = 0 (Energie). Kreuzkorrelation: Rxy[m] (Ähnlichkeit als Funktion der Verschiebung m).
Autocorrelation: Rxx[m] (x = y). Maximum at m = 0 (energy). Cross-correlation: Rxy[m] (similarity as function of shift m).
Beispiel Pitch-Detection: Singe ein A (440 Hz). Die Autokorrelation hat ein Maximum bei τ = 1/440 ≈ 2.27 ms — das ist die Periodendauer! Kreuzkorrelation: Zwei Mikrofone, 10 cm Abstand. Schall kommt schräg an → Mikrofon 2 empfängt das Signal 0.29 ms später. Aus dieser Verzögerung wird der Einfallswinkel berechnet.
Example pitch detection: sing an A (440 Hz). The autocorrelation peaks at τ = 1/440 ≈ 2.27 ms — that's the period! Cross-correlation: two microphones, 10 cm apart. Sound arrives at angle → mic 2 receives signal 0.29 ms later. This delay gives the angle of arrival.

28.2 Faltung (kontinuierlich und diskret)

28.2 Convolution (Continuous and Discrete)

FaltungConvolution
(f * g)(t) = ∫−∞ f(τ) · g(t−τ) dτ
(x * h)[n] = k=−∞ x[k] · h[n−k]
Stell dir vor: Du schiebst einen 'Schablone' (Impulsantwort h) über ein Signal x und multiplizierst/addierst an jeder Position → Ausgangssignal y. Beispiel: h = [1, 1, 1]/3 (Mittelwertfilter über 3 Werte) gefaltet mit x = [0, 0, 10, 0, 0] → y = [0, 3.3, 3.3, 3.3, 0] — der Spike wird geglättet.
Imagine sliding a 'template' (impulse response h) over a signal x, multiplying/adding at each position → output y. Example: h = [1, 1, 1]/3 (3-point average) convolved with x = [0, 0, 10, 0, 0] → y = [0, 3.3, 3.3, 3.3, 0] — the spike is smoothed.
x(t) = Eingangssignal, h(t) = Impulsantwort des Systems, y(t) = Ausgangssignal, τ = Integrationsvariable. Die Faltung beschreibt die Wirkung eines LTI-Systems.
x(t) = input signal, h(t) = impulse response, y(t) = output signal, τ = integration variable. Convolution describes the effect of an LTI system.

28.3 Faltungstheorem

28.3 Convolution Theorem

FaltungstheoremConvolution Theorem
x * h  ↔  X · H  (Faltung ↔ Multiplikation)
x · h  ↔  X * H  (Multiplikation ↔ Faltung)
x, h = Signale im Zeitbereich, X, H = Fourier-Transformierte (Frequenzbereich), * = Faltungsoperation, · = punktweise Multiplikation. Faltung im Zeitbereich entspricht Multiplikation im Frequenzbereich und umgekehrt.
x, h = time-domain signals, X, H = Fourier transforms (frequency domain), * = convolution, · = pointwise multiplication. Convolution in time domain equals multiplication in frequency domain and vice versa.
Beispiel: Faltung zweier Signale mit je N=1000 Punkten. Direkt: 1000² = 1 Million Multiplikationen. Über FFT: 3× FFT (à N·log₂N ≈ 10000) + N Multiplikationen ≈ 31000 Operationen — 30× schneller! Bei N=1 Million ist der Unterschied Faktor 50000.
Example: convolving two signals of N=1000 points each. Direct: 1000² = 1 million multiplications. Via FFT: 3× FFT (each N·log₂N ≈ 10000) + N multiplications ≈ 31000 operations — 30× faster! At N=1 million the speedup is 50000×.
☰ Inhalt ☰ Contents
Kapitel 29Chapter 29Beamforming und ArraytechnikBeamforming and Array Processing
Kapitel 29Chapter 29

Beamforming und Arraytechnik 🎯

Beamforming and Array Processing 🎯

29.1 Delay-and-Sum Beamforming

29.1 Delay-and-Sum Beamforming

Prinzip: Schallwellen an einem MikrofonarrayPrinciple: Sound Waves at a Microphone Array
Schall von rechts (Winkel θ) Wellenfronten θ M1 M2 M3 M4 d τ₁ = 0 τ₂ τ₃ τ₄ Σ y(t) Verzögerungen τᵢ gleichen die Laufzeitunterschiede aus. Danach sind alle Signale synchron → Addition verstärkt das Signal. Signal: ×M stärker, Rauschen: nur ×√M stärker → SNR-Gewinn = √M
Stell dir 4 Mikrofone in einer Reihe vor, 5 cm Abstand. Schall kommt von rechts (90°): Mikrofon 4 empfängt zuerst, dann 3, 2, 1. Delay-and-Sum: Verzögere Mikrofon 4 am meisten, 1 am wenigsten → alle Signale sind synchron → addieren → Signal 4× lauter, Rauschen nur 2× (√4). SNR-Gewinn = √M.
Imagine 4 microphones in a row, 5 cm apart. Sound from the right (90°): mic 4 receives first, then 3, 2, 1. Delay-and-sum: delay mic 4 most, mic 1 least → all signals synchronized → add → signal 4× louder, noise only 2× (√4). SNR gain = √M.
Delay-and-Sum — FormelDelay-and-Sum — Formula
y(t) = 1M Mi=1 xi(t − τi)
τi = di · uc
M = Anzahl Mikrofone, τi = Verzögerung für Mikrofon i, di = Mikrofonposition, u = Blickrichtung (Einheitsvektor), c = Schallgeschwindigkeit (343 m/s).
M = number of microphones, τi = delay for microphone i, di = microphone position, u = look direction (unit vector), c = speed of sound (343 m/s).
Beispiel: 4 Mikrofone, d=5 cm, Schall aus 30°. τ₁=0, τ₂=d·sin30°/c = 0.05·0.5/343 = 72.9 µs, τ₃=145.8 µs, τ₄=218.7 µs. Bei 48 kHz Abtastrate: τ₂ ≈ 3.5 Samples Verzögerung.
Example: 4 mics, d=5 cm, sound from 30°. τ₁=0, τ₂=d·sin30°/c = 0.05·0.5/343 = 72.9 µs, τ₃=145.8 µs, τ₄=218.7 µs. At 48 kHz sample rate: τ₂ ≈ 3.5 samples delay.

29.2 Richtcharakteristik und Arrayfaktor

29.2 Directivity and Array Factor

Beam Pattern — RichtcharakteristikBeam Pattern — Directivity
Array 90° -90° 0° (Blickrichtung) -6dB -12dB Hauptkeule (main lobe) Nebenkeulen (side lobes) Nebenkeulen Keulenbreite (beamwidth)
Hauptkeule = Richtung maximaler Empfindlichkeit (Blickrichtung). Nebenkeulen = unerwünschte Empfindlichkeit in anderen Richtungen. Keulenbreite = Winkelbereich bei −3 dB (halbe Leistung). Mehr Mikrofone → schmalere Hauptkeule → bessere Richtungsauflösung.
Main lobe = direction of maximum sensitivity (look direction). Side lobes = unwanted sensitivity in other directions. Beamwidth = angular range at −3 dB (half power). More microphones → narrower main lobe → better directional resolution.
Beispiel: 8 Mikrofone, d=1.7 cm (λ/2 bei 10 kHz). Hauptkeule bei 0° (geradeaus), erste Nebenkeule bei ±14° mit −13 dB. Bei d > λ/2 entstehen Grating Lobes — identische Kopien der Hauptkeule bei falschen Winkeln, wie Aliasing im Zeitbereich!
Example: 8 microphones, d=1.7 cm (λ/2 at 10 kHz). Main lobe at 0° (straight ahead), first side lobe at ±14° with −13 dB. At d > λ/2, grating lobes appear — identical copies of the main lobe at wrong angles, like aliasing in the time domain!
Array-Geometrie — Multi-Ring-Anordnung (82 Mikrofone)Array Geometry — Multi-Ring Configuration (82 Microphones)
Schallquelle Beam (Blickrichtung) Ring 3: r=100 cm, 12 Mics DF-Circle: r=50 cm, 72 Mics (alle 5°) r=20 cm r=5 100 cm Ring 1 Ring 2 DF (72) Ring 3 Ref Quelle Beam
Multi-Ring-Prinzip: Verschiedene Ringradien sind für verschiedene Frequenzbereiche optimal. Große Radien (100 cm) → gute Auflösung bei tiefen Frequenzen. Kleine Radien (5 cm) → Aliasing-frei bei hohen Frequenzen. Der dichte Direction-Finding Circle (72 Mikrofone alle 5°) liefert hohe Azimut-Auflösung über den gesamten Frequenzbereich.
Multi-ring principle: Different ring radii are optimal for different frequency ranges. Large radii (100 cm) → good resolution at low frequencies. Small radii (5 cm) → aliasing-free at high frequencies. The dense direction-finding circle (72 microphones every 5°) provides high azimuth resolution across the entire frequency range.
Räumliches Nyquist: Mikrofonabstand d < λ/2 zur Vermeidung von Grating Lobes. Bei 10 kHz: λ = 3.43 cm → d < 1.7 cm. Ring 1 (r=5 cm, 12 Mics): d = 2·5·sin(π/12) = 2.6 cm → Aliasing ab ~6.6 kHz. Der DF-Circle (r=50 cm, 72 Mics): d = 4.4 cm → Aliasing ab ~3.9 kHz, aber mit 2-Phasen-Methode erweiterbar.
Spatial Nyquist: microphone spacing d < λ/2 to avoid grating lobes. At 10 kHz: λ = 3.43 cm → d < 1.7 cm. Ring 1 (r=5 cm, 12 mics): d = 2·5·sin(π/12) = 2.6 cm → aliasing above ~6.6 kHz. DF circle (r=50 cm, 72 mics): d = 4.4 cm → aliasing above ~3.9 kHz, but extendable with 2-phase method.
Arrayfaktor — FormelArray Factor — Formula
AF(θ) = Mi=1 wi · ejk·di·sin θ
wi = Gewichte (bei D&S alle gleich), k = 2π/λ (Wellenzahl), di = Mikrofonabstand.
wi = weights (all equal for D&S), k = 2π/λ (wavenumber), di = microphone spacing.
Beispiel: 8 Mikrofone, d=1.7 cm (λ/2 bei 10 kHz). Hauptkeule bei 0° (geradeaus), erste Nebenkeule bei ±14° mit −13 dB. Bei d > λ/2 entstehen Grating Lobes — identische Kopien der Hauptkeule bei falschen Winkeln, wie Aliasing im Zeitbereich!
Example: 8 microphones, d=1.7 cm (λ/2 at 10 kHz). Main lobe at 0° (straight ahead), first side lobe at ±14° with −13 dB. At d > λ/2, grating lobes appear — identical copies of the main lobe at wrong angles, like aliasing in the time domain!

29.3 MVDR / Capon Beamformer

29.3 MVDR / Capon Beamformer

MVDR vs. Delay-and-Sum — VergleichMVDR vs. Delay-and-Sum — Comparison
Delay-and-Sum MVDR / Capon Array Signal ✓ Stoerer -13 dB Array Signal ✓ Stoerer NULL −40 dB
Links (D&S): Feste Richtcharakteristik — der Störer wird nur durch die Nebenkeulen-Absenkung (−13 dB) unterdrückt. Rechts (MVDR): Adaptive Richtcharakteristik — eine tiefe Null (−40 dB) wird gezielt in Richtung des Störers gesetzt.
Left (D&S): Fixed beam pattern — interferer suppressed only by side lobe attenuation (−13 dB). Right (MVDR): Adaptive beam pattern — a deep null (−40 dB) is placed toward the interferer.
MVDR passt die Gewichte w adaptiv an die aktuelle Störsituation an. Vorteil: Viel bessere Störunterdrückung. Nachteil: Braucht die Kovarianzmatrix R (muss aus den Daten geschätzt werden), rechenintensiver, empfindlich bei Positionsfehlern der Mikrofone.
MVDR adapts weights w to the current interference situation. Advantage: much better interference suppression. Disadvantage: needs covariance matrix R (must be estimated from data), more compute-intensive, sensitive to microphone position errors.
MVDR (Minimum Variance Distortionless Response)MVDR (Minimum Variance Distortionless Response)
wMVDR = R−1 · a(θ)aH(θ) · R−1 · a(θ)
R = Kovarianzmatrix der Mikrofonsignale, a(θ) = Steering-Vektor, H = hermitesch (konjugiert transponiert).
R = covariance matrix of microphone signals, a(θ) = steering vector, H = Hermitian (conjugate transpose).
Stell dir vor: Du willst einen Sprecher hören, aber ein anderer stört von der Seite. Delay-and-Sum unterdrückt den Störer nur mäßig. MVDR/Capon setzt gezielt eine 'Null' in Richtung des Störers — wie ein Richtmikrofon das den Störer aktiv ausblendet. Braucht aber die Kovarianzmatrix R der Signale.
Imagine: you want to hear one speaker but another interferes from the side. Delay-and-sum only moderately suppresses the interferer. MVDR/Capon actively places a 'null' toward the interferer — like a directional mic that actively blocks it. Needs the signal covariance matrix R though.
☰ Inhalt ☰ Contents
Kapitel 30Chapter 30PID-ReglerPID Controller
Kapitel 30Chapter 30

PID-Regler 📘

PID Controller 📘

30.1 Zeitkontinuierlicher PID

30.1 Continuous-Time PID

Prinzip: PID-RegelkreisPrinciple: PID Control Loop
r(t) + e(t) PID P + I + D u(t) Strecke G(s) y(t) Rückführung (Messung) r(t) = Sollwert, e(t) = Regelabweichung, u(t) = Stellgröße, y(t) = Istwert
Der Regelkreis: Sollwert r(t) minus Istwert y(t) ergibt die Regelabweichung e(t). Der PID-Regler berechnet daraus die Stellgröße u(t), die auf die Strecke wirkt. Die Strecke antwortet mit dem Istwert y(t), der zurückgeführt wird. Ziel: e(t) → 0.
The control loop: setpoint r(t) minus actual value y(t) yields the error e(t). The PID controller computes the control output u(t), which acts on the plant. The plant responds with y(t), which is fed back. Goal: e(t) → 0.
PID-Stellgesetz (Zeitbereich)PID Control Law (Time Domain)
u(t) = Kp · e(t) + Ki · ∫0t e(τ) dτ + Kd · de(t)dt
Kp = Proportionalverstärkung (reagiert auf die aktuelle Abweichung), Ki = Integralverstärkung (beseitigt bleibende Abweichung), Kd = Differentialverstärkung (reagiert auf Änderungsgeschwindigkeit).
Kp = proportional gain (reacts to current error), Ki = integral gain (eliminates steady-state error), Kd = derivative gain (reacts to rate of change).
Beispiel Temperaturregelung: Sollwert 60 °C, aktuell 50 °C → e = 10 K. P-Anteil: Kp·10 → sofort heizen. I-Anteil: summiert die Abweichung über Zeit → beseitigt die letzten 0,5 °C Restfehler. D-Anteil: Temperatur steigt schnell → bremst früh → weniger Überschwingen. Ohne I: bleibende Regelabweichung. Ohne D: mehr Überschwingen.
Example temperature control: setpoint 60 °C, current 50 °C → e = 10 K. P-term: Kp·10 → heat immediately. I-term: accumulates error over time → eliminates last 0.5 °C offset. D-term: temperature rising fast → brakes early → less overshoot. Without I: steady-state error remains. Without D: more overshoot.
PID in Standardform (mit Ti, Td)PID Standard Form (with Ti, Td)
u(t) = Kp ( e(t) + 1Ti 0t e(τ) dτ + Td · de(t)dt )
Ti = Nachstellzeit = Kp/Ki [Sekunden]. Großes Ti → langsamer I-Anteil. Td = Vorhaltezeit = Kd/Kp [Sekunden]. Großes Td → stärkere Dämpfung.
Ti = integral time = Kp/Ki [seconds]. Large Ti → slower integral action. Td = derivative time = Kd/Kp [seconds]. Large Td → stronger damping.
Umrechnung: Ki = Kp / Ti und Kd = Kp · Td. Die Standardform ist verbreiteter in der Literatur. Vorteil: Wenn Kp geändert wird, skalieren I und D automatisch mit.
Conversion: Ki = Kp / Ti and Kd = Kp · Td. Standard form is more common in literature. Advantage: when Kp changes, I and D scale automatically.
PID-Übertragungsfunktion (Laplace-Bereich)PID Transfer Function (Laplace Domain)
GPID(s) = Kp ( 1 + 1Ti · s + Td · s )
s = komplexe Frequenzvariable (Laplace). Der P-Anteil ist frequenzunabhängig, der I-Anteil verstärkt tiefe Frequenzen (→ Gleichanteil korrigieren), der D-Anteil verstärkt hohe Frequenzen (→ schnelle Änderungen erkennen).
s = complex frequency variable (Laplace). P-term is frequency-independent, I-term amplifies low frequencies (→ correct DC offset), D-term amplifies high frequencies (→ detect fast changes).
Derivative-on-Measurement (D auf Istwert)Derivative-on-Measurement (D on Process Variable)
D(t) = −Kd · dy(t)dt  statt  D(t) = Kd · de(t)dt
Problem: Bei einem Sollwertsprung (z.B. 40 → 60 °C) ändert sich e(t) schlagartig → D-Anteil erzeugt einen riesigen Spike in der Stellgröße. Lösung: Ableitung nur auf den Istwert y(t) anwenden. Da y(t) sich physikalisch nicht sprunghaft ändert, bleibt der D-Anteil glatt. Standard-Praxis bei Temperaturreglern!
Problem: on a setpoint step (e.g. 40 → 60 °C), e(t) changes abruptly → D-term produces a huge spike in the output. Solution: apply derivative only to the process variable y(t). Since y(t) cannot change instantaneously, the D-term stays smooth. Standard practice in temperature controllers!
D(t) = Differenzialanteil, Kd = Differenzialverstärkung, y(t) = Istwert (Messwert). Vorteil: kein Derivative Kick bei Sollwertsprüngen.
D(t) = derivative term, Kd = derivative gain, y(t) = process value (measurement). Advantage: no derivative kick on setpoint changes.

30.2 Digitaler PID (Differenzengleichung)

30.2 Digital PID (Difference Equation)

Positionsalgorithmus (Position Form)Position Algorithm (Position Form)
u[n] = Kp · e[n] + Ki · Ts · nk=0 e[k] + Kd · e[n] − e[n−1]Ts
Ts = Abtastzeit [Sekunden], e[n] = aktuelle Regelabweichung, e[n−1] = vorherige Regelabweichung. Der Integralanteil wird als laufende Summe berechnet, die Ableitung als Rückwärtsdifferenz.
Ts = sample time [seconds], e[n] = current error, e[n−1] = previous error. Integral is computed as a running sum, derivative as a backward difference.
Beispiel: Ts = 100 ms (10 Hz), Kp = 5, Ki = 0,2, Kd = 1. Bei e[n] = 3 °C und bisheriger Summe = 50: P = 15, I = 0,2·0,1·50 = 1,0, D = 1·(3−2,5)/0,1 = 5,0 → u = 21,0 (z.B. 21 % PWM-Leistung).
Example: Ts = 100 ms (10 Hz), Kp = 5, Ki = 0.2, Kd = 1. With e[n] = 3 °C and accumulated sum = 50: P = 15, I = 0.2·0.1·50 = 1.0, D = 1·(3−2.5)/0.1 = 5.0 → u = 21.0 (e.g. 21 % PWM duty).
Geschwindigkeitsalgorithmus (Velocity Form)Velocity Algorithm (Velocity Form)
Δu[n] = Kp(e[n] − e[n−1]) + Ki · Ts · e[n] + KdTs (e[n] − 2e[n−1] + e[n−2])
u[n] = u[n−1] + Δu[n]
Vorteil gegenüber Positionsform: Kein Integral-Speicher nötig → stoßfreier Übergang (Bumpless Transfer) beim Umschalten Manuell/Auto. Nachteil: Braucht drei Fehlerwerte (e[n], e[n−1], e[n−2]).
Advantage over position form: no integral storage needed → bumpless transfer when switching Manual/Auto. Disadvantage: needs three error values (e[n], e[n−1], e[n−2]).
Δu[k] = Stellgrößenänderung, e[k] = Regelabweichung zum Zeitpunkt k, T = Abtastzeit, Kp, Ki, Kd = PID-Parameter.
Δu[k] = control output change, e[k] = error at time step k, T = sampling period, Kp, Ki, Kd = PID parameters.
Implementierung als PseudocodeImplementation as Pseudocode
// Digitaler PID — Positionsform mit D-auf-Istwert
e = sollwert - istwert
integral = integral + e * Ts
derivative = -(istwert - istwert_alt) / Ts   // D auf Messung!
output = Kp * e + Ki * integral + Kd * derivative
output = clamp(output, 0, 100)                // Begrenzung
istwert_alt = istwert
Dies ist die Standardform, wie sie auf Mikrocontrollern und FPGAs läuft. Wichtig: Abtastzeit Ts muss konstant sein! Bei 10 Hz → Ts = 0,1 s. Timer-Interrupt verwenden, nicht delay().
This is the standard form running on microcontrollers and FPGAs. Important: sample time Ts must be constant! At 10 Hz → Ts = 0.1 s. Use a timer interrupt, not delay().

30.3 Anti-Windup und Begrenzung

30.3 Anti-Windup and Clamping

Integral-Windup — Problem und LösungIntegral Windup — Problem and Solution
Integral-Windup: Ohne vs. Mit Anti-Windup Ohne Anti-Windup Sollwert Überschwingen! Integral Mit Anti-Windup Kein Überschwingen max
Windup passiert, wenn der Aktor am Anschlag ist (z.B. Heizung 100 %) aber e(t) > 0 bleibt. Der I-Anteil wächst weiter, obwohl die Stellgröße nicht mehr steigen kann. Wenn der Sollwert dann erreicht wird, muss der I-Anteil erst wieder abgebaut werden → massives Überschwingen!
Windup occurs when the actuator is saturated (e.g. heater at 100 %) but e(t) > 0 persists. The I-term keeps growing even though the output cannot increase further. When the setpoint is reached, the I-term must first be reduced → massive overshoot!
Anti-Windup: Integral-ClampingAnti-Windup: Integral Clamping
Imax = umaxKi  →  integral = clamp(integral, −Imax, +Imax)
umax = maximale Stellgröße (z.B. 100 % PWM). Begründung: Wenn integral = Imax, dann Ki·integral = umax — der I-Anteil allein füllt den gesamten Stellbereich aus.
umax = maximum output (e.g. 100 % PWM). Reasoning: if integral = Imax, then Ki·integral = umax — the I-term alone fills the entire output range.
Beispiel: Ki = 0,5, umax = 100 → Imax = 200. Sobald die Integralsumme ±200 erreicht, wird sie festgehalten. Zusätzlich: Auch die Gesamtausgabe begrenzen: u = clamp(Kp·e + Ki·integral + Kd·deriv, 0, 100).
Example: Ki = 0.5, umax = 100 → Imax = 200. Once the integral sum reaches ±200, it is held. Additionally: clamp total output too: u = clamp(Kp·e + Ki·integral + Kd·deriv, 0, 100).
Stoßfreier Übergang (Bumpless Transfer)Bumpless Transfer
integralinit = uaktuellKi
Beim Umschalten von Manuell auf Auto (oder nach einer Lernphase): Den Integralanteil so vorinitialisieren, dass die Stellgröße exakt dem aktuellen Wert entspricht. Sonst springt u(t) schlagartig — z.B. Heizung von 30 % auf 0 % und dann langsam wieder hoch.
When switching from Manual to Auto (or after a learning phase): pre-initialize the integral so the output exactly matches the current value. Otherwise u(t) jumps abruptly — e.g. heater from 30 % to 0 % then slowly ramps back up.
u = Stellgröße, Iacc = Integralakkumulator. Beim Umschalten zwischen manuell und automatisch wird der Integrator auf den aktuellen Stellwert vorgeladen.
u = control output, Iacc = integral accumulator. When switching between manual and automatic, the integrator is preloaded to the current output value.

30.4 Ziegler-Nichols Einstellregeln

30.4 Ziegler-Nichols Tuning Rules

PT1-Tt-Streckenmodell (Sprungantwort)First-Order-Plus-Dead-Time Model (Step Response)
G(s) = K · e−Td·s1 + τ · s
K = stationäre Verstärkung (Endwert/Eingangsgröße), τ = Zeitkonstante (63 % des Endwerts), Td = Totzeit (Verzögerung bis die Strecke reagiert).
K = static gain (final value/input), τ = time constant (63 % of final value), Td = dead time (delay before plant responds).
Identifikation: Sprungantwort aufnehmen (z.B. Heizung mit 50 % Leistung einschalten). Aus der Kurve ablesen: Td = Zeit bis die Temperatur merklich steigt, τ = Zeit von Td bis 63 % des Endwerts, K = ΔTemperatur / ΔLeistung. Die drei Parameter reichen für alle gängigen Tuning-Methoden!
Identification: record step response (e.g. turn heater on at 50 % power). Read from the curve: Td = time until temperature starts rising noticeably, τ = time from Td to 63 % of final value, K = ΔTemperature / ΔPower. These three parameters suffice for all common tuning methods!
Tuning-Methoden — VergleichTuning Methods — Comparison
Methode Method Kp Ti Td Eigenschaft Characteristic
Ziegler-Nichols Ziegler-Nichols 1,2·τ/(K·Td) 2·Td 0,5·Td ⚠ Aggressiv, viel Überschwingen ⚠ Aggressive, much overshoot
Cohen-Coon Cohen-Coon 1,35·τ/(K·Td) 2,5·Td 0,37·Td Besser bei großem Td Better for large Td
✅ Tyreus-Luyben ✅ Tyreus-Luyben Ku/3,2 2,2·Tu Tu/6,3 ✅ Bester Kompromiss für Temperatur ✅ Best compromise for temperature
IMC (Lambda) IMC (Lambda) τ/(K·(λ+Td)) τ Td/2 Am robustesten, aber langsam Most robust, but slow
Ku = kritische Verstärkung (Dauerschwingung), Tu = kritische Periodendauer, λ = gewünschte Zeitkonstante des geschlossenen Kreises (IMC-Tuning-Parameter). Für Tyreus-Luyben: Ku und Tu können aus K, τ, Td berechnet werden.
Ku = ultimate gain (sustained oscillation), Tu = ultimate period, λ = desired closed-loop time constant (IMC tuning parameter). For Tyreus-Luyben: Ku and Tu can be computed from K, τ, Td.
Praxis-Tipp: Ziegler-Nichols ist zu aggressiv für Temperatursysteme (bis 50 % Überschwingen!). Tyreus-Luyben liefert weniger Überschwingen bei ähnlicher Einschwingzeit. IMC ist am robustesten bei Modellungenauigkeiten, aber am langsamsten. Für ein Heizsystem: Starte mit Tyreus-Luyben.
Practical tip: Ziegler-Nichols is too aggressive for temperature systems (up to 50 % overshoot!). Tyreus-Luyben delivers less overshoot with similar settling time. IMC is most robust to model uncertainty but slowest. For a heating system: start with Tyreus-Luyben.
2-DOF-PID (Two-Degree-of-Freedom)2-DOF PID (Two-Degree-of-Freedom)
P(t) = Kp · (β · r(t) − y(t))
β ∈ [0, 1]  →  β = 0: kein Sollwertsprung im P-Anteil
β = Sollwert-Gewichtung. Bei β = 1: klassischer PID. Bei β = 0: Der P-Anteil reagiert nur auf den Istwert, nicht auf Sollwertänderungen. Ergebnis: Drastisch weniger Überschwingen bei Sollwertsprung, gleiche Störkompensation.
β = setpoint weight. At β = 1: classic PID. At β = 0: P-term reacts only to measurement, not to setpoint changes. Result: drastically less overshoot on setpoint steps, same disturbance rejection.
Beispiel: Sollwertsprung 40 → 60 °C. Klassisch (β=1): P = Kp·20 → starker Heizimpuls → 8 °C Überschwingen. Mit β=0,3: P = Kp·(0,3·60 − 50) = Kp·(−32) → sanfterer Start → nur 1,5 °C Überschwingen. Die Störungsunterdrückung (z.B. Fenster öffnen) bleibt identisch!
Example: setpoint step 40 → 60 °C. Classic (β=1): P = Kp·20 → strong heat pulse → 8 °C overshoot. With β=0.3: P = Kp·(0.3·60 − 50) = Kp·(−32) → gentler start → only 1.5 °C overshoot. Disturbance rejection (e.g. opening a window) stays identical!

30.5 Festkomma-PID (FPGA)

30.5 Fixed-Point PID (FPGA)

Q16.16 Festkomma-FormatQ16.16 Fixed-Point Format
Q16.16 — 32 Bit Festkomma S Integer (15 Bit) Bit 31..16 Fraktion (16 Bit) Bit 15..0 Binärpunkt Wertebereich: ±32768,0 | Auflösung: ≈ 0,0000153
Umrechnung: q16_value = (int)(float × 65536). Zurück: float = q16_value / 65536.0. S = Vorzeichenbit (Zweierkomplement).
Conversion: q16_value = (int)(float × 65536). Back: float = q16_value / 65536.0. S = sign bit (two's complement).
Q16.16 MultiplikationQ16.16 Multiplication
resultQ16.16 = (aQ16.16 × bQ16.16) ≫ 16
Kritisch: Die Multiplikation zweier Q16.16-Werte ergibt ein Q32.32-Ergebnis (64 Bit). Der Shift ≫ 16 bringt es zurück auf Q16.16. Vergessene Shifts → Faktor-65536-Fehler — häufigster Bug bei Festkomma-PID! Auf dem Artix-7 FPGA: Ein DSP48E1-Slice macht das in einem Takt (25×18-Bit-Multiplier).
Critical: multiplying two Q16.16 values produces a Q32.32 result (64 bits). The shift ≫ 16 brings it back to Q16.16. Forgotten shifts → factor-65536 errors — most common bug in fixed-point PID! On Artix-7 FPGA: one DSP48E1 slice does this in a single clock cycle (25×18-bit multiplier).
a, b = Q16.16-Festkommazahlen (32 bit), Ergebnis = Q32.32 (64 bit) → Rechtsshift um 16 → Q16.16. Sättigungslogik verhindert Überlauf.
a, b = Q16.16 fixed-point numbers (32 bit), result = Q32.32 (64 bit) → right-shift by 16 → Q16.16. Saturation logic prevents overflow.
PID in Q16.16 — Verilog-SkizzePID in Q16.16 — Verilog Sketch
// Q16.16 PID-Kern (vereinfacht)
wire signed [31:0] error = setpoint - measurement;
wire signed [63:0] p_term_64 = Kp * error;
wire signed [31:0] p_term = p_term_64[47:16]; // >> 16

// Integral mit Anti-Windup
integral <= integral + error;   // * Ts implizit
if (integral > I_MAX) integral <= I_MAX;
if (integral < -I_MAX) integral <= -I_MAX;
wire signed [63:0] i_term_64 = Ki * integral;
wire signed [31:0] i_term = i_term_64[47:16];

// D auf Istwert (Derivative-on-Measurement)
wire signed [31:0] d_diff = -(measurement - meas_prev);
wire signed [63:0] d_term_64 = Kd * d_diff;
wire signed [31:0] d_term = d_term_64[47:16];

output = clamp(p_term + i_term + d_term, 0, PWM_MAX);
Ressourcen auf einem Artix-7 (BASYS3): 3 DSP48E1-Slices für P, I, D-Multiplikation, ~500 LUTs für Steuerlogik, ~200 Flip-Flops. Gesamt: ~3 % des XC7A35T. Taktfrequenz: 100 MHz. PID-Zykluszeit: 100 ms (10 Hz) über Timer-Interrupt — nicht jeder Takt!
Resources on Artix-7 (BASYS3): 3 DSP48E1 slices for P, I, D multiplication, ~500 LUTs for control logic, ~200 flip-flops. Total: ~3 % of XC7A35T. Clock: 100 MHz. PID cycle: 100 ms (10 Hz) via timer interrupt — not every clock!
Feedforward-Kompensation (Störgrößenaufschaltung)Feedforward Compensation (Disturbance Rejection)
uff = − 1K · ΔTambient
utotal = uPID + uff
K = Streckenverstärkung, ΔTambient = Änderung der Umgebungstemperatur. Der Feedforward-Anteil wirkt sofort, während der PID-Regler erst nach der Totzeit reagiert.
K = plant gain, ΔTambient = change in ambient temperature. The feedforward term acts immediately, while the PID controller only reacts after the dead time.
Beispiel: Umgebungstemperatur sinkt von 22 auf 18 °C (ΔT = −4 K). Mit K = 0,5 °C/%: uff = −(1/0,5)·(−4) = +8 % mehr Heizleistung — sofort, ohne auf den Fehler zu warten. Der PID-Regler korrigiert nur noch den Rest.
Example: ambient drops from 22 to 18 °C (ΔT = −4 K). With K = 0.5 °C/%: uff = −(1/0.5)·(−4) = +8 % more heating — immediately, without waiting for the error. The PID controller only corrects the remainder.
☰ Inhalt ☰ Contents
Kapitel 31Chapter 31ÜbertragungsfunktionenTransfer Functions
Kapitel 31Chapter 31

Übertragungsfunktionen 📘

Transfer Functions 📘

31.1 Laplace-Übertragungsfunktion G(s)

31.1 Laplace Transfer Function G(s)

Übertragungsfunktion — DefinitionTransfer Function — Definition
G(s) = Y(s)U(s) = bmsm + bm−1sm−1 + … + b0ansn + an−1sn−1 + … + a0
Y(s) = Laplace-Transformierte des Ausgangssignals, U(s) = Laplace-Transformierte des Eingangssignals, s = σ + jω = komplexe Frequenzvariable. Voraussetzung: Anfangsbedingungen = 0 (Ruhelage).
Y(s) = Laplace transform of output, U(s) = Laplace transform of input, s = σ + jω = complex frequency variable. Requirement: zero initial conditions.
Die Übertragungsfunktion beschreibt, wie ein lineares zeitinvariantes (LTI) System ein Eingangssignal in ein Ausgangssignal umwandelt — im Frequenzbereich. Beispiel: RC-Tiefpass mit R = 1 kΩ, C = 1 µF → G(s) = 1/(1 + 0,001·s). Die Grenzfrequenz liegt bei 1/(2πRC) ≈ 159 Hz.
The transfer function describes how a linear time-invariant (LTI) system transforms an input into an output — in the frequency domain. Example: RC low-pass with R = 1 kΩ, C = 1 µF → G(s) = 1/(1 + 0.001·s). The cutoff frequency is 1/(2πRC) ≈ 159 Hz.
Pole und NullstellenPoles and Zeros
G(s) = K · (s − z1)(s − z2) … (s − zm)(s − p1)(s − p2) … (s − pn)
zi = Nullstellen (Zähler = 0, Ausgang verschwindet), pi = Pole (Nenner = 0, Ausgang → ∞). K = Verstärkungsfaktor. Ordnung des Systems = Grad des Nennerpolynoms = n.
zi = zeros (numerator = 0, output vanishes), pi = poles (denominator = 0, output → ∞). K = gain factor. System order = degree of denominator polynomial = n.
Stabilitätsregel: Alle Pole müssen in der linken s-Halbebene liegen (Re(pi) < 0), dann klingen alle Anteile der Impulsantwort ab → System stabil. Ein Pol bei s = −3 → Zeitkonstante τ = 1/3 s. Ein Pol auf der imaginären Achse → Dauerschwingung. Ein Pol rechts → instabil (exponentielles Wachstum).
Stability rule: all poles must lie in the left half of the s-plane (Re(pi) < 0), then all impulse response components decay → system stable. A pole at s = −3 → time constant τ = 1/3 s. A pole on the imaginary axis → sustained oscillation. A pole on the right → unstable (exponential growth).
Elementare ÜbertragungsgliederElementary Transfer Elements
GliedElement G(s) SprungantwortStep Response
P (Proportional)P (Proportional)KSofortiger Sprung auf KImmediate jump to K
I (Integrator)I (Integrator)1/sRampe (linear steigend)Ramp (linearly rising)
D (Differenzierer)D (Differentiator)sDirac-Impuls (Spike)Dirac impulse (spike)
PT1 (Verzögerung 1. Ord.)First-order lagK/(1+τs)Exponentiell → K (63 % bei t = τ)Exponential → K (63 % at t = τ)
PT2 (Schwingungsfähig)Second-order (oscillatory)n²/(s²+2ζωns+ωn²)Schwingend für ζ < 1Oscillatory for ζ < 1
Totzeit (Delay)Dead time (delay)e−Td·sSprung verzögert um TdStep delayed by Td
τ = Zeitkonstante, ωn = Eigenfrequenz, ζ = Dämpfungsgrad (0 = ungedämpft, 1 = kritisch gedämpft), Td = Totzeit.
τ = time constant, ωn = natural frequency, ζ = damping ratio (0 = undamped, 1 = critically damped), Td = dead time.
Sprungantworten — Übertragungsglieder im Vergleich P K sofort auf K I Rampe D Impuls PT1 63% K τ PT2 K Überschwingen ζ = 0,3 (unterdämpft) Td Td verzögerter Sprung PT1+Td K Td typisch: Heizung, Motor x-Achse = Zeit t, y-Achse = Ausgang y(t) nach Eingangssprung u(t) = 1 bei t = 0
Praxis: Die meisten thermischen Strecken sind PT1-Tt-Modelle (Verzögerung + Totzeit). Ein Motor mit Feder ist ein PT2-Glied. Ein Förderband ist eine reine Totzeit. Reihenschaltung zweier PT1-Glieder: G(s) = G1(s) · G2(s) → Pole addieren sich.
Practice: most thermal plants are first-order-plus-dead-time models. A motor with spring is a PT2 element. A conveyor belt is pure dead time. Series connection of two PT1 elements: G(s) = G1(s) · G2(s) → poles add up.
Blockschaltbild-AlgebraBlock Diagram Algebra
SchaltungConnection Gges(s)
ReihenschaltungSeries (cascade)G1 · G2
ParallelschaltungParallelG1 + G2
Negative RückkopplungNegative feedbackG/(1 + G·H)
Positive RückkopplungPositive feedbackG/(1 − G·H)
Die Rückkopplungsformel G/(1+G·H) ist die wichtigste Gleichung der Regelungstechnik! Bei H = 1 (Einheitsrückführung): Gcl = G/(1+G). Beispiel: PID-Regler C(s) in Reihe mit Strecke P(s) → Offener Kreis L(s) = C·P → Geschlossener Kreis: T(s) = L/(1+L).
The feedback formula G/(1+G·H) is the most important equation in control theory! With H = 1 (unity feedback): Gcl = G/(1+G). Example: PID controller C(s) in series with plant P(s) → open loop L(s) = C·P → closed loop: T(s) = L/(1+L).

31.2 Bode-Diagramm

31.2 Bode Plot

Frequenzgang und Bode-DarstellungFrequency Response and Bode Representation
G(jω) = |G(jω)| · ejφ(ω)
|G|dB = 20 · log10 |G(jω)|  [dB]
φ(ω) = arctan ( Im(G(jω))Re(G(jω)) )  [°]
= s mit σ = 0 (rein imaginär → Eingang ist Sinus). |G| = Amplitudenverhältnis (Betrag), φ = Phasenverschiebung. Das Bode-Diagramm zeigt Betrag (in dB) und Phase (in °) über der Frequenz ω (logarithmisch).
= s with σ = 0 (purely imaginary → input is sine). |G| = amplitude ratio (magnitude), φ = phase shift. The Bode plot shows magnitude (in dB) and phase (in °) versus frequency ω (logarithmic).
Was bedeutet das praktisch? Das Bode-Diagramm beantwortet eine einfache Frage: Wenn ich ein Sinussignal mit einer bestimmten Frequenz in ein System hineingebe — wie stark kommt es hinten wieder heraus (Verstärkung), und um wie viel ist es zeitlich verschoben (Phase)?

Verstärkung (Betrag): Stell dir einen Audioverstärker vor. Bei tiefen Tönen (Bass, 100 Hz) verstärkt er das Signal um Faktor 10 (= 20 dB). Bei hohen Tönen (10 kHz) kommt fast nichts mehr durch (−20 dB = Faktor 0,1). Die Grenzfrequenz ist dort, wo das Signal auf 70,7 % abgefallen ist (−3 dB) — das ist die Frequenz, ab der du den Unterschied hörst.

Phase: Bei tiefen Frequenzen folgt der Ausgang dem Eingang sofort (0° Verschiebung). Bei der Grenzfrequenz hinkt der Ausgang dem Eingang um eine Achtel-Schwingung hinterher (−45°). Bei hohen Frequenzen ist er eine Viertel-Schwingung zurück (−90°).

Beispiel Heizungsregelung: Der Sollwert schwankt langsam (Tag/Nacht-Zyklus, ω ≈ 0,00007 rad/s) → die Heizung folgt problemlos (0 dB, 0°). Aber schnelle Störungen (Fenster auf/zu, ω ≈ 0,1 rad/s) werden vom trägen System stark gedämpft — die Raumtemperatur reagiert kaum. Das ist im Bode-Diagramm ablesbar: Unterhalb der Knickfrequenz kommt alles durch, darüber wird es abgeschnitten.
What does this mean in practice? The Bode plot answers a simple question: if I feed a sine wave at a given frequency into a system — how much comes out the other end (gain), and how much is it shifted in time (phase)?

Gain (magnitude): Imagine an audio amplifier. At low frequencies (bass, 100 Hz) it amplifies the signal by a factor of 10 (= 20 dB). At high frequencies (10 kHz) almost nothing comes through (−20 dB = factor 0.1). The cutoff frequency is where the signal drops to 70.7 % (−3 dB) — that's the frequency above which you hear the difference.

Phase: At low frequencies the output follows the input immediately (0° shift). At the cutoff frequency the output lags behind by one-eighth of a period (−45°). At high frequencies it's a quarter period behind (−90°).

Heating control example: The setpoint varies slowly (day/night cycle, ω ≈ 0.00007 rad/s) → the heater tracks it easily (0 dB, 0°). But fast disturbances (window open/close, ω ≈ 0.1 rad/s) are heavily attenuated by the sluggish system — room temperature barely reacts. This is readable in the Bode plot: below the corner frequency everything passes through, above it gets cut off.
Bode-Diagramm — Asymptotische KonstruktionBode Plot — Asymptotic Construction
Bode-Diagramm: PT1-Glied G(s) = K/(1+τs) Betrag [dB] 0,01/τ 0,1/τ 1/τ 10/τ 20lgK −3dB −20 dB/Dekade exakt −3 dB Phase [°] −45° −90° −45°
Faustregeln PT1: Unterhalb der Knickfrequenz ωk = 1/τ ist der Betrag konstant bei 20·lg(K). Oberhalb fällt er mit −20 dB/Dekade. Bei ωk genau: −3 dB und −45° Phase. Jedes PT1-Glied in Reihe addiert weitere −20 dB/Dekade und −90°. Zwei PT1 → −40 dB/Dek, max −180°.
Rules of thumb for PT1: below the corner frequency ωk = 1/τ, magnitude is constant at 20·log(K). Above, it falls at −20 dB/decade. At ωk exactly: −3 dB and −45° phase. Each PT1 in series adds another −20 dB/decade and −90°. Two PT1 → −40 dB/dec, max −180°.
Amplituden- und PhasenrandGain Margin and Phase Margin
Phasenrand: φR = 180° + φ(ωc)  bei |G(jωc)| = 0 dB
Amplitudenrand: AR = −|G(jωπ)|dB  bei φ(ωπ) = −180°
ωc = Durchtrittsfrequenz (|G| = 0 dB = 1), ωπ = Phasenschnittfrequenz (φ = −180°). Stabil wenn φR > 0 und AR > 0. Gute Praxis: φR ≥ 45°, AR ≥ 6 dB.
ωc = gain crossover frequency (|G| = 0 dB = 1), ωπ = phase crossover frequency (φ = −180°). Stable if φR > 0 and AR > 0. Good practice: φR ≥ 45°, AR ≥ 6 dB.
Beispiel: Offener Kreis L(s) = 10/((1+s)(1+0,1s)). Bei ωc ≈ 3 rad/s ist |L| = 0 dB und φ ≈ −120° → φR = 180° − 120° = 60°. Ausreichend stabil! Wenn Kp erhöht wird, verschiebt sich ωc nach rechts, φR sinkt → irgendwann instabil.
Example: open loop L(s) = 10/((1+s)(1+0.1s)). At ωc ≈ 3 rad/s, |L| = 0 dB and φ ≈ −120° → φR = 180° − 120° = 60°. Sufficiently stable! If Kp is increased, ωc shifts right, φR decreases → eventually unstable.

31.3 Stabilitätskriterien (Nyquist, Routh-Hurwitz)

31.3 Stability Criteria (Nyquist, Routh-Hurwitz)

Pol-Nullstellen-Diagramm — Stabilität auf einen BlickPole-Zero Map — Stability at a Glance
Pol-Nullstellen-Diagramm (s-Ebene) σ (Re) jω (Im) STABIL STABLE INSTABIL UNSTABLE × × p₁ = −2+j3 p₂ = −2−j3 × p₃ = −5 × instabil! × Grenzstabil Marginal z₁ = −3 × = Pol = Nullstelle Links der jω-Achse = stabil, rechts = instabil Left of jω axis = stable, right = unstable
Faustregel: Je weiter links ein Pol liegt, desto schneller klingt er ab (τ = 1/|σ|). Konjugiert-komplexe Polpaare (p₁, p₂) erzeugen gedämpfte Schwingungen. Reelle Pole erzeugen reine Exponentialfunktionen. Ein Pol auf der jω-Achse schwingt ewig — wie eine ideale Stimmgabel.
Rule of thumb: the further left a pole sits, the faster it decays (τ = 1/|σ|). Conjugate-complex pole pairs (p₁, p₂) produce damped oscillations. Real poles produce pure exponentials. A pole on the jω axis oscillates forever — like an ideal tuning fork.
Nyquist-Ortskurve — Grafisches StabilitätskriteriumNyquist Plot — Graphical Stability Criterion
Nyquist-Ortskurve G(jω) Re Im −1 Kritischer Punkt Critical point ω ↑ ω=0 ω→∞ Abstand > 0 → stabil Distance > 0 → stable Stabil: Ortskurve umschließt den Punkt −1 NICHT (bei stabilem offenen Kreis) Stable: curve does NOT encircle the point −1 (for stable open loop)
N = P − Z  →  Z = P − N
N = Umrundungen des Punktes −1+j0 (gegen Uhrzeigersinn positiv), P = instabile Pole des offenen Kreises, Z = instabile Pole des geschlossenen Kreises. Stabil wenn Z = 0.
N = encirclements of −1+j0 (counterclockwise positive), P = unstable open-loop poles, Z = unstable closed-loop poles. Stable if Z = 0.
Praktische Bedeutung: Je weiter die Ortskurve vom Punkt −1 entfernt bleibt, desto stabiler ist das System. Der kürzeste Abstand zwischen Kurve und −1 ist ein Maß für die Robustheit. In der Praxis wird oft statt der Nyquist-Ortskurve das Bode-Diagramm verwendet — einfacher zu zeichnen und abzulesen.
Practical meaning: the further the curve stays from −1, the more stable the system. The shortest distance between curve and −1 is a measure of robustness. In practice, the Bode plot is often used instead — easier to draw and read.
Routh-Hurwitz-KriteriumRouth-Hurwitz Criterion
ansn + an−1sn−1 + … + a1s + a0 = 0
Routh-Tableau s⁰ a₃ a₁ a₂ a₀ b₁ c₁ b₁ = a₂·a₁ − a₃·a₀ a₂ Erste Spalte: alle > 0? First column: all > 0? → Ja = stabil → Yes = stable Vorzeichenwechsel = instabile Pole Sign changes = unstable poles
Schnellprüfung: Sind alle Koeffizienten ai positiv und keiner gleich null? Falls nein → sofort instabil, kein Tableau nötig. Falls ja → Tableau ausfüllen und erste Spalte prüfen. Beispiel: s³ + 6s² + 11s + 6 = 0 → alle positiv, Tableau: [1, 11], [6, 6], [10, 0], [6] → erste Spalte: 1, 6, 10, 6 — alle positiv → stabil! (Pole bei −1, −2, −3).
Quick check: are all coefficients ai positive and none zero? If not → immediately unstable, no tableau needed. If yes → fill tableau and check first column. Example: s³ + 6s² + 11s + 6 = 0 → all positive, tableau: [1, 11], [6, 6], [10, 0], [6] → first column: 1, 6, 10, 6 — all positive → stable! (Poles at −1, −2, −3).
ai = Koeffizienten des charakteristischen Polynoms. Ein System ist stabil, wenn alle Elemente der ersten Spalte der Routh-Tabelle positiv sind (keine Vorzeichenwechsel).
ai = coefficients of the characteristic polynomial. A system is stable if all elements of the first column of the Routh table are positive (no sign changes).
Stabilitätsübersicht — Wann welches Kriterium?Stability Overview — Which Criterion When?
Polstellen prüfen Check pole locations Niedrige Ordnung (n ≤ 3), numerisch Low order (n ≤ 3), numerical Routh-Hurwitz Analytisch, Parameter-Grenzen Analytical, parameter bounds ✅ Bode-Diagramm ✅ Bode Plot Praxis-Standard, Reglerentwurf Standard practice, controller design φ_R ≥ 45°, A_R ≥ 6 dB Nyquist-Ortskurve Nyquist Plot Instabiler offener Kreis, Totzeit Unstable open loop, dead time Punkt −1 nicht umschließen Don't encircle point −1 Empfehlung für die Praxis Practical recommendation PID-Reglerentwurf (Kap. 30) → Bode-Diagramm verwenden. PID controller design (Ch. 30) → use Bode plot. "Bei welchem K wird es instabil?" → Routh-Hurwitz. "At which K does it become unstable?" → Routh-Hurwitz. Totzeit oder instabiler offener Kreis → Nyquist. Dead time or unstable open loop → Nyquist.
☰ Inhalt ☰ Contents
Kapitel 32Chapter 32ZustandsraumdarstellungState-Space Representation
Kapitel 32Chapter 32

Zustandsraumdarstellung 🎯

State-Space Representation 🎯

32.1 Zustandsgleichungen

32.1 State Equations

Zustandsgleichung (kontinuierlich)State Equation (Continuous)
x(t) = A · x(t) + B · u(t)
y(t) = C · x(t) + D · u(t)
x(t) = Zustandsvektor (n×1), u(t) = Eingangsvektor (p×1), y(t) = Ausgangsvektor (q×1), A = Systemmatrix (n×n), B = Eingangsmatrix (n×p), C = Ausgangsmatrix (q×n), D = Durchgangsmatrix (q×p)
x(t) = state vector (n×1), u(t) = input vector (p×1), y(t) = output vector (q×1), A = system matrix (n×n), B = input matrix (n×p), C = output matrix (q×n), D = feedthrough matrix (q×p)
Das Zustandsraummodell beschreibt jedes LTI-System vollständig. Beispiel PID-Regler auf FPGA: Die Zustandsvariablen sind Integral- und Differenzialanteil. Gegenüber der Übertragungsfunktion erfasst die Zustandsraumdarstellung auch innere Zustände und Mehrgrößensysteme.
The state-space model completely describes any LTI system. Example: PID controller on FPGA — state variables are the integral and derivative terms. Unlike transfer functions, state-space captures internal states and MIMO systems.
Zustandsgleichung (diskret)State Equation (Discrete)
x[k+1] = Ad · x[k] + Bd · u[k]
y[k] = Cd · x[k] + Dd · u[k]
Ad = eA·T (diskretisierte Systemmatrix), Bd = A⁻¹·(eAT − I)·B, T = Abtastzeit
Ad = eA·T (discretized system matrix), Bd = A⁻¹·(eAT − I)·B, T = sampling period
Auf FPGA und Mikrocontrollern arbeitet man immer diskret. Die Diskretisierung mit ZOH (Zero-Order Hold) erzeugt A_d und B_d aus den kontinuierlichen Matrizen.
On FPGAs and microcontrollers, you always work discretely. ZOH discretization produces A_d and B_d from continuous matrices.

32.2 Lösung und Transitionsmatrix

32.2 Solution and Transition Matrix

Matrixexponential (Transitionsmatrix)Matrix Exponential (State Transition Matrix)
Φ(t) = eAt = k=0 (At)kk! = I + At + (At)22! + ⋯
Φ(t) = Fundamentalmatrix, I = Einheitsmatrix. Es gilt: Φ(0) = I, Φ(t₁+t₂) = Φ(t₁)·Φ(t₂), Φ⁻¹(t) = Φ(−t)
Φ(t) = fundamental matrix, I = identity matrix. Properties: Φ(0) = I, Φ(t₁+t₂) = Φ(t₁)·Φ(t₂), Φ⁻¹(t) = Φ(−t)
Allgemeine LösungGeneral Solution
x(t) = eAt · x(0) + t0 eA(t−τ) · B · u(τ) dτ
Erster Term: freie Bewegung (homogene Lösung). Zweiter Term: Faltungsintegral (erzwungene Bewegung).
First term: free response (homogeneous solution). Second term: convolution integral (forced response).

32.3 Steuerbarkeit und Beobachtbarkeit

32.3 Controllability and Observability

Steuerbarkeitsmatrix (Kalman)Controllability Matrix (Kalman)
QS = [B | AB | A2B | ⋯ | An−1B]
Steuerbar ⟺ rang(QS) = n
Ein System ist steuerbar, wenn jeder Zustand durch geeignete Eingangsfolgen erreicht werden kann. Wichtig für Reglerentwurf: Nur steuerbare Systeme können durch Zustandsrückführung stabilisiert werden.
A system is controllable if every state can be reached by suitable input sequences. Important for controller design: only controllable systems can be stabilized via state feedback.
BeobachtbarkeitsmatrixObservability Matrix
QB = C CA CAn−1
Beobachtbar ⟺ rang(QB) = n
Ein System ist beobachtbar, wenn der innere Zustand aus den Ausgangsmessungen rekonstruiert werden kann. Voraussetzung für Beobachter/Kalman-Filter.
A system is observable if the internal state can be reconstructed from output measurements. Prerequisite for observers/Kalman filters.
Zustandsrückführung (Polvorgabe)State Feedback (Pole Placement)
u = −K · x + r
Geschlossenes System: x = (ABK) · x + B · r
K = Rückführmatrix. Die Eigenwerte von (ABK) bestimmen die Dynamik des geschlossenen Kreises. Bei Steuerbarkeit können alle Pole beliebig vorgegeben werden (Ackermann-Formel).
K = feedback gain matrix. The eigenvalues of (ABK) determine closed-loop dynamics. If controllable, all poles can be placed arbitrarily (Ackermann's formula).
☰ Inhalt ☰ Contents
Kapitel 33Chapter 33Gleich- und WechselstromDC and AC Circuits
Kapitel 33Chapter 33

Gleich- und Wechselstrom 🌱

DC and AC Circuits 🌱

33.1 Gleichstrom-Grundlagen

33.1 DC Fundamentals

Ohmsches GesetzOhm's Law
U = R · I  ⟺  I = UR  ⟺  R = UI
U = Spannung [V], I = Strom [A], R = Widerstand [Ω]
U = voltage [V], I = current [A], R = resistance [Ω]
Grundlage jeder Schaltungsberechnung. Auf dem BASYS3 Board: 3.3V-Logik mit Pull-up-Widerständen. Bei 3.3V und 330Ω fließen 10mA — typisch für eine LED.
Foundation of every circuit calculation. On the BASYS3 board: 3.3V logic with pull-up resistors. At 3.3V and 330Ω, 10mA flows — typical for an LED.
Elektrische LeistungElectrical Power
P = U · I = R · I2 = U2R
P = Leistung [W]. Energie: W = P · t [Wh]. 1 kWh = 3.6 MJ.
P = power [W]. Energy: W = P · t [Wh]. 1 kWh = 3.6 MJ.
Kirchhoffsche GesetzeKirchhoff's Laws
KCL (Knotenregel): nk=1 Ik = 0
KVL (Maschenregel): nk=1 Uk = 0
KCL: Die Summe aller Ströme an einem Knoten ist Null. KVL: Die Summe aller Spannungen in einer Masche ist Null.
KCL: Sum of all currents at a node equals zero. KVL: Sum of all voltages around a loop equals zero.
Reihen- und ParallelschaltungSeries and Parallel Circuits
GrößeQuantityReiheSeriesParallelParallel
Widerstand RResistance RRges = R₁ + R₂ + ⋯1/Rges = 1/R₁ + 1/R₂ + ⋯
Kapazität CCapacitance C1/Cges = 1/C₁ + 1/C₂ + ⋯Cges = C₁ + C₂ + ⋯
Induktivität LInductance LLges = L₁ + L₂ + ⋯1/Lges = 1/L₁ + 1/L₂ + ⋯
Merkhilfe: Widerstände verhalten sich genau umgekehrt wie Kondensatoren. Zwei gleiche Widerstände parallel: R/2. Zwei gleiche Kondensatoren parallel: 2C.
Mnemonic: Resistors behave exactly opposite to capacitors. Two equal resistors in parallel: R/2. Two equal capacitors in parallel: 2C.

33.2 Wechselstrom

33.2 Alternating Current

Sinusförmige WechselgrößenSinusoidal AC Quantities
u(t) = U · sin(ωt + φ)   mit   ω = 2πf = T
û = Amplitude (Scheitelwert), ω = Kreisfrequenz [rad/s], f = Frequenz [Hz], T = Periodendauer [s], φ = Phasenwinkel [rad]
û = amplitude (peak value), ω = angular frequency [rad/s], f = frequency [Hz], T = period [s], φ = phase angle [rad]
Effektivwert (RMS)Root Mean Square (RMS)
Ueff = U2 ≈ 0.707 · U
Netzspannung: U = 325V → Ueff = 230V. Der Effektivwert erzeugt dieselbe Wärmeleistung wie eine entsprechende Gleichspannung.
Mains voltage: U = 325V → Ueff = 230V. The RMS value produces the same heating power as an equivalent DC voltage.
Komplexe ImpedanzenComplex Impedances
BauteilComponentImpedanz ZImpedance ZPhasenverschiebungPhase Shift
WiderstandResistorZR = R
KondensatorCapacitorZC = 1/(jωC)−90°
SpuleInductorZL = jωL+90°
j = imaginäre Einheit (√−1). Betrag: |Z| = √(Re²+Im²). Phasenwinkel: φ = arctan(Im/Re). Merkhilfe: Bei Kapazität eilt Strom vor (I = C·dU/dt), bei Induktivität eilt Spannung vor.
j = imaginary unit (√−1). Magnitude: |Z| = √(Re²+Im²). Phase: φ = arctan(Im/Re). Mnemonic: for capacitors current leads ("ICE"), for inductors voltage leads ("ELI").
Resonanzfrequenz (LC-Schwingkreis)Resonance Frequency (LC Circuit)
f0 = 1LC   ω0 = 1LC
Bei Resonanz: XL = XC → rein ohmscher Widerstand. Güte: Q = ω₀L/R = 1/(ω₀CR). Bandbreite: B = f₀/Q.
At resonance: XL = XC → purely resistive impedance. Quality factor: Q = ω₀L/R = 1/(ω₀CR). Bandwidth: B = f₀/Q.

33.3 Spannungsteiler und Brückenschaltungen

33.3 Voltage Dividers and Bridge Circuits

Spannungsteiler (belastet und unbelastet)Voltage Divider (Loaded and Unloaded)
U2 = Uges · R2R1 + R2
Unbelasteter Teiler. Bei Last RL: R₂ durch R₂‖RL ersetzen. ADC-Referenzspannungen werden häufig über Spannungsteiler erzeugt.
Unloaded divider. With load RL: replace R₂ with R₂‖RL. ADC reference voltages are often generated using voltage dividers.
Wheatstone-BrückeWheatstone Bridge
UBrücke = Uges · R1R1 + R2 R3R3 + R4
Abgleich (UBrücke = 0): R₁·R₄ = R₂·R₃
Messtechnisch extrem wichtig: DMS (Dehnungsmessstreifen), Temperatursensoren (PT100), Drucksensoren arbeiten als Brückenschaltung.
Extremely important in measurement: strain gauges, temperature sensors (PT100), pressure sensors work as bridge circuits.
☰ Inhalt ☰ Contents
Kapitel 34Chapter 34Halbleiter und OperationsverstärkerSemiconductors and Op-Amps
Kapitel 34Chapter 34

Halbleiter und Operationsverstärker 📘

Semiconductors and Op-Amps 📘

34.1 Halbleiter-Grundlagen

34.1 Semiconductor Fundamentals

Diodenkennlinie (Shockley-Gleichung)Diode Characteristic (Shockley Equation)
ID = IS · eUD/(n·UT) − 1
IS = Sperrsättigungsstrom (typ. 10⁻¹² A), UT = Temperaturspannung = kT/q ≈ 26 mV (bei 300K), n = Emissionskoeffizient (1…2)
IS = reverse saturation current (typ. 10⁻¹² A), UT = thermal voltage = kT/q ≈ 26 mV (at 300K), n = ideality factor (1…2)
Vereinfachte Praxis: Si-Diode hat UF ≈ 0.7V Flussspannung. Schottky-Diode: ≈ 0.3V. LED: je nach Farbe 1.8V (rot) bis 3.3V (blau/weiß).
Simplified practice: Si diode has UF ≈ 0.7V forward voltage. Schottky diode: ≈ 0.3V. LED: 1.8V (red) to 3.3V (blue/white) depending on color.
MOSFET — Drain-Strom (Sättigungsbereich)MOSFET — Drain Current (Saturation Region)
ID = μn · Cox2 · WL · (UGS − Uth)2
μn = Elektronenbeweglichkeit, Cox = Gate-Oxidkapazität, W/L = Kanalbreite/Kanallänge, Uth = Schwellenspannung. Bedingung: UDS ≥ UGS − Uth
μn = electron mobility, Cox = gate oxide capacitance, W/L = channel width/length, Uth = threshold voltage. Condition: UDS ≥ UGS − Uth
FPGAs bestehen aus Millionen von MOSFETs. Die W/L-Verhältnisse bestimmen Geschwindigkeit und Leistungsaufnahme. In modernen FPGAs (z.B. Artix-7 auf BASYS3): 28nm Technologie.
FPGAs consist of millions of MOSFETs. W/L ratios determine speed and power consumption. In modern FPGAs (e.g., Artix-7 on BASYS3): 28nm technology.

34.2 Operationsverstärker

34.2 Operational Amplifiers

GrundschaltungenBasic Configurations
SchaltungCircuitVerstärkungGainEingangswiderstandInput Impedance
InvertierendInvertingA = −Rf/RinZin = Rin
Nicht-invertierendNon-invertingA = 1 + Rf/RinZin → ∞
SpannungsfolgerVoltage followerA = 1Zin → ∞
DifferenzverstärkerDifference amplifierA = Rf/Rin · (U₂−U₁)2·Rin
SummiererSumming amplifierUout = −Rf(U₁/R₁+U₂/R₂+⋯)R₁, R₂, …
Die "goldenen Regeln" des idealen OpAmps: (1) Kein Strom fließt in die Eingänge. (2) Die Differenzspannung ist Null bei Gegenkopplung. Damit lassen sich alle Schaltungen herleiten.
The "golden rules" of the ideal op-amp: (1) No current flows into the inputs. (2) The differential voltage is zero with negative feedback. All circuits can be derived from these rules.
Integrierer und DifferenziererIntegrator and Differentiator
Integrierer: Uout = − 1R·C t0 Uin(τ) dτ
Differenzierer: Uout = −R·C · dUindt
Der Integrierer realisiert den I-Anteil, der Differenzierer den D-Anteil eines PID-Reglers analog. Digital wird dies durch Summation bzw. Differenzbildung ersetzt.
The integrator realizes the I-term, the differentiator the D-term of an analog PID controller. Digitally, these are replaced by summation and differencing.
Bandbreite-Verstärkung-Produkt (GBP)Gain-Bandwidth Product (GBP)
GBP = |A| · f−3dB = const.
Bei höherer Verstärkung sinkt die Bandbreite proportional. Typisch: GBP = 1 MHz (LM741), 80 MHz (OPA2134), 900 MHz (AD8065). Für den ADC-Vorfilter im FPGA-PID muss f-3dB > fNyquist sein.
Higher gain proportionally reduces bandwidth. Typical: GBP = 1 MHz (LM741), 80 MHz (OPA2134), 900 MHz (AD8065). For the ADC anti-aliasing filter in FPGA-PID, f-3dB > fNyquist is required.
☰ Inhalt ☰ Contents
Kapitel 35Chapter 35Elektromagnetische FelderElectromagnetic Fields
Kapitel 35Chapter 35

Elektromagnetische Felder 📘

Electromagnetic Fields 📘

35.1 Elektrostatik

35.1 Electrostatics

Coulombsches GesetzCoulomb's Law
F = 14π ε0 · Q1 · Q2r2
ε0 = 8.854·10⁻¹² F/m (Permittivität des Vakuums), Q = Ladung [C], r = Abstand [m], F = Kraft [N]
ε0 = 8.854·10⁻¹² F/m (vacuum permittivity), Q = charge [C], r = distance [m], F = force [N]
Kapazität (Plattenkondensator)Capacitance (Parallel Plate Capacitor)
C = ε0 · εr · Ad
εr = relative Permittivität (SiO₂: 3.9, Luft: 1.0006), A = Plattenfläche, d = Plattenabstand. Gespeicherte Energie: W = ½·C·U²
εr = relative permittivity (SiO₂: 3.9, air: 1.0006), A = plate area, d = plate separation. Stored energy: W = ½·C·U²

35.2 Magnetismus und Induktion

35.2 Magnetism and Induction

Induktionsgesetz (Faraday)Law of Induction (Faraday)
Uind = −N · dt = −N · d(B·A)dt
N = Windungszahl, Φ = magnetischer Fluss [Wb], B = Flussdichte [T], A = Fläche [m²]. Selbstinduktion: U = −L · dI/dt.
N = number of turns, Φ = magnetic flux [Wb], B = flux density [T], A = area [m²]. Self-induction: U = −L · dI/dt.
LorentzkraftLorentz Force
F = Q · (E + v × B)
Kraft auf eine Ladung in elektrischem und magnetischem Feld. Für stromführenden Leiter: F = I · L × B (Kraft auf Leiter der Länge L).
Force on a charge in electric and magnetic fields. For current-carrying conductor: F = I · L × B (force on conductor of length L).

35.3 Maxwell-Gleichungen

35.3 Maxwell's Equations

Maxwell-Gleichungen (Integralform)Maxwell's Equations (Integral Form)
GesetzLawGleichungEquation
Gauß (E-Feld)Gauss (E-field)E·dA = Q/ε₀
Gauß (B-Feld)Gauss (B-field)B·dA = 0
FaradayFaradayE·dl = −dΦB/dt
Ampère-MaxwellAmpère-MaxwellB·dl = μ₀(I + ε₀·dΦE/dt)
Die vier Maxwell-Gleichungen beschreiben alle elektromagnetischen Phänomene. Aus ihnen folgt die Wellengleichung und die Lichtgeschwindigkeit: c = 1/√(μ₀·ε₀) ≈ 3·10⁸ m/s.
The four Maxwell equations describe all electromagnetic phenomena. From them follows the wave equation and the speed of light: c = 1/√(μ₀·ε₀) ≈ 3·10⁸ m/s.
☰ Inhalt ☰ Contents
Kapitel 36Chapter 36InformationstheorieInformation Theory
Kapitel 36Chapter 36

Informationstheorie 📘

Information Theory 📘

36.1 Entropie und Information

36.1 Entropy and Information

Shannon-EntropieShannon Entropy
H(X) = − ni=1 pi · log2(pi)   [bit]
pi = Wahrscheinlichkeit des i-ten Symbols. Maximum bei Gleichverteilung: Hmax = log₂(n). Für 256 Symbole (1 Byte): Hmax = 8 bit.
pi = probability of i-th symbol. Maximum at uniform distribution: Hmax = log₂(n). For 256 symbols (1 byte): Hmax = 8 bit.
In der Kryptographie messen wir damit die Entropie von Schlüsseln und Zufallszahlen. AES-256: 256 bit Entropie. Die Self-Crypto Tool Suite verwendet CSPRNG mit voller Byte-Entropie.
In cryptography, we measure key and random number entropy this way. AES-256: 256 bits of entropy. The Self-Crypto Tool Suite uses CSPRNG with full byte entropy.
Informationsgehalt eines ZeichensInformation Content of a Symbol
I(xi) = −log2(pi) = log2 1pi   [bit]
Je seltener ein Zeichen, desto mehr Information trägt es. Beispiel: 'e' in deutschem Text hat p ≈ 0.17, I ≈ 2.56 bit. 'q' hat p ≈ 0.0002, I ≈ 12.3 bit.
The rarer a symbol, the more information it carries. Example: 'e' in German text has p ≈ 0.17, I ≈ 2.56 bit. 'q' has p ≈ 0.0002, I ≈ 12.3 bit.
Bedingte Entropie und TransinformationConditional Entropy and Mutual Information
I(X;Y) = H(X) − H(X|Y) = H(Y) − H(Y|X) = H(X) + H(Y) − H(X,Y)
H(X|Y) = bedingte Entropie (Restunsicherheit über X wenn Y bekannt), I(X;Y) = Transinformation (gegenseitige Information). Es gilt: 0 ≤ I(X;Y) ≤ min{H(X), H(Y)}.
H(X|Y) = conditional entropy (remaining uncertainty about X given Y), I(X;Y) = mutual information. Bounds: 0 ≤ I(X;Y) ≤ min{H(X), H(Y)}.

36.2 Quellencodierung und Kanalkapazität

36.2 Source Coding and Channel Capacity

Shannon-Theorem (Kanalkapazität)Shannon's Theorem (Channel Capacity)
C = B · log2 1 + SN   [bit/s]
C = Kanalkapazität, B = Bandbreite [Hz], S/N = Signal-Rausch-Verhältnis (linear, nicht in dB!). Beispiel: B=20 kHz, SNR=30 dB (=1000) → C ≈ 199 kbit/s.
C = channel capacity, B = bandwidth [Hz], S/N = signal-to-noise ratio (linear, not dB!). Example: B=20 kHz, SNR=30 dB (=1000) → C ≈ 199 kbit/s.
Huffman-Codierung — EffizienzHuffman Coding — Efficiency
H(X) ≤ L < H(X) + 1
η = H(X)L   (Codierungseffizienz)
L = mittlere Codewortlänge, η = Effizienz. Huffman-Code ist optimal unter allen Präfixcodes. Für längere Blöcke nähert sich L → H(X).
L = average codeword length, η = efficiency. Huffman code is optimal among all prefix codes. For longer blocks, L → H(X).
Datenrate und Nyquist-GrenzeData Rate and Nyquist Limit
Rmax = 2 · B · log2(M)   [bit/s]
M = Anzahl der Signalstufen. Rauschfrei: bei B = 3 kHz und M = 2: Rmax = 6 kbit/s. Mit mehr Stufen steigt die Rate, aber es braucht mehr SNR.
M = number of signal levels. Noiseless: at B = 3 kHz and M = 2: Rmax = 6 kbit/s. More levels increase rate but require more SNR.
☰ Inhalt ☰ Contents
Kapitel 37Chapter 37Fehlererkennende und -korrigierende CodesError Detection and Correction Codes
Kapitel 37Chapter 37

Fehlererkennende und -korrigierende Codes 📘

Error Detection and Correction Codes 📘

37.1 Grundbegriffe

37.1 Fundamentals

Hamming-DistanzHamming Distance
dH(a, b) = ni=1 (ai ⊕ bi)
Anzahl der Positionen, an denen sich zwei Codewörter unterscheiden. Mindestdistanz eines Codes: dmin = min{dH(c₁,c₂)} über alle Paare c₁≠c₂.
Number of positions where two codewords differ. Minimum distance of a code: dmin = min{dH(c₁,c₂)} over all pairs c₁≠c₂.
Fehlererkennung und -korrekturError Detection and Correction
Erkennung: e ≤ dmin − 1   Korrektur: t ≤ dmin − 12
e = erkennbare Fehler, t = korrigierbare Fehler. Beispiel Hamming(7,4): dmin = 3 → erkennt 2, korrigiert 1 Fehler.
e = detectable errors, t = correctable errors. Example Hamming(7,4): dmin = 3 → detects 2, corrects 1 error.

37.2 Hamming-Code

37.2 Hamming Code

Hamming(7,4) — ParameterHamming(7,4) — Parameters
n = 2r − 1 = 7,   k = n − r = 4,   r = 3
Coderate: R = k/n = 4/7 ≈ 0.571
n = Codewortlänge, k = Nutzdatenlänge, r = Redundanzbits. Allgemein: Hamming(2r−1, 2r−1−r) korrigiert 1 Fehler.
n = codeword length, k = data length, r = redundancy bits. General: Hamming(2r−1, 2r−1−r) corrects 1 error.
Syndrom-DekodierungSyndrome Decoding
s = H · rT
H = Prüfmatrix, r = empfangenes Wort, s = Syndrom. Wenn s = 0: kein Fehler. Wenn s ≠ 0: s zeigt die Fehlerposition (bei Single-Error-Correction).
H = parity check matrix, r = received word, s = syndrome. If s = 0: no error. If s ≠ 0: s indicates error position (for single-error-correction).

37.3 CRC — Zyklische Redundanzprüfung

37.3 CRC — Cyclic Redundancy Check

CRC-BerechnungCRC Computation
CRC = Nachricht(x) · xr mod G(x)
Division im GF(2)-Polynomring (XOR statt Subtraktion). G(x) = Generatorpolynom, r = Grad von G(x). Gesamtwort: M(x)·xr + CRC ist durch G(x) teilbar.
Division in GF(2) polynomial ring (XOR instead of subtraction). G(x) = generator polynomial, r = degree of G(x). Full word: M(x)·xr + CRC is divisible by G(x).
Gebräuchliche CRC-PolynomeCommon CRC Polynomials
CRCPolynomPolynomialErkennungDetectionAnwendungApplication
CRC-8x⁸+x²+x+11-Bit, Burst ≤ 81-bit, burst ≤ 8I²C, 1-Wire
CRC-16x¹⁶+x¹⁵+x²+11-Bit, Burst ≤ 161-bit, burst ≤ 16Modbus, USB
CRC-32x³²+x²⁶+x²³+…+11-3 Bit, Burst ≤ 321-3 bit, burst ≤ 32Ethernet, ZIP
CRC ist extrem effizient in Hardware implementierbar — als LFSR (Linear Feedback Shift Register) auf FPGA in einem Taktzyklus pro Bit. In SPI/UART-Protokollen oft als Abschlussfeld.
CRC is extremely efficiently implementable in hardware — as LFSR (Linear Feedback Shift Register) on FPGA in one clock cycle per bit. Often used as a trailer field in SPI/UART protocols.

37.4 Reed-Solomon-Codes

37.4 Reed-Solomon Codes

RS-Code ParameterRS Code Parameters
RS(n, k) über GF(2m):   n = 2m − 1,   2t = n − k
n = Codewortlänge (Symbole), k = Nutzdatenlänge, t = korrigierbare Symbolfehler, m = Bits pro Symbol. Singleton-Schranke: dmin = n − k + 1 = 2t + 1 (RS ist MDS-Code).
n = codeword length (symbols), k = data length, t = correctable symbol errors, m = bits per symbol. Singleton bound: dmin = n − k + 1 = 2t + 1 (RS is MDS code).
Im RS-Cross-Plattform-Projekt: RS(255,223) über GF(2⁸) mit t=16 korrigierbaren Symbolen. Generatorpolynom mit α als primitiver Wurzel von x⁸+x⁴+x³+x²+1. Dekodierung: Berlekamp-Massey + Chien-Search + Forney.
In the RS cross-platform project: RS(255,223) over GF(2⁸) with t=16 correctable symbols. Generator polynomial with α as primitive root of x⁸+x⁴+x³+x²+1. Decoding: Berlekamp-Massey + Chien search + Forney.
GeneratorpolynomGenerator Polynomial
g(x) = 2ti=1 (x − αi)
α = primitive Einheitswurzel in GF(2m). Codierung: c(x) = m(x)·xn−k + [m(x)·xn−k mod g(x)]. Systematischer Code: Nutzdaten bleiben unverändert.
α = primitive root of unity in GF(2m). Encoding: c(x) = m(x)·xn−k + [m(x)·xn−k mod g(x)]. Systematic code: data remains unchanged.
☰ Inhalt ☰ Contents
Kapitel 38Chapter 38Symmetrische KryptographieSymmetric Cryptography
Kapitel 38Chapter 38

Symmetrische Kryptographie 📘

Symmetric Cryptography 📘

38.1 Grundlagen

38.1 Fundamentals

Symmetrische VerschlüsselungSymmetric Encryption
c = EK(m)  ⟺  m = DK(c)
m = Klartext, c = Chiffretext, K = geheimer Schlüssel, E = Verschlüsselungsfunktion, D = Entschlüsselungsfunktion. Gleicher Schlüssel für Ver- und Entschlüsselung.
m = plaintext, c = ciphertext, K = secret key, E = encryption function, D = decryption function. Same key for encryption and decryption.
XOR-Verknüpfung (Vernam/OTP)XOR Operation (Vernam/OTP)
c = m ⊕ k  ⟹  m = c ⊕ k
One-Time-Pad (OTP): Beweisbar sicher wenn |k| ≥ |m| und k echt zufällig und nur einmal verwendet. Alle modernen Stromchiffren basieren auf XOR mit Pseudozufallsstrom.
One-Time-Pad (OTP): Provably secure if |k| ≥ |m| and k is truly random and used only once. All modern stream ciphers are based on XOR with a pseudorandom stream.
AES — SchlüsselparameterAES — Key Parameters
VarianteVariantSchlüssellängeKey LengthRundenRoundsBlockgrößeBlock Size
AES-128128 bit10128 bit
AES-192192 bit12128 bit
AES-256256 bit14128 bit
AES-256 bietet 2²⁵⁶ mögliche Schlüssel — mehr als Atome im sichtbaren Universum (≈2²⁶⁵). In der Self-Crypto Tool Suite: AES-256-GCM mit authentifizierter Verschlüsselung (AEAD).
AES-256 provides 2²⁵⁶ possible keys — more than atoms in the visible universe (≈2²⁶⁵). In the Self-Crypto Tool Suite: AES-256-GCM with authenticated encryption (AEAD).

38.2 Betriebsarten (Modes of Operation)

38.2 Modes of Operation

CBC — Cipher Block ChainingCBC — Cipher Block Chaining
Ci = EK(Pi ⊕ Ci−1)   mit   C0 = IV
IV = Initialisierungsvektor (zufällig, nicht geheim). Jeder Block hängt vom vorherigen ab → gleiche Klartextblöcke erzeugen unterschiedliche Chiffretexte.
IV = initialization vector (random, not secret). Each block depends on the previous one → identical plaintext blocks produce different ciphertexts.
GCM — Galois/Counter Mode (AEAD)GCM — Galois/Counter Mode (AEAD)
Ci = Pi ⊕ EK(Counteri)
Tag = GHASH(AAD ‖ C) ⊕ EK(Counter0)
Kombiniert CTR-Verschlüsselung mit GHASH-Authentifizierung. AAD = zusätzliche authentifizierte Daten, Tag = Authentifizierungstag (128 bit). Parallelisierbar, hardware-freundlich.
Combines CTR encryption with GHASH authentication. AAD = additional authenticated data, Tag = authentication tag (128 bit). Parallelizable, hardware-friendly.

38.3 Hash-Funktionen

38.3 Hash Functions

Kryptographische Hash-FunktionCryptographic Hash Function
h = H(m)   mit   H: {0,1}* → {0,1}n
Anforderungen: (1) Einweg (Urbild-Resistenz), (2) Schwache Kollisionsresistenz (2nd preimage), (3) Starke Kollisionsresistenz. Geburtstagsangriff: √(2n) = 2n/2 Versuche für Kollision.
Requirements: (1) One-way (preimage resistance), (2) Weak collision resistance (2nd preimage), (3) Strong collision resistance. Birthday attack: √(2n) = 2n/2 attempts for collision.
HMAC — Hash-basierter NachrichtenauthentifizierungscodeHMAC — Hash-based Message Authentication Code
HMAC(K, m) = H((K ⊕ opad) ‖ H((K ⊕ ipad) ‖ m))
opad = 0x5C×blocksize, ipad = 0x36×blocksize. Wird verwendet für Nachrichtenauthentifizierung, Schlüsselableitung (HKDF) und Passwort-Hashing (PBKDF2).
opad = 0x5C×blocksize, ipad = 0x36×blocksize. Used for message authentication, key derivation (HKDF), and password hashing (PBKDF2).
☰ Inhalt ☰ Contents
Kapitel 39Chapter 39Asymmetrische KryptographieAsymmetric Cryptography
Kapitel 39Chapter 39

Asymmetrische Kryptographie 📘

Asymmetric Cryptography 📘

39.1 RSA

39.1 RSA

RSA — SchlüsselerzeugungRSA — Key Generation
n = p · q   φ(n) = (p−1)(q−1)
e · d ≡ 1 (mod φ(n))
p, q = große Primzahlen (≥ 2048 bit), n = Modul (öffentlich), e = öffentlicher Exponent (oft 65537), d = privater Exponent. Öffentlicher Schlüssel: (n, e). Privater Schlüssel: (n, d).
p, q = large primes (≥ 2048 bit), n = modulus (public), e = public exponent (often 65537), d = private exponent. Public key: (n, e). Private key: (n, d).
RSA — Ver-/EntschlüsselungRSA — Encryption/Decryption
Verschlüsselung: c = me mod n
Entschlüsselung: m = cd mod n
Korrektheit folgt aus dem kleinen Satz von Fermat: med ≡ m (mod n). Sicherheit beruht auf der Schwierigkeit der Faktorisierung von n.
Correctness follows from Fermat's little theorem: med ≡ m (mod n). Security relies on the difficulty of factoring n.

39.2 Diffie-Hellman und Elliptische Kurven

39.2 Diffie-Hellman and Elliptic Curves

Diffie-Hellman SchlüsselaustauschDiffie-Hellman Key Exchange
A = ga mod p   B = gb mod p   K = gab mod p
g = Generator, p = große Primzahl, a, b = private Zufallszahlen. Alice sendet A, Bob sendet B. Beide berechnen K = Ba = Ab = gab mod p. Sicherheit basiert auf dem Diskreten-Logarithmus-Problem.
g = generator, p = large prime, a, b = private random numbers. Alice sends A, Bob sends B. Both compute K = Ba = Ab = gab mod p. Security based on the discrete logarithm problem.
Elliptische Kurve (Weierstraß-Form)Elliptic Curve (Weierstrass Form)
y2 = x3 + ax + b   (mod p)
ECDH: K = a · (b · G) = b · (a · G) = ab · G
G = Basispunkt auf der Kurve, a, b = private Skalare. ECDH bietet gleiche Sicherheit wie RSA bei viel kürzeren Schlüsseln: 256-bit ECC ≈ 3072-bit RSA. Curve25519 (x25519) ist Standard für moderne Protokolle.
G = base point on curve, a, b = private scalars. ECDH offers equivalent security to RSA with much shorter keys: 256-bit ECC ≈ 3072-bit RSA. Curve25519 (x25519) is standard for modern protocols.
Digitale Signatur (ECDSA)Digital Signature (ECDSA)
Signieren: (r, s) = Signd(H(m))   Verifizieren: VerifyQ(m, r, s)
d = privater Schlüssel, Q = d·G = öffentlicher Schlüssel, H = Hash-Funktion. Signatur beweist Authentizität und Integrität. Nicht-Abstreitbarkeit: Nur der Besitzer von d kann signieren.
d = private key, Q = d·G = public key, H = hash function. Signature proves authenticity and integrity. Non-repudiation: only the holder of d can sign.
☰ Inhalt ☰ Contents
Kapitel 40Chapter 40Sortier- und SuchalgorithmenSorting and Searching Algorithms
Kapitel 40Chapter 40

Sortier- und Suchalgorithmen 🌱

Sorting and Searching Algorithms 🌱

40.1 Sortieralgorithmen — Komplexität

40.1 Sorting Algorithms — Complexity

Vergleichsbasierte Sortierung — Untere SchrankeComparison-Based Sorting — Lower Bound
Ω(n · log n)   (informationstheoretische Schranke)
Beweis über Entscheidungsbaum: n! mögliche Permutationen → mindestens log₂(n!) ≈ n·log₂(n) − n·log₂(e) Vergleiche nötig.
Proof via decision tree: n! possible permutations → at least log₂(n!) ≈ n·log₂(n) − n·log₂(e) comparisons needed.
KomplexitätsvergleichComplexity Comparison
AlgorithmusAlgorithmBestAverageWorstSpeicherSpaceStabilStable
Bubble SortO(n)O(n²)O(n²)O(1)
Insertion SortO(n)O(n²)O(n²)O(1)
Merge SortO(n log n)O(n log n)O(n log n)O(n)
Quick SortO(n log n)O(n log n)O(n²)O(log n)
Heap SortO(n log n)O(n log n)O(n log n)O(1)
Counting SortO(n+k)O(n+k)O(n+k)O(k)
Radix SortO(d·n)O(d·n)O(d·n)O(n+k)
k = Wertebereich, d = Anzahl Stellen. Quick Sort hat im Worst Case O(n²), wird aber durch randomisiertes Pivot vermieden.
k = value range, d = number of digits. Quick Sort has O(n²) worst case, but randomized pivot avoids it.

40.2 Suchalgorithmen

40.2 Search Algorithms

Binäre SucheBinary Search
T(n) = O(log₂ n)   (sortiertes Array vorausgesetzt)
Halbiert den Suchbereich in jedem Schritt. Bei n = 10⁶: maximal ⌈log₂(10⁶)⌉ = 20 Vergleiche. Varianten: Interpolationssuche O(log log n) für gleichverteilte Daten.
Halves the search range each step. For n = 10⁶: at most ⌈log₂(10⁶)⌉ = 20 comparisons. Variants: interpolation search O(log log n) for uniformly distributed data.
Hash-TabelleHash Table
Suchen/Einfügen/Löschen: O(1) erwartet, O(n) Worst Case
Lastfaktor: α = n/m (n Elemente, m Plätze). Offene Adressierung: bei α → 1 steigen Kollisionen. Verkettung: erwartete Listenlänge = α. Gute Hash-Funktionen: murmurhash, xxhash.
Load factor: α = n/m (n elements, m slots). Open addressing: collisions increase as α → 1. Chaining: expected list length = α. Good hash functions: murmurhash, xxhash.

40.3 Rekursive Algorithmen — Master-Theorem

40.3 Recursive Algorithms — Master Theorem

Master-TheoremMaster Theorem
T(n) = a · T(n/b) + O(nc)
FallCaseBedingungConditionErgebnisResult
1c < logb(a)T(n) = O(nlogb(a))
2c = logb(a)T(n) = O(nc · log n)
3c > logb(a)T(n) = O(nc)
a = Anzahl Teilprobleme, b = Verkleinerungsfaktor, c = Exponent der Zusammenführung. Merge Sort: a=2, b=2, c=1 → Fall 2 → O(n log n).
a = number of subproblems, b = shrinkage factor, c = merge exponent. Merge Sort: a=2, b=2, c=1 → Case 2 → O(n log n).
☰ Inhalt ☰ Contents
Kapitel 41Chapter 41Graph-AlgorithmenGraph Algorithms
Kapitel 41Chapter 41

Graph-Algorithmen 📘

Graph Algorithms 📘

41.1 Traversierung

41.1 Traversal

BFS und DFS — KomplexitätBFS and DFS — Complexity
T = O(|V| + |E|)   S = O(|V|)
|V| = Knotenzahl, |E| = Kantenzahl. BFS: Breitensuche (Queue, findet kürzeste Wege in ungewichteten Graphen). DFS: Tiefensuche (Stack/Rekursion, findet Zusammenhangskomponenten, topologische Sortierung).
|V| = vertex count, |E| = edge count. BFS: breadth-first (queue, finds shortest paths in unweighted graphs). DFS: depth-first (stack/recursion, finds connected components, topological sort).

41.2 Kürzeste Wege

41.2 Shortest Paths

Dijkstra-AlgorithmusDijkstra's Algorithm
T = O((|V| + |E|) · log |V|)   (mit Min-Heap)
Relaxation: d[v] = min(d[v], d[u] + w(u,v))
Findet kürzeste Wege von einem Startknoten zu allen anderen. Voraussetzung: keine negativen Kantengewichte. Mit Fibonacci-Heap: O(|E| + |V|·log|V|).
Finds shortest paths from a source to all other vertices. Requirement: no negative edge weights. With Fibonacci heap: O(|E| + |V|·log|V|).
Bellman-FordBellman-Ford
T = O(|V| · |E|)
Erlaubt negative Kantengewichte. Erkennt negative Zyklen (wenn nach |V|−1 Iterationen noch Verbesserungen möglich).
Allows negative edge weights. Detects negative cycles (if improvements still possible after |V|−1 iterations).
Floyd-Warshall (All-Pairs)Floyd-Warshall (All-Pairs)
d[i][j] = min(d[i][j], d[i][k] + d[k][j])   T = O(|V|3)
Berechnet kürzeste Wege zwischen allen Knotenpaaren. Dynamische Programmierung über Zwischenknoten k.
Computes shortest paths between all vertex pairs. Dynamic programming over intermediate vertex k.

41.3 Minimaler Spannbaum

41.3 Minimum Spanning Tree

Kruskal und PrimKruskal and Prim
AlgorithmusAlgorithmKomplexitätComplexityMethodeMethod
KruskalO(|E| · log |E|)Kanten sortieren + Union-FindSort edges + Union-Find
PrimO((|V|+|E|) · log |V|)Nächster Knoten (Min-Heap)Next vertex (min-heap)
Kruskal: besser für dünne Graphen (|E| ≈ |V|). Prim: besser für dichte Graphen (|E| ≈ |V|²).
Kruskal: better for sparse graphs (|E| ≈ |V|). Prim: better for dense graphs (|E| ≈ |V|²).
☰ Inhalt ☰ Contents
Kapitel 42Chapter 42KomplexitätstheorieComplexity Theory
Kapitel 42Chapter 42

Komplexitätstheorie 📘

Complexity Theory 📘

42.1 Asymptotische Notation

42.1 Asymptotic Notation

Landau-SymboleLandau Notation
NotationNotationBedeutungMeaningFormalFormal
O(g(n))Obere SchrankeUpper bound∃c,n₀: f(n) ≤ c·g(n) ∀n≥n₀
Ω(g(n))Untere SchrankeLower bound∃c,n₀: f(n) ≥ c·g(n) ∀n≥n₀
Θ(g(n))Exakte SchrankeTight boundf(n) = O(g(n)) ∧ f(n) = Ω(g(n))
o(g(n))Strikt kleinerStrictly smallerlim f(n)/g(n) = 0
WachstumsvergleichGrowth Comparison
O(1) ⊂ O(log n) ⊂ O(n) ⊂ O(n log n) ⊂ O(n²) ⊂ O(n³) ⊂ O(2n) ⊂ O(n!)
Praktische Faustregel: Bei n=10⁶ sind O(n log n)-Algorithmen in ~20 ms fertig, O(n²) braucht ~17 min, O(2ⁿ) ist unmöglich.
Practical rule: at n=10⁶, O(n log n) algorithms finish in ~20 ms, O(n²) takes ~17 min, O(2ⁿ) is infeasible.
O = Landau-Symbol für obere Schranke, n = Eingabegröße. Jede Klasse wächst strikt schneller als die vorangehende: O(log n) ist dramatisch besser als O(n) für große n.
O = Landau symbol for upper bound, n = input size. Each class grows strictly faster than the preceding one: O(log n) is dramatically better than O(n) for large n.

42.2 Komplexitätsklassen

42.2 Complexity Classes

P, NP und NP-VollständigkeitP, NP, and NP-Completeness
KlasseClassDefinitionDefinitionBeispielExample
PIn Polynomialzeit lösbarSolvable in polynomial timeSortieren, Kürzeste WegeSorting, Shortest paths
NPIn Polynomialzeit verifizierbarVerifiable in polynomial timeFaktorisierung, SATFactoring, SAT
NP-CNP-vollständig (NP ∩ NP-hard)NP-complete (NP ∩ NP-hard)SAT, TSP, CliqueSAT, TSP, Clique
P ⊆ NP ist bekannt. Ob P = NP gilt, ist das berühmteste offene Problem der Informatik (Millennium-Problem, 1 Mio. $ Preisgeld). Die meisten Informatiker vermuten P ≠ NP.
P ⊆ NP is known. Whether P = NP is the most famous open problem in CS (Millennium Problem, $1M prize). Most computer scientists conjecture P ≠ NP.
Amortisierte AnalyseAmortized Analysis
Tamort = Ttotal(n Operationen)n
Beispiel: Dynamisches Array (ArrayList/std::vector). Einzelne push-Operationen können O(n) kosten (Verdopplung), aber amortisiert O(1). Potentialmethode: Φ(Di) = 2·size − capacity.
Example: dynamic array (ArrayList/std::vector). Individual push operations can cost O(n) (doubling), but amortized O(1). Potential method: Φ(Di) = 2·size − capacity.
☰ Inhalt ☰ Contents
Kapitel 43Chapter 43Lineare Regression und KlassifikationLinear Regression and Classification
Kapitel 43Chapter 43

Lineare Regression und Klassifikation 📘

Linear Regression and Classification 📘

43.1 Lineare Regression

43.1 Linear Regression

Lineare Regression — HypotheseLinear Regression — Hypothesis
hθ(x) = θT · x = θ₀ + θ₁x₁ + θ₂x₂ + ⋯ + θnxn
θ = Parametervektor (Gewichte), x = Feature-Vektor mit x₀=1 (Bias-Term). Matrixschreibweise: y = .
θ = parameter vector (weights), x = feature vector with x₀=1 (bias term). Matrix form: y = .
Kostenfunktion (MSE)Cost Function (MSE)
J(θ) = 12m mi=1 (hθ(x(i)) − y(i))2
m = Anzahl Trainingsbeispiele. Minimum: ∇J(θ) = 0. Normalengleichung: θ = (XTX)⁻¹XTy.
m = number of training examples. Minimum: ∇J(θ) = 0. Normal equation: θ = (XTX)⁻¹XTy.
GradientenabstiegGradient Descent
θj := θj − α · ∂J∂θj = θj αm mi=1 (hθ(x(i)) − y(i)) · xj(i)
α = Lernrate. Zu groß → Divergenz. Zu klein → langsame Konvergenz. Feature-Skalierung beschleunigt: x' = (x − μ)/σ.
α = learning rate. Too large → divergence. Too small → slow convergence. Feature scaling accelerates: x' = (x − μ)/σ.

43.2 Logistische Regression (Klassifikation)

43.2 Logistic Regression (Classification)

Sigmoid-FunktionSigmoid Function
σ(z) = 11 + e−z   hθ(x) = σ(θTx)
Ausgabe: Wahrscheinlichkeit P(y=1|x). Entscheidungsgrenze: h(x) ≥ 0.5 → Klasse 1. Eigenschaft: σ'(z) = σ(z)·(1−σ(z)).
Output: probability P(y=1|x). Decision boundary: h(x) ≥ 0.5 → class 1. Property: σ'(z) = σ(z)·(1−σ(z)).
Kreuzentropie-Verlust (Binary Cross-Entropy)Binary Cross-Entropy Loss
J(θ) = − 1m mi=1 [y(i) log(hθ(x(i))) + (1−y(i)) log(1−hθ(x(i)))]
Konvexe Kostenfunktion → garantiertes globales Minimum mit Gradientenabstieg. Regularisierung: + (λ/2m)·‖θ‖² (L2) oder + (λ/m)·‖θ‖₁ (L1/Lasso).
Convex cost function → guaranteed global minimum with gradient descent. Regularization: + (λ/2m)·‖θ‖² (L2) or + (λ/m)·‖θ‖₁ (L1/Lasso).
Softmax (Multi-Klassen)Softmax (Multi-Class)
P(y=k|x) = eθkTxKj=1eθjTx
Verallgemeinerung der Sigmoid-Funktion auf K Klassen. Ausgabe: Wahrscheinlichkeitsverteilung mit Σpk = 1. Verlust: kategorische Kreuzentropie.
Generalization of sigmoid to K classes. Output: probability distribution with Σpk = 1. Loss: categorical cross-entropy.
☰ Inhalt ☰ Contents
Kapitel 44Chapter 44Neuronale NetzeNeural Networks
Kapitel 44Chapter 44

Neuronale Netze 📘

Neural Networks 📘

44.1 Perceptron und Feedforward-Netze

44.1 Perceptron and Feedforward Networks

Einzelnes NeuronSingle Neuron
y = f ni=1wixi + b = f(wTx + b)
f = Aktivierungsfunktion, w = Gewichtsvektor, b = Bias, x = Eingangsvektor. Ohne nichtlineare Aktivierung: nur lineare Transformationen möglich.
f = activation function, w = weight vector, b = bias, x = input vector. Without nonlinear activation: only linear transformations possible.
AktivierungsfunktionenActivation Functions
FunktionFunctionFormelFormulaAbleitungDerivativeBereichRange
ReLUmax(0, x)0 oder 1[0, ∞)
Sigmoid1/(1+e⁻ˣ)σ(1−σ)(0, 1)
Tanh(eˣ−e⁻ˣ)/(eˣ+e⁻ˣ)1−tanh²(x)(−1, 1)
Leaky ReLUmax(αx, x)α oder 1(−∞, ∞)
GELUx·Φ(x)Φ(x)+x·φ(x)[−0.17, ∞)
ReLU ist Standard für Hidden-Layers: schnell, kein Vanishing Gradient. GELU wird in Transformern (GPT, BERT) verwendet. Für die Hex-Handschrifterkennung im ML-Projekt: ReLU in Hidden, Softmax am Ausgang.
ReLU is standard for hidden layers: fast, no vanishing gradient. GELU is used in transformers (GPT, BERT). For hex digit recognition in the ML project: ReLU in hidden, Softmax at output.

44.2 Backpropagation

44.2 Backpropagation

Kettenregel für BackpropagationChain Rule for Backpropagation
∂L∂wij(l) = ∂L∂aj(l) · ∂aj(l)∂zj(l) · ∂zj(l)∂wij(l) = δj(l) · ai(l−1)
δj(l) = Fehlerterm der Schicht l, propagiert rückwärts: δ(l) = (W(l+1))T·δ(l+1) ⊙ f'(z(l)). ⊙ = elementweise Multiplikation (Hadamard-Produkt).
δj(l) = error term of layer l, propagated backwards: δ(l) = (W(l+1))T·δ(l+1) ⊙ f'(z(l)). ⊙ = element-wise multiplication (Hadamard product).
CNN — FaltungsschichtCNN — Convolutional Layer
Ausgabegröße = n + 2p − fs + 1
n = Eingangsgröße, f = Filtergröße, p = Padding, s = Stride. Parameter: f×f×cin×cout + cout (Bias).
n = input size, f = filter size, p = padding, s = stride. Parameters: f×f×cin×cout + cout (bias).
☰ Inhalt ☰ Contents
Kapitel 45Chapter 45Optimierung im MLOptimization in ML
Kapitel 45Chapter 45

Optimierung im ML 🎯

Optimization in ML 🎯

45.1 Optimierungsverfahren

45.1 Optimization Methods

SGD mit MomentumSGD with Momentum
vt = β · vt−1 + (1−β) · ∇J(θt)
θt+1 = θt − α · vt
β = Momentum-Koeffizient (typ. 0.9), v = Geschwindigkeit (exponentiell gewichteter Mittelwert der Gradienten). Beschleunigt Konvergenz in flachen Regionen, dämpft Oszillationen.
β = momentum coefficient (typ. 0.9), v = velocity (exponentially weighted average of gradients). Accelerates convergence in flat regions, dampens oscillations.
Adam-OptimiererAdam Optimizer
mt = β₁·mt−1 + (1−β₁)·gt   vt = β₂·vt−1 + (1−β₂)·gt2
mt = mt/(1−β₁t)   vt = vt/(1−β₂t)
θt+1 = θt − α · mtvt + ε
Standardwerte: β₁=0.9, β₂=0.999, ε=10⁻⁸. Kombiniert Momentum und adaptive Lernrate. Meist der beste Allround-Optimierer. Bias-Korrektur (^) kompensiert die Initialisierung bei m₀=v₀=0.
Defaults: β₁=0.9, β₂=0.999, ε=10⁻⁸. Combines momentum and adaptive learning rate. Usually the best all-around optimizer. Bias correction (^) compensates initialization at m₀=v₀=0.

45.2 Regularisierung und Bewertung

45.2 Regularization and Evaluation

DropoutDropout
hi(l) = ri(l) · ai(l)   mit   ri ~ Bernoulli(p)
p = Keep-Wahrscheinlichkeit (typ. 0.5–0.8). Im Training: zufällige Neuronen werden deaktiviert. Im Test: alle Neuronen aktiv, Gewichte mit p skaliert (inverted dropout).
p = keep probability (typ. 0.5–0.8). During training: random neurons deactivated. At test: all neurons active, weights scaled by p (inverted dropout).
Batch-NormalisierungBatch Normalization
xi = xi − μBσB2 + ε   yi = γ · xi + β
μB, σ²B = Mittelwert und Varianz des Mini-Batches. γ, β = lernbare Parameter (Skalierung und Verschiebung). Beschleunigt Training und wirkt regularisierend.
μB, σ²B = mean and variance of mini-batch. γ, β = learnable parameters (scale and shift). Accelerates training and acts as regularizer.
Bewertungsmetriken (Klassifikation)Evaluation Metrics (Classification)
MetrikMetricFormelFormula
Accuracy(TP+TN)/(TP+TN+FP+FN)
PrecisionTP/(TP+FP)
RecallTP/(TP+FN)
F1-Score2·Precision·Recall/(Precision+Recall)
TP=True Positive, FP=False Positive, TN=True Negative, FN=False Negative. F1 = harmonisches Mittel aus Precision und Recall.
TP=True Positive, FP=False Positive, TN=True Negative, FN=False Negative. F1 = harmonic mean of Precision and Recall.
☰ Inhalt ☰ Contents
Kapitel 46Chapter 46Boolesche Schaltnetze und SchaltwerkeCombinational and Sequential Circuits
Kapitel 46Chapter 46

Boolesche Schaltnetze und Schaltwerke 🌱

Combinational and Sequential Circuits 🌱

46.1 Schaltnetze (Kombinatorische Logik)

46.1 Combinational Logic

MultiplexerMultiplexer
MUX 2:1:   Y = S̄·A + S·B
MUX 4:1:   Y = S̄₁S̄₀·D₀ + S̄₁S₀·D₁ + S₁S̄₀·D₂ + S₁S₀·D₃
S = Steuereingänge, D = Dateneingänge. n Steuerleitungen → 2n Dateneingänge. Jede Boolesche Funktion mit n Variablen ist mit einem 2n:1-MUX realisierbar.
S = select inputs, D = data inputs. n select lines → 2n data inputs. Any Boolean function of n variables can be implemented with a 2n:1 MUX.
AddiererAdders
Halbaddierer: S = A ⊕ B,   Cout = A · B
Volladdierer: S = A ⊕ B ⊕ Cin,   Cout = A·B + Cin·(A ⊕ B)
Ripple-Carry-Addierer: n Volladdierer in Kette. Verzögerung: O(n). Carry-Lookahead: O(log n), braucht mehr Fläche. Auf dem FPGA nutzt man die eingebauten Carry-Chains.
Ripple-carry adder: n full adders chained. Delay: O(n). Carry-lookahead: O(log n), requires more area. On FPGA, built-in carry chains are used.

46.2 Schaltwerke (Sequentielle Logik)

46.2 Sequential Logic

Flip-FlopsFlip-Flops
TypCharakteristische GleichungCharacteristic EquationBeschreibungDescription
D-FFQ+ = DÜbernahme bei TaktflankeCapture at clock edge
T-FFQ+ = T ⊕ QToggle bei T=1Toggle when T=1
JK-FFQ+ = J·Q̄ + K̄·QJ=K=1: ToggleJ=K=1: Toggle
D-Flip-Flops sind der Standard auf FPGAs. Der Artix-7 auf dem BASYS3 hat 20.800 Slices mit je 8 Flip-Flops = 166.400 FF total.
D flip-flops are the standard on FPGAs. The Artix-7 on the BASYS3 has 20,800 slices with 8 flip-flops each = 166,400 FFs total.
Setup- und Hold-ZeitSetup and Hold Time
fmax = 1tclk→q + tlogic + trouting + tsetup
tclk→q = Clock-to-Output des Quell-FF, tsetup = Setup-Zeit des Ziel-FF. Hold-Verletzung: tclk→q + tlogic,min ≥ thold muss gelten.
tclk→q = clock-to-output of source FF, tsetup = setup time of destination FF. Hold violation: tclk→q + tlogic,min ≥ thold must hold.
☰ Inhalt ☰ Contents
Kapitel 47Chapter 47FPGA-ArithmetikFPGA Arithmetic
Kapitel 47Chapter 47

FPGA-Arithmetik 📘

FPGA Arithmetic 📘

47.1 Festkomma-Arithmetik

47.1 Fixed-Point Arithmetic

Q-Format (Qm.n)Q-Format (Qm.n)
Wert = Ganzzahl-Darstellung2n
Q16.16: Bereich = [−215, 215 − 2−16] ≈ [−32768, 32767.99998]
m = Vorkommabits (inkl. Vorzeichen), n = Nachkommabits. Auflösung: 2−n. Q16.16: Auflösung ≈ 1.5·10⁻⁵. Im PID-Projekt auf BASYS3: Q16.16 für Kp, Ki, Kd.
m = integer bits (incl. sign), n = fractional bits. Resolution: 2−n. Q16.16: resolution ≈ 1.5·10⁻⁵. In PID project on BASYS3: Q16.16 for Kp, Ki, Kd.
Festkomma-RechenregelnFixed-Point Arithmetic Rules
OperationOperationErgebnis-FormatResult FormatNachbehandlungPost-processing
Addition Qa.b + Qa.bAddition Qa.b + Qa.bQ(a+1).b1 Bit Guard1 bit guard
Multiplikation Qa.b × Qc.dMultiplication Qa.b × Qc.dQ(a+c).(b+d)Rechtsshift um b+d, truncateRight-shift by b+d, truncate
Q16.16 × Q16.16 = Q32.32 (64 bit). Danach Rechtsshift um 16 → Q32.16 → obere 32 bit nehmen → Q16.16. Auf FPGA: DSP48-Slices des Artix-7 machen 25×18-bit Multiplikationen in einem Takt.
Q16.16 × Q16.16 = Q32.32 (64 bit). Then right-shift by 16 → Q32.16 → take upper 32 bits → Q16.16. On FPGA: DSP48 slices of Artix-7 do 25×18-bit multiplications in one clock.

47.2 CORDIC-Algorithmus

47.2 CORDIC Algorithm

CORDIC-Iterationen (Rotationsmodus)CORDIC Iterations (Rotation Mode)
xi+1 = xi − σi · yi · 2−i
yi+1 = yi + σi · xi · 2−i
zi+1 = zi − σi · arctan(2−i)
σi = sign(zi). Nur Shifts und Additionen — keine Multiplizierer nötig! Gain: K ≈ 1.6468. Nach n Iterationen: x ≈ K·cos(θ), y ≈ K·sin(θ). Ideal für FPGA-Implementierung.
σi = sign(zi). Only shifts and additions — no multipliers needed! Gain: K ≈ 1.6468. After n iterations: x ≈ K·cos(θ), y ≈ K·sin(θ). Ideal for FPGA implementation.
☰ Inhalt ☰ Contents
Kapitel 48Chapter 48Formale VerifikationFormal Verification
Kapitel 48Chapter 48

Formale Verifikation 🎯

Formal Verification 🎯

48.1 Assertions (SVA)

48.1 Assertions (SVA)

SystemVerilog Assertions — GrundformenSystemVerilog Assertions — Basic Forms
Assertion-TypAssertion TypePrüfungCheckSyntaxSyntax
Sofort (Immediate)ImmediateKombinatorisch, ein ZeitpunktCombinational, single timeassert (expr)
Nebenläufig (Concurrent)ConcurrentÜber Taktzyklen, temporalOver clock cycles, temporalassert property (@(posedge clk) p)
SVA-Operatoren: |-> (Implikation, überlappend), |=> (nicht-überlappend), ##n (n Takte Verzögerung), [*n] (n-fache Wiederholung). In SymbiYosys: formale Verifikation mit BMC (Bounded Model Checking).
SVA operators: |-> (implication, overlapping), |=> (non-overlapping), ##n (n cycle delay), [*n] (n-fold repetition). In SymbiYosys: formal verification with BMC (Bounded Model Checking).
Formale Verifikation — InduktionsbeweisFormal Verification — Induction Proof
BMC: Gilt P für Zustände 0…k?   Induktion: P(k) ⟹ P(k+1)?
BMC = Bounded Model Checking (endliche Tiefe). Wenn BMC + k-Induktion bestehen: Eigenschaft gilt für ALLE erreichbaren Zustände. SymbiYosys nutzt den Z3 SMT-Solver.
BMC = Bounded Model Checking (finite depth). If BMC + k-induction pass: property holds for ALL reachable states. SymbiYosys uses the Z3 SMT solver.
Cover und AssumeCover and Assume
cover: ∃ Trace mit Eigenschaft   assume: Einschränkung des Zustandsraums
cover = "Gibt es einen Pfad, auf dem P gilt?" (Erreichbarkeitsanalyse). assume = "Nimm an, dass Q immer gilt" (Eingangsbeschränkung). Wichtig: assume darf den Zustandsraum nicht auf Null reduzieren (vacuous proof).
cover = "Is there a path where P holds?" (reachability). assume = "Assume Q always holds" (input constraint). Important: assume must not reduce state space to empty (vacuous proof).
☰ Inhalt ☰ Contents
Kapitel 49Chapter 49MechanikMechanics
Kapitel 49Chapter 49

Mechanik 🌱

Mechanics 🌱

49.1 Kinematik

49.1 Kinematics

Gleichförmige und beschleunigte BewegungUniform and Accelerated Motion
GrößeQuantityGleichförmigUniformGleichmäßig beschleunigtUniformly accelerated
Ort s(t)Position s(t)s = v·ts = v₀t + ½at²
Geschwindigkeit v(t)Velocity v(t)v = const.v = v₀ + a·t
Ohne ZeitangabeWithout timev² = v₀² + 2a·s
Newtonsche GesetzeNewton's Laws
F = m · a   (2. Newtonsches Gesetz)
F12 = −F21   (3. Newtonsches Gesetz: actio = reactio)
F = Kraft [N], m = Masse [kg], a = Beschleunigung [m/s²]. Gewichtskraft: FG = m·g (g ≈ 9.81 m/s²). Impuls: p = m·v, F = dp/dt.
F = force [N], m = mass [kg], a = acceleration [m/s²]. Gravitational force: FG = m·g (g ≈ 9.81 m/s²). Momentum: p = m·v, F = dp/dt.
Arbeit, Energie, LeistungWork, Energy, Power
W = F · s · cos(α)   Ekin = ½mv²   Epot = mgh   P = Wt = F · v
Energieerhaltung: Eges = Ekin + Epot = const. (konservatives System). Leistung [W] = Energie [J] / Zeit [s].
Conservation of energy: Etotal = Ekin + Epot = const. (conservative system). Power [W] = energy [J] / time [s].
☰ Inhalt ☰ Contents
Kapitel 50Chapter 50Schwingungen und WellenOscillations and Waves
Kapitel 50Chapter 50

Schwingungen und Wellen 📘

Oscillations and Waves 📘

50.1 Harmonische Schwingung

50.1 Harmonic Oscillation

Ungedämpfte SchwingungUndamped Oscillation
x(t) = A · sin(ω₀t + φ)   ω₀ = km = 2πf₀
A = Amplitude, ω₀ = Eigenkreisfrequenz, k = Federkonstante [N/m], m = Masse [kg], f₀ = Eigenfrequenz [Hz], T = 1/f₀ = Periodendauer.
A = amplitude, ω₀ = natural angular frequency, k = spring constant [N/m], m = mass [kg], f₀ = natural frequency [Hz], T = 1/f₀ = period.
Gedämpfte SchwingungDamped Oscillation
x(t) = A · e−δt · sin(ωdt + φ)
ωd = ω₀² − δ²   δ = d2m   D = δω₀
δ = Abklingkonstante, d = Dämpfungskonstante, D = Dämpfungsgrad (Lehrsches Dämpfungsmaß). D < 1: unterkritisch (schwingt), D = 1: kritisch (aperiodischer Grenzfall), D > 1: überkritisch (kriecht).
δ = decay constant, d = damping constant, D = damping ratio. D < 1: underdamped (oscillates), D = 1: critically damped, D > 1: overdamped (creeps).

50.2 Wellen

50.2 Waves

WellengleichungWave Equation
∂²u∂t² = c² · ∂²u∂x²   c = λ · f = ωk
c = Ausbreitungsgeschwindigkeit, λ = Wellenlänge, f = Frequenz, k = 2π/λ = Wellenzahl. Lösung: u(x,t) = A·sin(kx − ωt + φ).
c = propagation speed, λ = wavelength, f = frequency, k = 2π/λ = wave number. Solution: u(x,t) = A·sin(kx − ωt + φ).
Doppler-EffektDoppler Effect
f' = f · c ± vEc ∓ vS
vE = Geschwindigkeit Empfänger, vS = Geschwindigkeit Sender. Annäherung: höhere Frequenz (+/−). Entfernung: niedrigere Frequenz (−/+).
vE = receiver velocity, vS = source velocity. Approaching: higher frequency (+/−). Receding: lower frequency (−/+).
☰ Inhalt ☰ Contents
Kapitel 51Chapter 51ThermodynamikThermodynamics
Kapitel 51Chapter 51

Thermodynamik 📘

Thermodynamics 📘

51.1 Hauptsätze der Thermodynamik

51.1 Laws of Thermodynamics

Erster Hauptsatz (Energieerhaltung)First Law (Conservation of Energy)
ΔU = Q − W   (dU = δQ − δW)
ΔU = Änderung der inneren Energie, Q = zugeführte Wärme, W = geleistete Arbeit. Für ideales Gas: U = n·cv·T.
ΔU = change in internal energy, Q = heat added, W = work done. For ideal gas: U = n·cv·T.
Ideale GasgleichungIdeal Gas Law
p · V = n · R · T = N · kB · T
p = Druck [Pa], V = Volumen [m³], n = Stoffmenge [mol], R = 8.314 J/(mol·K), kB = 1.381·10⁻²³ J/K (Boltzmann), T = Temperatur [K].
p = pressure [Pa], V = volume [m³], n = amount [mol], R = 8.314 J/(mol·K), kB = 1.381·10⁻²³ J/K (Boltzmann), T = temperature [K].
Wärmeleitung (Fourier)Heat Conduction (Fourier)
Q = −λ · A · dTdx
λ = Wärmeleitfähigkeit [W/(m·K)]. Kupfer: 401, Aluminium: 237, FR4 (Platine): 0.3. Wichtig für thermisches Design von FPGA-Boards und Kühlkonzepte.
λ = thermal conductivity [W/(m·K)]. Copper: 401, Aluminum: 237, FR4 (PCB): 0.3. Important for FPGA board thermal design and cooling concepts.
Thermischer Widerstand: Rth = d/(λ·A) [K/W]. Reihenschaltung: Rth,ges = Rth,1 + Rth,2 + … (analog zu elektrischen Widerständen). FPGA-Verlustleistung: P = Pstatisch + Pdynamisch, wobei Pdyn ∝ f·C·V².
Thermal resistance: Rth = d/(λ·A) [K/W]. Series: Rth,total = Rth,1 + Rth,2 + … (analogous to electrical resistors). FPGA power: P = Pstatic + Pdynamic, where Pdyn ∝ f·C·V².
Entropie (Zweiter Hauptsatz)Entropy (Second Law)
dS ≥ δQT   (Gleichheit nur bei reversiblen Prozessen)
Carnot-Wirkungsgrad: ηC = 1 − TkaltTwarm
S = Entropie [J/K]. Die Entropie eines abgeschlossenen Systems nimmt nie ab. Carnot-Wirkungsgrad: theoretisches Maximum einer Wärmekraftmaschine.
S = entropy [J/K]. The entropy of an isolated system never decreases. Carnot efficiency: theoretical maximum of a heat engine.
☰ Inhalt ☰ Contents
Kapitel 52Chapter 52Inverse Kinematik (Stewart-Plattform)Inverse Kinematics (Stewart Platform)
Kapitel 52Chapter 52

Inverse Kinematik (Stewart-Plattform) 🎯

Inverse Kinematics (Stewart Platform) 🎯

52.1 Kinematik der Stewart-Plattform

52.1 Stewart Platform Kinematics

Inverse Kinematik — BeinlängenberechnungInverse Kinematics — Leg Length Calculation
li = T + R · pibi
Li = |li| = lix2 + liy2 + liz2
T = Translation (x,y,z), R = Rotationsmatrix (Roll/Pitch/Yaw), pi = Plattform-Ankerpunkte, bi = Basis-Ankerpunkte, li = Beinvektor, Li = erforderliche Beinlänge.
T = translation (x,y,z), R = rotation matrix (roll/pitch/yaw), pi = platform anchor points, bi = base anchor points, li = leg vector, Li = required leg length.
Rotationsmatrix (Euler: Roll-Pitch-Yaw)Rotation Matrix (Euler: Roll-Pitch-Yaw)
R = Rz(ψ) · Ry(θ) · Rx(φ)
φ = Roll (x-Achse), θ = Pitch (y-Achse), ψ = Yaw (z-Achse). 6 DOF: 3 Translation + 3 Rotation → 6 Beine für vollständige Steuerung.
φ = Roll (x-axis), θ = Pitch (y-axis), ψ = Yaw (z-axis). 6 DOF: 3 translation + 3 rotation → 6 legs for full control.
☰ Inhalt ☰ Contents
Kapitel 53Chapter 53SchrittmotoransteuerungStepper Motor Control
Kapitel 53Chapter 53

Schrittmotoransteuerung 📘

Stepper Motor Control 📘

53.1 Schrittmotor-Grundlagen

53.1 Stepper Motor Fundamentals

Schrittmotor — GrundformelnStepper Motor — Basic Formulas
Schrittwinkel: α = 360°S   Drehzahl: n = fstepS · 60   [min−1]
S = Schritte pro Umdrehung (typ. 200 = 1.8°/Schritt), fstep = Schrittfrequenz [Hz]. Mikroschritt 1/16: 3200 Schritte/Umdrehung, Auflösung 0.1125°.
S = steps per revolution (typ. 200 = 1.8°/step), fstep = step frequency [Hz]. Microstep 1/16: 3200 steps/revolution, resolution 0.1125°.
Trapezförmiges GeschwindigkeitsprofilTrapezoidal Velocity Profile
Beschleunigungsrampe: f(t) = fstart + a · t
Gesamtzeit: tges = fmax − fstarta + nconstfmax + fmax − fstarta
a = Beschleunigung [Hz/s], fstart = Startfrequenz, fmax = Maximalfrequenz. Zu schnelle Beschleunigung → Schrittverlust.
a = acceleration [Hz/s], fstart = start frequency, fmax = max frequency. Too fast acceleration → step loss.
☰ Inhalt ☰ Contents
Kapitel 54Chapter 54Kalibrierung und OptimierungCalibration and Optimization
Kapitel 54Chapter 54

Kalibrierung und Optimierung 🎯

Calibration and Optimization 🎯

54.1 Kalibrierverfahren

54.1 Calibration Methods

Lineare Kalibrierung (Least Squares)Linear Calibration (Least Squares)
y = a · x + b   a = n·Σxiyi − Σxi·Σyin·Σxi² − (Σxi
Bestimmtheitsmaß: R² = 1 − Σ(yi−ŷi)² / Σ(yi−ȳ)². Für ADC-Kalibrierung: a = Verstärkungsfehler, b = Offsetfehler.
Coefficient of determination: R² = 1 − Σ(yi−ŷi)² / Σ(yi−ȳ)². For ADC calibration: a = gain error, b = offset error.
Nelder-Mead (Simplex-Optimierung)Nelder-Mead (Simplex Optimization)
min f(x)   ableitungsfrei, n+1 Eckpunkte im ℝn
Operationen: Reflexion (α=1), Expansion (γ=2), Kontraktion (ρ=0.5), Schrumpfung (σ=0.5). Ideal für Kalibrierung mit wenigen Parametern (3–10).
Operations: reflection (α=1), expansion (γ=2), contraction (ρ=0.5), shrink (σ=0.5). Ideal for calibration with few parameters (3–10).
☰ Inhalt ☰ Contents
Kapitel 55Chapter 55Einheitensystem (SI)System of Units (SI)
Kapitel 55Chapter 55

Einheitensystem (SI) 🌱

System of Units (SI) 🌱

55.1 SI-Basiseinheiten

55.1 SI Base Units

Die sieben SI-BasiseinheitenThe Seven SI Base Units
GrößeQuantityEinheitUnitSymbol
LängeLengthMeter / m
MasseMassKilogramm / kg
ZeitTimeSekunde / s
StromstärkeElectric currentAmpere / A
TemperaturTemperatureKelvin / K
StoffmengeAmount of substanceMol / mol
LichtstärkeLuminous intensityCandela / cd
SI-PräfixeSI Prefixes
PräfixPrefixSymbolFaktorFactor PräfixPrefixSymbolFaktorFactor
QuettaQ10³⁰ dezid10⁻¹
RonnaR10²⁷ zentic10⁻²
YottaY10²⁴ millim10⁻³
ZettaZ10²¹ mikromicroμ10⁻⁶
ExaE10¹⁸ nanon10⁻⁹
PetaP10¹⁵ pikop10⁻¹²
TeraT10¹² femtof10⁻¹⁵
GigaG10⁹ attoa10⁻¹⁸
MegaM10⁶ zeptoz10⁻²¹
kilok10³ yoktoy10⁻²⁴
hektoh10² rontor10⁻²⁷
dekada10¹ quektoq10⁻³⁰
Quetta bis Quecto: 2022 von der CGPM eingeführt. Informatik: 1 kB = 1000 Bytes (SI), 1 KiB = 1024 Bytes (IEC). FPGA-Takte: MHz (10⁶), Leitungsverzögerungen: ns (10⁻⁹), Gate-Oxide: nm (10⁻⁹), Schaltzeiten: ps (10⁻¹²), Atomradien: pm (10⁻¹²).
Quetta to quecto: introduced by the CGPM in 2022. Computing: 1 kB = 1000 bytes (SI), 1 KiB = 1024 bytes (IEC). FPGA clocks: MHz (10⁶), wire delays: ns (10⁻⁹), gate oxides: nm (10⁻⁹), switching times: ps (10⁻¹²), atomic radii: pm (10⁻¹²).
☰ Inhalt ☰ Contents
Kapitel 56Chapter 56Physikalische und mathematische KonstantenPhysical and Mathematical Constants
Kapitel 56Chapter 56

Physikalische und mathematische Konstanten 🌱

Physical and Mathematical Constants 🌱

56.1 Mathematische Konstanten

56.1 Mathematical Constants

Wichtige mathematische KonstantenImportant Mathematical Constants
KonstanteConstantSymbolWertValue
KreiszahlPiπ3.14159 26535 89793
Eulersche ZahlEuler’s numbere2.71828 18284 59045
Goldener SchnittGolden ratioφ1.61803 39887 49894
√2√2√21.41421 35623 73095
ln(2)ln 20.69314 71805 59945

56.2 Physikalische Konstanten

56.2 Physical Constants

Fundamentale physikalische KonstantenFundamental Physical Constants
KonstanteConstantSymbolWertValueEinheitUnit
LichtgeschwindigkeitSpeed of lightc2.998·10⁸ m/s
ElementarladungElementary chargee1.602·10⁻¹⁹ C
Plancksches WirkungsquantumPlanck’s constanth6.626·10⁻³⁴ J·s
Boltzmann-KonstanteBoltzmann constantkB1.381·10⁻²³ J/K
Avogadro-KonstanteAvogadro constantNA6.022·10²³ mol⁻¹
Vakuum-PermittivitätVacuum permittivityε₀8.854·10⁻¹² F/m
Vakuum-PermeabilitätVacuum permeabilityμ₀4π·10⁻⁷ H/m
GravitationskonstanteGravitational constantG6.674·10⁻¹¹ m³/(kg·s²)
☰ Inhalt ☰ Contents
Anhang AAppendix AGriechisches AlphabetGreek Alphabet
Anhang AAppendix A

Griechisches Alphabet

Greek Alphabet

Griechisches Alphabet

Greek Alphabet

GroßUpperKleinLowerNameVerwendungUsage
ΑαAlphaWinkel, Lernrate, SignifikanzAngle, learning rate, significance
ΒβBetaWinkel, Momentum, Fehler 2. ArtAngle, momentum, type II error
ΓγGammaEuler-Mascheroni, Batch-NormEuler-Mascheroni, batch norm
ΔδDeltaDifferenz, Fehlerterm, DiracDifference, error term, Dirac
ΕεEpsilonToleranz, kleine GrößeTolerance, small quantity
ΘθThetaWinkel, Parameter, LandauAngle, parameter, Landau
ΛλLambdaEigenwert, Wellenlänge, RegularisierungEigenvalue, wavelength, regularization
ΜμMuMittelwert, Mikro-PräfixMean, micro prefix
ΠπPiKreiszahl, ProduktPi, product
ΣσSigmaSumme, StandardabweichungSum, standard deviation
ΦφPhiGoldener Schnitt, Winkel, EulerGolden ratio, angle, Euler
ΩωOmegaOhm, Kreisfrequenz, untere SchrankeOhm, angular frequency, lower bound
☰ Inhalt ☰ Contents
Anhang BAppendix BAbleitungs- und IntegraltabelleDerivative and Integral Table
Anhang BAppendix B

Ableitungs- und Integraltabelle

Derivative and Integral Table

Ableitungsregeln und Stammfunktionen

Derivative Rules and Antiderivatives

Wichtige AbleitungenImportant Derivatives
f(x)f′(x) f(x)f′(x)
xnn·xn−1 sin(x)cos(x)
exex cos(x)−sin(x)
ln(x)1/x tan(x)1/cos²(x)
axax·ln(a) arcsin(x)1/√(1−x²)
loga(x)1/(x·ln(a)) arctan(x)1/(1+x²)
Wichtige IntegraleImportant Integrals
f(x)∫f(x)dx f(x)∫f(x)dx
xn (n≠−1)xn+1/(n+1) sin(x)−cos(x)
1/xln|x| cos(x)sin(x)
exex 1/(1+x²)arctan(x)
Alle Integrale +C. Partielle Integration: ∫u·dv = u·v − ∫v·du. Substitution: ∫f(g(x))·g′(x)dx = ∫f(u)du.
All integrals +C. Integration by parts: ∫u·dv = u·v − ∫v·du. Substitution: ∫f(g(x))·g′(x)dx = ∫f(u)du.
☰ Inhalt ☰ Contents
Anhang CAppendix CLaplace-KorrespondenztabelleLaplace Transform Table
Anhang CAppendix C

Laplace-Korrespondenztabelle

Laplace Transform Table

Laplace-Korrespondenzen

Laplace Transform Pairs

Definition der Laplace-TransformationDefinition of the Laplace Transform
F(s) = ℒ{f(t)} = 0 f(t) · e−st dt   mit   s = σ + jω
Die Laplace-Transformation wandelt eine Zeitfunktion f(t) in eine Funktion der komplexen Frequenz F(s) um. Differentialgleichungen werden dadurch zu algebraischen Gleichungen. Hauptanwendung: Analyse und Entwurf von Regelkreisen, Übertragungsfunktionen G(s) = Y(s)/U(s), Stabilitätsanalyse (Pole und Nullstellen).
The Laplace transform converts a time-domain function f(t) into a complex frequency-domain function F(s). Differential equations become algebraic equations. Main application: analysis and design of control loops, transfer functions G(s) = Y(s)/U(s), stability analysis (poles and zeros).
Wichtige Laplace-KorrespondenzenImportant Laplace Transform Pairs
f(t)F(s) = ℒ{f(t)}
δ(t)1
1 (Sprung)1/s
t1/s²
tnn!/sn+1
e−at1/(s+a)
sin(ωt)ω/(s²+ω²)
cos(ωt)s/(s²+ω²)
e−at·sin(ωt)ω/((s+a)²+ω²)
t·e−at1/(s+a)²
Rechenregeln: ℒ{f′(t)} = s·F(s) − f(0⁺), ℒ{∫f(τ)dτ} = F(s)/s, ℒ{e−atf(t)} = F(s+a).
Rules: ℒ{f′(t)} = s·F(s) − f(0⁺), ℒ{∫f(τ)dτ} = F(s)/s, ℒ{e−atf(t)} = F(s+a).
☰ Inhalt ☰ Contents
Anhang DAppendix DZ-Transformations-KorrespondenztabelleZ-Transform Correspondence Table
Anhang DAppendix D

Z-Transformations-Korrespondenztabelle

Z-Transform Correspondence Table

Z-Transformations-Korrespondenzen

Z-Transform Correspondence Pairs

Definition der Z-TransformationDefinition of the Z-Transform
F(z) = Z{f[n]} = n=0 f[n] · z−n
Die Z-Transformation ist das diskrete Gegenstück zur Laplace-Transformation. Sie wandelt eine Folge f[n] in eine Funktion der komplexen Variable z um. Hauptanwendung: Analyse digitaler Filter (IIR/FIR) und diskreter Regelungssysteme (z.B. PID-Regler auf FPGA). Zusammenhang: z = esT (T = Abtastzeit). Stabilitätsbedingung: Alle Pole müssen innerhalb des Einheitskreises |z| < 1 liegen.
The Z-transform is the discrete counterpart of the Laplace transform. It converts a sequence f[n] into a function of the complex variable z. Main application: analysis of digital filters (IIR/FIR) and discrete control systems (e.g., PID controller on FPGA). Relationship: z = esT (T = sampling period). Stability condition: all poles must lie inside the unit circle |z| < 1.
Wichtige Z-Transformations-PaareImportant Z-Transform Pairs
f[n]F(z)
δ[n]1
u[n]z/(z−1)
n·u[n]z/(z−1)²
an·u[n]z/(z−a)
sin(ωn)·u[n]z·sin(ω)/(z²−2z·cos(ω)+1)
cos(ωn)·u[n]z·(z−cos(ω))/(z²−2z·cos(ω)+1)
Zeitverschiebung: 𝒽{f[n−k]} = z−k·F(z). Faltung: 𝒽{f*g} = F(z)·G(z).
Time shift: 𝒽{f[n−k]} = z−k·F(z). Convolution: 𝒽{f*g} = F(z)·G(z).
☰ Inhalt ☰ Contents
Anhang EAppendix EWahrscheinlichkeitsverteilungen (Übersicht)Probability Distributions (Overview)
Anhang EAppendix E

Wahrscheinlichkeitsverteilungen (Übersicht)

Probability Distributions (Overview)

Wahrscheinlichkeitsverteilungen

Probability Distributions

Diskrete und stetige VerteilungenDiscrete and Continuous Distributions
VerteilungDistributionE[X]Var[X]
Bernoulli(p)pp(1−p)
Binomial(n,p)npnp(1−p)
Poisson(λ)λλ
Geometrisch(p)1/p(1−p)/p²
Gleichverteilung(a,b)(a+b)/2(b−a)²/12
Exponential(λ)1/λ1/λ²
Normal(μ,σ²)μσ²
☰ Inhalt ☰ Contents
Anhang FAppendix FASCII- und Unicode-TabelleASCII and Unicode Table
Anhang FAppendix F

ASCII- und Unicode-Tabelle

ASCII and Unicode Table

ASCII-Tabelle

ASCII Table

Steuerzeichen (ausgewählt)Control Characters (selected)
DecHexAbk.BedeutungMeaning DecHexAbk.BedeutungMeaning
000NULNull 808BSBackspace
909HTTab (\t) 100ALFLine Feed (\n)
130DCRCarriage Return (\r) 271BESCEscape
3220SPLeerzeichenSpace 1277FDELDelete
Sonderzeichen und Ziffern (33–64)Special Characters and Digits (33–64)
DecHexChar DecHexChar DecHexChar DecHexChar
3321! 3422" 3523# 3624$
3725% 3826& 3927' 4028(
4129) 422A* 432B+ 442C,
452D- 462E. 472F/ 48300
49311 50322 51333 52344
53355 54366 55377 56388
57399 583A: 593B; 603C<
613D= 623E> 633F? 6440@
Großbuchstaben A–Z (65–90)Uppercase A–Z (65–90)
DecHexChar DecHexChar DecHexChar DecHexChar
6541A 6642B 6743C 6844D
6945E 7046F 7147G 7248H
7349I 744AJ 754BK 764CL
774DM 784EN 794FO 8050P
8151Q 8252R 8353S 8454T
8555U 8656V 8757W 8858X
8959Y 905AZ   
Sonderzeichen [ ] \ ^ _ ` (91–96) + Kleinbuchstaben a–z (97–122) + { | } ~ (123–126)Special [ ] \ ^ _ ` (91–96) + Lowercase a–z (97–122) + { | } ~ (123–126)
DecHexChar DecHexChar DecHexChar DecHexChar
915B[ 925C\ 935D] 945E^
955F_ 9660` 9761a 9862b
9963c 10064d 10165e 10266f
10367g 10468h 10569i 1066Aj
1076Bk 1086Cl 1096Dm 1106En
1116Fo 11270p 11371q 11472r
11573s 11674t 11775u 11876v
11977w 12078x 12179y 1227Az
1237B{ 1247C| 1257D} 1267E~
Nützliche Programmierer-TricksUseful Programmer Tricks
OperationOperationFormelFormulaBeispielExample
Groß ↔ KleinUpper ↔ Lowerc XOR 0x20'A' (0x41) ⊕ 0x20 = 'a' (0x61)
Ziffer → WertDigit → Valuec − 0x30'0' (48) → 0, '9' (57) → 9
Hex → WertHex → ValueA–F: c − 55, a–f: c − 87'A' (65) − 55 = 10
Ist Buchstabe?Is letter?(c | 0x20) ∈ [0x61, 0x7A]OR 0x20 macht beides klein
☰ Inhalt ☰ Contents
Anhang GAppendix GNotation und SymboleNotation and Symbols
Anhang GAppendix G

Notation und Symbole

Notation and Symbols

Mathematische Notation

Mathematical Notation

Häufig verwendete SymboleCommonly Used Symbols
SymbolBedeutungMeaningBeispielExample
Für alleFor all∀x ∈ ℝ: x² ≥ 0
Es existiertThere exists∃x: x² = 2
ImplikationImplicationA ⇒ B
ÄquivalenzEquivalenceA ⟺ B
Element vonElement of3 ∈ ℕ
TeilmengeSubsetℕ ⊂ ℤ
Leere MengeEmpty setA ∩ B = ∅
UnendlichInfinitylim n→∞
KongruentCongruenta ≡ b (mod n)
ProportionalProportionalF ∝ 1/r²
☰ Inhalt ☰ Contents
Anhang HAppendix HLiteraturverzeichnisBibliography
Anhang HAppendix H

Literaturverzeichnis

Bibliography

Literaturverzeichnis

Bibliography

Empfohlene LiteraturRecommended Literature
[1] Bronstein, Semendjajew — Taschenbuch der Mathematik (Standardwerk)
[2] Cormen, Leiserson, Rivest, Stein — Introduction to Algorithms (CLRS)
[3] Haykin — Communication Systems
[4] Oppenheim, Willsky — Signals and Systems
[5] Bishop — Pattern Recognition and Machine Learning
[6] Chu — FPGA Prototyping by SystemVerilog Examples
[7] Schneier — Applied Cryptography
[8] Lin, Costello — Error Control Coding
[1] Bronstein, Semendjajew — Handbook of Mathematics (standard reference)
[2] Cormen, Leiserson, Rivest, Stein — Introduction to Algorithms (CLRS)
[3] Haykin — Communication Systems
[4] Oppenheim, Willsky — Signals and Systems
[5] Bishop — Pattern Recognition and Machine Learning
[6] Chu — FPGA Prototyping by SystemVerilog Examples
[7] Schneier — Applied Cryptography
[8] Lin, Costello — Error Control Coding
☰ Inhalt ☰ Contents
📊📊DokumentenstatistikDocument Statistics
📊📊

Dokumentenstatistik

Document Statistics

Stand: 12. April 2026

As of: April 12, 2026

Dateigröße

File Size

Dateigrößeca. 0,94 MB
File sizeapprox. 0.94 MB
Gesamtzeilen (HTML)9.457
Total lines (HTML)9,457

Textumfang

Text Volume

Wörter (reiner Textinhalt)46.661
Words (pure text content)46,661
Zeichen (mit Leerzeichen)282.241
Characters (with spaces)282,241
Zeichen (ohne Leerzeichen)235.581
Characters (without spaces)235,581
Geschätzte Papierseiten (DIN A4)187–233 Seiten
Estimated paper pages (DIN A4)187–233 pages

Struktur

Structure

Kapitel / Abschnitte66 (Inhaltsverzeichnis, Vorwort, 56 Kapitel, 8 Anhänge)
Chapters / Sections66 (Table of contents, foreword, 56 chapters, 8 appendices)
Formel-Blöcke1.350
Formula blocks1,350
HTML-Tabellen96
HTML tables96
SVG-Grafiken16
SVG graphics16
Admonition-Boxen12
Admonition boxes12

Zweisprachigkeit

Bilingual Content

Deutsche Elemente (data-lang="de")2.631
German elements (data-lang="de")2,631
Englische Elemente (data-lang="en")2.629
English elements (data-lang="en")2,629

Code-Aufteilung

Code Breakdown

HTML-Inhalt881.363 Zeichen (95,0 %)
HTML content881,363 characters (95.0%)
CSS-Styling25.956 Zeichen (2,8 %)
CSS styling25,956 characters (2.8%)
JavaScript20.036 Zeichen (2,2 %)
JavaScript20,036 characters (2.2%)
Gesamt927.355 Zeichen (100 %)
Total927,355 characters (100%)

Farbschemata

Color Schemes

Verfügbare Themes31 (10 dunkel, 10 mittel, 11 hell)
Available themes31 (10 dark, 10 medium, 11 light)
🎨 Farbschema wählen
🎨 Choose Color Scheme
🌐 Sprache wählen
🌐 Choose Language
🇩🇪 Deutsch
🇬🇧 English