DE3132225C2 - Einrichtung für die Adressierung gespeicherter Ergebniswerte bei einer schnellen Hadamard-Transformation - Google Patents
Einrichtung für die Adressierung gespeicherter Ergebniswerte bei einer schnellen Hadamard-TransformationInfo
- Publication number
- DE3132225C2 DE3132225C2 DE3132225A DE3132225A DE3132225C2 DE 3132225 C2 DE3132225 C2 DE 3132225C2 DE 3132225 A DE3132225 A DE 3132225A DE 3132225 A DE3132225 A DE 3132225A DE 3132225 C2 DE3132225 C2 DE 3132225C2
- Authority
- DE
- Germany
- Prior art keywords
- transformation
- memory
- signal
- values
- address
- 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
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
- 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)
Abstract
Es sind Einrichtungen zum Durchführen von schnellen Hadamard-Transformationen anhand eines vorbestimmten Algorithmus geschaffen. Ein Pufferspeicher (ein Randomspeicher) mit einer Speicherkapazität, die gleich der Anzahl Komponenten eines zu transformierenden Eingangsvektors ist, ist vorgesehen und wird in der Weise adressiert, daß eine Berechnung von Hadamard-Transformationen bei einem höheren Wirkungsgrad mit höheren Geschwindigkeiten durchgeführt werden kann.
Description
Jfjt(') = J«*-1 (0 + Jfjt-10) und
XkU) = Xk-i (0 - Xk-1 U)
XkU) = Xk-i (0 - Xk-1 U)
transformiert wird, wobei / undy = 0,1,..., (n - 1)
sind und xk(i) und xk(J) die /-ten und/-ten Vektorelemente
der Vektoren {xk (μ)} JiO in der Ar-ten Transformationsstufe
mit Ar = 1, 2,..., m sind, gekennzeichnet
Merkmale:
Merkmale:
durch die Kombination folgender
a) zur Ausführung der Ar-ten Transformation werden jeweils einander zugeordnete Werte i und
/ verwendet, wie es auch bei dem als »Butterfly«-Verfahren
bekannte«. Verfahren zur schnellen Fourier-Transformation an sich bekannt ist,
welches nach dem sogenannten »Wurzel-2-Zeitverringerungs-Algorithmus«
arbeitet, wobei, falls /* und/* die binär dargestellten Werte
von / und / in der Ar-ten Transformationsstufe
sind, folgender Zasamm».nhang gilt:
Werte im Bereich von 0 bis 2 m ' -1 annimmt;
c) zur endgültigen Bildung der in den Transformationsgleichungen zugeordneten Werte /, / in
deren binärer Darstellung /fo jk wird in einer
Entfernung die binäre Zahl Z*" , für die fc-te
Transformationsstufe mit einem Wert Sk 6011
an (m — Ar)-ter binärer Zahlenstelle bei den
Gleichungen (1) oder an der (Ar - l)-ten Zahlenstelle bei den Gleichungen (2) unter entsprechender
Verschiebung der höherwertigen Bitpositionen von Z*'! x ergänzt, um zu dem
binären Wert von / zu gelangen, während zur Bildung des binären Wertes von/ dieselbe
Stelle der Zahl Z*"., in derselben Weise durch
is den komplementären Wert Sk ergänzt wird.
2. Einrichtung nach Anspruch 1. gekennzeichnet durch eine Anordnung, welche die Bits an den 2°-ten
bis 2*-2-ten Bit-Stellen einer Adresse in dem
Direktzugriffspeicher (6) im Verhältnis 1 :1 entsprechend den Bits an den 2°-ten bis 2*~2-ten Bit-Stellen
des Binärzählers (i), die Bits an den 2*-ten bis 2m-ten
Bit-Stellen der Adresse im Verhältnis 1 :1 entsprechend
den Bits an den 2*-'-ten bis 2m-'-ten
Bit-Stellen des Binärzählers (1) und das Bit an der 2*- '-ten Bit-Stelle der Adresse im logischen Zustand
Sbeim Auslesen von Ajt_i^oderbfcim Einschreiben
von Xk(i)_ oder im komplementären logischen Zustand S beim Auslesen von Xk-\(j) oder beim
jo Einschreiben von Xk(j)hält.
- 1
- Σ^r ■ 2' + V
»-0
»i"m-Jfc
m- 1
r-0
i m - k
oder
v-O
vf k- I
mit A„
b) die Adressiereinrichtung enthält einen Binärzähler (1) mit mindestens (m - 1) Bits, welcher
die Bitpositionen (am . 2, am . 3, ..., a2, a,, O0)
besitzt; dieser Zähler (1) wird zur Adressierung der aus einem Difektzugriffs-Speieher (6) auszulesenden
Werte xk _) (/'), xk _, (J) und der in
denselben Speicher (6) einzuschreibenden Werte xk(i), xk{i) fortlaufend inkrementierend
oder dekrementierend weitergeschaltet, wobei die durch die Werte av, mit ν = 0, 1, 2,... und
0 S ν S (m - 2) und <7V GO, I repräsentierte
binäre Zahl Zi"L, sukzessive alle ganzzahligen
Die Erfindung betrifft eine Einrichtung für die Adressierung gespeicherter Ergebniswerie bei einer
schnellen Hadamardtransformation der Ordnung
(1) n=2"'der im Oberbegriff des Anspruchs 1 angegebenen
Gattung.
Bei der Verarbeitung von analogen Signalen, wie beispielsweise akustischen Signalen oder Video-Signalen,
werden oft orthogonale Transformationen verwendet, wie beispielsweise schnelle Fourier-Transformationen
(FFT) oder schnelle Hadamard-Transformationen (FWHT).
Als Beispiel sollen Spracherkennungsanlagen genannt werden, die das eingegebene Sprachsignal
analysieren, ein Standard-Sprachmuster oder eine
(2) 'o Klasse von Sprachmustern speichern, einen Vergleich
zwischen den gespeicherten und den analysierten Sprachmustern durchführen und dann eine Entscheidung
fällen, ob beispielsweise es sich um ein bestimmtes Wort handelt oder ob diese Worte von einem
bestimmten Sprecher gesagt worden sind.
So geht aus einem Artikel »High-Performancc Fast Fourier Transformer«, veröffentlicht in IEEE Transactions
of Industrial Electronics and Control Instrumentation, Vol. IECI-25. S. 322 ff., Nov. 1978. eine schnelle
Fourier-Transformation hervor, die nach dem »Butterfly«-Verfahren arbeitet. Dabei werden zur Ausführung
der Transformationen jeweils einander zugeordnete Werte /und j verwendet.
Eine Einrichtung für die Adressierung gespeicherter Ergebniswerte bei einer schnellen Hadamardtransformation
der Ordnung n — 7m der angegebenen Gattung
ist aus dem Artikel »Orthogonale Transformntion von Farbfernsehbildern in Echtzeit«, veröffentlicht in Philips
technische Rundschau, 38, 124-137, 1979, Nr. 4/5, S. 124 ff, bekannt, wobei- die einen ij-dimensionalen
Eingangsvektor bildenden eingegebenen Farbfernsehsignale
über mehrere Transformationsstufen unter Verwendung der üblichen Hadamard-Transformationsgleichungen
in einen transformierten Ausgangsvektor überführt werden.
Der Erfindung liegt die Aufgabe zugrunde, eine Einrichtung für die Adressierung gespeicherter Ergebniswerte
bei einer schnellen Hadamardtransformation der angegebenen Gattung zu entwerfen, die ein sehr
wirksames und optimales Adressierungsverfahren bei einer schnellen Hadamardtransformation für die in
einem Speicher mit direktem Zugriff gespeicherten Werte einer bestimmten Transformationsstufe durchführt
und die außerdem bei relativ niedrigem Aufwand an Bauelementen, wie Speichern und arithmetisch/logischen
Verknüpfungsschaltungen, eine relativ hohe Geschwindigkeit der Abarbeitung der Hadamardr
Transformation ermöglicht
Diese Aufgabe wird erfindungsgemäß durch die im kennzeichnenden Teil des Anspruchs 1 angegebenen
Merkmale gelöst.
Eine zweckmäßige Ausführungsform ist im Anspruch 2 angegeben.
Die mit der Erfindung erzielten Vorteile beruhen auf folgenden Überlegungen und Eigenschaften einer
schnellen Hadamard-Transformation: Bei einer schnellen Hadamardtransformation werden das /-te Vektorelement
Xk(i) und das /te Vektorelement Xt(J) bei der jo
jt-ten Transformation durch Auslesen der Vektorelemente
Xk-\(i) und Xk-\(j) erhalten, die die Ergebnisse der (k—\)-ten Transformation bilden und in einem
Speicher mit direktem Zugriff gespeichert sind; dabei werden die Ergebniswerte an den Stellen des Speichers
gespeichert, an denen die bisherigen Werte A*_if//bzw.
Χι,- \(j)gespeichert worden sind.
Hierbei wurde nun festgestellt, daß ein Bit an einer bestimmten Bitstelle in der Adresse des Speichers bei
jeder Transformation in einem vorgegebenen togischen Zustand 5 (0 oder-J) oder dem komplementären
logischen Zustand 5 verbleibt, der der Addition Xk- \(i)+Xk- \(j) oder der Subtraktion Xk- t(i)-Xk-\(j)
entspricht, während sich das Bitmuster an den übrigen Bit-Stellen, also die übrigen Bits, ändern. 4i
Damit läßt sich also eine schnelle Adressierung erreichen, indem die Adressen in dem Direktzugriffsspeicher
entsprechend definiert und die teilweise transformierten Vektor-Elemente eingelesen oder übertragen
werden. >o
Dabei ist ein Binärzäiiler mit mindestens (m—\) Bits
vorgesehen, der zur Adressierung der aus dem Speicher auszulesenden Werte und der in den Speicher
einzuschreibenden Werte fortlaufend inkrementierend oder dekrementierend weitergeschaltet wird. Zur ·>■;
endgültigen Bildung der den Transformationsgleichungen zugeordneten Werte erfolgt dann eine Ergänzung
der binären Darstellung, indem entweder ein entsprechendes Bit unter entsprechender Verschiebung der
höherwertigen Bitpositionen eingefügt oder dieselbe Stelle durch den komplementären Wert ergänzt wird.
Die Erfindung wird im folgenden anhand von Ausführungsbeispielen unter Bezugnahme auf die
schematisohen Zeichnungen näher erläutert. Es zeigt
F i g. 1 ein Algorithmus-Ablaufdiagramm zur Durch- b5 führung von schnellen Hadamard-Transformationer.
der Ordnung 16,
F i g. 2 eine Tabelle zu,- Erläuterung der Adressierung,
die bei dem Algorithmus nach F i g. 1 verwendet wird,
F i g. 3A bis 3B und 4 bis 7 den Aufbau einer Schaltung zur Durchführung der Adressierung nach F i g. 2,
F i g. 8 ein Blockschaltbild einer ersten Ausführungsform einer Einrichtung für die Adressierung gespeicherter
Ergebniswerte bei einer schnellen Hadamard-Transformation,
Fig.9 ein Zeitdiagramm zur Erläutening der
Funktionsweise dieser Einrichtung,
F i g. 10 eine Schaltung zur Bestimmung der Adressen
bei der Durchführung von schnellen Hadamard-Transformationen der Ordnung 2"»
F i g. 11 das Ablaufdiagramm eines Algorithmus zur
Durchführung von Hadamard-Transformationen der Ordnung 16,
Fig. 12 eine Darstellung zur Erläuterung der
Schreibweisen, die in den F i g. 1 und 11 verwendet werden.
Zunächst wird der Algorithmus beschrieben, der für eine schnelle Hadamard-Transformation benutzt wird.
In F i g. 1 ist ein Ablaufdiagrimm eines ersten Algorithmus für die Durchführen?}*· der schnellen
Hadamard-Transformation der Ordnung 16 dargestellt. Mit Ab(O) bis Ao(15) sind die Vektorelemente des zu
transformierenden Eingangsvektors und AIi(O) bis
Ai(IS) die Vektorelemente des transformierten Ausgangsvektors
bezeichnet Die Werte At und Xk-\ sind durch die in Fi g. 12 dargestellten Formeln miteinander
verknüpft. Die Werte Χφ) und XkO) bezeichnen die
Werte der /-ten bzw. /ten Elemente in der k-ten
Transformationsstufe. Die k-te Transformationsstufe kann aus den Ergebnissen des (k— l)-ten Schritts durch
die folgenden Formeln erhalten werden:
Xk(i)
Jedoch sind die Komponenten in den transformierten Ausgängen nicht in der Ordnung ihrer Reihenfolge (d. h.
in der richtigen Reihenfolge) angeordnet Folglich wird um die Werte A4(O) bis A4(IS) in der richtigen
Reihenfolge anzuordnen, das folgende Verfahren angewandt: Zuerst wird / von X*(i) 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 /=00 11 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 A0(O) bis A0(15) so umgruppiert, daß die
Ausgänge A4(O) bh A4(15) in ihrer richtigen Reihenfolge
erscheinen. Das heißt, ein Eingang wird wie folgt umgruppiert. Zuerst wird / von Xo(i) in binärer
Schreibweise ausgedrückt, und die Bitfolge wird umgekehrt. Die Liiigekehrte Folge wird dann in einen
Grey-Kode umgesetzt. Wenn das Ergebnis j ist, wird der Wert X0(J) an der /-ten Stelle untergebracht. Folglich
werden die Ausgänge A4(O) bis A4(IS) in ihrer richtigen
Reihenfolge erhalten. Beispielsweise wird /=0011, wenn
Ao(3) ist. Ferner wird j dann 8, so daß Ao(3) durch Ao(8)
ersetzt wird.
Transformationen können in einer Weise durchgeführt werden, weiche im wesentlichen der vorbeschrie-
benen Art entspricht, wenn die allgemeine Ordnung n = 2m(m=\,2 ) ist. Das heißt.
Xkli) ' \x (ή-\k~
i = O, 1,2 /i-l
A-= 1,2 m
I = 0, 1,2 2*-'-l
Wie aus Fig. 1 zu ersehen ist, beruht eines der Merkmale dieses Algorithmus auf der Tatsache, daß die
Ar-ten Transformationsstufen Xk(i) und Xk(j) aus den
(k— l)-ten Transformationsstufen Xk-\(i) und Xk-\(j)
abgeleitet werden können; danach werden die Werte Xk- \(i)und Xk- \(j)n\chi wieder verwendet, so daß Xk(i)
an der Stelle gespeichert werden kann, an welcher Xk-\(i) gespeichert worden ist. Das heißt, der Inhalt.
in d. h. Xk- \(i) an einer im einzelnen benannten Speicherstelle
kann abgewandelt werden in Xk(i)- Folglich reicht
es aus, nur π Speicherstellen zur Durchführung von Walsh-Hadamard-Transformationen der Ordnung η
vorzusehen.
ii Ein zweiter Algorithmus mit Merkmalen, die den
vorbeschriebenen ähnlich sind, ist in F i g. 11 dargestellt.
Es gilt
XkU) =
r γ.
/ = 0, 1,2 n-\
k = 1,2,3 m
I = 0, 1,2 2m"*--l
Eine der Schwierigkeiten, auf die man bei Einrichtungen
stößt, mit welchen derartige Algorithmen durchgeführt werden können, besteht darin, wie zu transformierende
Daten bei jeder Transformationsstufe durch eine genaue Benennung von Speicherstellen, d. h. der Jo
Adressen in einem Direktzugriffsspeicher (RAM) in angemessener Weise gespeichert und ausgelesen
werden.
Eine Adressierung bei der Durchführung des ersten Algorithmus, wie er in Fig. 1 dargestellt ist, wird t>
nunmehr anhand der F i g. 2 beschrieben. Mit »ajaiaiao«
ist in binärer Schreibweise eine Adresse in dem .Speicher
(RAM) bezeichnet. Die Adressen sind als die Adressen / und die Adressen j bezeichnet, wobei die Werte X^i)
und Xk(J), wie vorher beschrieben, durch die folgenden ·")
Formeln erhalten werden:
Xk-X{j)
Die Adressen sind in der steigenden Reihenfolge von / undy'angeordnet.
Bei einer Transformation von Xk-\ in Xk sind die Bits
a»-t an den Adressen /immer »O'en«, während die Bits
an den Adressen j immer »l'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 n= 2m. In diesem Fall wird /durch
aic- \at~2 ■ ■ ■ aiao ausgedrückt- Folglich sind bei Transformationen
von Xk-: in Xk die Bits am_s immer »O'en« an
den Adressen / und »l'er« an den Adressen / Die verbleibenden (Vn-I) Bits ändern sich in binärer
Schreibweise.
Der Grundgedanke bei der Adressierung wird nunmehr anhand der Fig.3 beschrieben, wenn die
Ordnung /7=16 ist. Die Inhalte in entsprechenden
Stufen eines Binärzählers 1 sind Q2, Qx bzw. Q0. Qi stellt
den Inhalt an einer 2'-ten Ziffernstelle dar. In den Fig.3A bis 3D sind die Adressierungsschritte darge-
50
55
60 stellt, wenn X0 in ΑΊ, ΑΊ in X2, X2 in Xj und Xi in X4
transformiert wird. Im Falle von Adressen / sind aj in F i g. 3A. -si in Fig. 3B. at in Fig. 3C und aB in Fig. 3D
alle »O'en«, aber im Falle der Adressen j sind sie alle »l'er«. Der Binärzähler 1 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 Cs bis Ci von
entsprechenden Stufen eines C-Registers 3, und Ausgänge Ro bis Rj von entsprechenden Stufen eines
/?-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 to, wie dargestellt, an den Zeitpunkten t\ bis fj,
wenn Taktimpulse an die Register angelegt werden. In F i g. 7 ist die Wahrheits- oder Funktionstabelle der in
F i g. 4 dargestellten Schaltung wiedergegeben.
Wenn n=2m ist, kann eine Schaltung verwendet
werden, wie sie 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 /?-Register haben (n— 1) bzw.
π Bits, und der Zähler 1 hat (n- 1) Bits.
Eine Ausführungsform einer Einrichtung für die Adressierung bei einer schnellen Hadamardtransformation
wird nunmehr anhand der Fig.8 beschrieben.
Im allgemeinen führt die Einrichtung vier Schritte aus, d. h. den ersten Schritt (1), Einlesen von zu transformierenden
Daten; den zweiten Schritt (2); Löschen der Register, Zähler, Flip-Flops usw.; den dritten Schritt (3),
Durchführen von Hadamard-Transformationen, und den vierten Schritt (4) Auslesen transformierter Daten
aus dem Direktzugriffsspeicher (RAM) entsprechend einem extern erzeugten SteuersignaL Von diesen
Schritten kann die in F i g. 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 Adressierungs-
schaltung 4 der oben anhand von Fig. 4 oder IO beschriebenen Art, eine Adressenwählschaltung 5, die
nicht nur auf den Ausgang der Adressierungsschaltung 4, sondern auch auf andere externe Signale anspricht,
um eine Adresse auszuwählen, wie nachstehend noch im einzelnen beschrieben wird, und ein Direktzugriffsspeicher
(RAM) 6, um zu transformierende Daten einzulösen und die transformierte Daten vorübergehend
zu (Reichern. Entsprechend dem Einlesen oder der Speicherung zum Einlesen von zu transformierender
Daten und in Abhängigkeit von dem Auslesen oder der Ausspeicherung zum Auslesen der transformierten
Daten benennt der Ausgang von der Adressenwählschaltung 5 im einzelnen vorbestimmte Adressen in dem
Speicher (RAM) 6. Eine Eingangsdaten-Wählschaltung 7 wird zwischen der ersten Betriebsart, um zu
transformierende Daten an den Speicher 6 zu übertragen, und der zweiten Betriebsart, um transformierte
Daten an den Speicher 6 zu übertragen, umgeschaltet, tin erstes Verriegelungsglied 8 hält
vorübergehend Xk-\(i) während ein zweites Verriegelungsglied
9 Xk-\(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 Rechenvorgang durch:
k-\(j)oder Xk-\(i)- Xk-\(j)
io
20
25
jo
Eine Lese-Schreibschaltung ffl/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 ff/W-Signal wird während der
Transformation automatisch erzeugt. Eine Chipfreigabe-Wähl-
oder -Umschaltschaltung 12 wählt zwischen einem C£'-Signal, welches als ein Chip-Freigabesignal
an den Speicher 5 angelegt wird, wenn Daten in ihn eingelesen oder aus ihm ausgelesen werden, und einem
CE-Signal, welches automatisch bei der Transformation
erzeugt wird, wie nachstehend im einzelnen beschrieben wird. Eine Adressenänderungsschaltung 13 ändert
Adressen, die in dem Speicher (RAM) 6 genau zu benennen sind, so daß die Inhalte in dem Speicher 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. Ein Flip-Flop 14 erzeugt eine
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 Speicher
(RAM) 6 angelegt Ein Steuersignalgenerator 16 erzeugt verschiedene Steuersignale, um die in F i g. 8 dargestellte
Einrichtung zu steuern.
Als nächstes wird die Arbeitsweise der ersten Ausführungsform erläutert
60
(I) Betriebsart zum Schreiben zu
transformierender Daten in den Speicher (RAM) 6
transformierender Daten in den Speicher (RAM) 6
Das Schreibsignal liegt an dem Anschluß 17 an, so daß die Eingangsdaten-Wähischaitüiig 7 den Anschluß 21
wählt, während die Ä/W-Umschaltschaltung 11 R/W'
wählt Die Cf-Umschaltschaltung 12 wählt CE' und die
40
45
50
55 Adressenwählschaltung 5 wählt den Anschluß 18. Folglich werden die zu transformierenden Daten an den
Speicher 6 übertragen.
(II) Transformation
Das Transformationssignal liegt am Anschluß 17 an.
Die Eingangsdaten-Wählschaltung 7 wählt dann die Dateneingabeleitung 22. Die /?/W-Umschaltschaliung
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 Adressierungsschaltung 4.
Entsprechend einem Löschsignal, das am Anschluß 19 anliegt, werden der Zähler 1, die Register 2 und 3 und
das Flip-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 des Zählers 1 um eins inkrementiert 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 Xj,- if# und
Xk-\(j) aus dem Speicher (RAM) 6 ausgelesen, und bei dem zweiten Halbzyklus werden Xk(O und Xk(J), welche
entsprechend dem Algorithmus abgeleitet werden, wie in Fig. 12 dargestellt ist, an den Speicher (RAM) 6
übertragen. Wenn in Fig.9 der Impuls R/W niedrig
oder null wird, werden die Daten ausgelesen, und wenn der Impuls /?/Whoch oder I wird, werden die Daten an
den Speicher (RAM) 6 übertragen. Wenn der Zähler 1 und die Register 2 und 3 jeweils in den gleichen
Zuständen verbleiben, schaltet bei Auslesebetrieb das Signal (H—) die Adressen in dem Speicher (RAM) 6, in
weichem A*_if/yund Xk-\(j)gespeichert sind; dagegen
schaltet es bei Schreibbetrieb die Adressen, an welche Xk(i) und XkO) übertragen werden. Insbesondere wenn
das Signal (+—) niedrig oder 0 wird, wird Xk-i(i) ausgelesen oder Xk(i) wird an eine Speicherstelle
übertragen. Wenn dagegen das Signal (Η—) hoch oder I wird, wird Xk- ^ausgelesen oder Xk- i£# 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 Xk-\(i) und entsprechend dem Verriegelungssignal ( —)
Xk-\(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, wenn das Signal (+ — ) hoch oder
I wird, arbeitet er als Subtrahierer. Solange R/Wi oder
hoch ist und das Signal (+ —) 0 oder niedrig ist, wird Xk(O= Xk-\(i)+ Xk- \(j) an die Speicherstelle übertragen,
an welcher Xk-\(0 gespeichert worden ist Wenn das Signal (-1—) 1 oder hoch wird, wird
XkO)= Xk~\(0~Xk-\(j) an die Speichersteile übertragen,
an welcher Xk- ^gespeichert worden ist
Wenn Transformationen in der vorbeschriebenen Weise weitergehen, wird der Inhalt in der letzten Stufe
des Ä-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 Speicher (RAM) 6 außer Betrieb ist, bis der nächste
Anfangslöschimpuls an dem Anschluß 19 anlieet.
(III) Auslesen transformierter Daten
aus dem Speicher (RA M) 6
aus dem Speicher (RA M) 6
Das Auslesesignal liegt am Anschluß 17 an, so daß die R/W-Umschaltschaltung U das Signal R/W' und die
Cff-Umschaltschaltung 12 das Signal CE' auswählt. Die
Adressenwählschaltung 5 erhält das Adressensignal, welches am Anschluß 18 anliegt, oder das Adressensignal,
welches durch Ä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, so sind, daß der Inhalt des Speichers (RAM) 6 in der richtigen
Reihenfolge ausgelesen 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 Adressenänderungsschaltung 13 übertragen, so daß sie geändert
werden, wodurch die Daten in dem Speicher 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 Befehlen, wie sie in Fig. 12 dargestellt
sind, ist die 2*-'-te Ziffer an der Adresse /immer eine
logische »0«, aber '.n der Adresse y"ist sie in 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.
Die 2m-*-te Ziffer in der ersten Ausführungsform
oder die 2*-'-te Ziffer in der zweiten Ausführungsform wird eine logische »0« beim Lesen von Xk-\(i) oder
beim Schreiben von Xk(I), jedoch eine logische »0« beim Lesen von Xk-\(j) oazr beim Schreiben von Xk(J)- Dies
kann jedoch auch umgekehrt werden. Das heißt, sie wird eine logische »1« im Falle des Lesens von Xk-\(i) oder
des Schreibens von Xk(i)\ sie kann aber eine logische »0« werden im Falle des Lesens von Xk-\(j) oder des
Schreibens von Xk(J)- Das wesentliche Merkmal bleibt
jedoch unverändert, selbst wenn sich die Adressen in dem Speicher (RAM) 6 ändern, in welchem diese Daten
gespeichert sind.
Wenn somit bei dieser Einrichtung 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 sich mit verhältnismäßig
geringen Kosten herstellen läßt.
Hierzu 6 Blatt Zeichnungen
Claims (1)
1. Einrichtung für die Adressierung gespeicherter Ergebniswerte bei einer schnellen Hadamardtransformation
der Ordnung n=2m, wobei m ein Element
aus der Menge der natürlichen Zahlen ist, bei welcher ein n-dimensionaler Eingangsvektor
(Jc0 (μ)} IT, Ό über eine Anzahl m von Transformationsstufen in einen transformierten Ausgangsvektor £τ(μ)}£-Ό unter Verwendung der Transformationsgleichungen
(Jc0 (μ)} IT, Ό über eine Anzahl m von Transformationsstufen in einen transformierten Ausgangsvektor £τ(μ)}£-Ό unter Verwendung der Transformationsgleichungen
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 DE3132225A1 (de) | 1982-05-19 |
DE3132225C2 true 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) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0128298B1 (de) * | 1983-04-11 | 1990-07-04 | Nec Corporation | Orthogonale Transformation und Gerät zu ihrer Durchführung |
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 | 三菱電機株式会社 | 二次元離散データ直交変換用集積回路装置 |
DE69023941T2 (de) * | 1989-02-28 | 1996-05-23 | Canon Kk | System zur Verarbeitung eines quantisierten Vektors. |
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 |
US9323654B2 (en) | 2013-07-17 | 2016-04-26 | Infineon Technologies Ag | Memory access using address bit permutation |
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
Also Published As
Publication number | Publication date |
---|---|
DE3132225A1 (de) | 1982-05-19 |
JPS6214133B2 (de) | 1987-03-31 |
US4446530A (en) | 1984-05-01 |
JPS5737925A (en) | 1982-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3132225C2 (de) | Einrichtung für die Adressierung gespeicherter Ergebniswerte bei einer schnellen Hadamard-Transformation | |
DE2521436C3 (de) | Informationswiedergewinnungsanordnung | |
DE3804938C2 (de) | Bildverarbeitungseinrichtung | |
DE2637054C3 (de) | Steuervorrichtung für einen Pufferspeicher | |
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 | |
DE1901343B2 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
DE2718849A1 (de) | Rechenspeicher mit mehrdimensionalem, parallelem zugriff | |
DE2835689A1 (de) | Anordnung zur veraenderung der aufloesung bei der bild-datenerfassung und -uebertragung | |
DE2230103A1 (de) | Adressiereinrichtung fuer einen speicher | |
DE2259725B2 (de) | Funktionsspeicher aus assoziativen Zellen mit mindestens vier Zuständen | |
DE2532125C2 (de) | Modularbaustein für Datenverarbeitungsanlagen | |
DE2515099A1 (de) | Schaltung zur staendigen erzeugung eines longitudinalen paritaetswortes fuer den hauptspeicher eines digitalen rechenautomaten | |
DE2063199B2 (de) | Einrichtung zur Ausführung logischer Funktionen | |
DE2357654C2 (de) | Assoziativspeicher | |
DE2821110C2 (de) | Datenspeichereinrichtung | |
DE2233193B2 (de) | Stapel-Speichersystem | |
DE2848096C3 (de) | Digitale Addieranordnung | |
DE2121490A1 (de) | Orthogonaler Datenspeicher | |
DE2451235A1 (de) | Schaltungsanordnung fuer ein digitales filter | |
DE1296428B (de) | Einrichtung zur Ermittlung von Speicheradressen aus Schluesselwoertern | |
DE69333792T2 (de) | Halbleiteranordnung | |
DE2826454A1 (de) | Faksimilesignal-codiersystem | |
DE2164718A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/Ausgabe-Einheiten mittels einer Zentraleinheit | |
DE2004436A1 (de) | Adressenwandler in einer Datenverarbeitungsanlage | |
DE3341339C2 (de) | Befehlsfolgegenerator |
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 |