DE3132225A1 - Einrichtung fuer eine schnelle hadamard-transformation - Google Patents
Einrichtung fuer eine schnelle hadamard-transformationInfo
- Publication number
- DE3132225A1 DE3132225A1 DE19813132225 DE3132225A DE3132225A1 DE 3132225 A1 DE3132225 A1 DE 3132225A1 DE 19813132225 DE19813132225 DE 19813132225 DE 3132225 A DE3132225 A DE 3132225A DE 3132225 A1 DE3132225 A1 DE 3132225A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- bits
- bit
- transformation
- random memory
- 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.)
- Granted
Links
- 230000009466 transformation Effects 0.000 title claims description 45
- 238000000844 transformation Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 10
- 238000000034 method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/145—Square transforms, e.g. Hadamard, Walsh, Haar, Hough, Slant transforms
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
Description
- 3 Anwaltsakte; 31 739
Beschreibung
Die Erfindung betrifft eine Einrichtung für eine schnelle Hadamardtransformation nach dem Oberbegriff des Anspruchs
1 .
Zum Verarbeiten von analogen Signalen, wie Video- oder akustischen
Signalen,sind sehr oft orthogonale Transformationen,
wie eine schnelle Fourier-Transformation (FFT) oder eine schnelle Walsh Hadamardtransformation (FWHT) verwendet
worden, und es sind auch bereits verschiedene Algorithmen
zur Durchführung derartiger Transformationen erdacht
und mit zufriedenstellenden Ergebnisssen vorgeführt worden. Jedoch vertragen sich in der Praxis eine hohe Rechengeschwindigkeit
und eine hohe Wirtschaftlichkeit nicht mit-.
einander; d.h. das eine muß dem anderen geopfert werden.
Spracherkennungseinrichtungen, welche die Verarbeitung von analogen Signalen erfordern, weisen beispielsweise eine
Kennmuster-Aufnahmestufe oder eine Stufe zum Analysieren 2^ eines Eingangs-Sprachsignals, einer Standardmuster-Speicherung
oder einer Formenkla^se (class of templates), eine Anpassungsoder
Vergleichsstufe und eine Entscheidungsstufe auf. Die Kennmuster-Aufnahmestufe oder die einen Eingangsklang
analysierende Stufe setzt den Eingangsklang oder -ton in zeitserielle Kennvektoren um» Die Standardmuster-Speicherung
weist zeitserielle Kennvektoren der einzuordnenden oder zu klassifizierenden Klänge oder Töne auf. Die
Anpassungs- oder Vergleichsstufe vergleicht das zeitseriell umgesetzte oder umgeformte Eingangsklangmuster mit den
Standardmustern, um eine Ähnlichkeit herauszufinden oder
den Abstand dasifischen zu berechnen. Die Entscheidungsstufe
nimmt die Form (template) auf, welche die höchste Jüinlich-
keit mit dem Eingangsklang oder den geringsten Abstand zu dem Eingangsklang hat, wodurch der Eingangsklang oder -ton
eingestuft bzw. klassifiziert wird.
Um das Merkmal eines Eingangsklangs oder -tons zu analysieren oder aufzunehmen, sind in großem Umfang das sogenannte
Filtergruppen- (filter-bank) Verfahren, die orthogonale Transformation, wie eine schnelle Fourier-Transformation
(FFT), die lineare voraussagende Analysis oder eine autoregressive Analysis angewendet worden. Die Hadamard-Transformation
kann für die Eingangsklang-Analyse angewendet werden, da sie keine hohe Rechengeschwindigkeit erfordert,
und Einrichtungen:.zur Durchführung von schnellen Hadamard-Transformationen
könnten ohne weiteres in Form von LSI-Schaltungen, d.h. Schaltungen mit einem hohen Integrationsgrad;
geschaffen werden.
Ein Beispiel für eine schnelle Walsh Hadamardtransformation
der Ordnung n= 2 , wobei m = 1, 2 , .... ist, läßt sich folgendermaßen ausdrücken:
—m-k) , 2ffl-k+1Ki<2m-k+1l+2m"k-1
X, .(D-X, i(i+2mk), 2m
w Κ—Ι Κ—ι
i = 0, 1, 2, ...., n-1
k=1,2, . . . ., Ri
1=0, 1, 2, , 2k~1-1
k=1,2, . . . ., Ri
1=0, 1, 2, , 2k~1-1
' Eines der Merkmale oder Kennzeichen dieses Algorithmus beruht
auf der Tatsache, daß Werte der k-ten Transformationen X,(i) und Xfc(j) aus dem vorhergehenden Transformationsschritt durch die nachstehend aufgeführten Formeln abge-
leitet werden können:
Xk(i) = Xk-1 (i) + Xj^1(J) und
ι xk(j) = X^1(I) - xk_1(j)
Nachdem die Werte Xj, (i) und X^(J) erhalten worden sind,
werden die Werte X, , (i) und X, ,(j) nicht mehr verwendet.
sie können abgelegt werden. Folglich kann der Inhalt an der Speicherstelle, an welcher der Wert X, ,(i) oder X, _-(j)
gespeichert worden ist, in den Wert X,(i) oder X (j) abge-
wandelt und modifiziert werden. Um einen anderen Weg einzuschlagen, kann eine Speicherstelle benutzt werden, um
entweder Xk-1(i) oder Xj^1(J) oder Xk(i) oder Xk_.j (j) zu
speichern. Hieraus folgt, daß es ausreicht, nur die Anzahl von η Speicherstellen zur Durchführung von Walsh Hadamard-Transformationen
vorzusehen.
Ein weiterer Algorithmus mit einem ähnlichen Merkmal ist
Xk(i) =jxk_1 (I)+Xj^-1 (i+2k"1), 2kl<i<2kl+2k"1-i
ixk-1 (I)^-1 (1 + 21^"1), 2kl+2k"1<i<(l+1)2k-1
20
X | = ο. | 1, | 2, . | .., η-1 |
k | = 1, | 2, | 3, . | .., m |
1 | = 0, | 1, | 2, . | 2m~k..1 |
Eine der Schwierigkeiten, auf welche man bei der Auslegung der Einrichtungen stößt, mit welchen Algorithmen wie die
vorbeschriebenen durchgeführt werden können, ist die, daß zur Durchführung von Lese- und Schreibzyklen für die ent-
ori sprechenden Transformationsschritte ein wirksames und ge-
naues Adressierverfahren geschaffen werden muß.
Die Erfindung soll daher eine Einrichtung zur Durchführung
einer schnellen Hadamard-Transformation schaffen, mit wel-OC
eher die Walsh Hadamard-Transformation mit einer hohen Geschwindigkeit
durchgeführt werden kann ,und die bei niedrigeren
Kosten mit herkömmlichen Bauelementen ausgeführt wer
den kann. Ferner soll eine Einrichtung zur Durchführung einer schnellen Hadamard-Transformation geschaffen werden,
mit welcher ein sehr wirksames und optimales Adressierverfahren vorgesehen werden kann, um umzuformende bzw. zu
transformierende Eingangsdaten oder teilweise transformierte Daten zu übertragen und um die teilweise oder vollständig
transformierten Daten in einen und aus einem Speicher mit direktem Zugriff bzw. einem Randomspeicher (RAM) zu
lesen.
Ferner soll gemäß der Erfindung eine Einrichtung zur Durchführung
einer schnellen Hadamard-Transformation geschaffen werden, in welcher eine Adresse in dem Randomspeicher (RAM)
im einzelnen benannt bzw. spezifiziert werden kann, indem der Ausgang eines Zählers zum Spezifizieren einer Adresse
in dem Randomspeicher (RAM) aufgrund einer regelmäßigen Änderung in einem Adressen-Bitmuster bei der Durchführung
eines Hadamard-Transformationsalgorithmus abgewandelt bzw. modifiziert wird.
" ·
Gemäß der Erfindung ist dies bei einer Einrichtung für eine schnelle Hadamard-Transformation nach dem Oberbegriff
des Anspruchs 1 durch die Merkmale im kennzeichnenden Teil des Anspruchs 1 erreicht. Vorteilhafte Weiterbildungen der
Erfindung sind in den Unteransprüchen angegeben.
Bei einer schnellen Hadamard-Transformation, bei welcher
das i-te Element X, (i) und das j-te Element X^(J) bei dem
k-ten Transformationsschritt durch Lesen der Werte X^-1(i)
und X^i(j) erhalten werden, welche die Ergebnisse des
(k-1)-ten TransformationsSchritts sind und in einem Randomspeicher
(RAM) gespeichert sind, wobei die folgenden Operationen durchgeführt werden:
Xk(i) = Xj^1U) + X]^1(Jl und
xk(j) = V
und wobei die Ergebnisse an die Speicherstellen in dem Randomspeicher
(RAM) übertragen werden, an welchen die Werte X, , (i) bzw. Xj._-i(j) gespeichert worden sind, beruht die
Erfindung auf der festgestellten Tatsache, daß ein Bit an
einer eimreinei* angegebenen Bitstelle an genau einer Adresse in
einem Randomspeicher (RAM) bei jedem Transformationsschritt
in einem vorbestimmten logischen Zustand S (0 oder 1) oder S verbleibt, welcher der Addition von X, .. (i) + X, ..(j)
oder der Subtraktion von Xk-1 (i) - X, _.(j) entspricht,
während sich die Bitmuster an den übrigen Bitstellen ändern. Folglich ist eine erfindungsgemäße Einrichtung für
eine schnelle Hadamardtransformation mit einer Adressiereinrichtung
geschaffen, um die Adressen in einem Randomspeicher (RAM) genau zu benennen und festzulegen, aus welchen
bzw. in welche die teilweise umgeformten bzw. transformierten
Ergebnisse gelesen oder übertragen werden. Die Adressiereinrichtung weist einen Binärzähler mit mindestens
(m-1) Bits und eine Einrichtung auf, welche, wenn die Ergebnisse des k-ten Transformationsschrittes die des vorhergehenden
oder (k-1)-ten Schritts bilden, das Bit an der im einzelnen benannten Bitstelle einer Adresse in dem logischen
Zustand S, wenn der Wert Xfc-1 (i) ausgelesen oder der
Wert Xfc(i) eingelesen wird, oder in dem logischen Zustand
S hält, wenn der Wert X, ..(j) ausgelesen oder der Wert
. Xj-(J) eingeschrieben wird, während die Bits an den restlichen
Bitstellen in einem Muster, das dem Bitmuster in dem Binärzähler entspricht, gehalten werden.
Nachfolgend wird die Erfindung anhand von bevorzugten Ausführungsformen
unter Bezugnahme auf die anliegenden Zeichnungen isn einzelnen erläutert. Es zeigen:
Fig<.1 ein Algorithmus-Ablaufdiagramm zur Durchführung
von schnellen Walsh-Hadamard-Transfor-
^5 mationen der Ordnung 1S1
Fig.2 eine Tabelle, anhand welcher ein Adressier-
verfahren erläutert wird, das bei dem in Fig.1 dargestellten Algorithmus.verwendet
wird.
Fig.3A bis 3D und 4 bis 7 Ansichten zur Erläuterung einer Schaltung zur Durchführung des in Fig.2 dargestellten
Adressierverfahrens,
Fig.8 ein Blockschaltbild einer ersten Ausführungsform
gemäß der Erfindung.
Fig.9 ein Zeitdiagramm zur Erläuterung deren Arbeitsweise.
Fig.10 eine Adressenbestimmungsschaltung zur Durchführung
von schnellen Hadamard-Transformationen der Ordnung 2m ;
Fig.11 das Ablaufdiagramm eines Algorithmus zur
20
Durchführung von Walsh-Hadamard-Transforma-
tionen der Ordnung 16, und
Fig.12 eine Darstellung zur Erläuterung der in Fig.1 und 11 verwendeten Schreibweisen.
Ein Algorithmus, welcher mittels einer Einrichtung für
eine schnelle Hadamard-Transformation gemäß der Erfindung or. durchgeführt wird, wird zuerst beschrieben. In Fig.1 ist
ein Ablaufdiagramm eines ersten Algorithmus gemäß der Erfindung
zur Durchführung der schnellen Walsh-Hadamard-Transformation
der Ordnung 16 dargestellt. Mit Xn(O) bis
XQ (15) sind zu transformierende Eingänge und mit X4(O) bis
gg X.(15) sind transformierte Ausgänge bezeichnet. Die Werte
X. und Xk-1 sind durch die in Fig.12 dargestellten Formeln
in Beziehung zueinander gesetzt. Die Werte X, (i) und X, (j)
bezeichnen die Werte der i-ten bzw. j-ten Elemente in dem k-ten Transformationsschritt. Der k-te Transformationsschritt kann aus den Ergebnissen deöik-1) -ten Schritts durch
die folgenden Formeln erhalten werden:
X, (i) = Χ,* (i) + Xv_.i (j) und
xv'DJ = Xv-I*1' ~ xv_i*3'
JV JV I JV I
jQ Jedoch sind die Komponenten in den transformierten Ausgängen
nicht in der Ordnung ihrer Reihenfolge (d.h. in der richtigen Reihenfolge)angeordnet. Folglich wird gemäß der
Erfindung, um die Werte X4(O) bis X4(IS) in der richtigen
Reihenfolge anzuordnen, das folgende Verfahren angewandt.
Zuerst wird i von X4(D in eine Binärzahl umgewandelt; die
Bitfolge oder -reihenfolge wird dann umgekehrt, und das Ergebnis wird in einen Grey-Kode umgesetzt, wodurch ein
neuer transformierter Wert erhalten werden kann. Beispielsweise soll in binärer Schreibweise i = 0 0 1 1 sein. Die
Umkehrung der binären Folge ergibt dann 1100, was in dieser Reihenfolge im . Grey-Kode 8 ist.
Andererseits wird vor der Transformation die Folge von Eingängen Xq(O) bis Χ«(15) so umgruppiert, daß die Ausgänge
X4(O) bis X4(15) in ihrer richtigen Reihenfolge erscheinen.
Das heißt, ein Eingang wird wie folgt umgruppiert. Zuerst wird i von Xn(i) in binärer Schreibweise ausgedrückt, und
die Bitfolge wird umgekehrt. Die umgekehrte Folge wird dann in einen Grey-Kode umgesetzt. Wenn das Ergebnis j ist, wird
der Wert Xq(J) an der i-ten Stelle untergebracht. Folglich werden die Ausgänge X4(Oi bis X4(15) in ihrer richtigen
Reihenfolge erhalten. Beispielsweise wird i = 0011, wenn
XqO) ist. Ferner wird j dann 8, so daß Xn.O) durch Xn (8)
ersetzt wird.
Transformationen können in einer Weise durchgeführt werden?
welche im wesentlichen der vorbeschriebenen Art entspricht,
-ιοί wenn die allgemeine Ordnung η
Das heißt,
= 2 (m = 1, 2,
) ist.
Xk(i) =
1 = | ο, | 1, | 2, | . . . , | n-1 |
k = | 1, | 2, | • · | . , m | |
1 = | 0, | 1, | 2, | • . · , | 2k~1-1 |
Wie aus Fig.1 zu ersehen ist, beruht eines der Merkmale
dieses Algorithmus auf der Tatsache, daß die k-ten Transformationen
X, (i) und X, (j) aus den (k-1)-ten Transformationen X, _, (i) und X, ..(j) abgeleitet werden können, und
danach werden die Werte X,.. (i) und Xj-(j) nicht wieder
verwendet, so daß X, (i) an einer Stelle gespeichert werden kann, an welcher X^-1(i) gespeichert worden ist. Das heißt,
der Inhalt, d.h. X1 . (i) an einer im einzelnen benannten
Speicherstelle kann abgewandelt werden in X, (i). Folglich reicht es aus, nur eine Anzahl von η Speicherstellen zur
Durchführung von Walsh Hadamard-Transformationen der Ordnung
η vorzusehen.
Ein zweiter Algorithmus mit Merkmalen, die den vorbeschriebenen ähnlich sind, ist in Fig.11 dargestellt. Das heißt,
Xk(i) =
iC~ I
(i+2
iC I
i = 0, 1, 2, , n-1
k=1,2, 3, .··, m
1 = 0, 1, 2, ..., 2m"k-1
Eine der Schwierigkeiten, auf die man bei Einrichtungen
- 11
-πι stößt, mit welchen derartige Algorithmen, wie sie vorstehend
beschrieben sind, durchgeführt werden können, besteht darin ,wie umzuwandelnde bzw. zu transformierende Daten bei jedem
Transformationsschritt durch eine genaue Benennung von Speicherstellen, d.h. der Adressen in einem Randomspeicher
{RAM) in angemessener Weise zu speichern und auszulesen.
Eine Adressenmodifizierung bei der Durchführung des ersten
Algorithmus, wie er in Fig.1 dargestellt ist, wird nunmehr anhand der Fig.2 beschrieben. Mit "a^a-a.aJ' ist in binärer
Schreibweise eine Adresse in einem Randomspeicher (RAM) bezeichnet. Eine positive Adresse weist auf die
Adresse von i hin, während eine negative Adresse auf die Adresse von j hinweist, wenn die Werte Xj,(i) und X, (j)ywie
vorher beschrieben, durch die folgenden Formeln erhalten werden:
Xk(i) = Xj^1(D + Xfc-i^l und
Xk(j). = X1^1 (i) - Xj5-1 (j)
Xk(j). = X1^1 (i) - Xj5-1 (j)
Die Adressen sind in der steigenden Reihenfolge von i und j angeordnet.
Bei einer Transformation von Χ^,-ι in X, sind die Bits a, .
an den positiven Adressen immer "O'en"? während die Bits
an den negativen Adressen immer "1'er" sind, wie durch mit gestrichelten Linien eingefaßte Blöcke in.Fig.2 dargestellt
ist. Die restlichen drei Bits ändern sich in binärer Schreibweise von 000 in 111. Dasselbe gilt für die generelle
Ordnung bzw» Reihenfolge η = 2m. In diesem Fall
wird i durch a, „-ι^τ._2· · ° · · »aian ausgedrückt. Folglich sind
bei Transformationen von X1 Λ in X1 die Bits a , immer
JfC=" I K Hl-K.
"0fen" an den positiven Adressen und 05I "er" an den negativen
Adressen. Die verbleibenden (m-1) Bits ändern sich in
binärer Schreibweise.
Der Grundgedanke bzw. das zugrundeliegende Prinzip bei der Adressenspezifikation oder -modifizierung gemäß der Erfindung
wird nunmehr anhand der Fig.3 beschrieben, wenn die Ordnung η = 16 ist. Die Inhalte in entsprechenden Stufen
eines Binärspeichers 1 sind Q9, Q1 bzw. Q . Q. stellt den
Inhalt an einer 2 -ten Ziffernstelle dar. In den Fig.3A
bis 3D sind die Adressenspezifikations- oder -modifizierungsschritte
dargestellt, wenn X_ in X1, X1 in X-, X„ in
X und X- in X. umgewandelt bzw. transformiert wird. Im
IQ Falle von positiven Adressen sind a^ in Fig.3A, a„ in
Fig.3B, a1 in Fig.3C und a. in Fig.3D alle "O'en", aber
im Falle negativer Adressen sind sie alle "1'er". Der Binärzähler
1 weist eine herkömmliche Ausführung auf und ist so ausgelegt und bemessen, daß der Ausgang entsprechend
den vorstehend angeführten Formeln abgeleitet werden kann. Der Binärzähler 1 kann in einfacher Weise aus Verknüpfungs-
oder Torschaltungen hergestellt werden, wie nachstehend im einzelnen beschrieben wird.
In Fig.4 sind dargestellt UND-Glieder 41, ODER-Glieder 42,
Inverter 43, Ausgänge C0 bis C, von entsprechenden Stufen
eines C-Registers 3, und Ausgänge RQ bis R- von entsprechenden
Stufen eines R-Registers 2. In Fig.5 und 6 ist die Änderung des Inhaltes an entsprechenden Stufen dieser Register
zu bestimmten Zeitpunkten dargestellt. Die Inhalte ändern sich von dem Ausgangs- oder Anfangsinhalt zum Zeitpunkt
t0, wie dargestellt, an den Zeitpunkten t1 bis t_, wenn
Taktimpulse an die Register angelegt werden. In Fig.7 ist die Wahrheits- oder Funktionstabelle der in Fig.4 dargestellten
Schaltung wiedergegeben.
Wenn η = 2 ist, kann eine Schaltung verwendet werden, wie in Fig.10 dargestellt ist. In Abhängigkeit von η wird die
Anzahl von Blöcken 44 ,die durch gestrichelte Linien eingerahmt sind, erhöht oder erniedrigt. Die C- und die R-Register
haben (n-1) bzw. η Bits, und der Zähler 1 hat (n-1)
Bits.
- 13 -
Eine Ausführungsform einer Einrichtung für eine schnelle
Hadamardtransformation gemäß der Erfindung wird nunmehr anhand der Fig.8 beschrieben- Im allgemeinen führt die Einrichtung
vier Schritteaus, d.h. den ersten Schritt (1), Einlesen von umzuwandelnden bzw. zu transformierenden Daten,
den zweitenSchritt (2); Löschen der Register, Zähler,
Flip-Flops usw.; den dritten Schritt (3), Durchführen von Hadamard-Transformationen, und den viertenSchritt (4) Auslesen transformierter Daten aus einem Randomspeicher (RAM)
entsprechend einem extern erzeugten Steuersignal. Von diesen Schritten kann die in Fig.8 dargestellte Schaltung den
Schritt (3) automatisch ausführen. In Fig.8 sind vorgesehen
der Zähler 1 und R- und C-Register 2 und 3, die vorher bereits beschrieben sind, eine Adressenspezifizierüngsschaltung
4 der vorher anhand von Fig.4 oder 10 beschriebenen
Art, eine Adressenwählschaltung 5, die nicht nur auf den Ausgang der Adressenspezifizierungsschaltung 4, sondern
auch auf andere externe Signal anspricht, um eine Adresse auszuwählen, wie nachstehend noch im einzelnen beschrieben
wird, und ein Randomspeicher (RAM) 6, um zu transformierende Daten einzulesen und die transformierte.
Daten vorübergehend zu speichern. Entsprechend dem Einlese- oder Speicherbetrieb zum Einlesen von zu transformierender
Daten und in Abhängigkeit von dem Auslese- oder Ausspeicherungsbetrieb zum Auslesen der transformierten
Daten oder der Transformationsart t spezifiziert bzw. benennt
der Ausgang von der Adressenwählschaltung 5 im einzelnen vorbestimmte Adressen in dem Randomspeicher (RAM).
Eine Eingangsdaten-Wählschaltung 7 wird zwischen der ersten Betriebsart, um zu transformierende Daten an den Randomspeicher zu übertragen, und der zweiten Betriebsart,
um transformierte Daten an den Randomspeicher zu übertragen, umgeschaltet. Ein erstes Verriegelungsglied 8 hält
vorübergehend Xk-1(i)ι während ein zweites Verriegelungs-
glied 9 Xk_-j (j) hält. Entsprechend einem {+) Signal liest
ein Addierer-Subtrahierer 10 die Inhalte aus den beiden Verriegelungsgliedern 8 und 9 aus und führt folgenden Re-
chenVorgang durch:
Xj^1U) +Xk_-,ij) oder X^1(I)- X^1(J)
Eine Lese-Schreibschaltung (R/W-Umschaltschaltung) 11 wählt
ein extern angelegtes R/W'-oder R/W-Signal in Abhängigkeit
von einer gewählten Betriebsart aus, wie nachstehend noch im einzelnen beschrieben wird. Das R/W-Signal wird während
des Transformationsbetriebs automatisch erzeugt. Eine Chipfreigabe-Wähl- oder-Umschaltschaltung 12 wählt zwi-
IQ sehen einem CE'-Signal, welches als ein Chip-Freigabesignal
an den Randomspeicher angelegt wird, wenn Daten in ihn eingelesen oder aus ihm ausgelesen werden, und einem CE-Signal,
welches automatisch bei dem Transformationsbetrieb erzeugt wird, wie nachstehend im einzelnen beschrieben
wird. Eine Adressenänderungsschaltung 13 ändert Adressen, die in dem Randomspeicher (RAM) genau zu benennen bzw. zu
spezifizieren sind, so daß die Inhalte in dem Randomspeicher in.der Ordnung ihrer Reihenfolge (d.h., in der richtigen
Reihenfolge) entsprechend den vorstehend angeführten Formeln nach der Durchführung von Transformationen ausgelesen
werden können. Wenn Adressen in der richtigen Reihenfolge spezifiziert werden können, kann die Schaltung 13
entfallen. Eine Flip-Flop 14 erzeugt ein Gate-Signal ,das an ein UND-Glied 15 anzulegen ist. Während des Transformationsbetriebs
werden Chip-Freigabesignale über das UND-Glied 15 und die CE-Wähl- oder -Umschaltschaltung 12 an
den Randomspeicher (RAM) 6 angelegt. Ein Steuersignalgenerator 16 erzeugt verschiedene Steuersignale, um die in
Fig.8 dargestellte Einrichtung zu steuern.
Als nächstes wird die Arbeitsweise der ersten Ausführungs- ·
form mit der vorstehend beschriebenen Ausführung erläutert.
(I) Betriebsart oder Zyklus zum Schreiben zu transformierender Daten in den Randomspeicher (RAM):
Das Schreibmodesignal liegt an dem Anschluß 17 an, so daß
die Eingangsdaten-Wählschaltung 7 den Anschluß 21 wählt,
- 15 -
während die R/W-ümschaltschaltung 11 R/W1 wählt. Die CE-Umschaltschaltung
12 wählt CE' und die Adressenwählschaltung 5 wählt den Anschluß 18. Folglich werden die zu
transformierenden Daten an den Randomspeicher 6 übertragen.
5
(II) Transformationsbetrieb oder -zyklus: Das Transformationsbetriebssignal liegt am Anschluß 17an.
Die Eingangsdaten-Wählschaltung 7 wählt dann den Anschluß oder die Dateneingabeleitung 22. Die R/W-ümschaltschaltung
11 wählt das Signal R/W und die CE-Umschaltschaltung 12
wählt das Signal CE. Die Adressenwählschaltung 5 erhält
den Ausgang von der Adressenspezifizierungsschaltung 4.
Entsprechend einem Löschsignal„ das am Anschluß 19 anliegt,
werden der Zähler 1, die Register 2 und 3 und das Flip-15
Flop 14 gelöscht. Folglich werden Transformationen entsprechend
Taktimpulsen CK und anderen Steuerimpulsen durchgeführt, wie in Fig.9 dargestellt ist. Jedesmal wenn der
Inhalt in dem Zähler 1 um eins inkrementiert bzw. weitergesc.haltet
wird, ändern die Register 2 und 3 ihre Zustände entsprechend einem Taktimpuls CK,- welcher über UND-Glieder
25 bzw. 26 entsprechend einem Trägersignal 27 von dem Zähler 1 durchgelassen wird.
Der Ausgang des UND-Gliedes 28, an welches das Trägersignal
27 von dem Zähler 1 und der Ausgang von der letzten Stufe des Registers 2 angelegt werden, wird an den D-Anschluß
des Flip-Flops 14 angelegt. Bei dem ersten Halbzyklus des Taktimpulses werden X, _.j (i) und X^ _Ί (j) aus dem Randomspei-
QQ eher (RAM) 6 ausgelesen und bei dem zweiten Halbzyklus werden
IL(I) und X1Jj), welche entsprechend dem Algorithmus
abgeleitet werden, wie in Fig.12 dargestellt ist, an den
Randomspeicher (RAM) 6 übertragen. Wenn in Fig=9 der Impuls
R/W niedrig oder null wird, werden die Daten ausgelesen, und wenn der Impuls R/W hoch oder 1 wird? werden die Daten
an den Randomspeicher (RAM) 6 übertragen. Wenn der Zähler 1 und die Register 2 und 3 jeweils in den gleichen Zustän-
den verbleiben, schaltet bei Auslesebetrieb das Signal (+-) die Adressen in dem Randomspeicher (RAM) 6, in welchem
X, Λ (i) und X, -(j) gespeichert sind; dagegen schaltet es
bei Schreibbetrieb die Adressen, an welche X, (i) und X^-(J)
übertragen werden. Insbesondere wenn das Signal (+-) niedrig oder 0 wird, wird X, _.. (i) ausgelesen oder Χι_(ΐ) wird
an eine Speicherstelle übertragen- Wenn dagegen das Signal {+-) hoch oder 1 wird, wird X^-1(j) ausgelesen oder
X, «(j) wird an eine einzeln benannte Speicherstelle in dem Randomspeicher (RAM) 6 übertragen. In der Praxis wird
der Auslese- oder Schreibbetrieb entsprechend dem Signal CE=1 durchgeführt.
Entsprechend dem Verriegelungssignal (+) wird Xr-1Ci) und
entsprechend dem Verriegelungssignal (-) wird Xi0-1 (j) an
die Verriegelungsschaltungen 8 bzw. 9 übertragen und in diesen gehalten. Wenn das Signal (+-) niedrig oder 0 wird,
arbeitet der Addierer-Subtrahierer 10 als Addierer, und
wenn das Signal (+-) hoch oder 1 wird, arbeitet er als Subtrahierer. Solange R/W 1 oder hoch ist und das Signal
(+-) 0 oder niedrig ist, wird Xk(i) = X. .. (i)+X. .. (j) an
die Speicherstelle übertragen, an welcher Xk-1(i) gespeichert
worden ist. Wenn das Signal (+-) 1 oder hoch wird, wird Xt-(j) - X]C-I (i) ~ χν-ι ^ an ^ie Speicherstelle übertragen,
an welcher Xfc_-j (J) gespeichert worden ist.
Wenn Transformationen in der vorbeschriebenen Weise weitergehen, wird der Inhalt in der letzten Stufe des R-Registers
2 "1", so daß der Ausgang des Flip-Flops 14 "0" wird.
Folglich wird der CE-Impuls nicht von dem UND-Glied 15 erhalten,
so daß der Betrieb bzw. die Operation des Randomspeichers (RAM) 6 beendet ist, bis der nächste Anfangslöschimpuls
an dem Anschluß 19 anliegt.
(III) Betrieb zum Auslesen transformierter Daten aus dem
Randomspeicher (RAM) 6:
Das Auslesebetriebssignal liegt am Anschluß 17 an, so daß
Das Auslesebetriebssignal liegt am Anschluß 17 an, so daß
die R/W-Umschaltschaltung 11 das Signal R/W« und die CE-Umschaltschaltung
12 das Signal CE1 auswählt. Die Adressenwählschaltung
5 erhält das Adressensignal, welches am Anschluß 18 anliegt, oder das Adressensignal, welches durch
Modifizieren oder Ändern der Adresse erhalten wird, die
auf der Leitung 18 über die Adressenänderungsschaltung.13
anliegt. Insbesondere wenn die Adressensignale, welche an dem Anschluß 18 anliegen, solche sind, daß der Inhalt in
dem Randomspeicher (RAM) 6 in der richtigen Reihenfolge aus-
IQ gelesen werden kann, erhält die Adressenwählschaltung 5
die Adressensignale, welche am Anschluß 18 anliegen. Wenn jedoch die Adressensignale, die am Anschluß 18 anliegen,
in binärer Schreibweise vorliegen, werden sie an die Adres~
senänderungsschaltung 13 übertragen, so daß sie geändert
werden, wodurch die Daten in dem Randomspeicher 6 in der richtigen Reihenfolge ausgelesen werden können. Der Ausgang
der Adressenänderungsschaltung 13 wird dann an die Adressenwählschaltung
5 angelegt. Folglich werden die transformierten Daten an eine Datenausgabeleitung 24 übertragen.
"
Bei einer Transformation entsprechend dem zweiten in Fig.11
dargestellten Algorithmus und bei der Ausführung von Befeh-
k—1 len, wie sie in Fig.12 dargestellt sind, ist die 2 -te
Ziffer an der positiven Adresse immer eine logische "0", aber an der negativen Adresse ist sie eine logische "1".
In diesem Fall sind die R- und C-Register 2 und 3 so ausgelegt und bemessen, daß ihre Zustände oder Inhalte sich
in umgekehrter Reihenfolge bezüglich der ersten vorbeschriebenen Ausführungsform ändern.
30
Die 2 -te Ziffer in der ersten Ausführungsforra oder die
k-1
2 -te Ziffer in der zweiten Ausführungsform wird eine logische "0" beim Lesen von Xk_i(i) oder beim Schreiben von X,(i) , wird aber eine logische "0" beim Lesen von χ (j) oder beim Schreiben von Xk(j). Dies kann jedoch auch umgekehrt werden. Das heißt, sie wird eine logische "1" im Falle des Lesens von X. _, (i) oder des Schreibens von
2 -te Ziffer in der zweiten Ausführungsform wird eine logische "0" beim Lesen von Xk_i(i) oder beim Schreiben von X,(i) , wird aber eine logische "0" beim Lesen von χ (j) oder beim Schreiben von Xk(j). Dies kann jedoch auch umgekehrt werden. Das heißt, sie wird eine logische "1" im Falle des Lesens von X. _, (i) oder des Schreibens von
- 18 -
X (i); sie kann aber eine logische "0" werden im Falle des
Lesens von X^-1(J) oder des Schreibens von X. (j). Das wesentliche
Merkmal der Erfindung bleibt jedoch unverändert, selbst wenn sich die Adressen in dem Randomspeicher (RAM)
6 ändern, in welchem diese Daten gespeichert sind.
Wenn somit bei der erfindungsgemäßen Einrichtung für eine
schnelle Hadamardtransformation zu transformierende Eingangsdaten und das Signal zum Einleiten von Transformationen
erhalten werden, können Hadamard-Transformationen mit hoher Geschwindigkeit durchgeführt werden. Außerdem kann
die Einrichtung ohne weiteres mit herkömmlichen IC-Elementen ausgeführt und aufgebaut werden, so daß sie mit verhältnismäßig
geringen Kosten hergestellt werden kann.
Leerseite
Claims (3)
- PatentansprücheEinrichtung für eine schnelle Hadamardtransformationder Ordnung 2 , wobei m = 1, 2, .... ist, bei welcher xk(i) = X^-1 t±). + X^1(J) und Xk(J) = x k_-i (i) - xk-1(j)' wobei i und j = 0, 1, ...., 2^-1 sind, und X, (i) und Xk(j) die i-ten und j-ten Elemente in der k-ten Transformation sind, gekennzeichnet durch eine Adressiereinrichtung zum Lesen von transformierten Zwischenwerten in einen oder aus einem Randomspeicher mit(a) einem Binärzähler (1) mit mindestens (m-1) Bits und(b) einer Einrichtung, welche, wenn die Werte des k-ten Tran sf ormat ions Schrittes aus den Ergebnissen des (k-1)-ten Transformationsschrittes anhand der angeführten Formeln abgeleitet werden, ein Bit an einer genau benannten Bitstelle einer Adresse in dem Randomspeicher in dem logischen Zustand S (0 oder 1) beim Auslesen von X1 -(i) oder ^κ— ιbeim Schreiben von x k(i) hält, welche aber ein Bit in demVII/XX/Ha - 2 -£? (039) 98 82 72 Telegramme: . Bankkonten Hypo-Bank München 4410122850logischen Zustand S, der Negation des logischen Zustandes S/ im Falle des Auslesens von X^-1(j) oder des Schreibens von Xk(j) hält und welche die Bits an den verbleibenden Bitstellen in demselben Muster hält, wie das der Inhalte in dem Binärzähler (1).
- 2. Einrichtung nach Anspruch 1, gekennze. ichn e t durch eine Einrichtung, welche die Bits an den 2 -ten bis 2 -ten Bitstellen einer Adresse in dem Randomspeicher in einem eins-zu-eins-Verhältnis entsprechend den Bits an den 2m~k+1-ten bis 2m-ten Stellen in dem Binärzähler hält, und die Bits an den 2 -ten bis 2 -ten Bitstellen der Adresse in einem eins-zu-eins-Verhältnis entsprechend den Bits an den 2 -ten bis 2 -ten Bitstellen in dem Binärspeicher hält und ferner das Bit an der 2 -ten Bitstelle der Adresse in dem logischen Zustand S im Falle des Auslesens von X^-1(i) oder des Schreibens von X, (i) oder in dem logischen Zustand S im Falle des Auslesens von X^-1(J) oder des Schreibens von Xk(j) hält.
- 3. Einrichtung nach Anspruch 1, gekennzeichnet durch eine Einrichtung, welche die Bits an den0 k—22 -ten bis 2 -ten Bitstellen einer Adresse in dem Randomspeicher in einem eins-zu-eins-Verhältnis entspre-0 k-2chend den Bits an den 2 -ten bis 2 -ten Bitstellenk des Binärspeichers hält, die Bits an der 2 -ten bis 2 -ten Bitstellen der Adresse in einem eins-zu-eins-k—1 Verhältnis entsprechend den Bits an den 2 -ten bis 2 -ten Bitstellen des Binärspeichers hält und dask-1Bit an der 2 -ten Bitstelle der Adresse in dem logischen Zustand S im Falle des Auslesens von Xk_-j (i) oder des Schreibens von X, (i) oder in dem logischen Zustand S im Falle des Auslesens von Xk_<(j) oder des Lesens von Xk(j) hält.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11104680A JPS5737925A (en) | 1980-08-14 | 1980-08-14 | High-speed hadamard converter |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3132225A1 true DE3132225A1 (de) | 1982-05-19 |
DE3132225C2 DE3132225C2 (de) | 1983-08-18 |
Family
ID=14551030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3132225A Expired DE3132225C2 (de) | 1980-08-14 | 1981-08-14 | Einrichtung für die Adressierung gespeicherter Ergebniswerte bei einer schnellen Hadamard-Transformation |
Country Status (3)
Country | Link |
---|---|
US (1) | US4446530A (de) |
JP (1) | JPS5737925A (de) |
DE (1) | DE3132225C2 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0388043A1 (de) * | 1989-02-28 | 1990-09-19 | Canon Kabushiki Kaisha | System zur Verarbeitung eines quantisierten Vektors |
US9323654B2 (en) | 2013-07-17 | 2016-04-26 | Infineon Technologies Ag | Memory access using address bit permutation |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3482627D1 (de) * | 1983-04-11 | 1990-08-09 | Nec Corp | Orthogonale transformation und geraet zu ihrer durchfuehrung. |
JPS6216639A (ja) * | 1985-07-16 | 1987-01-24 | Kokusai Denshin Denwa Co Ltd <Kdd> | 秘話音声信号送出装置 |
US4959776A (en) * | 1987-12-21 | 1990-09-25 | Raytheon Company | Method and apparatus for addressing a memory by array transformations |
JP2666411B2 (ja) * | 1988-10-04 | 1997-10-22 | 三菱電機株式会社 | 二次元離散データ直交変換用集積回路装置 |
US5333118A (en) * | 1992-01-27 | 1994-07-26 | Sony Electronics, Inc. | Flexible computer controlled non-linear transform generator |
US5561618A (en) * | 1993-12-22 | 1996-10-01 | Qualcomm Incorporated | Method and apparatus for performing a fast Hadamard transform |
US5530716A (en) * | 1994-06-30 | 1996-06-25 | Motorola, Inc. | Method and apparatus for identifying a coded communication signal |
US5784293A (en) * | 1994-11-03 | 1998-07-21 | Motorola, Inc. | Apparatus and method for determining transmitted modulation symbols |
FR2746243B1 (fr) * | 1996-03-15 | 1998-06-05 | Procede pour fournir une representation d'une scene optique par transformation de walsh-hadamard et capteur d'image mettant en oeuvre ce procede | |
US5856935A (en) * | 1996-05-08 | 1999-01-05 | Motorola, Inc. | Fast hadamard transform within a code division, multiple access communication system |
US5938787A (en) * | 1997-03-27 | 1999-08-17 | Ericsson Inc. | Communications systems and methods employing code rate partitioning with nonorthogonal modulation |
DE19901228A1 (de) * | 1999-01-14 | 2000-07-27 | Uwe Ras | Verfahren und Gerät zur adaptiven Merkmalsänderung bei eindimensionalen Signalen |
JP3716695B2 (ja) | 1999-12-24 | 2005-11-16 | 日本電気株式会社 | 高速アダマール変換器 |
US6304196B1 (en) * | 2000-10-19 | 2001-10-16 | Integrated Device Technology, Inc. | Disparity and transition density control system and method |
US7003536B2 (en) * | 2002-08-15 | 2006-02-21 | Comsys Communications & Signal Processing Ltd. | Reduced complexity fast hadamard transform |
US7649994B1 (en) * | 2002-11-01 | 2010-01-19 | Nortel Networks Limited | System and method for decoding CDMA quality channel |
US6996163B2 (en) * | 2003-03-27 | 2006-02-07 | Arraycomm, Inc. | Walsh-Hadamard decoder |
US8345887B1 (en) * | 2007-02-23 | 2013-01-01 | Sony Computer Entertainment America Inc. | Computationally efficient synthetic reverberation |
US20080288568A1 (en) * | 2007-05-14 | 2008-11-20 | Hou Hsieh S | Low power Fast Hadamard transform |
KR20120106145A (ko) * | 2011-03-17 | 2012-09-26 | 삼성전자주식회사 | 어드레스 변환 회로 및 이를 포함하는 반도체 메모리 장치 |
US20140064366A1 (en) * | 2012-09-03 | 2014-03-06 | Texas Instruments Incorporated | Intra-Prediction Estimation Using Approximate Reconstructed Samples |
US10841595B2 (en) * | 2018-11-27 | 2020-11-17 | Semiconductor Components Industries, Llc | Methods and apparatus for transform coefficient encoding and decoding |
US10904049B1 (en) | 2019-07-11 | 2021-01-26 | Stmicroelectronics (Research & Development) Limited | Time domain discrete transform computation |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3792355A (en) * | 1970-12-11 | 1974-02-12 | Hitachi Ltd | Orthogonal transformation circuit using hadamard matrices |
US3795864A (en) * | 1972-12-21 | 1974-03-05 | Western Electric Co | Methods and apparatus for generating walsh functions |
US3956619A (en) * | 1975-03-31 | 1976-05-11 | General Electric Company | Pipeline walsh-hadamard transformations |
-
1980
- 1980-08-14 JP JP11104680A patent/JPS5737925A/ja active Granted
-
1981
- 1981-08-05 US US06/290,311 patent/US4446530A/en not_active Expired - Fee Related
- 1981-08-14 DE DE3132225A patent/DE3132225C2/de not_active Expired
Non-Patent Citations (2)
Title |
---|
IEEE Transactions on Industrial Electronics and Control Instrumentation, Vol. IECI-25, Nr. 4, Nov. 1978, S. 322-326 * |
Philips Technische Rundschau 38, Nr. 4/5, 1979, S. 124-137 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0388043A1 (de) * | 1989-02-28 | 1990-09-19 | Canon Kabushiki Kaisha | System zur Verarbeitung eines quantisierten Vektors |
US5751856A (en) * | 1989-02-28 | 1998-05-12 | Canon Kabushiki Kaisha | System for processing a quantized vector using spatial frequency correlations |
US9323654B2 (en) | 2013-07-17 | 2016-04-26 | Infineon Technologies Ag | Memory access using address bit permutation |
Also Published As
Publication number | Publication date |
---|---|
JPS5737925A (en) | 1982-03-02 |
JPS6214133B2 (de) | 1987-03-31 |
DE3132225C2 (de) | 1983-08-18 |
US4446530A (en) | 1984-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3132225A1 (de) | Einrichtung fuer eine schnelle hadamard-transformation | |
DE3686436T2 (de) | Speichersystem mit hoher leistung. | |
DE3724317C2 (de) | ||
DE1901343C3 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
DE2311220A1 (de) | Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung | |
DE2725395B2 (de) | Einrichtung zur Echtzeittransformation von m in Zeilen angeordneten Wörtern der Bitlänge n in n in Spalten angeordnete Wörter der Bitlänge n | |
DE2637054C3 (de) | Steuervorrichtung für einen Pufferspeicher | |
DE2934971A1 (de) | Datenverarbeitungssystem | |
DE2854782C2 (de) | Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher | |
DE3689356T2 (de) | Verfahren und Schaltung zum Generieren von binären Signalen und modifizierter Bitfolge. | |
DE3789471T2 (de) | Mikrocomputer. | |
DE2743575A1 (de) | Verfahren und einrichtung zur multiplikation einer ersten zahl mit einer zweiten zahl | |
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
DE2446646C3 (de) | Schaltung zur Eingabe eines eine eingetastete Taste des Tastenfeldes charakterisierenden Eintastsignals in einen elektronischen Rechner | |
DE2451235A1 (de) | Schaltungsanordnung fuer ein digitales filter | |
DE2121490A1 (de) | Orthogonaler Datenspeicher | |
DE69024576T2 (de) | Betriebsartenwählerschaltung | |
EP0694843A1 (de) | Verfahren zur Steuerung einer Sequenz von Zugriffen eines Prozessors zu einem zugeordneten Speicher | |
DE2004436A1 (de) | Adressenwandler in einer Datenverarbeitungsanlage | |
DE3341339C2 (de) | Befehlsfolgegenerator | |
DE1276375B (de) | Speichereinrichtung | |
DE69428417T2 (de) | Verbesserungen an Befehlszählern | |
DE3609056A1 (de) | Zaehlerschaltkreis | |
DE2637346C2 (de) | Steuerschaltung für Daten | |
DE3016738A1 (de) | Verfahren zur uebertragung eines bitmusterfeldes in einen speicher und schaltungsanordnung zur ausuebung des verfahrens |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8126 | Change of the secondary classification |
Ipc: ENTFAELLT |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Free format text: SCHWABE, H., DIPL.-ING. SANDMAIR, K., DIPL.-CHEM. DR.JUR. DR.RER.NAT., PAT.-ANW., 8000 MUENCHEN |
|
8339 | Ceased/non-payment of the annual fee |