From d73075910296abea0a6cc6322daab37b6f0a0222 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Thu, 13 Aug 2026 16:43:20 +0200 Subject: [PATCH 01/33] refactor: sampling and quantisation summarized three sections to one --- contents/html/quantisierung_und_sampling.html | 335 ++++++++++-------- contents/sections/quantisierung.md | 3 - contents/sections/sampling.md | 7 - contents/sections/sampling_quantisierung.md | 61 +++- contents/slides/quantisierung.md | 9 - contents/slides/sampling.md | 18 - contents/slides/sampling_quantisierung.md | 183 +++++++++- toc/A.json | 14 - toc/EA.json | 14 - toc/NEA.json | 14 - 10 files changed, 414 insertions(+), 244 deletions(-) delete mode 100644 contents/sections/quantisierung.md delete mode 100644 contents/sections/sampling.md delete mode 100644 contents/slides/quantisierung.md delete mode 100644 contents/slides/sampling.md diff --git a/contents/html/quantisierung_und_sampling.html b/contents/html/quantisierung_und_sampling.html index 797fac8..da88811 100644 --- a/contents/html/quantisierung_und_sampling.html +++ b/contents/html/quantisierung_und_sampling.html @@ -1,147 +1,198 @@ - - - -

Hier gibt es die Möglichkeit das Ganze nochmal auszuprobieren. Ein zeitkontinuierliches Sinus-Signal wird von einem AD-Umsetzer digitalisiert und anschließend wieder von einem DA-Umsetzer in ein analoges Signal gewandelt. An den Reglern kann man die Zeitquantisierung und die Wertquantisierung der AD/DA-Umsetzer einstellen.


- - - - - - - - - - - -
- Zeit-Quantisierung: - - - -
1024
Samples/s. -
- Wert-Quantisierung: - - - -
16
bits -

-

