dissertation doktor–ingenieurs (dr.–ing.)

Werbung
Quantisierungseinflüsse in der digitalen Signalverarbeitung
DISSERTATION
zur Erlangung des akademischen Grades eines
DOKTOR–INGENIEURS
(DR.–ING.)
der Fakultät für Ingenieurwissenschaften
und Informatik der Universität Ulm
von
WOLFGANG MEINRAD SCHLECKER
AUS EHINGEN (DONAU)
1. Gutachter:
Prof. Dr.–Ing. H.–J. Pfleiderer
2. Gutachter:
Prof. Dr.–Ing. J. Lindner
Amtierender Dekan:
Prof. Dr. rer. nat. H. Partsch
Datum der Promotion: 26. Oktober 2006
Vorwort
Die vorliegende Arbeit entstand während meiner Tätigkeit als wissenschaftlicher Mitarbeiter in der Abteilung Allgemeine Elektrotechnik und Mikroelektronik an der Universität Ulm.
Mein besonderer Dank gilt Herrn Prof. Dr.-Ing. Hans–Jörg Pfleiderer, der diese Arbeit
betreut und mit großem Interesse begleitet und unterstützt hat. Ebenfalls bedanke
ich mich sehr bei Herrn Prof. Dr.-Ing. Jürgen Lindner, dem Leiter der Abteilung
Informationstechnik der Universität Ulm, für die Anfertigung des Zweitgutachtens.
Allen Mitarbeitern der Abteilung Allgemeine Elektrotechnik und Mikroelektronik danke ich für ihre Hilfsbereitschaft und gute Zusammenarbeit in sehr angenehmer Atmosphäre. Desweiteren möchte ich mich bei meiner Kollegin C. Beuschel bedanken. Sie
war stets ein wichtiger Diskussionspartner in fachlichen Fragen. Bei Frau E. Höfer bedanke ich mich für ihre Hilfsbereitschaft in bürokratischen und verwaltungstechnischen
Angelegenheiten. Dank gilt auch den zahlreichen Diplom–, Master– und Studienarbeitern für ihre engagierte Mitarbeit.
Für das gründliche Korrekturreferat bedanke ich mich bei Frau Gabriele Schlecker und
Herrn Oliver Pfänder. Dank auch meinen Eltern, die mir das Studium der Elektrotechnik ermöglicht haben, und meiner Verlobten Sonja für ihre Unterstützung.
Wolfgang Schlecker
Emerkingen, November 2006
Inhaltsverzeichnis
1 Einleitung
2 Grundlagen
2.1 Quantisierungsmodell . . . . . . . . . . . . . . . .
2.2 Statistische Parameter . . . . . . . . . . . . . . .
2.3 Quantisierungsmethoden . . . . . . . . . . . . . .
2.3.1 Abschneiden . . . . . . . . . . . . . . . . .
2.3.2 Runden . . . . . . . . . . . . . . . . . . .
2.3.3 Convergent Rounding . . . . . . . . . . . .
2.3.4 Betragsschneiden . . . . . . . . . . . . . .
2.4 Hardwarerealisierung der Quantisierungsmethoden
2.4.1 Abschneiden . . . . . . . . . . . . . . . . .
2.4.2 Runden . . . . . . . . . . . . . . . . . . .
2.4.3 Convergent Rounding . . . . . . . . . . . .
2.4.4 Betragsschneiden . . . . . . . . . . . . . .
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
3
6
6
8
12
12
13
14
14
15
17
3 Quantisierung bei der Multiplikation
19
3.1 Skalierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.1 Genauer Skalierungsfaktor . . . . . . . . . . . . . . . . . . . . . 19
3.1.2 Quantisierter Skalierungsfaktor . . . . . . . . . . . . . . . . . . 22
3.2 Multiplikation zweier Zufallszahlen . . . . . . . . . . . . . . . . . . . . 23
3.2.1 Allgemeine Betrachtung . . . . . . . . . . . . . . . . . . . . . . 23
3.2.2 Mittelwertfreie Eingangssignale . . . . . . . . . . . . . . . . . . 26
3.2.3 Mittelwertbehaftete Eingangssignale . . . . . . . . . . . . . . . 33
3.3 Abschätzung des maximal erreichbaren SNR . . . . . . . . . . . . . . . 34
3.3.1 Mittelwertfreie Eingangssignale . . . . . . . . . . . . . . . . . . 35
3.3.2 Mittelwertbehaftete Eingangssignale mit gleichem Mittelwert . . 37
3.3.3 Mittelwertbehaftete Eingangssignale mit ungleichem Vorzeichen 39
3.4 Komplexe Multiplikation . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.5 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4 Quantisierung in Systemen
49
4.1 Wahrscheinlichkeitsfunktion des Quantisierungsfehlers . . . . . . . . . . 49
4.1.1 Wahrscheinlichkeitsfunktion in LTI–Systemen . . . . . . . . . . 49
I
Inhaltsverzeichnis
4.1.2
4.2
4.3
4.4
4.5
4.6
Wahrscheinlichkeitsfunktion der LSBs bei normalverteilten Eingangssignalen . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Quantisierung in LTI–Systemen . . . . . . . . . . . . . . . . . . . . . .
Skalarprodukt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Skalarprodukt reeller Vektoren . . . . . . . . . . . . . . . . . . .
4.3.2 Skalarprodukt komplexer Vektoren . . . . . . . . . . . . . . . .
4.3.3 Kompensation des Fehlermittelwertes . . . . . . . . . . . . . . .
Nichtlineare Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1 Auswirkung des Fehlermittelwertes bei der Multiplikation zweier
Zufallszahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.2 Tangens hyperbolicus . . . . . . . . . . . . . . . . . . . . . . . .
4.4.3 Lineares Kleinsignalmodell (Linear Small Signal Modell) . . . .
4.4.4 Lineares Kleinsignalmodell am Beispiel des tanh . . . . . . . . .
Übergang von LTI–Systemen auf nichtlineare Systeme . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Multiuser–Detektion basierend auf einem rekurrenten neuronalen
5.1 TD/CDMA–Übertragungsverfahren . . . . . . . . . . . . . . . .
5.2 DS–CDMA–Übertragungsmodell . . . . . . . . . . . . . . . . .
5.3 Rekurrentes neuronales Netz als Multiuser–Detektor . . . . . . .
5.4 HW–Realisierung . . . . . . . . . . . . . . . . . . . . . . . . . .
6 Quantisierung bei der MUD basierend auf
6.1 Simulationsszenario . . . . . . . . . . .
6.2 Gesamtarchitektur und HW–Aufwand .
6.3 Quantisierung der Eingangssignale . . .
6.4 Quantisierungen innerhalb des Systems
6.5 Vergleich des HW–Aufwands . . . . . .
6.6 Zusammenfassung der Ergebnisse . . .
dem
. . .
. . .
. . .
. . .
. . .
. . .
RNN
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Netz
. . .
. . .
. . .
. . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
51
53
57
57
59
60
63
64
65
71
74
76
77
.
.
.
.
79
79
79
83
85
.
.
.
.
.
.
89
89
92
96
98
101
103
7 Zusammenfassung
105
A Anhang zu Kapitel 3
A.1 Skalierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2 Multiplikation zweier Zufallszahlen . . . . . . . . . . . . . . . .
A.2.1 Fehler nach der Multiplikation für Abschneiden . . . . .
A.2.2 Fehler nach der Multiplikation für Runden . . . . . . . .
A.3 Weitere SNR Diagramme zur Multiplikation zweier Zufallszahlen
107
107
109
109
111
112
B Anhang zu Kapitel 4
II
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
115
Inhaltsverzeichnis
C Abkürzungen und Symbole
119
C.1 Abkürzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
C.2 Operatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
C.3 Wichtige Formelzeichen . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
III
1 Einleitung
Immer mehr digitale Signalverarbeitungsalgorithmen werden auf Field Programmable
Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs) und Digital
Signal Processors (DSPs) implementiert. Dabei wächst die Komplexität der Algorithmen in gleichem Maße wie die Komplexität der Bausteine. FPGAs und ASICs haben
gegenüber DSPs den Vorteil, dass die Genauigkeit der internen Berechnung beliebig gewählt werden kann. Um Hardware (HW) Kapazität, Configurable Logic Blocks
(CLBs) beim FPGA oder Fläche beim ASIC zu sparen, sollten die Wortbreiten der
internen Berechnungen möglichst klein gewählt werden. Ein weiterer Vorteil kleinerer
Wortbreiten ist eine höhere maximale Taktfrequenz und ein geringerer Leistungsverbrauch.
Zunächst gibt es zwei grundsätzliche Möglichkeiten, die Wortbreiten der einzelnen Berechnungen zu wählen: alle internen Wortbreiten sind gleich, oder die Wortbreiten
der einzelnen Berechnungen sind unterschiedlich. Bei einem DSP werden z. B. alle internen Berechnungen mit der gleichen Wortbreite durchgeführt. FPGAs und ASICs
dagegen erlauben es, die einzelnen Berechnungen mit unterschiedlichen Wortbreiten
durchzuführen. Dabei ist zu beachten, dass durch geringere Rechengenauigkeit Quantisierungsfehler entstehen. Nun ist die Frage, wie man die Wortbreiten ermitteln kann,
bei denen der Quantisierungsfehler tolerabel ist. Es gibt die Möglichkeit, die Schaltung
so auszulegen, dass keine zusätzlichen Quantisierungsfehler entstehen. Dies eignet sich
allerdings nur für kleine Schaltungen, da die Wortbreiten von Berechnung zu Berechnung immer größer werden. Eine weitere Möglichkeit ist die Simulation der Gesamtschaltung mit verschiedenen internen Wortbreiten, um so die minimalen Wortbreiten
zu ermitteln, für die der Quantisierungsfehler tolerabel ist. Das Problem dabei ist zum
einen die Simulationszeit bei komplexen Schaltungen und die vielen Quantisierungsmöglichkeiten. Weiter stellt sich häufig die Frage, ob Runden oder Abschneiden zum
Quantisieren verwendet werden soll.
Die vorliegende Arbeit beschäftigt sich in Kapitel 2 mit den Grundlagen, die für das
Verständnis der weiteren Kapitel notwendig sind. Dazu gehört ein in der Literatur
gebräuchliches Quantisierungsmodell, das den Quantisierungsfehler beschreibt. Weiter werden die verwendeten statistischen Parameter eingeführt. Anschließend werden verschiedene Quantisierungsmethoden vorgestellt und die dazugehörigen HW–
Realisierungen genauer betrachtet.
In Kapitel 3 wird die Quantisierung bei der Multiplikation untersucht. Zunächst wird
die Quantisierung bei der Skalierung betrachtet. Danach wird die Quantisierung bei
der Multiplikation zweier Zufallszahlen genauer untersucht. Nach einer allgemeinen
1
1 Einleitung
Betrachtung werden die Auswirkungen bei mittelwertfreien und mittelwertbehafteten
Eingangssignalen getrennt dargestellt. Weiter werden Abschätzungen zum maximal
erreichbaren Signal–Rauschabstand (signal–to–noise–ratio, SNR) für verschiedene Szenarien gemacht. Anschließend werden zwei verschiedene Realisierungen der komplexen
Multiplikation dargestellt und bezüglich des HW–Aufwands und Quantisierungsfehlers
verglichen.
Der Quantisierungsfehler in verschiedenen Systemen wird in Kapitel 4 untersucht.
Dazu wird zunächst die Wahrscheinlichkeitsfunktion des Quantisierungsfehlers in linear zeitinvarianten (linear time invariant, LTI) Systemen und bei normalverteilten
Eingangssignalen betrachtet. Anschließend wird die Quantisierung in LTI–Systemen
untersucht und dabei auf die Unterschiede von Runden und Abschneiden eingegangen.
Danach wird die Quantisierung beim Skalarprodukt von reellen und komplexen Vektoren betrachtet. Darauf aufbauend werden verschiedene Möglichkeiten dargestellt,
wie beim Skalarprodukt der Fehlermittelwert, der beim Abschneiden der Produkte
entsteht, kompensiert werden kann. In diesem Kapitel wird weiter auf nichtlineare
Funktionen und auf eine Besonderheit im Vergleich zu linearen Funktionen eingegangen. Aufgrund dieser Besonderheit wird eine Empfehlung für den Übergang von LTI–
Systemen auf Systeme mit nichtlinearen Funktionen gegeben. Eine Methode zur Abschätzung der Quantisierungsfehler in nichtlinearen Systemen, die unter dem Namen
Linear Small Signal Modell bekannt ist, wird vorgestellt und anhand eines Beispiels
angewandt. Die Ergebnisse davon werden mit theoretischen Berechnungen verglichen.
In Kapitel 5 wird eine Multiuser–Detektion (MUD) basierend auf einem rekurrenten
neuronalen Netz (RNN) vorgestellt. Dazu wird zunächst auf die Time–Division/Code–
Division–Multiple–Access (TD/CDMA) Übertragung eingegangen. Danach wird ein
Direct–Sequence Code–Division–Multiple–Access (DS–CDMA) Übertragungsmodell
vorgestellt. Mit Hilfe dieses Übertragungsmodells wird die MUD basierend auf dem
RNN erläutert. Danach wird ein Ansatz für eine HW–Realisierung dieser MUD gezeigt.
Die Ergebnisse der theoretischen Untersuchungen zur Quantisierung werden in Kapitel
6 an einem Beispiel aus der Praxis, der MUD basierend auf dem RNN, angewandt.
Dazu wird zunächst das verwendete Simulationsszenario vorgestellt und optimiert.
Danach wird die Gesamtarchitektur einer HW–Umsetzung vorgestellt und der HW–
Aufwand in Abhängigkeit der Wortbreiten abgeschätzt. Anschließend werden zunächst
die Auswirkungen von Quantisierungen der Eingangssignale untersucht. Danach werden mit den Erkenntnissen aus Kapitel 3 und 4 weitere Quantisierungen eingefügt und
somit die Anwendbarkeit in einem komplexen System betrachtet. Abschließend wird
der HW–Aufwand für verschiedene Quantisierungsszenarien verglichen.
In Anhang A und B sind zusätzliche Diagramme zu Kapitel 3 und 4 dargestellt. Anhang A enthält weitere mathematische Berechnungen, deren Ergebnisse in Kapitel 3
verwendet werden. In Anhang C sind die Abkürzungen und mathematischen Symbole
aufgelistet, die in dieser Arbeit verwendet werden.
2
2 Grundlagen
2.1 Quantisierungsmodell
Für die digitale Signalverarbeitung müssen unendlich genaue (analoge) Signale durch
endlich genaue (quantisierte) Signale approximiert werden. Im Allgemeinen unterscheidet sich der quantisierte Wert x̂[k] vom wahren Wert x[k]. Der Unterschied zwischen
diesen beiden Werten ist der Quantisierungsfehler. Er ist definiert als
e[k] = x̂[k] − x[k].
Ein vereinfachtes Modell der Quantisierung wird in [23] eingeführt. In diesem Modell
wird Quantisierung durch Addition von Rauschen ersetzt (Abb. 2.1). Dieses Modell ist
exakt, wenn e[k] bekannt ist. Da diese Fehlerfolge in den meisten Fällen unbekannt ist,
greift man auf ein statistisches Modell zurück, um die Auswirkungen der Quantisierung
zu beschreiben. Für diese statistische Darstellung des Quantisierungsfehlers werden
folgende Annahmen getroffen [23]:
• Die Fehlerfolge e[k] ist die Abtastfolge eines stationären Zufallsprozesses.
• Die Fehlerfolge e[k] ist unkorreliert mit der Abtastfolge x[k].
• Die Zufallsvariable des Fehlerprozesses ist unkorreliert, d. h. der Fehlerprozess
lässt sich als weißes Rauschen beschreiben.
• Die Wahrscheinlichkeitsverteilung des Fehlerprozesses ist über dem Wertebereich
des Quantisierungsfehlers konstant.
Ändert sich das Signal x[k] schnell und unvorhersagbar, so sind obige Annahmen realistisch. Im heuristischen Sinne scheint dieses Modell gültig zu sein, wenn das Signal
von Abtastung zu Abtastung viele Quantisierungsstufen überstreicht. Im folgenden
Abschnitt werden statistische Werte eingeführt, mit deren Hilfe verschiedene Quantisierungsmethoden genauer betrachtet und verglichen werden können.
2.2 Statistische Parameter
Wichtige Größen zur Kennzeichnung von Zufallsprozessen sind der Mittelwert (Erwartungswert) μx , die Varianz σx2 und der quadratische Mittelwert μx2 . Die Wurzel aus
3
2 Grundlagen
e[k]
x[k]
x̂[k]
Q
x[k]
+
x̂[k]
Abbildung 2.1: Quantisierungsmodell
der Varianz wird auch Standardabweichung (Streuung) bezeichnet. Für die Berechnung dieser Größen werden diskrete und stetige Zufallsvariablen unterschieden.
Diskrete Zufallsvariablen
R,0
R,1
X sei eine diskrete Zufallsgröße mit der Menge der Realisierungen {x
, ...} und
∞ , x R,i
R,i
der dazugehörenden Wahrscheinlichkeiten P mit P(x ) ≥ 0 und i=0 P(x ) = 1.
Der Erwartungswert bzw. Mittelwert berechnet sich zu [1, 2, 11, 24]:
∞
μx =
xR,i · P(xR,i )
(2.1)
i=0
Die Varianz σx2 und der quadratische Mittelwert μx2 werden folgendermaßen berechnet
[1, 2, 11, 24]:
∞
2
(xR,i − μx )2 · P(xR,i )
(2.2)
σx =
i=0
μx2 =
∞
(xR,i )2 · P(xR,i )
(2.3)
i=0
Stetige Zufallsvariablen
X sei eine stetige Zufallsgröße
mit der Verteilungsdichte fx . fx ist über R integrierbar
∞
mit fx (x) ≥ 0 und −∞ fx (x)dx = 1. Der Mittelwert μx , die Varianz σx2 und der
quadratische Mittelwert μx2 werden in diesem Fall folgendermaßen berechnet [1, 2, 11,
24]:
∞
x · fx (x)dx
(2.4)
(x − μx )2 · fx (x)dx
(2.5)
μx =
σx2
−∞
∞
=
−∞
μ x2 =
4
∞
−∞
x2 · fx (x)dx
(2.6)
2.2 Statistische Parameter
Die folgenden Betrachtungen gelten für diskrete und stetige Zufallsvariablen. Die statistischen Parameter haben folgende Abhängigkeit:
μx2 = σx2 + μ2x
(2.7)
Wird eine Zufallszahl x mit einem konstanten Faktor c multipliziert (y = c · x), gilt
[2, 24]:
(2.8)
μy = c · μx
σy2 = c2 · σx2
(2.9)
μy2 = c2 · μx2
(2.10)
Werden i statistisch unabhängige Zufallszahlen x1 , . . . , xi addiert (y = x1 +x2 +. . .+xi ),
gilt [2, 24]:
(2.11)
μy = μ x1 + μ x2 + . . . + μ xi
σy2 = σx21 + σx22 + . . . + σx2i
(2.12)
Bei der Multiplikation von zwei statistisch unabhängigen Zufallsvariablen x = x1 · x2
multiplizieren sich die Mittelwerte [1]:
μ y = μ x1 · μ x2
(2.13)
μy2 = μx21 · μx22
(2.14)
Für die Addition und Multiplikation von Zufallszahlen kann der jeweils fehlende statistische Parameter über die Abhängigkeit in Gleichung (2.7) berechnet werden.
Der SNR ist in dieser Arbeit definiert als der Quotient aus der Varianz des Signals
und dem quadratischen Mittelwert des Rauschens.
SNR =
In [37] ist das SNR als das Verhältnis von
2
σsig
μe2
μsig2
μe2
(2.15)
definiert. Oft wird bei der Betrachtung
σ2
des Quantisierungsfehlers für die Definition des SNR auch das Verhältnis von σsig
2 vere
wendet, z. B. in [23]. In dieser Arbeit wird für das Quantisierungsrauschen bewusst
der quadratische Mittelwert verwendet, da dadurch der Gleichanteil im Fehler mit berücksichtigt wird. Der Gleichanteil im Fehler wirkt sich besonders in Systemen negativ
aus, in denen eine Entscheidung bezüglich von Grenzen durchgeführt wird, da sich das
Signal, durch den Gleichanteil, gegenüber den Grenzen verschiebt. Der Gleichanteil
im Fehler ist auch bei nichtlinearen Funktionen wichtig. Dies wird sich in Kapitel 4
zeigen.
In der vorliegenden Arbeit sind die verwendeten Signale mit Ausnahme von Abschnitt
3.2.3 und 3.3 mittelwertfrei. Deshalb wirkt sich die Verwendung der Varianz des Sig-
5
2 Grundlagen
nals anstatt des quadratischen Mittelwerts nur in diesen Abschnitten aus. Durch die
Verwendung der Varianz des Signals wird ausgeschlossen, dass das SNR in diesen
Abschnitten durch den Mittelwert des Signals beeinflusst wird. Anders ausgedrückt:
Durch die Verwendung der Varianz des Signals ist sichergestellt, dass das SNR durch
einen Mittelwert im Signal nicht größer wird.
Als Beispiel werden in Abb. 2.2 die statistischen Größen für gleichverteilte Zufallszah; Δ2 ] angegeben.
len im Intervall [−Δ; 0] und im Intervall [ −Δ
2
fe (e)
μe = − Δ2
1
Δ
σe2 =
e
−Δ
1
Δ2
12
μe = 0
fe (e)
1
Δ
μe2 = 13 Δ2
(a)
1
Δ2
12
e
− Δ2
0
σe2 = μe2 =
Δ
2
(b)
Abbildung 2.2: Gleichverteilter Quantisierungsfehler für (a) Abschneiden und (b) Runden
2.3 Quantisierungsmethoden
Im Weiteren werden verschiedene Quantisierungsmethoden bezüglich des Quantisierungsfehlers und des daraus resultierenden SNR untersucht. Dabei wird das in Abschnitt 2.1 vorgestellte Quantisierungsmodell mit den dazugehörigen Annahmen verwendet. Zu beachten ist, dass in den Diagrammen, in denen das SNR dargestellt wird,
das jeweilige SNR eines diskreten Wertes mit einem Symbol gekennzeichnet ist. Zur
Verdeutlichung der zusammengehörigen SNR–Werte sind die Symbole mit Linien verbunden.
2.3.1 Abschneiden
Beim Abschneiden wird dem zu quantisierenden Wert der nächst kleinere oder gleich
große quantisierte Wert zugewiesen. Abb. 2.3 zeigt die Ein–Ausgangskennlinie für
Quantisierung durch Abschneiden [25]. Die Punkte bedeuten, dass an den Unstetigkeitsstellen dieser Wert zugewiesen wird. Der Fehler durch Abschneiden liegt im
Intervall ] − Δ; 0]. Wird auf eine binäre Festpunktzahl mit n Nachkommastellen abgeschnitten, so ist die Quantisierungsstufe Δ = 2−n . Der Mittelwert μe , der quadratische
Mittelwert μe2 und die Varianz σe2 des Fehlers berechnen sich folgendermaßen:
6
2.3 Quantisierungsmethoden
x̂
3Δ
2Δ
Δ
−3Δ−2Δ −Δ
Δ
−Δ
2Δ 3Δ
x
−2Δ
−3Δ
Abbildung 2.3: Ein–Ausgangskennlinie für Abschneiden aus [25]
−Δ
1
= − 2−n
2
2
1 2 1 −2n
μe2 = Δ = 2
3
3
1
1
σe2 = Δ2 = 2−2n
12
12
μe =
(2.16)
(2.17)
(2.18)
Um die Auswirkung der Quantisierung durch Abschneiden mit Hilfe des SNR veranschaulichen zu können, wird von einem in dem Intervall ] − 1; 1[ gleichverteilten
Eingangssignal ausgegangen, das auf n binäre Nachkommastellen abgeschnitten wird.
Um das SNR zu berechnen, wird die Varianz σx2 des Signals benötigt:
σx2 =
1
1
· 22 =
12
3
Das SNR berechnet sich zu
SNR =
1
3
1
3
·
2−2n
= 22n
(2.19)
7
2 Grundlagen
SNR[dB] = 10 log(2) · 2n = 6, 02 · n.
(2.20)
Das SNR steigt also mit jedem Bit um ca. 6 dB an (Abb. 2.4).
In [6] wird ein Modell für die Quantisierung eines bereits quantisierten Signals eingeführt. In diesem Modell wird ein bereits mit n1 Nachkommastellen quantisiertes Signal
auf n2 Nachkommastellen quantisiert, dabei muss n2 ≤ n1 gelten. Der Quantisierungsfehler e ist dann ein ganzzahliges Vielfaches von 2−n1 , das in dem Intervall ] − 2−n2 ; 0]
liegt. Wird wie beim Quantisieren eines kontinuierlichen Wertes davon ausgegangen,
dass das Signal genügend komplex ist (überschreitet mehrere Quantisierungsstufen
zwischen zwei Abtastwerten), so sind alle Fehlerwerte gleich wahrscheinlich. Der Mittelwert μe berechnet sich zu:
μe =
−n2 −1
2n1
1
2n1 −n2
i=0
1
−i · 2−n1 = − (2−n2 − 2−n1 )
2
(2.21)
Der quadratische Mittelwert μe2 und die Varianz σe2 sind:
μe2 =
−n2 −1
2n1
1
2n1 −n2
σe2
=
i=0
1
2n1 −n2
1
1
1
(i · 2−n1 )2 = 2−2n2 + 2−2n1 − 2−n1 −n2
3
6
2
−n2 −1
2n1
i=0
(i · 2−n1 − μe )2 =
1 −2n2
− 2−2n1 )
(2
12
(2.22)
(2.23)
Um das SNR dieses Modells besser zu veranschaulichen, ist in Abb. 2.5 das SNR
für das Quantisieren eines bereits quantisierten Wertes aufgetragen über die Anzahl
der Nachkommastellen n1 vor dem Abschneiden. Die einzelnen Kurven repräsentieren
dabei die Anzahl der Nachkommastellen n2 nach dem Abschneiden. Wird die Differenz
n2 − n1 kleiner, so wird das SNR verglichen mit dem SNR in Abb. 2.4 größer. Für die
Differenz n1 − n2 = 1, das heißt es wird nur ein weiteres Bit abgeschnitten, ist das
SNR um ca. 4 dB besser als das SNR beim Abschneiden von vielen Bits (n1 n2 ).
2.3.2 Runden
Beim Runden wird dem zu quantisierenden Wert das nächstliegende ganzzahlige Vielfache der Quantisierungsstufe Δ zugewiesen. Ist der Abstand zum nächst kleineren
und nächst größeren Wert gleich, so wird wie beim kaufmännischen Runden der nächst
größere Wert zugewiesen. Abb. 2.6 zeigt die Ein–Ausgangskennlinie für Runden [25].
Die Punkte bedeuten, dass an den Unstetigkeitsstellen dieser Wert zugewiesen wird.
; Δ2 ]. Der Mittelwert beim
Der Quantisierungsfehler liegt beim Runden im Intervall ] −Δ
2
Runden von stetigen Signalen ist Null:
8
2.3 Quantisierungsmethoden
85
runden
abschneiden
80
SNR in dB
75
70
65
60
55
50
9
10
10.5
11
11.5
12
n Nachkommastellen nach Quant.
9.5
12.5
13
Abbildung 2.4: SNR für Quantisierung von wertekontinuierlichen Signalen im Intervall
] − 1; 1[ auf n Nachkommastellen
90
85
n2 = 13
SNR in dB
80
n2 = 12
75
n2 = 11
70
65
n2 = 10
60
n2 = 9
55
50
8
10
12
16
18
14
n1 (Nachkommastellen vor dem Abschneiden)
20
Abbildung 2.5: SNR für Abschneiden einer wertediskreten Zahl im Intervall ] − 1; 1[
mit n1 Nachkommastellen auf n2 Nachkommastellen
μe = 0
(2.24)
Die Varianz ist gleich wie beim Abschneiden, und der quadratische Mittelwert des
Fehlers ist gleich der Varianz, da der Mittelwert Null ist:
9
2 Grundlagen
1 2
1
Δ = 2−2n
12
12
σe2 = μe2 =
(2.25)
Um die Auswirkung von Runden mit dem SNR veranschaulichen zu können, wird
wie schon im Anschnitt 2.3.1 von einem in dem Intervall ] − 1; 1[ gleichverteilten
Eingangssignal ausgegangen, das auf n binäre Nachkommastellen gerundet wird. Der
quadratische Mittelwert μx2 des Eingangssignals ist wie im vorherigen Abschnitt:
μ x2 =
1
1
· 22 =
12
3
Das SNR berechnet sich zu
SNR =
1
12
1
3
· 2−n
= 4 · 2n
(2.26)
SNR[dB] = 10 · log(2) · 2 · n + 10 · log(4) = 6, 02 + 6, 02 · n.
(2.27)
Das SNR des Quantisierungsrauschens bei Runden hat ein ca. 6 dB größeres SNR als
beim Abschneiden (Abb. 2.4). Anders ausgedrückt: Man erhält für Runden das gleiche
SNR wie für Abschneiden mit einer Nachkommastelle mehr.
Wird nun ein bereits auf n1 Nachkommastellen quantisiertes Signal auf n2 Nachkommastellen gerundet, wobei n1 ≥ n2 gelten muss, so ist der Quantisierungsfehler
e ein ganzzahliges Vielfaches von 2−n1 in dem Intervall ] − 2−n2 −1 ; 2−n2 −1 ]. Mit der
Annahme, dass alle Fehler gleich wahrscheinlich sind [6], kann der Mittelwert folgendermaßen berechnet werden:
μe =
−n2 −1
2n1
1
2n1 −n2
i=0
1
−i · 2−n1 + 2−n2 −1 = 2−n1
2
(2.28)
Der quadratische Mittelwert μe2 und die Varianz σe2 sind:
μe2 =
σe2
=
−n2 −1
2n1
1
2n1 −n2
1
2n1 −n2
i=0
−n2 −1
2n1
i=0
(−i · 2−n1 + 2−n2 −1 )2 =
1 −2n2 1 −2n1
2
+ 2
12
6
(i · 2−n1 − 2−n2 −1 − μe )2 =
1 −2n2
− 2−2n1 )
(2
12
(2.29)
(2.30)
In Abb. 2.7 ist das SNR durch Runden und Abschneiden eines quantisierten Signals
aufgetragen über die Anzahl der Nachkommastellen n1 vor der Quantisierung. Im
Gegensatz zum Abschneiden wird beim Runden das SNR kleiner, wenn die Differenz
n1 − n2 gegen 1 geht. Für n1 − n2 = 1 ist das SNR um ca. 2 dB schlechter als für
n1 n2 . Vergleicht man das SNR für n1 − n2 = 1, so erkennt man, dass das SNR
10
2.3 Quantisierungsmethoden
x̂
3Δ
2Δ
−3Δ−2Δ −Δ
Δ
−Δ
x
2Δ 3Δ
−2Δ
−3Δ
Abbildung 2.6: Ein–Ausgangskennlinie für Runden aus [25]
in diesem Fall für Runden und Abschneiden gleich ist. Wird also nur ein Bit stärker
quantisiert, so ergeben Runden und Abschneiden dasselbe SNR.
90
Runden
Abschneiden
85
n2 = 13
80
n2 = 12
SNR/dB
75
n2 = 11
70
65
n2 = 10
60
n2 = 9
55
50
8
10
12
14
16
18
n1 (Nachkommastellen vor der Quantisierung)
20
Abbildung 2.7: SNR für Runden und Abschneiden einer wertediskreten Zahl mit n1
Nachkommastellen auf n2 Nachkommastellen
11
2 Grundlagen
2.3.3 Convergent Rounding
Wie in den beiden vorangegangenen Abschnitten gezeigt wurde, ist der Mittelwert des
Fehlers bei der Quantisierung einer bereits quantisierten Zahl sowohl beim Abschneiden als auch beim Runden ungleich Null. Ein mittelwertfreies Fehlersignal erhält man
beim Convergent Rounding. Bei diesem Quantisierungsverfahren wird so gerundet,
dass der Mittelwert des Fehlers Null ist. Man erreicht dies, indem man für den Fall,
dass der Eingangswert x genau zwischen zwei Quantisierungswerten liegt, mit gleicher
Wahrscheinlichkeit auf– oder abrundet [17]. Abb. 2.8 zeigt die Ein–Ausgangskennlinie
für Convergent Rounding. Die Halbkreise an den Unstetigkeitsstellen bedeuten, dass
mit gleicher Wahrscheinlichkeit auf– oder abgerundet wird. Der Quantisierungsfehler,
der beim Convergent Rounding entsteht, ist ein ganzzahliges Vielfaches von 2−n1 und
liegt in dem Intervall [−2−n2 −1 ; 2−n2 −1 ]. Alle Fehler haben eine Wahrscheinlichkeit von
1
, bis auf die Randwerte −2−n2 −1 und 2−n2 −1 . Sie haben eine Wahrscheinlichkeit
2n1 −n2
von 12 2n11−n2 . Der Mittelwert μe und der quadratische Mittelwert μe2 berechnen sich
zu:
μe =
1
2n1 −n2 −2
2n1 −n2
μe2 = σe2 =
(i · 2−n1
i=1
1
−n2 −2
2n1
2n1 −n2
i=1
1
− 2−n2 −1 ) + (2−n2 −1 − 2−n2 −1 ) = 0
2
1
(i · 2−n1 − 2−n2 −1 )2 + (2−2n2 −2 + 2−2n2 −2 ) (2.31)
2
1 −2n2 1 −2n1
+ 2
=
2
12
6
Der Mittelwert μe ist erwartungsgemäß Null und der quadratische Mittelwert μe2 ist
gleich dem quadratischen Mittelwert beim Runden.
2.3.4 Betragsschneiden
Eine weitere Quantisierungsart ist das Betragsschneiden (Magnitude Truncation). Bei
dieser Quantisierung wird, wie der Name schon sagt, der Betrag abgeschnitten. Dies
bedeutet: Einer Zahl wird jeweils das nächstliegende ganzzahlige Vielfache einer Quantisierungsstufe zugewiesen, das betragsmäßig kleiner oder gleich der Zahl ist. In Abb.
2.9 ist die Ein–Ausgangskennlinie für Betragsschneiden dargestellt [25]. Die Quantisierungsfehler liegen für Betragsschneiden im Intervall ] − 2−n2 ; 2−n2 [ und sind ein ganzzahliges Vielfaches von 2−n1 . Die einzelnen Fehlerwerte haben eine Wahrscheinlichkeit
von 12 2n11−n2 . Nur der Fehlerwert Null hat die doppelte Wahrscheinlichkeit 2n11−n2 . Der
Mittelwert, der quadratische Mittelwert und die Varianz werden folgendermaßen berechnet:
12
2.4 Hardwarerealisierung der Quantisierungsmethoden
x̂
3Δ
2Δ
−3Δ−2Δ −Δ
Δ
−Δ
2Δ 3Δ
x
−2Δ
−3Δ
Abbildung 2.8: Ein–Ausgangskennlinie für Convergent Rounding
⎛
μe =
μe2 =
σe2
=
1
2n1 −n2 +1
2
2n1 −n2 +1
−n2 −1
2n1
⎝
i=0
−n2 −1
2n1
i=0
i · 2−n1 +
0
⎞
i · 2−n1 ⎠ = 0
i=−2n1 −n2 −1
1
1
1
(i · 2−n1 )2 = 2−2n2 + 2−2n1 − 2−n1 −n2
3
6
2
Ein Vorteil des Betragsschneidens ist, dass die Energie eines Systems nicht erhöht
wird und deshalb die Quantisierung nicht zu einer Instabilität des Systems führt.
Ein weiterer Vorteil ist die einfache Realisierung dieser Quantisierungsart, wenn das
zu quantisierende Signal in Vorzeichen–Betragsdarstellung vorliegt. Dies ist z. B. bei
Fließkommazahlen häufig der Fall.
2.4 Hardwarerealisierung der Quantisierungsmethoden
Um die in Abschnitt 2.3 beschriebenen Quantisierungsmethoden bezüglich ihres HW–
Aufwands abschätzen zu können, werden im Folgenden die Realisierungen in HW
genauer betrachtet. Im Weiteren soll nur von Festkommazahlen (fixed–point numbers)
in Zweierkomplementdarstellung (K2–Darstellung) ausgegangen werden. Dabei wird
13
2 Grundlagen
x̂
3Δ
2Δ
Δ
−3Δ−2Δ −Δ
Δ
−Δ
2Δ 3Δ
x
−2Δ
−3Δ
Abbildung 2.9: Ein–Ausgangskennlinie für Betragsschneiden aus [25]
mit dem Tupel (v.n) eine Festkommazahl mit v Vorkomma– und n Nachkommastellen
bit bit bit
bit bit bit
definiert, z. B. (4.3) entspricht der Zahl xbit
3 x2 x1 x0 •x−1 x−2 x−3 oder allgemein (v.n)
bit
bit
bit
bit
entspricht der Zahl xv−1 . . . x0 • x−1 . . . x−n . Die einzelnen Stellen xbit
i haben dabei die
ist
negativ
gewichtet
(−2v−1 ). Daraus
Wertigkeit 2i . Die höchstwertigste Stelle xbit
v−1
ergibt sich ein maximaler bzw. minimaler Wert von −2v−1 bzw. 2v−1 − 2−n .
2.4.1 Abschneiden
Abschneiden ist für Zweierkomplementzahlen die einfachste Quantisierungsmethode.
Bei ihr müssen lediglich die weiter benötigten Signale weiter verwendet werden, der
Rest wird verworfen. Abb. 2.10 zeigt die Realisierung von Abschneiden einer (v.n1 )
Zahl auf eine (v.n2 ) Zahl, wobei n1 ≥ n2 sein muss. Für Abschneiden ist somit keine
zusätzliche HW notwendig.
2.4.2 Runden
Um eine (v.n1 )–Zahl auf eine (v.n2 )–Zahl (n1 ≥ n2 ) zu runden, sind folgende Schritte
notwendig. Zuerst wird zu der zu rundenden Zahl 2−n2 −1 addiert. Danach wird das
Ergebnis auf eine (v.n2 )–Zahl abgeschnitten:
14
2.4 Hardwarerealisierung der Quantisierungsmethoden
xbit
v−1
bit
xbit
−n2 +1 x−n2
x̂bit
v−1
bit
x̂bit
−n2 +1 x̂−n2
xbit
−n2 −1
xbit
−n1
Abbildung 2.10: HW–Realisierung von Abschneiden für K2–Zahlen
bit
xbit
v−1 · · · x0
+
0
0
0
bit
x̂bit
·
·
·
x̂
v−1
0
bit
x̂bit
·
·
·
x̂
v−1
0
bit
• xbit
xbit
· · · xbit
−1 · · · x−n2
−n2 −1
−n1
• 0
0
0
1
bit
bit
• x̂bit
−1 · · · x̂−n2 ||x̂−n2 −1
bit
• x̂bit
−1 · · · x̂−n2
In Abb. 2.11 ist die HW–Realisierung dargestellt. Für diese Realisierung sind v +n2 +1
Halbaddierer (HA) notwendig. Eine andere Möglichkeit, das Runden zu realisieren, ist
in Abb. 2.12 dargestellt. Bei dieser Umsetzung wird an der Stelle n2 das Bit von der
Stelle n2 + 1 addiert. Dadurch wird ein HA weniger benötigt als in der vorherigen
Umsetzung.
xbit
v−1
HA
x̂bit
v−1
bit
xbit
−n2 +1 x−n2
HA
HA
xbit
−n2 −1
HA
xbit
−n1
1
bit
x̂bit
−n2 +1 x̂−n2
Abbildung 2.11: HW–Realisierung von Runden für K2–Zahlen
2.4.3 Convergent Rounding
Ist der zu quantisierende Wert beim Convergent Rounding genau zwischen zwei Quantisierungsschwellen, soll mit gleicher Wahrscheinlichkeit auf– bzw. abgerundet werden
(Abschnitt 2.3.3). Für die HW–Realisierung muss aber genau festgelegt werden, unter welchen Bedingungen auf– bzw. abgerundet wird. Für diese Entscheidung wird
15
2 Grundlagen
xbit
v−1
HA
x̂bit
v−1
bit
xbit
−n2 +1 x−n2
HA
xbit
−n2 −1
xbit
−n1
HA
bit
x̂bit
−n2 +1 x̂−n2
Abbildung 2.12: Vereinfachte HW–Realisierung von Runden für K2–Zahlen
das Eingangsbit an der Stelle xbit
−n2 verwendet. Ist es 1, wird aufgerundet, ansonsten
abgerundet. Folgende Fälle veranschaulichen nochmals das Convergent Rounding:
bit
Wenn xbit
−n2 −1 . . . x−n1 = 10 . . . 0, dann
bit
bit
bit
bit
• xbit
xbit
v−1 · · · x0
−1 · · · x−n2 x−n2 −1 · · · x−n1
+
0
0
0 • 0
0 xbit
−n2
bit
bit
bit
x̂v−1 · · · x̂0 • x̂−1 · · · x̂bit
−n2
sonst
bit
bit
• xbit
xbit
xbit
xbit
v−1 · · · x0
−1 · · ·
−n2
−n2 −1 · · · x−n1
+
0
0
0 • 0
0 xbit
−n2 −1
bit
x̂bit
• x̂bit
x̂bit
v−1 · · · x̂0
−1 · · ·
−n2
Dies entspricht dem Verhalten bei Runden mit einem zusätzlichen Sonderfall. Abb. 2.13
zeigt eine Schaltung, die das Convergent Rounding realisiert. Für diese Realisierung
werden v + n2 HA, ein Multiplexer, ein Inverter und ein ODER–Gatter mit n1 − n2
Eingängen benötigt.
xbit
v−1
bit
xbit
−n2 +1 x−n2
bit
bit
xbit
−n2 −1 x−n2 −2 x−n1
0
HA
x̂bit
v−1
HA
HA
1
≥1
bit
x̂bit
−n2 +1 x̂−n2
Abbildung 2.13: HW–Realisierung von Convergent Rounding für K2–Zahlen
16
2.4 Hardwarerealisierung der Quantisierungsmethoden
2.4.4 Betragsschneiden
Eine HW–Umsetzung von Betragsschneiden in Fließkommadarstellung (floating–point)
oder Vorzeichen–Betragsdarstellung (sign magnitude) ist sehr einfach zu realisieren,
man muss lediglich die zu quantisierenden Stellen abschneiden. In der K2–Zahlendarstellung ist die Realisierung etwas aufwändiger. Folgende Fälle sind zu unterscheiden:
bit
Wenn x < 0 und xbit
−n2 −1 · · · x−n1 = 0 · · · 0, dann gilt
bit
bit
bit
bit
• xbit
xbit
v−1 · · · x0
−1 · · · x−n2 x−n2 −1 · · · x−n1
+
0
0
0 • 0
0
1
bit
bit
bit
bit
x̂v−1 · · · x̂0 • x̂−1 · · · x̂−n2
sonst
bit
bit
bit
bit
xbit
• xbit
v−1 · · · x0
−1 · · · x−n2 ||x−n2 −1 · · · x−n1
bit
bit
x̂bit
• x̂bit
v−1 · · · x̂0
−1 · · · x̂−n2
Abb. 2.14 zeigt die HW–Realisierung für Betragsschneiden von Zahlen in der K2–
Zahlendarstellung. Für die Realisierung des Betragsschneidens werden v + n2 HA, ein
UND–Gatter und ein ODER–Gatter mit n1 − n2 Eingängen benötigt.
xbit
v−1
HA
x̂bit
v−1
bit
xbit
−n2 +1 x−n2
HA
HA
bit
xbit
−n2 −1 x−n1
&
≥1
bit
x̂bit
−n2 +1 x̂−n2
Abbildung 2.14: HW–Realisierung von Betragsschneiden für K2–Zahlen
17
18
3 Quantisierung bei der Multiplikation
In diesem Kapitel wird die Auswirkung von Quantisierung bei der Multiplikation dargestellt. Zunächst wird die Skalierung betrachtet, wobei vor und nach der Skalierung
quantisiert wird. Weiter wird die Auswirkung von Quantisierung bei der Multiplikation zweier reeller Zufallszahlen untersucht und das maximal erreichbare SNR für
den Fall, dass beide Zufallszahlen quantisiert werden, abgeschätzt. Mit Hilfe der Erkenntnisse aus der reellen Multiplikation wird die Multiplikation komplexer Zahlen
betrachtet. Dabei werden zwei vom HW–Aufwand unterschiedliche Realisierungsmöglichkeiten verglichen.
Bei den Diagrammen zur Darstellung des SNR ist zu beachten, dass das jeweilige SNR
eines diskreten Wertes mit einem Symbol gekennzeichnet ist. Zur Verdeutlichung der
zusammengehörigen SNR–Werte sind die Symbole, wie schon im vorherigen Kapitel,
mit Linien verbunden.
3.1 Skalierung
Unter Skalierung versteht man die Multiplikation einer Zahl mit einem konstanten
Faktor. Sie wird zum Beispiel in Finite Impulse Response (FIR) und Infinite Impulse
Response (IIR) Filtern verwendet. In Abschnitt 3.1.1 wird die Skalierung unter der
Bedingung betrachtet, dass der Skalierungsfaktor mit einer endlichen Zahl an Stellen
genau dargestellt werden kann. In 3.1.2 wird dann die Auswirkung der Quantisierung
des Skalierungsfaktors genauer betrachtet. In beiden Abschnitten wird nur jeweils von
einer Skalierung ausgegangen. Untersuchungen zu den Auswirkungen der Quantisierung in digitalen Filtern sind in [8, 12, 22, 23, 38] zu finden.
3.1.1 Genauer Skalierungsfaktor
In diesem Abschnitt wird von folgendem Szenario ausgegangen: Das wertekontinuierliche Eingangssignal x[k] wird zunächst quantisiert, um eine Skalierung in HW realisieren zu können. Der quantisierte Wert x̂[k] wird anschließend mit der Konstanten c
skaliert, und danach erfolgt erneut eine Quantisierung (Abb. 3.1).
Wie schon in Kapitel 2 eingeführt, kann die Quantisierung durch Addition von weißem
Rauschen ersetzt werden. Um die folgenden Berechnungen zu vereinfachen, wird davon ausgegangen, dass der Betrag des Skalierungsfaktors c in dem Intervall ]0, 5; 1[
19
3 Quantisierung bei der Multiplikation
liegt. Dies bedeutet, dass das Vorzeichen und die erste Nachkommastelle unterschiedlich sind. Dadurch bleibt die Anzahl der Vorkommastellen gleich, und lediglich die
Anzahl der Nachkommastellen muss weiter betrachtet werden. Alle Koeffizienten ungleich Null und ungleich 2i mit i ∈ Z, die nicht in diesem Intervall liegen, können
durch Verschieben des Binärpunktes in das Intervall gebracht werden. Die nachfolgenden Betrachtungen bleiben unter der Berücksichtigung des verschobenen Binärpunktes
gültig. Weiter habe der Faktor c nc Nachkommastellen, wobei die letzte Nachkommastelle ungleich Null sein muss. Das Ausgangssignal ŷ ergibt sich zu
ŷ = (x + ex ) · c + ey = x · c + ex · c + ey = x · c + eges
(3.1)
eges = ex · c + ey .
(3.2)
mit
Für die Mittelwerte μeges , μe2ges und die Varianz σe2ges des Gesamtfehlers eges gilt:
μeges = c · μex + μey
σe2ges = c2 · σe2x + σe2y
(3.3)
(3.4)
μe2ges = σe2ges + μ2eges = c2 · σe2x + σe2y + (c · μex + μey )2
(3.5)
Mit den Gleichungen (2.24), (2.25) für μex , σe2x und (2.28), (2.30) für μey und σe2y erhält
man für Runden folgende Mittelwerte und die Varianz:
1 −nx −nc
2
2
c2 −2nx
=
+
2
12
c2 −2nx
=
+
2
12
μeges =
σe2ges
μe2ges
(3.6)
1 −2ny
1
− 2−2nx −2nc
2
12
12
1 −2ny 1 −2nx −2nc
+ 2
2
12
6
(3.7)
(3.8)
Wird bei den Quantisierungen abgeschnitten, so werden die Gleichungen (2.16), (2.17)
für μex , σe2x und (2.21), (2.23) für μey und σe2y verwendet. Damit erhält man für Abschneiden folgende Mittelwerte und die Varianz:
1 −nx −nc 1 −ny c −nx
− 2
− 2
2
2
2
2
2
c −2nx
1
1
=
+ 2−2ny − 2−2nx −2nc
2
12
12
12
c2 −2nx 1 −2ny 1 −2nx −2nc
=
+ 2
+ 2
2
3
3
6
1 −nx −ny −nc c −nx −ny c −2nx −nc
− 2
+ 2
− 2
2
2
2
μeges =
σe2ges
μe2ges
20
(3.9)
(3.10)
(3.11)
3.1 Skalierung
x[k]
x̂[k]
Q
(v.nx )
c
ŷ[k]
(v.nx + nc )
Q
(v.ny )
Abbildung 3.1: Ausgangsszenario für Quantisierung bei der Skalierung
In Abb. 3.2 ist das SNR des Signals x̂ vor der Skalierung und des Signals ŷ nach der
Skalierung aufgetragen über die Anzahl der Nachkommastellen ny . nx = nc = 12 und
für den Skalierungsfaktor wurden die Extremwerte c = 1 und c = 12 verwendet. Das
Eingangssignal x wird im Intervall ] − 1; 1[ gleichverteilt angenommen.
80
70
SNR in dB
60
50
x̂, Runden
x̂, Abschn.
ŷ, Runden, c = 1
ŷ, Runden, c = 0.5
ŷ, Abschn., c = 1
ŷ, Abschn., c = 0.5
40
30
20
6
8
10
12
14
16
18
20
ny Nachkommastellen nach Skalierung
22
24
Abbildung 3.2: SNR des quantisierten Eingangssignals x̂ und des Ausgangssignals ŷ
für nx = nc = 12
Auffallend ist, dass die Kurven des SNR am Ausgang in eine Sättigung gehen. Es
macht zum Beispiel ca. 6 dB Unterschied, ob man 11 oder 12 Nachkommastellen
verwendet, der Unterschied zwischen 17 und 24 Bit ist jedoch vernachlässigbar. Für
Runden erreicht die Kurve bei ny = 16 Bit bereits das Maximum. Wird abgeschnitten,
so erreicht man mit 17 Nachkommastellen annähernd das maximale SNR. Im Anhang
A.1 sind weitere Diagramme dargestellt, die auch für andere nx zeigen, dass für Runden
ny = nx + 4 oder für Abschneiden ny = nx + 5 Nachkommastellen annähernd das
maximale SNR erreicht wird. Anders ausgedrückt: Es ist nicht notwendig, nach der
Skalierung eines bereits quantisierten Wertes mit der vollen Genauigkeit (nx +nc Nachkommastellen) weiter zu rechnen. Wird nach der Skalierung auf ny = nx + 4 gerundet
21
3 Quantisierung bei der Multiplikation
oder auf ny = nx + 5 abgeschnitten, so ist der Fehler, der dadurch entsteht, im Mittel
vernachlässigbar gegenüber dem Fehler durch die Quantisierung von x.
3.1.2 Quantisierter Skalierungsfaktor
In diesem Abschnitt wird die Quantisierung des Skalierungsfaktors betrachtet. Hierbei
wird wie zuvor nur eine Skalierung betrachtet. Auswirkungen der Koeffizientenquantisierung in digitalen Filtern werden wie schon oben erwähnt in [8, 12, 22, 23, 38] genauer
untersucht. In unserem Fall werden zunächst nur die Auswirkungen der Quantisierung
von Skalierungsfaktor und Eingangssignal betrachtet. Auf eine weitere Quantisierung
des Skalierungsergebnisses wird verzichtet (Abb. 3.3). ĉ ist dabei der quantisierte Ska-
x[k]
x̂[k]
Q
[c]Q = ĉ
(v.nx )
ŷ[k]
(v.nx + nc )
Abbildung 3.3: Ausgangsszenario für die Skalierung mit einem quantisierten Skalierungsfaktor
lierungsfaktor c mit ĉ = c + ec . Das Ausgangssignal lässt sich folgendermaßen berechnen:
(3.12)
ŷ = (x + ex ) · (c + ec ) = x · c + ex · c + ec · x + ex · ec
Dabei ist ec konstant und hängt von dem Skalierungsfaktor c und der Anzahl der
Nachkommastellen nc des quantisierten Wertes ĉ ab. Der Betrag von c liege, wie
im vorherigen Abschnitt, im Intervall ]0, 5; 1[. Der Fehler ec liegt in dem Intervall
] − 12 2−nc ; 12 2−nc ]. Dabei geht man davon aus, dass der konstante Skalierungsfaktor c
auf nc Nachkommastellen gerundet wird. Ein Abschneiden des Skalierungsfaktors wird
nicht separat betrachtet, da diese Quantisierung nur einmal im Vorfeld einer Schaltungsimplementierung durchgeführt werden muss. Der Gesamtfehler eges ist also:
eges = ex · c + ec · x + ex · ec
(3.13)
Daraus ergeben sich folgende Mittelwerte und die Varianz:
μeges = c · μex + ec · μx + ec · μex
σe2ges = c2 · σe2x + e2c · σx2 + e2c · σe2x
(3.14)
(3.15)
μe2ges = σe2ges + μ2eges = c2 · σe2x + e2c · σx2 + e2c · σe2x +
(3.16)
(c · μex + ec · μx + ec · μex )2
22
3.2 Multiplikation zweier Zufallszahlen
80
75
70
SNR in dB
65
60
55
50
Runden, |ec | = 14 2−nc
Runden, |ec | = 12 2−nc
Abschneiden, |ec | = 14 2−nc
Abschneiden, |ec | = 12 2−nc
45
40
35
6
8
10
12
14
16
nc Nachkommastellen des Skalierungsfaktors
18
Abbildung 3.4: SNR des Ausgangssignals ŷ für nx = 12 über nc mit dem betragsmäßig
maximalem Fehler |ec | = 12 2−nc und dem mittlerem Fehler für |ec | =
1 −nc
2
4
Abb. 3.4 zeigt das SNR des Ausgangssignals ŷ aufgetragen über die Anzahl der Nachkommastellen nc des quantisierten Skalierungsfaktors. Dabei wird das im Intervall
] − 1; 1[ gleichverteilte Eingangssignal x auf nx = 12 Nachkommastellen gerundet und
abgeschnitten. Für ec wurde zum Einen der betragsmäßig maximale Fehler |ec | =
1 −nc
2
und zum Anderen der betragsmäßig mittlere Fehler |ec | = 14 2−nc angenommen.
2
Man kann erkennen, dass für den schlechtesten Fall (|ec | = 12 2−nc ) nc = nx + 2
Nachkommastellen ausreichen, um annähernd das maximale SNR zu erreichen. Dies
bedeutet, dass es ausreicht, den Skalierungsfaktor mit nc = nx + 2 Nachkommastellen
zu quantisieren. Der dabei entstehende Quantisierungsfehler ist verglichen mit dem
Quantisierungsfehler, der bei der Quantisierung von x entsteht, vernachlässigbar.
3.2 Multiplikation zweier Zufallszahlen
Nachdem im letzten Abschnitt die Multiplikation mit einer Konstanten untersucht
wurde, soll in diesem Abschnitt nun die Multiplikation zweier Veränderlicher genauer
betrachtet werden. Im Folgenden wird zunächst die Multiplikation allgemein analysiert
[3, 28, 33]. Danach werden die Sonderfälle für mittelwertfreie und mittelwertbehaftete
Eingangssignale untersucht.
3.2.1 Allgemeine Betrachtung
Es werden zwei wertekontinuierliche Eingangssignale x1 , x2 zuerst quantisiert, danach
miteinander multipliziert. Das Ergebnis wird wiederum quantisiert. In Abb. 3.5 sind
23
3 Quantisierung bei der Multiplikation
die drei Quantisierer jeweils durch die Addition eines Fehlersignals ersetzt worden. Es
gilt:
ŷ = (x1 + ex1 ) · (x2 + ex2 ) + ey
= x1 · x2 + x1 · ex2 + x2 · ex1 + ex1 · ex2 + ey
= y + exges + ey = y + eges
(3.17)
(3.18)
(3.19)
Im Weiteren seien die Signale x1 und x2 statistisch unabhängig voneinander. Die
ex1
x1
ey
+
(v.nx1 )
•
x2
+
(2v.nx1 + nx2 )
+
ŷ
(2v.ny )
(v.nx2 )
ex2
Abbildung 3.5: Multiplikation zweier quantisierter Signale mit zusätzlicher Quantisierung des Produkts
Quantisierungsfehler ex1 und ex2 werden ebenfalls als statistisch unabhängig angenommen. Die statistischen Parameter des Fehlers exges , der durch die Quantisierung
der Eingangssignale entsteht, können mit den Rechenregeln aus Abschnitt 2.2 folgendermaßen berechnet werden:
μexges = μx1 · μex2 + μx2 · μex1 + μex1 · μex2
σe2xges
= μx21 · μe2x2 −
μ2x1
μe2x1 · μe2x2 −
μe2xges =
σe2xges
+
·
μ2ex1
μ2exges
μ2ex2
·
+ μx22 · μe2x1 −
μ2ex2
(3.20)
μ2x2
·
μ2ex1
+
(3.21)
(3.22)
Der Fehler ey , der durch die Quantisierung nach der Multiplikation entsteht, ist wertediskret, da die beiden Eingangssignale der Multiplikation wertediskret sind. Die Wahrscheinlichkeit, dass die einzelnen Bits des Produkts 1 sind, ist jedoch nicht mehr 0,5
wie bei Signalen mit wertediskreter Gleichverteilung. Folgendes Beispiel soll dies ver-
24
3.2 Multiplikation zweier Zufallszahlen
anschaulichen. Es werden die K2–Zahlen a =
multipliziert p = a · b:
i
i
abit
i 2 und b =
bit i
i bi 2
miteinander
abit
abit
· b
...
abit
2
1
0
bit
bit
bit
bit
bit
bit
...
a 2 · b 0 a1 · b 0 a0 · b 0
bit
bit
bit
+ . . . abit
·
b
abit
abit
2
1
1 · b1
0 · b1
..
..
.
.
...
pbit
3
pbit
2
pbit
1
pbit
0
bit
Die Wahrscheinlichkeit P, dass das pbit
0 bzw. p1 des Produkts 1 sind, berechnet sich
folgendermaßen:
bit
bit
P{pbit
0 = 1} = P{a0 = 1} · P{b0 = 1} = 0, 5 · 0, 5 = 0, 25
bit
bit
bit
bit
P{pbit
1 = 1} = P{a1 = 1} · P{b0 = 1} + P{a0 = 1} · P{b1 = 1}
bit
bit
bit
−P{abit
0 = 1} · P{b0 = 1} · P{a1 = 1} · P{b1 = 1}
= 0, 4375
0.8
0.8
0.7
0.6
nx1
nx1
nx1
nx 1
+ nx 2
+ nx 2
+ nx 2
+ nx 2
− ny
− ny
− ny
− ny
=1
=2
=3
=4
0.7
0.6
P(ey )
P(ey )
+ nx 2
+ nx 2
+ nx 2
+ nx 2
− ny
− ny
− ny
− ny
=1
=2
=3
=4
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0
-8
nx 1
nx 1
nx 1
nx 1
-6
-4
-2
0
2
ey · 2nx1 +nx2
(a)
4
6
8
0
-15
-10
ey · 2nx1 +nx2
-5
0
(b)
Abbildung 3.6: Wahrscheinlichkeitsfunktion des Fehlers ey , der bei der Quantisierung
des Produkts entsteht, für (a) Runden, (b) Abschneiden
Abb. 3.6 zeigt die Wahrscheinlichkeitsfunktion des Fehlers ey für Runden und Abschneiden, dabei sind die Wahrscheinlichkeiten der diskreten Werte mit Symbolen gekennzeichnet. Zur Verdeutlichung der zusammengehörigen Wahrscheinlichkeiten sind
die Symbole mit Linien verbunden.
Die Wahrscheinlichkeitsfunktionen sind für verschiedene nx1 +nx2 −ny dargestellt. Dies
entspricht der Anzahl der Stellen, die quantisiert werden, (z. B. Anzahl der Stellen, die
abgeschnitten werden). Um die Ergebnisse besser vergleichen zu können, wird auf der
25
3 Quantisierung bei der Multiplikation
x–Achse ey · 2nx1 +nx2 aufgetragen. Diese Wahrscheinlichkeitsfunktion weicht sehr stark
von der diskreten Gleichverteilung ab. Im Anhang A.2 wird der Quantisierungsfehler
ey genauer untersucht und die folgenden statistischen Parameter analytisch berechnet.
Für Runden gilt:
1
(nx + nx2 − ny )2−nx1 −nx2
4 1
1 −2ny
1
=
− 2−2nx1 −2nx2
2
12
12
μey =
(3.23)
μe2y
(3.24)
Für Abschneiden gilt:
1 −nx1 −nx2 1
1
+ (nx1 + nx2 − ny )2−nx1 −nx2 − 2−ny
2
2
4
2
1 −nx1 −nx2 −ny 1
= − 2
− (nx1 + nx2 − ny )2−nx1 −nx2 −ny
4
4
1 −2ny
1 −2nx1 −2nx2
+ 2
− 2
3
12
μey =
μe2y
(3.25)
(3.26)
In Abb. 3.7 ist der Mittelwert und der quadratische Mittelwert des Quantisierungsfehlers für Runden und Abschneiden nach der Multiplikation und für die Quantisierung
gleichverteilter Zahlen dargestellt. Werden nur sehr wenige Stellen abgeschnitten, so
weichen die Mittelwerte bzw. quadratischen Mittelwerte stark voneinander ab. Werden jedoch viele Stellen abgeschnitten, so nähern sich die Mittelwerte bzw. die quadratischen Mittelwerte. Die quadratischen Mittelwerte für Runden sind bereits bei der
Quantisierung von 5 Stellen annähernd gleich. Wird abgeschnitten, so ist bei den quadratischen Mittelwerten bei der Quantisierung von 9 oder mehr Stellen kein signifikanter Unterschied erkennbar. Allgemein kann festgestellt werden, dass die quadratischen
Mittelwerte der Fehler bei der Quantisierung von gleichverteilten Zahlen größer sind
als bei der Quantisierung von Produkten. Dies erlaubt es, die Gleichungen (2.21) bis
(2.23) und (2.28) bis (2.30), die auf einen diskret gleichverteilten Quantisierungsfehler
basieren, für die Berechnung der statistischen Parameter bei der Quantisierung des
Produkts als eine einfache Worst–Case–Abschätzung zu verwenden.
3.2.2 Mittelwertfreie Eingangssignale
Nach der allgemeinen Betrachtung der Quantisierung bei der Multiplikation wird nun
das resultierende SNR für verschiedene Arten von mittelwertfreien Eingangssignalen
26
3.2 Multiplikation zweier Zufallszahlen
0.3
Mult., Runden
Gleichvert., Runden
Mult., Abschn.
Gleichvert., Abschn.
0.2
0.35
μe2 · 22n2 bzw. μe2y · 22ny
μe · 2n2 bzw. μey · 2ny
0.1
0.4
0
-0.1
-0.2
-0.3
0.3
0.25
0.2
0.15
0.1
-0.4
-0.5
0
Gleichvert., Abschn
Mult., Abschn
Gleichvert., Runden.
Mult., Runden.
0.05
2
4
n1 − n2 bzw. nx1
6
+ nx 2 − ny
8
10
(a)
0
1
2
3
4
5
6
7
n1 − n2 bzw. nx1 + nx2 − ny
8
9
10
(b)
Abbildung 3.7: Vergleich des (a) Mittelwerts und (b) quadratischen Mittelwerts des
Quantisierungsfehlers bei Gleichverteilung und Quantisierung eines
Produkts
untersucht. Durch die Mittelwertfreiheit vereinfachen sich die statistischen Parameter
des Ausgangssignals zu:
μeges = μex1 · μex2 + μey
(3.27)
σe2ges = μx21 · μe2x2 + μx22 · μe2x1 + μe2x1 · μe2x2 − μ2ex1 · μ2ex2 + σe2y
(3.28)
μe2ges = σe2ges + μ2eges
(3.29)
Gleiche Quantisierung der Eingangssignale
In diesem Abschnitt wird davon ausgegangen, dass die Eingangssignale x1 und x2
in dem Intervall ] − 1; 1[ gleichverteilt sind. Daraus folgt, dass die Eingangssignale
mittelwertfrei sind (μx1 = μx2 = 0). Weiter sollen die Eingangssignale auf dieselbe
Anzahl Nachkommastellen nx1 = nx2 = nx quantisiert werden. In Abb. 3.8 ist das
SNR des Ausgangssignals ŷ für verschiedene nx aufgetragen über die Anzahl der Nachkommastellen ny . In Abb. 3.8 (a) wurde sowohl am Eingang als auch am Ausgang
gerundet und in Abb. 3.8 (b) wurde am Eingang und am Ausgang abgeschnitten.
Vergleicht man das SNR von Runden und Abschneiden, so erkennt man, dass für
Abschneiden das SNR 6 dB schlechter ist. Weiter erkennt man, dass in beiden Diagrammen für ny < nx das SNR unabhängig von nx ist und um 6 dB pro Bit von ny
steigt. Ist ny ≥ nx + 2, so verbessert sich das SNR für ansteigendes ny nur geringfügig.
Der Grund hierfür ist, dass für ny < nx der Quantisierungsfehler ey dominiert und exges
27
90
90
80
80
70
70
60
60
SNR in dB
SNR in dB
3 Quantisierung bei der Multiplikation
50
40
nx
nx
nx
nx
nx
nx
30
20
10
0
5
10
15
ny
(a)
20
= 13
= 12
= 11
= 10
=9
=8
50
40
nx
nx
nx
nx
nx
nx
30
20
10
25
0
5
10
15
20
= 13
= 12
= 11
= 10
=9
=8
25
ny
(b)
Abbildung 3.8: SNR des Ausgangssignals ŷ für nx1 = nx2 = nx bei (a) Runden, (b)
Abschneiden
dagegen vernachlässigbar klein ist. Für ny ≥ nx + 2 dominiert der Quantisierungsfehler exges , der durch die Quantisierung der Eingangssignale entsteht. Dieses maximal
erreichbare SNR ist 3 dB schlechter als das SNR der Eingangssignale (Abb. 2.4). Im
Anhang A.3 sind weitere SNR–Diagramme (Abb. A.3, Abb. A.4) für dieses Szenario
dargestellt. Zum Teil wurden auch am Eingang und am Ausgang der Multiplikation
verschiedene Quantisierungsmethoden verwendet. Werden nun die Diagramme in Abb.
3.8 unter HW–Implementierungsaspekten betrachtet, können drei Fälle unterschieden
werden.
• Fall 1: Die Wortbreite nx am Eingang ist vorgegeben. Es soll das maximale SNR
erreicht werden.
• Fall 2: Die Ausgangswortbreite ny ist vorgegeben. Es soll das maximale SNR
erreicht werden.
• Fall 3: Es ist ein SNR vorgegeben, das mindestens erreicht werden soll.
Zu Fall 1:
Ist nx festgelegt, so reichen am Ausgang ny = nx + 2 Nachkommastellen aus, um
annähernd das maximale SNR zu erreichen. Dadurch kann zwar bei der Multiplikation
direkt keine HW eingespart werden, aber die folgende Berechnungseinheit muss nur für
nx + 2 Nachkommastellen und nicht für 2 · nx Nachkommastellen (ohne Quantisierung
des Produkts) ausgelegt werden.
28
3.2 Multiplikation zweier Zufallszahlen
Zu Fall 2:
Ist ny durch die nachgelagerte Berechnungseinheit festgelegt, so erreicht man durch
Runden der Eingangssignale auf nx = ny + 2 Nachkommastellen annähernd das maximale SNR. Ist nx > ny + 2, so verbessert sich das SNR dadurch nicht. Das bedeutet,
ein Multiplizierer, der für ny +2 Nachkommastellen für Multiplikand und Multiplikator
ausgelegt ist, reicht völlig aus.
Zu Fall 3:
Dieser Fall wird anhand eines Beispiels verdeutlicht. Wird z. B. ein SNR von mindestens 50 dB gefordert, so ergeben sich aus den Diagrammen in Abb. 3.8 und A.3
folgende Möglichkeiten:
1. Eingang auf nx = 8 runden, Ausgang auf ny = 10 runden (Abb. 3.8 (a), SNR =
50, 8 dB),
2. Eingang auf nx = 9 runden, Ausgang auf ny = 9 runden (Abb. 3.8 (a), SNR =
53, 2 dB ),
3. Eingang auf nx = 9 abschneiden, Ausgang auf ny = 11 abschneiden (Abb. 3.8
(b), SNR = 50, 8 dB ),
4. Eingang auf nx = 10 abschneiden, Ausgang auf ny = 10 abschneiden (Abb. 3.8
(b), SNR = 53, 2 dB),
5. Eingang auf nx = 9 abschneiden, Ausgang auf ny = 10 runden (Abb. A.3 (a),
SNR = 50, 8 dB),
6. Eingang auf nx = 8 runden, Ausgang auf ny = 11 abschneiden (Abb. A.3 (b),
SNR = 50, 8 dB ).
Weitere Möglichkeiten werden nicht aufgeführt, da sie in der folgenden Betrachtung
schlechter sind. Um die aufgeführten Möglichkeiten bezüglich des HW–Aufwands abschätzen zu können, vergleicht man die Anzahl der Volladdierer (VA), die für das
Runden und die Multiplikation benötigt werden. Dabei benötigt Runden auf n Nachkommastellen mit einer Vorkommastelle n + 1 HA. Wenn der Aufwand eines VA als
VA. Eine Multiplikation
zwei HA angenommen wird, benötigt man für Runden n+1
2
zweier Zahlen mit n Nachkommastellen und einer Vorkommastelle wird mit n · (n + 2)
VA genähert [25, 26]. Die Partialproduktbildung wird zur besseren Veranschaulichung
vernachlässigt. Für die obigen Möglichkeiten ergibt sich dann jeweils die folgende Anzahl an VA, die benötigt werden.
1.
2·9
2
2.
2·10
2
+ 8 · 10 +
11
2
+ 9 · 11 +
10
2
= 94, 5
= 114
29
3 Quantisierung bei der Multiplikation
3. 9 · 11 = 99
4. 10 · 12 = 120
5. 9 · 11 +
6.
2·9
2
11
2
= 104, 5
+ 8 · 10 = 89
Daraus ergibt sich, dass die 6. Möglichkeit am wenigsten HW benötigt. Dies gilt allerdings nur für die Bedingung, dass 50 dB für das SNR gefordert ist, und kann nicht
als generelle Lösung gesehen werden. Der Vergleich muss für jedes geforderte minimale SNR neu angestellt werden. Auch muss das HW–Bewertungskriterium, welches in
obigem Beispiel sehr vereinfacht wurde (Anzahl VA), an die Zielhardware angepasst
werden.
Diese drei Fälle sollen veranschaulichen, wie die Diagramme in Abb. 3.8, Abb. A.3
und Abb. A.4 bei der HW–Implementierung helfen können, die richtige Wortbreite
zu wählen. Dabei sind die Erkenntnisse aus Fall 1 und 2 unter Beachtung der getroffenen Annahmen auch direkt auf Multiplikationen anwendbar, bei denen mehr oder
nur Vorkommastellen verwendet werden. Im Fall 3 muss ein veränderter Wertebereich
entsprechend berücksichtigt werden.
Unterschiedliche Quantisierung der Eingangssignale
Nun soll die Anzahl der Nachkommastellen nx1 , nx2 der beiden Eingangssignale unabhängig voneinander sein. Die Eingangssignale sollen dabei wie im vorhergehenden
Absatz in dem Intervall ] − 1; 1[ gleichverteilt sein. In Abb. 3.9 ist das SNR des Ausgangssignals ŷ aufgetragen über die Anzahl der Nachkommastellen ny des quantisierten
Produkts. Dabei ist nx1 = 12 und nx2 wurde von 9 bis 14 variiert. Weitere Diagramme
sind im Anhang A zu finden. Das SNR geht wie bei nx1 = nx2 in eine Sättigung.
Allerdings wird hier maximal das SNR des Eingangssignals mit weniger Nachkommastellen erreicht. Z. B. werden für nx2 = 9 für Runden bzw. Abschneiden 54 bzw. 60 dB
erreicht. Dies entspricht dem SNR des Eingangssignals x2 mit nx2 = 9 (vgl. Abb. 2.4).
Oder für nx2 = 14 werden 78 bzw. 72 dB erreicht, und dies entspricht dem SNR des
Eingangssignals x1 mit nx1 = 12.
Nun werden wie im vorherigen Absatz drei Fälle betrachtet:
• Fall 1: Die Wortbreiten nx1 , nx2 am Eingang sind vorgegeben. Es soll das maximale SNR erreicht werden.
• Fall 2: Die Ausgangswortbreite ny und eine Eingangswortbreite nx2 ist vorgegeben. Es soll das maximale SNR erreicht werden.
• Fall 3: Es ist ein SNR vorgegeben, das mindestens erreicht werden soll, und nx2
ist vorgegeben.
30
90
90
80
80
70
70
60
60
SNR in dB
SNR in dB
3.2 Multiplikation zweier Zufallszahlen
50
40
nx 1
nx 1
nx 1
nx 1
nx 1
nx 1
30
20
10
0
5
15
10
20
= 14
= 13
= 12
= 11
= 10
=9
50
40
nx 1
nx 1
nx 1
nx 1
nx 1
nx 1
30
20
10
25
0
ny
5
15
10
20
= 14
= 13
= 12
= 11
= 10
=9
25
ny
(a)
(b)
Abbildung 3.9: SNR des Ausgangssignals ŷ für nx1 = 12 und verschiedene nx2 bei (a)
Runden, (b) Abschneiden
Zu Fall 1:
Sind nx1 und nx2 vorgegeben, so reichen für ny zwei Nachkommastellen mehr als das
Minimum von nx1 und nx2 :
ny = 2 + min(nx1 , nx2 )
Wie schon im obigen Absatz Fall 1 wird dadurch bei der Multiplikation keine HW
eingespart, aber in den nachfolgenden Berechnungen.
Zu Fall 2:
Ist ny durch die nachfolgende Berechnung und ein Eingangswert nx2 festgelegt, so
genügt es, für nx1 zwei Stellen mehr als das Maximum von ny und nx2 zu verwenden:
nx1 = 2 + max(ny , nx2 )
Werden für nx1 mehr Nachkommastellen verwendet, so verbessert sich das SNR trotz
des größeren HW–Aufwands nicht.
Zu Fall 3:
Da dieser Fall sehr von dem geforderten SNR abhängt, wird die Vorgehensweise anhand
eines konkreten Beispiels veranschaulicht. Es sei ein SNR von 70 dB gefordert und
nx2 = 12. Folgende Möglichkeiten erfüllen diese Forderung:
1. Eingang auf nx1 = 13 abschneiden, Ausgang auf ny = 14 abschneiden (Abb. 3.9
(b), SNR = 70, 7 dB),
31
3 Quantisierung bei der Multiplikation
2. Eingang auf nx1 = 11 runden, Ausgang auf ny = 13 runden (Abb. 3.9 (a),
SNR = 70, 7 dB),
3. Eingang auf nx1 = 12 runden, Ausgang auf ny = 12 runden (Abb. 3.9 (a),
SNR = 71, 2 dB),
4. Eingang auf nx1 = 11 runden, Ausgang auf ny = 14 abschneiden (Abb. 3.9 (b),
SNR = 70, 7 dB),
5. Eingang auf nx1 = 13 abschneiden, Ausgang auf ny = 13 runden (Abb. A.5 (a),
SNR = 70, 7 dB).
Dabei wird davon ausgegangen, dass für beide Eingangssignale die gleiche Quantisierungsart (Runden bzw. Abschneiden) verwendet wird. Ein weiterer Freiheitsgrad
wäre, unterschiedliche Quantisierungsarten für die Eingangssignale zuzulassen. Diese
weiteren Möglichkeiten werden hier jedoch nicht aufgeführt. Wie im vorherigen Absatz vergleicht man die Anzahl der VA, um die aufgeführten Möglichkeiten bezüglich
des HW–Aufwands abschätzen zu können. Für Runden auf n Nachkommastellen mit
VA benötigt. Den HW–Aufwand
einer Vorkommastelle werden n + 1 HA bzw. n+1
2
für eine Multiplikation zweier Zahlen mit nx1 und nx2 Nachkommastellen und einer
Vorkommastelle nähert man mit (nx1 + 2) · nx2 bzw. nx1 · (nx2 + 2) VA. Die Partialproduktbildung wird zur besseren Veranschaulichung auch hier vernachlässigt. Für
die oben aufgeführten Möglichkeiten ergeben sich dann die folgenden Werte für die
Zahlen der VA, die benötigt werden.
1. 12 · 15 = 180
2.
13+12
2
+ 14 · 11 +
14
2
= 173, 5
3.
13+13
2
+ 14 · 12 +
13
2
= 187, 5
4.
13+12
2
+ 14 · 11 = 166, 5
5. 12 · 15 +
14
2
= 187
Daraus ergibt sich, dass die 4. Möglichkeit am wenigsten HW benötigt. Auch hier
gilt dies nur für die eine Bedingung (SNR ≥ 70 dB). Das HW–Bewertungskriterium,
welches in obigem Beispiel sehr vereinfacht wurde (Anzahl VA), muss gegebenenfalls
an die Zielhardware angepasst werden.
Die Erkenntnisse aus Fall 1 und Fall 2 können bei Beachtung der getroffenen Annahmen generell angewendet werden. Für Fall 3 hängt die optimierte Lösung von dem
jeweils geforderten SNR ab.
32
3.2 Multiplikation zweier Zufallszahlen
3.2.3 Mittelwertbehaftete Eingangssignale
Nachdem in den letzten beiden Abschnitten mittelwertfreie Eingangssignale betrachtet
wurden, werden nun mittelwertbehaftete Eingangssignale untersucht. Dazu werden
die in Tabelle 3.1 dargestellten Sonderfälle unterschieden, in denen die Beträge der
Mittelwerte μx1 und μx2 gleich sind. In Fall 1 und Fall 2 haben die Mittelwerte μx1 ,
μx2 entgegengesetzte Vorzeichen, in den anderen Fällen haben μx1 und μx2 gleiches
Vorzeichen, in Fall 3 sind sie positiv und in Fall 4 negativ. Da sich der Mittelwert am
Fall 1
μx1 = −μx2 = μx > 0
μx21 = μx22 = μx2
Fall 3
μ x1 = μ x2 = μ x < 0
μx21 = μx22 = μx2
Fall 2
μx1 = −μx2 = −μx < 0
μx21 = μx22 = μx2
Fall 4
μx1 = μx2 = −μx < 0
μx21 = μx22 = μx2
Tabelle 3.1: Sonderfälle für mittelwertbehaftete Eingangssignale
Eingang nicht auf die Quantisierung nach der Multiplikation auswirkt, betrachtet man
zunächst den Fehler exges mit den Gleichungen (3.20) bis (3.22). Da die Mittelwerte μx1 ,
μx2 in allen Termen direkt mit den Mittelwerten μe1 , μe2 multipliziert werden, ändert
sich der Fehlermittelwert μeges für Runden des Eingangssignals (μe1 = μe2 = 0) nicht.
In Abb. 3.10 wird das SNR des Ausgangssignals ŷ für Abschneiden der Eingangssignale
und die 4 Spezialfälle genauer betrachtet. Dabei wird für das SNR in Abb. 3.10 (a)
nach der Multiplikation gerundet und für das SNR in Abb. 3.10 (b) abgeschnitten. In
die Diagramme ist zusätzlich das SNR des Eingangssignals x1 bzw. x2 eingezeichnet.
Das auf den ersten Blick Verblüffende ist hierbei, dass das maximale SNR für Fall 1 und
Fall 2 das SNR des Eingangssignals übersteigt. Der Grund hierfür wird im Folgenden
aufgezeigt. Aus Gleichung (3.18) folgt:
eges = x1 · ex2 + x2 · ex1 + ex1 · ex2 + ey
μeges = μx1 · μex2 + μx2 · μex1 + μex1 · μex2 + μey
(3.30)
Da für Fall 1 und Fall 2 μx1 , μx2 unterschiedliche und μe1 , μe2 gleiche Vorzeichen
haben, subtrahieren sich die ersten beiden Produkte, die betragsmäßig gleich sind,
und der Mittelwert entspricht annähernd dem Mittelwert beim Runden der Eingänge.
Anders ausgedrückt haben die Fehler ex1 und ex2 einen Mittelwert. Da der Mittelwert
quadratisch in das SNR eingeht, verschlechtert es sich durch den Mittelwert um ca. 6
dB. Der Fehler eges nach der Multiplikation hat nur noch einen sehr kleinen Mittelwert,
und dadurch ist das SNR am Ausgang besser als das SNR am Eingang.
33
80
80
70
70
60
60
50
50
SNR in dB
SNR in dB
3 Quantisierung bei der Multiplikation
40
30
30
20
0
20
vor Mult.
Fall 1
Fall 2
Fall 3
Fall 4
10
0
40
5
15
10
20
vor Mult.
Fall 1
Fall 2
Fall 3
Fall 4
10
25
0
0
ny
5
15
10
20
25
ny
(a)
(b)
7
Abbildung 3.10: SNR des Ausgangssignals ŷ für nx1 = nx2 = 12, μx = 34 und μx2 = 12
mit Abschneiden der Eingangssignale und (a) Runden des Produkts,
(b) Abschneiden des Produkts
Für den Fall 4 fällt in Abb. 3.10 (a) auf, dass das SNR bis ny = nx = 12 ansteigt,
da ein Maximum hat und für größere ny wieder abfällt. Dies kann auch mit Gleichung
(3.30) erklärt werden. Die ersten beiden Produkte haben positives Vorzeichen und
werden durch μey mit negativem Vorzeichen teils aufgehoben. Wird ny größer, so wird
μey betragsmäßig kleiner und kann somit die ersten beiden Terme nur noch weniger
ausgleichen. Da μeges quadratisch in μe2ges eingeht, verbessert sich das SNR nur in diesem
Bereich.
3.3 Abschätzung des maximal erreichbaren SNR
In diesem Abschnitt wird das maximal erreichbare SNR betrachtet, das am Ausgang
der Multiplikation im Vergleich mit dem SNR am Eingang erreicht werden kann. Dazu
wird davon ausgegangen, dass nach der Multiplikation keine weitere Quantisierung
durchgeführt wird (ey = 0). Weiter wird in Gleichung (3.18) ex1 · ex2 vernachlässigt.
Dies bedeutet, dass der Fehler nach der Multiplikation mit
eges = x1 ex2 + x2 ex1
34
(3.31)
3.3 Abschätzung des maximal erreichbaren SNR
genähert wird. Die beiden Eingangssignale x1 , x2 haben den betragsmäßig gleichen
Mittelwert, die gleiche Varianz und seien auf die gleiche Anzahl Nachkommastellen
quantisiert:
n
μx
σx2
μx2
=
=
=
=
n x 1 = nx 2
|μx1 | = |μx2 |
σx21 = σx22
μx21 = μx22
(3.32)
(3.33)
(3.34)
(3.35)
3.3.1 Mittelwertfreie Eingangssignale
Zunächst werden mittelwertfreie Eingangssignale betrachtet. Die statistischen Parameter der Eingangssignale seien:
μx = 0
μx2 = σx2 =
1 2
Λ
12
Diese Parameter hat z. B. ein Signal, das im Intervall ] − Λ2 ; Λ2 [ gleichverteilt ist. Das
Produkt hat dann folgende statistische Parameter:
μy = μ2x = 0
μy2 = σy2 = μ2x2 =
1 4
Λ
144
Runden
Für Runden sind die statistischen Parameter des Quantisierungsfehlers am Eingang:
μex = 0
μe2x = σe2x =
1 −2n
2
12
Damit ergibt sich mit Gleichung (3.31) für die statistischen Parameter des Quantisierungsfehlers nach der Multiplikation:
μeges = 2μx μex = 0
μe2ges = σe2ges = 2μx2 μe2x
(3.36)
2 2 −2n
Λ2
=
144
(3.37)
35
3 Quantisierung bei der Multiplikation
Das SNRx bzw. SNRy vor bzw. nach der Multiplikation beträgt:
σx2
= Λ2 22n
μe2x
σy2
1
=
= Λ2 22n
μe2ges
2
SNRx =
(3.38)
SNRy
(3.39)
Daraus folgt, dass das maximale SNR nach der Multiplikation ca. 3 dB schlechter als
das SNR am Eingang ist (siehe auch Abb. 2.4 und Abb. 3.8 (a)).
Abschneiden
Für Abschneiden können die gleichen Berechnungen durchgeführt werden:
1
μex = − 2−n
2
1
σe2x =
2−2n
12
1 −2n
μe2x =
2
3
Damit ergibt sich mit Gleichung (3.31) für die statistischen Parameter des Quantisierungsfehlers nach der Multiplikation:
μeges = 2μx μex = 0
μe2ges = σe2ges = 2μx2 μe2x =
2 2 −2n
Λ2
36
Das SNRx bzw. SNRy vor bzw. nach der Multiplikation beträgt:
σx2
1
= Λ2 22n
μe2x
4
2
σy
1
=
= Λ2 22n
μe2ges
8
SNRx =
(3.40)
SNRy
(3.41)
Daraus folgt, dass das maximale SNR nach der Multiplikation, wie schon beim Runden,
ca. 3 dB schlechter als das SNR am Eingang ist (siehe auch Abb. 2.4 und Abb. 3.8
(b)).
Allgemein kann festgestellt werden, dass das SNR des Ausgangssignals einer Multiplikation von mittelwertfreien Eingangssignalen ca. 3 dB schlechter ist als das SNR der
Eingangssignale.
36
3.3 Abschätzung des maximal erreichbaren SNR
3.3.2 Mittelwertbehaftete Eingangssignale mit gleichem
Mittelwert
Nun werden dieselben Überlegungen für mittelwertbehaftete Eingangssignale angestellt. Dabei wird von einem Eingangssignal ausgegangen, das folgende statistische
Parameter hat:
μx = Γ
1 2
Λ
σx2 =
12
1 2
μ x2 =
Λ + Γ2
12
Ein Signal, das in dem Intervall [− Λ2 + Γ; Λ2 + Γ] gleichverteilt ist, hat z. B. diese
statistische Parameter.
Für das Produkt ergeben sich dann folgende Parameter:
μy = μ2x = Γ2
1 2
Λ + Γ2 )2
12
1 4 1 2 2
= μy2 − μ2y =
Λ + ΛΓ
144
6
μy2 = μ2x2 = (
σy2
Runden
Für Runden sind die statistischen Parameter des Quantisierungsfehlers am Eingang:
μex = 0
μe2x = σe2x =
1 −2n
2
12
Damit ergibt sich mit Gleichung (3.31):
μeges = 2μx μex = 0
σe2ges
μe2ges
2
1 2 1 2 −2n
Λ + Γ 2
72
6
= 2(μx2 μe2x − (μx μex ) ) =
1 2 1 2 −2n
2
= σeges =
Λ + Γ 2
72
6
37
3 Quantisierung bei der Multiplikation
Das SNR der Eingangssignale und des Ausgangssignals ist:
σx2
= Λ2 22n
μe2x
σy2
(Λ2 + 24Γ2 )Λ2 22n
=
=
μe2ges
(Λ2 + 12Γ2 )2
SNRx =
(3.42)
SNRy
(3.43)
Ist der Betrag des Mittelwerts |Γ| gegenüber Λ sehr klein, so geht Gleichung (3.43)
gegen
1
SNRy → Λ2 22n .
2
Das SNR am Ausgang ist wie schon bei den mittelwertfreien Eingangssignalen ca. 3
dB schlechter als das SNR am Eingang.
Ist |Γ| Λ, so geht Gleichung (3.43) gegen
SNRy → Λ2 22n .
Das SNR am Ausgang der Multiplikation ist gleich groß wie das SNR am Eingang.
Abschneiden
Werden die mittelwertbehafteten Eingangssignale abgeschnitten, so sind die statistischen Parameter des Quantisierungsfehlers:
1
μex = − 2−n
2
1 −2n
2
σex =
2
12
1 −2n
μe2x =
2
3
Mit der Näherung in Gleichung (3.31) ergibt sich für den Fehler am Ausgang:
μeges = 2μx μex = Γ2−n
1 2 −2n 1 2 −2n
+ Γ2
Λ2
18
6
1 2 −2n 7 2 −2n
= Λ2
+ Γ2
18
6
σe2ges = 2(μx2 μe2x − (μx μex )2 ) =
μe2ges = σe2ges + μ2eges
38
3.3 Abschätzung des maximal erreichbaren SNR
Das SNR der Eingangssignale und des Ausgangssignals ist:
σx2
1
= Λ2 22n
μe2x
4
σy2
(Λ2 + 24Γ2 )Λ2 22n
=
=
μe2ges
(Λ2 + 21Γ2 )8
SNRx =
(3.44)
SNRy
(3.45)
Ist der Betrag des Mittelwerts |Γ| gegenüber Λ sehr klein, so geht Gleichung (3.45)
gegen
1
SNRy → Λ2 22n .
8
Das SNR am Ausgang ist, wie schon bei den mittelwertfreien Eingangssignalen, ca. 3
dB schlechter als das SNR am Eingang.
Ist |Γ| Λ, so geht Gleichung (3.43) gegen
1
SNRy → Λ2 22n .
7
Das SNR am Ausgang der Multiplikation ist ca. 2,5 dB schlechter als am Eingang.
Für das Produkt von Eingangssignalen mit gleichem Mittelwert ungleich Null gilt,
dass sich das SNR um mindestens 2,5 dB gegenüber dem SNR der Eingangssignale
verschlechtert.
3.3.3 Mittelwertbehaftete Eingangssignale mit ungleichem
Vorzeichen
In diesem Abschnitt werden mittelwertbehaftete Eingangssignale mit ungleichem Vorzeichen betrachtet. Dies bedeutet, nun gilt anstatt Gleichung (3.33)
μx = μx1 = −μx2 .
Dies entspricht den in Abschnitt 3.2.3 betrachteten Fällen 1 und 2. Die statistischen
Parameter der Eingangssignale sind bis auf den Mittelwert des zweiten Eingangssignals gleich wie in Abschnitt 3.3.2. Für das Produkt ändert sich lediglich folgender
Parameter:
μy = −μ2x = −Γ2
Für Runden ergeben sich genau die gleichen Ergebnisse wie in 3.3.2. Deshalb betrachtet
man nur Abschneiden. Die statistischen Parameter des Fehlers am Eingang sind gleich
39
3 Quantisierung bei der Multiplikation
wie bei mittelwertbehafteten Eingangssignalen mit gleichem Mittelwert. Am Ausgang
ergeben sich mit der Näherung aus Gleichung (3.31) folgende statistische Parameter:
μeges = 0
σe2ges = μe2ges = 2(μx2 μe2x − (μx μex )2 ) =
1 2 −2n 1 2 −2n
+ Γ2
Λ2
18
6
Das SNR der Eingangssignale und des Ausgangssignals ist:
σx2
1
= Λ2 22n
μe2x
4
2
σy
(Λ2 + 24Γ2 )Λ2 22n
=
=
μe2ges
(Λ2 + 3Γ2 )8
SNRx =
(3.46)
SNRy
(3.47)
Ist der Betrag des Mittelwerts |Γ| gegenüber Λ sehr klein, so geht Gleichung (3.47)
gegen
1
SNRy → Λ2 22n .
8
Das SNR am Ausgang ist, wie schon bei den mittelwertfreien Eingangssignalen, 3 dB
schlechter als das SNR am Eingang. Ist |Γ| Λ, so geht Gleichung (3.47) gegen
SNRy → Λ2 22n .
Das SNR am Ausgang der Multiplikation ist ca. 6 dB besser als am Eingang. Grund
hierfür ist der Mittelwert des Fehlers am Eingang. Er verschlechtert das SNR um 6
dB. Der Fehler am Ausgang ist wie bei Runden mittelwertfrei.
3.4 Komplexe Multiplikation
Werden zwei komplexe Zahlen x1 , x2 miteinander multipliziert, so berechnen sich Realteil und Imaginärteil des Produkts y = x1 · x2 folgendermaßen:
{y} = {x1 } · {x2 } − {x1 } · {x2 }
{y} = {x1 } · {x2 } + {x2 } · {x1 }
(3.48)
(3.49)
Aus diesen Formeln lässt sich direkt eine HW–Realisierung mit vier Multiplizierern und
zwei Addierern ableiten. Neben dieser Realisierung gibt es noch eine HW–Realisierung
mit drei Multiplizierern und fünf Addierern. Im diesem Abschnitt werden diese beiden
Realisierungen genauer betrachtet und bezüglich ihres HW–Aufwands verglichen.
Im Folgenden wird davon ausgegangen, dass die Real– und Imaginärteile der Eingangssignale x1 , x2 wertekontinuierlich sind und im Intervall ] − 1; 1[ liegen. Zunächst be-
40
3.4 Komplexe Multiplikation
{x1 } {x1 } {x2 } {x2 }
Q
Q
(1.nx )
Q
(1.nx )
Q
(1.nx )
(1.nx )
•
(1.2nx )
Q
(1.ny )
(2.ny )
•
(1.2nx )
•
(1.2nx )
Q
Q
(1.ny )
+
− {ŷ1 }
(1.ny )
+
•
(1.2nx )
Q
(1.ny )
(2.ny )
{ŷ1 }
Abbildung 3.11: Komplexe Multiplikation mit 4 Multiplizierern
trachtet man die häufig verwendete Realisierung der komplexen Multiplikation mit vier
Multiplizierern (Abb. 3.11). Real– und Imaginärteil der Eingangssignale x1 , x2 haben
eine Vorkommastelle und werden auf nx Nachkommastellen quantisiert. Die quantisierten Signale werden dann entsprechend Gleichung (3.48) und Gleichung (3.49)
multipliziert. Die Ergebnisse der Multiplikationen haben eine Vorkomma– und 2 · nx
Nachkommastellen. Wie im vorhergehenden Kapitel gezeigt wurde, ist es nach der
Multiplikation nicht notwendig, alle Stellen weiter zu verwenden. Deshalb werden die
Multiplikationsergebnisse quantisiert. Die quantisierten Multiplikationsergebnisse werden anschließend addiert bzw. subtrahiert.
Für eine HW–Aufwandsabschätzung wird angenommen, dass ein n × m Vier–Quadranten–Multiplizierer (n − 1) · (m + 1) VA benötigt. Die UND–Gatter zur Partialproduktbildung werden vernachlässigt. Ein n Bit Addierer bzw. Subtrahierer für K2–
Zahlen benötige n + 1 VA, falls das Ergebnis n + 1 Bit hat, ansonsten n VA. Der
41
3 Quantisierung bei der Multiplikation
HW–Aufwand Akm,1 für die komplexe Multiplikation, wie in Abb. 3.11 dargestellt, ist
dann ohne Berücksichtigung des Aufwands für die Quantisierer:
Akm,1
= 4nx (2 + nx ) + 2(1 + 1 + ny )
[1VA]
= 4 + 8nx + 4n2x + 2ny
(3.50)
(3.51)
Betrachtet werde nun die oben bereits erwähnte Realisierung mit drei Multiplizierern.
Dazu werden folgende Zwischenergebnisse benötigt:
a = {x1 } · ({x2 } + {x2 })
b = {x2 } · ({x1 } + {x1 })
c = {x1 } · ({x2 } − {x2 })
(3.52)
(3.53)
(3.54)
Durch Addition bzw. Subtraktion dieser Zwischenergebnisse erhält man den Real–
bzw. Imaginärteil des Produkts y:
{y} = a − b = {x1 } · ({x2 } + {x2 }) − {x2 } · ({x1 } + {x1 }) (3.55)
{y} = b + c = {x2 } · ({x1 } + {x1 }) + {x1 } · ({x2 } − {x2 }) (3.56)
Abb. 3.12 zeigt die dazugehörige Schaltung. Die Eingangssignale werden wie zuvor auf
nx Nachkommastellen quantisiert. Die Zwischenergebnisse a, b, c haben 2 Vorkommastellen. Deshalb hat auch der Ausgang der Multiplizierer 2 Vor– und 2nx Nachkommastellen. Auch hier wird das Multiplikationsergebnis quantisiert und anschließend addiert bzw. subtrahiert. Der HW–Aufwand Akm,2 für diese Realisierung beträgt:
Akm,2
= 3(2 + nx ) + 3(3 + nx )nx + 2(1 + 2 + ny )
[1VA]
= 12 + 12nx + 3n2x + 2ny
(3.57)
(3.58)
Vergleicht man die Anzahl der benötigten VA, so ist die Schaltung mit vier Multiplizierern (Abb. 3.11) besser für nx ≤ 5. Ist nx > 5, so benötigt eine Schaltungsrealisierung
mit drei Multiplizierern (Abb. 3.12) weniger HW.
Nun werden die Quantisierungseinflüsse bei der komplexen Multiplikation betrachtet.
Dazu werden die Quantisierungen durch Addition von Fehlern ersetzt. Bei der Quantisierung der Eingangssignale entstehen die Quantisierungsfehler (Abb. 3.11 und Abb.
3.12) von links nach rechts: e1, , e1, , e2, , e2, . Bei den Quantisierungen nach den Multiplikationen in Abb. 3.11 entstehen die Fehler (von oben nach unten) e1,1 , e1,2 , e1,3 , e1,4 .
Die Quantisierungsfehler nach den Multiplikationen in Abb. 3.12 werden (von oben
nach unten) e2,1 , e2,2 , e2,3 bezeichnet.
42
3.4 Komplexe Multiplikation
{x1 } {x1 } {x2 } {x2 }
Q
Q
(1.nx )
Q
(1.nx )
Q
(1.nx )
(1.nx )
•
+
(2.2nx )
Q
(2.2ny )
(2.nx )
+
(2.ny )
− {ŷ2 }
•
+
+
Q
(2.2ny )
(2.nx )
+
•
−
(2.2nx )
(2.2nx )
Q
(2.ny )
{ŷ2 }
(2.2ny )
(2.nx )
Abbildung 3.12: Komplexe Multiplikation mit 3 Multiplizierern
Für die Schaltung aus Abb. 3.11 berechnet sich das quantisierte Ausgangssignal ŷ 1
dann wie folgt:
{ŷ 1 } = ({x1 } + e1, ) · ({x2 } + e2, ) + e1,1 −
({x1 } + e1, ) · ({x2 } + e2, ) − e1,2
= {x1 } · {x2 } + {x1 } · e2, + {x2 } · e1, + e1, · e2, + e1,1 −
{x1 } · {x2 } − {x1 } · e2, − {x2 } · e1, − e1, · e2, − e1,2 (3.59)
{ŷ 1 } = ({x1 } + e1, ) · ({x2 } + e2, ) + e1,3 +
({x1 } + e1, ) · ({x2 } + e2, ) + e1,4
= {x1 } · {x2 } + {x1 } · e2, + {x2 } · e1, + e1, · e2, + e1,3 +
{x1 } · {x2 } + {x1 } · e2, + {x2 } · e1, + e1, · e2, + e1,4 (3.60)
43
3 Quantisierung bei der Multiplikation
Die Quantisierungsfehler sind dabei:
{ey1 } = {ŷ 1 } − {y}
= {x1 } · e2, + {x2 } · e1, + e1, · e2, + e1,1 −
{x1 } · e2, − {x2 } · e1, − e1, · e2, − e1,2
(3.61)
{ey1 } = {ŷ 1 } − {y}
= {x1 } · e2, + {x2 } · e1, + e1, · e2, + e1,3 +
{x1 } · e2, + {x2 } · e1, + e1, · e2, + e1,4
(3.62)
Für die Schaltung aus Abb. 3.12 ergibt sich folgendes Ausgangssignal:
{ŷ 2 } = ({x1 } + e1, ) · ({x2 } + e2, + {x2 } + e2, ) + e2,1 −
({x1 } + e1, + {x1 } + e1, ) · ({x2 } + e2, ) − e2,2
= {x1 } · {x2 } + {x1 } · e2, + {x2 } · e1, + e1, · e2, + e2,1 −
{x1 } · {x2 } − {x1 } · e2, − {x2 } · e1, − e1, · e2, − e2,2 (3.63)
{ŷ 2 } = ({x1 } + e1, + {x1 } + e1, ) · ({x2 } + e2, ) + e2,2 +
({x2 } + e2, − {x2 } − e2, ) · ({x1 } + e1, ) + e2,3
= {x1 } · {x2 } + {x1 } · e2, + {x2 } · e1, + e1, · e2, + e2,2 +
{x1 } · {x2 } + {x1 } · e2, + {x2 } · e1, + e1, · e2, + e2,3 (3.64)
Die Quantisierungsfehler sind dabei:
{ey2 } = {ŷ 2 } − {y}
= {x1 } · e2, + {x2 } · e1, + e1, · e2, + e2,1 −
{x1 } · e2, − {x2 } · e1, − e1, · e2, − e2,2
(3.65)
{ey2 } = {ŷ 2 } − {y}
= {x1 } · e2, + {x2 } · e1, + e1, · e2, + e2,2 +
{x1 } · e2, + {x2 } · e1, + e1, · e2, + e2,3
(3.66)
Daraus folgt, dass die Quantisierungsfehler für die beiden Realisierungen nicht gleich
sind, falls ny < 2 · nx ist, also nach der Multiplikation eine Quantisierung stattfindet.
44
3.4 Komplexe Multiplikation
In diesem Fall sind nämlich die Quantisierungsfehler e1,1 bis e1,4 und e2,1 bis e2,3 nach
der Multiplikation ungleich Null und verschieden.
Mit der Annahme, dass die Eingangssignale {x1 }, {x1 }, {x2 } und {x2 } wertekontinuierlich und im Intervall ] − 1; 1[ gleichverteilt sind, folgt, dass die Fehler, die
bei der Quantisierung der Eingangssignale entstehen, den gleichen Mittelwert μex und
die gleiche Varianz σe2x haben. Die Fehler durch die Quantisierungen nach den Multiplizierern haben ebenfalls den gleichen Mittelwert μey und die gleiche Varianz σe2y .
Dadurch sind der Mittelwert und die Varianz des Quantisierungsfehlers am Ausgang
bei beiden Schaltungen gleich:
μey , = μey1 , = μey2 , = 0
μey , = μey1 , = μey2 , = 2 ·
σe2y ,
=
=
(3.67)
μ2ex
+ 2 · μey
2
2
2
σey , = σey1 , = σey1 , = σe2y2 , = σe2y2 ,
2 · σe2y + 4 · σx2 · σe2x + 4 · σx2 · μex +
2 · (σe2x )2 + 4 · σe2x · μex
(3.68)
(3.69)
(3.70)
Wie diese Gleichungen zeigen, ist die Varianz des Quantisierungsfehlers für den Real–
und Imaginärteil von ŷ 1 und ŷ 2 gleich. Die Mittelwerte der Quantisierungsfehler von
Real– und Imaginärteil unterscheiden sich jedoch. Durch die Subtraktion der beiden
Produkte bei der Berechnung des Realteils heben sich die Fehlermittelwerte auf. Bei
der Berechnung des Imaginärteils verdoppelt sich der Fehlermittelwert im Vergleich
zum einfachen Produkt, durch die Addition der Multiplikationsergebnisse. Setzt man
für die statistischen Parameter μex , σe2x , μey und σe2y die entsprechenden Werte aus den
Gleichungen (2.16), (2.17), (2.24), (2.25), (3.23), (3.24) (3.25), (3.26) für Runden und
Abschneiden ein, so erhält man das in Abb. 3.13 dargestellte SNR, aufgetragen über
die Anzahl der Nachkommastellen. Mittelwert und Varianz des fehlerfreien Ausgangssignals y sind dabei:
μy, = μy, = 0
2
2
2
2
= σy,
= 2 · (σx,
)2 = 2 · (σx,
)2
σy,
Wie die Gleichungen (3.67) und (3.70) zeigen, ist der Realteil unabhängig von der
Quantisierungsart nach der Multiplikation (unabhängig von μey , bzw. μey , ). Lediglich die Quantisierungsart der Eingangssignale wirkt sich auf das SNR für ny ≥ nx
aus. Das SNR des Imaginärteils ist wie schon das SNR der Multiplikation zweier Zufallszahlen sowohl von der Quantisierungsart der Eingangssignale als auch von der
Quantisierungsart nach der Multiplikation abhängig.
45
80
80
70
70
60
60
50
50
SNR in dB
SNR in dB
3 Quantisierung bei der Multiplikation
40
30
30
20
20
x:
x:
x:
x:
10
0
40
2
4
6
8
10
Runden, y: Runden
Runden, y: Abschneiden
Abschneiden, y: Runden
Abschneiden, y: Abschneiden
12 14
ny
16
18
20
(a)
22
x:
x:
x:
x:
10
24
0
2
4
6
8
10
Runden, y: Runden
Runden, y: Abschneiden
Abschneiden, y: Runden
Abschneiden, y: Abschneiden
12 14
ny
16
18
20
22
24
(b)
Abbildung 3.13: SNR des Ausgangssignals der komplexen Multiplikation für nx = 12
(a) des Realteils und (b) des Imaginärteils
3.5 Zusammenfassung
In diesem Kapitel wurde die Quantisierung bei der Multiplikation untersucht. Für
die Skalierung mit einem genauen Skalierungsfaktor, der zwischen 0,5 und 1 liegt, und
einem Eingangssignal, das im Intervall ]−1; 1[ gleichverteilt ist, wurde festgestellt, dass
für Runden nach der Skalierung 4 Stellen mehr als vor der Skalierung ausreichen, um
das SNR durch die Quantisierung nicht signifikant zu verschlechtern. Für Abschneiden
reichen 5 Stellen mehr aus, um annähernd das maximale SNR zu erreichen.
Wird der Skalierungsfaktor ebenfalls quantisiert, so ist es ausreichend, wenn er mit 2
Stellen mehr als das Signal, mit dem er multipliziert wird, quantisiert ist.
Bei der Multiplikation zweier Veränderlicher sind die LSBs des Produkts nicht mehr
gleichverteilt. Dies wirkt sich auf den Quantisierungsfehler aus, der dadurch nicht mehr
gleichverteilt ist. Werden nur wenige Stellen quantisiert, so weichen der Mittelwert und
der quadratische Mittelwert stark von dem Mittelwert bzw. quadratischen Mittelwert
eines gleichverteilten Fehlers ab. Mit zunehmender Zahl an Stellen, die abgeschnitten
oder gerundet werden, nähern sich der Mittelwert und der quadratische Mittelwert des
Quantisierungsfehlers vom Produkt den entsprechenden Mittelwerten eines gleichverteilten Quantisierungsfehlers.
Sind die beiden Eingangssignale mittelwertfrei und werden sie auf die gleiche Stellenzahl quantisiert, so ist es nicht notwendig, am Ausgang die doppelte Stellenzahl
weiterzuverwenden. Für Eingangssignale, die im Intervall ] − 1; 1[ gleichverteilt sind,
reicht es aus, wenn am Ausgang auf 2 Stellen mehr als am Eingang quantisiert wird.
Haben die beiden Eingangssignale unterschiedliche Stellenzahl, so ist es ausreichend,
46
3.5 Zusammenfassung
nach der Multiplikation auf 2 Stellen mehr als die kleinere Stellenzahl am Eingang zu
quantisieren.
Bei mittelwertbehafteten Eingangssignalen, deren Mittelwerte unterschiedliche Vorzeichen haben und die durch Abschneiden quantisiert wurden, gibt es den Sonderfall,
dass das SNR des Produkts das SNR der Eingangssignale übersteigt. Dies liegt an
den Fehlermittelwerten, die sich in diesem Fall subtrahieren. Dadurch wird das gleiche
SNR wie bei Runden der Eingangssignale erreicht.
Werden zwei mittelwertfreie Signale mit der gleichen Stellenzahl quantisiert, so kann
am Ausgang maximal ein SNR erreicht werden, das 3 dB kleiner ist als am Eingang.
Sind die Eingangssignale mittelwertbehaftet und haben die Mittelwerte gleiches Vorzeichen, so kann das SNR des Produkts für sehr große Mittelwerte das SNR der Eingangssignale erreichen. Haben die Mittelwerte unterschiedliche Vorzeichen und werden
die Eingangssignale durch Abschneiden quantisiert, dann kann das SNR am Ausgang
für große Mittelwerte bis zu 6 dB besser sein als das SNR der Eingangssignale. Dies
entspricht dem SNR der Eingangssignale bei Runden. Für Runden kann wieder maximal das SNR der Eingangssignale erreicht werden.
Für die Multiplikation von komplexen Zahlen wurden zwei Realisierungsmöglichkeiten
vorgestellt, die sich in ihrem HW–Aufwand unterscheiden. Die Realisierungsart beeinflusste dabei die statistischen Parameter des Quantisierungsfehlers nicht. Bei der
Betrachtung von Real– und Imaginärteil wurde festgestellt, dass das SNR des Realteils im Gegensatz zum SNR des Imaginärteils für Runden und Abschneiden der
Eingangssignale gleich ist. Grund hierfür ist der Mittelwert des Fehlers, der sich durch
die Subtraktion eliminiert.
47
48
4 Quantisierung in Systemen
Nachdem im vorherigen Kapitel die Quantisierung bei der Multiplikation untersucht
wurde, wird in diesem Kapitel die Quantisierung in Systemen betrachtet. Zunächst
wird die Wahrscheinlichkeitsfunktion des Quantisierungsfehlers in LTI–Systemen und
bei normalverteilten Signalen untersucht. Anschließend wird die Quantisierung in LTI–
Systemen am Beispiel eines FIR–Filters analysiert und dabei auf die Unterschiede
zwischen Runden und Abschneiden eingegangen. Eine Kombination aus nichtlinearen
Funktionen und LTI–Funktionen wird anhand des Skalarprodukts betrachtet. Weiter werden nichtlineare Funktionen genauer analysiert und eine in [5, 10] vorgestellte
Methode zur Abschätzung des Quantisierungsfehlers beschrieben und anhand eines
Beispiels angewandt. Abschließend wird auf eine Besonderheit beim Übergang von
linearen Systemen auf LTI–Systeme eingegangen.
Wie in den vorherigen Kapiteln wird in den Diagrammen zur Darstellung des SNR
für das jeweilige SNR eines diskreten Wertes ein Symbol verwendet. Zur Verdeutlichung der zusammengehörigen SNR–Werte sind die Symbole, wie schon im vorherigen
Kapitel, mit Linien verbunden.
4.1 Wahrscheinlichkeitsfunktion des
Quantisierungsfehlers
Bei der Berechnung der statistischen Parameter des Quantisierungsfehlers wird in den
vorherigen Kapiteln unter anderem angenommen, dass der Quantisierungsfehler gleichverteilt bzw. diskret gleichverteilt ist. Dabei stellt sich die Frage, wann diese Annahme
realistisch ist. Deshalb wird im Folgenden die Wahrscheinlichkeitsfunktion der niederwertigsten Bits (least significant bits, LSBs) von den zu quantisierenden Stellen und
damit des Quantisierungsfehlers untersucht.
4.1.1 Wahrscheinlichkeitsfunktion in LTI–Systemen
In diesem Abschnitt werden Additions– und Skalierungsergebnisse unter der Annahme
betrachtet, dass die letzten m Stellen des Eingangssignals nach der Quantisierung
gleichverteilt sind.
In diesem Fall sind auch die letzten m Stellen von allen Additions– und Skalierungsergebnissen gleichverteilt. Dabei dürfen nur Stellen, die ungleich Null werden können,
berücksichtigt werden. Dies kann folgendermaßen gezeigt werden:
49
4 Quantisierung in Systemen
abit
sei eine 1 Bit Zahl, die diskret gleichverteilt ist, mit den Wahrscheinlichkeiten
0
bit
bit
bit
P{a0 = 1} = P{abit
0 = 0} = 0, 5, b0 sei ebenfalls eine 1 Bit Zahl mit P{b0 = 1} = γ,
bit
bit
P{bbit
0 = 0} = 1 − γ. Sind a0 und b0 statistisch unabhängig und werden die Zahlen
modulo 2 addiert, so ist die Wahrscheinlichkeit:
bit
bit
bit
bit
bit
P{mod2(abit
0 + b0 ) = 1} = P{a0 = 1} · P{b0 = 0} + P{a0 = 0} · P{b0 = 1}
= 0, 5 · γ + 0, 5 · (1 − γ)
= 0, 5
bit
Weiter ist das Ergebnis der Addition statistisch unabhängig von abit
0 bzw. b0 . Da die
Addition mehrerer Stellen auf 1 Bit Modulo 2 Additionen (Halbaddierer) zurückgeführt werden kann, gilt für das Additionsergebnis zweier Zahlen, dass die letzten m
Stellen statistisch unabhängig und mit Wahrscheinlichkeit 0,5 Eins sind, wenn die letzten m Stellen eines Summanden statistisch unabhängig und mit der Wahrscheinlichkeit
0,5 Eins sind.
Die Skalierung
ybit=i c · x wiederum kann auf einzelne Additionen zurückgeführt werden, y = i xci 2 . Sind die letzten m Bit von x gleichverteilt, so sind die letzten
m Bit des Produkts, das durch die Multiplikation von x mit dem LSB des Skalierungsfaktors cbit
LSB = 1 entsteht, gleichverteilt und damit auch die letzten m Bit des
Skalierungsergebnisses.
In Abb. 4.1 ist die Wahrscheinlichkeitsfunktion für die Summe von vier Zufallszahlen
aufgetragen, die im Intervall [−8; 7] gleichverteilt sind (Gesamt, ◦). Diese Kurve zeigt
eine Glockenform. Da der Wertebereich nicht symmetrisch zum Nullpunkt ist, liegt
das Maximum nicht im Nullpunkt. Werden lediglich die 4 letzten Bits betrachtet, so
haben die verbleibenden Werte im Intervall [0; 15], wie die obigen Überlegungen schon
zeigten, die gleiche Wahrscheinlichkeit (siehe Kurve LSBs, ∗). Zusätzlich sind in Abb.
4.1 die Bereiche, in denen die zwei höchstwertigsten Bits (most significant bits, MSBs)
00, 01, 10 und 11 sind, einzeln dargestellt. Dabei wurden wieder jeweils die 4 LSBs
betrachtet. Damit soll nochmals verdeutlicht werden, dass die Summe aus diesen vier
blauen Kurven die gleichverteilte rote Kurve ergibt. Dieses Beispiel zeigt, dass, obwohl
die Wahrscheinlichkeitsfunktion einer Gaußglocke ähnelt, die Wahrscheinlichkeitsfunktion der LSBs, die bei der Quantisierung die Wahrscheinlichkeitsfunktion des Fehlers
bestimmen, konstant ist.
Allgemein kann festgestellt werden, dass in LTI–Systemen an jeder Stelle die m LSBs
gleichverteilt sind, wenn die m LSBs des Eingangssignals gleichverteilt sind. Dabei
dürfen jedoch nur Stellen berücksichtigt werden, die auch tatsächlich ungleich Null
werden können. Wirken sich die Quantisierungen nur auf diese m LSBs aus, so sind
die Quantisierungsfehler statistisch gesehen gleichverteilt.
50
4.1 Wahrscheinlichkeitsfunktion des Quantisierungsfehlers
0.07
0.06
Wahrscheinlichkeit
0.05
Gesamt
MSBs =
MSBs =
MSBs =
MSBs =
LSBs
10
11
00
01
-30
-20
0.04
0.03
0.02
0.01
0
-40
-10
0
10
20
30
Abbildung 4.1: Wahrscheinlichkeit für die Summe aus vier diskret gleichverteilten Zahlen im Intervall [−8; 7]
4.1.2 Wahrscheinlichkeitsfunktion der LSBs bei normalverteilten
Eingangssignalen
Betrachtet wird nun ein Signal, das normalverteilt (gaußverteilt) ist. Dazu wird zunächst von einer normierten zentrierten Normalverteilung [4] ausgegangen. Die Verteilungsdichtefunktion fx (x) ist dann:
1 2
1
fx (x) = √ e− 2 x
2π
Wird das wertekontinuierliche Signal x durch Runden auf nx Nachkommastellen quantisiert, so berechnen sich die Wahrscheinlichkeiten der diskreten Werte P(x̂) folgendermaßen:
x̂+ Δ
2
fx (x)dx
P(x̂) =
x̂− Δ
2
=
1
1
1
1
Δ
Δ
erf( √ · (x̂ + )) − erf( √ · (x̂ − ))
2
2
2
2
2
2
51
4 Quantisierung in Systemen
mit
Δ = 2−nx
Werden alle kontinuierlichen Werte, die außerhalb des diskreten Wertebereichs liegen,
dem maximalen bzw. minimalen diskreten Wert (x̂max bzw. x̂min ) zugewiesen, so haben
diese die Wahrscheinlichkeit:
∞
P(x̂max ) =
fx (x)dx
(4.1)
x̂max − Δ
2
1
Δ
1
= 1 − erf( √ · (x̂max − ))
2
2
2
P(x̂min ) =
=
x̂min + Δ
2
−∞
fx (x)dx
(4.2)
1 1
Δ
1
+ erf( √ · (x̂min + ))
2 2
2
2
Die Wahrscheinlichkeiten sind in Abb. 4.2 für vx = 3 Vorkommastellen und nx = 6
Nachkommastellen blau dargestellt. Die Wahrscheinlichkeiten der quantisierten Werte
x̂ sind dabei als Punkte gekennzeichnet. Auch wenn diese Punkte sehr dicht beieinander liegen, sich zum Teil berühren und dadurch wie eine kontinuierliche Kurve erscheinen, handelt es sich um einzelne Wahrscheinlichkeiten der quantisierten Werte x̂.
Wie zu erwarten, ähnelt diese Kurve sehr der Normalverteilung. Die Randwerte haben, verglichen mit den benachbarten Werten, eine größere Wahrscheinlichkeit. Dies
ist jedoch in diesem Diagramm kaum wahrnehmbar. Weiter sind in diesem Diagramm
die Wahrscheinlichkeiten dargestellt, wenn alle Stellen ohne das Vorzeichen (VZ), alle
Stellen ohne die zwei MSBs und alle Stellen ohne die drei MSBs betrachtet werden.
Werden nur die Nachkommastellen (also ohne die drei MSBs) betrachtet, so sind die
Wahrscheinlichkeiten für die einzelnen Werte annähernd gleich. Dies zeigt, dass die
Annahme von der Gleichverteilung der letzten m Stellen realistisch zu sein scheint,
wenn m ≤ nx und die Signale eine normierte zentrierte Normalverteilung haben. Liegt
bei den Signalen nur eine Normalverteilung
fx (x) = √
(x−Γ)2
1
e− 2σ2
2πσ
vor, so kann die Anzahl der Stellen m, die gleichverteilt angenommen werden können,
durch Zurückführung auf die normierte zentrierte Normalverteilung ermittelt werden.
Z. B. ist σ = 2, so muss m ≤ nx + 1 gelten, oder ist σ = 12 , so muss m ≤ nx − 1 gelten.
Allgemein kann man sagen: Ist σ = 2i , so muss m ≤ nx + i gelten. Eine Verschiebung
der Glockenkurve auf der x–Achse durch Γ = 0 wirkt sich nicht auf die Verteilung der
52
4.2 Quantisierung in LTI–Systemen
m LSBs aus. Dabei muss jedoch berücksichtigt werden, dass die Erhöhung der Wahrscheinlichkeit der Randwerte (siehe Gleichung (4.1) und Gleichung (4.2)) für normierte
zentrierte Normalverteilung) nicht signifikant im Vergleich zu der Wahrscheinlichkeit
der restlichen Werte ist. Diese Erhöhung ist abhängig von der Anzahl der Vorkommastellen, die sich auf x̂max und x̂min auswirkt, und der Breite der Gaußglocke, die von σ
abhängt. Im Anhang B wurden bewusst weitere Beispiele dargestellt, bei denen eine
Erhöhung der Randwerte deutlich zu erkennen ist.
0.016
0.014
LSBs ohne 3 MSBs
LSBs ohne 2 MSBs
LSBs ohne MSB (VZ)
alle Stellen
0.012
P(x̂)
0.01
0.008
0.006
0.004
0.002
0
-4
-3
-2
-1
0
x̂
1
2
3
4
Abbildung 4.2: Wahrscheinlichkeit P(x̂) der normierten zentrierten Normalverteilung
für vx = 3 Vorkommastellen, nx = 6 Nachkommastellen und die Wahrscheinlichkeiten der LSBs, wenn das VZ oder mehrere MSBs nicht betrachtet werden.
Dies zeigt, dass die Annahme des gleichverteilten Quantisierungsfehlers für Signale mit
Normalverteilung, welche häufig auftreten, realistisch ist, wenn genügend Vorkommastellen verwendet werden und die Quantisierung nicht zu stark ist.
4.2 Quantisierung in LTI–Systemen
In diesem Abschnitt wird die Quantisierung in LTI–Systemen am Beispiel eines FIR–
Filters betrachtet [33]. Dabei werden lediglich die Unterschiede von Runden und Ab-
53
4 Quantisierung in Systemen
schneiden anhand der statistischen Parameter der Quantisierungsfehler untersucht.
Die Auswirkungen auf die Filterfunktion wird nicht betrachtet. In [7, 9, 10] wird ein
heuristischer Algorithmus zur Optimierung der Wortlängen in LTI–Systemen vorgestellt. Untersuchungen zu den Auswirkungen und Grenzzyklen bei der Quantisierung
in digitalen Filtern sind in [8, 12, 22, 23, 38] zu finden.
x[k]
Q
(vx .nx )
T
T
a0
T
a1
+
aN −1
a2
+
+
aN
+
ŷ[k]
Abbildung 4.3: FIR–Filter mit Quantisierung des Eingangssignals
Zunächst wird von einem FIR–Filter ausgegangen, dessen Eingangssignal x[k] quantisiert wird (Abb. 4.3). Das Ausgangssignal y[k] bzw. ŷ[k] berechnet sich folgendermaßen:
y[k] =
ŷ[k] =
N
i=0
N
ai · x[k − i]
ai · (x[k − i] + ex [k − i])
i=0
Mit der Annahme, dass die Fehler der Eingangsquantisierung statistisch unabhängig
sind, den Mittelwert μex und die Varianz σe2x haben, lassen sich der Mittelwert und
die Varianz des Quantisierungsfehlers ey am Ausgang folgendermaßen berechnen:
μey = μex
σe2y = σe2x
N
i=0
N
i=0
54
ai
a2i
4.2 Quantisierung in LTI–Systemen
Wird das Eingangssignal x[k] als wertekontinuierlich angenommen und auf nx Nachkommastellen abgeschnitten, ist der Fehlermittelwert und die Varianz am Ausgang:
μey
1
= − 2−nx
ai
2
i=0
σe2y
1 −2nx 2
2
=
ai
12
i=0
N
(4.3)
N
Wird das Eingangssignal gerundet, gilt:
μey = 0
1 −2nx 2
=
ai
2
12
i=0
N
σe2y
Dies bedeutet, dass sich Runden und Abschneiden im Fehler nur durch den Fehlermittelwert unterscheiden. Bei Abschneiden am Eingang und Subtraktion des vorhersagbaren Fehlermittelwerts aus Gleichung (4.3) am Ausgang wird derselbe Fehlermittelwert wie bei Runden am Eingang erreicht. In diesem Fall bringt dies aber keine
HW–Einsparung, da Runden (eine Addition) am Eingang durch eine Addition am
Ausgang ersetzt wird.
Nun wird ein FIR–Filter betrachtet, bei dem nach den einzelnen Skalierungen ebenfalls quantisiert wird (Abb. 4.4). Mit der Annahme, dass die quantisierten Stellen
x[k]
Q
(vx .nx )
T
T
a0
Q
T
a1
aN −1
a2
aN
Q
Q
Q
Q
+
+
+
+ (v
ŷ[k]
y .ny )
Abbildung 4.4: FIR–Filter mit Quantisierung des Eingangssignals und Quantisierung
der Skalierungsergebnisse
gleichverteilt sind und viele Stellen quantisiert werden, so dass der Fehler mit einer
55
4 Quantisierung in Systemen
kontinuierlichen Gleichverteilung genähert werden kann, ist der Mittelwert des Ausgangssignals für Abschneiden:
1
1
≈ − 2−nx
ai − 2−ny (N + 1)
2
2
i=0
N
μey
Wird gerundet, so ist μey = 0. Die Varianz des Fehlers am Ausgang ist für Runden
und Abschneiden gleich:
1
1
≈ 2−2nx
a2i + 2−2ny (N + 1)
12
12
i=0
N
σe2y
Haben die Skalierungsfaktoren ai nur wenige Nachkommastellen nai , so gilt die Annahme, dass der Fehler wertekontinuierlich ist, nicht mehr. Der Fehlermittelwert am
Ausgang berechnet sich für Abschneiden dann folgendermaßen:
1
1 −ny
= − 2−nx
ai −
(2
− 2−nx −nai )
2
2
i=0
i=0
N
μey
N
Für Runden ist der Fehlermittelwert dann:
1 −nx −na
i)
=
(2
2 i=0
N
μey
Die Varianz ist für Runden und Abschneiden:
1 −2nx 2
1 −2ny
=
ai +
(2
− 2−2nx −2nai )
2
12
12 i=0
i=0
N
σe2y
N
In beiden Fällen ist der Mittelwert des Quantisierungsfehlers vorhersagbar und kann
kompensiert werden. Allgemein gilt für LTI–Systeme, bei denen die quantisierten Stellen gleichverteilt und die Eingangswerte unkorreliert sind, dass sich Runden und Abschneiden lediglich im Fehlermittelwert unterscheiden. Die Varianz des Quantisierungsfehlers ist für Runden und Abschneiden gleich. Der Fehlermittelwert, der in beiden
Fällen entsteht, ist vorhersagbar und kann, falls die weitere Verarbeitung des Ausgangssignals es notwendig macht, durch nur eine zusätzliche Addition kompensiert
werden.
56
4.3 Skalarprodukt
4.3 Skalarprodukt
Nachdem die Auswirkung der Quantisierung bei der Multiplikation von zwei Zufallszahlen betrachtet wurde, sollen nun die Auswirkung von Quantisierung bei dem Skalarprodukt von zwei Vektoren mit jeweils N Elementen untersucht werden [32].
4.3.1 Skalarprodukt reeller Vektoren
Zunächst wird von dem Skalarprodukt zweier reeller Vektoren ausgegangen:
⎛
⎞ ⎛
⎞
x1,1
x2,1
N
⎜ x1,1 ⎟ ⎜ x2,1 ⎟ ⎜
⎟ ⎜
⎟
y = ⎜ .. ⎟ · ⎜ .. ⎟ =
x1,i · x2,i
⎝ . ⎠ ⎝ . ⎠ i=1
x1,N
x2,N
(4.4)
Dabei wird von einer Quantisierung der Elemente der Eingangsvektoren und einer
Quantisierung der Produkte x1,i · x2,i ausgegangen. Bei der Addition der Produkte findet keine weitere Quantisierung statt. Werden die Quantisierungen durch Addition von
Fehlern ersetzt, so berechnet sich das quantisierte Ausgangssignal ŷ folgendermaßen:
ŷ =
N
(x1,i + ex1,i ) · (x2,i + ex2,i ) + ey,i
(4.5)
i=1
Es wird davon ausgegangen, dass die Elemente der Eingangsvektoren wertekontinuierlich und mittelwertfrei sind. Der Quantisierungsfehler der Elemente x1,i , x2,i habe den
Mittelwert μex und die Varianz σe2x . Die Quantisierungsfehler ey,i haben den Mittelwert
μey und die Varianz σe2y . Damit lässt sich der Mittelwert μeges und die Varianz σe2ges des
Fehlers am Ausgang ŷ der Skalarproduktberechnung mit Gleichung (3.27) und (3.28)
angeben:
μeges = N μ2ex + N μey
σe2ges = N (2μx2 μe2x + μ2e2x − μ4ex + σe2y )
= 2N σx2 σe2x + 2N σx2 μ2ex + N (σe2x )2 +
2N σe2x μ2ex + N σe2y
(4.6)
(4.7)
Dabei ist σx2 die Varianz der Einzelelemente x1,i und x2,i . Mittelwert und Varianz des
fehlerfreien Ausgangssignals y sind:
μy = 0
σy2 = N · (σx2 )2
57
80
40
70
35
60
30
50
25
SNR in dB
SNR in dB
4 Quantisierung in Systemen
40
15
30
10
20
IN:
IN:
IN:
IN:
10
0
20
20
40
60
Runden, MULT: Runden
Runden, MULT: Abschneiden
Abschneiden, MULT: Runden
Abschneiden, MULT: Abschneiden
80
100
N
(a)
120
140
160
180
IN:
IN:
IN:
IN:
5
200
0
20
40
60
Runden, MULT: Runden
Runden, MULT: Abschneiden
Abschneiden, MULT: Runden
Abschneiden, MULT: Abschneiden
80
100
N
120
140
160
180
200
(b)
Abbildung 4.5: SNR des Skalarprodukts der Länge N mit (a) nx = 12, ny = 14, (b)
nx = 6, ny = 8
In Abb. 4.5 ist das SNR aufgetragen über die Länge des Skalarprodukts. Dabei werden die Elemente der Eingangsvektoren, die Intervall ] − 1; 1[ gleichverteilt sind, auf
nx = 12 bzw. nx = 6 Nachkommastellen und die Produkte auf ny = 14 bzw. nx = 8
Nachkommastellen quantisiert. Das SNR wurde für alle 4 Kombinationsmöglichkeiten
aus Runden und Abschneiden berechnet. Bei N = 1 erhält man wie erwartet das gleiche Ergebnis wie bei einer einzelnen Multiplikation. Runden der Eingangssignale ist
ca. 6 dB besser als abschneiden. Wird N größer, so verschlechtert sich das SNR deutlich für die Fälle, in denen nach der Multiplikation abgeschnitten wird. Für nx = 6
(Abb. 4.5 (b)) verschlechtert sich das SNR auch für Runden nach der Multiplikation. Die Verschlechterung ist allerdings geringer als beim Abschneiden. Für nx = 12
(Abb. 4.5 (a)) und Runden nach den Multiplikationen ist für das maximale N = 200
keine Verschlechterung erkennbar. Der Grund für die Verschlechterung des SNR ist
der Mittelwert des Quantisierungsfehlers μeges am Ausgang, der mit N · (μ2ex + μey )
linear ansteigt, siehe Gleichung (4.6). Die Varianz des Signals aus Gleichung (4.8) und
des Quantisierungsfehlers aus Gleichung (4.7) sind ebenfalls proportional zu N . Da
der Mittelwert aber quadratisch in den quadratischen Mittelwert eingeht, bewirkt er,
sofern er ungleich Null ist, eine Verschlechterung des SNR mit zunehmendem N . Der
Fehlermittelwert aus Gleichung (4.6) ist abhängig vom Fehlermittelwert der Eingangsquantisierung zum Quadrat μ2ex und vom Fehlermittelwert der Quantisierung nach der
Multiplikation μey . Der Fehlermittelwert der Quantisierung nach der Multiplikation
ist in Abb. 3.7 über die Anzahl der quantisierten Stellen aufgetragen. Wird nach der
Multiplikation abgeschnitten, so geht der Betrag des Fehlermittelwerts mit zunehmender Stellenzahl gegen −0, 5 · 2−ny . Dies ist der Grund dafür, dass sich das SNR für
Abschneiden nach der Multiplikation mit zunehmendem N verschlechtert. Für Run-
58
4.3 Skalarprodukt
den wird der Betrag des Fehlermittelwertes mit zunehmender Stellenzahl kleiner. Dies
erklärt auch, warum in Abb. 4.5 (b) sich das SNR für Runden nach den Multiplikationen verschlechtert und in (a) nicht. Im einen Fall wird nach den Multiplikationen von
16 auf 10 Nachkommastellen also 6 Stellen gerundet, und im anderen Fall wird von 24
auf 14 Nachkommastellen gerundet (10 Stellen).
4.3.2 Skalarprodukt komplexer Vektoren
Nach dem Skalarprodukt reeller Zahlen betrachtet man nun das Skalarprodukt komplexer Zahlen. Das komplexe Skalarprodukt kann analog zur Abbildung der komplexen
Multiplikation auf 4 Skalarprodukte abgebildet werden:
⎞ ⎛
⎞ ⎛
⎞ ⎛
⎞
⎛
{x1,1 }
{x2,1 }
{x1,1 }
{x2,1 }
⎜ {x } ⎟ ⎜ {x } ⎟ ⎜ {x } ⎟ ⎜ {x } ⎟
1,1
2,1
1,1
2,1
⎟ ⎜
⎟ ⎜
⎟ ⎜
⎟
⎜
{y} = ⎜
⎟·⎜
⎟−⎜
⎟·⎜
⎟
..
..
..
..
⎠ ⎝
⎠ ⎝
⎠ ⎝
⎠
⎝
.
.
.
.
{x1,N }
{x2,N }
{x1,N }
{x2,N }
=
N
{x1,i }{x2,i } −
i=1
{x1,i }{x2,i }
(4.8)
i=1
⎛
{x1,1 }
{x1,1 }
..
.
⎜
⎜
{y} = ⎜
⎝
{x1,N }
=
N
N
i=1
⎞ ⎛
⎟ ⎜
⎟ ⎜
⎟·⎜
⎠ ⎝
{x2,1 }
{x2,1 }
..
.
{x2,N }
{x1,i }{x2,i } +
N
⎞
⎛
⎟ ⎜
⎟ ⎜
⎟+⎜
⎠ ⎝
{x1,1 }
{x1,1 }
..
.
{x1,N }
{x1,i }{x2,i }
⎞ ⎛
⎟ ⎜
⎟ ⎜
⎟·⎜
⎠ ⎝
{x2,1 }
{x2,1 }
..
.
⎞
⎟
⎟
⎟
⎠
{x2,N }
(4.9)
i=1
Wie in dem obigen Abschnitt wird von einer Quantisierung der Eingangselemente und
einer Quantisierung der Einzelprodukte ausgegangen. Bei der Addition der quantisierten Produkte finde keine weitere Quantisierung statt. Geht man wie zuvor davon aus,
dass Real– und Imaginärteil der Eingangselemente wertekontinuierlich und mittelwertfrei sind, so können mit dem Mittelwert und der Varianz von dem reellen Skalarprodukt
59
4 Quantisierung in Systemen
sehr einfach die Mittelwerte und die Varianz für Real– und Imaginärteil des komplexen
Skalarprodukts angegeben werden:
μeges , = N · (μ2ex + μey ) − N · (μ2ex + μey ) = 0
μeges , = 2 · N · (μ2ex + μey )
σe2ges , = σe2ges ,
= 2 · N [2 · σx2 · σe2x + 2 · σx2 · μe2x + (σe2x )2 +
2 · σe2x · μe2x + σe2y ]
(4.10)
(4.11)
(4.12)
Dabei ist μex der Mittelwert und σe2x die Varianz des Fehlers, der bei der Quantisierung
der Elemente von Real– und Imaginärteil beider Vektoren entsteht. μey ist der Mittelwert und σe2y die Varianz des Quantisierungsfehlers, welcher bei der Quantisierung der
Produkte entsteht.
Betrachtet man den Real– und Imaginärteil des fehlerfreien Signals y, so haben sie
folgenden Mittelwert und Varianz:
μy = μy, = μy, = 0
2
2
σy2 = σy,
= σy,
= 2 · N · (σx2 )2
Damit kann das SNR für den Real– und Imaginärteil des komplexen Skalarprodukts in
Abhängigkeit von N berechnet werden. In Abb. 4.6 ist das SNR für nx = 6 und ny = 8
aufgetragen über N . Real– und Imaginärteil der Elemente der Eingangsvektoren seien
im Intervall ] − 1; 1[ gleichverteilt. Das SNR des Realteils ist dabei unabhängig von N .
Grund hierfür ist, dass die Varianz des Fehlers und des fehlerfreien Signals proportional zu N sind und der Fehlermittelwert Null ist. Dadurch ist das SNR unabhängig von
N . Im Gegensatz dazu verschlechtert sich das SNR des Imaginärteils mit steigendem
N . Wie schon beim reellen Skalarprodukt bewirkt der Fehlermittelwert die Verschlechterung des SNR mit steigendem N . Verglichen mit dem reellen Skalarprodukt ist der
Fehlermittelwert um den Faktor 2 größer, und deshalb ist auch die Verschlechterung
des SNR größer. Genauer gesagt entspricht das SNR des Imaginärteils bei N2 dem SNR
des reellen Skalarprodukts bei N .
4.3.3 Kompensation des Fehlermittelwertes
Wie man bei den obigen Beispielen gesehen hat, ist der Fehlermittelwert der Grund
für die Verschlechterung des SNR bei steigender Länge N der Eingangsvektoren des
Skalarprodukts. In diesem Abschnitt werden nun Möglichkeiten aufgezeigt, diese Verschlechterung des SNR zu verhindern. Die naheliegendste Möglichkeit ist natürlich,
60
40
40
35
35
30
30
25
25
SNR in dB
SNR in dB
4.3 Skalarprodukt
20
15
15
10
10
IN:
IN:
IN:
IN:
5
0
20
20
40
60
Runden, MULT: Runden
Runden, MULT: Abschneiden
Abschneiden, MULT: Runden
Abschneiden, MULT: Abschneiden
80
100
N
120
140
160
180
IN:
IN:
IN:
IN:
5
200
0
(a)
20
40
60
Runden, MULT: Runden
Runden, MULT: Abschneiden
Abschneiden, MULT: Runden
Abschneiden, MULT: Abschneiden
80
100
N
120
140
160
180
200
(b)
Abbildung 4.6: SNR des komplexen Skalarprodukts der Länge N mit nx = 6, ny = 8,
(a) Realteil, (b) Imaginärteil
nach der Multiplikation nicht weiter zu quantisieren (ny = 2 · nx ). In diesem Fall ist
der Fehlermittelwert am Ausgang des Skalarprodukts lediglich:
μeges = N · μ2ex
Werden dazu noch die Eingangsvektoren gerundet, so ist μex = 0 und somit μeges =
0. Können oder sollen die Eingangssignale nicht gerundet werden, so wird sich der
Fehlermittelwert μeges = N · μ2ex erst bei sehr großen N bemerkbar machen. Z. B.
bei nx = 6 und N = 14000 hat das SNR 3 dB Abfall gegenüber einer einzelnen
Multiplikation.
Eine weitere Möglichkeit ist, den Mittelwert direkt zu kompensieren. Da der Fehlermittelwert für feste N konstant ist, kann er direkt subtrahiert werden:
y = ŷ − μeges
Dadurch wird erreicht, dass der Fehlermittelwert des Signals y gleich Null ist. Diese
Kompensation kann durch eine einzelne Addition realisiert werden. Kann der Mittelwert nicht genau bestimmt werden, weil die Verteilungsfunktion der Eingangselemente
nicht bekannt ist, kann diese Methode nicht angewendet werden. In solchen Fällen kann
eine Methode angewandt werden, die auf folgendem Prinzip basiert. Man ersetzt die
Summe aus N Produkten durch zwei Summen aus N2 Produkten, die subtrahiert werden. Dabei werden die Produkte aus der Summe, die subtrahiert wird, negiert, indem
ein Multiplikand negiert wird (für N gerade):
61
4 Quantisierung in Systemen
y =
N
i=1
N
x1,i · x2,i =
2
ŷ =
i=1
i= N
2
i=1
N
2
x1,i · x2,i −
[x̂1,i · x̂2,i ]Q −
N
N
i= N
2
(−x1,i ) · x2,i
+1
[(−x̂1,i ) · x̂2,i ]Q
(4.13)
+1
x̂1,i , x̂2,i sind dabei die bereits quantisierten Elemente der Eingangsvektoren.
Sind die Fehlermittelwerte durch die Quantisierung der Produkte gleich, so heben sie
sich durch die Subtraktion auf, und man erreicht damit, dass der Fehlermittelwert Null
wird.
Nun wird noch der HW–Aufwand für die drei oben beschriebenen Möglichkeiten abgeschätzt den Mittelwert zu kompensieren bzw. nicht zu erzeugen. Es wird von einer
Quantisierung auf ny = nx + 2 Nachkommastellen durch Abschneiden der Produkte
ausgegangen. Die Produkte werden anschließend durch (N − 1) Addierer aufaddiert.
Der Mehraufwand wird in der Anzahl der VA angegeben. Die erste Möglichkeit, ist
keine weitere Quantisierung bei der Addition der Produkte durchzuführen. Dies bedeutet, man benötigt für jeden der N − 1 Addierer (2 · nx − ny ) VA mehr. Das ergibt
einen Mehraufwand von:
Akomp,1
= (N − 1) · (2 · nx − ny )
[1VA]
= (N − 1) · (nx − 2)
Die zweite Kompensationsmöglichkeit ist die Subtraktion des Fehlermittelwertes am
Ausgang des Skalarprodukts. Dafür werden ny plus die Anzahl der Vorkommastellen
mehr VA benötigt:
Akomp,2
= 1 + log2(N ) + nx + 2
[1VA]
Bei der dritten Kompensationsmöglichkeit, Gleichung (4.13), müssen N2 Elemente eines
Eingangsvektors negiert werden. Für jede Negation benötigt man (1 + nx ) VA. Das
ergibt insgesamt:
N
Akomp,3
=
· (1 + nx )
[1VA]
2
Vergleicht man den Mehraufwand dieser Möglichkeiten, so ist Akomp,2 für N ≥ 2 am
geringsten. Das Problem dabei ist allerdings, wie oben schon erwähnt, dass die Eingangssignale genau den Annahmen entsprechen müssen, da sonst der Fehlermittelwert,
62
4.4 Nichtlineare Funktionen
der subtrahiert wird, nicht dem tatsächlichen Fehlermittelwert entspricht. Vergleicht
man Akomp,1 und Akomp,3 , so ist der Mehraufwand für Akomp,3 geringer. Allerdings müssen die Fehlermittelwerte, die bei der Quantisierung der einzelnen Produkte entstehen,
gleich sein oder sich zumindest in der Summe aufheben. Unter Umständen kann es auch
von Vorteil sein, die Summe folgendermaßen zu berechnen:
N
ŷ =
2
[x̂1,2i−1 · x̂2,2i−1 ]Q − [(−x̂1,2i ) · x̂2,2i ]Q
(4.14)
i=1
Alle drei Möglichkeiten sind vom HW–Aufwand her besser als direkt nach den Multiplikationen zu runden. Dafür wäre ein zusätzlicher HW–Aufwand von N (nx + 1)VA
notwendig.
Soll der Fehlermittelwert eines komplexen Skalarprodukts kompensiert werden, so kann
die Gleichung (4.13) für den Imaginärteil folgendermaßen angewandt werden:
{ŷ} =
N
N
[{x1,i }{x2,i }]Q −
[{x1,i }{−x2,i }]Q
i=1
(4.15)
i=1
Wird eine Realisierung der komplexen Multiplikation mit drei Multiplizierern (Abb.
3.12) verwendet, dann kann diese Kompensation ohne zusätzliche HW realisiert werden. Dazu müssen die Gleichungen (3.54) und (3.56) durch folgende Gleichungen ersetzt werden:
(4.16)
c = {x1 } · ({x2 } − {x2 })
{y} = b − c = {x2 } · ({x1 } + {x1 }) − {x1 } · ({x2 } − {x2 }) (4.17)
Der Fehlermittelwert des Realteils braucht nicht kompensiert werden, da er bereits
Null ist (Abb. 4.6).
4.4 Nichtlineare Funktionen
In diesem Abschnitt werden nichtlineare Funktionen untersucht, insbesondere die Auswirkung eines Fehlermittelwertes am Eingang der Multiplikation zweier Zufallszahlen.
Weiter wird eine aus der Literatur bekannte Methode vorgestellt, die es erlaubt, nichtlineare Funktionen mit einer hybriden Methode (Simulation und analytische Berechnung) zu untersuchen. Abschließend werden die theoretischen Betrachtungen und die
hybride Methode verglichen.
63
4 Quantisierung in Systemen
4.4.1 Auswirkung des Fehlermittelwertes bei der Multiplikation
zweier Zufallszahlen
Zunächst werde nochmals die bereits in Kapitel 3 untersuchte nichtlineare Funktion der
Multiplikation zweier Zufallszahlen betrachtet. Hierbei wird vor allem die Auswirkung
eines Fehlermittelwertes am Eingang auf den Ausgang untersucht. Dazu wird nur die
Quantisierung der Eingangssignale betrachtet. Mittelwert und Varianz des Fehlers am
Ausgang der Multiplikation berechnen sich zu (siehe Gleichung (3.20) und Gleichung
(3.21)):
μexges = μx1 μex2 + μx2 μex1 + μex1 μex2
σe2xges = μx21 μe2x2 − μ2x1 μ2ex2 + μx22 μe2x1 − μ2x2 μ2ex1 +
μe2x1 μe2x2 − μ2ex1 μ2ex2
μe2xges = μx21 μe2x2 − μ2x1 μ2ex2 + μx22 μe2x1 − μ2x2 μ2ex1 +
μe2x1 μe2x2 − μ2ex1 μ2ex2 + (μx1 μex2 + μx2 μex1 + μex1 μex2 )2
Mit der Annahme, dass die Eingangssignale vor der Quantisierung mittelwertfrei (μx1 =
0, μx2 = 0) sind, berechnen sich die Mittelwerte und Varianz folgendermaßen:
μexges = μex1 μex2
σe2xges = σx21 σe2x2 + σx22 σe2x1 + σe2x1 σe2x2
+σx21 μex2 2 + σx22 μex1 2 + σe2x1 μex2 2 + σe2x2 μex1 2
μe2xges = σx21 σe2x2 + σx22 σe2x1 + σe2x1 σe2x2 + σx21 μex2 2 +
σx22 μex1 2 + σe2x1 μex2 2 + σe2x2 μex1 2 + μ2ex1 μ2ex2
Das bedeutet, dass die Fehlermittelwerte (μex1 , μex2 ) die Varianz des Fehlers am Ausgang erhöhen. Im Vergleich dazu bewirkt der Fehlermittelwert in LTI–Systemen lediglich eine Erhöhung des Fehlermittelwertes am Ausgang, und wirkt sich nicht auf die
Varianz des Fehlers aus. Die Erhöhung des Fehlermittelwerts am Ausgang kann, wie
in den vorangegangenen Abschnitten gezeigt, kompensiert werden. Bei nichtlinearen
Funktionen, wie hier der Multiplikation zweier Zufallszahlen, kann der Fehlermittelwert am Eingang die Varianz des Fehlers am Ausgang vergrößern. Daraus folgt, dass
die Verschlechterung durch einen Fehlermittelwert am Eingang, der z. B. beim Abschneiden entsteht, nicht wie bei LTI–Systemen am Ausgang vollständig kompensiert
werden kann. Deshalb sollte der Fehlermittelwert beim Übergang von LTI–Systemen
auf nichtlineare Systeme kompensiert werden. Mehr dazu in Abschnitt 4.5.
64
4.4 Nichtlineare Funktionen
4.4.2 Tangens hyperbolicus
In diesem Abschnitt wird die Quantisierung für die in Abb. 4.7 dargestellte nichtlineare
Rechenoperation Tangens hyperbolicus (tanh) untersucht [3]. Es wird von dem in Abb.
4.8 dargestellen Szenario ausgegangen.
Das Eingangssignal x wird quantisiert. Danach wird das quantisierte Signal x̂ durch
den tanh auf das Ausgangssignal ŷ abgebildet. Bei dieser nichtlinearen Funktion ist
der Quantisierungsfehler am Ausgang nicht nur von dem Quantisierungsfehler am Eingang, sondern auch von dem Signal abhängig. Wird z. B. auf 2 Nachkommastellen
abgeschnitten, so ist die kleinste Quantisierungsstufe 0, 25. Der Quantisierungsfehler
0, 2 tritt z. B. bei den Eingangssignalen 0, 2 und 0, 95 auf, sie werden auf die Werte 0
und 0, 75 abgebildet. Der Quantisierungsfehler am Ausgang ist jedoch im ersten Fall
tanh(0) − tanh(0, 2) = 0, 197 und im zweiten Fall tanh(0, 75) − tanh(0, 95) = 0, 105.
Man sieht also, dass der gleiche Fehler am Eingang einen unterschiedlich großen Fehler am Ausgang erzeugt. Deshalb ist es für diese nichtlineare Funktion notwendig, die
Verteilungsdichtefunktion des Eingangssignals mit einzubeziehen.
1
0.8
0.6
tanh(x)
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-4
-3
-2
-1
0
x
1
2
3
4
Abbildung 4.7: Wertekontinuierliche Funktion des tanh
65
4 Quantisierung in Systemen
x[k]
x̂[k]
ŷ[k]
Q
tanh
Abbildung 4.8: Untersuchung der Quantisierung bei der tanh–Funktion
Für die weiteren Überlegungen wird deshalb die Annahme getroffen, dass das Eingangssignal in dem Intervall ]α, β[ mit Λ = β −α gleichverteilt ist (Abb. 4.9). Zunächst
wird die Abbildung auf den Ausgang ohne Quantisierung betrachtet:
y = tanh(x)
(4.18)
Für die Verteilungsfunktion Fy (y) mit der Zufallsvariablen Y gilt:
Fy (y) = P{Y ≤ y} = P{tanh(X) ≤ y} = P{(X) ≤ artanh(y)}
= Fx (artanh(y))
(4.19)
(4.20)
Die Verteilungsfunktion Fx ist aufgrund der Annahme, dass das Eingangssignal im
Intervall ]α, β[ mit Λ = β − α gleichverteilt ist:
⎧
⎪
0
für x ≤ α
⎪
⎪
⎪
⎪
⎨
1
1
(4.21)
Fx (x) =
x − α für α < x < β
⎪
Λ
Λ
⎪
⎪
⎪
⎪
⎩
1
für x ≥ β
Damit ergibt sich für Fy :
⎧
⎪
0
⎪
⎪
⎪
⎪
⎨
1
1
Fy (y) =
artanh(y) − α
⎪
Λ
Λ
⎪
⎪
⎪
⎪
⎩
1
66
für y ≤ tanh(α)
für tanh(α) < y < tanh(β)
für y ≥ tanh(β)
(4.22)
4.4 Nichtlineare Funktionen
Durch Ableiten der Verteilungsfunktion erhält man die Verteilungsdichtefunktion (Abb.
4.10):
⎧
⎪
0
für y ≤ tanh(α)
⎪
⎪
⎪
⎪
⎨
1
(4.23)
fy (y) =
für tanh(α) < y < tanh(β)
2)
⎪
Λ(1
−
y
⎪
⎪
⎪
⎪
⎩
0
für y ≥ tanh(β)
0.6
fx (x)
0.5
0.4
0.3
A−4
A−3
A−2
A−1
A0
A1
A2
A3
0.2
0.1
0
-1
-0.5
0
x
0.5
1
Abbildung 4.9: Verteilungsdichtefunktion des Eingangssignals x für −α = β = 1
Mit dieser Verteilungsdichtefunktion kann der Mittelwert und der quadratische Mittelwert des kontinuierlichen Ausgangssignals y berechnet werden:
∞
yfy (y)dy
μy =
−∞
tanh(β)
μy =
tanh(α)
y
dy
Λ(1 − y 2 )
(4.24)
67
4 Quantisierung in Systemen
1.5
kontinuierlich
diskrete Werte
fy (y)
1
0.5
A−4 A−3
0
-1
-0.8
-0.6
A−2
A−1
-0.4
-0.2
A0
0
y
A1
0.2
0.4
A2
0.6
A3
0.8
1
Abbildung 4.10: Verteilungsdichtefunktion des Ausgangssignals y für −α = β = 1
μy 2 =
∞
y 2 fy (y)dy
−∞
tanh(β)
μy 2 =
tanh(α)
y2
dy
Λ(1 − y 2 )
(4.25)
Nun soll die Quantisierung näher untersucht werden. Betrachtet wird zunächst die
Quantisierung des Eingangssignals. Um die Quantisierung besser zu veranschaulichen,
wird in den folgenden Abbildungen von −α = β = 1 und einer Quantisierung mit
einer Vorkomma– und 2 Nachkommastellen ausgegangen. Die Wahrscheinlichkeit, dass
ein Wert am Eingang auf -1 quantisiert wird, ist das Integral über fx (x) von -1 bis
zum nächst größeren Quantisierungswert (hier -0,75), also die in Abb. 4.9 mit A−4
gekennzeichnete Fläche. Entsprechend kann die Wahrscheinlichkeit für die weiteren
Quantisierungsstufen berechnet werden, was in Abb. 4.9 mit Ai markiert ist.
In Abb. 4.10 ist die Verteilungsdichtefunktion für das Ausgangssignal y dargestellt. Der
Wertebereich hat sich auf ]tanh(−1); tanh(1)[ bzw. ] − 0, 761; 0, 761[ verkleinert. Wird
am Eingang quantisiert, so treten nur die diskreten Werte auf, die auf der x–Achse
markiert sind. Die Wahrscheinlichkeit, dass ein Wert tanh(−1) = −0, 761 auftritt, ist
gleich der Wahrscheinlichkeit, dass am Eingang ein Wert auf −1 quantisiert wird. Das
68
4.4 Nichtlineare Funktionen
bedeutet, die Flächen A−4 in Abb. 4.9 und 4.10 müssen gleich groß sein. Das Gleiche
gilt auch für die übrigen Flächen Ai .
6
Summe
A−4 ..A3
5
fe (e)
4
3
2
1
0
-0.25
-0.2
-0.15
-0.1
-0.05
0
e
Abbildung 4.11: Verteilungsdichtefunktion des Gesamtfehlers und der einzelnen Fehler
der Flächen Ai
Nun zu dem Fehler am Ausgang, der durch die Quantisierung am Eingang hervorgerufen wird:
e = ŷ − y
(4.26)
Um die Verteilungsdichtefunktion des Quantisierungsfehlers zu erhalten, müssen die
einzelnen Flächen Ai mit ihrem linken Rand jeweils in den Nullpunkt (y = 0) verschoben und dann noch an der Linie y = 0 gespiegelt werden. In Abb. 4.11 wurde dies
für die einzelnen Flächen durchgeführt und zusätzlich die Summe daraus, die fe (e)
entspricht, gebildet. Mathematisch ausgedrückt entspricht dies für eine Quantisierung
durch Abschneiden (e ≤ 0) am Eingang mit v > 0 Vorkomma– und n Nachkommastellen folgender Gleichung:
⎧
0
für th(i) − th(i + 1) > e
⎨
(4.27)
fe (e) =
⎩
−n
f
(th(i)
−
e)
sonst
α≤i·2 <β
y
69
4 Quantisierung in Systemen
mit
th(i) = tanh(i · 2−n )
(4.28)
Dabei sind die th(i) die in Abb. 4.10 markierten, quantisierten Werte. Durch α ≤ i ·
2−n < β wird erreicht, dass nur die Flächen innerhalb des Intervalls betrachtet werden.
Dabei wurde angenommen, dass die Intervallgrenzen α und β Quantisierungsschwellen
(Übergang von einer Quantisierungsstufe zur nächsten) entsprechen, ansonsten müssten die zwei Randflächen separat betrachtet werden. Mit th(i) − th(i + 1) > e wird die
Breite der Fläche Ai mit dem Fehler verglichen.
Damit kann der Mittelwert und der quadratische Mittelwert des Fehlers berechnet
werden:
∞
e · fe (e)de
μe =
−∞
μe =
th(i)
α≤i·2−n <β
μe2 =
μe2 =
∞
−∞
th(i+1)
th(i) − y
dy
Λ(1 − y 2 )
(4.29)
(th(i) − y)2
dy
Λ(1 − y 2 )
(4.30)
e2 · fe (e)de
th(i+1)
th(i)
α≤i·2−n <β
Analog zum Vorgehen beim Abschneiden kann für Runden die Verteilungsdichtefunktion des Fehlers angegeben werden:
⎧
0
für th(i) − th(i − 0, 5) > e > th(i) − th(i + 0, 5)
⎨
fe (e) =
⎩
fy (th(i) − e) sonst
α≤i·2−n <β
Daraus lässt sich wiederum der Mittelwert und quadratische Mittelwert des Fehlers
ableiten:
th(i+0,5)
th(i) − y
μe =
dy
(4.31)
2
th(i−0,5) Λ(1 − y )
−n
α≤i·2
μe2 =
<β
α≤i·2−n <β
70
th(i+0,5)
th(i−0,5)
(th(i) − y)2
dy
Λ(1 − y 2 )
(4.32)
4.4 Nichtlineare Funktionen
Mit Hilfe der Gleichungen von (4.24), (4.25), (4.30) und (4.32) kann das SNR des
Quantisierungsfehlers am Ausgang für Abschneiden und Runden berechnet werden:
SNRtanh =
σy2
μy2 − μ2y
=
μe2
μe2
(4.33)
In Tabelle 4.1 ist das mit diesen Gleichungen berechnete SNR für Runden, Abschneiden
und verschiedene n für −α = β = 1 und −α = β = 2 angegeben. Zusätzlich ist
Abschneiden mit Kompensation des Mittelwertes angegeben. Man kann erkennen, dass
sich das SNR mit jeder Stelle mehr um ca. 6 dB verbessert. Für Runden erreicht
man ein um ca. 6 dB besseres SNR als für Abschneiden. Wird abgeschnitten und der
Mittelwert kompensiert, so erreicht man für −α = β = 1 annähernd das gleiche SNR
wie für Runden. Für −α = β = 2 jedoch kann trotz der Mittelwertkompensation das
SNR von Runden nicht erreicht werden. Dies zeigt, wie schon bei der Multiplikation,
dass der Fehlermittelwert einer nichtlinearen Funktion die Fehlervarianz am Ausgang
vergrößern kann. Simulationen verifizierten die theoretischen Ergebnisse aus Tabelle
4.1.
SNR in dB
n
1
2
3
4
5
6
7
8
9
10
Abschn.
6,71
12,71
18,73
24,74
30,76
36,78
42,80
48,83
54,85
60,87
−α = β = 1
Runden Abschn. Komp.
12,81
12,13
18,75
18,07
24,75
24,08
30,76
30,09
36,78
36,11
42,80
42,13
48,83
48,15
54,85
54,17
60,87
60,19
66,89
66,21
Abschn.
12,76
18,75
24,76
30,78
36,80
42,82
48,84
54,86
60,88
66,90
−α = β = 2
Runden Abschn. Komp.
18,75
16,03
24,76
21,98
30,78
27,98
36,80
34,00
42,82
40,02
48,84
46,04
54,86
52,06
60,88
58,08
66,90
64,10
72,92
70,12
Tabelle 4.1: SNR am Ausgang des tanh für n Nachkommastellen bei der Quantisierung
am Eingang.
4.4.3 Lineares Kleinsignalmodell (Linear Small Signal Modell)
Constantinides et. al. beschreiben in [5, 10], wie die Quantisierung in nichtlinearen Systemen mit Hilfe eines Kleinsignalmodells untersucht werden kann. Für die
Linearisierung des nichtlinearen Systems nimmt man an, dass der Quantisierungs-
71
4 Quantisierung in Systemen
fehler, der durch Runden bzw. Abschneiden entsteht, das makroskopische Verhalten des Systems nicht ändert. Mit dieser Annahme können nichtlineare Komponenten lokal linearisiert und durch äquivalente Kleinsignalmodelle ersetzt werden, um
die Auswirkung der Quantisierung am Ausgang für bestimmte Quantisierungsmethoden zu bestimmen. Betrachtet wird eine differenzierbare Funktion mit N Eingängen Y (t) = f (X1 (t), X2 (t), . . . , XN (t)). Besitzen die Eingangssignale Xi (t) kleine Störungen xi (t), so kann die Auswirkung y(t) dieser Störungen auf das Ausgangssignal
Y (t) mit Hilfe der Taylor–Näherung 1. Ordnung bestimmt werden:
y(t) ≈ x1 (t)
∂f
∂f
+ . . . + xN (t)
∂X1
∂XN
∂f
Dabei gilt, dass die Näherung für jedes xi (t) linear ist, aber nicht zeitinvariant, da ∂X
i
von den Eingangssignalen X1 , ..., XN abhängt. Durch die Näherung der nichtlinearen
Funktion wurde ein lineares zeitvariantes Kleinsignalmodell generiert. Die Linearität
dieses Modells erlaubt es, den Mittelwert und die Varianz des Fehlers am Ausgang
aufgrund eines Fehlers mit beliebigem Mittelwert und beliebiger Varianz am Eingang
zu berechnen. Wurde der Mittelwert und die Varianz des Ausgangsfehlers für einen
Eingangsfehler mit bekanntem Mittelwert und Varianz ermittelt, so können der Mittelwert und die Varianz durch Skalierung für jeden beliebigen Eingangsfehler berechnet
werden, wenn das Verhältnis zwischen Mittelwert im Quadrat und Varianz des Eingangsfehlers gleich ist. Anders ausgedrückt: Wurde der Fehler am Ausgang für eine
Quantisierungsart und eine Wortbreite durch Simulation ermittelt, so kann der Quantisierungsfehler jeder beliebigen Wortbreite bei der gleichen Quantisierungsart durch
Skalierung ermittelt werden. Deshalb handelt es sich um eine hybride Methode, die
den Ausgangsfehler durch Simulation für eine Wortbreite bei einer Quantisierungsart
bestimmt und dadurch den Ausgangsfehler analytisch für alle Wortbreiten der gleichen Quantisierungsart berechnen lässt. Wie in den folgenden Beispielen zu sehen sein
wird, sind Simulationen bei dieser Methode notwendig. Für diese Simulationen ist es
wichtig, charakteristische Eingangssignale zu verwenden.
Hier nun ein Beispiel aus [5, 10], wie diese Methode angewendet werden kann. Es wird
eine rückgekoppelte Multiplikation Abb. 4.12 (a) betrachtet. Es sollen die Auswirkungen von Quantisierung an den Stellen (*) und (**) untersucht werden.
Beobachtungsschnittstellen
Im 1. Schritt werden für die nichtlinearen Komponenten (hier die Multiplikation C =
f (A, B) = A · B) Beobachtungsschnittstellen eingefügt und die Werte der Ableitungen
df
∂f
= B und ∂B
= A der nichtlinearen Komponente in einer Datei abgespeichert (Abb.
dA
4.13 (b)).
72
4.4 Nichtlineare Funktionen
X
A
•C
(*)
(**)
Y
B
T
(a)
∂f
∂B
X
(*)
•
(**)
Y
∂f
∂A
x
∂f
∂B
T
•
∂f
∂B
(c)
∂f
∂A
e∗
x
•
+
+
y
T
(b)
x
(**)
•
∂f
∂A
∂f
∂A
(*)
+
y∗
∂f
∂B
•
T
e∗∗
•
+
+
y∗∗
•
T
(d)
(e)
e∗
∂f
∂B
•
+
ey∗
ey∗∗
e∗∗
T
(f)
(g)
Abbildung 4.12: Beispiel für die Analyse des Quantisierungsrauschens eines nichtlinearen Systems mit Hilfe des Kleinsignalmodell aus [5, 10]
73
4 Quantisierung in Systemen
Linearisierung
In diesem Schritt wird das System in ein lineares Kleinsignalmodell umgewandelt. Dabei werden alle linearen Komponenten unverändert übernommen und die nichtlinearen
Komponenten durch das entsprechende Taylor–Modell (Taylor–Näherung 1. Ordnung)
ersetzt (siehe Abb. 4.12 (c)). Die Taylor–Koeffizienten sind dabei zusätzliche Eingänge,
deren Werte die im 1. Schritt abgespeicherten Daten sind.
Beaufschlagung mit Rauschen
Danach wird für jede Stelle, an der quantisiert werden soll, ein Modell erstellt, in
dem an dieser Stelle Rauschen addiert wird (Abb. 4.12 (d) und (e)). Um das Kleinsignalmodell zu vervollständigen, wird an den ursprünglichen Eingängen (hier x) Null
angelegt. Dadurch kann das Kleinsignalmodell für die Simulation vereinfacht werden
(Abb. 4.12 (f) und (g)).
Wird nun mit einer Simulation die Ausgangsvarianz σe2y∗ ermittelt, die durch einen
2
gleichverteilten Fehler e∗ mit der Varianz σe∗
entsteht, so kann aufgrund der Linearität
des Kleinsignalmodells die Ausgangsvarianz für jedes beliebige gleichverteilte Rauschen
an der Stelle (*) analytisch berechnet
werden. Wird für die Simulation ein gleichver√
teilter Fehler im Intervall ] − 2 3, 0] gewählt, so ist die Varianz σe2 = 1. Die Simulation
kann als einheitenlose Sensibilitätsmessung für Abschneiden gesehen werden.
Eine weitere Möglichkeit, die Auswirkung der Quantisierung an verschiedenen Stellen
zu messen, ist in Abb. 4.13 (a) dargestellt. Man geht wie in Abb. 4.12 von einer
rückgekoppelten Multiplikation aus und will die Auswirkung von Quantisierung an
den Stellen (*) und (**) auf den Ausgang ermitteln. Dazu werden drei Simulationen
durchgeführt. Zum Einen das System ohne Quantisierung 4.13 (a) und zum Anderen
das System mit zusätzlicher Addition von gleichverteiltem Rauschen an jeweils einer
Stelle, die quantisiert werden soll (Abb. 4.13 (b) und (c)). Die Eingangssignale müssen
dazu bei allen drei Simulationen gleich sein. Man erhält den Einfluss des Fehlers e∗
bzw. e∗∗ auf den Ausgang durch folgende Subtraktion: ey∗ = Ye∗ − Y bzw. ey∗∗ =
Ye∗∗ − Y. Anhand der Varianz der Fehler e∗ und e∗∗ und der Varianz der daraus
resultierenden Auswirkungen ey∗ und ey∗∗ auf den Ausgang kann die Empfindlichkeit
des Systemausgangs gegenüber den Stellen (*) und (**) berechnet werden. Dabei muss
jedoch bei den Simulationen mit dem additiven Rauschen e∗ und e∗∗ beachtet werden,
dass das makroskopische Verhalten des Systems nicht verändert wird. Das heißt, das
additive Rauschen muss sehr klein sein.
4.4.4 Lineares Kleinsignalmodell am Beispiel des tanh
Nun wird das lineare Kleinsignalmodell am Beispiel des bereits in Abschnitt 4.4.2
untersuchten tanh angewendet:
f (x) = tanh(x)
74
4.4 Nichtlineare Funktionen
X
•
(*)
(**)
Y
T
(a)
e∗
X
•
e∗∗
+
Ye∗
X
T
•
+
Ye∗∗
T
(b)
(c)
Abbildung 4.13: Modifizierte Vorgehensweise für die Analyse des Quantisierungsrauschens mit dem Kleinsignalmodell
Dazu wird die in Abb. 4.14 (a) dargestellte Funktion bezüglich der Stelle (*) untersucht. Im ersten Schritt Abb. 4.14 (b) wird eine Beobachtungsschnittstelle eingefügt,
= 1 − tanh(x)2 für eine repräsentative Eingangssignalfolge berechnet. Im
welche ∂f
∂x
nächsten Schritt Abb. 4.14 (c) wird die nichtlineare Funktion durch das lineare Kleinsiersetzt. Durch die Beaufschlagung von Rauschen
gnalmodell der Multiplikation mit ∂f
∂x
mit bekannter Varianz und Mittelwert an der Stelle (*) und Ermittlung des daraus
resultierenden Rauschens am Ausgang kann die Sensibilität des tanh bezüglich Quantisierung an dieser Stelle berechnet
werden. Diese Simulation
wird für gleichverteiltes
√
√ √
Rauschen im Intervall ] − 3, 3] für Runden und ] − 2 3, 0] für Abschneiden durch2
= 1. In Tabelle 4.2 sind die durch
geführt. Dabei ist die Varianz des Rauschens σe∗
Runden
Abschn.
−α = β = 1
2
σy2
σe∗y
μe∗y2
0,2378 0,6109 0,6109
0,2378 0,7136 2,4549
−α = β = 2
2
σy2
σe∗y
μe∗y2
0,5167 0,3310 0,3327
0,5167 0,6318 1,3303
Tabelle 4.2: Durch Simulation ermittelte Parameter des Kleinsignalmodells (Abb. 4.14
2
= 1 (100000 Simulationswerte)
für σe∗
75
4 Quantisierung in Systemen
x[k](*)
tanh
y[k]
(a)
x[k]
tanh’
df
dx
(b)
e∗
df
dx
•
ye∗
(c)
Abbildung 4.14: Lineares Kleinsignalmodell angewendet auf die tanh–Funktion
Simulation ermittelten statistischen Parameter für ey∗ eingetragen. Dabei wurde für
das Eingangssignal eine Gleichverteilung im Intervall ]α; β[ angenommen. Weiter wurde die Varianz des Ausgangssignals σy2 durch Simulation ermittelt. Mit Hilfe dieser
durch Simulation ermittelten Werte kann das SNR für beliebige Quantisierungen berechnet werden (Tabelle 4.3). Vergleicht man diese Werte mit den theoretischen Werten
aus Tabelle 4.1, so sind nur unwesentliche Unterschiede festzustellen. Dies zeigt, dass
für das Beispiel des tanh das lineare Kleinsignalmodell sehr genaue Aussagen über die
Auswirkung von Rauschen erlaubt. Der Vorteil des Kleinsignalmodells gegenüber der
theoretischen Berechnung ist, dass die Charakteristik des Eingangssignals nicht genau
untersucht werden, sondern lediglich eine repräsentative Eingangssignalfolge bekannt
sein muss.
4.5 Übergang von LTI–Systemen auf nichtlineare
Systeme
In den vorhergehenden Abschnitten wurde die Quantisierung in LTI–Systemen und
nichtlinearen Systemen betrachtet. In diesem Abschnitt wird auf Besonderheiten eingegangen, die beim Übergang von LTI–Systemen auf nichtlineare Systeme beachtet
werden sollten. In Abschnitt 4.2 wurde für LTI–Systeme festgestellt, dass der Fehlermittelwert am Eingang und der Fehlermittelwert, der bei der Quantisierung innerhalb
des Systems entsteht, sich nur auf den Fehlermittelwert am Ausgang auswirkt. Ist das
System bekannt und sind die zu quantisierenden Stellen gleichverteilt, so kann der
Fehlermittelwert am Ausgang vorhergesagt werden. Von der Weiterverarbeitung des
76
4.6 Zusammenfassung
n
1
2
3
4
5
6
7
8
9
10
SNR in dB
−α = β = 1
−α = β = 2
Abschn. Runden Abschn. Runden
6,67
12,72
12,71
18,75
12,69
18,74
18,72
24,77
18,72
24,76
24,75
30,79
24,74
30,78
30,77
36,81
30,76
36,80
36,79
42,83
36,78
42,82
42,81
48,85
42,80
48,84
48,83
54,87
48,82
54,86
54,85
60,89
54,84
60,88
60,87
66,91
60,86
66,90
66,89
72,93
Tabelle 4.3: SNR am Ausgang des tanh für n Nachkommastellen, mit Hilfe des Kleinsignalmodells ermittelt
Ausgangs des LTI–Systems hängt es ab, ob der Fehlermittelwert durch eine Subtraktion neutralisiert werden muss, oder ob der Fehlermittelwert keine Auswirkung auf
die weitere Verarbeitung hat. Im Gegensatz dazu wurde in Abschnitt 4.4 gezeigt, dass
sich der Fehlermittelwert am Eingang nichtlinearer Funktionen die Varianz des Fehlers am Ausgang vergrößern kann. Dies bedeutet, dass sich das Signal verschlechtert
und diese Verschlechterung nicht mehr rückgängig gemacht werden kann. Deshalb sollte beim Übergang von LTI–Systemen auf nichtlineare Systeme der Fehlermittelwert
kompensiert werden. Damit kann mit einem HW–Aufwand von nur einer Subtraktion
eine negative Auswirkung des Fehlermittelwertes am Eingang auf die Fehlervarianz
am Ausgang verhindert werden.
4.6 Zusammenfassung
In diesem Kapitel wurde die Quantisierung in Systemen untersucht. Dabei wurde
zunächst festgestellt, dass die m LSBs in einem LTI–System an jeder Stelle diskret
gleichverteilt sind, wenn die m LSBs des Eingangssignals diskret gleichverteilt sind.
Weiter konnte gezeigt werden, dass die binären Nachkommastellen eines Signals mit
normiert zentrierter Normalverteilung annähernd gleichverteilt sind. Dies rechtfertigt
die in den vorhergehenden Kapitel getroffene Annahme des gleichverteilten Fehlers
auch für normalverteilte Eingangssignale. Weiter wurde die Quantisierung in LTI–
Systemen untersucht. Dabei unterschieden sich Runden und Abschneiden lediglich in
einem Fehlermittelwert, der berechnet und kompensiert werden kann. Dies erlaubt es,
77
4 Quantisierung in Systemen
das in HW aufwändigere Runden durch Abschneiden und einer Kompensation des Fehlermittelwertes am Ausgang zu ersetzen. Der statistische Fehler, der dabei entsteht,
ist in beiden Fällen gleich.
Bei der Berechnung des Skalarprodukts von Zufallsvektoren der Länge N konnte für
eine Quantisierung der Produkte durch Abschneiden mit zunehmendem N eine deutliche Verschlechterung des SNR festgestellt werden. Für Runden zeigte sich bei sehr
großen N ebenfalls eine Verschlechterung des SNR. Grund für diesen Effekt ist der Fehlermittelwert, der den quadratischen Mittelwert des Fehlers vergrößert und dadurch
das SNR verschlechtert. Dies zeigte sich auch beim Skalarprodukt von komplexen Vektoren. Dabei verschlechterte sich allerdings nur das SNR des Imaginärteils. Durch die
Subtraktion bei der Berechnung des Realteils kompensierte sich der Fehlermittelwert.
Es wurden verschiedene Methoden vorgestellt, den Fehlermittelwert des Imaginärteils
zu kompensieren, und deren HW–Aufwand sowie deren Vorteile verglichen.
Anschließend wurden nichtlineare Funktionen genauer untersucht. Dabei wurde für
die bereits in Kapitel 3 untersuchte Funktion, der Multiplikation zweier Zufallswerte,
festgestellt, dass ein Fehlermittelwert eines Eingangssignals nicht nur den Fehlermittelwert am Ausgang, sondern auch die Varianz des Fehlers am Ausgang vergrößert.
Deshalb kann die Verschlechterung durch Abschneiden im Gegensatz zu Runden nicht
mehr rückgängig gemacht werden. Dies zeigt, dass eine Kompensation des Fehlermittelwertes bei nichtlinearen Funktionen im Allgemeinen nicht ausreichend ist, um bei
gleicher Stellenzahl mit Abschneiden das gleiche SNR wie mit Runden zu erreichen.
Am Beispiel des tanh, einer nichtlinearen Funktion, wurde gezeigt, dass der Fehler am
Ausgang, der durch die Quantisierung am Eingang entsteht, von der Verteilungsdichtefunktion des Eingangssignals abhängt. Für ein gleichverteiltes Eingangssignal wurde
dieser Fehler analytisch berechnet.
Eine andere Möglichkeit, die Auswirkung einer nichtlinearen Funktion auf den Quantisierungsfehler zu ermitteln, ist das in [5, 10] vorgestellte lineare Kleinsignalmodell.
Dieses Modell wurde in diesem Kapitel kurz vorgestellt und anhand der Funktion des
tanh angewandt. Die dabei ermittelten Ergebnisse weichen nur sehr wenig von den
analytisch berechneten Ergebnissen ab.
Abschließend wurde in diesem Kapitel nochmals auf den Fehlermittelwert eingegangen,
der beim Übergang von LTI–Systemen auf nichtlineare Systeme kompensiert werden
sollte, um eine unnötige Vergrößerung der Varianz des Quantisierungsfehlers zu vermeiden.
78
5 Multiuser–Detektion basierend auf
einem rekurrenten neuronalen Netz
Nachdem in den vorherigen Kapiteln die Quantisierung bei verschiedenen Funktionen
untersucht wurde, wird nun eine MUD vorgestellt. Anhand dieses Beispiels aus der
Praxis werden mit den gewonnen Erfahrungen die Wortlängen der HW–Realisierung
optimiert. Zunächst wird die TD/CDMA Übertragung beschrieben. Anschließend wird
ein DS–CDMA Übertragungsmodell vorgestellt. Mit Hilfe dieses Modells wird die Beschreibung der Übertragung mit einer zeitdiskreten Ersatzkanalmatrix erläutert, anhand der die MUD basierend auf einem RNN hergeleitet wird. Abschließend wird eine
HW–Realisierung vorgestellt, bei der die Wortlängen noch zu bestimmen sind.
5.1 TD/CDMA–Übertragungsverfahren
TD/CDMA ist eine Kombination von Time–Division–Multiple–Access (TDMA) und
CDMA. Bei TDMA werden die Daten mehrerer Nutzer auf einem Kanal übertragen.
Dabei senden die Nutzer ihre Daten in verschiedenen Zeitschlitzen. CDMA bedeutet, dass mehrere Nutzer oder Quellen ihre Daten gleichzeitig auf derselben Frequenz
übertragen. Dazu verwendet jede Quelle eine Sequenz, mit der die zu übertragenden
Symbole gespreizt werden. Die Datenrate auf dem Übertragungskanal, auch Chip–
Rate genannt, ist somit ein Vielfaches der Symbolrate. Senden mehrere Nutzer bzw.
Quellen gleichzeitig ihre gespreizten Symbole, so entsteht ein Signalgemisch. Die verwendeten Spreizsequenzen werden orthogonal oder quasi–orthogonal gewählt, so dass
auf der Empfangsseite, sofern der Spreizcode bekannt ist, die gesendeten Symbole
detektiert werden können. TD/CDMA bedeutet nun, dass die verschiedenen Nutzer
bzw. Quellen ihre gespreizten Symbole in Zeitschlitzen übertragen. Man spricht für
jeden Nutzer bzw. jede Quelle auch von Subkanal. Die Zeitschlitze können dabei von
mehreren Subkanälen gleichzeitig genutzt werden.
5.2 DS–CDMA–Übertragungsmodell
In diesem Abschnitt wird ein Übertragungsmodell für den Uplink gezeigt und eine
vektorwertige Schreibweise eingeführt, die bereits in [14, 18, 20, 34] benutzt wurde.
Es wird von einem synchronen Uplink ausgegangen, das heißt, alle Subkanäle beginnen
zum selben Zeitpunkt mit einem Zeitschlitz.
79
5 Multiuser–Detektion basierend auf einem rekurrenten neuronalen Netz
kTS
x1 [k]
kTS
S 1 (t)
s1 (t)
w∗1 (−t)
h1 (t)
y 1 (t)
kTS
x2 [k]
kTS
S 2 (t)
..
s2 (t)
..
n(t)
h2 (t)
..
g(t)
+
+
w∗2 (−t)
y 2 (t)
x
2 [k]
..
..
kTS
xK [k]
x
1 [k]
kTS
S K (t)
sK (t)
w∗K (−t)
hK (t)
y K (t)
x
K [k]
Matched–Filter–Bank
wl (t) = 12 S l (t) ∗ hl (t)
n(t)
kTS
g(t)
x[k]
wT (t)
+
w∗ (−t)
y(t)
ñ(t)
kTS
x[k]
kTS
kTS
y(t)
Φ(t)
[k]
x
+
[k]
x
ñ[k]
x[k]
R[k]
+
[k]
x
Abbildung 5.1: DS–CDMA–Übertragungsmodell aus [14]
Abb. 5.1 zeigt den Aufbau eines synchronen DS–CDMA–Uplinks mit K Subkanälen.
Es wird eine Paketübertragung betrachtet, bei der jeder Subkanal l ∈ {1, . . . , K}
80
5.2 DS–CDMA–Übertragungsmodell
Pakete mit NB Informationssymbolen xl [k] ∈ {+1 + j, +1 − j, −1 + j, −1 − j} mit
k ∈ {1, . . . , NB } überträgt. hl (t) sind dabei die Kanalstoßantworten der einzelnen
Subkanäle. Die folgenden Betrachtungen gelten auch für den Downlink, dabei sind alle
linear verzerrenden Kanäle hl (t) gleich. Für die Darstellung des Eingangssignals g(t)
am Empfänger ergibt sich in der äquivalenten Tiefpassdarstellung:
B
1 x [k]S l (t − kTS ) ∗ hl (t) + n(t)
g(t) =
2 l=1 k=1 l
K
N
(5.1)
TS bezeichnet dabei die Symboldauer der Teilnehmersignale. n(t) stellt die Störung
der Sendesignale durch additives weißes Gaußsches Rauschen (AWGR) mit zweiseitiger Leistungsdichte N0 dar und ist komplexwertig. Der Faktor 12 in Gleichung (5.1)
wird wegen der Definition der Bandpass–Tiefpass–Transformation eingefügt, welche
die gleiche Transformation für die Signale und Impulsantworten verwendet [19, 21].
Die Sequenz S l (t) besteht aus N Chip–Elementarsignalen e(t) der Dauer TC , wobei
TC = TNS ist. Sie lässt sich folgendermaßen darstellen:
S l (t) =
N
−1
sl [kC ]e(t − kC TC )
(5.2)
kC =0
Dabei sind sl [kC ] komplexe Spreizsequenzen.
Die linear verzerrenden Kanäle hl (t) werden für die Dauer eines Datenpakets als konstant angenommen. Dadurch kann die Hintereinanderschaltung von S l (t) und hl (t) als
allgemeines lineares zeitinvariantes System modelliert werden. Für diese Zusammenschaltung lässt sich der Vektor
w(t) = (w1 (t), w2 (t), . . . , wK (t))T
(5.3)
1
wl (t) = S l (t) ∗ hl (t)
2
(5.4)
mit
angeben.
Für den Vektor y(t) =
ergibt sich:
T
y 1 (t), y 2 (t), . . . , y K (t)
nach den Kanal–Matched–Filtern
y(t) =
NB
(t)
Φ(t − kTS ) x[k] + n
(5.5)
k=1
Die Matrix Φ(t) enthält dabei alle Korrelationsfunktionen zwischen wi (t) und wj (t)
mit i, j ∈ {1, . . . , K}:
(5.6)
Φ(t) = w∗ (−t) ∗ wT (t)
81
5 Multiuser–Detektion basierend auf einem rekurrenten neuronalen Netz
Die einzelnen Elemente Φi,j (t) der Matrix Φ(t) werden dabei folgendermaßen berechnet:
(5.7)
Φi,j (t) = w∗i (−t) ∗ wj (t)
Der Vektor x[k] wird aus den Informationssymbolen xl [k] der Subkanäle l = 1 . . . K
gebildet:
⎞
⎛
x1 [k]
⎜ x [k] ⎟
⎟
⎜ 2
x[k] = ⎜ .. ⎟
(5.8)
⎝ . ⎠
xK [k]
Wird y(t) synchron abgetastet, so kann die gesamte Übertragungsstrecke wie folgt
zusammengefasst werden:
[k]
[k] = R[k] ∗ x[k] + n
x
∞
[k]
=
R[ν] · x[k − ν] + n
(5.9)
(5.10)
ν=−∞
Dabei ist:
[k]
x
R[k]
(t)
n
[k]
n
=
=
=
=
y(kTS )
Φ(kTS )
n(t) ∗ w∗ (−t)
(kTS )
n
Die Übertragung eines Pakets pro Subkanal lässt sich durch einen Paketvektor der
Länge K · NB darstellen:
⎛
⎞
x[1]
⎜ x[2] ⎟
⎜
⎟
x=⎜
(5.11)
⎟
..
⎝
⎠
.
x[NB ]
Die Dimension der Ersatzkanalmatrix R für die Übertragung der K Pakete der K
Subkanäle ergibt sich zu (K · NB × K · NB ). Der Empfangsvektor kann folgendermaßen
berechnet werden:
=R·x+n
(5.12)
x
, x und der Ersatzkanalmatrix R.
Abb. 5.2 zeigt die Struktur der Vektoren x
Die Ersatzkanalmatrix hat eine Block–Toeplitz–Struktur und besteht aus Untermatrizen der Dimension K × K. NR ist die Anzahl der Untermatrizen R[k] mit k > 0,
welche ungleich Null sind.
82
5.3 Rekurrentes neuronales Netz als Multiuser–Detektor
0
x
e1 [1]
B
..
B
B
.
B
B x
eK [1]
B
B
B
B
..
B
.
B
B
B
B
B
B
..
B
B
.
B
B
B
B
B
B
..
B
B
.
B
B
B
B
B
B
..
B
.
B
B
B
B
B
B
B
..
B
.
B
B
B
B x
B e1 [NB ]
B
.
B
..
@
x
eK [NB ]
x
1
=
1 0
0
C B
C B
C B R[0]
C B
C B
C B
C B
C B
C B
C B
···
C B
C B
C B
C B
C B
C B
C B
C B R[NR ]
C B
C B
C B
C B
C B
C B
..
C=B
C B
.
C B
C B
C B
C B
C B
C B
..
C B
.
C B
C B
C B
C B
C B
C B
C B
..
C B
.
C B
C B
C B
C B
C B
C B
C B
A @
0
..
.
..
.
..
.
..
.
···
R[−NR ]
0
R[0]
···
R[−NR ]
···
R[0]
···
R[−NR ]
0
..
.
..
..
..
..
..
.
R[NR ]
..
.
..
..
.
..
.
.
.
.
···
R[0]
···
.
R[NR ]
···
R[0]
.
..
R[NR ]
···
.
R
x1 [1]
C B
..
B
C
C B
.
0
C B
C B xK [1]
C B
C B
C B
C B
..
..
C B
.
.
C B
C B
C B
C B
C B
C B
..
..
C B
C B
.
.
C B
C B
C B
C B
C B
C B
..
..
C·B
C B
.
.
C B
C B
C B
C B
C B
C B
..
C B
.
R[−NR ] C B
C B
C B
C B
C B
C B
C B
..
C B
.
···
C B
C B
C B
C B x [N ]
C B 1 B
C B
.
C B
..
A @
R[0]
xK [NB ]
·
1
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C+n
C e
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
A
x +n
, x und R bei K Subkanälen und Paketen mit NB Symbolen.
Abbildung 5.2: x
5.3 Rekurrentes neuronales Netz als
Multiuser–Detektor
gibt es verschiedene MöglichZur Detektion der gesendeten Symbole aus dem Signal x
keiten. Der Single–User–Detektor führt eine harte Entscheidung anhand des empfangenen Symbolvektors aus. Der Decorrelation–Detektor multipliziert den Empfangsvektor
mit der inversen Ersatzkanalmatrix R. Weiter gibt es noch den minimum Mean–
x
Square–Error–Detektor, den Multistage–Detektor bzw. Twostage–Detektor und den
optimalen Detektor. Eine genauere Beschreibung dieser Detektionsalgorithmen ist in
[13] zu finden. Die im folgenden beschriebene MUD basierend auf einem RNN zeichnet sich durch ihre guten Detektionsergebnisse bei moderatem Aufwand aus. Genauere
Untersuchungen dazu sind in [13] zu finden.
Künstliche neuronale Netze wurden aus den natürlichen Nervenzellen (Neuronen) und
ihrer Verschaltung abgeleitet. Als komplexestes Beispiel für ein natürliches neuronales
83
5 Multiuser–Detektion basierend auf einem rekurrenten neuronalen Netz
Netz dient das Gehirn, das aus fünfzehn Milliarden Neuronen besteht und unvorstellbar
viele Kombinationsmöglichkeiten für die Verschaltung hat.
Abb. 5.3 zeigt ein rückgekoppeltes Netzwerk, das sich durch eine vollständige Vernetzung auszeichnet. Die Gewichtungsfaktoren T ij sind dabei die Elemente der Matrix T,
die folgendermaßen berechnet wird:
T = −(R − Diag(R))
v1
Neuron
1
v2
Neuron
2
v3
Neuron
3
..
..
vr
Neuron
r
(5.13)
x̃1
T 11
T 12
T 13
...
T 1r
T 21
T 22
T 23
...
T 2r
T 31
T 32
T 33
...
T 3r
..
..
..
T r1
T r2
T r3
x̃2
x̃3
x̃r
...
...
..
T rr
Abbildung 5.3: Zeitdiskretes rückgekoppeltes Netzwerk mit vollständiger Vernetzung
aus [14]
Diese Matrix hat die Dimension r × r mit r = K · NB . Man unterscheidet bei der
Berechnung des Netzwerkes das parallele und das serielle Update–Verfahren. Beim
84
5.4 HW–Realisierung
parallelen Update–Verfahren, das heißt alle Neuronen werden gleichzeitig aktualisiert,
ergibt sich für ein Neuron v i des rückgekoppelten Netzwerkes zum Zeitpunkt κ + 1:
r
(5.14)
v i [κ + 1] = σ
T ij v j [κ] + x
i
j=1
Abb. 5.4 veranschaulicht die Funktion eines RNN–Detektors bei parallelem Update.
Beim seriellen Update–Verfahren, das heißt die Neuronen werden nacheinander aktualisiert, ergibt sich für ein Neuron v i des rückgekoppelten Netzwerkes zum Zeitpunkt
κ + 1:
i−1
r
(5.15)
v i [κ + 1] = σ
T ij v j [κ + 1] +
T ij v j [κ] + xi
j=1
j=i
In [36] wurden die Update–Verfahren untersucht. Dabei zeigte sich, dass das sequentielle Update–Verfahren bessere Ergebnisse liefert.
x
R − Diag(R)
− +
ENT
x̂
v[κ − 1]
T
v[κ]
σ(.)
Abbildung 5.4: RNN–Detektor mit parallelem Update–Verfahren
Als Aktivierungsfunktion σ(.) wird häufig die hyperbolische Tangensfunktion gewählt.
Abb. 5.5 zeigt den tanh für verschiedene c, wobei c die Steigung im Nullpunkt angibt.
Dieses c wird linear bei einem RNN–Detektor von Iteration zu Iteration erhöht:
c[κ] =
cmax
κ
Niter
(5.16)
Niter ist dabei die Anzahl der Iterationen, die das RNN durchläuft. In [16, 35] wurden
andere Varianten für den Anstieg von c von Iteration zu Iteration untersucht.
5.4 HW–Realisierung
Betrachtet wird nun die HW–Realisierung einer MUD basierend auf einem RNN. Als
Zieltechnologie werden FPGAs verwendet. Wie schon im vorherigen Abschnitt erwähnt
85
5 Multiuser–Detektion basierend auf einem rekurrenten neuronalen Netz
c
tanh(cx)
1.0
0.5
−5
−4
−3
−2
−1
1
2
3
4
5
x
−0.5
−1.0
Abbildung 5.5: Aktivierungsfunktionen σ(x) = tanh(c · x) für c = 0.2, 0.5, 1.0, 2.0, 5.0
wurde, liefert das serielle Update–Verfahren bessere Ergebnisse. Auf den ersten Blick
erscheint jedoch das parallele Update–Verfahren besser für eine HW–Realisierung, da
alle Neuronen parallel berechnet werden können und damit ein sehr großer Durchsatz erreicht werden kann. Ist jedoch die Ersatzkanalmatrix R groß, so müssen die
Werte in Speichern abgelegt werden. Auf die einzelnen Werte im Speicher kann jedoch nur sehr begrenzt parallel zugegriffen werden. Dies bedeutet, dass der Vorteil
alle Neuronen, parallel zu berechnen, nicht ausgenutzt werden kann, und daraus der
Nachteil entsteht, dass die Neuronen zweimal abgespeichert werden müssen. Deshalb
wird im Weiteren nur die Realisierung mit seriellem Update betrachtet, die ohnehin
die besseren Ergebnisse liefert.
Weiter wird von dem in [27] untersuchten System ausgegangen, bei dem über maximal
K = 16 Subkanäle Datenpakete mit NB = 61 Symbolen übertragen werden. Dadurch
ergibt sich eine Ersatzkanalmatrix R mit der Dimension 976 × 976. Dabei sind allerdings, wie in Abb. 5.2 zu sehen ist, lediglich Elemente nahe der Diagonalen ungleich
Null. Im Weiteren wird wie in [27] angenommen, dass NR = 2 ist. Dies bedeutet, dass
die gesamte Ersatzkanalmatrix aus den 5 (16 × 16) Matrizen R[−2], ..., R[2] besteht.
Daraus folgt, dass für die Berechnung eines Neurons ca. 80 komplexe Multiplikationen
und Additionen notwendig sind.
86
5.4 HW–Realisierung
Speicher ({T} ,{v})
•
•
•
+
•
•
+
•
•
+
+
•
+
+
+
SUM
Abbildung 5.6: Berechnung von Zwischenergebnissen durch 8 parallele Multiplikationen, deren Ergebnisse addiert werden
Da für eine komplexe Multiplikation 4 reellwertige Multiplikationen und zwei reellwertige Additionen und für eine komplexe Addition zwei reellwertige Additionen notwendig sind, benötigt man für die Berechnung eines Neurons insgesamt 320 reellwertige
Multiplikationen und 320 reellwertige Additionen. Um einen möglichst hohen Durchsatz zu erreichen, ist es notwendig, viele Multiplikationen und Additionen parallel
durchzuführen. Das Problem dabei ist jedoch der Speicherzugriff, der nur begrenzt
parallel durchgeführt werden kann. Deshalb wird wie schon in [27, 29, 30, 31] eine Architektur gewählt, die sowohl parallel als auch sequentiell arbeitet. Dazu werden 4 mal
8 Multiplizierer parallel verwendet, die in 10 Takten 320 Multiplikationen durchführen.
Die Ergebnisse von jeweils 8 Multiplizierern werden mit 7 Addierern zu einem Wert
aufaddiert. Anschließend müssen die 4 aufaddierten Werte zum Real– bzw. Imaginärteil zusammengefasst werden. Danach wird der Real– bzw. Imaginärteil 10 Takte lang
akkumuliert. Nach 10 Takten entsprechen die zwei akkumulierten Wert dem Real–
bzw. Imaginärteil der Summe der 80 komplexwertigen Multiplikationsergebnisse. Danach muss lediglich noch x
i addiert und die Aktivierungsfunktion berechnet werden.
87
5 Multiuser–Detektion basierend auf einem rekurrenten neuronalen Netz
Abb. 5.6 zeigt die Struktur der 8 Multiplizierer und der 7 Addierer. Diese Struktur
wird 4 mal parallel benötigt. Dabei werden die Zwischenergebnisse SUM , SUM ,
SUM und SUM berechnet. In Abb. 5.7 werden die Schaltungen gezeigt, welche
die 4 Ergebnisse zum Real– bzw. Imaginärteil addiert bzw. subtrahiert und aufakkumuliert.
Für die Berechnung der Aktivierungsfunktion wird eine stückweise lineare Näherung
verwendet, da sich bereits in [27, 39, 40] zeigte, dass sie zu keiner Verschlechterung
der Ergebnisse führt. Diese Näherung ist in HW sehr einfach durch eine Multiplikation
und zwei Komparatoren, mit denen die Sättigung realisiert wird, umzusetzen.
SUM
xi }
SUM {
+
−
c[κ]
SUM
xi }
SUM {
+
+
+
T
T
+
{vi [κ + 1]}
+
{vi [κ + 1]}
Abbildung 5.7: Berechnung des Real– und Imaginärteils der Neuronen
88
c[κ]
6 Quantisierung bei der MUD
basierend auf dem RNN
In diesem Kapitel werden nun die theoretischen Überlegungen der vorherigen Kapitel anhand eines Beispiels aus der Praxis angewandt. Dazu wird zunächst das verwendete Simulationsszenario vorgestellt und optimiert. Anschließend wird anhand der
im vorherigen Kapitel vorgestellten Architektur der HW–Aufwand in Abhängigkeit
der Wortbreiten ermittelt. Danach werden die Auswirkungen der Quantisierung der
Eingangssignale untersucht und festgelegt, um mit Hilfe einer HW–Realisierung die
Auswirkungen von weiteren Quantisierungen zu ermitteln. Abschießend wird der HW–
Aufwand von verschiedenen Quantisierungsszenarien verglichen.
6.1 Simulationsszenario
In diesem Abschnitt wird das Simulationsszenario beschrieben und optimiert, welches
für die Software (SW) Simulationen und Berechnungen in diesem Kapitel verwendet
wird. Die Größe des Rauschens n wird durch das Eb /N0 charakterisiert, wobei Eb die
Energie pro Bit und N0 die zweiseitige Rauschleistungsdichte eines Quadraturkanals
ist. Mit der Bitfehlerrate Pb wird die Qualität der Empfangssymbole nach der MUD
beschrieben. Als Zielanwendung wird von einer Sprachübertragung ausgegangen, für
die eine Bitfehlerrate Pb kleiner 10−3 gefordert wird.
Als Übertragungskanal wird ein in [15] beschriebener Kanal verwendet, der charakteristisch für eine Universal Mobile Telecommunication System (UMTS) Übertragung
ist. In der folgenden Tabelle sind die einzelnen Pfadverzögerungen und die mittlere
Leistung der Pfade angegeben.
Pfad Verzögerung mittlere Leistung
in ns
in dB
1
0
0.0
2
200
-0.9
3
800
-4.9
4
1200
-8.0
5
2300
-7.8
6
3700
-23.9
Weiter wird für die Detektion von einer idealen Kanalschätzung ausgegangen.
89
6 Quantisierung bei der MUD basierend auf dem RNN
Wie schon in Abschnitt 5.4 erwähnt, wird die Aktivierungsfunktion mit einer stückweisen linearen Funktion genähert. Diese Funktion ist in Abb. 6.1 dargestellt. Die
σ(x)
1
1
c
− 1c
x
−1
Abbildung 6.1: Stückweise lineare Näherung der Aktivierungsfunktion
Steigung im Nullpunkt wird wie bei der Aktivierungsfunktion mit dem tanh mit c bezeichnet. Bei der Berechnung des RNN steigt c linear mit der Anzahl der Iterationen.
Die Steigung in der letzten Iteration wird mit cmax definiert. Damit berechnet sich die
Steigung c in der Iteration κ:
cmax
c[κ] =
κ
(6.1)
Niter
Dabei ist Niter die Anzahl der durchlaufenen Iterationen. Die Symboldauer unseres
Übertragungssystems ist TS = 3, 90610−6 s.
Weitere Freiheitsgrade für die MUD mit einem RNN, wie im vorherigen Kapitel beschrieben, sind die Anzahl der Iterationen Niter und die maximale Steigung cmax . Um
diese Parameter zu untersuchen, wurden Simulationen mit Niter = 5, Niter = 10,
Niter = 20 und verschiedenen cmax gemacht. In den Abb. 6.2 und 6.3 sind die Bitfehlerraten Pb aufgetragen über die maximale Steigung cmax . Dabei wurde das Eb /N0 von
0 dB bis 30 dB bzw. 25 dB in 5 dB–Schritten variiert.
In Abb. 6.2 (a) sind die Ergebnisse für Niter = 5 dargestellt. Dabei wird deutlich,
dass die geforderte Bitfehlerrate Pb < 10−3 mit 5 Iterationen nicht erreicht werden
kann. Abb. 6.2 (b) zeigt, dass mit 10 Iterationen, ab einem Eb /N0 von 25 dB, die
geforderte Bitfehlerrate Pb = 10−3 unterschritten wird. Weiter wird deutlich, dass für
90
-5
-5
-10
-10
10 log(Pb ) (SW–Simulation)
10 log(Pb ) (SW–Simulation)
6.1 Simulationsszenario
-15
-20
-25
-30
-35
-40
1
-15
-20
-25
-30
-35
1.2
1.4
1.6
1.8
2
cmax
2.4
2.2
2.6
-40
1
2.8
1.2
1.4
1.6
1.8
(a)
2
cmax
2.2
2.4
2.6
2.8
(b)
Abbildung 6.2: Bitfehlerrate Pb für verschiedene Eb /N0 = 0 dB (oberste Kurve) bis
Eb /N0 = 30 dB (unterste Kurve) in 5 dB Schritten als Funktion von
cmax bei (a) Niter = 5, (b) Niter = 10
cmax = 2 bei verschiedenen Eb /N0 die kleinste Bitfehlerrate erreicht wird. Deshalb wird
im Folgenden für Simulationen mit Niter = 10 im Hinblick auf die HW–Realisierung
cmax = 2.03125 = 10 · 0.001101bin gewählt.
-5
-10
10 log(Pb ) (SW–Simulation)
-15
-20
-25
-30
-35
-40
-45
-50
-55
-60
1
1.2
1.4
1.6
1.8
2
cmax
2.2
2.4
2.6
2.8
Abbildung 6.3: Bitfehlerrate Pb für verschiedene Eb /N0 = 0 dB (oberste Kurve) bis
Eb /N0 = 25 dB (unterste Kurve) in 5 dB Schritten als Funktion von
cmax bei Niter = 20
91
6 Quantisierung bei der MUD basierend auf dem RNN
10−1
Pb (SW–Simulation)
10−2
10−3
10−4
10−5
Niter = 5
Niter = 10
Niter = 20
10−6
0
5
10
15
20
25
Eb /N0 in dB
30
35
40
Abbildung 6.4: Pb über Eb /N0 für Niter = 5, 10, 20 ohne Quantisierung
In Abb. 6.3 sind die Simulationsergebnisse der MUD für 20 Iterationen des RNN
aufgetragen. Dabei kann man erkennen, dass das Minimum bei einem cmax = 1, 7
liegt. In Abb. 6.4 sind die Bitfehlerraten für 5, 10 und 20 Iterationen aufgetragen über
Eb /N0 , dabei wurde jeweils das optimale cmax verwendet. Die weiteren Simulationen
und Berechnungen beschränken sich auf die Untersuchung des Detektors mit Niter =
10. Für Niter = 10 wird bei einem Eb /N0 von 21 dB die geforderte Bitfehlerrate von
10−3 erreicht.
6.2 Gesamtarchitektur und HW–Aufwand
Um die Wortbreiten für die Berechnungen der MUD basierend auf dem RNN und
daraus den HW–Aufwand zu bestimmen, wird nochmals die Berechnung eines Neurons
genauer betrachtet. Für das serielle Update–Verfahren wird ein Neuron, wie bereits
mit Gleichung (5.15) gezeigt, folgendermaßen berechnet:
i−1
r
T ij v j [κ + 1] +
T ij v j [κ] + x
i
v i [κ + 1] = σ
j=1
j=i
Da maximal (2NR + 1)K = 5 · 16 = 80 Elemente einer Zeile der Ersatzkanalmatrix
R ungleich Null sind, werden 80 Multiplikationen benötigt, deren Produkte aufaddiert werden. Zusätzlich wird der entsprechende Eingangswert x
i addiert und die Aktivierungsfunktion durchgeführt, die in unserem Fall aus einer stückweisen linearen
Funktion besteht.
Wie schon in Abschnitt 6.2 gezeigt, werden für diese Berechnung 4 · 8 Multiplizierer verwendet. In Abb. 6.2 ist nochmals die Gesamtarchitektur zur Berechnung eines
92
6.2 Gesamtarchitektur und HW–Aufwand
Neurons dargestellt. Zusätzlich sind die Wortbreiten der einzelnen Signale und Zwischenergebnisse definiert. Die gepunkteten Linien deuten dabei an, dass alle Signale
(mit Ausnahme der Rückkopplungen), die geschnitten werden, die links beschriebene
Anzahl an Vor– und Nachkommastellen haben. Die Rückkopplungen der Akkumulatoren haben eine Wortbreite von (v7 .n7 ) und die Rückkopplung der Neuronen haben
die Wortbreite (vv .nv ).
Mit Hilfe dieser Wortbreiten kann der HW–Aufwand für die Berechnungseinheit angegeben werden. Dazu werden für die HW–Abschätzung folgende Annahmen verwendet: Ein (n × m) Vier–Quadranten–Multiplizierer benötigt (n − 1) · (m + 1) VA. Die
UND–Gatter zur Partialproduktbildung werden vernachlässigt. Ein n Bit Addierer
bzw. Subtrahierer für K2–Zahlen benötige (n + 1) VA, falls das Ergebnis (n + 1) Bit
hat, ansonsten n VA. Die HW–Aufwand für die Implementierung der in Abb. 6.1
dargestellten Aktivierungsfunktion wird mit einem Multiplizierer genähert. Die Komparatoren für die Sättigungen werden vernachlässigt. Hier nun der HW–Aufwand für
die einzelnen Berechnungseinheiten (von oben nach unten):
• Stufe 1 ( 4 · 8 Multiplizierer)
AS1 = 4 · 8(vv + nv − 1)(vT + nT + 1) = 32(vv + nv − 1)(vT + nT + 1)
• Stufe 2 ( 4 · 4 Addierer)
AS2 = 4 · 4(v1 + n1 + 1) = 16(v1 + n1 + 1)
• Stufe 3 ( 4 · 2 Addierer)
AS3 = 4 · 2(v2 + n2 + 1) = 8(v2 + n2 + 1)
• Stufe 4 ( 4 · 1 Addierer)
AS4 = 4(v3 + n3 + 1)
• Stufe 5 ( 2 Addierer bzw. Subtrahierer)
AS5 = 2(v4 + n4 + 1)
• Stufe 6 (2 Addierer)
AS6 = 2(v6 + n6 + 1)
• Stufe 7 ( 2 Addierer)
AS7 = 2v7 + min(n7 , nxe))
• Stufe 8 ( 2 Multiplizierer)
AS8 = 2(vc + nc − 1)(v8 + n8 + 1)
Bei diesen Berechnungen wurde davon ausgegangen, dass vv + nv ≤ vT + nT , vc + nc ≤
v7 + n7 und vxe ≤ v6 ist. Weiter benötigen alle Addierer am Ausgang 1 Bit mehr
als am Eingang, mit Ausnahme der Addierer in Stufe 7. Dies wird sich im Folgenden
zeigen. Bei der Bestimmung der Wortbreiten sollte darauf geachtet werden, die Summe
93
94
(vv .nv )
(v8 .n8 )
(v5 .n5 )
(v6 .n6 )
(v7 .n7 )
(v2 .n2 )
(v3 .n3 )
(v4 .n4 )
(v1 .n1 )
+
•
+
•
+
•
+
+
•
+
•
SUM
•
+
•
T
+
+
+−
+
+
•
+
•
SUM
•
+
{v i [κ + 1]}
(vxe.nxe)
{
xi }
•
•
+
•
+
•
+
•
•
+
•
+
•
+
•
+
+
•
+
•
SUM
•
+
•
T
+
+
+
+
+
•
+
•
SUM
•
+
•
+
{v i [κ + 1]}
(vc .nc )
c[κ]
(vxe.nxe)
{
xi }
•
•
+
•
Abbildung 6.5: Gesamtarchitektur zur Berechnung der Neuronen für die MUD basierend auf dem RNN
•
Speicher: {T} ,{T} mit (vT .nT ) und {v},{v} mit (vv .nv )
+
•
6 Quantisierung bei der MUD basierend auf dem RNN
6.2 Gesamtarchitektur und HW–Aufwand
8
ASi und damit den HW–Aufwand zu minimieren. Zusätzlich hängt die Größe der
benötigten Speicher linear von den Wortbreiten (vv + nv ) und (vT + nT ) ab.
i=1
Wird die Ersatzkanalmatrix R zeilenweise so normiert, dass auf der Hauptdiagonalen
lauter Einsen stehen, so liegen Real– und Imaginärteil der Koeffizienten T i,j des RNN
im Intervall ] − 1; 1[. Daraus folgt:
vT = 1
Werden die Sättigungen der in Abb. 6.1 dargestellte Aktivierungsfunktion so gewählt,
dass der Wertebereich nach der Aktivierungsfunktion ebenfalls das Intervall ] − 1; 1[
ist, so gilt:
vv = 1
Werden zwei Zahlen multipliziert, deren Wertebereiche das Intervall ] − 1; 1[ sind, so
liegt auch das Produkt im Intervall ] − 1; 1[. Damit kann man die Anzahl der Vorkommastellen v1 nach der Multiplikation angeben:
v1 = 1
Werden die Produkte im Intervall ] − 1; 1[ addiert, so liegt die Summe im Intervall
] − 2; 2[ und damit sind
v2 = 2
Vorkommastellen ausreichend. Analog dazu kann jeweils die Anzahl der Vorkommastellen v3 bis v5 angegeben werden:
v3 = 3
v4 = 4
v5 = 5
Der Addierer in der 6. Stufe muss insgesamt 10 Werte akkumulieren. Daraus folgt ein
Wertebereich von ] − 160; 160[, und damit werden
v6 = log2(320) = 9
v7 = 9
Vorkommastellen benötigt. Da der Wertebereich [-256;255] nicht ganz genutzt wird,
sind nach der Addition von x
ebenfalls
v8 = 9
95
6 Quantisierung bei der MUD basierend auf dem RNN
Vorkommastellen ausreichend. Die Anzahl der Vor– und Nachkommastellen von c ist
vorgegeben durch das gewählte cmax = 2, 03125:
vc = 2
nc = 6
6.3 Quantisierung der Eingangssignale
Nachdem die Architektur zur Berechnung eines Neurons vorgestellt wurde, wird in
diesem Abschnitt der Einfluss der Quantisierung von Eingangssignalen betrachtet.
Dazu werden alle Berechnungen mit Fließkommazahlen durchgeführt. Lediglich das
einzelne betrachtete Signal wird auf die entsprechende Anzahl an Nachkommastellen
quantisiert.
x} betrachtet, die auf nxe NachkommaZuerst werden die Eingangswerte {
x} und {
stellen quantisiert werden. Da aus Abb. 6.4 bereits eine Abhängigkeit der Bitfehlerrate
bekannt ist, drängt sich die Frage auf, ob diese
Pb von dem Rauschen des Signals x
Abhängigkeit auch für das Quantisierungsrauschen verwendet werden kann. Vergleicht
man jedoch das Quantisierungsrauschen mit dem Rauschen n
, so haben diese sehr unterschiedliche Charakteristiken. Das Quantisierungsrauschen ist gleichverteilt, und das
Rauschen n
ist farbiges Rauschen, das durch die Kanal–Matched–Filterung aus weißem
Gaußschen Rauschen entsteht. Deshalb kann im Allgemeinen nicht davon ausgegangen
werden, dass die Auswirkungen bei gleicher Varianz bzw. quadratischem Mittelwert
gleich sind.
In Abb. 6.6 sind die Bitfehlerraten für farbiges Rauschen n
und gleichverteiltes Rauschen euniform dargestellt. Für die Simulation mit dem gleichverteilten Rauschen wurde
n
= 0 gewählt, um nur den Einfluss des gleichverteilten Rauschens zu untersuchen.
Man erkennt, dass bei gleichverteiltem Rauschen anstelle des farbigen Rauschens die
Bitfehlerrate deutlich schlechter ist. Anhand dieser Bitfehlerraten lässt sich die minimal erreichbare Bitfehlerrate bei einem auf nxe Nachkommastellen gerundeten Eingangssignal abschätzen. In der folgenden Tabelle sind die jeweils minimal erreichbaren Bitfehlerraten dargestellt, die sich aus Abb. 6.6 entnehmen lassen. Dabei wurde
x} und {
x}
Eb = 2, 3 verwendet, dies entspricht der Varianz der Eingangswerte {
ohne Rauschen n
in den Simulationen.
nxe
1
2
3
4
Eb /μe2uniform
20,4
26,4
32,4
38,5
Pb für Eb /N0 → ∞
2, 0 · 10−2
3, 5 · 10−3
6, 7 · 10−4
2, 5 · 10−4
Dass diese Abschätzung einen Anhaltspunkt für die minimal erreichbare Bitfehlerrate
gibt, wird in Abb. 6.7 deutlich. In dieser Abbildung wurden die Bitfehlerraten durch Si-
96
6.3 Quantisierung der Eingangssignale
Pb (SW–Simulation)
10−1
10−2
10−3
euniform
n
10−4
0
5
10
15
20
25
30
Eb /μe2uniform bzw. Eb /N0 in dB
35
40
Abbildung 6.6: Bitfehlerrate Pb für Rauschen mit Gleichverteilung (euniform ) und farbigem Rauschen (
n)
mulationen ermittelt. Alle Berechnungen wurden mit Fließkommazahlen durchgeführt.
Nur Real– und Imaginärteil des Eingangssignals x
wurden auf nxe binäre Nachkommastellen quantisiert. Zusätzlich ist die Kurve ohne Quantisierung von x
, die als float
bezeichnet wird, eingezeichnet.
Um die geforderte Bitfehlerrate 10−3 für Sprachübertragung zu erreichen, muss das
Eingangssignal auf nxe = 5 Nachkommastellen gerundet oder auf nxe = 6 Nachkommastellen abgeschnitten werden. Im Vergleich zu den Simulationswerten ohne Quantisierung von x
verschiebt sich der Punkt, an dem Pb = 10−3 erreicht wird, nur unwesentlich.
Weitere Eingangswerte für die MUD sind die Koeffizienten des RNN. Für die Simulationsergebnisse in Abb. 6.8 wurden diese Koeffizienten auf nT Nachkommastellen
quantisiert. Die Quantisierung wurde für Abb. 6.8 (a) mit Runden und für Abb. 6.8
(b) mit Abschneiden realisiert. Für Runden auf nT = 7 oder Abschneiden auf nT = 8
Nachkommastellen wird bei einem geringfügig größeren Eb /N0 die geforderte Bitfehlerrate Pb < 10−3 erreicht.
Sind nun die Wortbreiten der Eingangssignale bekannt, so kann im Prinzip die Schaltung in HW realisiert werden. Da es sich bei dem RNN um ein rückgekoppeltes System
handelt, würden ohne weitere Quantisierung die Wortbreiten von Iteration zu Iteration größer werden. Deshalb wird im folgenden Abschnitt der Einfluss von weiteren
Quantisierungen untersucht.
97
6 Quantisierung bei der MUD basierend auf dem RNN
Pb (SW–Simulation)
10−1
Pb (SW–Simulation)
10−1
10−2
10−2
nxe = 1
nxe = 2
nxe = 3
nxe = 4
nxe = 5
nxe = 6
float
10−3
10−4
0
5
10
nxe = 1
nxe = 2
nxe = 3
nxe = 4
nxe = 5
nxe = 6
float
10−3
10−4
15
20
25
Eb /N0 in dB
30
35
0
40
5
10
15
(a)
20
25
Eb /N0 in dB
30
35
40
(b)
Abbildung 6.7: Pb über Eb /N0 wobei Real– und Imaginärteil von x
auf nxe Nachkommastellen quantisiert wurden mit (a) Runden und (b) Abschneiden.
Pb (SW–Simulation)
10−1
Pb (SW–Simulation)
10−1
10−2
10−2
nT = 4
nT = 5
nT = 6
nT = 7
nT = 8
nT = 9
nT = 10
float
10−3
nT = 4
nT = 5
nT = 6
nT = 7
nT = 8
nT = 9
nT = 10
float
10−3
10−4
10−4
0
5
10
15
25
20
Eb /N0 in dB
(a)
30
35
40
0
5
10
15
25
20
Eb /N0 in dB
30
35
40
(b)
Abbildung 6.8: Pb über Eb /N0 wobei {T} ,{T} auf nT Nachkommastellen quantisiert wurden mit (a) Runden und (b) Abschneiden
6.4 Quantisierungen innerhalb des Systems
In diesem Abschnitt wird die Auswirkung von Quantisierungen innerhalb des Systems
untersucht. Hierzu bietet sich der Real– und Imaginärteil der Neuronen v an, da diese
rückgekoppelt sind. Ihre Wortbreite (vv + nv ) geht linear auf die Größe des Speichers
98
6.4 Quantisierungen innerhalb des Systems
der Neuronen ein, und die Größe der 32 Multiplizierer hängt ebenfalls von (vv + nv )
ab. Da eine zusätzliche Quantisierung die Simulationsdauer erhöht, wird ihr Einfluss
mit Hilfe einer HW–Realisierung untersucht. Dazu wurde die in Abb. 6.2 vorgestellte
Architektur auf einem FPGA realisiert. Die Werte von x
wurden mit SW erzeugt. Die
MUD wurde in HW durchgeführt, und die Resultate wurden mit SW ausgewertet.
In Abb. 6.9 sind die Ergebnisse für verschiedene nv dargestellt. Die Eingangswerte
wurden auf nxe = 5 und nT = 7 Nachkommastellen gerundet. Für Runden zeigt sich
bei nv = 5 und für Abschneiden bei nv = 6 keine Verschlechterung der Bitfehlerrate.
Pb (HW–Berechnung)
10−1
Pb (HW–Berechnung)
10−1
10−2
10−2
10−3
nv
nv
nv
nv
nv
10−3
=3
=4
=5
=6
=7
10−4
nv
nv
nv
nv
nv
=3
=4
=5
=6
=7
10−4
0
5
10
15
20
25
Eb /N0 in dB
(a)
30
35
40
0
5
10
15
20
25
Eb /N0 in dB
30
35
40
(b)
Abbildung 6.9: Pb über Eb /N0 wobei {v} und {v} auf nv Nachkommastellen quantisiert wurden mit (a) Runden, (b) Abschneiden (nxe = 5, nT = 7,
jeweils gerundet)
In Kapitel 3 wurde bereits gezeigt, dass nach der Multiplikation nicht alle Nachkommastellen weiter verwendet werden müssen. Deshalb wurde der Einfluss einer zusätzlichen
Quantisierung der Produkte untersucht. In Abb. 6.10 sind die Ergebnisse für eine
Quantisierung der Produkte auf verschiedene Anzahl Nachkommastellen n1 dargestellt.
Für diese Berechnungen wurde der Real– und Imaginärteil der Neuronen auf nv = 5
Nachkommastellen gerundet. Die Eingangswerte wurden wie zuvor auf nxe = 5 und
nT = 7 Nachkommastellen gerundet.
Man erkennt, dass Runden der Produkte auf n1 = 8 Nachkommastellen nur zu einer
kleinen Verschlechterung führt. Dies widerspricht auf den ersten Blick der Aussage in
Abschnitt 3.2.2, dass für das Produkt 2 Stellen mehr als das Minimum der Stellen
von Multiplikand und Multiplikator ausreichen. Grund hierfür sind die statistischen
Parameter von Multiplikand und Multiplikator, die nicht den in Kapitel 3 getroffenen
Annahmen entsprechen. Insbesondere in den ersten Iterationen sind die berechneten
Werte der Neuronen sehr klein.
99
6 Quantisierung bei der MUD basierend auf dem RNN
Pb (HW–Berechnung)
10−1
Pb (HW–Berechnung)
10−1
10−2
10−2
n1
n1
n1
n1
n1
n1
n1
n1
10−3
=5
=6
=7
=8
=9
= 10
= 11
= 12
n1
n1
n1
n1
n1
n1
n1
n1
10−3
10−4
=5
=6
=7
=8
=9
= 10
= 11
= 12
10−4
0
5
10
15
20
25
Eb /N0 in dB
(a)
30
35
40
0
5
10
15
20
25
Eb /N0 in dB
30
35
40
(b)
Abbildung 6.10: Pb über Eb /N0 wobei die Produkte auf n1 Nachkommastellen quantisiert wurden mit (a) Runden, (b) Abschneiden (nxe = 5, nT = 7,
nv = 5, jeweils gerundet)
Die Bitfehlerrate für Abschneiden der Produkte ist verglichen mit den Ergebnissen
von Runden viel schlechter. Hier müsste auf 11 Nachkommastellen abgeschnitten werden. Diese Verschlechterung kann mit den theoretischen Ergebnissen aus Kapitel 4
Abschnitt 4.3 erklärt werden. Dadurch, dass 80 Produkte aufaddiert werden, addieren sich die Fehlermittelwerte. Dies führt zu dieser deutlichen Verschlechterung. Wie
bereits in Abschnitt 4.3.3 gezeigt, gibt es verschiedene Möglichkeiten, den Fehlermittelwert zu kompensieren. Die einfachste Methode, den Fehlermittelwert zu subtrahieren,
funktioniert in diesem System nicht, da in der ersten Iteration die Produkte sehr klein
und zum Teil Null sind. Eine Subtraktion des Fehlermittelwertes würde in diesem Fall
sogar zu einer Verschlechterung der Ergebnisse führen.
Wird der Fehlermittelwert durch die mit Gleichung (4.13) beschriebenen Methode
kompensiert, so muss dies nur für den Imaginärteil gemacht werden, da der Realteil
durch die Subtraktion den Fehlermittelwert bereits kompensiert (vgl. Abb. 4.6). In
diesem Fall wird die Kompensation dadurch realisiert, dass der Realteil der Neuronen
v für die Berechnung von SUM negiert und SUM von SUM subtrahiert anstatt
addiert werden.
Die Ergebnisse von der Implementierung dieser Ergebnisse sind in Abb. 6.11 dargestellt. Es werden die Ergebnisse von Runden, Abschneiden, Anschneiden mit obiger
Kompensation und Runden mit Kompensation für n1 = 7 und n1 = 8 verglichen. Man
erkennt, dass Abschneiden mit Kompensation die gleiche Bitfehlerrate wie Runden
erreicht. Für Runden mit Kompensation wird, verglichen mit Runden, sogar eine klei-
100
6.5 Vergleich des HW–Aufwands
Pb (HW–Berechnung)
10−1
Pb (HW–Berechnung)
10−1
10−2
10−2
10−3
10−3
Abschn.
Runden
Abschn. & Komp.
Runden & Komp.
Abschn.
Runden
Abschn. & Komp.
Runden & Komp.
10−4
10−4
0
5
10
15
20
25
Eb /N0 in dB
30
35
40
0
(a)
5
10
15
20
25
Eb /N0 in dB
30
35
40
(b)
Abbildung 6.11: Bitfehlerrate für (a) n1 = 7, (b) n1 = 8 (nxe = 5, nT = 7, nv = 5,
jeweils gerundet) mit und ohne Kompensation
ne Verbesserung, erzielt. Dies bestätigt, dass für Runden von Produkten ein kleiner
Fehlermittelwert entsteht, der sich bei der Addition von Produkten aufaddiert.
Da die Größe der HW–Realisierung der Aktivierungsfunktion von den Wortbreiten
der beiden Eingangssignale abhängt, wird eine weitere Quantisierung vor der Aktivierungsfunktion untersucht. Dazu sind in Abb. 6.4 die Bitfehlerraten für verschiedene n7
dargestellt. Man erkennt, dass Runden auf 4 Nachkommastellen oder Abschneiden auf
5 Nachkommastellen zu keiner signifikanten Verschlechterung der Bitfehlerrate führt.
Weitere Quantisierungen innerhalb des Systems werden nicht untersucht. Damit sind
die Wortbreiten an jeder Stelle des Systems bekannt, und es kann der HW–Aufwand
abgeschätzt und verglichen werden.
6.5 Vergleich des HW–Aufwands
In diesem Abschnitt wird der HW–Aufwand für verschiedene Quantisierungsmethoden
verglichen. Dazu wird nxe = 5, nT = 7, nv = 5 angenommen und es werden verschiedene
Fälle für die weiteren Quantisierungen betrachtet. In der folgenden Tabelle sind 6
verschiedene Fälle aufgelistet.
101
6 Quantisierung bei der MUD basierend auf dem RNN
Pb (HW–Berechnung)
10−1
Pb (HW–Berechnung)
10−1
10−2
10−2
n7
n7
n7
n7
n7
n7
10−3
=3
=4
=5
=6
=7
=8
n7
n7
n7
n7
n7
n7
10−3
10−4
=3
=4
=5
=6
=7
=8
10−4
0
5
10
15
20
25
Eb /N0 in dB
30
35
40
0
5
10
15
(a)
20
25
Eb /N0 in dB
30
35
40
(b)
Abbildung 6.12: Quantisierung auf n7 Nachkommastellen durch (a) Runden und (b)
Abschneiden (nxe = 5, nT = 7, nv = 5 jeweils gerundet, n1 = 8 mit
Abschneiden und Kompensation)
Fall
1
2
3
4
5
6
n1
12
11
A
8
R
8 A+K
8 A+K
8 A+K
n2
12
11
8
8
8
8
-
n3
12
11
8
8
8
8
-
n4
12
11
8
8
8
8
-
n5
12
11
8
8
8
8
-
n6
12
11
8
8
8
8
-
n7
12 11 8
8
4
R
5 A
n8
12
11
8
8
5
5
-
Dabei steht jeweils rechts von der entsprechenden Nachkommastellenzahl die Quantisierungsmethode: A steht für Abschneiden, R für Runden und A+K für Abschneiden
mit Kompensation, wie sie im vorherigen Abschnitt beschrieben wurde.
• In Fall 1 wird keine weitere Quantisierung durchgeführt.
• In Fall 2 wird nach der Multiplikation auf 11 Nachkommastellen abgeschnitten.
• In Fall 3 wird nach der Multiplikation auf 8 Nachkommastellen gerundet.
• In Fall 4 wird nach der Multiplikation auf 8 Nachkommastellen abgeschnitten
und Kompensation nach Gleichung (4.13) angewandt.
• Fall 5 entspricht Fall 4, mit zusätzlicher Quantisierung durch Runden auf n7 = 4
Nachkommastellen.
102
6.6 Zusammenfassung der Ergebnisse
• Fall 6 entspricht Fall 4, mit zusätzlicher Quantisierung durch Abschneiden auf
n7 = 5 Nachkommastellen.
Fall
AS1
AS2
AS3
AS4
AS5
AS6
AS7
AS8
Quant auf n1
Kompensation
Quant auf n6
Summe
1
1440
224
120
64
34
36
42
308
2268
2
1440
208
112
60
32
34
40
297
2223
3
1440
160
88
48
26
28
34
252
144
2220
4
1440
160
88
48
26
28
34
252
5
1440
160
88
48
26
28
26
210
6
1440
160
88
48
26
28
28
210
24
24
13
2063
24
2148
2052
Tabelle 6.1: HW–Aufwand (in VA) für verschiedene Quantisierungsszenarien
In Tabelle 6.1 ist die Anzahl der VA aufgelistet, die für die einzelnen Fälle benötigt
wird. Für den Fall 1 (ohne weitere Quantisierung) ist der abgeschätzte HW–Aufwand
am größten. Wird nach der Multiplikation quantisiert, so verringert sich der HW–
Bedarf. Dabei benötigt Abschneiden mit Kompensation am wenigsten HW, Abschneiden auf 11 Nachkommastellen am meisten HW. Die weiteren Quantisierungen auf
n7 = 4 bzw. n7 = 5 Nachkommastellen durch Runden bzw. Abschneiden reduzieren
die benötigte Zahl an VA weiter, wobei Abschneiden weniger HW benötigt als Runden.
Dies zeigt, dass durch geschickte Wahl der Quantisierung der HW–Aufwand um ca.
10 % verringert werden kann.
6.6 Zusammenfassung der Ergebnisse
In diesem Kapitel wurde zunächst das verwendete Simulationsszenario vorgestellt und
mit Hilfe von Simulationen das cmax ermittelt, mit dem für eine bestimmte Anzahl
an Iterationen das beste Detektionsergebnis erreicht wird. Weiter wurden anhand der
Gesamtarchitektur die Wertebereiche und die damit notwendige Anzahl an Vorkommastellen für die einzelnen Berechnungen abgeschätzt. Der HW–Aufwand wurde in Abhängigkeit der einzelnen Wortbreiten angegeben.
Danach wurde die Auswirkung von Quantisierung des Signals x
auf die Bitfehlerrate
untersucht. Dazu wurden Simulationen durchgeführt, in denen das Signal mit gleichverteiltem Rauschen beaufschlagt wurde. Zusätzlich wurden Simulationen mit quanti-
103
6 Quantisierung bei der MUD basierend auf dem RNN
siertem Eingangssignal x
durchgeführt. Ein Vergleich der Ergebnisse zeigte, dass die
Simulationen mit gleichverteiltem Rauschen als grobe Abschätzung der minimal erreichbaren Bitfehlerrate verwendet werden kann. Weiter wurden die Auswirkungen
der Quantisierung der Gewichtungsfaktoren des RNN untersucht. Da es sich bei der
MUD, basierend auf dem RNN, um ein rückgekoppeltes System handelt, ist für eine HW–Umsetzung eine zusätzliche Quantisierung innerhalb des Systems notwendig.
Ohne diese zusätzliche Quantisierung würden die Wortbreiten der Berechnungen von
Iteration zu Iteration ansteigen. Deshalb wurde zunächst die Auswirkung von Quantisierung der Neuronen untersucht. Dies wurde mit Hilfe von HW–Berechnungen auf
einem FPGA durchgeführt. Mit Hilfe der Untersuchungen zur Quantisierung dieser
drei Signale wurden ihre Wortbreiten festgelegt.
Auf Grund der theoretischen Untersuchungen aus Kapitel 3 und Kapitel 4 wurde
zusätzlich eine Quantisierung der Produkte eingefügt. Dabei zeigte sich wie bei den
theoretischen Überlegungen, dass Abschneiden aufgrund des Fehlermittelwerts, der
sich akkumuliert, deutlich schlechtere Ergebnisse als Runden auf die gleiche Anzahl
an Stellen liefert. Wird die in Abschnitt 4.3.3 vorgeschlagene Kompensation des Fehlermittelwertes (siehe Gleichung (4.13)) angewendet, dann erhält man das gleiche Ergebnis wie für Runden der Produkte. Dies zeigt, dass diese theoretischen Überlegungen
auch in komplexeren Systemen anwendbar sind. Allerdings muss auf die entsprechenden Rahmenbedingungen geachtet werden. Eine Kompensation durch Subtraktion des
Fehlermittelwertes ist z. B. in diesem System nicht möglich, da die Produkte in den
ersten Iterationen sehr klein und zum Teil Null sind.
Eine weitere Quantisierung vor der Aktivierungsfunktion brachte zusätzliche Einsparungen im HW–Aufwand. Insgesamt konnte mit zwei zusätzlichen Quantisierungen
und der Kompensation ca. 10 % des HW–Aufwands eingespart werden.
104
7 Zusammenfassung
In der vorliegenden Arbeit wurden die Einflüsse von Quantisierung in der digitalen
Signalverarbeitung theoretisch untersucht. Die Ergebnisse wurden dann an einem Beispiel aus der Praxis, einer MUD, auf ihre Anwendbarkeit getestet.
In Kapitel 2 wurde zunächst ein in der Literatur gebräuchliches und in dieser Arbeit
verwendetes Quantisierungsmodell vorgestellt. Dieses Modell basiert auf folgenden Annahmen: Die Fehlerfolge ist die Abtastfolge eines stationären Zufallsprozesses und ist
unkorreliert mit dem abgetasteten fehlerfreien Signal, die Zufallsvariable des Fehlerprozesses ist unkorreliert und der Quantisierungsfehler ist über seinen Wertebereich
gleichverteilt. Überschreitet das zu quantisierende Signal von Abtastwert zu Abtastwert mehrere Quantisierungsstufen, so scheint dieses Modell in heuristischem Sinne
gültig. Weiter wurden in diesem Kapitel verschiedene Quantisierungsmethoden vorgestellt und ihre Realisierung in HW betrachtet.
In Kapitel 3 wurde die Quantisierung bei der Skalierung und bei der Multiplikation
zweier Zufallszahlen theoretisch untersucht. Dabei zeigte sich, dass nicht die gesamte
Wortbreite des Produktes weiter verwendet werden muss, wenn bereits die Eingangssignale quantisiert sind. Sind die Eingangssignale mittelwertbehaftet und haben die
Mittelwerte ungleiches Vorzeichen, so zeigte sich, dass sich die Einflüsse der Fehlermittelwerte am Eingang teilweise kompensieren und zum gleichen Ergebnis führen, wie bei
Eingangssignalen ohne Fehlermittelwert. Weiter wurde das maximal erreichbare SNR
für das Produkt unter verschiedenen Voraussetzungen abgeschätzt. Für die Multiplikation komplexer Zahlen wurden zwei HW–Realisierungen bezüglich des HW–Aufwands
und ihres Quantisierungsfehlers verglichen.
Die Quantisierung in verschiedenen Systemen wurde in Kapitel 4 untersucht. Dazu
wurde zunächst gezeigt, dass an jeder Stelle eines LTI–Systems die m niederwertigsten Bits gleichverteilt sind, wenn die m niederwertigsten Bits des Eingangssignals
gleichverteilt sind. Wird die Quantisierung in LTI–Systemen betrachtet, so unterscheiden sich die Quantisierungsmethoden Runden und Abschneiden lediglich im Fehlermittelwert des Ausgangssignals. Durch eine Subtraktion kann der durch Abschneiden
entstehende Fehlermittelwert kompensiert und dadurch das gleiche Ergebnis wie beim
Runden erreicht werden.
Anhand des Skalarprodukts wurde eine Kombination aus der zuvor betrachteten Multiplikation und einem LTI–System betrachtet. Dabei zeigte sich ebenfalls der Effekt,
dass sich die Fehlermittelwerte im LTI–Bereich aufaddieren. Bei der Betrachtung des
komplexen Skalarprodukts wurde festgestellt, dass sich der Fehlermittelwert im Realteil aufhebt und im Imaginärteil verstärkt. Dieser Fehlermittelwert kann durch eine
105
7 Zusammenfassung
direkte Subtraktion oder durch die mit Gleichung (4.13) beschriebene Methode kompensiert werden. Der HW–Aufwand für diese zwei Kompensationsmöglichkeiten wurde
mit der Möglichkeit verglichen, die Produkte zu runden oder ohne Quantisierung weiter zu rechnen. Dabei zeigte sich, dass die Subtraktion den geringsten Mehraufwand
bedeutet, allerdings muss dabei sichergestellt sein, dass die Quantisierungsfehler der
Produkte dem Modell entsprechen. Die zweite Kompensationsmethode benötigt etwas
mehr HW, ist aber im Vergleich zu Runden oder ohne Quantisierung weiter zu rechnen
günstiger. Sie hat gegenüber der Subtraktion den Vorteil, dass die Kompensation auch
dann funktioniert, wenn die Produkte teilweise sehr klein oder sogar Null sind.
In Kapitel 4 wurde weiter die Quantisierung bei nichtlinearen Funktionen untersucht.
Dabei zeigte sich bei der Multiplikation und der Berechnung des tanh, dass ein Fehlermittelwert am Eingang einer nichtlinearen Funktion zu einer Vergrößerung der Fehlervarianz am Ausgang führen kann. Deshalb sollte beim Übergang von LTI–Systemen
auf Systeme mit nichtlinearen Funktionen der Fehlermittelwert möglichst klein sein.
Weiter wurde ein aus der Literatur bekanntes lineares Kleinsignalmodell zur Untersuchung des Quantisierungsfehlers bei nichtlinearen Funktionen vorgestellt und eine
Variante entwickelt, die in der Praxis einfacher umzusetzen ist und die gleichen Ergebnisse liefert. Das lineare Kleinsignalmodell wurde anhand des tanh angewendet. Die
Ergebnisse stimmten mit den zuvor theoretisch ermittelten Ergebnissen überein.
In Kapitel 5 wurde das TD/CDMA–Übertragungsmodell vorgestellt, bei dem sich
die Übertragung mit Hilfe einer Ersatzkanalmatrix darstellen lässt. Darauf aufbauend
wurde eine MUD, basierend auf einem rekurrenten neuronalen Netz vorgestellt. Weiter
wurde kurz auf eine mögliche HW–Realisierung eines solchen Detektors eingegangen.
Anschließend wurden in Kapitel 6 die Einflüsse der Quantisierung bei dieser MUD
untersucht. Zunächst wurde das verwendete Simulationsszenario vorgestellt und optimiert. Anhand der Gesamtarchitektur wurde der HW–Aufwand in Abhängigkeit der
Wortbreiten ermittelt und die Wertebereiche der Zwischensignale berechnet. Danach
wurden zunächst mit Hilfe von Simulationen die Auswirkung der Quantisierung der
Eingangssignale untersucht. Dabei zeigte sich, dass eine Simulation mit gleichverteiltem Rauschen als grobe Abschätzung der Einflüsse von Quantisierung des entsprechenden Eingangssignals verwendet werden kann. Die Auswirkungen von weiteren Quantisierungen innerhalb des Systems wurden mit einer Implementierung der MUD auf
einem FPGA ermittelt. Die Quantisierung der Produkte zeigte, dass die theoretischen
Überlegungen auch bei diesem komplexen System anwendbar sind. Durch Kompensation des Fehlermittelwerts, der durch Abschneiden der Produkte entsteht, konnten die
gleichen Ergebnisse wie bei Runden der Produkte erreicht werden. Abschließend wurde
noch der HW–Aufwand der verschiedensten Quantisierungsszenarien verglichen. Dabei zeigte eine geschickte Wahl der Quantisierungen Einsparungen in der HW. Diese
Einsparungen bedeuteten bei einem Full Custom Design weniger Flächenbedarf. Bei
der Realisierung mit einem FPGA werden weniger konfigurierbare Logikblöcke und
damit wird weniger Verlustleistung benötigt.
106
A Anhang zu Kapitel 3
Nachfolgend sind weitere Diagramme zu Kapitel 3 dargestellt. Bei den Diagrammen
zur Darstellung des SNR ist wie schon in Kapitel 3 zu beachten, dass das jeweilige
SNR eines diskreten Wertes mit einem Symbol gekennzeichnet ist. Zur Verdeutlichung
der zusammengehörigen SNR–Werte sind die Symbole, wie schon in Kapitel 3, mit
Linien verbunden.
A.1 Skalierung
zu Abschnitt 3.1
50
45
SNR in dB
40
35
30
25
20
2
x̂, Runden
x̂, Abschn.
ŷ, Runden, c = 1
ŷ, Runden, c = 0.5
ŷ, Abschn., c = 1
ŷ, Abschn., c = 0.5
6
8
10
4
ny Nachkommastellen nach Skalierung
12
Abbildung A.1: SNR des quantisierten Eingangssignals x̂ und des Ausgangssignals ŷ
(ŷ = c · x̂) für nx = nc = 6
107
A Anhang zu Kapitel 3
70
110
65
100
60
90
80
50
SNR in dB
SNR in dB
55
45
40
x̂, Runden
x̂, Abschn.
ŷ, Runden, c = 1
ŷ, Runden, c = 0.5
ŷ, Abschn., c = 1
ŷ, Abschn., c = 0.5
35
30
25
20
2
4
6
8
10
12
14
16
ny Nachkommastellen nach Skalierung
(a)
18
70
60
x̂, Runden
x̂, Abschn.
ŷ, Runden, c = 1
ŷ, Runden, c = 0.5
ŷ, Abschn., c = 1
ŷ, Abschn., c = 0.5
50
40
30
20
20
5
10
15
20
25
ny Nachkommastellen nach Skalierung
30
(b)
Abbildung A.2: SNR des quantisierten Eingangssignals x̂ und des Ausgangssignals ŷ
(ŷ = c · x̂) für (a) nx = nc = 10 (b) nx = nc = 16
108
A.2 Multiplikation zweier Zufallszahlen
A.2 Multiplikation zweier Zufallszahlen
A.2.1 Fehler nach der Multiplikation für Abschneiden
In diesem Abschnitt wird der Quantisierungsfehler, der bei der Quantisierung des Produkts zweier binärer Zahlen entsteht, genauer untersucht. Wie schon in Abschnitt 3.2
angedeutet, ist der Quantisierungsfehler nicht gleichverteilt. Um die Wahrscheinlichkeitsfunktion des Fehlers bei der Quantisierung von m Bit zu ermitteln, ist es ausreichend, alle möglichen Produkte von zwei m Bit Zahlen zu betrachten, da sich nur die
letzten m Bit der Faktoren auf die letzten m Bit des Produkts auswirken. Zunächst
soll das Produkt von zwei 3 Bit Zahlen genauer betrachtet werden. In Tabelle A.1 werden zur besseren Veranschaulichung nur Vorkommastellen verwendet. Die Ergebnisse
0
1
2
3
4
5
6
7
0
0
0
0
0
0
0
0
0
1
0
1
2
3
4
5
6
7
2
0
2
4
6
8
10
12
14
3
0
3
6
9
12
15
18
21
4
0
4
8
12
16
20
14
28
5
0
5
10
15
20
25
30
35
6
0
6
12
18
24
30
36
42
7
0
7
14
21
28
35
42
49
Tabelle A.1: Alle möglichen Produkte zweier 3 Bit Zahlen
sind mit entsprechender Skalierung für Nachkommastellen an beliebiger Position verwendbar. In Tabelle A.1 sind alle möglichen Produkte zweier 3 Bit Zahlen aufgeführt.
Werden bei diesen Produkten die letzten 3 Bit abgeschnitten, so erhält man Fehler,
die in Tabelle A.2 dargestellt sind. In dieser Tabelle ist in der ersten Spalte zusätzlich der Faktor der einzelnen Zeilen, im Folgenden Zeilenfaktor genannt, in binärer
Schreibweise angegeben. Betrachtet man nun alle Zeilen, bei denen das letzte Bit des
Zeilenfaktors 1 ist (alle ungeraden Zeilenfaktoren), so treten in diesen Zeilen die Fehler
0, -1 ,-2 ,-3, -4, -5, -6, -7 einmal auf. Sind die letzten zwei Bit des Zeilenfaktors 10, so
treten die Fehler 0, -2, -4, -6 je zweimal auf. Sind die letzten drei Bit des Zeilenfaktors
100, so treten die Fehler 0,-4 je viermal auf. Für den Fall, dass die letzten drei Bit
des Zeilenfaktors 000 sind, tritt der Fehler 0 achtmal auf. Dies erklärt die in Abb. 3.6
dargestellte Verteilungsdichte.
Die Summe aller Fehler ist für n = 3 Bit demnach:
SUMey = 2m−1
m −1
2
i=0
−i · 1 + 2m−2 21
2m−1
−1
i=0
−2 · i · 2 + 2m−3 22
2m−2
−1
−4 · i · 4
i=0
109
A Anhang zu Kapitel 3
Allgemein kann die Summe aller Fehler folgendermaßen ausgedrückt werden:
⎞
⎛
2m+1−i
m
−1
⎝2m−i
SUMey =
−22i−2 j ⎠
i=1
m
= 2m−1
⎛
⎝
j=0
2m+1−i
−1
i=1
⎞
−2i−1 j ⎠
(A.1)
j=0
Der Mittelwert des Fehlers lässt sich folgendermaßen berechnen:
SUMey
22m
1 1
=
+ m − 2−1+m
2 4
μey =
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
0
0
0
0
0
0
0
0
0
1
0
-1
-2
-3
-4
-5
-6
-7
2
0
-2
-4
-6
0
-2
-4
-6
3
0
-3
-6
-1
-4
-7
-2
-5
4
0
-4
0
-4
0
-4
0
-4
5
0
-5
-2
-7
-4
-1
-6
-3
(A.2)
6
0
-6
-4
-2
0
-6
-4
-2
7
0
-7
-6
-5
-4
-2
-2
-1
Tabelle A.2: Alle möglichen Fehler beim Abschneiden von 3 Bit
Auf die gleiche Weise lässt sich die Summe des Fehlerquadrats bestimmen, das zur
Berechnung des quadratischen Mittelwertes notwendig ist:
⎛
⎞
2m+1−i
m
−1
⎝
(A.3)
(−2i−1 j)2 ⎠
SUMe2y = 2m−1
i=1
μe2y =
j=0
SUMe2y
22m
1
1
1
1
= − 2m − m2m + 22m −
4
4
3
12
110
(A.4)
A.2 Multiplikation zweier Zufallszahlen
Wird nun wie in Kapitel 3 das Produkt der Faktoren mit nx1 und nx2 Nachkommastellen auf ny Nachkommastellen abgeschnitten, so muss in Gleichung (A.2) m durch
nx1 + nx2 − ny ersetzt und die Gleichung mit 2−nx1 −nx2 multipliziert werden. In Gleichung (A.4) wird m ebenfalls durch nx1 + nx2 − ny ersetzt und die Gleichung mit
2−2nx1 −2nx2 multipliziert. Damit erhält man folgende Gleichungen für den Mittelwert
μey und den quadratischen Mittelwert μe2y :
1
(A.5)
μey = 2−1−nx1 −nx2 + (nx1 + nx2 − ny )2−nx1 −nx2 − 2−1−ny
4
1
1
1
1
μe2y = − 2−ny − nx1 + nx2 − ny 2ny + 22(nx1 +nx2 −2ny ) − 2−nx1 −nx2 (A.6)
4
4
3
12
A.2.2 Fehler nach der Multiplikation für Runden
Analog zum vorherigen Abschnitt kann der Mittelwert und der quadratische Mittelwert
des Quantisierungsfehlers ey für Runden berechnet werden. Die Summe aller Fehler
bzw. Fehler im Quadrat berechnet sich folgendermaßen:
⎛
⎞
m+1−i −1
m
2
⎝
SUMey = 2m−1
(A.7)
−2i−1 j + 2m−1 ⎠
i=1
SUMe2y = 2m−1
m
i=1
⎛
⎝
j=0
2m+1−i
−1
⎞
(−2i−1 j + 2m−1 )2 ⎠
(A.8)
j=0
Diese Summen werden geteilt durch die Anzahl der Fehler 22m . Mit m = nx1 + nx2 − ny
erhält man folgende Mittelwerte:
1
(nx + nx2 − ny )2−nx1 −nx2
4 1
1 −2ny +nx1 +nx2
1
=
− 2−nx1 −nx2
2
12
12
μey =
μe2y
(A.9)
(A.10)
111
A Anhang zu Kapitel 3
A.3 Weitere SNR Diagramme zur Multiplikation
zweier Zufallszahlen
90
90
80
80
70
70
60
60
SNR in dB
SNR in dB
zu Abschnitt 3.2.2
50
40
nx
nx
nx
nx
nx
nx
30
20
10
0
5
10
15
= 13
= 12
= 11
= 10
=9
=8
50
40
30
20
10
25
20
nx
nx
nx
nx
nx
nx
0
5
10
15
ny
= 13
= 12
= 11
= 10
=9
=8
25
20
ny
(a)
(b)
50
50
45
45
40
40
35
35
30
30
25
nx
nx
nx
nx
nx
nx
20
15
10
5
0
0
2
4
6
8
ny
(a)
10
=7
=6
=5
=4
=3
=2
12
SNR in dB
SNR in dB
Abbildung A.3: SNR des quantisierten Produkts zweier im Intervall ] − 1; 1[ gleichverteilter Zufallszahlen mit nx1 = nx2 = nx (a) Eingänge Abschneiden,
Produkt Runden (b) Eingänge Runden, Produkt Abschneiden
25
nx
nx
nx
nx
nx
nx
20
15
10
5
0
0
2
4
6
8
10
=7
=6
=5
=4
=3
=2
12
ny
(b)
Abbildung A.4: SNR des quantisierten Produkts zweier im Intervall ] − 1; 1[ gleichverteilter Zufallszahlen mit nx1 = nx2 = nx (a) Eingänge Abschneiden,
Produkt Abschneiden (b) Eingänge Runden, Produkt Runden
112
70
70
60
60
50
50
40
nx1
nx1
nx1
nx1
nx1
nx1
30
20
10
0
2
4
6
8
10
ny
12
14
16
= 12
= 11
= 10
=9
=8
=7
18
SNR in dB
SNR in dB
A.3 Weitere SNR Diagramme zur Multiplikation zweier Zufallszahlen
40
nx1
nx1
nx1
nx1
nx1
nx1
30
20
10
20
0
2
4
6
8
(a)
10
ny
12
14
16
= 12
= 11
= 10
=9
=8
=7
18
20
(b)
60
60
55
55
50
50
45
45
40
40
35
30
nx 1
nx 1
nx 1
nx 1
nx 1
nx 1
25
20
15
10
= 12
= 11
= 10
=9
=8
=7
5
SNR in dB
SNR in dB
Abbildung A.5: SNR des quantisierten Produkts zweier im Intervall ] − 1; 1[ gleichverteilter Zufallszahlen mit nx2 = 10 (a) Eingänge Abschneiden, Produkt
Abschneiden (b) Eingänge Runden, Produkt Runden
35
30
nx 1
nx 1
nx 1
nx 1
nx 1
nx 1
25
20
15
10
= 12
= 11
= 10
=9
=8
=7
5
0
2
4
6
8
10
ny
(a)
12
14
16
18
0
2
4
6
8
10
ny
12
14
16
18
(b)
Abbildung A.6: SNR des quantisierten Produkts zweier im Intervall ] − 1; 1[ gleichverteilter Zufallszahlen mit nx2 = 8 (a) Eingänge Abschneiden, Produkt
Abschneiden (b) Eingänge Runden, Produkt Runden
113
114
B Anhang zu Kapitel 4
Nachfolgend sind weitere Diagramme zu Kapitel 4 dargestellt. Die Wahrscheinlichkeiten der quantisierten Werte x̂ sind dabei als Punkte gekennzeichnet. Auch wenn diese
Punkte sehr dicht beieinander liegen, sich zum Teil berühren und dadurch wie eine
kontinuierliche Kurve erscheinen, handelt es sich um einzelne Wahrscheinlichkeiten der
quantisierten Werte x̂.
0.07
0.06
LSBs ohne 3 MSBs
LSBs ohne 2 MSBs
LSBs ohne MSB (VZ)
alle Stellen
P(x̂)
0.05
0.04
0.03
0.02
0.01
0
-4
-3
-2
-1
0
x̂
1
2
3
4
Abbildung B.1: Wahrscheinlichkeitsfunktion P(x̂) der normierten, zentrierten Normalverteilung für v = 3 Vorkomma–, n = 4 Nachkommastellen und die
Wahrscheinlichkeiten der LSBs, wenn das VZ oder mehrere MSBs
nicht betrachtet werden.
115
B Anhang zu Kapitel 4
4
3.5
LSBs ohne 3 MSBs
LSBs ohne 2 MSBs
LSBs ohne MSB (VZ)
alle Stellen
3
P(x̂) · 103
2.5
2
1.5
1
0.5
0
-4
-3
-2
-1
0
x̂
1
2
3
4
Abbildung B.2: Wahrscheinlichkeitsfunktion P(x̂) der normierten, zentrierten Normalverteilung für v = 3 Vorkomma–, n = 8 Nachkommastellen und die
Wahrscheinlichkeiten der LSBs, wenn das VZ oder mehrere MSBs
nicht betrachtet werden.
1.2
1
LSBs ohne 3 MSBs
LSBs ohne 2 MSBs
LSBs ohne MSB (VZ)
alle Stellen
P(x̂) · 103
0.8
0.6
0.4
0.2
0
-4
-3
-2
-1
0
x̂
1
2
3
4
Abbildung B.3: Wahrscheinlichkeitsfunktion P(x̂) der normierten, zentrierten Normalverteilung für v = 3 Vorkomma–, n = 10 Nachkommastellen und
die Wahrscheinlichkeiten der LSBs, wenn das VZ oder mehrere MSBs
nicht betrachtet werden.
116
LSBs ohne 3 MSBs
LSBs ohne 2 MSBs
LSBs ohne MSB (VZ)
alle Stellen
P(x̂) · 104
2
1
0
-4
-3
-2
-1
0
x̂
1
2
3
4
Abbildung B.4: Wahrscheinlichkeitsfunktion P(x̂) der normierten, zentrierten Normalverteilung für v = 3 Vorkomma–, n = 12 Nachkommastellen und
die Wahrscheinlichkeiten der LSBs, wenn das VZ oder mehrere MSBs
nicht betrachtet werden.
6
5
LSBs ohne 3 MSBs
LSBs ohne 2 MSBs
LSBs ohne MSB (VZ)
alle Stellen
P(x̂) · 104
4
3
2
1
0
-8
-6
-4
-2
0
x̂
2
4
6
8
Abbildung B.5: Wahrscheinlichkeitsfunktion P(x̂) der normierten, zentrierten Normalverteilung für v = 4 Vorkomma–, n = 10 Nachkommastellen und
die Wahrscheinlichkeiten der LSBs, wenn das VZ oder mehrere MSBs
nicht betrachtet werden.
117
118
C Abkürzungen und Symbole
C.1 Abkürzungen
ASIC
AWGR
CDMA
CLB
DSP
DS
FIR
FPGA
HA
HW
IIR
K2
LSB
LTI
MSB
MUD
RNN
SNR
SW
tanh
TD
UMTS
VA
VZ
Application Specific Integrated Circuit
additives weißes Gaußsches Rauschen
Code–Division–Multiple–Access
Configurable Logic Block
Digital Signal Processor
Direct–Sequence
Finite Impulse Response
Field Programmable Gate Array
Halbaddierer
Hardware
Infinite Impulse Response
Zweierkomplement
Least Significant Bit (niederwertigste Stelle), Mehrzahl LSBs
Lineare Time Invariant
Most Significant Bit (höchstwertige Stelle), Mehrzahl MSBs
Multiuser–Detektion
Rekurrentes Neuronales Netz
Signal–Rauschabstand
Software
Tangens hyperbolicus
Time–Division
Universal Mobile Telecommunication System
Volladdierer
Vorzeichen
C.2 Operatoren
artanh(.)
erf(.)
log(.)
log2(.)
Arcus Tangens hyperbolicus
2
x
error function (erf(x) = √2π 0 e−t dt)
Zehnerlogarithmus
Zweierlogarithmus
119
C Abkürzungen und Symbole
max(.,.)
min(.,.)
mod2(.)
tanh(.)
th(i)
Diag(.)
P(.)
P{.}
{.}
{.}
σ(.)
[.]Q
∂
∂x
T
A
x∗
0K×K
[α; β]
]α; β[
(v.n)
.
Maximum
Minimum
Modulo 2
Tangens hyperbolicus
Tangens hyperbolicus an der Stelle i · 2−n (th(i) = tanh(i · 2−n ))
nur Elemente auf der Diagonalen, Rest ist Null
Wahrscheinlichkeitsfunktion
Wahrscheinlichkeit des Ausdrucks
Realteil
Imaginärteil
Aktivierungsfunktion des RNN
Quantisierung
partielle Ableitung
transponierte Matrix
konjugiert komplexer Vektor
Matrix der Dimension K × K mit Nullen
Intervall von α bis β einschließlich der Randwerte
Intervall von α bis β ohne die Randwerte
binäre K2 Festpunktzahl mit v Vorkomma- und n Nachkommastellen
Natürliche Zahl gleich oder größer (aufrunden)
C.3 Wichtige Formelzeichen
Unterstrichene Variablen bedeuten komplexe Größen z. B. n.
Fett gedruckte Variablen in Kleinbuchstaben kennzeichnen Spaltenvektoren z. B. x.
Fett gedruckte Variablen in Großbuchstaben kennzeichnen Matrizen z. B. R.
Variablen mit hochgestelltem bit z. B. xbit
i bedeuten, dass es sich dabei um die binäre
Stelle von x handelt mit der Wertigkeit 2i bzw. −2i für das MSB (VZ).
ai
c
fx
c[κ]
cmax
e
e(t)
e[k]
120
FIR–Filterkoeffizient
Skalierungsfaktor
Verteilungsdichtefunktion
Steigung der Aktivierungsfunktion in der Iteration κ
Maximale Steigung der Aktivierungsfunktion
Quantisierungsfehler (bei mehreren Quantisierungen
mit entsprechenden Indizes ei , exi , ey , ...)
Elementarsignal der Übertragung
Quantisierungsfehler zum Abtastzeitpunkt k (bei mehreren Quantisierungen
mit entsprechenden Indizes ei [k], exi [k], ...)
C.3 Wichtige Formelzeichen
g(t)
hl (t)
k
kC
l
r
n
n(t)
n
l (t)
(t)
n
n
[k]
n
sl [kC ]
v
v[κ]
v i [κ]
wl (t)
w(t)
xR,i
x[k]
x̂[k]
x
x[k]
xl [k]
x
[k]
x
y[k]
y l (t)
Empfangssignal des Empfängers
Kanalstoßantwort des Subkanals l
diskreter Zeitindex bzw. Symboltakt in Kapitel 5
Chiptakt
Index zur Bezeichnung des Subkanals
Dimension der Ersatzkanalmatrix mit r = K · NB
Anzahl der binären Nachkommastellen (wird auch mit entsprechenden
Indizes verwendet z. B. n1 , n2 oder nx1 ...)
additives weißes Gaußsches Rauschen bei der Übertragung
farbiges Rauschen durch Matched–Filterung von n(t) mit w∗l
Vektor des farbigen Rauschens
(t) = (
n1 (t), ..., n
K (t))T
mit n
= (
T [NB ])T
farbiger Rauschvektor bei Paketübertragung mit n
nT [1], ..., n
[k] = n
(kTS )
Vektor von Abtastwerten farbigen Rauschens mit n
i–tes Element der komplexen Spreizsequenz des Subkanals l
Anzahl der binären Vorkommastellen (wird auch mit entsprechenden
Indizes verwendet)
Aktivierungszustände aller Neuronen mit v[κ] = (v 1 [κ], ..., v NB K [κ])
Aktivierungszustand des Neuron i
Hintereinanderschaltung des Kanals und Spreizsequenz
mit wl (t) = 12 S l (t) ∗ hl (t)
Vektor für Kanal-Matched-Filterung
mit w(t) = (w1 (t), w2 (t), . . . , wK (t))T
Realisierungen der diskreten Zufallsgröße X
Eingangssignal zum Abtastzeitpunkt k (bei mehreren Eingangssignalen
xi [k])
Quantisiertes Eingangssignal zum Abtastzeitpunkt k (bei mehreren
Eingangssignalen x̂i [k])
Paketvektor der gesendeten Symbole aller Subkanäle
mit x = (xT [1], ..., xT [NB ])T
Vektor der Sendesymbole mit x[k] = (x1 [k], ..., xK [k])T
k–tes Informationssymbol des Subkanals l
= (
T [NB ])T
Paketvektor mit x
xT [1], ..., x
abgetasteter Empfangsvektor nach der Matched–Filter–Bank
[k] = y(kTS )
mit x
Ausgangssignal zum Abtastzeitpunkt k
Empfangssignals nach der Matched–Filter–Bank für Nutzer l
121
C Abkürzungen und Symbole
y(t)
Vektor des Empfangssignals nach der Matched–Filter–Bank
Akm,1
Akm,2
Akomp,1
Akomp,2
Akomp,3
HW–Bedarf für komplexe Multiplikation mit 4 Multiplizierern.
HW Bedarf für komplexe Multiplikation mit 3 Multiplizierern.
HW–Bedarf für Runden der Produkte.
HW–Bedarf für Kompensation durch Subtraktion des Fehlermittelwertes
HW–Bedarf für Kompensation durch negieren der Hälfte der Elemente
eines Eingangsvektors.
HW–Bedarf für Stufe i der MUD–Realisierung
Energie pro Informationsbit
Verteilungsfunktion
Anzahl der Subkanäle
Zweiseitige Rauschleistungsdichte eines Quadraturkanals
Länge der Vektoren bzw. Spreizlänge, Sequenzlänge in Kapitel 5
Größe der Übertragungspakete
Anzahl der Iterationen für die Berechnung des RNN
es gilt: ∀|k| ≤ NR : R[k] = 0K×K (siehe auch Abb. 5.2)
Wahrscheinlichkeit
Bitfehlerwahrscheinlichkeit oder Bitfehlerrate
Ersatzkanalmatrix bei Paketübertragung siehe Abb. 5.2
zeitdiskrete Ersatzkanalmatrix mit R[k] = Φ(kTS )
Spreizsequenz des Subkanals l gefaltet mit dem Elementarsignal e(t)
Signal–Rauschabstand (signal–to–noise–ratio)
Zwischenergebnis bei der Berechnung des RNN (Summe 8
aufeinanderfolgender Produkte von Imaginärteil mal Imaginärteil)
Zwischenergebnis bei der Berechnung des RNN (Summe 8
aufeinanderfolgender Produkte von Imaginärteil mal Realteil)
Zwischenergebnis bei der Berechnung des RNN (Summe 8
aufeinanderfolgender Produkte von Realteil mal Imaginärteil)
Zwischenergebnis bei der Berechnung des RNN (Summe 8
aufeinanderfolgender Produkte von Realteil mal Realteil)
Matrix der Gewichtsfaktoren des RNN mit T = −(R − Diag(R))
Gewichtsfaktoren des RNN an der Stelle i,j siehe auch Abb. 5.3
Chipdauer mit TC = TNS
Symboldauer
Zufallsgröße mit der Menge der Realisierungen {xR,0 , xR,1 , ...} bzw.
Eingangssignal in Abschnitt 4.4.3
ASi
Eb
Fx
K
N0
N
NB
Niter
NR
P
Pb
R
R[k]
S l (t)
SNR
SUM
SUM
SUM
SUM
T
T ij
TC
TS
X
122
C.3 Wichtige Formelzeichen
κ
μx
μe
μ x2
μe2
σx2
σe2
Γ
Δ
Λ
Φ(t)
Iterationsschritt des RNN
Mittelwert des Eingangssignals x
Mittelwert des Fehlers e
quadratischer Mittelwert des Eingangssignals x
quadratischer Mittelwert des Fehlers e
Varianz des Eingangssignals x
Varianz des Fehlers e
Mittelwert von Eingangssignalen
Quantisierungsstufe
Intervallbreite von Eingangssignalen
Matrix, die alle Korrelationsfunktionen zwischen wi (t) und wj (t) mit
i, j ∈ {1, . . . , K}, enthält
Φi,j (t) Element der Matrix Φ(t) an der Stelle i, j
R
Z
reelle Zahlen
ganze Zahlen
123
124
Literaturverzeichnis
[1] Beichelt, F.: Stochastik für Ingenieure. Stuttgart : B. G. Teubner, 1995
[2] Beichelt, F.: Stochastische Prozesse für Ingenieure. Stuttgart : B. G. Teubner,
1997
[3] Beuschel, C.: Untersuchungen zu Quantisierungseffenkten bei grundlegenden
Rechenoperationen der digitalen Signalverarbeitung. Abt. Allgemeine Elektrotechnik und Mikroelektronik, Universität Ulm : Studienarbeit, 2003
[4] Bronstein, I. N. ; Semendjajew, K. A.: Taschenbuch der Mathematik. Stuttgart, Leipzig und Moskau : B.G. Teubner und Verlag Nauka, 1991
[5] Constantinides, G. A.: Perturbation Analysis for Word–length Optimization. In: Proceedings of the 11th Annual IEEE Symposimu on Field–Programmable
Custon Computing Machienes (2003)
[6] Constantinides, G. A. ; Cheung, P. Y. K. ; Luk, W.: Truncation noise in
fixed–point SFGs. In: IEE Electronics Letters 35 (1999), November, Nr. 23, S.
2012–2014
[7] Constantinides, G. A. ; Cheung, P. Y. K. ; Luk, W.: Heuristic Datapath
Allocation for Multiple Wordlength Systems. In: Design, Automation, and Test
in Europe (DATE ’01) (2001), S. 791–796
[8] Constantinides, G. A. ; Cheung, P. Y. K. ; Luk, W.: Roundoff–Noise Shaping
in Filter Design. In: IEEE Internal Symposium on Circuits and Systems (2001),
Mai
[9] Constantinides, G. A. ; Cheung, P. Y. K. ; Luk, W.: Optimum Wordlength Allocation. In: Proceedings of the 10th Annual IEEE Symposimu on Field–
Programmable Custon Computing Machienes (2002)
[10] Constantinides, G. A. ; Cheung, P. Y. K. ; Luk, W.: Synthesis and Optimization Of DSP Algorithms. Norwell, MA, USA : Kluwer Academic Publishers,
2004
[11] Dehling, H. ; Haupt, B.: Einführung in die Wahrscheinlichkeitstheorie und
Statistik. Springer–Verlag, Berlin, 2003
125
Literaturverzeichnis
[12] Diniz, P. ; Netto, S. ; Silva, E. D.: Digital Signal Processing: System Analysis
and Design. New York, NY, USA : Cambridge University Press, 2002
[13] Engelhart, A.: Vector Detection Techniques with Moderate Complexity. Düsseldorf : VDI Verlag, 2003
[14] Engelhart, A. ; Schummer, H. E. ; Teich, W. G. ; Lindner, J. ; Schotten,
H. D. ; Elders-Boll, H.: Investigation of selected spreading sequences for DS–
CDMA systems with a nonlinear multiuser detector. In: COST262 MCM meeting
(1999), July, S. 2012–2014
[15] ETSI: UMTS; Selection procedures for the choise of radio transmission technologies of the UMTS (UMTS 30.03 verion 3.2.0). (1998), S. 43
[16] Gryska, H.: Untersuchung von Multiuser–/Multisubchannel Empfangsverfahren
bei Paketübertragung mit Mehrträgerverfahren und verkürzter Schutzzeit. Universität Ulm : Diplomarbeit, 1998
[17] Labsley, P. ; Bier, J. ; Shoham, A. ; Lee, E. A.: DSP Processor Fundamentals.
New York : IEEE Press, 1997
[18] Lindner, J.: MC–CDMA and its Relation to General Multiuser/Multisubchannel
Transmission Systems. In: Proc. IEEE ISSSTA (1996), July, S. 115–121
[19] Lindner, J.: Skript zur Vorlesung Nachrichtentechnik I. Abt. Informationstechnik, Universität Ulm, 1996/1997
[20] Lindner, J.: Multi–Carrier Spread Spectrum: An Attractive Special Case of General Multiuser/Multisubchannel Transmission Methods. In: Fazel, K./Fettweis,
G. P.: Multi/Carrier Spread–Spectrum, Proc. First International Workshop on
MC–SSA (1997), S. 3–12
[21] Lüke, H. D.: Signalübertragung – Grundlagen der digitalen und analogen Nachrichtenübertragungssysteme. Springer–Verlag, Berlin, 1990
[22] Naumovic, M. B. ; Stojic, M. R.: Comparative study of finite word length
effects in digital filter design via the shift and delta transforms. In: Electrical
Engineering 82 (2000), S. 213–216
[23] Oppenheim, A. V. ; Schafer, R. W.: Zeitdiskrete Signalverarbeitung, 3. Auflage.
Rosenheimerstraße 145, D–71671 München : R. Oldenburg Verlag, 1999
[24] Papula, L.: Mathematik für Ingenieure und Naturwissenschaftler, Band 3. Wiesbaden : Vieweg Verlag, 2001
126
Literaturverzeichnis
[25] Pfleiderer, H.-J.: Skript zur Vorlesung VLSI–Systeme I,II. Abt. Allgemeine
Elektrotechnik und Mikroelektronik, Universität Ulm, 1996
[26] Rabaey, J. M.: Digital integrated circuits: a design perspective. Upper Saddle
River, NJ, USA : Prentice–Hall, Inc., 1996
[27] Schlecker, W.: Untersuchungen zur Hardware–Implementierung von RNN–
Detektionsalgorithmen für den UMTS–TD/CDMA–Vorschlag. Universität Ulm :
Diplomarbeit, 1999
[28] Schlecker, W. ; Beuschel, C. ; Pfleiderer, H.-J.: Quantisation noise in
fixed–point multiplications. In: Electrical Engineering (Archiv für Elektrotechnik)
(2006), Mai
[29] Schlecker, W. ; Engelhart, A. ; Teich, W. G. ; Pfleiderer, H.-J.: FPGA
Hardware Implementation of an Iterative Multiuser Detection Scheme. In: 10th
Aachen Symposium on Signal Theory (2001), September
[30] Schlecker, W. ; Engelhart, A. ; Teich, W. G. ; Pfleiderer, H.-J.: FPGA
Implementation of a Multiuser Detection Scheme Based on Recurrent Neural
Network Structure. In: COST 262 Workshop, Multiuser Detection in Spread
Spectrum Communication (2001), Januar
[31] Schlecker, W. ; Engelhart, A. ; Teich, W. G. ; Pfleiderer, H.-J.: Hardware Implementation of a Multiuser Detection Scheme Based on Recurrent Neural
Networks. In: 12th International Conference, FPL (2002), September, S. 1097–
1100
[32] Schlecker, W. ; Pfleiderer, H.-J.: Analytische Betrachtung des Quantisierungsfehlers bei grundlegenden Rechenoperationen der digitalen Signalverarbeitung. In: Kleinheubacher Tagung (2004), September, Oktober
[33] Schlecker, W. ; Pfleiderer, H.-J.: Auswirkungen der Quantisierung bei
nichtlinearen Funktionen. In: Kleinheubacher Tagung (2005), September
[34] Schotten, H. D.: Algebraische Konstruktion gut korrelierender Sequenzen und
Analyse ihrer Leistungsfähigkeit in Codemultiplex–Systemen. In: Fortschritt–
Berichte VDI 10 (1997), Nr. 510
[35] Sgraja, C.: Kombinierte Entzerrung und Decodierung bei Paketübertragungsverfahren mit allgemeinen komplexwertigen Modulationsverfahren. Universität Ulm
: Diplomarbeit, 1998
[36] Sgraja, C. ; Engelhart, A. ; Teich, W. G. ; Lindner, J.: Equalization with
recurrent neural networks for complex–valued modulation schemes. In: Proc. 3.
Workshop Kommunikationstechnik (1999), S. 7–12
127
Literaturverzeichnis
[37] Shanmugan, K. S. ; Breipohl, A. B.: Random Singals; Detection, Estimation
and Data Analysis. New York : John Wiley & Sons, 1990
[38] Taylor, F. J.: Digital Filter Design Handbook. New York, NY, USA : Marcel
Dekker, Inc., 1983
[39] Teich, W. G. ; Engelhart, A. ; Schlecker, W. ; Gessler ; Pfleiderer, H.J.: Towards an Efficient Hardware Implementation of Recurrent Neural Network
Based Multiuser Detection. In: COST 259 meeting (2000), April
[40] Teich, W. G. ; Engelhart, A. ; Schlecker, W. ; Gessler ; Pfleiderer, H.J.: Towards an Efficient Hardware Implementation of Recurrent Neural Network
Based Multiuser Detection. In: IEEE 6th Int. Symp. on Spread–Spectrum Tech.
and Appl. 6–8 September 2000 (2000), September, S. 662–665
128
Herunterladen