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-Transformation

Info

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
Application number
DE3132225A
Other languages
English (en)
Other versions
DE3132225A1 (de
Inventor
Eiichi Neyagawa Osaka Tsuboka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE3132225A1 publication Critical patent/DE3132225A1/de
Application granted granted Critical
Publication of DE3132225C2 publication Critical patent/DE3132225C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/145Square 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)
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:
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
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
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)

Patentansprüche:
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
DE3132225A 1980-08-14 1981-08-14 Einrichtung für die Adressierung gespeicherter Ergebniswerte bei einer schnellen Hadamard-Transformation Expired DE3132225C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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