- - - sine = new Chart("Sine", { - type: 'scatter', - data: { - labels: [], - datasets: [ - { - fill: false, - showLine: true, - stepped: true, - borderColor: "#00AEDF", - label: "Wert- und Zeitquantisiertes Signal", - pointRadius: 0, - data: [], - }, - { - fill: false, - showLine: true, - tenstion: 0.1, - label: "Zeitkontinuierliches Signal", - borderColor: "#999999", - pointRadius: 0, - data: [], - }, - ] - }, - options: { - animation: { - duration: 0 - }, - responsive:true, - scales: { - y: { - min: -120, - max: +120, - ticks: { - callback: function(value, index, ticks) { - return value + "%"; - } - } - }, - x: { - min: 0, - max: max, - title: { - display: true, - text: 'Zeit' - }, - ticks: { - stepSize: 1, - callback: function(val, index) { - return val+"s"; - }, - } - } - }, + + +
+
+ + + 16 Samples/s + + + + 16 Bit +
+ +
+ +
+ + - \ No newline at end of file + }); + + function update() { + const samples = Math.pow(2, Number(timeInput.value)); + const bits = Number(valueInput.value); + const levels = Math.pow(2, bits); + const sampleDistance = duration / samples; + const quantizationStep = 2 * amplitude / levels; + const continuous = []; + const quantized = []; + + for (let x = 0; x <= duration + 1e-9; x += 1 / 128) { + continuous.push({ x: x, y: amplitude * Math.sin(2 * Math.PI * x) }); + } + + for (let x = 0; x <= duration + 1e-9; x += sampleDistance) { + const value = amplitude * Math.sin(2 * Math.PI * x); + const quantizedValue = Math.max( + -amplitude, + Math.min(amplitude, Math.sign(value) * quantizationStep * Math.floor(Math.abs(value) / quantizationStep + 1)) + ); + quantized.push({ x: x, y: quantizedValue }); + } + + chart.data.datasets[0].data = quantized; + chart.data.datasets[1].data = continuous; + chart.update('none'); + timeOutput.textContent = samples + ' Samples/s'; + valueOutput.textContent = bits + ' Bit'; + } + + timeInput.addEventListener('input', update); + valueInput.addEventListener('input', update); + update(); + }()); + +
diff --git a/contents/sections/quantisierung.md b/contents/sections/quantisierung.md deleted file mode 100644 index 99edb4c..0000000 --- a/contents/sections/quantisierung.md +++ /dev/null @@ -1,3 +0,0 @@ -Wir haben zuvor gelernt, was die Begriffe zeitkontinuierlich sowie wertkontinuierlich bedeuten. Bei der A/D-Umsetzung von Signalen werden kontinuierliche Werte eines analogen Signals quantisiert (das bedeutet in festen Stufen abgebildet). Diesen Prozess bezeichnet man auch als Quantisierung. Ein analoges (wertkontinuierliches) Signal wird hierbei mittels Quantisierung in ein wertdiskretes (gestuftes) Signal abgebildet. - -[question:AF605] diff --git a/contents/sections/sampling.md b/contents/sections/sampling.md deleted file mode 100644 index a2241d7..0000000 --- a/contents/sections/sampling.md +++ /dev/null @@ -1,7 +0,0 @@ -Wie wir im vorigen Kapitel bereits gelernt haben, bezeichnet man den Prozess, der ein analoges zeitkontinuierliches Signal mittels Analog-Digital-Umsetzung (A/D-Umsetzung) in ein digitales Signal (welches aus einzelnen zeitlichen Samples besteht und somit zeitdiskret ist) umsetzt, als Sampling. - -[question:AF606] - -Die Geschwindigkeit, mit der ein A/D-Umsetzer die Abtastung eines analogen Signals vornimmt, wird auch als Samplingrate bezeichnet. Man definiert die Samplingrate herbei als Abtastungen, die pro Zeiteinheit (z. B. pro Sekunde) vorgenommen werden. Die Angabe erfolgt hierbei in der Einheit Samples/sek. Beispielsweise werden analoge Tonsignale bei digitalen Datenträgern wie CDs oft mit Samplingraten von $\num{44100}$ Samples pro Sekunde vorgenommen. Man gibt dies dann z. B. als $\num{44,1}$ Kilosamples/s oder kurz $\qty{44,1}{\kilo\sps}$ an. - -[question:AF615] \ No newline at end of file diff --git a/contents/sections/sampling_quantisierung.md b/contents/sections/sampling_quantisierung.md index 4679c78..eb56e6e 100644 --- a/contents/sections/sampling_quantisierung.md +++ b/contents/sections/sampling_quantisierung.md @@ -1,15 +1,64 @@ -Wie in den vorhergehenden Kapiteln erläutert, werden analoge Signale zunächst mittels Sampling in digitale Werte umgewandelt. Ein analoges Signal kann hierbei nur in bestimmten Abständen gemessen (man sagt auch abgetastet) werden. Die abgetasteten Werte stellen somit immer nur einen Momentanzustand im Zeitpunkt der Abtastung dar, und zwischen den einzelnen Abtastungsvorgängen kann sich das analoge Signal zeitlich gesehen beliebig verändern. Da analoge Signale keine kleinste zeitliche Auflösung besitzen und somit zeitlich fortlaufend sind, werden diese auch als zeitkontinuierlich bezeichnet. Im Gegensatz hierzu bezeichnet man Samples, die nur eine maximale, definierte zeitliche Auflösung eines Signals ermöglichen, als zeitdiskret, da es ein maximal mögliches und definierbares (somit diskretes) zeitliches Intervall zwischen den einzelnen gemessenen Werten gibt. +Bei der Digitalisierung eines analogen Signals müssen zwei Eigenschaften betrachtet werden: Zu welchen Zeitpunkten wird das Signal gemessen und mit welcher Genauigkeit können die gemessenen Werte dargestellt werden? Die beiden dazugehörigen Schritte werden als *Sampling* und *Quantisierung* bezeichnet. - -[include:quantisierung_und_sampling] - +Die Begriffe *zeitkontinuierlich*, *zeitdiskret*, *wertkontinuierlich* und *wertdiskret* beschreiben dabei zwei voneinander unabhängige Eigenschaften eines Signals. Einerseits kann betrachtet werden, ob das Signal zu jedem beliebigen Zeitpunkt definiert ist. Andererseits kann betrachtet werden, ob es beliebige Werte annehmen kann. + +Ein ideales analoges Signal ist sowohl *zeitkontinuierlich* als auch *wertkontinuierlich*. Es ist zu jedem beliebigen Zeitpunkt definiert und kann innerhalb seines Wertebereichs beliebige Zwischenwerte annehmen. Ein solches Signal zeigt die Abbildung [ref:a_wertkont_zeitkont]. + +--- + +Analoge Signale besitzen keine kleinste zeitliche Auflösung und sind zeitlich fortlaufend. Sie werden daher als *zeitkontinuierlich* bezeichnet. Beim Sampling wird ein solches Signal dagegen nur zu bestimmten Zeitpunkten gemessen, also abgetastet. Die einzelnen Abtastwerte bezeichnet man als *Samples*. + +Die Samples stellen jeweils nur den Momentanzustand des Signals zum Zeitpunkt der Abtastung dar. Zwischen zwei Abtastzeitpunkten kann sich das analoge Signal weiter verändern. Da nach dem Sampling nur noch einzelne, zeitlich voneinander getrennte Werte vorliegen, bezeichnet man das abgetastete Signal als *zeitdiskret*. + +Die Abbildung [ref:a_wertkont_zeitdisk] zeigt ein solches ideal abgetastetes Signal. Es ist *zeitdiskret*, da nur zu bestimmten Abtastzeitpunkten Werte vorliegen. Die einzelnen Samples können zunächst jedoch noch beliebige Werte annehmen und sind daher *wertkontinuierlich*. + + +[picture:408:a_wertkont_zeitkont:Wert- und Zeitkontinuierliches Signal] +[picture:409:a_wertkont_zeitdisk:Wertkontinuierliches und Zeitdiskretes Signal] + [question:AF601] [question:AF603] -Sehen wir uns den Prozess des Samplings noch von einer anderen Seite her an. Analoge Signale können beliebige Spannungswerte annehmen und zwischen diesen ohne Zwischenstufen variieren. Da diese Änderungen bei analogen Signalen auch beliebig klein oder groß sein können, bezeichnet man diese Eigenschaft analoger Signale als wertkontinuierlich. Im Gegensatz hierzu stehen bei der Digitalisierung eines analogen Signals hinsichtlich der möglichen Werte (z. B. wie vorgenannte $\num{-128}$ bis $\num{+127}$) nur begrenzte Abstufungen für die Abbildung der gemessenen Spannungswerte zur Verfügung. Daher bezeichnet man digitale Samples in dieser Hinsicht auch als wertdiskret, da immer nur bestimmte Spannungswerte in Form von Spannungsstufen bei der Messung eines analogen Signalwertes zur Verfügung stehen. Wenn nun z.B. ein analoger Signalwert zwischen zwei Spannungsstufen liegt, so muss der A/D-Umsetzer eine Entscheidung treffen, zu welchem Signalwert der gemessene Wert eher tendiert. Diesen Prozess bezeichnet man auch als Quantisierung. Das zuvor kontinuierliche Signal wird hierbei in eine endliche Anzahl von Werten abgebildet. +Den Vorgang, bei dem ein zeitkontinuierliches Signal zu bestimmten Zeitpunkten abgetastet und dadurch in ein zeitdiskretes Signal überführt wird, bezeichnet man als *Sampling*. -Zur Veranschaulichung hier ein praktisches Beispiel anhand eines analogen Dimmers und eines Stufenschalters. Ist ein Dimmer mittels einer analogen Schaltung realisiert, kann man eine Lampe damit beliebig fein in deren Helligkeit steuern. Im Gegensatz hierzu könnte man die Lampe mit einem Stufenschalter mit z. B. $\num{5}$ Stufen nur jeweils auf $\num{5}$ Helligkeitswerte schalten - Zwischenstufen sind hierbei nicht möglich. Daher würde man diesen Stufenschalter auch als wertdiskret bezeichnen. Versucht man nun Helligkeitswerte, die man mit dem analogen Dimmer eingestellt hat, mittels des Stufenschalters nachzubilden, so ist man hier auf die festen vorgegebenen Stufen beschränkt. Man würde in diesem Fall die passendste Einstellung am Stufenschalter wählen und somit eine Quantisierung des analogen Helligkeitswerts vornehmen. +[question:AF606] + +Die Geschwindigkeit, mit der die Abtastung eines analogen Signals vorgenommen wird, wird als *Samplingrate* oder *Abtastrate* bezeichnet. Sie gibt an, wie viele Samples pro Zeiteinheit, beispielsweise pro Sekunde, aufgenommen werden. + +Analoge Tonsignale werden bei digitalen Datenträgern wie CDs beispielsweise mit einer Samplingrate von $\num{44100}$ Samples pro Sekunde abgetastet. Dies entspricht $\qty{44,1}{\kilo\sps}$. + +[question:AF615] + +--- + +Neben der zeitlichen Auflösung spielt bei der Digitalisierung auch die Auflösung der gemessenen Werte eine Rolle. Analoge Signale können beliebige Spannungswerte annehmen und zwischen diesen ohne feste Zwischenstufen variieren. Man bezeichnet sie deshalb als *wertkontinuierlich*. + +Bei der Digitalisierung steht dagegen nur eine begrenzte Anzahl möglicher Zahlenwerte zur Verfügung. Ein gemessener Spannungswert muss daher einer dieser festen Stufen zugeordnet werden. Das Signal ist danach *wertdiskret*. + +Liegt ein analoger Signalwert zwischen zwei möglichen Stufen, muss entschieden werden, welcher Stufe der gemessene Wert zugeordnet wird. Diesen Vorgang bezeichnet man als *Quantisierung*. Das zuvor wertkontinuierliche Signal wird dabei auf eine endliche Anzahl möglicher Werte abgebildet. + +Die Abbildung [ref:a_wertdisk_zeitkont] zeigt zur Veranschaulichung ein *wertdiskretes, aber zeitkontinuierliches Signal*. Das Signal ist weiterhin zu jedem Zeitpunkt definiert, kann jedoch nur bestimmte, fest vorgegebene Werte annehmen. Die möglichen Werte sind also bereits quantisiert, die Zeit hingegen noch nicht diskretisiert. + +Werden Sampling und Quantisierung miteinander kombiniert, entsteht ein *wert- und zeitdiskretes Signal*, wie es in Abbildung [ref:a_wertdisk_zeitdisk] dargestellt ist. Es liegen nur zu bestimmten Zeitpunkten Samples vor, und auch deren mögliche Werte sind auf feste Stufen beschränkt. Dies entspricht der digitalen Darstellung eines zuvor analogen Signals. + + +Zur Veranschaulichung kann man einen analogen Dimmer mit einem Stufenschalter vergleichen. Mit einem analogen Dimmer lässt sich die Helligkeit einer Lampe beliebig fein einstellen. Mit einem Stufenschalter mit beispielsweise $\num{5}$ Stufen stehen dagegen nur $\num{5}$ verschiedene Helligkeitswerte zur Verfügung. Zwischenwerte sind nicht möglich. + +Soll eine mit dem analogen Dimmer eingestellte Helligkeit mit dem Stufenschalter nachgebildet werden, muss die am besten passende Stufe gewählt werden. Genau dies entspricht dem Prinzip der Quantisierung: Ein kontinuierlicher Wert wird einem von mehreren fest vorgegebenen Werten zugeordnet. + + + +[picture:410:a_wertdisk_zeitkont:Wertdiskretes und Zeitkontinuierliches Signal] +[picture:411:a_wertdisk_zeitdisk:Wert- und Zeitdiskretes Signal] + [question:AF602] [question:AF604] +[question:AF605] + + +Hier gibt es die Möglichkeit das Ganze nochmal auszuprobieren. Ein zeitkontinuierliches Sinus-Signal wird von einem AD-Umsetzer digitalisiert und anschließend wieder von einem DA-Umsetzer in ein analoges Signal gewandelt. An den Reglern kann man die Zeitquantisierung und die Wertquantisierung der AD/DA-Umsetzer einstellen. + +[include:quantisierung_und_sampling] + \ No newline at end of file diff --git a/contents/slides/quantisierung.md b/contents/slides/quantisierung.md deleted file mode 100644 index 847a67d..0000000 --- a/contents/slides/quantisierung.md +++ /dev/null @@ -1,9 +0,0 @@ -## Quantisierung in der A/D-Umsetzung - -* Zeitkontinuierliche Signale werden durch A/D-Umsetzung in digitale Samples überführt -* Bei der Quantisierung werden kontinuierliche analoge Werte in feste Stufen (wertdiskret) abgebildet -* Ein analoges, wertkontinuierliches Signal wird somit in ein gestuftes, wertdiskretes Signal transformiert - ---- - -[question:AF605] diff --git a/contents/slides/sampling.md b/contents/slides/sampling.md deleted file mode 100644 index 6174784..0000000 --- a/contents/slides/sampling.md +++ /dev/null @@ -1,18 +0,0 @@ -* Der Prozess, ein analoges, zeitkontinuierliches Signal mittels A/D-Umsetzung in ein digitales Signal zu überführen -* Das digitale Signal besteht aus einzelnen, zeitdiskreten Samples - ---- - -[question:AF606] - ---- - -## Samplingrate - -* Geschwindigkeit, mit der ein A/D-Umsetzer Abtastungen vornimmt -* Definiert als Anzahl der Samples pro Zeiteinheit (z. B. pro Sekunde) -* Einheit: Samples/s (z. B. $\qty{44100}{\text{Samples}\per\second}$ bei CDs, oft als $\qty{44,1}{\kilo\sps}$ angegeben) - ---- - -[question:AF615] diff --git a/contents/slides/sampling_quantisierung.md b/contents/slides/sampling_quantisierung.md index c2ac793..86e9607 100644 --- a/contents/slides/sampling_quantisierung.md +++ b/contents/slides/sampling_quantisierung.md @@ -1,29 +1,57 @@ -## Sampling: Von analog zu digital +## Sampling und Quantisierung -* Analoge Signale werden mittels Sampling in digitale Werte umgewandelt -* Abtastung erfolgt in definierten Zeitintervallen – nur Momentanzustände werden gemessen -* Analoge Signale sind zeitkontinuierlich, da sie keine kleinste zeitliche Auflösung besitzen -* Digitale Samples sind zeitdiskret, da ein festes Abtastintervall existiert +Bei der Digitalisierung eines analogen Signals müssen zwei Eigenschaften betrachtet werden: + +* **Wann** wird das Signal gemessen? + * Sampling + * zeitkontinuierlich → zeitdiskret +* **Wie genau** wird der gemessene Wert dargestellt? + * Quantisierung + * wertkontinuierlich → wertdiskret + + +Sampling und Quantisierung sind zwei unterschiedliche Schritte. + +Beim Sampling wird die Zeitachse diskretisiert: Wir betrachten das Signal nur noch zu bestimmten Abtastzeitpunkten. + +Bei der Quantisierung wird dagegen die Wertachse diskretisiert: Ein gemessener Wert wird einer von endlich vielen möglichen Stufen zugeordnet. + --- -[include:quantisierung_und_sampling] +## Analoges Signal ---- +[picture:408:a_wertkont_zeitkont:Wert- und Zeitkontinuierliches Signal] -## Wertkontinuität vs. Wertdiskretheit +* Zu jedem beliebigen Zeitpunkt ist ein Signalwert vorhanden +* Der Signalwert kann beliebige Zwischenwerte annehmen +* Ein ideales analoges Signal ist daher *zeit-* und *wertkontinuierlich* -* Analoge Signale können beliebige Spannungswerte annehmen – sie sind wertkontinuierlich -* Bei der Digitalisierung gibt es nur begrenzte Abstufungen (z. B. $\num{-128}$ bis $\num{+127}$) – Samples sind wertdiskret -* Zwischen zwei Spannungsstufen muss der A/D-Umsetzer eine Entscheidung treffen (Quantisierung) +--- style="font-size: smaller;" ---- +## Sampling -## Praktisches Beispiel: Dimmer vs. Stufenschalter + +[picture:408:a_wertkont_zeitkont:Wert- und Zeitkontinuierliches Signal] + + +[picture:409:a_wertkont_zeitdisk:Wertkontinuierliches und Zeitdiskretes Signal] + -* Ein analoger Dimmer erlaubt feine, stufenlose Helligkeitseinstellungen -* Ein Stufenschalter (z. B. $\num{5}$ Stufen) ermöglicht nur feste Helligkeitswerte – Zwischenstufen sind nicht möglich -* Quantisierung: Auswahl der nächstpassenden Stufe, um den analogen Wert abzubilden + +* Das Signal wird nur zu bestimmten Zeitpunkten abgetastet +* Die einzelnen Abtastwerte heißen *Samples* +* Aus einem zeitkontinuierlichen Signal wird ein *zeitdiskretes* Signal +* Die Werte selbst können zunächst weiterhin beliebige Werte annehmen + + + +Beim idealisierten Sampling verändert sich zunächst nur die Zeitachse. + +Vor dem Sampling ist das Signal zu jedem Zeitpunkt definiert. Danach liegen nur noch zu bestimmten Abtastzeitpunkten Werte vor. + +Die einzelnen Samplewerte müssen an dieser Stelle noch nicht quantisiert sein. Deshalb ist das Signal rechts zeitdiskret, aber noch wertkontinuierlich. + --- @@ -35,8 +63,129 @@ --- +## Sampling + +* Der Vorgang der zeitlichen Abtastung wird als *Sampling* bezeichnet +* Die einzelnen Abtastwerte heißen *Samples* +* Zwischen zwei Samples kann sich das analoge Signal weiter verändern + + +Sampling bedeutet somit: + +**zeitkontinuierlich → zeitdiskret** + + +--- + +[question:AF606] + +--- + +## Samplingrate + +* Die *Samplingrate* oder *Abtastrate* gibt an, wie viele Samples pro Zeiteinheit aufgenommen werden +* Einheit: Samples pro Sekunde + + +Beispiel Audio-CD: + +$\num{44100}$ Samples pro Sekunde + +entsprechen + +$\qty{44,1}{\kilo\sps}$ + + + +Je höher die Samplingrate ist, desto kleiner ist der zeitliche Abstand zwischen zwei aufeinanderfolgenden Samples. + +Welche Samplingrate mindestens erforderlich ist, behandeln wir anschließend beim Abtasttheorem. + + +--- + +[question:AF615] + +--- + +## Quantisierung + +* Analoge Signalwerte können beliebige Zwischenwerte annehmen: *wertkontinuierlich* +* Digital stehen nur endlich viele mögliche Werte zur Verfügung: *wertdiskret* +* Ein Messwert muss einer der verfügbaren Stufen zugeordnet werden + + +Diesen Vorgang bezeichnet man als *Quantisierung*. + + + +Nach dem Sampling wissen wir, zu welchen Zeitpunkten wir das Signal betrachten. + +Nun müssen wir noch entscheiden, mit welchem digitalen Zahlenwert der jeweils gemessene analoge Wert dargestellt werden soll. + +Liegt der tatsächliche Wert zwischen zwei möglichen Stufen, wird er einer geeigneten Stufe zugeordnet. + + +--- style="font-size: smaller;" + +## Wertkontinuierlich und wertdiskret + + +[picture:410:a_wertdisk_zeitkont:Wertdiskretes und Zeitkontinuierliches Signal] + + +[picture:411:a_wertdisk_zeitdisk:Wert- und Zeitdiskretes Signal] + + +* Links: Werte sind bereits diskret, die Zeit ist noch kontinuierlich +* Rechts: Werte und Zeit sind diskret + + +Durch die Kombination von **Sampling und Quantisierung** entsteht die digitale Darstellung eines analogen Signals. + + + +Die linke Darstellung dient vor allem dazu zu zeigen, dass Zeitdiskretheit und Wertdiskretheit zwei unabhängige Eigenschaften sind. + +Für die Digitalisierung besonders wichtig ist die rechte Darstellung: Nach Sampling und Quantisierung liegen nur noch einzelne Samples vor, die zusätzlich nur endlich viele mögliche Werte annehmen können. + + +--- + [question:AF602] --- -[question:AF604] \ No newline at end of file +[question:AF604] + +--- + +[question:AF605] + +--- + +## Praktisches Beispiel: Dimmer vs. Stufenschalter + +* Ein analoger Dimmer erlaubt feine, stufenlose Helligkeitseinstellungen +* Ein Stufenschalter (z. B. $\num{5}$ Stufen) ermöglicht nur feste Helligkeitswerte – Zwischenstufen sind nicht möglich +* Quantisierung: Auswahl der nächstpassenden Stufe, um den analogen Wert abzubilden + +--- +## Zusammenfassung + + +[include:quantisierung_und_sampling] + + +* Sampling bestimmt, **wann** ein Wert betrachtet wird +* Quantisierung bestimmt, **welcher digitale Wert** daraus wird +* Erst beide Schritte zusammen ergeben ein zeit- und wertdiskretes Signal + + + +Mit dem Applet können Sampling und Quantisierung gemeinsam betrachtet werden. + +Die Samplingrate beeinflusst den zeitlichen Abstand der Samples. Die Quantisierung bestimmt dagegen, welche möglichen Werte die Samples annehmen können. + +Damit lassen sich die beiden zunächst unabhängigen Schritte noch einmal gemeinsam nachvollziehen. + \ No newline at end of file diff --git a/toc/A.json b/toc/A.json index b87f009..070754e 100644 --- a/toc/A.json +++ b/toc/A.json @@ -837,13 +837,6 @@ "class": "A", "video_url": null }, - { - "title": "Sampling", - "ident": "sampling", - "status": "alpha", - "class": "A", - "video_url": null - }, { "title": "Abtasttheorem", "ident": "abtasttheorem", @@ -851,13 +844,6 @@ "class": "A", "video_url": null }, - { - "title": "Quantisierung", - "ident": "quantisierung", - "status": "alpha", - "class": "A", - "video_url": null - }, { "title": "Analog-Digital-Umsetzer (ADC)", "ident": "analog_digital_umsetzer", diff --git a/toc/EA.json b/toc/EA.json index 2a94dd1..e7499d1 100644 --- a/toc/EA.json +++ b/toc/EA.json @@ -1385,13 +1385,6 @@ "class": "A", "video_url": null }, - { - "title": "Sampling", - "ident": "sampling", - "status": "alpha", - "class": "A", - "video_url": null - }, { "title": "Abtasttheorem", "ident": "abtasttheorem", @@ -1399,13 +1392,6 @@ "class": "A", "video_url": null }, - { - "title": "Quantisierung", - "ident": "quantisierung", - "status": "alpha", - "class": "A", - "video_url": null - }, { "title": "Analog-Digital-Umsetzer (ADC)", "ident": "analog_digital_umsetzer", diff --git a/toc/NEA.json b/toc/NEA.json index 2a28759..de41640 100644 --- a/toc/NEA.json +++ b/toc/NEA.json @@ -2026,13 +2026,6 @@ "class": "A", "video_url": null }, - { - "title": "Sampling", - "ident": "sampling", - "status": "alpha", - "class": "A", - "video_url": null - }, { "title": "Abtasttheorem", "ident": "abtasttheorem", @@ -2040,13 +2033,6 @@ "class": "A", "video_url": null }, - { - "title": "Quantisierung", - "ident": "quantisierung", - "status": "alpha", - "class": "A", - "video_url": null - }, { "title": "Analog-Digital-Umsetzer (ADC)", "ident": "analog_digital_umsetzer", From 5499fb89740d8c74b4fc7a438b0ebf9725922027 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Thu, 13 Aug 2026 17:09:45 +0200 Subject: [PATCH 02/33] refactor dac and adc combined three sections to one --- contents/sections/analog_digital_umsetzer.md | 19 -- contents/sections/anti_alias_filter.md | 17 +- contents/sections/anwendung_dac_adc.md | 7 - contents/sections/dac_adc.md | 67 +++++++ contents/sections/digital_analog_umsetzer.md | 9 - contents/slides/analog_digital_umsetzer.md | 61 ------ contents/slides/anwendung_dac_adc.md | 31 --- contents/slides/dac_adc.md | 200 +++++++++++++++++++ contents/slides/digital_analog_umsetzer.md | 39 ---- toc/A.json | 18 +- toc/EA.json | 18 +- toc/NEA.json | 18 +- 12 files changed, 289 insertions(+), 215 deletions(-) delete mode 100644 contents/sections/analog_digital_umsetzer.md delete mode 100644 contents/sections/anwendung_dac_adc.md create mode 100644 contents/sections/dac_adc.md delete mode 100644 contents/sections/digital_analog_umsetzer.md delete mode 100644 contents/slides/analog_digital_umsetzer.md delete mode 100644 contents/slides/anwendung_dac_adc.md create mode 100644 contents/slides/dac_adc.md delete mode 100644 contents/slides/digital_analog_umsetzer.md diff --git a/contents/sections/analog_digital_umsetzer.md b/contents/sections/analog_digital_umsetzer.md deleted file mode 100644 index 99366b2..0000000 --- a/contents/sections/analog_digital_umsetzer.md +++ /dev/null @@ -1,19 +0,0 @@ - -Sehen wir uns im Folgenden die Funktion des A/D-Umsetzers genauer an. Aus der Lektion Abtasttheorem wissen wir, dass wir, um die Information eines Signals ohne Informationsverluste abtasten zu können, mindestens mit etwas mehr als der doppelten Frequenz, die unser abzutastendes Signal enthält, abtasten müssen. Nun empfangen wir über eine Antenne in der Regel allerlei Signale - auch solche, die sich über der maximalen Frequenz, die wir verarbeiten wollen, befinden. Was passiert nun, wenn solche Signale auf den A/D-Umsetzer treffen? Rufen wir uns hierzu noch einmal das Beispiel mit der Fliege, die durchs Bild fliegt, ins Gedächtnis. Diese Signale können aufgrund der hierfür zu niedrigen Abtastfrequenz nicht mehr erfasst werden und erscheinen in unseren Samples als fehlerhaft erfasste Frequenzen. Diese nennen sich auch Aliases (zu Deutsch in etwa Pseudonyme). Ein Signal leicht oberhalb der maximalen Eingangsfrequenz würde als Alias mit einer Frequenz leicht unterhalb der maximalen Eingangsfrequenz unseres A/D-Umsetzers erscheinen und somit ein Signal darstellen, das es eigentlich gar nicht gibt. Um dies zu verhindern, müssen wir vor dem Eingang des A/D-Umsetzers ein Antialiasing-Filter (in der Regel ein Tiefpassfilter oder Bandpassfilter) schalten, so dass unerwünschte Frequenzen, die zu Aliases führen könnten, wirksam unterdrückt werden, bevor das Signal den A/D-Umsetzer erreicht. - -Der A/D-Umsetzer benötigt für seine Aufgabe zudem einen Taktgenerator, welchen man auch Abtastratengenerator nennt, damit er in zeitlichen Abständen Samples des Eingangssignals generieren kann, die er dann als digitalen Datenstrom an weitere Teile einer Schaltung weitergeben kann. Die Taktrate kann fest eingestellt sein oder durch Kontrollinformationen z. B. von einem Mikrocontroller gesteuert werden. - -[question:AF620] - -Da ein A/D-Umsetzer stets mit einer begrenzten Zahl an möglichen digitalen Werten, welche die Größe des analogen Eingangssignals darstellen können, arbeitet, erfolgt die Erfassung der Amplitudenwerte in Stufen. Wir erinnern uns an das Beispiel mit dem Dimmer und Stufenschalter zuvor. Dadurch, dass das analoge Eingangssignal nun nur in bestimmten Stufen erfasst werden kann, kommt es zu Quantisierungsfehlern. - -[question:AF607] - -Die Anzahl der möglichen Stufen eines A/D-Umsetzers wird auch als dessen Auflösung bezeichnet. Man gibt diese Anzahl oft in Bit ($\unit{\bit}$) an. Kann ein Umsetzer $\num{256}$ Stufen (beispielsweise von $\num{-128}$ bis $\num{+127}$) unterscheiden, hat er $\qty{8}{\bit}$. Ein $\qty{16}{\bit}$-Umsetzer kann bereits $\num{65536}$ Stufen unterscheiden. Hierbei werden in der Regel die Hälfte der Werte für den positiven Signalbereich und die andere Hälfte der Werte für den negativen Signalbereich verwendet. - -[question:AF608] - -Eine weitere wichtige Eigenschaft eines A/D-Umsetzers besteht darin, das Eingangssignal möglichst exakt zu erfassen und dabei Fehler in den Zeitabständen zwischen einzelnen Samples zu vermeiden. Entscheidend hierfür ist ein möglichst stabiler Abtastratengenerator, der einen exakten zeitlichen Takt für den A/D-Umsetzer erzeugt. Leider ist dies technisch oft mit hohem Aufwand verbunden, weshalb es immer zu einem geringen Unterschied zwischen den Signalflanken des Takts kommen kann. Dies nennt man auch Jitter (zu Deutsch in etwa Zittern). Im Ergebnis führt dies zu zusätzlichem Rauschen im Abtastergebnis (dem digitalen Datenstrom) des A/D-Umsetzers. - -[question:AF621] - diff --git a/contents/sections/anti_alias_filter.md b/contents/sections/anti_alias_filter.md index 479439c..9cde19f 100644 --- a/contents/sections/anti_alias_filter.md +++ b/contents/sections/anti_alias_filter.md @@ -1,5 +1,20 @@ +%%% TODO diese beiden textblöcke müssen verbunden werden. + + Wie zuvor schon kurz angesprochen, muss vor dem A/D-Umsetzer ein entsprechendes Filter zur Unterdrückung von Signalanteilen höherer Frequenzen eingefügt werden. Man nennt ein solches Filter auch Antialiasingfilter. Als Filtertypen können hier sowohl Tiefpassfilter als auch Bandpassfilter Anwendung finden. Das Filter muss hierbei so beschaffen sein, dass Signalanteile, die sich oberhalb der halben Sampling-Frequenz befinden, wirksam unterdrückt werden. Wir erinnern uns, dass für die Abtastung eines Signals mehr als die doppelte Abtastfrequenz der zu erfassenden Signalfrequenz erforderlich ist. [question:AF622] -[question:AF623] \ No newline at end of file +[question:AF623] + + + +Aus der Lektion zum Abtasttheorem wissen wir, dass ein Signal mit einer ausreichend hohen Abtastrate abgetastet werden muss. Über eine Antenne empfangen wir jedoch in der Regel viele unterschiedliche Signale – auch solche mit Frequenzen oberhalb des Frequenzbereichs, den wir eigentlich verarbeiten wollen. + +Treffen solche Signale auf den A/D-Umsetzer, obwohl seine Abtastrate für diese Frequenzen nicht ausreichend ist, können sie als andere, nicht tatsächlich vorhandene Frequenzen im digitalen Signal erscheinen. Diese werden als *Aliase* bezeichnet. + +Um dies zu verhindern, wird vor dem Eingang des A/D-Umsetzers ein *Antialiasing-Filter* eingesetzt. Dabei handelt es sich in der Regel um einen Tiefpass- oder Bandpassfilter, der unerwünschte Frequenzen unterdrückt, bevor das Signal den A/D-Umsetzer erreicht. + +Der A/D-Umsetzer benötigt außerdem einen Taktgenerator, den man auch als Abtastratengenerator bezeichnet. Dieser legt fest, zu welchen Zeitpunkten das Eingangssignal abgetastet wird. Der A/D-Umsetzer erzeugt daraus einen digitalen Datenstrom, der anschließend von weiteren Teilen der Schaltung verarbeitet werden kann. Die Taktrate kann fest eingestellt sein oder beispielsweise durch einen Mikrocontroller gesteuert werden. + +[question:AF620] \ No newline at end of file diff --git a/contents/sections/anwendung_dac_adc.md b/contents/sections/anwendung_dac_adc.md deleted file mode 100644 index ebc7da4..0000000 --- a/contents/sections/anwendung_dac_adc.md +++ /dev/null @@ -1,7 +0,0 @@ -A/D- und D/A-Umsetzer werden in SDR-Empfängern und Transceivern an verschiedenen Stellen eingesetzt. Analoge Eingangssignale werden durch einen A/D-Umsetzer digitalisiert, anschließend digital verarbeitet, und dann mittels eines D/A-Umsetzers wieder in analoge Signale zur weiteren Verarbeitung oder Ausgabe rekonstruiert. Hierbei ist es natürlich möglich, dass ein Eingangssignal aufgrund seiner Größe nicht den vollen Wertebereich des A/D-Umsetzers und des anschließenden D/A-Umsetzers ausschöpft. Entsprechend wird dieses Signal dann auch nur auf einen kleineren Wertebereich der möglichen digitalen Stufen abgebildet. Ebenfalls denkbar ist, dass das Eingangssignal höhere Werte als der maximale Wertebereich des A/D- oder D/A-Umsetzers annehmen kann. In diesem Fall wird ein A/D-Umsetzer das Signal nur bis zur maximalen Eingangsspannung des Umsetzers korrekt abbilden können. Höhere Werte können dann nur noch mit dem Maximalwert des A/D-Umsetzers abgebildet werden. Man spricht in diesem Fall auch von Clipping (zu Deutsch Beschneidung) des Signals. Dies äußert sich in abgeschnittenen Anteilen in den maximalen Bereichen des Signals, die als Gerade mit dem maximalen Wert des A/D-Umsetzers verlaufen. - -Je höher die Auflösung eines A/D-Umsetzers und D/A-Umsetzers ist, desto "feiner" können Signalamplitudenwerte digital abgebildet und auch rekonstruiert werden. Eine niedrige Auflösung führt im Gegensatz dazu, dass Signale gestuft abgetastet bzw. rekonstruiert werden. - -[question:AF613] -[question:AF612] -[question:AF614] diff --git a/contents/sections/dac_adc.md b/contents/sections/dac_adc.md new file mode 100644 index 0000000..49c2220 --- /dev/null +++ b/contents/sections/dac_adc.md @@ -0,0 +1,67 @@ +Sehen wir uns nun genauer an, wie analoge Signale in digitale Werte und digitale Werte wieder in analoge Signale umgesetzt werden. Dazu werden *A/D-Umsetzer* (Analog-Digital-Umsetzer) und *D/A-Umsetzer* (Digital-Analog-Umsetzer) verwendet. + +Ein A/D-Umsetzer tastet ein analoges Eingangssignal zu bestimmten Zeitpunkten ab und erzeugt daraus digitale Zahlenwerte, die anschließend von weiteren Teilen einer Schaltung verarbeitet werden können. + +Da ein A/D-Umsetzer nur mit einer begrenzten Anzahl möglicher digitaler Werte arbeitet, kann er die Amplitude eines analogen Eingangssignals nur in bestimmten Stufen erfassen. Wir erinnern uns dabei an das zuvor verwendete Beispiel mit Dimmer und Stufenschalter. Liegt der tatsächliche Wert zwischen zwei möglichen Stufen, muss er einer davon zugeordnet werden. Dadurch entsteht ein *Quantisierungsfehler*. + +[question:AF607] + +--- + +Die Anzahl der möglichen Stufen eines A/D-Umsetzers wird als dessen *Auflösung* bezeichnet. Sie wird häufig in Bit ($\unit{\bit}$) angegeben. Kann ein Umsetzer beispielsweise $\num{256}$ unterschiedliche Werte unterscheiden, besitzt er eine Auflösung von $\qty{8}{\bit}$, denn mit $\qty{8}{\bit}$ lassen sich $\num{256}$ verschiedene Werte darstellen. Ein $\qty{16}{\bit}$-Umsetzer kann bereits $\num{65536}$ unterschiedliche Werte unterscheiden. + +Bei Signalen, die sowohl positive als auch negative Werte annehmen können, wird typischerweise ein Teil dieser Werte für den positiven und ein Teil für den negativen Signalbereich verwendet. + +Die Abbildung [ref:a_adc_4bit] zeigt ein Sinussignal, das durch einen A/D-Umsetzer mit einer Auflösung von $\qty{4}{\bit}$ digitalisiert und anschließend wieder in ein analoges Signal umgesetzt wurde. Die Abbildung [ref:a_adc_12bit] zeigt dasselbe Sinussignal, das jedoch durch einen A/D-Umsetzer mit einer Auflösung von $\qty{12}{\bit}$ digitalisiert und anschließend wieder in ein analoges Signal umgesetzt wurde. Man erkennt deutlich, dass die zusätzlichen $\qty{8}{\bit}$ zu einer wesentlich feineren Auflösung führen (um Faktor 256 besser), sodass das rekonstruierte Signal dem ursprünglichen Sinussignal bereits sehr nahe kommt. + + +[picture:300:a_adc_4bit:Sinussignal digitalisiert durch einen 4-Bit-A/D-Umsetzer und anschließende D/A-Umsetzung] +[picture:299:a_adc_12bit:Sinussignal digitalisiert durch einen 12-Bit-A/D-Umsetzer und anschließende D/A-Umsetzung] + + +[question:AF608] + +Eine weitere wichtige Eigenschaft eines A/D-Umsetzers ist die zeitliche Genauigkeit der Abtastung. Die einzelnen Samples sollten möglichst exakt in den vorgesehenen zeitlichen Abständen aufgenommen werden. Dazu ist ein möglichst stabiler Abtastratengenerator erforderlich. + +In der Praxis können die tatsächlichen Abtastzeitpunkte jedoch geringfügig von den idealen Zeitpunkten abweichen. Diese zeitlichen Schwankungen werden als *Jitter* bezeichnet. Jitter kann zu zusätzlichen Fehlern und damit zu zusätzlichem Rauschen im digitalisierten Signal führen. + +[question:AF621] + +--- + +Der Gegenspieler des A/D-Umsetzers ist der *D/A-Umsetzer*. Er erzeugt aus einem digitalen Datenstrom beziehungsweise aus digitalen Samples wieder ein analoges Signal. + +Auch ein D/A-Umsetzer kann nicht beliebig viele unterschiedliche Ausgangswerte erzeugen. Wie beim A/D-Umsetzer besitzt er eine bestimmte Auflösung in Bit und damit nur eine endliche Anzahl möglicher Ausgangswerte. + +[question:AF609] + +Ein D/A-Umsetzer kann außerdem nur Spannungen innerhalb eines bestimmten Wertebereichs erzeugen, beispielsweise von $\qty{0}{\volt}$ bis $\qty{1}{\volt}$ oder von $\qty{-2}{\volt}$ bis $\qty{2}{\volt}$. + +Bei einem linear arbeitenden D/A-Umsetzer sind die möglichen Ausgangswerte gleichmäßig über diesen Spannungsbereich verteilt. Besitzt ein D/A-Umsetzer beispielsweise eine Auflösung von $\qty{4}{\bit}$, stehen + +$\num{2^4}=\num{16}$ + +mögliche Stufen zur Verfügung. + +Verteilen sich diese auf einen Spannungsbereich von $\qty{0}{\volt}$ bis $\qty{1}{\volt}$, gibt es zwischen den $\num{16}$ Stufen insgesamt $\num{15}$ Zwischenschritte. Die Schrittweite beträgt daher + +$\frac{\qty{1}{\volt}}{16-1}\approx\qty{67}{\milli\volt}.$ + +[question:AF611] +[question:AF610] + +--- + +A/D- und D/A-Umsetzer werden beispielsweise in SDR-Empfängern und Transceivern eingesetzt. Analoge Eingangssignale werden zunächst durch einen A/D-Umsetzer digitalisiert und anschließend digital verarbeitet. Soll daraus wieder ein analoges Signal entstehen, werden die digitalen Werte mit einem D/A-Umsetzer zurück in analoge Spannungswerte umgesetzt. + +Dabei kann es vorkommen, dass ein Eingangssignal nur einen kleinen Teil des verfügbaren Wertebereichs eines A/D-Umsetzers nutzt. In diesem Fall wird entsprechend auch nur ein Teil der verfügbaren digitalen Stufen verwendet. + +Umgekehrt kann ein Eingangssignal den maximalen Wertebereich eines A/D-Umsetzers überschreiten. Werte oberhalb der maximal erfassbaren Eingangsspannung können dann nicht mehr korrekt dargestellt werden und werden nur noch mit dem maximal möglichen Wert abgebildet. Dieser Effekt wird als *Clipping* bezeichnet. Im Signalverlauf erscheinen die betroffenen Bereiche dadurch abgeschnitten. + +Auch ein D/A-Umsetzer kann keine Ausgangsspannung außerhalb seines vorgesehenen Wertebereichs erzeugen. + +Je höher die Auflösung eines A/D- oder D/A-Umsetzers ist, desto feiner können unterschiedliche Amplitudenwerte digital dargestellt beziehungsweise wieder in analoge Spannungswerte umgesetzt werden. Bei einer geringen Auflösung stehen dagegen nur wenige mögliche Stufen zur Verfügung, sodass die Abstufungen deutlicher sichtbar werden. + +[question:AF613] +[question:AF612] +[question:AF614] \ No newline at end of file diff --git a/contents/sections/digital_analog_umsetzer.md b/contents/sections/digital_analog_umsetzer.md deleted file mode 100644 index 6843891..0000000 --- a/contents/sections/digital_analog_umsetzer.md +++ /dev/null @@ -1,9 +0,0 @@ -Gehen wir nun etwas genauer auf den Gegenspieler des A/D-Umsetzers - den D/A-Umsetzer - ein. Der D/A-Umsetzer erzeugt aus einem in digitalen Daten vorliegenden Datenstrom (Samples) wiederum ein analoges Signal. Hierbei kann der D/A-Umsetzer natürlich ebenso wie der A/D-Umsetzer nicht beliebig genaue Amplituden-Werte erzeugen, sondern hat genau so wie der A/D-Umsetzer eine maximale Auflösung (in Bits). Hierdurch gibt es ebenfalls wieder eine endliche Anzahl von analogen Signalwerten, die der D/A-Umsetzer erzeugen kann. Die Anzahl der möglichen Stufen errechnet sich wie schon zuvor beschrieben beim A/D-Umsetzer. - -[question:AF609] - -Ein D/A-Umsetzer kann immer nur Spannungen in einem bestimmten Spannungsbereich (z. B. von $\qty{0}{\volt}$ bis $\qty{1}{\volt}$ oder von $\qty{-2}{\volt}$ bis $\qty{2}{\volt}$) generieren. Hierbei verteilt sich die Anzahl der vorbeschriebenen Stufen (Auflösung des D/A-Umsetzers) bei einem linear arbeitenden D/A-Umsetzer (linear bedeutet hier, dass der Abstand zwischen den einzelnen Stufen immer gleich ist) auf den Spannungsbereich. Hat der D/A-Umsetzer z. B. eine Auflösung von nur $\qty{4}{\bit}$, so haben wir $\num{16}$ mögliche Stufen. Diese verteilen sich dann z. B. auf einen Spannungsbereich (Wertebereich) von $\qty{0}{\volt}$ bis $\qty{1}{\volt}$. Um die Schrittweite zwischen zwei Stufen zu errechnen, muss man den Spannungsbereich nur durch die Anzahl der möglichen Zwischenschritte teilen. Achtung: Bei $16$ Stufen gibt es nur $15$ Zwischenschritte. Dies ergibt z. B. bei unserem vorgenannten Beispiel einen Abstand (Schrittweite) von $\frac{\qty{1}{\volt}}{16 - 1} \approx \qty{67}{\milli\volt}$. - -[question:AF611] -[question:AF610] - diff --git a/contents/slides/analog_digital_umsetzer.md b/contents/slides/analog_digital_umsetzer.md deleted file mode 100644 index 2f8ba8b..0000000 --- a/contents/slides/analog_digital_umsetzer.md +++ /dev/null @@ -1,61 +0,0 @@ -## Funktion des A/D-Umsetzers - -* Wandelt analoge Eingangssignale in digitale Samples um -* Essentiell für die Digitalisierung und Weiterverarbeitung von Signalen - ---- - -### Aliasing und Antialiasing - -* Abtasttheorem: Für fehlerfreie Rekonstruktion muss die Abtastrate $\gt 2 \cdot f_{\mathrm{max}}$ betragen -* Signale oberhalb der maximal verarbeitbaren Frequenz können als fehlerhafte Aliases erscheinen -* Antialiasing-Filter (Tiefpass- oder Bandpassfilter) unterdrücken unerwünschte hohe Frequenzen -* Schützen den A/D-Umsetzer vor fehlerhaften Aliasing-Effekten - ---- - -[question:AF620] - ---- - -### Taktgenerator (Abtastratengenerator) - -* Erzeugt den exakten zeitlichen Takt für die Abtastung -* Bestimmt, wie oft pro Sekunde ein Sample erfasst wird -* Kann fest eingestellt oder durch Steuerung (z. B. Mikrocontroller) geregelt werden - ---- - -### Quantisierung und Quantisierungsfehler - -* Bei der A/D-Umsetzung werden analoge Amplitudenwerte in feste Stufen abgebildet -* Dies führt zu einer wertdiskreten Darstellung des ursprünglich kontinuierlichen Signals -* Quantisierungsfehler entstehen, da nicht alle Zwischenwerte exakt erfasst werden können - ---- - -[question:AF607] - ---- - -## Auflösung des A/D-Umsetzers - -* Anzahl der möglichen digital darstellbaren Stufen -* Wird in Bit angegeben (z. B. $\qty{8}{\bit} = \num{256}$ Stufen, $\qty{16}{\bit} = \num{65536}$ Stufen) -* Häufig wird die Hälfte der Werte für den positiven und die andere Hälfte für den negativen Bereich verwendet - ---- - -[question:AF608] - ---- - -### Jitter: Timing-Instabilitäten - -* Jitter beschreibt kleine, zufällige Schwankungen in den Abtastzeitpunkten -* Ein instabiler Abtastratengenerator führt zu zusätzlichen Rauscheffekten im digitalen Signal -* Hoher technischer Aufwand ist nötig, um einen präzisen Takt zu gewährleisten - ---- - -[question:AF621] diff --git a/contents/slides/anwendung_dac_adc.md b/contents/slides/anwendung_dac_adc.md deleted file mode 100644 index 9a5018e..0000000 --- a/contents/slides/anwendung_dac_adc.md +++ /dev/null @@ -1,31 +0,0 @@ -## A/D- und D/A-Umsetzer in SDR-Systemen - -* In SDR-Empfängern und Transceivern wandeln A/D-Umsetzer analoge Eingangssignale in digitale Daten um -* Die digitalen Daten werden verarbeitet und mittels D/A-Umsetzer wieder in analoge Signale umgewandelt - ---- - -### Nutzung des Wertebereichs - -* Wird der volle Wertebereich nicht ausgenutzt, wird das Signal nur auf einen kleineren digitalen Bereich abgebildet -* Überschreitet das Eingangssignal den maximalen Bereich, kann der A/D-/D/A-Umsetzer nur bis zur maximalen Spannung korrekt abbilden -* Überschüssige Werte werden als Maximalwert (Clipping) dargestellt, was zu abgeschnittenen Signalanteilen führt - ---- - -## Einfluss der Auflösung - -* Eine höhere Auflösung ermöglicht eine feinere Abbildung der Signalamplituden -* Eine niedrigere Auflösung führt zu einer gestuften, weniger genauen Rekonstruktion des Signals - ---- - -[question:AF613] - ---- - -[question:AF612] - ---- - -[question:AF614] diff --git a/contents/slides/dac_adc.md b/contents/slides/dac_adc.md new file mode 100644 index 0000000..25ef43e --- /dev/null +++ b/contents/slides/dac_adc.md @@ -0,0 +1,200 @@ +## A/D- und D/A-Umsetzung + +* *A/D-Umsetzer* wandeln analoge Signale in digitale Werte um +* *D/A-Umsetzer* wandeln digitale Werte wieder in analoge Signale um +* Beide besitzen nur eine endliche Anzahl möglicher Werte +* Eine wichtige Eigenschaft ist daher ihre *Auflösung* + + +A/D- und D/A-Umsetzer bilden die Schnittstelle zwischen der analogen und der digitalen Welt. + +Der A/D-Umsetzer erzeugt aus einem analogen Eingangssignal digitale Samples. Der D/A-Umsetzer führt den umgekehrten Vorgang aus und erzeugt aus digitalen Werten wieder analoge Spannungswerte. + + +--- +## Quantisierung im A/D-Umsetzer + +* Der A/D-Umsetzer kann nur eine begrenzte Anzahl digitaler Werte erzeugen +* Analoge Eingangswerte werden daher festen Stufen zugeordnet +* Zwischenwerte können nicht exakt dargestellt werden +* Dadurch entsteht ein *Quantisierungsfehler* + + +Die Quantisierung haben wir bereits kennengelernt. + +Ein tatsächlich gemessener analoger Wert liegt häufig zwischen zwei möglichen digitalen Stufen. Der A/D-Umsetzer muss ihn einer dieser Stufen zuordnen. + +Die dabei entstehende Abweichung zwischen dem tatsächlichen und dem dargestellten Wert bezeichnet man als Quantisierungsfehler. + + +--- + +[question:AF607] + +--- +## Auflösung eines A/D-Umsetzers + +* Die Auflösung gibt die Anzahl der unterscheidbaren digitalen Werte an +* Sie wird üblicherweise in *Bit* angegeben +* $\qty{8}{\bit}$ → $\num{256}$ mögliche Werte +* $\qty{16}{\bit}$ → $\num{65536}$ mögliche Werte +* Mehr Bit ermöglichen eine feinere Darstellung der Signalamplitude + +--- +## Einfluss der Auflösung + + +[picture:300:a_adc_4bit:Sinussignal digitalisiert durch einen 4-Bit-A/D-Umsetzer und anschließende D/A-Umsetzung] + + +[picture:299:a_adc_12bit:Sinussignal digitalisiert durch einen 12-Bit-A/D-Umsetzer und anschließende D/A-Umsetzung] + + +* $\qty{4}{\bit}$ → $\num{16}$ mögliche Werte +* $\qty{12}{\bit}$ → $\num{4096}$ mögliche Werte +* Höhere Auflösung → kleinere Quantisierungsstufen + + +Hier lässt sich der Einfluss der Auflösung direkt vergleichen. + +Bei 4 Bit stehen nur 16 mögliche Werte zur Verfügung. Die Abstufung ist im rekonstruierten Signal deutlich zu erkennen. + +Bei 12 Bit stehen bereits 4096 mögliche Werte zur Verfügung. Das rekonstruierte Signal kommt dem ursprünglichen Sinussignal daher wesentlich näher. + +Durch die zusätzlichen 8 Bit steigt die Anzahl der möglichen Stufen um den Faktor 256. + + +--- + +[question:AF608] + +--- +## Jitter + +* Die Samples sollten zu exakt festgelegten Zeitpunkten aufgenommen werden +* In der Praxis können die tatsächlichen Abtastzeitpunkte geringfügig schwanken +* Diese zeitlichen Abweichungen bezeichnet man als *Jitter* +* Jitter kann zusätzliches Rauschen im digitalisierten Signal verursachen + + +Nicht nur die Genauigkeit der gemessenen Amplitude ist wichtig, sondern auch die Genauigkeit des Abtastzeitpunktes. + +Dazu benötigt der A/D-Umsetzer einen möglichst stabilen Takt. Kleine zeitliche Schwankungen dieses Taktes führen dazu, dass die Samples nicht exakt zu den vorgesehenen Zeitpunkten aufgenommen werden. + +Diese Schwankungen werden als Jitter bezeichnet. + + +--- + +[question:AF621] + +--- +## D/A-Umsetzer + +* Der D/A-Umsetzer ist der Gegenspieler des A/D-Umsetzers +* Er erzeugt aus digitalen Samples analoge Spannungswerte +* Auch ein D/A-Umsetzer besitzt nur eine endliche Anzahl möglicher Ausgangswerte +* Seine Auflösung wird ebenfalls in Bit angegeben + + +Beim D/A-Umsetzer läuft der Vorgang in umgekehrter Richtung. + +Ein digitaler Zahlenwert wird einem bestimmten analogen Ausgangswert zugeordnet. Auch hier bestimmt die Auflösung, wie viele unterschiedliche Werte erzeugt werden können. + + +--- + +[question:AF609] + +--- +## Spannungsbereich und Auflösung + +* Ein D/A-Umsetzer besitzt einen festgelegten Spannungsbereich +* Beispiel: $\qty{0}{\volt}$ bis $\qty{1}{\volt}$ +* Bei $\qty{4}{\bit}$ stehen $\num{2^4}=\num{16}$ mögliche Stufen zur Verfügung +* Bei einem linearen D/A-Umsetzer sind diese gleichmäßig über den Spannungsbereich verteilt + +--- +## Schrittweite + +Bei $\num{16}$ Stufen gibt es $\num{15}$ Abstände zwischen den Stufen. + +Für einen Spannungsbereich von $\qty{0}{\volt}$ bis $\qty{1}{\volt}$ ergibt sich: + +$\frac{\qty{1}{\volt}}{16-1}\approx\qty{67}{\milli\volt}$ + + +Die Schrittweite beträgt somit etwa $\qty{67}{\milli\volt}$. + + + +Hier muss man beachten, dass zwischen 16 möglichen Spannungswerten nur 15 Abstände liegen. + +Das entspricht dem bekannten Zaunpfahlproblem: Zwischen 10 Zaunpfählen befinden sich nur 9 Zwischenräume. + +Deshalb wird bei diesem Beispiel der Spannungsbereich durch 15 und nicht durch 16 geteilt. + + +--- + +[question:AF611] + +--- + +[question:AF610] + +--- +## A/D- und D/A-Umsetzer im SDR + +* A/D-Umsetzer digitalisieren analoge Eingangssignale +* Anschließend können die Samples digital verarbeitet werden +* D/A-Umsetzer erzeugen daraus bei Bedarf wieder analoge Signale +* Dieses Prinzip wird an vielen Stellen in SDR-Empfängern und Transceivern eingesetzt + + +Ein SDR ist ein typisches Beispiel für das Zusammenspiel von A/D-Umsetzung, digitaler Signalverarbeitung und D/A-Umsetzung. + +Das analoge Signal wird zunächst digitalisiert. Danach können beispielsweise Filterung, Demodulation oder Modulation digital erfolgen. Soll anschließend wieder ein analoges Signal entstehen, kommt ein D/A-Umsetzer zum Einsatz. + + +--- +## Nutzung des Wertebereichs + +* Ein kleines Eingangssignal nutzt nur einen Teil der verfügbaren Stufen +* Ein zu großes Eingangssignal überschreitet den darstellbaren Wertebereich +* Werte oberhalb des Maximums können nicht mehr korrekt dargestellt werden +* Das Signal wird an dieser Stelle abgeschnitten + + +Diesen Effekt bezeichnet man als *Clipping*. + + + +Für eine möglichst gute Digitalisierung sollte der verfügbare Wertebereich sinnvoll ausgenutzt werden. + +Ist das Signal sehr klein, werden nur wenige der verfügbaren Stufen genutzt. + +Ist das Signal dagegen zu groß, erreicht der A/D-Umsetzer seinen maximal darstellbaren Wert. Noch größere Eingangswerte können nicht mehr unterschieden werden. Die Spitzen des Signals erscheinen dadurch abgeschnitten. + +Auch ein D/A-Umsetzer kann keine Ausgangsspannung außerhalb seines vorgesehenen Wertebereichs erzeugen. + + +--- +## Einfluss der Auflösung + +* Hohe Auflösung → viele mögliche Amplitudenwerte +* Niedrige Auflösung → wenige mögliche Amplitudenwerte +* Mehr Stufen ermöglichen eine genauere Digitalisierung und Rekonstruktion +* Der verfügbare Wertebereich sollte möglichst gut genutzt werden + +--- + +[question:AF613] + +--- + +[question:AF612] + +--- + +[question:AF614] \ No newline at end of file diff --git a/contents/slides/digital_analog_umsetzer.md b/contents/slides/digital_analog_umsetzer.md deleted file mode 100644 index f20b57b..0000000 --- a/contents/slides/digital_analog_umsetzer.md +++ /dev/null @@ -1,39 +0,0 @@ -## D/A-Umsetzer: Vom Digitalen zum Analogen - -* Der D/A-Umsetzer wandelt einen digitalen Datenstrom (Samples) in ein analoges Signal um -* Genau wie der A/D-Umsetzer hat er eine begrenzte Auflösung (in Bit) -* Dadurch gibt es eine endliche Anzahl an analogen Signalwerten - ---- - -[question:AF609] - ---- - -### Auflösung und Spannungsbereich - -* Die Anzahl der möglichen Stufen wird durch die Bit-Auflösung bestimmt -* Beispiel: $\qty{4}{\bit}\rightarrow\num{16}$ mögliche Stufen -* Ein D/A-Umsetzer arbeitet in einem festen Spannungsbereich (z. B. $\qty{0}{\volt}$ bis $\qty{1}{\volt}$) -* Bei einem linear arbeitenden D/A-Umsetzer verteilt sich der Spannungsbereich gleichmäßig auf die Stufen - ---- - -### Schrittweite (Quantisierungsintervall) - -* Die Schrittweite berechnet sich aus dem Spannungsbereich geteilt durch die Anzahl der Stufen *minus eins* -* Beispiel: Bei $\num{16}$ Stufen und einem Bereich von $\qty{0}{\volt}$ bis $\qty{1}{\volt}$ ergibt sich eine Schrittweite von ca. $\qty{67}{\milli\volt}$ - - -Der Zusammenhang ist auch als Zaunpfahlproblem bekannt: -* Bei z. B. 10 Zaunpfählen gibt es nur 9 Zwischenräume -* Wird auf die Länge des Zauns mit 10 Zwischenräumen gerechnet, ist der Zaun zu kurz oder es werden 11 Pfähle benötigt - - ---- - -[question:AF611] - ---- - -[question:AF610] diff --git a/toc/A.json b/toc/A.json index 070754e..c2cd3e1 100644 --- a/toc/A.json +++ b/toc/A.json @@ -845,22 +845,8 @@ "video_url": null }, { - "title": "Analog-Digital-Umsetzer (ADC)", - "ident": "analog_digital_umsetzer", - "status": "alpha", - "class": "A", - "video_url": null - }, - { - "title": "Digital-Analog-Umsetzer (DAC)", - "ident": "digital_analog_umsetzer", - "status": "alpha", - "class": "A", - "video_url": null - }, - { - "title": "Anwendung von ADC und DAC", - "ident": "anwendung_dac_adc", + "title": "A/D- und D/A-Umsetzung", + "ident": "dac_adc", "status": "alpha", "class": "A", "video_url": null diff --git a/toc/EA.json b/toc/EA.json index e7499d1..12482a0 100644 --- a/toc/EA.json +++ b/toc/EA.json @@ -1393,22 +1393,8 @@ "video_url": null }, { - "title": "Analog-Digital-Umsetzer (ADC)", - "ident": "analog_digital_umsetzer", - "status": "alpha", - "class": "A", - "video_url": null - }, - { - "title": "Digital-Analog-Umsetzer (DAC)", - "ident": "digital_analog_umsetzer", - "status": "alpha", - "class": "A", - "video_url": null - }, - { - "title": "Anwendung von ADC und DAC", - "ident": "anwendung_dac_adc", + "title": "A/D- und D/A-Umsetzung", + "ident": "dac_adc", "status": "alpha", "class": "A", "video_url": null diff --git a/toc/NEA.json b/toc/NEA.json index de41640..8c11d6c 100644 --- a/toc/NEA.json +++ b/toc/NEA.json @@ -2034,22 +2034,8 @@ "video_url": null }, { - "title": "Analog-Digital-Umsetzer (ADC)", - "ident": "analog_digital_umsetzer", - "status": "alpha", - "class": "A", - "video_url": null - }, - { - "title": "Digital-Analog-Umsetzer (DAC)", - "ident": "digital_analog_umsetzer", - "status": "alpha", - "class": "A", - "video_url": null - }, - { - "title": "Anwendung von ADC und DAC", - "ident": "anwendung_dac_adc", + "title": "A/D- und D/A-Umsetzung", + "ident": "dac_adc", "status": "alpha", "class": "A", "video_url": null From 2afc1cadc9ab88946556507f3f4b64600a768f6d Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Thu, 13 Aug 2026 17:14:18 +0200 Subject: [PATCH 03/33] feature: add block diagram for dac and adc --- contents/sections/dac_adc.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/contents/sections/dac_adc.md b/contents/sections/dac_adc.md index 49c2220..ea8e41d 100644 --- a/contents/sections/dac_adc.md +++ b/contents/sections/dac_adc.md @@ -1,4 +1,8 @@ -Sehen wir uns nun genauer an, wie analoge Signale in digitale Werte und digitale Werte wieder in analoge Signale umgesetzt werden. Dazu werden *A/D-Umsetzer* (Analog-Digital-Umsetzer) und *D/A-Umsetzer* (Digital-Analog-Umsetzer) verwendet. +Sehen wir uns nun genauer an, wie analoge Signale in digitale Werte und digitale Werte wieder in analoge Signale umgesetzt werden. Dazu werden *A/D-Umsetzer* (Analog-Digital-Umsetzer) und *D/A-Umsetzer* (Digital-Analog-Umsetzer) verwendet. Die Abbildung [ref:a_adc_dac] zeigt die Blockschaltbilder eines A/D- und eines D/A-Umsetzers. + + +[picture:1130:a_adc_dac:A/D- und D/A-Umsetzer] + Ein A/D-Umsetzer tastet ein analoges Eingangssignal zu bestimmten Zeitpunkten ab und erzeugt daraus digitale Zahlenwerte, die anschließend von weiteren Teilen einer Schaltung verarbeitet werden können. From 83258bdd3adf742cac40b922e735c748c5211d26 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Thu, 13 Aug 2026 18:06:50 +0200 Subject: [PATCH 04/33] refactor: anti-aliasing and reconstruction filter summarized both topics in one chapter --- contents/drawings/1130.svg | 124 ++++++++++++ contents/drawings/1130.tex | 7 + contents/drawings/1131.svg | 179 +++++++++++++++++ contents/drawings/1131.tex | 26 +++ contents/drawings/1132.svg | 189 ++++++++++++++++++ contents/drawings/1132.tex | 26 +++ contents/sections/anti_alias_filter.md | 20 -- .../anti_alias_rekonstruktionsfilter.md | 57 ++++++ contents/sections/rekonstruktionsfilter.md | 7 - contents/slides/anti_alias_filter.md | 21 -- .../anti_alias_rekonstruktionsfilter.md | 143 +++++++++++++ contents/slides/rekonstruktionsfilter.md | 22 -- toc/A.json | 11 +- toc/EA.json | 11 +- toc/NEA.json | 11 +- 15 files changed, 757 insertions(+), 97 deletions(-) create mode 100644 contents/drawings/1130.svg create mode 100644 contents/drawings/1130.tex create mode 100644 contents/drawings/1131.svg create mode 100644 contents/drawings/1131.tex create mode 100644 contents/drawings/1132.svg create mode 100644 contents/drawings/1132.tex delete mode 100644 contents/sections/anti_alias_filter.md create mode 100644 contents/sections/anti_alias_rekonstruktionsfilter.md delete mode 100644 contents/sections/rekonstruktionsfilter.md delete mode 100644 contents/slides/anti_alias_filter.md create mode 100644 contents/slides/anti_alias_rekonstruktionsfilter.md delete mode 100644 contents/slides/rekonstruktionsfilter.md diff --git a/contents/drawings/1130.svg b/contents/drawings/1130.svg new file mode 100644 index 0000000..8738ada --- /dev/null +++ b/contents/drawings/1130.svg @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/contents/drawings/1130.tex b/contents/drawings/1130.tex new file mode 100644 index 0000000..3a9a9db --- /dev/null +++ b/contents/drawings/1130.tex @@ -0,0 +1,7 @@ +% Author: Prof. Dr. Matthias Jung, DL9MJ +% Year: 2026 +\begin{tikzpicture} + \draw(0,0) + to [adc, l={A/D-Umsetzer}] ++(3,0) + to [dac, l={D/A-Umsetzer}] ++(3,0); +\end{tikzpicture} \ No newline at end of file diff --git a/contents/drawings/1131.svg b/contents/drawings/1131.svg new file mode 100644 index 0000000..69722aa --- /dev/null +++ b/contents/drawings/1131.svg @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/contents/drawings/1131.tex b/contents/drawings/1131.tex new file mode 100644 index 0000000..3bdc880 --- /dev/null +++ b/contents/drawings/1131.tex @@ -0,0 +1,26 @@ +% Author: Prof. Dr. Matthias Jung, DL9MJ +% Year: 2026 +\begin{tikzpicture} + \draw(0,0) + node[anchor=east](){E} + to [short, o-] ++(0.5,0) + node[inputarrow](){} + node[lowpassshape, anchor=west, fill=DARCblue!40](anti-alias){}; + \draw(anti-alias.east) + to [adc, >] ++(2,0) + node[inputarrow](){} + node[dspshape, anchor=west](dsp){}; + \draw(dsp.east) + to [dac, >] ++(2,0) + node[inputarrow](){} + node[lowpassshape, anchor=west, fill=DARCred!40](reconstruction){}; + \draw(reconstruction.east) + to [short, -o] ++(0.5,0) + node[anchor=west](){A}; + % + \draw[DARCblue] (anti-alias.north) node[above](){Anti-Aliasing}; + \draw[DARCred] (reconstruction.north) node[above](){Rekonstruktions}; + % + \draw[DARCblue] (anti-alias.south) node[below](){Filter}; + \draw[DARCred] (reconstruction.south) node[below](){Filter}; +\end{tikzpicture} \ No newline at end of file diff --git a/contents/drawings/1132.svg b/contents/drawings/1132.svg new file mode 100644 index 0000000..bf6f697 --- /dev/null +++ b/contents/drawings/1132.svg @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/contents/drawings/1132.tex b/contents/drawings/1132.tex new file mode 100644 index 0000000..bd4ddf4 --- /dev/null +++ b/contents/drawings/1132.tex @@ -0,0 +1,26 @@ +% Author: Prof. Dr. Matthias Jung, DL9MJ +% Year: 2026 +\begin{tikzpicture} + \ctikzset{ + blocks/scale=\getDarcImageFactor, + RF/scale=\getDarcImageFactor + } + \draw(0,0) + node[antenna](){} + to [lowpass, fill=DARCblue!40, >] ++(3,0) + node [inputarrow](){} + node[adcshape, fill=DARCorange!40, t={3}, anchor=west](drei){}; + \draw(drei.east) + to [short] ++(1,0) + node [inputarrow](ende){}; + \draw(ende.east) + node [anchor=west, align=left] {Weitere\\Teile\\des\\Empfängers}; + \draw(drei.north) + node [inputarrow, rotate=-90](){} + to [short] ++(0,2) + node[cgeneratorshape,fill=DARCgreen!40, anchor=south](zwei){}; + \draw(zwei.west) + node [inputarrow](){} + to [short] ++(-1,0) + node [anchor=east, align=right] {Kontroll-\\information}; +\end{tikzpicture} \ No newline at end of file diff --git a/contents/sections/anti_alias_filter.md b/contents/sections/anti_alias_filter.md deleted file mode 100644 index 9cde19f..0000000 --- a/contents/sections/anti_alias_filter.md +++ /dev/null @@ -1,20 +0,0 @@ - -%%% TODO diese beiden textblöcke müssen verbunden werden. - - -Wie zuvor schon kurz angesprochen, muss vor dem A/D-Umsetzer ein entsprechendes Filter zur Unterdrückung von Signalanteilen höherer Frequenzen eingefügt werden. Man nennt ein solches Filter auch Antialiasingfilter. Als Filtertypen können hier sowohl Tiefpassfilter als auch Bandpassfilter Anwendung finden. Das Filter muss hierbei so beschaffen sein, dass Signalanteile, die sich oberhalb der halben Sampling-Frequenz befinden, wirksam unterdrückt werden. Wir erinnern uns, dass für die Abtastung eines Signals mehr als die doppelte Abtastfrequenz der zu erfassenden Signalfrequenz erforderlich ist. - -[question:AF622] -[question:AF623] - - - -Aus der Lektion zum Abtasttheorem wissen wir, dass ein Signal mit einer ausreichend hohen Abtastrate abgetastet werden muss. Über eine Antenne empfangen wir jedoch in der Regel viele unterschiedliche Signale – auch solche mit Frequenzen oberhalb des Frequenzbereichs, den wir eigentlich verarbeiten wollen. - -Treffen solche Signale auf den A/D-Umsetzer, obwohl seine Abtastrate für diese Frequenzen nicht ausreichend ist, können sie als andere, nicht tatsächlich vorhandene Frequenzen im digitalen Signal erscheinen. Diese werden als *Aliase* bezeichnet. - -Um dies zu verhindern, wird vor dem Eingang des A/D-Umsetzers ein *Antialiasing-Filter* eingesetzt. Dabei handelt es sich in der Regel um einen Tiefpass- oder Bandpassfilter, der unerwünschte Frequenzen unterdrückt, bevor das Signal den A/D-Umsetzer erreicht. - -Der A/D-Umsetzer benötigt außerdem einen Taktgenerator, den man auch als Abtastratengenerator bezeichnet. Dieser legt fest, zu welchen Zeitpunkten das Eingangssignal abgetastet wird. Der A/D-Umsetzer erzeugt daraus einen digitalen Datenstrom, der anschließend von weiteren Teilen der Schaltung verarbeitet werden kann. Die Taktrate kann fest eingestellt sein oder beispielsweise durch einen Mikrocontroller gesteuert werden. - -[question:AF620] \ No newline at end of file diff --git a/contents/sections/anti_alias_rekonstruktionsfilter.md b/contents/sections/anti_alias_rekonstruktionsfilter.md new file mode 100644 index 0000000..c295781 --- /dev/null +++ b/contents/sections/anti_alias_rekonstruktionsfilter.md @@ -0,0 +1,57 @@ +Bei der A/D- und D/A-Umsetzung werden analoge und digitale Signalverarbeitung miteinander verbunden. Dabei werden sowohl vor dem A/D-Umsetzer als auch nach dem D/A-Umsetzer analoge Filter benötigt. Die Abbildung [ref:a_adc_dac_filter] zeigt die gesamte Signalkette. Auf der Eingangsseite befindet sich vor dem A/D-Umsetzer ein *Anti-Aliasing-Filter*. Es begrenzt den Frequenzbereich des analogen Eingangssignals, bevor dieses abgetastet wird. Nach der digitalen Signalverarbeitung erzeugt der D/A-Umsetzer wieder ein analoges Signal. Ein nachgeschaltetes *Rekonstruktionsfilter* entfernt dabei unerwünschte hochfrequente Signalanteile. Warum beide Filter benötigt werden, betrachten wir in dem folgenden Abschnitt. + + +[picture:1131:a_adc_dac_filter:A/D- und D/A-Umsetzung mit Anti-Aliasing- und Rekonstruktionsfilter] + + +--- + +Aus der Lektion zum Abtasttheorem wissen wir, dass ein Signal mit einer ausreichend hohen Abtastrate abgetastet werden muss. Für ein Signal mit der höchsten zu erfassenden Frequenz $f_\mathrm{max}$ muss die Abtastrate größer als $2\cdot f_\mathrm{max}$ sein. + +Über eine Antenne empfangen wir jedoch in der Regel viele unterschiedliche Signale – auch solche mit Frequenzen oberhalb des Frequenzbereichs, den wir eigentlich verarbeiten wollen. Treffen solche Signalanteile auf den A/D-Umsetzer, obwohl dessen Abtastrate für diese Frequenzen nicht ausreichend ist, können sie im digitalen Signal als andere, tatsächlich nicht vorhandene Frequenzen erscheinen. Diese werden als *Aliase* bezeichnet. + +Um dies zu verhindern, wird vor dem Eingang des A/D-Umsetzers ein *Anti-Aliasing-Filter* eingesetzt. Dabei handelt es sich je nach Anwendung beispielsweise um einen Tiefpass- oder Bandpassfilter. Ein Bandpassfilter könnte z. B. für Sprache verwendet werden. Das Filter muss unerwünschte Signalanteile, die beim Sampling zu Aliasing führen könnten, ausreichend unterdrücken. Insbesondere dürfen Frequenzanteile oberhalb der halben Samplingfrequenz nicht ungehindert zum A/D-Umsetzer gelangen. + +[question:AF622] +[question:AF623] + + +Ein anschauliches Beispiel für *Aliasing* begegnet uns auch im Alltag bei digitalen Bildern. Fotografiert man mit einer Kamera sehr feine, regelmäßig wiederkehrende Strukturen, beispielsweise ein engmaschiges Gitter, einen Stoff mit feinen Streifen oder ein Fliegengitter, können im Bild plötzlich größere Muster entstehen, die im Original gar nicht vorhanden sind. Diese werden als *Moiré-Muster* bezeichnet. + +Die Ursache ist ähnlich wie beim Abtasten eines elektrischen Signals. Ein Kamerasensor kann ein Bild nicht an beliebig vielen Stellen erfassen, sondern besitzt nur eine endliche Anzahl von Bildpunkten. Ist eine Struktur feiner als die räumliche Auflösung des Sensors, wird sie nicht mehr eindeutig abgetastet. Aus der eigentlich vorhandenen feinen Struktur kann dadurch scheinbar eine andere, gröbere Struktur entstehen. + +Beim A/D-Umsetzer geschieht das gleiche Prinzip auf der Zeitachse: Wird eine zu hohe Signalfrequenz mit einer zu niedrigen Samplingrate abgetastet, erscheint im digitalisierten Signal eine andere, niedrigere Frequenz, die ursprünglich gar nicht vorhanden war. + +Ein Moiré-Muster kann daher als sichtbares Beispiel dafür betrachtet werden, wie durch eine unzureichende Abtastung neue, scheinbare Strukturen entstehen. + +% TODO: Bild besorgen +% +%[picture:XXXX:a_moire:Moiré-Muster als Beispiel für räumliches Aliasing] +% + + +--- + +Der A/D-Umsetzer benötigt außerdem einen Taktgenerator, den man auch als Abtastratengenerator bezeichnet. Dieser legt fest, zu welchen Zeitpunkten das Eingangssignal abgetastet wird und bestimmt damit die Samplingrate. Die Taktrate kann fest eingestellt sein oder beispielsweise durch einen Mikrocontroller gesteuert werden. + + +[picture:1132:a_anit_alias:Anti-Aliasing-Filter, A/D-Umsetzer und Taktgenerator] + + +[question:AF620] + +--- + +Auf der anderen Seite der digitalen Signalverarbeitung übernimmt der D/A-Umsetzer den umgekehrten Vorgang. Er setzt die digitalen Samples wieder in analoge Spannungswerte um. Da die einzelnen Werte nur in festen zeitlichen Abständen ausgegeben werden, entsteht am Ausgang des D/A-Umsetzers zunächst kein ideal glatter Signalverlauf. + +Durch die zeitdiskrete Ausgabe entstehen neben dem gewünschten Nutzsignal auch unerwünschte höherfrequente Signalanteile (Z.B. in Abbildung [ref:a_adc_4bit], die scharfen Kanten des Signals enthalten die hohen Frequenzanteile). Um diese zu unterdrücken, wird hinter dem D/A-Umsetzer ein *Rekonstruktionsfilter* eingesetzt. Auch hierbei kann je nach Anwendung beispielsweise ein Tiefpass- oder Bandpassfilter verwendet werden. + +Das Rekonstruktionsfilter lässt den gewünschten Nutzfrequenzbereich passieren und unterdrückt die unerwünschten höherfrequenten Signalanteile des D/A-Umsetzers. Dadurch entsteht am Ausgang wieder ein möglichst sauberes analoges Signal (vgl. Abbildung [ref:a_adc_12bit], das Rekonstruktionsfilter glättet das Signal). + +[question:AF624] +[question:AF625] + + +[picture:300:a_adc_4bit:Signal vor dem Rekonstruktionsfilter] +[picture:299:a_adc_12bit:Singnal nach dem Rekonstruktionsfilter] + diff --git a/contents/sections/rekonstruktionsfilter.md b/contents/sections/rekonstruktionsfilter.md deleted file mode 100644 index f2f824d..0000000 --- a/contents/sections/rekonstruktionsfilter.md +++ /dev/null @@ -1,7 +0,0 @@ - -Sehen wir uns nun die Umsetzung von digitalen Signalen (Samples) zurück in analoge Signale durch einen D/A-Umsetzer etwas genauer an. Hierbei werden die digitalen Daten im D/A-Umsetzer in Spannungsstufen zurück übersetzt. Dies geschieht in einem festen zeitlichen Abstand der Samples zueinander. Man nennt diesen Vorgang auch Rekonstruktion. - -Aufgrund der zeitdiskreten Auflösung durch die begrenzte Sampling-Frequenz eines D/A-Umsetzers entsteht ein stufenförmiges Signal, das unerwünschte, höhere Frequenzen enthält. Um diese unerwünschten Anteile zu entfernen und somit das ursprüngliche Signal wiederherzustellen, benötigen wir ebenso wie am Eingang zum A/D-Umsetzer ein Tiefpass- oder Bandpassfilter. Dieses Rekonstruktionsfilter muss hierbei alle Signalanteile, die sich oberhalb der halben Abtastrate (Samplingfrequenz) befinden, wirksam unterdrücken. - -[question:AF624] -[question:AF625] diff --git a/contents/slides/anti_alias_filter.md b/contents/slides/anti_alias_filter.md deleted file mode 100644 index 0da832e..0000000 --- a/contents/slides/anti_alias_filter.md +++ /dev/null @@ -1,21 +0,0 @@ -## Antialiasingfilter vor dem A/D-Umsetzer - -* Vor dem A/D-Umsetzer wird ein Filter eingesetzt, um Signalanteile höherer Frequenzen zu unterdrücken -* Solche Filter werden als Antialiasingfilter bezeichnet -* Ziel: Vermeidung von Alias-Effekten durch Abschwächung unerwünschter Frequenzen - ---- - -### Filtertypen und Anforderungen - -* Tiefpass- oder Bandpassfilter können eingesetzt werden -* Das Filter muss Signalanteile oberhalb der halben Sampling-Frequenz wirksam dämpfen -* Voraussetzung: Die Abtastfrequenz muss mehr als das Doppelte der zu erfassenden Signalfrequenz betragen - ---- - -[question:AF622] - ---- - -[question:AF623] diff --git a/contents/slides/anti_alias_rekonstruktionsfilter.md b/contents/slides/anti_alias_rekonstruktionsfilter.md new file mode 100644 index 0000000..8aa5ef6 --- /dev/null +++ b/contents/slides/anti_alias_rekonstruktionsfilter.md @@ -0,0 +1,143 @@ +--- style="font-size: smaller;" + +## Filter bei der A/D- und D/A-Umsetzung + +[picture:1131:a_adc_dac_filter:A/D- und D/A-Umsetzung mit Anti-Aliasing- und Rekonstruktionsfilter] + +* Vor dem A/D-Umsetzer: *Anti-Aliasing-Filter* +* Nach dem D/A-Umsetzer: *Rekonstruktionsfilter* +* Beide Filter unterdrücken unerwünschte Frequenzanteile + + +Die Abbildung zeigt die gesamte Signalkette von einem analogen Eingangssignal über die digitale Signalverarbeitung bis zurück zu einem analogen Ausgangssignal. + +Vor dem A/D-Umsetzer befindet sich das Anti-Aliasing-Filter. Hinter dem D/A-Umsetzer befindet sich das Rekonstruktionsfilter. + +Warum beide Filter benötigt werden, schauen wir uns nun genauer an. + + +--- + +## Aliasing am A/D-Umsetzer + +* Für die Abtastung gilt: $f_\mathrm{S}>2\cdot f_\mathrm{max}$ +* Am Eingang können auch unerwünschte höhere Frequenzen vorhanden sein +* Ist die Samplingrate dafür zu gering, entstehen scheinbare Frequenzen +* Diese werden als *Aliase* bezeichnet + + +Über eine Antenne empfangen wir in der Regel nicht nur das gewünschte Signal, sondern viele weitere Frequenzanteile. + +Ist die Samplingrate für einen dieser Frequenzanteile zu gering, kann er nach der Digitalisierung als eine andere Frequenz erscheinen, die im ursprünglichen Signal gar nicht vorhanden war. + +Diesen Effekt haben wir bereits beim Abtasttheorem kennengelernt. + + +--- style="font-size: smaller;" + +## Anti-Aliasing-Filter + +[picture:1131:a_adc_dac_filter_aa:A/D- und D/A-Umsetzung mit Anti-Aliasing- und Rekonstruktionsfilter] + +* Das Filter befindet sich *vor* dem A/D-Umsetzer +* Es begrenzt den Frequenzbereich des Eingangssignals +* Tiefpass- oder Bandpassfilter können eingesetzt werden +* Kritische Frequenzanteile müssen ausreichend unterdrückt werden + + +Insbesondere dürfen Frequenzen oberhalb von $\frac{f_\mathrm{S}}{2}$ nicht ungehindert zum A/D-Umsetzer gelangen. + + + +Das Anti-Aliasing-Filter verhindert, dass Frequenzen zum A/D-Umsetzer gelangen, für die die Samplingrate nicht ausreichend hoch ist. + +Je nach Anwendung kann dazu beispielsweise ein Tiefpass- oder Bandpassfilter eingesetzt werden. Für Sprachsignale kann beispielsweise ein Bandpass sinnvoll sein. + +Entscheidend ist, dass Frequenzanteile, die zu Aliasing führen könnten, vor der Digitalisierung ausreichend unterdrückt werden. + + +--- + +[question:AF622] + +--- + +[question:AF623] + +--- +## Abtastratengenerator + + +[picture:1132:a_anit_alias:Anti-Aliasing-Filter, A/D-Umsetzer und Taktgenerator] + + +* Der A/D-Umsetzer benötigt einen Takt für die Abtastung +* Der Takt legt die Zeitpunkte der einzelnen Samples fest +* Seine Frequenz bestimmt die Samplingrate +* Die Taktrate kann fest oder steuerbar sein + + + +Der Abtastratengenerator gibt vor, wann der A/D-Umsetzer jeweils ein neues Sample aufnimmt. + +Seine Frequenz bestimmt damit unmittelbar die Samplingrate. Die Taktrate kann fest vorgegeben oder beispielsweise durch einen Mikrocontroller gesteuert werden. + + +--- + +[question:AF620] + +--- + +## Zurück zum analogen Signal + +* Der D/A-Umsetzer erzeugt aus digitalen Samples wieder analoge Spannungswerte +* Die Werte werden in festen zeitlichen Abständen ausgegeben +* Am Ausgang entsteht zunächst kein ideal glatter Signalverlauf +* Scharfe Übergänge enthalten hohe Frequenzanteile + + +Auf der Ausgangsseite findet der umgekehrte Vorgang statt. + +Der D/A-Umsetzer gibt die einzelnen digitalen Werte als analoge Spannungswerte aus. Durch die zeitdiskrete Ausgabe entsteht zunächst kein ideal glatter Verlauf. + +Insbesondere scharfe Kanten und Übergänge enthalten zusätzliche hochfrequente Signalanteile. + + +--- style="font-size: smaller;" + +## Rekonstruktionsfilter + + +[picture:300:a_adc_4bit:Signal vor dem Rekonstruktionsfilter] + + +[picture:299:a_adc_12bit:Signal nach dem Rekonstruktionsfilter] + + +* Das Rekonstruktionsfilter befindet sich *hinter* dem D/A-Umsetzer +* Es lässt den gewünschten Nutzfrequenzbereich passieren +* Unerwünschte höherfrequente Signalanteile werden unterdrückt +* Tiefpass- oder Bandpassfilter können eingesetzt werden + + +Dadurch entsteht wieder ein möglichst sauberes analoges Ausgangssignal. + + + +Das Rekonstruktionsfilter entfernt unerwünschte höherfrequente Signalanteile am Ausgang des D/A-Umsetzers. + +Links ist ein Signal vor der Filterung dargestellt. Die deutlich sichtbaren Kanten enthalten hohe Frequenzanteile. + +Nach der Filterung entsteht ein glatterer Signalverlauf, der dem gewünschten analogen Signal näherkommt. + +Je nach Anwendung kann dafür beispielsweise ein Tiefpass- oder Bandpassfilter verwendet werden. + + +--- + +[question:AF624] + +--- + +[question:AF625] \ No newline at end of file diff --git a/contents/slides/rekonstruktionsfilter.md b/contents/slides/rekonstruktionsfilter.md deleted file mode 100644 index 7257f00..0000000 --- a/contents/slides/rekonstruktionsfilter.md +++ /dev/null @@ -1,22 +0,0 @@ -## Rekonstruktion durch den D/A-Umsetzer - -* Wandelt digitale Samples zurück in analoge Spannungsstufen -* Samples werden in festgelegten zeitlichen Abständen wieder ausgegeben -* Vorgang: Rekonstruktion des ursprünglichen Signals - ---- - -### Stufenförmiges Signal und Filterung - -* Zeitdiskrete Abtastung führt zu einem stufenförmigen Signal -* Unerwünschte höhere Frequenzen (Artefakte) können auftreten -* Einsatz eines Rekonstruktionsfilters (Tiefpass- oder Bandpassfilter) -* Filter unterdrückt alle Signalanteile oberhalb der halben Abtastrate - ---- - -[question:AF624] - ---- - -[question:AF625] diff --git a/toc/A.json b/toc/A.json index c2cd3e1..d38a919 100644 --- a/toc/A.json +++ b/toc/A.json @@ -852,15 +852,8 @@ "video_url": null }, { - "title": "Anti-Alias-Filter", - "ident": "anti_alias_filter", - "status": "alpha", - "class": "A", - "video_url": null - }, - { - "title": "Rekonstruktionsfilter", - "ident": "rekonstruktionsfilter", + "title": "Anti-Alias- und Rekonstruktionsfilter", + "ident": "anti_alias_rekonstruktionsfilter", "status": "alpha", "class": "A", "video_url": null diff --git a/toc/EA.json b/toc/EA.json index 12482a0..f7ad162 100644 --- a/toc/EA.json +++ b/toc/EA.json @@ -1400,15 +1400,8 @@ "video_url": null }, { - "title": "Anti-Alias-Filter", - "ident": "anti_alias_filter", - "status": "alpha", - "class": "A", - "video_url": null - }, - { - "title": "Rekonstruktionsfilter", - "ident": "rekonstruktionsfilter", + "title": "Anti-Alias- und Rekonstruktionsfilter", + "ident": "anti_alias_rekonstruktionsfilter", "status": "alpha", "class": "A", "video_url": null diff --git a/toc/NEA.json b/toc/NEA.json index 8c11d6c..529b0c8 100644 --- a/toc/NEA.json +++ b/toc/NEA.json @@ -2041,15 +2041,8 @@ "video_url": null }, { - "title": "Anti-Alias-Filter", - "ident": "anti_alias_filter", - "status": "alpha", - "class": "A", - "video_url": null - }, - { - "title": "Rekonstruktionsfilter", - "ident": "rekonstruktionsfilter", + "title": "Anti-Alias- und Rekonstruktionsfilter", + "ident": "anti_alias_rekonstruktionsfilter", "status": "alpha", "class": "A", "video_url": null From b475db2e0d45dfe64d9c04761db761107cdc7563 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Thu, 13 Aug 2026 18:12:14 +0200 Subject: [PATCH 05/33] refactor: fourier --- contents/sections/fourier_transformation.md | 9 +++++++++ contents/slides/fourier_transformation.md | 17 ++++++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/contents/sections/fourier_transformation.md b/contents/sections/fourier_transformation.md index 866d1c3..7b15219 100644 --- a/contents/sections/fourier_transformation.md +++ b/contents/sections/fourier_transformation.md @@ -24,6 +24,15 @@ Signalformen, welche nicht sinusförmig sind und insbesondere scharfe "Ecken und Wir erinnern uns, dass Signale, die sehr eckig und kantig sind, höhere Frequenzanteile (sog. Oberschwingungen) enthalten. Sieht man sich ein solches Signal, beispielsweise ein rechteckiges Signal, nun im Frequenzbereich an, so fällt auf, dass dieses aus einem starken Sinus-Signal bei dessen Grundschwingung besteht als auch mehreren, immer schwächer werdenden Sinus-Signalen bei ungeradzahligen Vielfachen der Grundfrequenz. Dies ist im Übrigen auch der Grund, warum man Rechteck-Signale keinesfalls auf eine Antenne geben darf, bevor diese nicht ein Tiefpassfilter durchlaufen haben. Das Tiefpassfilter sorgt in diesem Fall dafür, dass höhere Signalanteile unterdrückt werden und an dessen Ausgang nur noch die Grundschwingung in Form eines Sinus-Signals austritt. Würde man das Rechtecksignal direkt auf die Antenne geben, so wäre eine Aussendung auf allen ungeradzahligen Vielfachen der Grundfrequenz zu empfangen und würde sicherlich andere Funkdienste massiv stören. +Für einige typische periodische Signalformen lässt sich das Frequenzspektrum besonders einfach beschreiben. Dabei betrachten wir hier die idealisierten, um den Nullpunkt symmetrischen Signalformen ohne Gleichanteil: + +* Ein *Sinussignal* besteht nur aus einer einzigen Frequenz. Im Frequenzspektrum erscheint daher nur die Grundfrequenz $f$. +* Ein *Rechtecksignal* besteht aus der Grundfrequenz und den *ungeradzahligen Vielfachen* der Grundfrequenz. Es enthält also die Frequenzen $f$, $3f$, $5f$, $7f$, usw. Die Amplituden der Oberwellen werden dabei mit zunehmender Frequenz kleiner. +* Ein *Sägezahnsignal* enthält sowohl die geradzahligen als auch die ungeradzahligen Vielfachen der Grundfrequenz. Es enthält also $f$, $2f$, $3f$, $4f$, $5f$, usw. Auch hier werden die Amplituden mit zunehmender Frequenz kleiner. +* Ein *Dreiecksignal* enthält wie das Rechtecksignal nur die ungeradzahligen Vielfachen der Grundfrequenz, also $f$, $3f$, $5f$, $7f$, usw. Die Amplituden der Oberwellen nehmen jedoch wesentlich schneller ab als beim Rechtecksignal. + +Damit lassen sich die Signalformen auch anhand ihres Frequenzspektrums unterscheiden. Ein einzelner Spektralanteil weist auf einen Sinus hin. Treten ungeradzahlige Vielfache auf, ist es in der Prüfung immer ein Rechtecksignal. + [question:AB404] [question:AB405] [question:AB406] diff --git a/contents/slides/fourier_transformation.md b/contents/slides/fourier_transformation.md index 3afed96..f5afedf 100644 --- a/contents/slides/fourier_transformation.md +++ b/contents/slides/fourier_transformation.md @@ -28,13 +28,20 @@ * Reduziert den Rechenaufwand erheblich * Weit verbreitet in Soft- und Hardware zur Signalverarbeitung ---- +--- style="font-size: smaller;" -### Beispiel: Rechtecksignal und Oberschwingungen +## Spektren typischer Signalformen -* Rechtecksignale enthalten neben der Grundschwingung auch zahlreiche Oberschwingungen -* Diese Oberschwingungen (ungerade Vielfache der Grundfrequenz) nehmen ab, sind aber deutlich sichtbar -* Ohne Tiefpassfilter würden diese hohen Frequenzanteile stören +* *Sinus*: nur eine Frequenz: $f$ +* *Rechteck*: nur ungeradzahlige Vielfache: $f$, $3f$, $5f$, $7f$, ... +* *Sägezahn*: alle ganzzahligen Vielfachen: $f$, $2f$, $3f$, $4f$, ... +* *Dreieck*: nur ungeradzahlige Vielfache: $f$, $3f$, $5f$, $7f$, ... (hohe Oberwellen fallen schneller ab als beim Rechteck) + +In der Prüfung muss man nur Sinus und Rechteck unterscheiden können. + + +Rechteck- und Dreiecksignal enthalten beide nur ungeradzahlige Oberwellen. Der Unterschied liegt im Abfall der Amplituden: Beim Dreiecksignal werden die höheren Oberwellen deutlich schneller kleiner. + --- From b1dc8d433b1b1ee52d3ac7baa1e2b0c462af3bc9 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Thu, 13 Aug 2026 18:25:03 +0200 Subject: [PATCH 06/33] refactor: digitale filter --- contents/drawings/1133.svg | 175 +++++++++++++++++++++++++++ contents/drawings/1133.tex | 29 +++++ contents/sections/digitale_filter.md | 19 ++- 3 files changed, 221 insertions(+), 2 deletions(-) create mode 100644 contents/drawings/1133.svg create mode 100644 contents/drawings/1133.tex diff --git a/contents/drawings/1133.svg b/contents/drawings/1133.svg new file mode 100644 index 0000000..e53af89 --- /dev/null +++ b/contents/drawings/1133.svg @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/contents/drawings/1133.tex b/contents/drawings/1133.tex new file mode 100644 index 0000000..ff258fe --- /dev/null +++ b/contents/drawings/1133.tex @@ -0,0 +1,29 @@ +% Author: Prof. Dr. Matthias Jung, DL9MJ +% Year: 2026 +\begin{circuitikz}% + \draw(0,0) node[anchor=east](){$x_n$} + to [short, o-] ++(0.5,0) coordinate (regs) + to [register] ++(2,0) coordinate (reg0) + to [register, *-] ++(2,0) coordinate (reg1) + to [register, *-] ++(2,0) coordinate (reg2) + to [register, *-] ++(2,0) coordinate (reg3); + \draw(reg0) node[anchor=south](){$x_{n-1}$}; + \draw(reg1) node[anchor=south](){$x_{n-2}$}; + \draw(reg2) node[anchor=south](){$x_{n-3}$}; + \draw(reg3) node[anchor=south](){$x_{n-4}$}; + \draw(reg0) to [short] ++(0,-1) node[anchor=west, ampshape, scale=0.75, rotate=-90](amp0){}; + \draw(reg1) to [short] ++(0,-1) node[anchor=west, ampshape, scale=0.75, rotate=-90](amp1){}; + \draw(reg2) to [short] ++(0,-1) node[anchor=west, ampshape, scale=0.75, rotate=-90](amp2){}; + \draw(reg3) to [short] ++(0,-1) node[anchor=west, ampshape, scale=0.75, rotate=-90](amp3){}; + \draw(amp0.north) node[anchor=west](){$k_0$}; + \draw(amp1.north) node[anchor=west](){$k_1$}; + \draw(amp2.north) node[anchor=west](){$k_2$}; + \draw(amp3.north) node[anchor=west](){$k_3$}; + \draw[-Triangle](amp1.east) -- ++(0,-0.75) node[adder, anchor=north, scale=0.75](add1){}; + \draw[-Triangle](amp2.east) -- ++(0,-0.75) node[adder, anchor=north, scale=0.75](add2){}; + \draw[-Triangle](amp3.east) -- ++(0,-0.75) node[adder, anchor=north, scale=0.75](add3){}; + \draw[-Triangle](amp0.east) |- (add1.west); + \draw[-Triangle](add1.east) -- (add2.west); + \draw[-Triangle](add2.east) -- (add3.west); + \draw(add3.east) to [short, -o] ++(1,0) node[anchor=south](){$y_n$}; +\end{circuitikz} \ No newline at end of file diff --git a/contents/sections/digitale_filter.md b/contents/sections/digitale_filter.md index 923f16c..354a0d8 100644 --- a/contents/sections/digitale_filter.md +++ b/contents/sections/digitale_filter.md @@ -1,6 +1,21 @@ +Ein wesentlicher Vorteil der digitalen Verarbeitung von Signalen besteht darin, dass die digital vorliegenden Informationen nahezu beliebig bearbeitet werden können. Eine Folge von Eingangssamples wird mittels mathematischer Funktionen in eine Folge von Ausgangssamples umgerechnet. Einfache digitale Filter, wie Tief-, Band- oder Hochpässe, lassen sich dabei auf zwei unterschiedliche Arten ausführen: als FIR- und als IIR-Filter. Dabei steht FIR für *Finite Impulse Response* und IIR für *Infinite Impulse Response*. -Ein wesentlicher Vorteil der digitalen Verarbeitung von Signalen besteht darin, dass die digital vorliegenden Informationen nahezu beliebig bearbeitet werden können. Eine Folge von Eingangssamples wird mittels mathematischer Funktionen in eine Folge von Ausgangssamples umgerechnet. Einfache digitale Filter, wie Tief-, Band- oder Hochpässe, lassen sich dabei auf zwei unterschiedliche Arten ausführen: als FIR- und als IIR-Filter. Dabei steht FIR für *Finite Impulse Response* und IIR für *Infinite-Impulse-Response*. +Hauptmerkmal der FIR-Filter ist, wie auch schon die Bezeichnung "finite" (zu Deutsch endlich) besagt, dass nur eine begrenzte Anzahl an Eingangssamples für die Berechnung eines Ausgangssamples herangezogen wird. IIR-Filter verwenden hingegen zusätzlich bereits berechnete Ausgangssamples, die auf den Eingang der Berechnung zurückgeführt werden. Durch diese Rückkopplung kann ein einzelnes Eingangssample theoretisch unbegrenzt lange Einfluss auf die folgenden Ausgangssamples haben. -Hauptmerkmal der FIR-Filter ist, wie auch schon die Bezeichnung "finite" (zu Deutsch endlich) besagt, dass nur eine begrenzte Menge an Eingangssamples für die Berechnung eines jeden Ausgangssamples herangezogen wird. IIR-Filter berücksichtigen mittels Rückkopplung hingegen alle bisherigen Eingangssamples für die Berechnung eines Ausgangssamples. +Digitale Filter können sowohl in Software auf einem DSP oder in einem SDR als auch in Hardware auf einem FPGA implementiert werden. [question:AF631] + + +[picture:1133:a_fir:FIR-Filter] + +Abbildung [ref:a_fir] zeigt schematisch den Aufbau eines FIR-Filters. Ein Eingangssample wird in einen Eingangsspeicher geschrieben. In jedem Takt werden die gespeicherten Werte wie bei einem Schieberegister um einen Speicherplatz weitergeschoben. Die Abgriffe der einzelnen Speicherplätze werden mit den entsprechenden Filterkoeffizienten multipliziert und anschließend summiert. Das Ergebnis wird als Ausgangssample ausgegeben. + +Angenommen, die vier Filterkoeffizienten haben jeweils den Wert $\frac{1}{4}$, so werden die letzten vier Eingangssamples jeweils mit $\frac{1}{4}$ multipliziert und anschließend summiert. Das Ausgangssample ist damit der Mittelwert der letzten vier Eingangssamples. Ein solches Filter wird auch als *gleitender Mittelwert* bezeichnet. + +Eine Eingangsfolge $0,0,0,4,0,0,0,0$ führt damit zur Ausgangsfolge $0,0,0,1,1,1,1,0$. + +Das Filter glättet somit schnelle Änderungen, also hohe Frequenzanteile des Eingangssignals. Langsame Änderungen beziehungsweise niedrige Frequenzen werden weitgehend durchgelassen, während schnelle Änderungen beziehungsweise hohe Frequenzanteile abgeschwächt werden. Ein gleitender Mittelwert wirkt daher als sehr einfaches digitales Tiefpassfilter. + +Das Filter führt eine sogenannte Faltungsoperation aus, diese ist übrigens auch die Grundlage vieler neuronaler Netze welche die Künstliche Intelligenz antreiben. + \ No newline at end of file From c3c5c9ba6e89c2162359f7a24b73dd8e8f3ad00a Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Thu, 13 Aug 2026 18:34:27 +0200 Subject: [PATCH 07/33] refactor: digital iq --- contents/sections/abtasttheorem.md | 20 -------------------- contents/sections/digital_iq.md | 19 +++++++++++++++++++ contents/slides/abtasttheorem.md | 30 +----------------------------- contents/slides/digital_iq.md | 25 +++++++++++++++++++++++++ toc/A.json | 7 +++++++ toc/EA.json | 7 +++++++ toc/NEA.json | 7 +++++++ 7 files changed, 66 insertions(+), 49 deletions(-) create mode 100644 contents/sections/digital_iq.md create mode 100644 contents/slides/digital_iq.md diff --git a/contents/sections/abtasttheorem.md b/contents/sections/abtasttheorem.md index 1616c91..4f94975 100644 --- a/contents/sections/abtasttheorem.md +++ b/contents/sections/abtasttheorem.md @@ -32,23 +32,3 @@ Nehmen wir ein praktisches Beispiel wie im Fall eines CD-Players, der mit einer Mit der folgenden Aufgabe kannst du dein Wissen zum Abtasttheorem testen. [question:AF619] - -Im vorherigen Kapitel haben wir die I/Q-Darstellung und den I/Q-Modulator kennengelernt. In einem digitalen System werden die beiden Komponenten I und Q als zwei getrennte digitale Datenströme verarbeitet. Diese können durch digitale Signalverarbeitung erzeugt, verändert und ausgewertet werden. - -Auf der Empfängerseite wird das Eingangssignal dazu mit zwei Signalen gleicher Frequenz gemischt, die um $\qty{90}{\degree}$ gegeneinander phasenverschoben sind. Dadurch entstehen ein I- und ein Q-Signal. Beide Signale werden anschließend jeweils mit einem A/D-Umsetzer digitalisiert und können danach digital weiterverarbeitet werden. Auf der Senderseite funktioniert der Vorgang umgekehrt: Digitale I- und Q-Datenströme werden mit zwei D/A-Umsetzern in analoge Signale umgewandelt und anschließend einem I/Q-Modulator zugeführt. - -Ein digitaler I/Q-Datenstrom kann einen Frequenzbereich um eine bestimmte Mittenfrequenz herum darstellen. Dabei werden Frequenzen unterhalb der Mittenfrequenz durch negative und Frequenzen oberhalb der Mittenfrequenz durch positive Frequenzabweichungen beschrieben. - -Wird ein Eingangssignal beispielsweise mit zwei um $\qty{90}{\degree}$ gegeneinander phasenverschobenen Signalen von jeweils $\qty{435}{\mega\hertz}$ gemischt, repräsentiert der entstehende I/Q-Datenstrom einen Frequenzbereich um die Mittenfrequenz von $\qty{435}{\mega\hertz}$. - -Wie groß dieser Frequenzbereich ist, hängt von der Abtastrate ab. Werden sowohl I als auch Q mit einer Abtastrate von $f_\mathrm{S}$ abgetastet, kann idealerweise ein Frequenzbereich von - -$-\frac{f_\mathrm{S}}{2}$ bis $+\frac{f_\mathrm{S}}{2}$ - -um die Mittenfrequenz dargestellt werden. Die insgesamt darstellbare Bandbreite entspricht damit der Abtastrate $f_\mathrm{S}$. - -Werden beispielsweise I und Q jeweils mit $\qty{10}{\mega\sample\per\second}$ abgetastet, kann der I/Q-Datenstrom einen Frequenzbereich von $\qty{-5}{\mega\hertz}$ bis $\qty{+5}{\mega\hertz}$ um die Mittenfrequenz darstellen. Bei einer Mittenfrequenz von $\qty{435}{\mega\hertz}$ entspricht dies einem Frequenzbereich von $\qty{430}{\mega\hertz}$ bis $\qty{440}{\mega\hertz}$. - -[question:AF634] -[question:AF635] -[question:AF636] \ No newline at end of file diff --git a/contents/sections/digital_iq.md b/contents/sections/digital_iq.md new file mode 100644 index 0000000..cb2d30c --- /dev/null +++ b/contents/sections/digital_iq.md @@ -0,0 +1,19 @@ +Im vorherigen Kapitel haben wir die I/Q-Darstellung und den I/Q-Modulator kennengelernt. In einem digitalen System werden die beiden Komponenten I und Q als zwei getrennte digitale Datenströme verarbeitet. Diese können durch digitale Signalverarbeitung erzeugt, verändert und ausgewertet werden. + +Auf der Empfängerseite wird das Eingangssignal dazu mit zwei Signalen gleicher Frequenz gemischt, die um $\qty{90}{\degree}$ gegeneinander phasenverschoben sind. Dadurch entstehen ein I- und ein Q-Signal. Beide Signale werden anschließend jeweils mit einem A/D-Umsetzer digitalisiert und können danach digital weiterverarbeitet werden. Auf der Senderseite funktioniert der Vorgang umgekehrt: Digitale I- und Q-Datenströme werden mit zwei D/A-Umsetzern in analoge Signale umgewandelt und anschließend einem I/Q-Modulator zugeführt. + +Ein digitaler I/Q-Datenstrom kann einen Frequenzbereich um eine bestimmte Mittenfrequenz herum darstellen. Dabei werden Frequenzen unterhalb der Mittenfrequenz durch negative und Frequenzen oberhalb der Mittenfrequenz durch positive Frequenzabweichungen beschrieben. + +Wird ein Eingangssignal beispielsweise mit zwei um $\qty{90}{\degree}$ gegeneinander phasenverschobenen Signalen von jeweils $\qty{435}{\mega\hertz}$ gemischt, repräsentiert der entstehende I/Q-Datenstrom einen Frequenzbereich um die Mittenfrequenz von $\qty{435}{\mega\hertz}$. + +Wie groß dieser Frequenzbereich ist, hängt von der Abtastrate ab. Werden sowohl I als auch Q mit einer Abtastrate von $f_\mathrm{S}$ abgetastet, kann idealerweise ein Frequenzbereich von + +$-\frac{f_\mathrm{S}}{2}$ bis $+\frac{f_\mathrm{S}}{2}$ + +um die Mittenfrequenz dargestellt werden. Die insgesamt darstellbare Bandbreite entspricht damit der Abtastrate $f_\mathrm{S}$. + +Werden beispielsweise I und Q jeweils mit $\qty{10}{\mega\sample\per\second}$ abgetastet, kann der I/Q-Datenstrom einen Frequenzbereich von $\qty{-5}{\mega\hertz}$ bis $\qty{+5}{\mega\hertz}$ um die Mittenfrequenz darstellen. Bei einer Mittenfrequenz von $\qty{435}{\mega\hertz}$ entspricht dies einem Frequenzbereich von $\qty{430}{\mega\hertz}$ bis $\qty{440}{\mega\hertz}$. + +[question:AF634] +[question:AF635] +[question:AF636] \ No newline at end of file diff --git a/contents/slides/abtasttheorem.md b/contents/slides/abtasttheorem.md index 0d98bd2..1fda5a0 100644 --- a/contents/slides/abtasttheorem.md +++ b/contents/slides/abtasttheorem.md @@ -52,32 +52,4 @@ --- -[question:AF619] - ---- - -### Abbildung des Frequenzbereichs beim I/Q-Verfahren - -* Der I/Q-Datenstrom bildet den Frequenzbereich um eine Mittenfrequenz ab -* Beispiel: - * $\qty{435}{\mega\hertz}$-Träger - * Abtastrate von $\num{10}$ Mio. Samples/s $\rightarrow$ Bandbreite = $\qty{10}{\mega\hertz}$ ($\pm\qty{5}{\mega\hertz}$ um die Mittenfrequenz) - * Abgedeckter Bereich: ca. $\qty{430}{\mega\hertz}$ bis $\qty{440}{\mega\hertz}$ - ---- - -[question:AF634] - ---- - -### Abhängigkeit der Bandbreite von der Abtastrate - -* Die abgedeckte Bandbreite in $\unit{\hertz}$ entspricht der Abtastrate in Samples pro Sekunde - ---- - -[question:AF635] - ---- - -[question:AF636] +[question:AF619] \ No newline at end of file diff --git a/contents/slides/digital_iq.md b/contents/slides/digital_iq.md new file mode 100644 index 0000000..c2ac09c --- /dev/null +++ b/contents/slides/digital_iq.md @@ -0,0 +1,25 @@ +### Abbildung des Frequenzbereichs beim I/Q-Verfahren + +* Der I/Q-Datenstrom bildet den Frequenzbereich um eine Mittenfrequenz ab +* Beispiel: + * $\qty{435}{\mega\hertz}$-Träger + * Abtastrate von $\num{10}$ Mio. Samples/s $\rightarrow$ Bandbreite = $\qty{10}{\mega\hertz}$ ($\pm\qty{5}{\mega\hertz}$ um die Mittenfrequenz) + * Abgedeckter Bereich: ca. $\qty{430}{\mega\hertz}$ bis $\qty{440}{\mega\hertz}$ + +--- + +[question:AF634] + +--- + +### Abhängigkeit der Bandbreite von der Abtastrate + +* Die abgedeckte Bandbreite in $\unit{\hertz}$ entspricht der Abtastrate in Samples pro Sekunde + +--- + +[question:AF635] + +--- + +[question:AF636] diff --git a/toc/A.json b/toc/A.json index d38a919..005489a 100644 --- a/toc/A.json +++ b/toc/A.json @@ -872,6 +872,13 @@ "class": "A", "video_url": null }, + { + "title": "Digitale I/Q-Signalverarbeitung", + "ident": "digital_iq", + "status": "alpha", + "class": "A", + "video_url": null + }, { "title": "Latenz", "ident": "latenz", diff --git a/toc/EA.json b/toc/EA.json index f7ad162..5c26f5c 100644 --- a/toc/EA.json +++ b/toc/EA.json @@ -1420,6 +1420,13 @@ "class": "A", "video_url": null }, + { + "title": "Digitale I/Q-Signalverarbeitung", + "ident": "digital_iq", + "status": "alpha", + "class": "A", + "video_url": null + }, { "title": "Latenz", "ident": "latenz", diff --git a/toc/NEA.json b/toc/NEA.json index 529b0c8..4fd9a61 100644 --- a/toc/NEA.json +++ b/toc/NEA.json @@ -2061,6 +2061,13 @@ "class": "A", "video_url": null }, + { + "title": "Digitale I/Q-Signalverarbeitung", + "ident": "digital_iq", + "status": "alpha", + "class": "A", + "video_url": null + }, { "title": "Latenz", "ident": "latenz", From 6220c827b48608e38906c7c63cfa7fa9c29f21d2 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Fri, 14 Aug 2026 12:39:42 +0200 Subject: [PATCH 08/33] refactor: changes w.r.t. to dl4cw's comments --- contents/drawings/1112.tex | 61 +++++++++++++++ contents/drawings/1130.svg | 74 +++++++++---------- contents/drawings/1130.tex | 5 +- contents/sections/dac_adc.md | 8 +- ...ungsdrate.md => datenuebertragungsrate.md} | 0 contents/sections/fehlerkorrektur.md | 2 +- contents/sections/fourier_transformation.md | 6 +- contents/sections/sampling_quantisierung.md | 5 +- ...ungsdrate.md => datenuebertragungsrate.md} | 0 toc/A.json | 2 +- toc/E.json | 2 +- toc/EA.json | 2 +- toc/NE.json | 2 +- toc/NEA.json | 2 +- 14 files changed, 117 insertions(+), 54 deletions(-) create mode 100644 contents/drawings/1112.tex rename contents/sections/{datenuebertragungsdrate.md => datenuebertragungsrate.md} (100%) rename contents/slides/{datenuebertragungsdrate.md => datenuebertragungsrate.md} (100%) diff --git a/contents/drawings/1112.tex b/contents/drawings/1112.tex new file mode 100644 index 0000000..481ade4 --- /dev/null +++ b/contents/drawings/1112.tex @@ -0,0 +1,61 @@ +% 2026 Prof. Dr. Matthias Jung (DL9MJ) +\begin{tikzpicture} + \draw(0,0) coordinate(start) + to [sinusoidal voltage source] (0,2) + to [short] ++(1,0) + to [short, -o] ++(0,-0.5) coordinate(l1); + \draw(start) + to [short] ++(1,0) + to [short, -o] ++(0,+0.5) coordinate(l2); + % + \draw[very thick](l1) to [short, o-o] ++(5,0) coordinate(l3); + \draw[very thick](l2) to [short, o-o] ++(5,0) coordinate(l4); + % + \draw[DARCgreen] (l3) to [open, l={$R_\mathrm{a}=\infty$}] (l4); + % + \draw(l1) to [open] ++(0,-2.5) coordinate(s1); + % + \draw[-Triangle] (s1) -- ++(5.5,0); + % + \def\x{0.5} + % + \draw[DARCblue] (s1) + sin ++(+1,+1*\x) coordinate(sinus) + cos ++(+1,-1*\x) + sin ++(+1,-1*\x) + cos ++(+1,+1*\x) + sin ++(+1,+1*\x) + ; + \draw[DARCred] (s1) ++(0,+1*\x) + cos ++(+1,-1*\x) + sin ++(+1,-1*\x) + cos ++(+1,+1*\x) + sin ++(+1,+1*\x) coordinate(cosius) + cos ++(+1,-1*\x) + ; + % + \draw[DARCblue] (sinus) -- ++(0.5*\x,0.5*\x) node[right] {$U$}; + \draw[DARCred] (cosius) -- ++(0.5*\x,0.5*\x) node[right] {$I$}; + % + \draw(s1) + ++(0,-1) node[](){$R=0$} + ++(+1,0) node[](){$R=\infty$} + ++(+1,0) node[](){$R=0$} + ++(+1,0) node[](){$R=\infty$} + ++(+1,0) node[](){$R=0$} + ++(+1,0) node[](){$R=\infty$}; + % + \draw(s1) + ++(0,-1.5) coordinate(s2) + ++(1,0) coordinate(s3) + ++(1,0) coordinate(s4) + ++(1,0) coordinate(s5) + ++(1,0) coordinate(s6) + ++(1,0) coordinate(s7); + % 1:[color], 2:[top], 3:start, 4:end, 5:shift, 6:rotate, 7:text + \DARCmeasure{s2}{s3}{0,0}{0}{$\frac{\lambda}{4}$} + \DARCmeasure{s3}{s4}{0,0}{0}{$\frac{\lambda}{4}$} + \DARCmeasure{s4}{s5}{0,0}{0}{$\frac{\lambda}{4}$} + \DARCmeasure{s5}{s6}{0,0}{0}{$\frac{\lambda}{4}$} + \DARCmeasure{s6}{s7}{0,0}{0}{$\frac{\lambda}{4}$} +\end{tikzpicture} \ No newline at end of file diff --git a/contents/drawings/1130.svg b/contents/drawings/1130.svg index 8738ada..ca4d41e 100644 --- a/contents/drawings/1130.svg +++ b/contents/drawings/1130.svg @@ -40,85 +40,85 @@ - + - + - + - + - + - + - + - + - + - - - - + + + + - + - - - - - - - + + + + + + + - + - + - + - + - + - + - + - + - + - - - - - - - + + + + + + + diff --git a/contents/drawings/1130.tex b/contents/drawings/1130.tex index 3a9a9db..505ea40 100644 --- a/contents/drawings/1130.tex +++ b/contents/drawings/1130.tex @@ -2,6 +2,7 @@ % Year: 2026 \begin{tikzpicture} \draw(0,0) - to [adc, l={A/D-Umsetzer}] ++(3,0) - to [dac, l={D/A-Umsetzer}] ++(3,0); + to [adc, l={A/D-Umsetzer}] ++(2.5,0) + to [open] ++(1,0) + to [dac, l={D/A-Umsetzer}] ++(2.5,0); \end{tikzpicture} \ No newline at end of file diff --git a/contents/sections/dac_adc.md b/contents/sections/dac_adc.md index ea8e41d..51d3599 100644 --- a/contents/sections/dac_adc.md +++ b/contents/sections/dac_adc.md @@ -1,4 +1,4 @@ -Sehen wir uns nun genauer an, wie analoge Signale in digitale Werte und digitale Werte wieder in analoge Signale umgesetzt werden. Dazu werden *A/D-Umsetzer* (Analog-Digital-Umsetzer) und *D/A-Umsetzer* (Digital-Analog-Umsetzer) verwendet. Die Abbildung [ref:a_adc_dac] zeigt die Blockschaltbilder eines A/D- und eines D/A-Umsetzers. +Dieses Kapitel zeigt, wie analoge Signale in digitale Werte und digitale Werte wieder in analoge Signale umgesetzt werden. Dazu werden *A/D-Umsetzer* (Analog-Digital-Umsetzer) und *D/A-Umsetzer* (Digital-Analog-Umsetzer) verwendet. Die Abbildung [ref:a_adc_dac] zeigt die Blockschaltbilder eines A/D- und eines D/A-Umsetzers. [picture:1130:a_adc_dac:A/D- und D/A-Umsetzer] @@ -12,7 +12,7 @@ Da ein A/D-Umsetzer nur mit einer begrenzten Anzahl möglicher digitaler Werte a --- -Die Anzahl der möglichen Stufen eines A/D-Umsetzers wird als dessen *Auflösung* bezeichnet. Sie wird häufig in Bit ($\unit{\bit}$) angegeben. Kann ein Umsetzer beispielsweise $\num{256}$ unterschiedliche Werte unterscheiden, besitzt er eine Auflösung von $\qty{8}{\bit}$, denn mit $\qty{8}{\bit}$ lassen sich $\num{256}$ verschiedene Werte darstellen. Ein $\qty{16}{\bit}$-Umsetzer kann bereits $\num{65536}$ unterschiedliche Werte unterscheiden. +Die Anzahl der möglichen Stufen eines A/D-Umsetzers wird als dessen *Auflösung* bezeichnet. Sie wird häufig in Bit (Einheit: $\unit{\bit}$) angegeben. Kann ein Umsetzer beispielsweise $\num{256}$ unterschiedliche Werte unterscheiden, besitzt er eine Auflösung von $\qty{8}{\bit}$, denn mit $\qty{8}{\bit}$ lassen sich $\num{256}$ verschiedene Werte darstellen. Ein $\qty{16}{\bit}$-Umsetzer kann bereits $\num{65536}$ unterschiedliche Werte unterscheiden. Bei Signalen, die sowohl positive als auch negative Werte annehmen können, wird typischerweise ein Teil dieser Werte für den positiven und ein Teil für den negativen Signalbereich verwendet. @@ -37,8 +37,6 @@ Der Gegenspieler des A/D-Umsetzers ist der *D/A-Umsetzer*. Er erzeugt aus einem Auch ein D/A-Umsetzer kann nicht beliebig viele unterschiedliche Ausgangswerte erzeugen. Wie beim A/D-Umsetzer besitzt er eine bestimmte Auflösung in Bit und damit nur eine endliche Anzahl möglicher Ausgangswerte. -[question:AF609] - Ein D/A-Umsetzer kann außerdem nur Spannungen innerhalb eines bestimmten Wertebereichs erzeugen, beispielsweise von $\qty{0}{\volt}$ bis $\qty{1}{\volt}$ oder von $\qty{-2}{\volt}$ bis $\qty{2}{\volt}$. Bei einem linear arbeitenden D/A-Umsetzer sind die möglichen Ausgangswerte gleichmäßig über diesen Spannungsbereich verteilt. Besitzt ein D/A-Umsetzer beispielsweise eine Auflösung von $\qty{4}{\bit}$, stehen @@ -47,6 +45,8 @@ $\num{2^4}=\num{16}$ mögliche Stufen zur Verfügung. +[question:AF609] + Verteilen sich diese auf einen Spannungsbereich von $\qty{0}{\volt}$ bis $\qty{1}{\volt}$, gibt es zwischen den $\num{16}$ Stufen insgesamt $\num{15}$ Zwischenschritte. Die Schrittweite beträgt daher $\frac{\qty{1}{\volt}}{16-1}\approx\qty{67}{\milli\volt}.$ diff --git a/contents/sections/datenuebertragungsdrate.md b/contents/sections/datenuebertragungsrate.md similarity index 100% rename from contents/sections/datenuebertragungsdrate.md rename to contents/sections/datenuebertragungsrate.md diff --git a/contents/sections/fehlerkorrektur.md b/contents/sections/fehlerkorrektur.md index f3363af..8d95121 100644 --- a/contents/sections/fehlerkorrektur.md +++ b/contents/sections/fehlerkorrektur.md @@ -1,6 +1,6 @@ Erkennt der Empfänger einen Übertragungsfehler, zum Beispiel mithilfe von Prüfbits, kann er den Sender um eine erneute Übertragung der Daten bitten. Bei der *Vorwärtsfehlerkorrektur* ist dagegen häufig keine Neuübertragung erforderlich. Dazu werden den Nutzdaten zusätzliche Informationen hinzugefügt, zum Beispiel mehrere Prüfbits. Damit kann der Empfänger unter bestimmten Voraussetzungen nicht nur erkennen, dass ein Fehler aufgetreten ist, sondern auch bestimmen, welches Bit fehlerhaft ist, und dieses korrigieren. Im Englischen wird dieses Verfahren als *Forward Error Correction* (FEC) bezeichnet. -Wie das im Detail funktionieren kann, zeigt der folgende Bonus-Kasten am Beispiel eines Hamming-Codes. Das genaue Verfahren ist nicht prüfungsrelevant. +Wie das im Detail funktionieren kann, zeigt die nebenstehende Vertiefung am Beispiel eines Hamming-Codes. Das genaue Verfahren ist nicht prüfungsrelevant. [question:AE413] [question:AE414] diff --git a/contents/sections/fourier_transformation.md b/contents/sections/fourier_transformation.md index 7b15219..18d0db2 100644 --- a/contents/sections/fourier_transformation.md +++ b/contents/sections/fourier_transformation.md @@ -27,9 +27,9 @@ Wir erinnern uns, dass Signale, die sehr eckig und kantig sind, höhere Frequenz Für einige typische periodische Signalformen lässt sich das Frequenzspektrum besonders einfach beschreiben. Dabei betrachten wir hier die idealisierten, um den Nullpunkt symmetrischen Signalformen ohne Gleichanteil: * Ein *Sinussignal* besteht nur aus einer einzigen Frequenz. Im Frequenzspektrum erscheint daher nur die Grundfrequenz $f$. -* Ein *Rechtecksignal* besteht aus der Grundfrequenz und den *ungeradzahligen Vielfachen* der Grundfrequenz. Es enthält also die Frequenzen $f$, $3f$, $5f$, $7f$, usw. Die Amplituden der Oberwellen werden dabei mit zunehmender Frequenz kleiner. -* Ein *Sägezahnsignal* enthält sowohl die geradzahligen als auch die ungeradzahligen Vielfachen der Grundfrequenz. Es enthält also $f$, $2f$, $3f$, $4f$, $5f$, usw. Auch hier werden die Amplituden mit zunehmender Frequenz kleiner. -* Ein *Dreiecksignal* enthält wie das Rechtecksignal nur die ungeradzahligen Vielfachen der Grundfrequenz, also $f$, $3f$, $5f$, $7f$, usw. Die Amplituden der Oberwellen nehmen jedoch wesentlich schneller ab als beim Rechtecksignal. +* Ein *Rechtecksignal* besteht aus der Grundfrequenz und den *ungeradzahligen Vielfachen* der Grundfrequenz. Es enthält also die Frequenzen $f$, $3\cdot f$, $5\cdot f$, $7\cdot f$, usw. Die Amplituden der Oberwellen werden dabei mit zunehmender Frequenz kleiner. +* Ein *Sägezahnsignal* enthält sowohl die geradzahligen als auch die ungeradzahligen Vielfachen der Grundfrequenz. Es enthält also $f$, $2\cdot f$, $3\cdot f$, $4\cdot f$, $5\cdot f$, usw. Auch hier werden die Amplituden mit zunehmender Frequenz kleiner. +* Ein *Dreiecksignal* enthält wie das Rechtecksignal nur die ungeradzahligen Vielfachen der Grundfrequenz, also $f$, $3\cdot f$, $5\cdot f$, $7\cdot f$, usw. Die Amplituden der Oberwellen nehmen jedoch wesentlich schneller ab als beim Rechtecksignal. Damit lassen sich die Signalformen auch anhand ihres Frequenzspektrums unterscheiden. Ein einzelner Spektralanteil weist auf einen Sinus hin. Treten ungeradzahlige Vielfache auf, ist es in der Prüfung immer ein Rechtecksignal. diff --git a/contents/sections/sampling_quantisierung.md b/contents/sections/sampling_quantisierung.md index eb56e6e..76a805d 100644 --- a/contents/sections/sampling_quantisierung.md +++ b/contents/sections/sampling_quantisierung.md @@ -26,7 +26,7 @@ Den Vorgang, bei dem ein zeitkontinuierliches Signal zu bestimmten Zeitpunkten a Die Geschwindigkeit, mit der die Abtastung eines analogen Signals vorgenommen wird, wird als *Samplingrate* oder *Abtastrate* bezeichnet. Sie gibt an, wie viele Samples pro Zeiteinheit, beispielsweise pro Sekunde, aufgenommen werden. -Analoge Tonsignale werden bei digitalen Datenträgern wie CDs beispielsweise mit einer Samplingrate von $\num{44100}$ Samples pro Sekunde abgetastet. Dies entspricht $\qty{44,1}{\kilo\sps}$. +Analoge Tonsignale werden bei digitalen Datenträgern wie CDs beispielsweise mit einer Samplingrate von $\num{44100}$ Samples pro Sekunde (Einheit $\unit{\sps}$) abgetastet. Dies entspricht $\qty{44,1}{\kilo\sps}$. [question:AF615] @@ -38,6 +38,8 @@ Bei der Digitalisierung steht dagegen nur eine begrenzte Anzahl möglicher Zahle Liegt ein analoger Signalwert zwischen zwei möglichen Stufen, muss entschieden werden, welcher Stufe der gemessene Wert zugeordnet wird. Diesen Vorgang bezeichnet man als *Quantisierung*. Das zuvor wertkontinuierliche Signal wird dabei auf eine endliche Anzahl möglicher Werte abgebildet. +[question:AF605] + Die Abbildung [ref:a_wertdisk_zeitkont] zeigt zur Veranschaulichung ein *wertdiskretes, aber zeitkontinuierliches Signal*. Das Signal ist weiterhin zu jedem Zeitpunkt definiert, kann jedoch nur bestimmte, fest vorgegebene Werte annehmen. Die möglichen Werte sind also bereits quantisiert, die Zeit hingegen noch nicht diskretisiert. Werden Sampling und Quantisierung miteinander kombiniert, entsteht ein *wert- und zeitdiskretes Signal*, wie es in Abbildung [ref:a_wertdisk_zeitdisk] dargestellt ist. Es liegen nur zu bestimmten Zeitpunkten Samples vor, und auch deren mögliche Werte sind auf feste Stufen beschränkt. Dies entspricht der digitalen Darstellung eines zuvor analogen Signals. @@ -55,7 +57,6 @@ Soll eine mit dem analogen Dimmer eingestellte Helligkeit mit dem Stufenschalter [question:AF602] [question:AF604] -[question:AF605] Hier gibt es die Möglichkeit das Ganze nochmal auszuprobieren. Ein zeitkontinuierliches Sinus-Signal wird von einem AD-Umsetzer digitalisiert und anschließend wieder von einem DA-Umsetzer in ein analoges Signal gewandelt. An den Reglern kann man die Zeitquantisierung und die Wertquantisierung der AD/DA-Umsetzer einstellen. diff --git a/contents/slides/datenuebertragungsdrate.md b/contents/slides/datenuebertragungsrate.md similarity index 100% rename from contents/slides/datenuebertragungsdrate.md rename to contents/slides/datenuebertragungsrate.md diff --git a/toc/A.json b/toc/A.json index 005489a..2ec7409 100644 --- a/toc/A.json +++ b/toc/A.json @@ -713,7 +713,7 @@ }, { "title": "Digitale Übertragungsverfahren", - "abstract": "Dieses Kapitel beleuchtet die Grundlagen und Anwendungen der digitalen Übertragungsverfahren, die essenziell für die moderne Kommunikationi im Amateurfunk sind.", + "abstract": "Dieses Kapitel beleuchtet die Grundlagen und Anwendungen der digitalen Übertragungsverfahren, die essenziell für die moderne Kommunikation im Amateurfunk sind.", "ident": "a_digitale_uebertragungsverfahren", "video_url": null, "sections": [ diff --git a/toc/E.json b/toc/E.json index 6275403..dd16520 100644 --- a/toc/E.json +++ b/toc/E.json @@ -595,7 +595,7 @@ }, { "title": "Datenübertragungsrate", - "ident": "datenuebertragungsdrate", + "ident": "datenuebertragungsrate", "status": "prod", "class": "E", "video_url": null diff --git a/toc/EA.json b/toc/EA.json index 5c26f5c..e45ae78 100644 --- a/toc/EA.json +++ b/toc/EA.json @@ -1232,7 +1232,7 @@ }, { "title": "Datenübertragungsrate", - "ident": "datenuebertragungsdrate", + "ident": "datenuebertragungsrate", "status": "prod", "class": "E", "video_url": null diff --git a/toc/NE.json b/toc/NE.json index 144d01f..8366d90 100644 --- a/toc/NE.json +++ b/toc/NE.json @@ -1243,7 +1243,7 @@ }, { "title": "Datenübertragungsrate", - "ident": "datenuebertragungsdrate", + "ident": "datenuebertragungsrate", "status": "prod", "class": "E", "video_url": null diff --git a/toc/NEA.json b/toc/NEA.json index 4fd9a61..160d5b5 100644 --- a/toc/NEA.json +++ b/toc/NEA.json @@ -1873,7 +1873,7 @@ }, { "title": "Datenübertragungsrate", - "ident": "datenuebertragungsdrate", + "ident": "datenuebertragungsrate", "status": "prod", "class": "E", "video_url": null From 5f8a298e5a946efe40b5a1cfded1a3f6f66aa3d3 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 13:37:13 +0200 Subject: [PATCH 09/33] Update contents/sections/iq_verfahren.md Co-authored-by: Christoph Fischer --- contents/sections/iq_verfahren.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/iq_verfahren.md b/contents/sections/iq_verfahren.md index 3128cbd..b5b290e 100644 --- a/contents/sections/iq_verfahren.md +++ b/contents/sections/iq_verfahren.md @@ -1,4 +1,4 @@ -Im vorherigen Abschnitt haben wir gesehen, dass Symbole beispielsweise durch unterschiedliche Amplituden oder Frequenzen dargestellt werden können. Eine weitere Möglichkeit besteht darin, die Phasenlage eines Signals zu verändern. Um Signalzustände mit unterschiedlicher Amplitude und Phase übersichtlich darzustellen, wird häufig die sogenannte *I/Q-Darstellung* verwendet. +Im vorherigen Abschnitt haben wir gesehen, dass die Information in einem Symbol beispielsweise durch unterschiedliche Amplituden oder Frequenzen dargestellt werden kann. Eine weitere Möglichkeit besteht darin, die Phasenlage eines Signals zu verändern. Um Signalzustände mit unterschiedlicher Amplitude und Phase übersichtlich darzustellen, wird häufig die sogenannte *I/Q-Darstellung* verwendet. Betrachten wir zunächst einen Signalzustand zum Zeitpunkt $t=0$. Für das Symbol werden eine Amplitude $A$ und eine Phasenlage $\varphi$ festgelegt. In einer Zeigerdarstellung bestimmt die Amplitude die Länge des Zeigers und die Phasenlage seinen Winkel gegenüber der waagerechten Achse. From a35a9c07a382784be9b5b520061ddd0621c0eadd Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 13:39:05 +0200 Subject: [PATCH 10/33] Update contents/sections/iq_verfahren.md Co-authored-by: Christoph Fischer --- contents/sections/iq_verfahren.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/iq_verfahren.md b/contents/sections/iq_verfahren.md index b5b290e..298a37c 100644 --- a/contents/sections/iq_verfahren.md +++ b/contents/sections/iq_verfahren.md @@ -23,7 +23,7 @@ Für die Darstellung der Symbole interessiert uns also nicht die fortlaufende Dr -Für mathematisch interessierte: Eine sinusförmige Schwingung kann mathematisch auch als *komplexer Zeiger* beschrieben werden, der sich mit der Kreisfrequenz $\omega_\mathrm{c}$ dreht: +Für mathematisch Interessierte: Eine sinusförmige Schwingung kann mathematisch auch als *komplexer Zeiger* beschrieben werden, der sich mit der Kreisfrequenz $\omega_\mathrm{c}$ dreht: $s(t) = \Re\left\{A \cdot e^{j(\omega_\mathrm{c}t+\varphi)}\right\} = A\cos(\omega_\mathrm{c}t+\varphi)$ From 7db527fa40e26899262c6c82ca9e9704e9bea0be Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 13:39:25 +0200 Subject: [PATCH 11/33] Update contents/sections/mapping.md Co-authored-by: Christoph Fischer --- contents/sections/mapping.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/mapping.md b/contents/sections/mapping.md index f7a7b7e..aaefefb 100644 --- a/contents/sections/mapping.md +++ b/contents/sections/mapping.md @@ -24,7 +24,7 @@ Die beiden möglichen Symbole lassen sich auch in dem zuvor kennengelernten Kons Eine Amplitudenumtastung ist nicht auf zwei mögliche Amplituden beschränkt. Werden beispielsweise vier unterschiedliche Amplituden verwendet, stehen vier verschiedene Symbole zur Verfügung. Da sich mit zwei Bits vier unterschiedliche Bitkombinationen bilden lassen, kann jedem Symbol eine der Kombinationen $00$, $01$, $10$ oder $11$ zugeordnet werden. -Die Abbildung [ref:a_4_ask] zeigt eine solche *4ASK* mit vier unterschiedlichen Amplituden in der Zeitdarstellung. Beispielsweise können $\qty{25}{\percent}$, $\qty{50}{\percent}$, $\qty{75}{\percent}$ und $\qty{100}{\percent}$ der maximalen Amplitude verwendet werden. Mit jedem Symbol können dadurch zwei Bits übertragen werden. +Die Abbildung [ref:a_4_ask] zeigt eine solche *4-ASK* mit vier unterschiedlichen Amplituden in der Zeitdarstellung. Beispielsweise können $\qty{25}{\percent}$, $\qty{50}{\percent}$, $\qty{75}{\percent}$ und $\qty{100}{\percent}$ der maximalen Amplitude verwendet werden. Mit jedem Symbol können dadurch zwei Bits übertragen werden. [picture:701:a_4_ask:Quaternäre Amplitudenumtastung (Quaternary Amplitude-Shift Keying)] From 255b6497c5cab0d179ffa370ef62653cc898b7b0 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 13:39:41 +0200 Subject: [PATCH 12/33] Update contents/sections/qam.md Co-authored-by: Christoph Fischer --- contents/sections/qam.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/qam.md b/contents/sections/qam.md index 3c5f180..d223361 100644 --- a/contents/sections/qam.md +++ b/contents/sections/qam.md @@ -2,7 +2,7 @@ Bisher haben wir ASK und PSK kennengelernt. Es scheint für beide Verfahren zun Um dieses Problem zu mildern, kann man auf einen Trick zurückgreifen: Anstelle der Änderung nur eines Parameters (z. B. der Amplitude) werden pro Symbol zwei Parameter verändert, nämlich die Amplitude und die Phase. Ein Symbol entspricht dann einer Kombination einer bestimmten Amplitude mit einer bestimmten Phasenlage. So ergibt sich trotz kleiner Anzahl unterschiedlicher Amplituden und Phasenlagen dennoch eine größere Anzahl an Symbolen. Bei gleicher Symbolrate können somit mehr Bits pro Sekunde übertragen werden. Dieses Verfahren wird *Quadraturamplitudenmodulation* (QAM) genannt. -Die Abbildung [ref:a_8qam] zeigt ein 8QAM-Signal im zeitlichen Verlauf. Jedes Symbol besitzt eine bestimmte Amplitude, eine bestimmte Phasenlage und eine 3-stellige Bitfolge, die durch das Mapping festgelegt ist. Mit jedem Symbol können somit drei Bits übertragen werden. Die Abbildung [ref:a_16qam] zeigt ein 16QAM-Mapping im Konstellationsdiagramm. Jedes Symbol entspricht einer Kombination aus einer bestimmten Amplitude und einer bestimmten Phasenlage. Mit jedem Symbol können somit vier Bits übertragen werden. +Die Abbildung [ref:a_8qam] zeigt ein 8-QAM-Signal im zeitlichen Verlauf. Jedes Symbol besitzt eine bestimmte Amplitude, eine bestimmte Phasenlage und eine 3-stellige Bitfolge, die durch das Mapping festgelegt ist. Mit jedem Symbol können somit drei Bits übertragen werden. Die Abbildung [ref:a_16qam] zeigt ein 16-QAM-Mapping im Konstellationsdiagramm. Jedes Symbol entspricht einer Kombination aus einer bestimmten Amplitude und einer bestimmten Phasenlage. Mit jedem Symbol können somit vier Bits übertragen werden. [picture:702:a_8qam:Signalverlauf eines 8QAM-Signals, je Symbol mit Amplitude ($\num{0,5}$ bzw. $\num{1}$), Phasenlage und 3-stelliger Bitfolge] From 414fb53832808275659af839d14b557cd955dc2c Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 22:45:06 +0200 Subject: [PATCH 13/33] Update contents/sections/datenuebertragungsrate.md Co-authored-by: Christoph Fischer --- contents/sections/datenuebertragungsrate.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/datenuebertragungsrate.md b/contents/sections/datenuebertragungsrate.md index 71c6288..de51985 100644 --- a/contents/sections/datenuebertragungsrate.md +++ b/contents/sections/datenuebertragungsrate.md @@ -1,6 +1,6 @@ Digitale Übertragungssysteme übertragen keine analogen Signale, sondern digitale Informationen. Diese werden in Form von binären Zahlen übertragen, den sogenannten Bits. Dabei müssen zwei Begriffe unterschieden werden: -- *Datenübertragungsrate*: Sie gibt an wie viele Bit pro Sekunde übertragen werden. Die Einheit der Datenübertragungsrate ist *$\unit{\bit\per\second}$* +- *Datenübertragungsrate*: Sie gibt an wie viele Bit pro Sekunde übertragen werden. Die Einheit der Datenübertragungsrate ist *$\unit{\bit\per\second}$*. - *Bandbreite*: Den Begriff der Bandbreite haben wir bereits kennen gelernt. Sie wird in *Hertz ($\unit{\hertz}$)* angegeben, wie die Frequenz, und darf nicht mit der Datenübertragungsrate verwechselt werden, auch wenn in der Umgangssprache von der Datenübertragungsrate als Bandbreite gesprochen wird (z.B. beim DSL-Anschluss). [question:EA106] From cd541928b77448d612bece847f29d49903fd71f7 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 22:45:46 +0200 Subject: [PATCH 14/33] Update contents/sections/symbole_symbolrate.md Co-authored-by: Christoph Fischer --- contents/sections/symbole_symbolrate.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/symbole_symbolrate.md b/contents/sections/symbole_symbolrate.md index cac8d22..9d1b712 100644 --- a/contents/sections/symbole_symbolrate.md +++ b/contents/sections/symbole_symbolrate.md @@ -14,7 +14,7 @@ $R_\mathrm{D} = R_\mathrm{S} \cdot N$ Werden beispielsweise bei einer Symbolrate von $\qty{1200}{\baud}$ mit jedem Symbol zwei Bit übertragen, ergibt sich eine Datenrate von: -$R_\mathrm{D} = \qty{1200}{\baud} \cdot 2 = \qty{2400}{\bit\per\second}$ +$R_\mathrm{D} = \qty{1200}{\baud} \cdot \qty{2}{\bit\per{Symbol}} = \qty{2400}{\bit\per\second}$ Die Anzahl der möglichen Symbole und die Symbolrate sind damit wichtige Größen für digitale Übertragungsverfahren. Wie sich die einzelnen Symbole durch unterschiedliche Eigenschaften eines Signals darstellen lassen, betrachten wir in den folgenden Abschnitten. From 3b56958bd5083a35882ea14e9648cb6bfdf58d2f Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 22:46:04 +0200 Subject: [PATCH 15/33] Update contents/solutions/AE405.md Co-authored-by: Christoph Fischer --- contents/solutions/AE405.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/solutions/AE405.md b/contents/solutions/AE405.md index 4ba335e..73310ec 100644 --- a/contents/solutions/AE405.md +++ b/contents/solutions/AE405.md @@ -1,6 +1,6 @@ Pro Symbol wird genau ein Bit übertragen. Damit entspricht die Datenrate direkt der Symbolrate: -$R_\mathrm{Daten} = R_\mathrm{Symbol} \cdot 1$ +$R_\mathrm{Daten} = R_\mathrm{Symbol} \cdot \qty{1}{\bit\per{Symbol}}$ Mit einer Symbolrate von $\qty{45,45}{\baud}$ ergibt sich somit: From a1ad816ce510044f9c90f99e0e3e92a4ddf8928c Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 22:46:16 +0200 Subject: [PATCH 16/33] Update contents/solutions/AE406.md Co-authored-by: Christoph Fischer --- contents/solutions/AE406.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/solutions/AE406.md b/contents/solutions/AE406.md index d4eee89..8966ab5 100644 --- a/contents/solutions/AE406.md +++ b/contents/solutions/AE406.md @@ -1,6 +1,6 @@ Pro Symbol werden zwei Bits übertragen. Die Datenrate ergibt sich daher aus der Symbolrate multipliziert mit der Anzahl der Bits pro Symbol: -$R_\mathrm{Daten} = R_\mathrm{Symbol} \cdot 2$ +$R_\mathrm{Daten} = R_\mathrm{Symbol} \cdot \qty{2}{\bit\per{Symbol}}$ Mit einer Symbolrate von $\qty{23,4}{\baud}$ ergibt sich: From d828d1f69e30d6e43308fdb9b6e5a652ec56539e Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 22:50:07 +0200 Subject: [PATCH 17/33] Update contents/sections/sampling_quantisierung.md Co-authored-by: Christoph Fischer --- contents/sections/sampling_quantisierung.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/sampling_quantisierung.md b/contents/sections/sampling_quantisierung.md index 76a805d..c4fe5ed 100644 --- a/contents/sections/sampling_quantisierung.md +++ b/contents/sections/sampling_quantisierung.md @@ -26,7 +26,7 @@ Den Vorgang, bei dem ein zeitkontinuierliches Signal zu bestimmten Zeitpunkten a Die Geschwindigkeit, mit der die Abtastung eines analogen Signals vorgenommen wird, wird als *Samplingrate* oder *Abtastrate* bezeichnet. Sie gibt an, wie viele Samples pro Zeiteinheit, beispielsweise pro Sekunde, aufgenommen werden. -Analoge Tonsignale werden bei digitalen Datenträgern wie CDs beispielsweise mit einer Samplingrate von $\num{44100}$ Samples pro Sekunde (Einheit $\unit{\sps}$) abgetastet. Dies entspricht $\qty{44,1}{\kilo\sps}$. +Analoge Tonsignale werden bei digitalen Datenträgern wie CDs beispielsweise mit einer Samplingrate von $\num{44100}$ Samples pro Sekunde (Einheit $\unit{\sps}$), oder kurz $\qty{44,1}{\kilo\sps}$, abgetastet. [question:AF615] From fbfd4863955f6d6677c320a6aa286ee68390c69d Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 22:54:23 +0200 Subject: [PATCH 18/33] Update contents/sections/sampling_quantisierung.md Co-authored-by: Christoph Fischer --- contents/sections/sampling_quantisierung.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/sampling_quantisierung.md b/contents/sections/sampling_quantisierung.md index c4fe5ed..07dda64 100644 --- a/contents/sections/sampling_quantisierung.md +++ b/contents/sections/sampling_quantisierung.md @@ -59,7 +59,7 @@ Soll eine mit dem analogen Dimmer eingestellte Helligkeit mit dem Stufenschalter [question:AF604] -Hier gibt es die Möglichkeit das Ganze nochmal auszuprobieren. Ein zeitkontinuierliches Sinus-Signal wird von einem AD-Umsetzer digitalisiert und anschließend wieder von einem DA-Umsetzer in ein analoges Signal gewandelt. An den Reglern kann man die Zeitquantisierung und die Wertquantisierung der AD/DA-Umsetzer einstellen. +Hier gibt es die Möglichkeit das Ganze nochmal auszuprobieren. Ein zeitkontinuierliches Sinus-Signal wird von einem AD-Umsetzer digitalisiert und anschließend wieder von einem DA-Umsetzer in ein zeitkontinuierliches, aber immer noch wertdiskretes, analoges Signal gewandelt. An den Reglern kann man die Zeitquantisierung und die Wertquantisierung der AD/DA-Umsetzer einstellen. [include:quantisierung_und_sampling] \ No newline at end of file From 5614c94b7c07f5c70cd8209693d419784c88739a Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 22:56:42 +0200 Subject: [PATCH 19/33] Update contents/sections/dac_adc.md Co-authored-by: Christoph Fischer --- contents/sections/dac_adc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/dac_adc.md b/contents/sections/dac_adc.md index 51d3599..e269e53 100644 --- a/contents/sections/dac_adc.md +++ b/contents/sections/dac_adc.md @@ -4,7 +4,7 @@ Dieses Kapitel zeigt, wie analoge Signale in digitale Werte und digitale Werte w [picture:1130:a_adc_dac:A/D- und D/A-Umsetzer] -Ein A/D-Umsetzer tastet ein analoges Eingangssignal zu bestimmten Zeitpunkten ab und erzeugt daraus digitale Zahlenwerte, die anschließend von weiteren Teilen einer Schaltung verarbeitet werden können. +Ein A/D-Umsetzer tastet ein analoges Eingangssignal zu bestimmten Zeitpunkten ab und erzeugt daraus digitale Zahlenwerte, die anschließend von weiteren Teilen einer Schaltung digital verarbeitet werden können. Da ein A/D-Umsetzer nur mit einer begrenzten Anzahl möglicher digitaler Werte arbeitet, kann er die Amplitude eines analogen Eingangssignals nur in bestimmten Stufen erfassen. Wir erinnern uns dabei an das zuvor verwendete Beispiel mit Dimmer und Stufenschalter. Liegt der tatsächliche Wert zwischen zwei möglichen Stufen, muss er einer davon zugeordnet werden. Dadurch entsteht ein *Quantisierungsfehler*. From 687c77139343ed61d0433bc53c0860944f5662a4 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 22:58:57 +0200 Subject: [PATCH 20/33] Update contents/sections/dac_adc.md Co-authored-by: Christoph Fischer --- contents/sections/dac_adc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/dac_adc.md b/contents/sections/dac_adc.md index e269e53..2b743fc 100644 --- a/contents/sections/dac_adc.md +++ b/contents/sections/dac_adc.md @@ -25,7 +25,7 @@ Die Abbildung [ref:a_adc_4bit] zeigt ein Sinussignal, das durch einen A/D-Umsetz [question:AF608] -Eine weitere wichtige Eigenschaft eines A/D-Umsetzers ist die zeitliche Genauigkeit der Abtastung. Die einzelnen Samples sollten möglichst exakt in den vorgesehenen zeitlichen Abständen aufgenommen werden. Dazu ist ein möglichst stabiler Abtastratengenerator erforderlich. +Eine weitere wichtige Eigenschaft eines A/D-Umsetzers ist die zeitliche Genauigkeit der Abtastung. Die einzelnen Samples sollten möglichst exakt in den vorgesehenen zeitlichen Abständen aufgenommen werden. Dazu ist ein möglichst stabiler Abtasttaktgenerator erforderlich. In der Praxis können die tatsächlichen Abtastzeitpunkte jedoch geringfügig von den idealen Zeitpunkten abweichen. Diese zeitlichen Schwankungen werden als *Jitter* bezeichnet. Jitter kann zu zusätzlichen Fehlern und damit zu zusätzlichem Rauschen im digitalisierten Signal führen. From d9499721674a460068468a0f0c354abbe2648bc2 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 23:01:49 +0200 Subject: [PATCH 21/33] Update contents/sections/anti_alias_rekonstruktionsfilter.md Co-authored-by: Christoph Fischer --- contents/sections/anti_alias_rekonstruktionsfilter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/anti_alias_rekonstruktionsfilter.md b/contents/sections/anti_alias_rekonstruktionsfilter.md index c295781..cd141de 100644 --- a/contents/sections/anti_alias_rekonstruktionsfilter.md +++ b/contents/sections/anti_alias_rekonstruktionsfilter.md @@ -32,7 +32,7 @@ Ein Moiré-Muster kann daher als sichtbares Beispiel dafür betrachtet werden, w --- -Der A/D-Umsetzer benötigt außerdem einen Taktgenerator, den man auch als Abtastratengenerator bezeichnet. Dieser legt fest, zu welchen Zeitpunkten das Eingangssignal abgetastet wird und bestimmt damit die Samplingrate. Die Taktrate kann fest eingestellt sein oder beispielsweise durch einen Mikrocontroller gesteuert werden. +Der A/D-Umsetzer benötigt außerdem einen Taktgenerator, den man auch als Abtasttaktgenerator bezeichnet. Dieser legt fest, zu welchen Zeitpunkten das Eingangssignal abgetastet wird und bestimmt damit die Samplingrate. Die Samplingrate kann fest eingestellt sein oder beispielsweise durch einen Mikrocontroller gesteuert werden. [picture:1132:a_anit_alias:Anti-Aliasing-Filter, A/D-Umsetzer und Taktgenerator] From 335963c2bf69060a071f18816c17ad142edaefd4 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 23:02:27 +0200 Subject: [PATCH 22/33] Update contents/sections/anti_alias_rekonstruktionsfilter.md Co-authored-by: Christoph Fischer --- contents/sections/anti_alias_rekonstruktionsfilter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/anti_alias_rekonstruktionsfilter.md b/contents/sections/anti_alias_rekonstruktionsfilter.md index cd141de..960661b 100644 --- a/contents/sections/anti_alias_rekonstruktionsfilter.md +++ b/contents/sections/anti_alias_rekonstruktionsfilter.md @@ -44,7 +44,7 @@ Der A/D-Umsetzer benötigt außerdem einen Taktgenerator, den man auch als Abtas Auf der anderen Seite der digitalen Signalverarbeitung übernimmt der D/A-Umsetzer den umgekehrten Vorgang. Er setzt die digitalen Samples wieder in analoge Spannungswerte um. Da die einzelnen Werte nur in festen zeitlichen Abständen ausgegeben werden, entsteht am Ausgang des D/A-Umsetzers zunächst kein ideal glatter Signalverlauf. -Durch die zeitdiskrete Ausgabe entstehen neben dem gewünschten Nutzsignal auch unerwünschte höherfrequente Signalanteile (Z.B. in Abbildung [ref:a_adc_4bit], die scharfen Kanten des Signals enthalten die hohen Frequenzanteile). Um diese zu unterdrücken, wird hinter dem D/A-Umsetzer ein *Rekonstruktionsfilter* eingesetzt. Auch hierbei kann je nach Anwendung beispielsweise ein Tiefpass- oder Bandpassfilter verwendet werden. +Durch die zeitdiskrete Ausgabe entstehen neben dem gewünschten Nutzsignal auch unerwünschte höherfrequente Signalanteile (z.B. in Abbildung [ref:a_adc_4bit], die schnellen Übergänge zwischen den diskreten Werten des Ausgangssignals enthalten die hohen Frequenzanteile). Um diese zu unterdrücken, wird hinter dem D/A-Umsetzer ein *Rekonstruktionsfilter* eingesetzt. Auch hierbei kann je nach Anwendung beispielsweise ein Tiefpass- oder Bandpassfilter verwendet werden. Das Rekonstruktionsfilter lässt den gewünschten Nutzfrequenzbereich passieren und unterdrückt die unerwünschten höherfrequenten Signalanteile des D/A-Umsetzers. Dadurch entsteht am Ausgang wieder ein möglichst sauberes analoges Signal (vgl. Abbildung [ref:a_adc_12bit], das Rekonstruktionsfilter glättet das Signal). From 866bb1315c28bfa7407bdbca72839fd957cdd24d Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 23:03:22 +0200 Subject: [PATCH 23/33] Update contents/sections/anti_alias_rekonstruktionsfilter.md Co-authored-by: Christoph Fischer --- contents/sections/anti_alias_rekonstruktionsfilter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/anti_alias_rekonstruktionsfilter.md b/contents/sections/anti_alias_rekonstruktionsfilter.md index 960661b..b7e70cd 100644 --- a/contents/sections/anti_alias_rekonstruktionsfilter.md +++ b/contents/sections/anti_alias_rekonstruktionsfilter.md @@ -53,5 +53,5 @@ Das Rekonstruktionsfilter lässt den gewünschten Nutzfrequenzbereich passieren [picture:300:a_adc_4bit:Signal vor dem Rekonstruktionsfilter] -[picture:299:a_adc_12bit:Singnal nach dem Rekonstruktionsfilter] +[picture:299:a_adc_12bit:Signal nach dem Rekonstruktionsfilter] From 76b9440e1b367c9dc55595668a89a89659f69af9 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 23:06:20 +0200 Subject: [PATCH 24/33] Update contents/sections/digital_iq.md Co-authored-by: Christoph Fischer --- contents/sections/digital_iq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/digital_iq.md b/contents/sections/digital_iq.md index cb2d30c..9f99869 100644 --- a/contents/sections/digital_iq.md +++ b/contents/sections/digital_iq.md @@ -1,4 +1,4 @@ -Im vorherigen Kapitel haben wir die I/Q-Darstellung und den I/Q-Modulator kennengelernt. In einem digitalen System werden die beiden Komponenten I und Q als zwei getrennte digitale Datenströme verarbeitet. Diese können durch digitale Signalverarbeitung erzeugt, verändert und ausgewertet werden. +In einem der vorherigen Kapitel haben wir die I/Q-Darstellung und den I/Q-Modulator kennengelernt. In einem digitalen System werden die beiden Komponenten I und Q als zwei getrennte digitale Datenströme verarbeitet. Diese können durch digitale Signalverarbeitung erzeugt, verändert und ausgewertet werden. Auf der Empfängerseite wird das Eingangssignal dazu mit zwei Signalen gleicher Frequenz gemischt, die um $\qty{90}{\degree}$ gegeneinander phasenverschoben sind. Dadurch entstehen ein I- und ein Q-Signal. Beide Signale werden anschließend jeweils mit einem A/D-Umsetzer digitalisiert und können danach digital weiterverarbeitet werden. Auf der Senderseite funktioniert der Vorgang umgekehrt: Digitale I- und Q-Datenströme werden mit zwei D/A-Umsetzern in analoge Signale umgewandelt und anschließend einem I/Q-Modulator zugeführt. From bf690acf0898c1b7d857bfdc86a44b1aeb699459 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 23:07:28 +0200 Subject: [PATCH 25/33] Update contents/sections/digital_iq.md Co-authored-by: Christoph Fischer --- contents/sections/digital_iq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/digital_iq.md b/contents/sections/digital_iq.md index 9f99869..da735c2 100644 --- a/contents/sections/digital_iq.md +++ b/contents/sections/digital_iq.md @@ -8,7 +8,7 @@ Wird ein Eingangssignal beispielsweise mit zwei um $\qty{90}{\degree}$ gegeneina Wie groß dieser Frequenzbereich ist, hängt von der Abtastrate ab. Werden sowohl I als auch Q mit einer Abtastrate von $f_\mathrm{S}$ abgetastet, kann idealerweise ein Frequenzbereich von -$-\frac{f_\mathrm{S}}{2}$ bis $+\frac{f_\mathrm{S}}{2}$ +$-\frac{f_\mathrm{S}}{2}\text{ bis }+\frac{f_\mathrm{S}}{2}$ um die Mittenfrequenz dargestellt werden. Die insgesamt darstellbare Bandbreite entspricht damit der Abtastrate $f_\mathrm{S}$. From a6b0f12ecbe5f32b2a6a2921b28bde47e5846ab0 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 23:27:17 +0200 Subject: [PATCH 26/33] refactor: fourier --- contents/sections/fourier_transformation.md | 34 ++++++++------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/contents/sections/fourier_transformation.md b/contents/sections/fourier_transformation.md index 18d0db2..aabbf14 100644 --- a/contents/sections/fourier_transformation.md +++ b/contents/sections/fourier_transformation.md @@ -1,39 +1,31 @@ +Signale können auf unterschiedliche Weise dargestellt werden. Bisher haben wir häufig den *Zeitbereich* betrachtet. Dabei wird dargestellt, wie sich beispielsweise die Spannung eines Signals mit der Zeit verändert. Dasselbe Signal kann jedoch auch im *Frequenzbereich* betrachtet werden. Dabei wird nicht mehr der zeitliche Verlauf dargestellt, sondern aus welchen Frequenzanteilen sich das Signal zusammensetzt und wie stark diese jeweils vertreten sind. Diese Darstellung bezeichnet man auch als *Frequenzspektrum*. Grundlage dafür ist die Tatsache, dass sich periodische Signale als Überlagerung von Sinusschwingungen unterschiedlicher Frequenz, Amplitude und Phase beschreiben lassen. Ein reines Sinussignal besteht beispielsweise nur aus einer einzigen Frequenz und erscheint daher im Frequenzspektrum nur bei dieser Frequenz. -% du kennst die zeitdarstellung -% du kennst die frequenzdarstellung -% fourier hat sich damit beschaeftigt wie man vom einen zum anderen kommt -% das zeitliche signal wir analysiert dahingehend wie "stark" welche sinusfrequenz enhalten ist -% zusammenfassung: jedes signal laesst sich in eine menge von sinusförmigen schwingungen aufteilen -% phase nicht vergessen - -Kommen wir nun zu einem spannenden Thema, das komplizierter klingt, als es eigentlich ist. Man kann Signale auf verschiedene Arten und Weisen darstellen. Bekannt sein dürfte die Darstellung eines Signals im Zeitbereich. Hierbei wird auf der X-Achse die Zeit und auf der Y-Achse ein Spannungs- oder Leistungswert dargestellt. - -Wusstest du, dass sich jedes Signal aus einzelnen Sinus-Schwingungen zusammensetzen lässt? Das klingt verrückt, aber so ist es. Jedes Signal kann durch eine Überlagerung von reinen Sinus-Schwingungen, die eine bestimmte Amplitude und Phase haben, beschrieben werden. - -Die Fourier-Transformation ist eine mathematisch komplexe Funktion (die wir hier nicht näher erklären wollen), die ein Signal, das im Zeitbereich vorliegt, analysiert und im Anschluss darstellt, aus welchen einzelnen Sinus-Schwingungen sich das Signal aufbaut. Anschließend kann diese Information in einem Diagramm im Frequenzbereich oder auch Frequenzspektrum dargestellt werden. Hierbei beschreibt die X-Achse nun die Frequenz und die Y-Achse den Spannungswert oder auch Leistungswert der enthaltenen Frequenz im Ausgangssignal. Ein reines sinusförmiges Signal einer festen Frequenz stellt somit, im Frequenzspektrum dargestellt, einen Strich bei dessen Frequenz dar. - -Die Fourier-Transformation (auch diskrete Fourier-Transformation kurz DFT benannt) ist in Ihrer ursprünglichen Form eine mathematisch aufwändige und komplexe Funktion. Diese ist in Software nur sehr ineffizient abzubilden. Über die Zeit hat man eine wesentlich effizientere Methode gefunden, diese mathematisch komplexe Funktion auf einfachere Art und Weise abzubilden - die Fast-Fourier-Transformation oder auch FFT genannt. Hiermit wird deren Berechnung, insbesondere in Soft- und Hardware, wesentlich vereinfacht. +Die *Fourier-Transformation* ermöglicht den Wechsel zwischen Zeit- und Frequenzbereich. Sie zerlegt ein Signal mathematisch in seine einzelnen Frequenzanteile. Für digital vorliegende, zeitdiskrete Signale wird dazu die *diskrete Fourier-Transformation* (DFT) verwendet. Die direkte Berechnung einer DFT kann bei einer großen Anzahl von Samples sehr aufwändig sein. Mit der *Fast-Fourier-Transformation* (FFT) steht ein wesentlich effizienterer Algorithmus zur Berechnung der DFT zur Verfügung. Deshalb wird die FFT häufig in Software und digitaler Hardware eingesetzt, beispielsweise um das Frequenzspektrum eines Signals zu bestimmen. -Signalformen, welche nicht sinusförmig sind und insbesondere scharfe "Ecken und Kanten" enthalten, bestehen aus vielen verschiedenen Sinus-Frequenzanteilen und enthalten viele Oberwellenanteile. Mit diesem Applet lässt sich der Sachverhalt jedoch bereits ausprobieren. +Nicht sinusförmige Signalformen bestehen aus mehreren Frequenzanteilen. Insbesondere scharfe Änderungen und Kanten im zeitlichen Signalverlauf erfordern zusätzliche hochfrequente Anteile. Mit dem folgenden Applet kann untersucht werden, wie sich unterschiedliche Sinusschwingungen überlagern und daraus verschiedene Signalformen entstehen. [include:fourier] [question:AF630] -Wir erinnern uns, dass Signale, die sehr eckig und kantig sind, höhere Frequenzanteile (sog. Oberschwingungen) enthalten. Sieht man sich ein solches Signal, beispielsweise ein rechteckiges Signal, nun im Frequenzbereich an, so fällt auf, dass dieses aus einem starken Sinus-Signal bei dessen Grundschwingung besteht als auch mehreren, immer schwächer werdenden Sinus-Signalen bei ungeradzahligen Vielfachen der Grundfrequenz. Dies ist im Übrigen auch der Grund, warum man Rechteck-Signale keinesfalls auf eine Antenne geben darf, bevor diese nicht ein Tiefpassfilter durchlaufen haben. Das Tiefpassfilter sorgt in diesem Fall dafür, dass höhere Signalanteile unterdrückt werden und an dessen Ausgang nur noch die Grundschwingung in Form eines Sinus-Signals austritt. Würde man das Rechtecksignal direkt auf die Antenne geben, so wäre eine Aussendung auf allen ungeradzahligen Vielfachen der Grundfrequenz zu empfangen und würde sicherlich andere Funkdienste massiv stören. +--- -Für einige typische periodische Signalformen lässt sich das Frequenzspektrum besonders einfach beschreiben. Dabei betrachten wir hier die idealisierten, um den Nullpunkt symmetrischen Signalformen ohne Gleichanteil: +Besonders deutlich wird der Zusammenhang zwischen Zeit- und Frequenzbereich bei Signalen mit scharfen Kanten. Ein ideales Rechtecksignal lässt sich beispielsweise aus einer Grundschwingung und mehreren Oberschwingungen zusammensetzen. Neben der Grundfrequenz treten dabei die ungeradzahligen Vielfachen der Grundfrequenz auf. Ihre Amplituden werden mit zunehmender Frequenz kleiner. + +Diese Oberwellen sind auch bei Sendern von Bedeutung. Würde beispielsweise ein ideales Rechtecksignal unmittelbar auf eine Antenne gegeben, würden neben der gewünschten Grundfrequenz auch dessen Oberwellen abgestrahlt. Ein Tiefpassfilter kann die unerwünschten höheren Frequenzanteile unterdrücken, sodass hauptsächlich die gewünschte Grundschwingung zur Antenne gelangt. + +Für einige typische periodische Signalformen lässt sich das Frequenzspektrum besonders einfach beschreiben. Dabei betrachten wir idealisierte Signalformen ohne Gleichanteil: * Ein *Sinussignal* besteht nur aus einer einzigen Frequenz. Im Frequenzspektrum erscheint daher nur die Grundfrequenz $f$. -* Ein *Rechtecksignal* besteht aus der Grundfrequenz und den *ungeradzahligen Vielfachen* der Grundfrequenz. Es enthält also die Frequenzen $f$, $3\cdot f$, $5\cdot f$, $7\cdot f$, usw. Die Amplituden der Oberwellen werden dabei mit zunehmender Frequenz kleiner. -* Ein *Sägezahnsignal* enthält sowohl die geradzahligen als auch die ungeradzahligen Vielfachen der Grundfrequenz. Es enthält also $f$, $2\cdot f$, $3\cdot f$, $4\cdot f$, $5\cdot f$, usw. Auch hier werden die Amplituden mit zunehmender Frequenz kleiner. -* Ein *Dreiecksignal* enthält wie das Rechtecksignal nur die ungeradzahligen Vielfachen der Grundfrequenz, also $f$, $3\cdot f$, $5\cdot f$, $7\cdot f$, usw. Die Amplituden der Oberwellen nehmen jedoch wesentlich schneller ab als beim Rechtecksignal. +* Ein *Rechtecksignal* besteht aus der Grundfrequenz und den *ungeradzahligen Vielfachen* der Grundfrequenz. Es enthält also die Frequenzen $f$, $3\cdot f$, $5\cdot f$, $7\cdot f$ usw. Die Amplituden der Oberwellen werden mit zunehmender Frequenz kleiner. +* Ein *Sägezahnsignal* enthält sowohl die geradzahligen als auch die ungeradzahligen Vielfachen der Grundfrequenz. Es enthält also $f$, $2\cdot f$, $3\cdot f$, $4\cdot f$, $5\cdot f$ usw. Auch hier werden die Amplituden mit zunehmender Frequenz kleiner. +* Ein *Dreiecksignal* enthält wie das Rechtecksignal nur die ungeradzahligen Vielfachen der Grundfrequenz, also $f$, $3\cdot f$, $5\cdot f$, $7\cdot f$ usw. Die Amplituden der höheren Frequenzanteile nehmen jedoch wesentlich schneller ab als beim Rechtecksignal. Damit lassen sich die Signalformen auch anhand ihres Frequenzspektrums unterscheiden. Ein einzelner Spektralanteil weist auf einen Sinus hin. Treten ungeradzahlige Vielfache auf, ist es in der Prüfung immer ein Rechtecksignal. [question:AB404] [question:AB405] [question:AB406] -[question:AB407] +[question:AB407] \ No newline at end of file From 88cb9d21fefb3c32230a343079dd73b0866175a0 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sun, 16 Aug 2026 23:28:20 +0200 Subject: [PATCH 27/33] fix: fourier --- contents/sections/fourier_transformation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/fourier_transformation.md b/contents/sections/fourier_transformation.md index aabbf14..11a6f45 100644 --- a/contents/sections/fourier_transformation.md +++ b/contents/sections/fourier_transformation.md @@ -23,7 +23,7 @@ Für einige typische periodische Signalformen lässt sich das Frequenzspektrum b * Ein *Sägezahnsignal* enthält sowohl die geradzahligen als auch die ungeradzahligen Vielfachen der Grundfrequenz. Es enthält also $f$, $2\cdot f$, $3\cdot f$, $4\cdot f$, $5\cdot f$ usw. Auch hier werden die Amplituden mit zunehmender Frequenz kleiner. * Ein *Dreiecksignal* enthält wie das Rechtecksignal nur die ungeradzahligen Vielfachen der Grundfrequenz, also $f$, $3\cdot f$, $5\cdot f$, $7\cdot f$ usw. Die Amplituden der höheren Frequenzanteile nehmen jedoch wesentlich schneller ab als beim Rechtecksignal. -Damit lassen sich die Signalformen auch anhand ihres Frequenzspektrums unterscheiden. Ein einzelner Spektralanteil weist auf einen Sinus hin. Treten ungeradzahlige Vielfache auf, ist es in der Prüfung immer ein Rechtecksignal. +Damit lassen sich die Signalformen auch anhand ihres Frequenzspektrums unterscheiden. Ein einzelner Spektralanteil weist auf einen Sinus hin. Treten ungeradzahlige Vielfache auf, ist es in den Prüfungsfragen immer ein Rechtecksignal. [question:AB404] [question:AB405] From d84d1af6b72ee5b7afef775bde18061cb1d00d4d Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Wed, 19 Aug 2026 13:22:33 +0200 Subject: [PATCH 28/33] Update contents/sections/ofdm.md Co-authored-by: Christoph Fischer --- contents/sections/ofdm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/ofdm.md b/contents/sections/ofdm.md index 089a2de..1ce3387 100644 --- a/contents/sections/ofdm.md +++ b/contents/sections/ofdm.md @@ -2,7 +2,7 @@ Es ist auch möglich, einen Datenstrom auf mehrere Träger zu verteilen, die auf Beim orthogonalen Frequenzmultiplexverfahren, (Orthogonal Frequency-Division Multiplexing, OFDM) werden nun die einzelnen Träger in genau dem Abstand platziert, wo ein gegenseitiges Stören untereinander (ein sogenanntes "Übersprechen") möglichst vermieden wird. -Je höher die Symbolrate pro Träger ist, umso größer muss der Abstand der Träger gewählt werden. Aus diesem Grunde wählt man oft eine kleinere Symbolrate für jeden einzelnen Träger, damit entsprechend mehr Träger Platz finden. Die übertragene Informationsmenge bleibt hierbei gleich, denn obwohl pro Träger weniger Information übertragen werden kann, können mehr Träger nebeneinander verwendet werden. +Je höher die Symbolrate pro Träger ist, umso größer muss der Abstand der Träger gewählt werden. Aus diesem Grunde wählt man oft eine kleinere Symbolrate für jeden einzelnen Träger, damit entsprechend mehr Träger Platz finden. Die übertragene Informationsmenge bleibt hierbei gleich, denn obwohl pro Träger weniger Information übertragen werden kann, können mehr Träger nebeneinander verwendet werden. Ein höherer Trägerabstand ist beispielsweise hilfreich, um das Signal toleranter gegen Frequenzfehler zu machen, sei es durch Frequenzabweichungen zwischen Sender und Empfänger, oder durch Dopplerverschiebung bei bewegten Sendern oder Empfängern. Ein Vorteil dieses Vorgehens liegt darin, dass schmalbandige Störungen nur einen oder wenige Träger stören. Im Zusammenspiel mit Fehlerkorrekturverfahren mit redundanter Datenübertragung, die wir später kennenlernen werden, ist es so möglich, trotz schmalbandiger Störungen eine fehlerfreie Übertragung zu erreichen. From 2f2e460abb07112ddbab714604a368108b670202 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Wed, 19 Aug 2026 13:24:57 +0200 Subject: [PATCH 29/33] Update contents/sections/dac_adc.md Co-authored-by: Christoph Fischer --- contents/sections/dac_adc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/dac_adc.md b/contents/sections/dac_adc.md index 2b743fc..a60905f 100644 --- a/contents/sections/dac_adc.md +++ b/contents/sections/dac_adc.md @@ -27,7 +27,7 @@ Die Abbildung [ref:a_adc_4bit] zeigt ein Sinussignal, das durch einen A/D-Umsetz Eine weitere wichtige Eigenschaft eines A/D-Umsetzers ist die zeitliche Genauigkeit der Abtastung. Die einzelnen Samples sollten möglichst exakt in den vorgesehenen zeitlichen Abständen aufgenommen werden. Dazu ist ein möglichst stabiler Abtasttaktgenerator erforderlich. -In der Praxis können die tatsächlichen Abtastzeitpunkte jedoch geringfügig von den idealen Zeitpunkten abweichen. Diese zeitlichen Schwankungen werden als *Jitter* bezeichnet. Jitter kann zu zusätzlichen Fehlern und damit zu zusätzlichem Rauschen im digitalisierten Signal führen. +In der Praxis können die tatsächlichen Abtastzeitpunkte jedoch geringfügig von den idealen Zeitpunkten abweichen. Diese zeitlichen Schwankungen werden als *Jitter* bezeichnet. Jitter kann zu zusätzlichen Fehlern und damit zu zusätzlichem Rauschen im digitalisierten Signal führen. Der gleiche Mechanismus tritt auf der Seite des D/A-Umsetzers auf. Dort führt Jitter zu zusätzlichem Rauschen im Analogsignal. [question:AF621] From 74a4acbfead964db63acfe74500c5dfca6f01e00 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Wed, 19 Aug 2026 13:27:41 +0200 Subject: [PATCH 30/33] Update contents/sections/digitale_filter.md Co-authored-by: Christoph Fischer --- contents/sections/digitale_filter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/digitale_filter.md b/contents/sections/digitale_filter.md index 354a0d8..386a080 100644 --- a/contents/sections/digitale_filter.md +++ b/contents/sections/digitale_filter.md @@ -2,7 +2,7 @@ Ein wesentlicher Vorteil der digitalen Verarbeitung von Signalen besteht darin, Hauptmerkmal der FIR-Filter ist, wie auch schon die Bezeichnung "finite" (zu Deutsch endlich) besagt, dass nur eine begrenzte Anzahl an Eingangssamples für die Berechnung eines Ausgangssamples herangezogen wird. IIR-Filter verwenden hingegen zusätzlich bereits berechnete Ausgangssamples, die auf den Eingang der Berechnung zurückgeführt werden. Durch diese Rückkopplung kann ein einzelnes Eingangssample theoretisch unbegrenzt lange Einfluss auf die folgenden Ausgangssamples haben. -Digitale Filter können sowohl in Software auf einem DSP oder in einem SDR als auch in Hardware auf einem FPGA implementiert werden. +Digitale Filter können sowohl in Software auf einem DSP als auch in programmierbarer Hardware auf einem FPGA implementiert werden. Darüber hinaus gibt es sogenannte Mixed Signal Frontends, die verschiedene Signalverarbeitungsfunktionen, wie beispielsweise Dezimationsfilter, zusammen mit AD/DA-Wandlern in einem Chip realisieren, um sie möglichst energieeffizient auszuführen und nachfolgende Signalverarbeitungsstufen zu entlasten. [question:AF631] From 51430e57caf64b352cd08379105256536ef105dd Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Wed, 19 Aug 2026 13:33:06 +0200 Subject: [PATCH 31/33] refactor: iq --- contents/sections/iq_verfahren.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/contents/sections/iq_verfahren.md b/contents/sections/iq_verfahren.md index 298a37c..f555a86 100644 --- a/contents/sections/iq_verfahren.md +++ b/contents/sections/iq_verfahren.md @@ -16,10 +16,11 @@ Lassen wir die Zeit weiterlaufen, dreht sich der zur Schwingung gehörende Zeige Anschaulich kann man sich vorstellen, dass zu Beginn jedes Symbolintervalls der zu übertragende Symbolwert einen Punkt in der I/Q-Ebene und damit die Amplitude und die anfängliche Phasenlage der Schwingung für dieses Symbol festlegt. Beim nächsten Symbol wird entsprechend auf den Signalzustand des nächsten Punktes übergegangen. -Für die Darstellung der Symbole interessiert uns also nicht die fortlaufende Drehung des Zeigers, sondern der für das jeweilige Symbol festgelegte Startzustand. Werden die möglichen Startzustände als Punkte in der I/Q-Ebene eingezeichnet, spricht man von einem *Konstellationsdiagramm* (vgl. Abbildung [ref:a_konstellationsdiagramm]). Jeder Punkt entspricht einem möglichen Symbol. Der Abstand eines Punktes vom Ursprung beschreibt die Amplitude des Signals. Sein Winkel gegenüber der I-Achse beschreibt die Phasenlage. +Für die Darstellung der Symbole interessiert uns also nicht die fortlaufende Drehung des Zeigers, sondern der für das jeweilige Symbol festgelegte Startzustand. Werden die möglichen Startzustände als Punkte in der I/Q-Ebene (vgl. [ref:a_iq_ebene]) eingezeichnet, spricht man von einem *Konstellationsdiagramm* (vgl. Abbildung [ref:a_konstellationsdiagramm]). Jeder Punkt entspricht einem möglichen Symbol. Der Abstand eines Punktes vom Ursprung beschreibt die Amplitude des Signals. Sein Winkel gegenüber der I-Achse beschreibt die Phasenlage. -[picture:1060:a_konstellationsdiagramm:Konstellationsdiagramm] +[picture:1060:a_iq_ebene:I/Q-Ebene mit einem Signalpunkt] +[picture:1059:a_konstellationsdiagramm:Konstellationsdiagramm mit 4 Konstellationspunkten] From c668bf15ac759ffb452bab74ae35117023b4ba3f Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Wed, 19 Aug 2026 13:35:19 +0200 Subject: [PATCH 32/33] refactor: dac_adc --- contents/sections/dac_adc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/sections/dac_adc.md b/contents/sections/dac_adc.md index a60905f..eb14082 100644 --- a/contents/sections/dac_adc.md +++ b/contents/sections/dac_adc.md @@ -1,4 +1,4 @@ -Dieses Kapitel zeigt, wie analoge Signale in digitale Werte und digitale Werte wieder in analoge Signale umgesetzt werden. Dazu werden *A/D-Umsetzer* (Analog-Digital-Umsetzer) und *D/A-Umsetzer* (Digital-Analog-Umsetzer) verwendet. Die Abbildung [ref:a_adc_dac] zeigt die Blockschaltbilder eines A/D- und eines D/A-Umsetzers. +Dieser Abschnitt zeigt, wie analoge Signale in digitale Werte und digitale Werte wieder in analoge Signale umgesetzt werden. Dazu werden *A/D-Umsetzer* (Analog-Digital-Umsetzer) und *D/A-Umsetzer* (Digital-Analog-Umsetzer) verwendet. Die Abbildung [ref:a_adc_dac] zeigt die Blockschaltbilder eines A/D- und eines D/A-Umsetzers. [picture:1130:a_adc_dac:A/D- und D/A-Umsetzer] From bb5b1114b1202fb6c52d87e332dbf2c7771924fb Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Wed, 19 Aug 2026 13:36:55 +0200 Subject: [PATCH 33/33] refactor: ofdm --- contents/sections/ofdm.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contents/sections/ofdm.md b/contents/sections/ofdm.md index 1ce3387..dd28438 100644 --- a/contents/sections/ofdm.md +++ b/contents/sections/ofdm.md @@ -4,7 +4,7 @@ Beim orthogonalen Frequenzmultiplexverfahren, (Orthogonal Frequency-Division Mul Je höher die Symbolrate pro Träger ist, umso größer muss der Abstand der Träger gewählt werden. Aus diesem Grunde wählt man oft eine kleinere Symbolrate für jeden einzelnen Träger, damit entsprechend mehr Träger Platz finden. Die übertragene Informationsmenge bleibt hierbei gleich, denn obwohl pro Träger weniger Information übertragen werden kann, können mehr Träger nebeneinander verwendet werden. Ein höherer Trägerabstand ist beispielsweise hilfreich, um das Signal toleranter gegen Frequenzfehler zu machen, sei es durch Frequenzabweichungen zwischen Sender und Empfänger, oder durch Dopplerverschiebung bei bewegten Sendern oder Empfängern. -Ein Vorteil dieses Vorgehens liegt darin, dass schmalbandige Störungen nur einen oder wenige Träger stören. Im Zusammenspiel mit Fehlerkorrekturverfahren mit redundanter Datenübertragung, die wir später kennenlernen werden, ist es so möglich, trotz schmalbandiger Störungen eine fehlerfreie Übertragung zu erreichen. +Ein Vorteil dieses Vorgehens liegt darin, dass schmalbandige Störungen nur einen oder wenige Träger stören. Im Zusammenspiel mit Fehlerkorrekturverfahren mit redundanter Datenübertragung, die wir einige Kapitel zuvor kennengelernt haben, ist es so möglich, trotz schmalbandiger Störungen eine fehlerfreie Übertragung zu erreichen. [picture:704:ofdm:Frequenzspektrum eines einfachen OFDM-Signals] @@ -12,6 +12,6 @@ Ein Vorteil dieses Vorgehens liegt darin, dass schmalbandige Störungen nur eine [question:AE421] -Ein weiterer Vorteil ergibt sich aus der geringeren Symbolrate jedes einzelnen Trägers. Durch die geringere Symbolrate ist die Dauer eines jeden Symbols länger. Im Falle zeitlicher Verschiebungen aufgrund von Mehrwegeausbreitung ist der Anteil der Überlagerung zwischen den Signalen (sogenannte Intersymbolinterferenz oder Symbolübersprechen) dann entsprechend geringer. Im Falle von Mehrwegeausbreitung ist OFDM daher besonders vorteilhaft. +Ein weiterer Vorteil ergibt sich aus der geringeren Symbolrate jedes einzelnen Trägers. Durch die geringere Symbolrate ist die Dauer eines jeden Symbols länger. Im Falle zeitlicher Verschiebungen aufgrund von Mehrwegeausbreitung ist der Anteil der Überlagerung zwischen den Signalen (sogenannte Intersymbolinterferenz oder Symbolübersprechen) dann entsprechend geringer. Auch kann es vorkommen, dass einzelne Frequenzen durch Mehrwegeausbreitung ausgelöscht oder zumindest stark gedämpft werden (man spricht von frequenzselektivem Fading). Dies kann mit den gleichen Mechanismen kompensiert werden wie die weiter oben erwähnten schmalbandigen Störungen. Im Falle von Mehrwegeausbreitung ist OFDM daher besonders vorteilhaft. [question:AE422] \ No newline at end of file