DE19826252C2 - Verfahren zur digitalen Signalverarbeitung - Google Patents
Verfahren zur digitalen SignalverarbeitungInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/485—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/509—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49936—Normalisation 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).
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.
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.
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)
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)
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)
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 | ディジタル信号処理装置 |
-
1998
- 1998-06-15 DE DE19826252A patent/DE19826252C2/de not_active Expired - Fee Related
-
1999
- 1999-06-14 JP JP2000555180A patent/JP3736741B2/ja not_active Expired - Fee Related
- 1999-06-14 EP EP99925312A patent/EP1094401B1/de not_active Expired - Lifetime
- 1999-06-14 DE DE69925123T patent/DE69925123T2/de not_active Expired - Lifetime
- 1999-06-14 AU AU41657/99A patent/AU4165799A/en not_active Abandoned
- 1999-06-14 TW TW088109932A patent/TW457441B/zh not_active IP Right Cessation
- 1999-06-14 KR KR10-2000-7014247A patent/KR100398859B1/ko not_active IP Right Cessation
- 1999-06-14 WO PCT/JP1999/003157 patent/WO1999066423A1/ja active IP Right Grant
- 1999-06-14 US US09/719,351 patent/US6728739B1/en not_active Expired - Lifetime
Patent Citations (1)
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 |