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