[go: up one dir, main page]

DE19826252C2 - Verfahren zur digitalen Signalverarbeitung - Google Patents

Verfahren zur digitalen Signalverarbeitung

Info

Publication number
DE19826252C2
DE19826252C2 DE19826252A DE19826252A DE19826252C2 DE 19826252 C2 DE19826252 C2 DE 19826252C2 DE 19826252 A DE19826252 A DE 19826252A DE 19826252 A DE19826252 A DE 19826252A DE 19826252 C2 DE19826252 C2 DE 19826252C2
Authority
DE
Germany
Prior art keywords
signal
group
scaling factor
block
factor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE19826252A
Other languages
English (en)
Other versions
DE19826252A1 (de
Inventor
Gerhard Fettweis
Shiro Kobayashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Asahi Chemical Industry Co Ltd
NXP BV
Original Assignee
Systemonic AG
Asahi Chemical Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to DE19826252A priority Critical patent/DE19826252C2/de
Application filed by Systemonic AG, Asahi Chemical Industry Co Ltd filed Critical Systemonic AG
Priority to KR10-2000-7014247A priority patent/KR100398859B1/ko
Priority to AU41657/99A priority patent/AU4165799A/en
Priority to PCT/JP1999/003157 priority patent/WO1999066423A1/ja
Priority to DE69925123T priority patent/DE69925123T2/de
Priority to EP99925312A priority patent/EP1094401B1/de
Priority to US09/719,351 priority patent/US6728739B1/en
Priority to TW088109932A priority patent/TW457441B/zh
Priority to JP2000555180A priority patent/JP3736741B2/ja
Publication of DE19826252A1 publication Critical patent/DE19826252A1/de
Application granted granted Critical
Publication of DE19826252C2 publication Critical patent/DE19826252C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/485Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49936Normalisation mentioned as feature only

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Nonlinear Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

Die Erfindung betrifft ein Verfahren zur digitalen Signalver­ arbeitung, bei dem für mehrere Signale, die mittels einer Skalierung in einen Wertefaktor und einen Signalskalierungs­ faktor zerlegbar sind, ein gemeinsamer Skalierungsfaktor er­ mittelt wird, die Wertefaktoren zusammengeordnet werden und die Signale unter Berücksichtigung dieses gemeinsamen Skalie­ rungsfaktors verarbeitet werden.
Auf einigen Anwendungsgebieten der digitalen Signalverarbei­ tung ist das Erreichen der Rechengenauigkeit innerhalb ver­ nünftiger Dynamikbereiche eine der wichtigsten Kernfragen.
Mit der Festkomma-Arithmetik, bei der jedes Bit in einer Zah­ lendarstellung für eine bestimmte feste Bedeutung vorgesehen ist, besteht bei einer begrenzten Anzahl von Stelen bei der Zahlendarstellung ein Gegensatz zwischen der höchsten Auflö­ sung und dem größten Absolutwert. Aus diesem Grunde ist die Forderung nach einer hohen Genauigkeit und einem großen Dyna­ mikbereich schwer zu erfüllen.
Eine Möglichkeit, die Zahlendarstellung dem Absolutwert an­ zupassen, bietet die Fließkomma-Arithmetik.
Dabei beinhaltet jeder Fließkommawert seinen eigenen Skalie­ rungsfaktor und einen Festkomma-ähnlichen Teil, so daß jeder Wert, einer nach dem anderen, über einen großen Dynamikbereich skaliert werden kann. Mit einem positiven Skalierungsfaktor wird ein Wert mit großem Absolutwert mit geringerer Genau­ igkeit skaliert und im Gegensatz dazu mit einem negativen Skalierungsfaktor erhält ein Wert eine höhere Genauigkeit bei einem kleineren Absolutwert.
Das Hauptproblem mit dem Fließkomma ist die Forderung nach einer hochkomplexen Hardware.
Eine Block-Fließkomma-Darstellung ist ein Kompromiß zwischen dem Fließkomma und dem Festkomma. In dieser Zahlendarstellung wird ein einfacher Skalierungsfaktor zur Darstellung der Ska­ lierungsinformation aller Werte in einem Block benutzt. Wenn der Wert skaliert wird, hat er denselben Vorteil eines großen Dynamikbereiches, wie er auch von einem Fließkomma erwartet wird. In der US 4,872,132 wird eine Schaltungsanordnung be­ schrieben, mit der Block-Fließkomma-Daten skaliert werden.
Die Komplexität der geforderten Hardware zu Erreichung einer Block-Fließkommadarstellung ist in aller Regel dieselbe, wie die von Festkomma. Zusätzlich zu dem Standard-Festkomma ist die Funktion des Zählens der Anzahl von redundanten Darstel­ lungsbits (Skalierungsfaktor) erforderlich, mit denen heut­ zutage fast alle digitale Signalverarbeitung ausgestattet ist und das den kleinsten Skalierungsfaktor in einem Block von verschiedenen Signaldaten feststellt.
Ein Problem bei der gegenwärtigen Einführung der Block-Fließ­ komma-Arithmetik resultiert aus der Tatsache, daß der gemein­ same Skalierungsfaktor eines Blocks nicht festgestellt werden kann, bis nicht alle Signaldaten in einem Block überprüft sind. Mit anderen Worten: Wie viel jedes Signal zur vollstän­ digen Skalierung angehoben werden soll, ist nicht bekannt, bis nicht jeder Wert zum Anheben verfügbar ist.
Ein typisches Herangehen zur Vermeidung dieses Problems ist es, einen festen Anhebewert zu benutzen. Die notwendige Anhe­ begröße kann z. B. von den Koeffizienten eines Filters, das verwirklicht werden soll, benannt werden. Es kann jedoch vor­ kommen, daß dieser vorgegebene Anhebewert für das aktuelle Anhebesignal zu klein ist, wenn beispielsweise das Eingangs­ signal in das Filter in einem zu kleinen Bereich liegt. In einer solchen Situation kann eine gute Berechnungsgenauigkeit nicht realisiert werden.
Die Aufgabe der Erfindung besteht darin, die Signalverarbei­ tung in digitalen Signalverarbeitungseinrichtungen (nachfol­ gend mit DSP bezeichnet), die mit einer Festkomma- oder einer Block-Fließkomma-Zahlendarstellung arbeiten in ihrer Genau­ igkeit zu verbessern, ohne die Anforderungen an die Komplexi­ tät der Hardware zu erhöhen.
Verfahrensseitig wird die Aufgabe dadurch gelöst, daß ein Minimalwert von Signalskalierungsfaktoren von einer ersten Anzahl von Signalen als Gruppenskalierungsfaktor ermittelt wird. Diese Signale werden mit dem Gruppenskalierungsfaktor skaliert. Diese skalierten Signale wiederum werden als Signal­ gruppe gespeichert. Weiterhin wird der Gruppenskalierungs­ faktor mit einer eindeutigen Zuordnung zu der Signalgruppe gespeichert. Die vorstehenden Schritte werden anschließend für eine zweite Anzahl von Signalgruppen, wiederholt. Sodann wird ein Minimalwert von Gruppenskalierungsfaktoren von einer An­ zahl von Signalgruppen als Blockskalierungsfaktor ermittelt. Der Blockskalierungsfaktor wird mit einer eindeutigen Zuord­ nung zu einem aus der zweiten Anzahl von Signalgruppen beste­ henden Signalblock gespeichert. Schließlich wird jedes Signals einer Signalgruppe aus dem Signalblock vor einer Weiterver­ arbeitung mit einem Abgleichfaktor, der sich als Differenz des Gruppenskalierungsfaktors von dem Blockskalierungsfaktor er­ gibt, skaliert.
Der Vorteil der vorliegenden Erfindung besteht darin, eine verbesserte Genauigkeit in einem Block-Fließkomma-Berechnungs­ system vorzusehen. Dies wird durch Einführung einer neuen Komponente von Signalgruppen in die herkömmliche Signaldaten­ hierarchien erreicht, die aus Signalblöcken und jeweiligen Signalwerten besteht.
Eine Signalgruppe ist zwischen Signalblöcke und jeden Signal­ wert gesetzt. Sie enthält viele Signalwerte und eine Sammlung von Signalgruppen, die aus einem Signalblock bestehen. Signal­ werte werden zuerst innerhalb einer Signalgruppe gemeinsam skaliert (Gruppennormierung). Beispielsweise werden in einem parallelen Bearbeitungssystem viele Signalwerte in eine Be­ rechnungseinheit eingegeben, verarbeitet und viele neue Signa­ le entsprechend parallel ausgeben.
Damit wird eine Lösung für eine genaue Signalverarbeitung für Festkomma-DSPs oder Block-Fließkomma-DSPs zur Verfügung ge­ stellt, indem eine Architektur bereitgestellt werden kann, die auf hardwareunterstützenden Mitteln ohne die Anforderungen an spezielle Redisigns der originalen DSP-Chips beruht.
In einer Ausgestaltung des Verfahrens ist vorgesehen, daß die mit dem Abgleichfaktor skalierten Signale als neuer Signal­ block abgespeichert werden, dem der Abgleichfaktor als Block­ skalierungsfaktor eindeutig zugeordnet ist.
In einer nächsten Ausgestaltung des Verfahrens werden die mit dem Abgleichfaktor skalierten Werte anschließend mit einer Festkomma-Darstellung verarbeitet.
Eine weitere Ausgestaltung des Verfahrens sieht vor, daß der Gruppenskalierungsfaktor mit der entsprechenden Signalgruppe gespeichert wird.
Die Erfindung soll nachstehend anhand eines Ausführungsbei­ spieles näher erläutert werden. In den zugehörigen Zeichnungen zeigt
Fig. 1 ein Blockdiagramm einer Ausgestaltung einer DSP nach der vorliegenden Erfindung dar,
Fig. 2 ein schematisches Blockschaltbild einer Ausgestaltung der Einrichtungen gemäß Fig. 1,
Fig. 3 ein detailliertes Blockschaltbild einer anderen Ausge­ staltung von Einrichtungen der Fig. 1,
Fig. 4 die Zusammensetzung eines Signalblocks,
Fig. 5 eine schematische Darstellung der Rechenvorgänge,
Fig. 6 ein Berechnungsbeispiel einer ersten Berechnung und
Fig. 7 ein Berechnungsbeispiel einer an die erste Berechnung anschließende zweite Berechnung.
In Fig. 1 ist ein Blockdiagramm einer bevorzugten Ausführungs­ form eines vorteilhaften DSP dargestellt. Der DSP beinhaltet eine Berechnungseinheit, nachfolgend als Comp Unit 1 bezeich­ net, und eine globale Block-Fließkomma-Einheit, nachfolgend als Global BF 2 bezeichnet. Die Comp Unit 1 beinhaltet eine festgelegte Anzahl k von mehreren einzelnen Signalprozessor- Bausteinen, hiernach bezeichnet als Comp Brick0 3 bis Comp Brickk-1 4. Alle Comp Brick 3 bis 4 haben den gleichen Aufbau. Comp Brick0 ist mit seinem Aufbau detailliert dargestellt. Dementsprechend bezeichnet ein Teil in dem Comp Brick0 auch entsprechende Teile in den anderen Comp Bricks.
Der Comp Brick0 3 beinhaltet eine Multipliziereinheit, nach­ folgend als MAC0 5 bezeichnet. Der Ausgang der MAC0 5 ist mit einer lokalen Block-Fließkomma-Einheit, nachfolgend als Local BF0 6 bezeichnet, verbunden. Dieser Ausgang ist ebenso an eine Hubeinheit, nachfolgend als L-Shift0 7 bezeichnet, geführt. Der Ausgang der Local BF0 6 wird dann zu einem Minimum-Detek­ tor, nachfolgend als Group Scale Detect 8, bezeichnet, der in dem Global BF 2 angeordnet ist, zusammen mit dem äquivalenten Ausgang einer lokalen Fließkomma-Einheit von einem anderen Comp Brick, beispielsweise dem Comp Brick 4, geführt. Der Ausgang des Group Scale Detect 8 ist mit einem anderen Minimum-Detektor, nachfolgend als Block Scale Detect 9 be­ zeichnet, verbunden und ebenso ein Register, nachfolgend als Group Scale Reg File 10. Der Ausgang des Group Scale Detect 9 ist auch zu jeden Comp Brick 3 bis 4 in die Hubeinheiten L- Shift, wie dargestellt in die L-Shift0 7 in der Comp Brick0 3 zurückgeführt. Der Ausgang des L-Shift0 7 ist dann mit einem Signalverarbeitungsbus, nachfolgend als Data Bus 11 bezeich­ net, verbunden. Mit diesen Data Bus 11 verbunden sind ebenso die L-Shift-Ausgänge der Comp Bricks bis Comp Brickk-1 4.
Die Vielzahl von Signalen, d. h. die Vielzahl von L-Shift-Aus­ gängen werden zusammen in einer Signalgruppe in einen Signal­ prozessor-Speicher, nachfolgend als Data Mem 12 unter Nutzung einer Speicheradresse, die von einer Speicheradressen-Erzeu­ gungseinheit, nachfolgend als Addr Gen 13 bezeichnet, über einen Signalprozessor-Adreßbus, nachfolgend als Data Addr Bus 14 erzeugt wurde, gespeichert. Dieser Data Mem 12 ist auch verbunden mit dem Eingang von Hubeinheiten in den Comp Bricks 3 bis 4, wie in der Comp Brick0 3 dargestellt und nachfolgend mit R-SHIFT0 15 bezeichnet. Der Ausgang des R-SHIFT0 15 ist auf den MAC0 5 geführt.
Der Data Addr Bus 14 ist ebenfalls mit dem Group Scale Reg File 10 verbunden. Durch diesen Data Addr Bus 14 ist dieselbe Adresse, wie sie für die Übertragung der Signalgruppe von den L-Shifts, wie mit L-Shift 14 dargestellt, in den Data Mem 12 durch den Data Bus 11 benutzt wird, für den Group Scale Reg File 10 vorgesehen, so daß der Ausgang des Group Scale Detect 8 in dem Group Scale Reg File 10 gespeichert werden kann. Die Inhalte von dem Group Scale Reg File 10 sind auch in der Lage, in Gruppenart durch Verbindungsmittel zwischen dem Group Scale Reg File 10 und dem Data Bus 11 von oder zu dem Data Mem 12 übertragen zu werden.
Der Ausgang von dem Block Scale Detect 9 ist auf in ein Adder, bezeichnet als Update ADD 16, geführt. Der Ausgang von diesem Update ADD 16 ist mit einem Register, genannt Block Scale Factor Reg 17 verbunden. Der Ausgang von dem Block Scale Fac­ tor Reg 17 ist mit auf einen anderen Eingang des Update ADD 16 zurückgeführt, an dem zwei Eingänge addiert werden und dann das Ergebnis zu dem Block Scale Factor Reg 17 gesendet wird und Update-Mittel zum Updaten des Inhalts des Block Scale Factor Reg 17 vorgesehen sind. Der Ausgang von dem Block Scale Factor Reg 17 ist auf ein anderes Adder, bezeichnet als Align ADD 18, verbunden. Ebenso mit einem anderen Eingang des Align ADD 18 ist der Ausgang von dem Group Scale Reg File 10 zur Bereitstellung eines der Registerinhalte, der spezifisch die­ selbe Adresse benutzt, wie sie für den Transport der Signal­ gruppe von dem Data Mem 12 zu den Eingängen der R-Shifts, z. B. R-Shift0 15, genutzt wird, verbunden. Der Ausgang von dem Align ADD 18 ist mit einem Hubgrößensteuerungseingang der R- Shifts, z. B. R-Shift0 15, verbunden. Der Block Scale Factor Reg 17 ist ebenso mit dem Datenbus über das Vorsehen von Mit­ teln zum Transfer des Inhalts des Block Scale Factor Reg 17 von oder in den Data Mem 12 verbunden.
Um die Blockflußoperation des DSP besser zu verstehen, wird nachstehend ein Beispiel mit beispielhaften Zahlen angegeben.
Es wird vorausgesetzt, daß die Breite des Data Mem 12 vier Stellen beträgt und daß das Ergebnis der MACs 15 eine Breite von acht Stellen aufweist.
Die Berechnungen sollen nach folgenden Gleichungen erfolgen:
Die Gleichung (1) wird auf ein Signal angewandt, das die Ab­ tastwerte X0, X1, X2, . . . X7 bereitstellt. Das Ausgangssignal der Gleichung (1) stellt die Abtastwerte Y0, Y1, Y2, . . . Y7 zur Verfügung. Dann wird die Gleichung (2) auf das Ausgangssignal Y(n) angewandt. Im Beispiel wird das Signal X von dem Ausgang des DSP ohne irgendeine Skalierungsinformation eingegeben.
Jeder Signalabtastwert kennzeichnet darin ein Signalelement. Jeweils vier dieser Signalelemente stellen eine Signalgruppe dar. In diesen Signalgruppen werden die Signale in einem Si­ gnalblock im dem Data Mem 12 gespeichert. Fig. 4 zeigt diese Hierarchie.
Eine einzelne Signalgruppe ist mit einer Speicheradresse ver­ sehen und alle Signalelemente in dieser Signalgruppe sind zusammen erreichbar.
Die anderen Vektoren, die vordefinierte Koeffizienten A0, A1, . . . A3 sowie B0 und B1 hervorbringen, werden vorgegeben, um verfügbar zu sein, wenn sie benötigt werden. Wie diese Koeffi­ zienten angewandt werden, ist nicht Gegenstand dieser Erfin­ dung und wird hier nicht weiter ausgeführt.
Fig. 5 gibt das Verfahren der Ausführung von Gleichung (1) kurz gefaßt wieder. Die Signalgruppe, die die Signalabtast­ werte X0, X1, X2 und X3 enthält wird von dem Data Mem 12 zu der Comp Unit 1 in die R-Shifts, z. B. R-Shift0 15, durch den Data Bus 11 übertragen. Da das Signal X(n) von dem Ausgang des DSP gerade ohne irgendeine Skalierungsinformation eingegeben ist, steuert die Steuerlogik die R-Shifts, z. B. R-Shift0 15, so, daß die Signalabtastwerte X0 bis X3 nicht angehoben wer­ den. Um diese Signalabtastwerte in jedem Comp Brick 3 bis 4 geladen zu halten, sind lokale Register verfügbar, die in Fig. 1 nicht näher dargestellt sind, da sie für die Erfindung nicht relevant sind.
An den MACs 15 werden die Abtastwerte X0 bis X3 unter Nutzung der vorgegebenen Koeffizienten A0 bis A3 für die Multiplizier- /Addierberechnungen verarbeitet. Nach der Berechnung von Zy­ klus 2 bis Zyklus 5 werden die ersten Ergebnisse Y0 bis Y3 fertiggestellt. Während dieser Berechnungen werden die Abtast­ signale X0 bis X3 zwischen den Comp Bricks 3 bis 4 unter Nut­ zung von Hardwaremitteln übertragen, die in Fig. 1 nicht dar­ gestellt sind, da sie für die Erfindung ohne Bedeutung sind.
Die Ergebnisse Y0 bis Y3 werden dann in die Local BFs geführt. Das Local BF, z. B. Local BF0 6, berechnet einen Signalskalie­ rungsfaktor, der als ein Faktor definiert wird, der den vollen skalierten Wert des Signals ergibt. Wenn beispielsweise das Maximum des Absolutwertes mit 10,0 gewählt wurde, kann ein Originalsignal von = ,009 auf 9,0 skaliert werden, wobei der Skalierungsfaktor 3 beträgt.
Die Skalierungsfaktoren von den Local BFs werden dann in den Group Scale Detect 8 geführt, wo der Minimalwert von mehreren Skalierungsfaktoren festgestellt wird. Der minimale Skalie­ rungsfaktor stellt den Gruppenskalierungsfaktor dar.
Der Gruppenskalierungsfaktor wird dann auf jeden der Comp Bricks, Comp Brick0 bis Comp Brickk-1 an den L-Shift 14 zurück­ geführt. Zur gleichen Zeit erreichen die Ergebnisse Y0 bis Y3 von den MACs 15 die L-Shifts. Die Ergebnisse Y0 bis Y3 sind gemeinsam skaliert und ergeben die skalierten Signale Y'0 bis Y'3. Fig. 6 zeigt hierzu ein Beispiel mit aktuellen Werten.
Dies gemeinsam skalierten Ergebnisse werden dann in dem Data Mem 12 für die nächste Berechnung gespeichert. Wegen des ge­ ringeren Stellenumfanges des Data Mem 12 muß jedes Ergebnis auf vier Stellen beschnitten werden. Diese beschnittenen Er­ gebnisse sind als y0 bis y3 in Fig. 6 bezeichnet. Während der Speicherung der Ergebnisse y1 bis y3 wird der Gruppenskalie­ rungsfaktor auch in den Group Scale Reg File 10 geführt. Der Gruppenskalierungsfaktor wird in einem spezifischen Register gespeichert, das durch dieselbe Datensignaladresse, wie sie beim Speichern der Ergebnisse verwendet wird, bestimmt wird. Folglich wird eine Signalgruppe und ihr zugehöriger Gruppen­ skalierungsfaktor miteinander verbunden.
Der Gruppenskalierungsfaktor wird auch in den Block Scale Detect 9 geführt, wo der Minimalwert von mehreren Gruppen­ skalierungsfaktoren ermittelt wird. Wenn es sich um die erste Signalgruppe eines Signalblocks handelt, wird einfach der gegenwärtig berechnete Gruppenskalierungsfaktor, z. B. 3, als Anfangswert in ein Blockfaktorsuchregister, das nicht aus­ drücklich in Fig. 1 dargestellt ist, aber nachfolgend als Block Scale Search Reg bezeichnet wird, gespeichert.
Jetzt wird die zweite Signalgruppe, die die Originalsignale von X4 bis X7 enthält, von dem Data Mem 12 in die Comp Bricks 3 bis 4 gespeichert. Dasselbe Verfahren wie für die Signalgruppe von X0 bis X3 wird auf diese Signalgruppe ange­ wandt. Der einzige Unterschied besteht darin, daß der Gruppen­ skalierungsfaktor, der aus den Ergebnissen Y4 bis Y7 berechnet wurde, jetzt mit dem Wert, der in dem Block Scale Search Reg gehalten wird, verglichen wird und der kleinere Wert als das Minimum, d. h. als Blockskalierungsfaktor ausgewählt wird. In dem Beispiel in Fig. 6 ergeben die Ergebnisse Y4 bis Y7 einen Gruppenskalierungsfaktor von 5. Da der vorhergehende Wert 3 in dem Block Scale Reg File 10 kleiner als der Wert 3 ist, wird der Wert in dem Block Scale Search Reg nicht geändert.
Da alle Signale Elemente in dem Signalblock in diesem Beispiel bereits verarbeitet sind, wird jetzt der Skalierungsfaktor auf den gegenwärtigen Wert in dem Block Scale Search Reg, der 3 beträgt, festgelegt. Selbstverständlich kann das o. g. Verfah­ ren für eine zweite Signalgruppe einfach wiederholt werden, wenn einige Signalgruppen mehr zu verarbeiten sind.
Dann wird die Signalverarbeitung, wie sie in Gleichung (2) angegeben ist, gestartet. Vor dem Start der Berechnung wird der Inhalt des Block Scale Search Reg in den Block Scale Fac­ tor Reg 17 übertragen.
Die Signalgruppe, die die Signalelemente y0 bis y3 enthält, wird von dem Data Mem 12 in die R-Shifts in den Comp Bricks 3 bis 4 übertragen. Der entsprechende Gruppenskalierungsfaktor, der in diesem Beispiel 3 ist, wird auch zur selben Zeit ausge­ wählt. Die Hubgröße der R-Shifts wird durch die Differenz des gegenwärtigen Gruppenskalierungsfaktor von dem Blockskalie­ rungsfaktor gesteuert, wobei die Differenz in diesem Beispiel 3 - 3 = 0 beträgt. Folglich werden die R-Shifts an den Hu­ beingängen durch 0 gesteuert, was äquivalent zu keinem Hub ist. Das folgende Verfahren für diese Signalgruppe aus y0 bis y3 ist genau das gleiche, wie das in dem Beispiel für Glei­ chung (1) beschriebene.
Die nächste Signalgruppe, die Signalelemente y4 bis y7 ent­ hält, wird dann von dem Data Mem 12 geladen. In diesem Fall ist der Gruppenskalierungsfaktor 5. Folglich werden alle Si­ gnalelemente in dieser Signalgruppe durch -2 angehoben, das äquivalent zu einem rechtem Hub um zwei Stellen ist.
Es ist verständlich, daß alle Signalelemente y0 bis y7 jetzt auf den maximalen Absolutwert ausgerichtet werden und sich auf einen Skalierungsfaktor beziehen, was es möglich werden läßt, eine Festkommaberechnungseinheit in der nachfolgenden MAC- Operation zu nutzen.
In Fig. 7 sind die entsprechenden Werte, die in dem Fall her­ geleitet sind daß eine herkömmliche Block-Fließkomma-Ausfüh­ rung benutzt wird, auch dargestellt als yc'0 bis yc'7. In diesem Beispiel sind für eine herkömmliches Block-Fließkomma- System alle Signalelement einfach mit den wichtigsten vier Stellen gespeichert, da ein Blockskalierungsfaktor nicht ver­ fügbar ist, bis alle Ergebnisse fertiggestellt sind (yc0 bis yc7) Wenn diese Signalelemente wieder in die Berechnungsein­ heiten geladen werden, können diese Elemente entsprechend einem Blockskalierungsfaktor, der jetzt verfügbar ist, ska­ liert werden. Dennoch kann dies eine weniger genaue Berechnung bewirken, da die weniger wichtigen Stellen während des Spei­ cherns abgeschnitten wurden und die Information in diesen weniger wichtige Stellen verlorengegangen ist (yc'0 bis yc'7).
Bezugszeichenliste
1
Comp Unit (Berechnungseinheit)
2
Global BF (globale Block-Fließkomma-Einheit)
3
Comp Brick0
(Signalprozessor-Baustein)
4
Comp Brickk-1
(Signalprozessor-Baustein)
5
MAC0
(Multipliziereinheit)
6
Local BF (lokale Block-Fließkomma-Einheit)
7
L-Shift0
(Hubeinheit)
8
Group Scale Detect (Minimum-Detektor)
9
Block Scale Detect (Minimum-Detektor)
10
Group Scale Reg File (Register)
11
Data Bus (Signalverarbeitungsbus)
12
Data Mem (Signalprozessor-Speicher)
13
Addr Gen (Speicheradressen-Erzeugungseinheit)
14
Data Addr Bus (Signalprozessor-Adreßbus)
15
R-Shift0
(Hubeinheit)
16
Update ADD (Adder)
17
Block Scale Factor Reg (Register)
18
Align ADD (Adder)

Claims (4)

1. Verfahren zur digitalen Signalverarbeitung, bei dem für mehrere Signale, die mittels einer Skalierung in einen Wertefaktor und einen Signalskalierungsfaktor zerlegbar sind, ein gemeinsamer Skalierungsfaktor ermittelt wird, die Wertefaktoren zusammengeordnet werden und die Signale unter Berücksichtigung dieses gemeinsamen Skalierungs­ faktors verarbeitet werden, dadurch gekenn­ zeichnet,
daß ein Minimalwert von Signalskalierungsfaktoren von einer ersten Anzahl von Signalen als Gruppenskalierungs­ faktor ermittelt wird,
daß diese Signale mit dem Gruppenskalierungsfaktor ska­ liert werden,
daß diese skalierten Signale als Signalgruppe gespeichert werden,
daß der Gruppenskalierungsfaktor mit einer eindeutigen Zuordnung zu der Signalgruppe gespeichert wird,
daß die vorstehenden Schritte für eine zweite Anzahl von Signalgruppen, wiederholt werden,
daß ein Minimalwert von Gruppenskalierungsfaktoren von einer Anzahl von Signalgruppen als Blockskalierungsfaktor ermittelt wird,
daß der Blockskalierungsfaktor mit einer eindeutigen Zu­ ordnung zu einem aus der zweiten Anzahl von Signalgruppen bestehenden Signalblock gespeichert wird,
daß jedes Signal einer Signalgruppe aus dem Signalblock vor einer Weiterverarbeitung mit einem Abgleichfaktor, der sich als Differenz des Gruppenskalierungsfaktors von dem Blockskalierungsfaktor ergibt, skaliert wird.
2. Verfahren nach Anspruch 1, dadurch gekenn­ zeichnet, daß die mit dem Abgleichfaktor skalierten Signale als neuer Signalblock abgespeichert werden, dem der Abgleichfaktor als Blockskalierungsfaktor eindeutig zugeordnet ist.
3. Verfahren nach Anspruch 1 oder 2, dadurch ge­ kennzeichnet, daß die mit dem Abgleichfaktor skalierten Werte anschließend mit einer Festkomma-Dar­ stellung verarbeitet werden.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß der Gruppenskalierungs­ faktor mit der entsprechenden Signalgruppe gespeichert wird.
DE19826252A 1998-06-15 1998-06-15 Verfahren zur digitalen Signalverarbeitung Expired - Fee Related DE19826252C2 (de)

Priority Applications (9)

Application Number Priority Date Filing Date Title
DE19826252A DE19826252C2 (de) 1998-06-15 1998-06-15 Verfahren zur digitalen Signalverarbeitung
AU41657/99A AU4165799A (en) 1998-06-15 1999-06-14 Data calculating device
PCT/JP1999/003157 WO1999066423A1 (fr) 1998-06-15 1999-06-14 Dispositif pour calcul de donnees
DE69925123T DE69925123T2 (de) 1998-06-15 1999-06-14 Datenberechnungvorrichtung
KR10-2000-7014247A KR100398859B1 (ko) 1998-06-15 1999-06-14 데이터 연산 처리 장치
EP99925312A EP1094401B1 (de) 1998-06-15 1999-06-14 Datenberechnungvorrichtung
US09/719,351 US6728739B1 (en) 1998-06-15 1999-06-14 Data calculating device and method for processing data in data block form
TW088109932A TW457441B (en) 1998-06-15 1999-06-14 Data calculating device
JP2000555180A JP3736741B2 (ja) 1998-06-15 1999-06-14 データ演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19826252A DE19826252C2 (de) 1998-06-15 1998-06-15 Verfahren zur digitalen Signalverarbeitung

Publications (2)

Publication Number Publication Date
DE19826252A1 DE19826252A1 (de) 1999-12-16
DE19826252C2 true DE19826252C2 (de) 2001-04-05

Family

ID=7870718

Family Applications (2)

Application Number Title Priority Date Filing Date
DE19826252A Expired - Fee Related DE19826252C2 (de) 1998-06-15 1998-06-15 Verfahren zur digitalen Signalverarbeitung
DE69925123T Expired - Lifetime DE69925123T2 (de) 1998-06-15 1999-06-14 Datenberechnungvorrichtung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69925123T Expired - Lifetime DE69925123T2 (de) 1998-06-15 1999-06-14 Datenberechnungvorrichtung

Country Status (8)

Country Link
US (1) US6728739B1 (de)
EP (1) EP1094401B1 (de)
JP (1) JP3736741B2 (de)
KR (1) KR100398859B1 (de)
AU (1) AU4165799A (de)
DE (2) DE19826252C2 (de)
TW (1) TW457441B (de)
WO (1) WO1999066423A1 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1429244A4 (de) * 2001-09-18 2006-10-04 Asahi Chemical Ind Compiler
JP4594957B2 (ja) * 2001-09-18 2010-12-08 旭化成株式会社 コンパイル装置
US7620545B2 (en) * 2003-07-08 2009-11-17 Industrial Technology Research Institute Scale factor based bit shifting in fine granularity scalability audio coding
DE102004059979B4 (de) * 2004-12-13 2007-11-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur Berechnung einer Signalenergie eines Informationssignals
US8005671B2 (en) * 2006-12-04 2011-08-23 Qualcomm Incorporated Systems and methods for dynamic normalization to reduce loss in precision for low-level signals
US20080213554A1 (en) * 2007-03-02 2008-09-04 Andrei Borisovich Vinokurov Protective Glove for Technical Work
US7797516B2 (en) * 2007-03-16 2010-09-14 Atmel Corporation Microcontroller with low-cost digital signal processing extensions
US8370606B2 (en) * 2007-03-16 2013-02-05 Atmel Corporation Switching data pointers based on context
GB2454201A (en) * 2007-10-30 2009-05-06 Advanced Risc Mach Ltd Combined Magnitude Detection and Arithmetic Operation
US8280939B2 (en) * 2008-05-22 2012-10-02 Videoiq, Inc. Methods and apparatus for automatic accuracy-sustaining scaling of block-floating-point operands
US8805914B2 (en) * 2010-06-02 2014-08-12 Maxeler Technologies Ltd. Method and apparatus for performing numerical calculations
EP2711835A4 (de) * 2011-05-16 2014-10-29 Nec Corp Arithmetische verarbeitungsvorrichtung und arithmetisches verarbeitungsverfahren
JP6225687B2 (ja) * 2013-02-18 2017-11-08 富士通株式会社 データ処理装置、およびデータ処理方法
GB201607713D0 (en) * 2016-05-03 2016-06-15 Imagination Tech Ltd Convolutional neural network
US11791959B2 (en) 2018-10-31 2023-10-17 Telefonaktiebolaget Lm Ericsson (Publ) Methods, apparatus and machine-readable mediums for signalling in a base station
CN112308199B (zh) * 2019-07-26 2024-05-10 杭州海康威视数字技术股份有限公司 数据块的处理方法、装置及存储介质
KR102395744B1 (ko) * 2021-09-16 2022-05-09 오픈엣지테크놀로지 주식회사 데이터 스케일을 고려한 덧셈 연산 방법 및 이를 위한 하드웨어 가속기, 이를 이용한 컴퓨팅 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4872132A (en) * 1987-03-13 1989-10-03 Zoran Corporation Method and means for block floating point arithmetic

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4282581A (en) * 1979-10-15 1981-08-04 Sperry Corporation Automatic overflow/imminent overflow detector
US4727506A (en) * 1985-03-25 1988-02-23 Rca Corporation Digital scaling circuitry with truncation offset compensation
EP0202633B1 (de) 1985-05-17 1991-01-23 Nec Corporation Verarbeitungsschaltung, die es erlaubt den Akkumulationsdurchsatz zu erhöhen
JP3178026B2 (ja) * 1991-08-23 2001-06-18 ソニー株式会社 ディジタル信号符号化装置及び復号化装置
JP2513139B2 (ja) 1993-07-27 1996-07-03 日本電気株式会社 信号処理プロセッサ
JPH09507941A (ja) * 1995-04-18 1997-08-12 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン multiply−add浮動小数点シーケンスにおけるウエイト・サイクルなしのブロック正規化
JPH09128213A (ja) * 1995-10-31 1997-05-16 Hitachi Ltd ブロックフローティング処理システムおよび方法
JPH1040073A (ja) 1996-07-24 1998-02-13 Matsushita Electric Ind Co Ltd ディジタル信号処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4872132A (en) * 1987-03-13 1989-10-03 Zoran Corporation Method and means for block floating point arithmetic

Also Published As

Publication number Publication date
TW457441B (en) 2001-10-01
WO1999066423A1 (fr) 1999-12-23
DE69925123D1 (de) 2005-06-09
EP1094401B1 (de) 2005-05-04
US6728739B1 (en) 2004-04-27
KR20010052899A (ko) 2001-06-25
AU4165799A (en) 2000-01-05
DE19826252A1 (de) 1999-12-16
EP1094401A4 (de) 2002-06-19
KR100398859B1 (ko) 2003-09-19
EP1094401A1 (de) 2001-04-25
JP3736741B2 (ja) 2006-01-18
DE69925123T2 (de) 2006-03-02

Similar Documents

Publication Publication Date Title
DE19826252C2 (de) Verfahren zur digitalen Signalverarbeitung
DE2909153C2 (de) Einrichtung zur digitalen Analyse von Bild- oder Zeichenmustern
DE19839627B4 (de) Digitaler Signalprozessor
DE2145120A1 (de) Digitales Datenverarbeitungsgerat
DE3685711T2 (de) Anordnung zur simulation von rechnerfunktionen von grossrechenanlagen.
DE3632639C2 (de) Einrichtung zum Hochgeschwindigkeitsverarbeiten von Bilddaten durch Faltung
DE2913327C2 (de) Matrix-Multiplizierer
DE2758830A1 (de) Rechenvorrichtung
DE2729912C2 (de) Anordnung zum Erzeugen digitaler Ausgangssignalwerte
WO1995010803A1 (de) Prozessor für zeichenketten variabler länge
DE3689093T2 (de) Gestaltbares paralleles Pipeline--Bildverarbeitungssystem.
DE3811145A1 (de) Vorrichtung zum verarbeiten von bildern mit gewuenschten grauwerten
EP0265555B1 (de) Verfahren und Schaltungsanordnung zur Addition von Gleitkommazahlen
DE19528760A1 (de) Bildverarbeitende Schaltung eines hohen Integrationsgrads
DE2506671B2 (de) Binärdaten-Handhabungsnetzwerk
DE4327660A1 (de) Vorrichtung zum Herstellen einer und Herstellungsverfahren für eine integrierte Halbleiterschaltungsvorrichtung und elektronische Schaltungsvorrichtung
DE69112434T2 (de) Kurvengenerator.
DE69326968T2 (de) Datenverteilungsverfahren und -gerät
EP0779585A2 (de) Digitale Signalprozessoranordnung zum Vergleich von Merkmalsvektoren und zugehöriges Betriebsverfahren
DE3440680A1 (de) Verfahren und vorrichtung zur dezimaldivision
DE69221373T2 (de) Prozessor und Verfahren für unscharfe Schlussfolgerung, und Verfahren und Anordnung zur Regelbestimmung
DE112018006405T5 (de) Verfahren und Vorrichtung zur Berechnung der Hashfunktion
DE69330539T2 (de) Steuerungseinrichtung zur Schnittstellensteuerung zwischen einer Testmaschine und einer elektronischen Mehrkanalschaltung, insbesondere nach dem "Boundary Test Standard"
EP0175997B1 (de) Schaltungsanordnung zur befehlstypabhängigen Berechnung von Operandenadressen und zur Prüfung der Seitengrenzenüberschreitung bei Operanden für logische oder dezimale Speicher-Speicherbefehle
DE3587612T2 (de) Suchverfahren für Assoziationsmatrix.

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: SYSTEMONIC AG, 01099 DRESDEN, DE ASAHI CHEMICAL IN

D2 Grant after examination
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: ASAHI CHEMICAL INDUSTRY CO., LTD., TOKIO/TOKYO, JP

Owner name: NXP SEMICONDUCTORS GERMANY GMBH, 22529 HAMBURG, DE

8327 Change in the person/name/address of the patent owner

Owner name: ASAHI CHEMICAL INDUSTRY CO., LTD., TOKIO/TOKYO, JP

Owner name: NXP B.V., EINDHOVEN, NL

8339 Ceased/non-payment of the annual fee