DE4224530A1 - Prozessor zum erzeugen einer walsh-transformierten - Google Patents

Prozessor zum erzeugen einer walsh-transformierten

Info

Publication number
DE4224530A1
DE4224530A1 DE4224530A DE4224530A DE4224530A1 DE 4224530 A1 DE4224530 A1 DE 4224530A1 DE 4224530 A DE4224530 A DE 4224530A DE 4224530 A DE4224530 A DE 4224530A DE 4224530 A1 DE4224530 A1 DE 4224530A1
Authority
DE
Germany
Prior art keywords
carry
serial
subtractor
adder
network
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
Application number
DE4224530A
Other languages
English (en)
Other versions
DE4224530B4 (de
Inventor
Paul W Dent
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.)
Ericsson Inc
Original Assignee
Ericsson GE Mobile Communications Inc
Ericsson GE Mobile Communications Holding Inc
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 Ericsson GE Mobile Communications Inc, Ericsson GE Mobile Communications Holding Inc filed Critical Ericsson GE Mobile Communications Inc
Publication of DE4224530A1 publication Critical patent/DE4224530A1/de
Application granted granted Critical
Publication of DE4224530B4 publication Critical patent/DE4224530B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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

Description

Die vorliegende Erfindung betrifft einen Prozessor zum Durchführen einer schnellen Walsh-Transformation ("FWT"), beispielsweise eine Schaltungsstruktur auf einem Silizium-Chip.
Eine Walsh-Transformation ist eine mathematische Operation, die eine Menge aus M = 2N Zahlen in vorbestimmten Mengen von Kombinatio­ nen durch Addieren oder Subtrahieren derselben in eine andere Menge von M Zahlen umwandelt. Jede Menge von Kombinationen umfaßt im wesentlichen eine Aufsummierung aller M ursprünglichen Zahlen, wobei jedoch ihre Vorzeichen jeweils gemäß einem entsprechenden vorbe­ stimmten Muster gewählt werden. Es können M unterschiedliche Men­ gen von Kombinationen, die M vorbestimmten Vorzeichenmustern ent­ sprechen, berechnet werden, welche die wünschenswerte Eigenschaft be­ sitzen, orthogonal zu sein, d. h., daß ein Vergleich irgendeines Vor­ zeichenmusters mit irgendeinem anderen gleiche Vorzeichen in genau der Hälfte der Stellen und ungleiche Vorzeichen in der anderen Hälfte zeigt.
Die gegenseitige Orthogonalität der Vorzeichenmuster ermöglicht es, die Berechnung von M Kombinationen aus M Werten in eine Berechnung von N·(M/2) Summen und N·(M/2) Differenzen zu zerlegen, was eine signifikante Verminderung der Anzahl der Additionen und Subtraktionen von M2 auf M·N darstellt. Eine effiziente Struktur zum Ausführen dieser Kombinationen wird unten stehend genauer beschrieben.
Die vorliegende Erfindung ist insbesondere in zellulären Codeteilungs- Funktelefonkommunikationssystemen mit Mehrfachzugriff ("CDMA") nützlich, wie etwa dem verbesserten, auf in der Reihenfolge der Sig­ nalstärke aufeinanderfolgenden Signalsubtraktionen mehrerer CDMA-Signale gründenden CDMA-Demodulationsschema, das in der anhängi­ gen, am 17. Dezember 1990 eingereichten US.-Patentanmeldung des Aktenzeichens 07/6 28 359 der Anmelderin sowie auch in einer entspre­ chenden offengelegten PCT-Anmeldung (Druckschrift WO 92/11 716) beschrieben ist. Eine Ausführungsform der vorliegenden Erfindung, welche einhundertachtundzwanzig serielle sechzehn-Bit-Werte verarbei­ tet, ist insbesondere in einem derartigen System nützlich.
Die Kapazitätsgrenzen und andere Aspekte von CDMA-Kommunika­ tionssystemen werden von Gilhousen et al. in dem Aufsatz "On the Capacity of a Cellular CDMA System" in IEEE Transactions on Vehicu­ lar Technology, Band 40, S. 303-312 (Mai 1991) erörtert. Wie in der oben angegebenen anhängigen US.-Patentanmeldung der Anmelderin weiter ausgeführt, ermöglicht es CDMA, daß sich Kommunikations­ signale von einer Mehrzahl von Nutzern sich sowohl in der Zeit als auch in der Frequenz überlappen. Im Prinzip wird jeder zu übertragende Informationsdatenstrom einem durch einen Pseudozufallszahlengenerator erzeugten Datenstrom erheblich höherer Bit-Rate aufgeprägt. Der Infor­ mationsdatenstrom und der Datenstrom mit einer hohen Bit-Rate werden durch Multiplikation der beiden Bit-Ströme miteinander erzeugt, was "Codieren" oder "Aufspreizen des Spektrums des Informationsdaten­ stroms" genannt wird. Jedem Informationsdatenstrom oder "Kanal" wird ein nur einmal vergebener und insofern "einzigartiger" (der der Fach­ welt geläufigere Ausdruck lautet "unique") Aufspreizungs-Code zuge­ teilt, der aus vielerlei Gründen vorteilhafterweise ein Blockfehlerkorrek­ turcode ist.
Eine Anzahl codierter Informationssignale wird auf Funkfrequenzträger­ wellen übertragen und gemeinsam durch Empfänger als zusammenge­ setzte Signale empfangen. Jedes der codierten Signale überlappt sich mit allen anderen codierten Signalen als auch mit zum Rauschen gehörenden Signalen sowohl in der Frequenz als auch in der Zeit. Durch Korrelieren eines empfangenen zusammengesetzten Signals mit einem der nur einmal vergebenen "einzigartigen" Codes kann die entsprechende Information unter Nutzung des vorliegenden FWT-Prozessors abgetrennt und deco­ diert werden.
In einer Ausführungsform sieht die vorliegende Erfindung einen Prozes­ sor zum Erzeugen einer Walsh-Transformation durch im wesentlichen gleichzeitiges Berechnen von M Kombinationen aus M Eingangswerten vor, wobei M = 2N gilt und die Eingangswerte binäre Werte in Zweier­ komplementdarstellung sind. Der Prozessor weist N elektrisch in Reihe geschaltete Stufen auf, wobei jede Stufe ein Kreuznetzwerk (dem ein­ schlägigen Fachmann auch als "criss-cross-network" bekannt) von in einem vorbestimmten Muster mit einem Satz von M/2 Schmetterlings­ flügel-Schaltungen oder "Butterfly"-Schaltungen elektrisch verbundenen Leitern aufweist, wobei jede Butterfly-Schaltung eine Einrichtung zum Berechnen einer Summe und einer Differenz aus zwei entsprechenden, durch ihr Kreuznetzwerk vorgelegten Werten aufweist, und die Summe und die Differenz entsprechenden Leitern des Kreuznetzwerks der näch­ sten Stufe vorlegt. Die Eingangswerte werden dem Kreuznetzwerk der ersten Stufe seriell und mit dem niedrigstwertigen Bit zuerst vorgelegt, wobei die Walsh-Transformation der Eingangswerte durch die Butterfly-Schal­ tungen der N-ten Stufe seriell und im wesentlichen synchron dazu erzeugt wird.
Bezüglich eines Aspektes des Erfindung umfaßt die Recheneinrichtung einen seriellen Addierer und einen seriellen Subtrahierer, und der seriel­ le Addierer enthält eine Einrichtung zum Speichern des durch den Ad­ dierer festgestellten Übertragsbits, und der serielle Subtrahierer enthält eine Einrichtung zum Speichern eines durch den Subtrahierer festgestell­ ten Übertragsbits.
Bezüglich eines anderen Aspektes der Erfindung weist die Rechenein­ richtung einen kombinierten seriellen Addierer/Subtrahierer auf, der eine Einrichtung zum Speichern eines Addierer-Übertragsbits und eine Ein­ richtung zum Speichern eines Subtrahierer-Übertragsbits enthält.
Die Merkmale und Vorzüge der vorliegenden Erfindung werden durch Kenntnisnahme der folgenden ausführlichen Beschreibung in Verbindung mit der Zeichnung erkennbar:
Fig. 1A veranschaulicht eine schnelle Walsh-Transformation mit M Punkten;
Fig. 1B veranschaulicht eine schnelle Walsh-Transformation mit acht Punkten;
Fig. 2 ist ein Blockschaltbild eines seriellen Addierers, der beim Ausführen einer schnellen Walsh-Transformation benutzt wer­ den kann;
Fig. 2A ist ein Blockschaltbild für einen seriellen Subtrahierer, der beim Ausführen einer schnellen Walsh-Transformation verwendet werden kann;
Fig. 3 ist ein Blockschaltbild für einen kombinierten seriellen Ad­ dierer/Subtrahierer;
Fig. 3A ist ein Schaltbild eines Zwei-Wege-Schalters, der in dem kom­ binierten seriellen Addierer/Subtrahierer verwendet werden kann;
Fig. 4 veranschaulicht ein Kreuznetzwerk für eine schnelle Walsh-Trans­ formation mit sechzehn Punkten.
Wenngleich die folgende Beschreibung in den Zusammenhang mit zellu­ lären Kommunikationssystemen gestellt wird, welche tragbare oder mobile Funktelefone und/oder persönliche Kommunikationsnetzwerke involvieren, ist es für den Fachmann unmittelbar einsehbar, daß die vorliegende Erfindung auch im Zusammenhang mit anderen Anwendun­ gen eingesetzt werden kann.
Auf der FWT und der inversen FWT beruhende Vorrichtungen in zel­ lulären Kommunikationssystemen sowie einschlägige Erwägungen dazu sind in der vorstehend zitierten anhängigen US.-Patentanmeldung der Anmelderin enthalten. Der vorliegende FWT-Prozessor kann vorteilhaf­ terweise als der in jener Anmeldung beschriebene Blockdecoder einge­ setzt werden. Wie untenstehend genauer beschrieben, verarbeitet eine erfindungsgemäße Vorrichtung in effizienter Weise M binäre, seriell mit dem niedrigstwertigsten Bit ("LSB") zuerst vorgelegte Eingangswerte auf M entsprechenden Leitern oder Eingängen.
Wie in der vorstehend zitierten anhängigen Patentanmeldung der Anmel­ derin beschrieben, verwenden überlegene Verfahren zum Spreizen des Spektrums eines Informationssignals eine Codierung mit Fehlerkorrektur. Wenn ein einzelnes Informations-Bit bei einem Spreizverhältnis R in eine Pseudozufallssequenz von R Bits expandiert wird, wird die Band­ breite gespreizt, ohne daß ein Gewinn durch Codierung mit Fehlerkor­ rektur auftritt; diese Technik kann "einfaches Spreizen" genannt werden. Andererseits liefert das Spreizen eines Blocks von P Informations-Bits mit P < 1 auf eine Pseudozufallssequenz von P·R Bits innerhalb des gleichen Spreizfaktors einen Gewinn durch Codieren mit Fehlerkorrek­ tur.
Diese letztgenannte Technik wird "intelligentes Spreizen" genannt, wel­ ches entweder orthogonales oder bi-orthogonales Blockcodieren des zu übertragenden Informationssignals verwendet. Beim orthogonalen Block­ codieren werden P zu übertragende Bits in eines von M = 2P verfüg­ baren orthogonalen 2P-Bit-Codeworten konvertiert. Mengen von orthogo­ nalen Codeworten können, wie in der vorstehend zitierten US.-Patent­ anmeldung der Anmelderin beschrieben, konstruiert werden.
Das Decodieren verwendet die Korrelation eines empfangenen Signals mit allen Mitgliedern aus der Menge orthogonaler Codeworte, und der Index des die größte Korrelation ergebenden Codewortes bringt die gewünschte Information hervor. Wenn beispielsweise die Korrelation eines Signals mit sechzehn 16-Bit-Codeworten, die von 0 bis 15 inde­ xiert sind, mit dem zehnten Codewort die größte Korrelation liefert, ist die gewünschte Signalinformation das 4-Bit-Binärwort 1010 (d. h. zehn in Binärdarstellung). Ein derartiger Code wird auch als ein orthogonaler (16,4)-Blockcode bezeichnet und weist ein Spreizverhältnis R von 16/4 = 4 auf.
Falls die komplementären Codeworte ebenfalls verwendet werden (d. h. die Codeworte, in denen alle Bits invertiert sind), kann ein weiteres Informations-Bit pro Codewort transportiert werden. Daher werden fünf Bits durch Übertragen eines Codewortes aus sechzehn Codeworten und ihrer sechzehn Komplemente bei insgesamt zweiunddreißig Codeworten übertragen. Dieser Typ der Codierung ist als bi-orthogonale Codierung bekannt. Für höhere Spreizverhältnisse kann ein (128,8) bi-orthogonaler Blockcode verwendet werden, der ein Spreizverhältnis von 16:1 auf­ weist. Tatsächlich können bi-orthogonale (256,9), (512,10), . . ., (32768,16), . . . Blockcodes verwendet werden.
Darüber hinaus kann ein Verschlüsselungs-Code durch Modulo-Zwei-Addition zu dem Blockcode hinzugefügt werden, um sicherzustellen, daß die Codierung für jedes Signal unterschiedlich ist. Der Verschlüsselungs-Code kann sich sogar zufallsartig von Block zu Block ändern. Die Mo­ dulo-Zwei-Addition eines Verschlüsselungs-Codes entspricht der Anwen­ dung einer Achsendrehung in einem Galois-Feld. Der Verschlüsselungs-Code kann beim Empfänger durch Modulo-Zwei-Addition des korrekten Verschlüsselungs-Codes entschlüsselt werden, um die Achsen wieder mit den Codeworten zur Deckung zu bringen.
Bezeichnenderweise kann ein zusammengesetztes Eingangssignal durch die FWT mit allen orthogonalen Blockcodeworten in einer Menge gleichzeitig effektiv korreliert werden. Im Falle eines (128,7)-Codes werden beispielsweise einhundertachtundzwanzig Abtastpunkte eines zusammengesetzten Eingangssignals in ein Walsh-Spektrum mit 128 Punkten transformiert, in welchem jeder Spektralpunkt den Wert der Korrelation des zusammengesetzten Signals mit einem entsprechenden Codewort darstellt. Die Werte des Walsh-Spektrums stellen den Grad der Korrelation zwischen dem empfangenen zusammengesetzten Signal mit 128 Punkten und jedem der einhundertachtundzwanzig orthogonalen Codeworte dar. Der Maximalwert im Walsh-Spektrum identifiziert das richtige Codewort, dessen Index sieben Informations-Bits transportiert (orthogonale Codierung). Falls das Vorzeichen ebenfalls identifiziert werden kann, werden insgesamt acht Bits transportiert (bi-orthogonale Codierung). Die Werte der anderen Spektralkomponenten gehen auf Rauschen und die in dem zusammengesetzten Signal anzutreffenden andersartig verschlüsselten Signale zurück.
In realen CDMA-Kommunikationssystemen kann Orthogonalität nur dann aufrechterhalten werden, wenn der relative (Zeit-)Abgleich zwi­ schen Vorzeichenmustern streng aufrechterhalten wird; in beweglichen Kommunikationssystemen, wie etwa zellulären Systemen, kann der Zeit­ abgleich schwierig zu erzielen sein, wie in der vorstehend zitierten US.-Patentanmeldung der Anmelderin beschrieben ist. Wenn die Orthogona­ lität des Codes nicht garantiert werden kann, können rauschbasierte Signale erzeugt werden; im Vergleich mit den Energien der ursprünglich codierten Signale ist die Energie der Rauschsignale aber für gewöhnlich klein.
Nichtsdestoweniger ist es infolge der gegenseitigen Orthogonalität der Vorzeichenmuster möglich, die Berechnung von M Kombinationen von M Werten in eine Berechnung von N·(M/2) Summen und N·(M/2) Dif­ ferenzen zu zerlegen, was eine signifikante Verminderung von M2 auf M·N Additionen und Subtraktionen darstellt. Eine derartige Zerlegung wird für eine allgemeine FWT mit M Punkten durch ein in Fig. 1A dargestelltes Netzwerk 10 veranschaulicht. Die FWT weist eine Struktur auf, die an die schnelle Fourier-Transformation erinnert, und beide Algorithmen sind wohlbekannt.
Wie in Fig. 1A dargestellt, werden M Eingangswerte S0 bis SM-1 mit M 16 in einer ein erstes Kreuznetzwerk 11-1 und einen ersten Satz 12-1 von Butterfly-Schaltungen aufweisenden ersten Stufe in Paaren kom­ biniert. Jede Butterfly-Schaltung berechnet die Summe und die Differenz eines entsprechenden Paares von Eingangswerten; wie untenstehend be­ schrieben, können Paare von seriellen Addierern und seriellen Subtrahie­ rern oder kombinierte serielle Addierer/Subtrahierer verwendet werden, um diese Berechnungen auszuführen. Die Anzahl der Butterfly-Schaltun­ gen oder Paare von Addieren und Subtrahieren, die in der ersten und jeder nachfolgenden Stufe verwendet werden, beträgt M/2; beispiels­ weise werden vierundsechzig Paare oder kombinierte serielle Addierer/-Sub­ trahierer in jeder Stufe verwendet, wenn M=128 gilt.
Die M Zwischenwerte 1I0 bis 1IMM-1, die von der ersten Stufe erzeugt werden, werden in einer ein zweites Kreuznetzwerk 11-2 und einen zweiten Satz 12-2 von Butterfly-Schaltungen, die beide vorzugsweise mit den jeweils entsprechenden der ersten Stufe identisch sind, aufweisenden zweiten Stufe kombiniert. Die M Zwischenwerte 2I0 bis 2IM-1, welche durch die zweite Stufe hergestellt werden, werden in einer ein drittes Kreuznetzwerk und einen Satz Butterfly-Schaltungen, welche vorzugs­ weise mit denen in der ersten und der zweiten Stufe identisch sind, auf­ weisenden dritten Stufe kombiniert usw., bis zur letzten, N-ten Stufe, welche ein N-tes Kreuznetzwerk 11-N und einen N-ten Satz 12-N von Butterfly-Schaltungen aufweist. Die Ausgänge der letzten Stufe der Butterfly-Schaltungen sind die Walsh-Spektralkomponenten W0 bis WM-1. Für einhundertachtundzwanzig Eingangswerte würde ein FWT-Prozes­ sor, wie veranschaulicht, sieben Stufen aufweisen.
Die Eingangs-, Zwischen- und Ausgangswerte können durch eine belie­ bige Nummerungskonvention identifiziert werden; die Verbindungen zwi­ schen den aufeinanderfolgenden Stufen von Butterfly-Operationen sind jedoch kritisch bezüglich der korrekten Berechnung der FWT. Unter einer geeigneten Konvention, wie sie in Fig. 1A veranschaulicht ist, erden Eingänge, die um die Hälfte der Gesamtanzahl M der Eingangs­ werte differierende Indexwerte aufweisen, kombiniert. Als ein spezifi­ sches Beispiel zeigt Fig. 1B ein FWT-Netzwerk für M=8, in welchem Eingänge, die sich im Indexwert um vier unterscheiden (d. h. S0 und S4, S1 und S5; S2 und S6 sowie S3 und S7), in der ersten Stufe aus einem Kreuznetzwerk 11-1′ und einem ersten Satz 12-1′ von Butterfly-Schal­ tungen kombiniert werden.
Die Ergebnisse der durch den ersten Satz 12-1 von Butterfly-Schaltungen implementierten Summen- und Differenzen-Berechnungen, welche als 1I0 bis 1IM-1 (als erste "Zwischenergebnisse") bezeichnet werden können werden in der folgenden Reihenfolge für die Eingabe in die zweite Stufe von Butterfly-Schaltungen eingerichtet:
¹I₀ = S₀ + SM/2
¹I₁ = S₀ - SM/2
¹I₂ = S₁ + S1+M/2
¹I₃ = S₁ - S1+M/2
¹I₄ = S₂ + S2+M/2
usw.
Unter Verwendung dieser Konvention wird die Selektion von Paaren von ersten Zwischenwerten durch das zweite Kreuznetzwerk zur Kombina­ tion durch die zweite Stufe in zweite Zwischenwerte nach genau dersel­ ben Regel ausgeführt, d. h. durch einen Indexwertunterschied von M/2 getrennte Zwischenpaare werden in die Summen-Differenzen-Schaltun­ gen oder Butterfly-Schaltungen der zweiten Stufe eingespeist. Bei dem in Fig. 1B dargestellten Netzwerk werden daher 1I0 und 1I4 durch den zwei­ ten Satz 12-2′ von Butterfly-Schaltungen in 2I0 und 2I1, kombiniert; 1I1, und 1I5 werden in 2I2 und 2I3 kombiniert; 1I2 und 1I6 werden in 2I4 und 2I5 kom­ biniert; und 1I3 sowie 1I7 werden in 2I6 und 2I7 kombiniert. Dieselbe Regel wird für die dritte und jede nachfolgende Stufe verwendet; bei dem in Fig. 1B veranschaulichten Beispiel-Netzwerk umfaßt die dritte Stufe ein drittes Kreuznetzwerk 11-3′ und einen dritten Satz 12-3′ von Butterfly-Schal­ tungen und erzeugt die Ausgänge W0 bis W7.
In Übereinstimmung mit einem Aspekt der vorliegenden Erfindung sind Paare von seriellen Additions-Schaltungen und seriellen Subtraktions-Schal­ tungen in den Butterfly-Schaltungen zum Berechnen der notwendi­ gen Summen und Differenzen vorgesehen, und diese Schaltungen arbei­ ten auf seriell, mit dem LSB zuerst, vorgelegten Binärwerten in Zweier­ komplementdarstellung. Fig. 2 zeigt einen geeigneten seriellen Addierer 120 mit einer Anzahl herkömmlicher NAND-Gatter 122-128, Inverter 130-136 und Schalter, der gleichzeitig zwei an beiden seriellen Ein­ gängen A, B vorgelegte Bits und ein an einem Übertrags-Eingang C vorgelegtes Übertragsbit entgegennimmt. Wie in Fig. 2 angezeigt, wirkt der Eingang B als ein Steuersignal für einen Schalter SW-1 und der Eingang C wirkt als ein Steuersignal für einen Schalter SW-2. Wenn eines der Steuersignale aktiv (d. h. logisch HIGH oder "1") ist, wird der entsprechende Schalter, der bevorzugterweise als ein Feldeffekt-Transi­ stor ("FET") implementiert werden kann, in die in der Fig. angezeigte "1"-Stellung gebracht. Der Addierer 120 gibt vorteilhafterweise die Ein-Bit-Summe der Eingänge A, B und C auf dem Ausgang D und ein neues Übertragsbit auf den Übertrags-Ausgang E im wesentlichen ohne Verzö­ gerung aus.
Das auf dem Übertrags-Ausgang E dargebotene neue Übertragsbit wird durch einen Schalter SW-3, der ein zwischen jedem Wort (das, wie oben beschrieben, 16 Bit lang sein kann) zur Initialisierung des Übertragsbits betätigter FET sein kann, geleitet und zeitweise in einem Speicherele­ ment gespeichert, das vorteilhaft ein dynamisches Logik-Netzwerk M mit einem Paar von Invertern 134, 136 und einem Trio von Schaltern SW-4, SW-5 und SW-6, die ebenso FETs sein können und die durch ein geeignetes, an einem CLOCK-Eingang vorgelegtes und mit den an den Eingängen A, B vorgelegten Bits synchronisierten digitalen Taktsignal gesteuert werden, aufweist. Das Übertrags-Speicherelement kann ebenso durch andere Vorrichtungen implementiert werden, wie etwa eine ge­ eignete Verriegelungs-Schaltung, ein Flip-Flop oder eine andere Spei­ cherzelle. Für Signale, die schnell genug sind, d. h. kürzer als wenige Zehntel von Nanosekunden, wird das Speichernetzwerk M vorzugsweise als dynamische Logik realisiert, die die aus einer einer Siliziumstruktur inhärent innewohnenden Kapazität herrührenden Ausbreitungsverzöge­ rung benutzt. Der Betrieb des seriellen Addierers 120 läuft wie folgt ab.
Um den Inhalt des Übertrags-Speichernetzwerks M zu initialisieren, werden die Schalter SW-3 bis SW-5 unmittelbar vor dem Vorliegen gültiger niedrigstwertiger Bits auf den Eingängen A, B durch die Steuer­ signale CARRY S/R und CLOCK in Stellungen gebracht, die zu den in Fig. 2 dargestellten Stellungen entgegengesetzt sind. Bei einem System, in welchem Eingangs-Bits mit einer Rate von dreizehn Megahertz (13 MHz) vorgelegt werden, können die Schalter SW-3 bis SW-5 (der Schal­ ter SW-6 braucht zu diesem Zeitpunkt nicht betätigt zu werden) inner­ halb von fünfundzwanzig Nanosekunden (d. h. einem Drittel einer Bit-Per­ iode) vor den gültigen LSBs betätigt werden. Sobald gültige LSBs an den Eingängen A, B vorgelegt sind, begeben sich die Schalter SW-3 bis SW-5 zurück in die in Fig. 2 gezeigten Stellungen. Somit wird der Initialisierungswert-Eingang F in das Übertrags-Speichernetzwerk M geladen und dem Übertrags-Eingang C zu der gleichen Zeit vorgelegt, zu der die gültigen LSBs den Eingängen A, B vorgelegt werden.
Nach dem Abwarten einer geeigneten Periode zur Bildung der gültigen Summen- und Übertragsbits an den Ausgängen D, E, beispielsweise ungefähr fünfzig Nanosekunden oder zwei Drittel einer Bit-Periode, werden die Schalter SW-4 bis SW-6 durch das CLOCK-Signal in zu den in Fig. 2 gezeigten Stellungen entgegengesetzte Stellungen betätigt, um das neue Übertragsbit in das Übertrags-Speichernetzwerk M zu laden. Danach werden diese Schalter in die dargestellten Stellungen zurückver­ bracht, sobald die auf das niedrigstwertigste Bit folgenden Bits an den Eingängen A, B vorgelegt werden, um das neue Übertragsbit an dem Übertrags-Eingang C vorzulegen. Diese Reihenfolge von Operationen wird bis zur Bildung von gültigen Summen- und Übertrags-Ausgängen aus den an den Eingängen A, B vorgelegten höchstwertigen Bits fort­ gesetzt. Ungefähr im letzten Drittel der Bit-Periode betätigen die CARRY S/R- und CLOCK-Signale die Schalter SW-3 bis SW-5, um den Übertragswert wie oben beschrieben zu initialisieren, wodurch das durch die Summe der höchstwertigen Bits gebildete Übertragsbit verworfen wird. Danach ist der Addierer zur Vorlage der nächsten Eingabeworte bereit.
Die Schalter SW-3 bis SW-6 können zu geringfügig unterschiedlichen Zeiten betätigt werden können, insoweit dies notwendig ist, um einen einwandfreien Betrieb der Schaltung sicherzustellen, können aber den­ noch durch einen gemeinsamen Zeitsteuer-Signalgenerator angesteuert werden. Derartige relative Verzögerungen können leicht durch Vorsehen von verlustbehafteten Polysilizium-Pfaden zum Verbinden der Steuersig­ nale oder durch unterschiedliche Betätigungs-Schwellenwerte für die Schalter implementiert werden.
Der Inhalt des Übertrags-Speichers wird normalerweise zum Beginn einer seriellen Additionssequenz auf "0" initialisiert, aber bei einem anderen Aspekt der Erfindung kann das Übertragsbit auf "1" initialisiert werden, um die Implementation eines seriellen Subtrahierers wie unten­ stehend beschrieben zu vereinfachen.
Ein serieller Subtrahierer zum Berechnen von A-B kann leicht unter Verwendung eines seriellen Addierers der in Fig. 2 gezeigten Art und einer geeigneten Einrichtung zum Negieren der am Eingang B vorgeleg­ ten Werte gebildet werden. Somit würde der serielle Addierer den Aus­ druck A+(-B) berechnen. Das Negieren eines Wertes in Zweierkom­ plementdarstellung beinhaltet jedoch das Umkehren des Bit-Musters, beispielsweise durch Hindurchführen durch einen Inverter, und die Addition des Wertes Eins, was einen weiteren seriellen Addierer erfor­ dert. In einigen Anwendungen kann der mit dem Vorsehen von Einrich­ tungen zum Negieren eines Wertes verbundene Komplexitätszuwachs sehr nachteilig sein.
Gemäß einem anderen Aspekt der Erfindung ist ein in Fig. 2A darge­ stellter Subtrahierer 138 vorgesehen, in welchem, anstatt daß der Ein­ gangswert B zu negiert wird, der Eingangswert B einfach durch einen Inverter 140 umgekehrt (mit dem Ergebnis A + B, was um Eins kleiner als der gewünschte Wert A-B ist) und einem seriellen Addierer 120 vorgelegt wird, in welchem das Übertragsbit mittels der CARRY S/R- und Initialiserungseingänge F auf den Wert EINS anstelle von NULL (Kompensation für das Defizit) initialisiert wird.
Darüber hinaus ermöglicht die Ähnlichkeit der Architektur der Addierer-Schal­ tung und der Subtrahierer-Schaltung ihre vorteilhafte Kombination, wenn beide mit den gleichen Eingängen arbeiten müssen. Eine derartige vorteilhafte Kombination ist ein kombiniertes serielles Addierer/Subtra­ hierer-Netzwerk 160, welches in Fig. 3 dargestellt ist und welches die signifikanten Vorzüge verminderter Schaltungsfläche und Komplexität genießt.
Wie bei dem in Fig. 2 dargestellten seriellen Addierer umfaßt der kom­ binierte serielle Addierer/Subtrahierer 160 eine Anzahl herkömmlicher NAND-Gatter 162-176, Inverter 178-190 sowie Schalter und akzeptiert gleichzeitig zwei an beiden seriellen Eingänge A′, B′ vorgelegte Bits sowie Übertragsbits für die Addierer- und Subtrahierer-Teile des Netz­ werks 160, die entsprechend an den Übertrags-Eingängen CA′ und CS′ vorgelegt werden. Wie in Fig. 3 angezeigt, wirken der A′-Eingang und sein durch den Inverter 178 hergestelltes Komplement A′ als Steuersig­ nale für einen Schalter SW-17, der entweder den B′-Wert oder sein durch den Inverter 180 gebildetes Komplement B′ mit einem Leiter G′ verbindet. Wenn A′ aktiv (d. h. logisch "HIGH" oder "1") ist, wird der Schalter SW-1′ in die gezeigte "1"-Stellung gebracht, welche B′ mit dem Leiter G′ verbindet; wenn A′ auf HIGH-Pegel liegt, wird der Schalter SW-1 in die "0"-Stellung gebracht, welche B′ mit dem Leiter G′ verbindet. Daher wird die Ein-Bit-Summe von A′ und B′ am Leiter G′ vorgelegt; die Summe und ihr durch den Inverter 182 gebildetes Komplement wird, wie untenstehend näher erläutert, an einen Addierer-Aus­ gangsanschluß DA′ gemäß dem Zustand eines Zwei-Stellungs-, Zwei-Wege-Schalters SW-2′ bzw. an einen Subtrahierer-Ausgangsan­ schluß DS′ gemäß dem Zustand eines Zwei-Stellungs-, Zwei-Wege-Schalters SW-3′ geliefert.
Die Schalter SW-1′, SW-2′ und SW-3′ werden durch Dual-Steuersignale gesteuert und verbinden in beiderlei Richtungen; beispielsweise verbindet der Schalter SW-1′ in einer Richtung, beispielsweise zu der "1"-Stel­ lung, wenn A′ = 1 und A′ = 0 gilt, und in der anderen Richtung, beispielsweise in der "0"-Stellung, wenn A′ = 0 und A′ = 1 gilt. Der­ artige Schalter können vorteilhafterweise auf Silizium durch Anordnun­ gen von vier Transistoren, wie in Fig. 3A gezeigt, hergestellt werden. Die Transistoren 1-4, die Feldeffekt-Transistoren sein können, sind in zwei parallel verbundenen Paaren entgegengesetzten Typs verbunden (d. h. P-Typ FETs 1, 3 sowie N-Typ FETs 2, 4), welche parallelgeschal­ tet und an ihren Gate-Anschlüssen jeweils entsprechend durch die Signa­ le A′ bzw. A′ gesteuert werden. Beim Betrieb wird durch A′ = 0 P-FET 1 eingeschaltet und N-FET 4 ausgeschaltet, und durch A′ = 1 wird N-FET 2 eingeschaltet sowie P-FET 3 abgeschaltet. Somit liefern die FETs 1, 2 einen Pfad niedriger Impedanz zwischen den Anschlüssen X und Z und einen Pfad hoher Impedanz zwischen den Anschlüssen Y und Z. Unter der Bedingung A′ = 1 sowie A′ = 0 schalten die FETs 3, 4 durch und die FETs 1, 2 werden hochohmig, wodurch ein Pfad niedri­ ger Impedanz zwischen den Anschlüssen Y und Z und ein Pfad hoher Impedanz zwischen den Anschlüssen X und Z ermöglicht wird.
Die vorstehende Anordnung sichert einen positiven Betrieb der Schalter: Ob der Schalter seinen Zustand ändert, beispielsweise ob der Transistor durchschaltet, würde von den Spannungspegeln des Steuersignals und des geschalteten Signals abhängen, wenn lediglich ein Typ von Transi­ storen verwendet würde. Es ist selbstverständlich einsehbar, daß andere Bauteile verwendet werden könnten, um ein Gesamtschaltverhalten zu erzielen, das im wesentlichen ähnlich zu dem der dargestellten Anord­ nung ist. Darüber hinaus kann die in Fig. 3A dargestellte Anordnung für alle Schalter in dem Prozessor ohne weiteres verwendet werden, falls gewünscht.
Die Zustände der Schalter SW-2′, SW-3′ werden durch ein die NAND-Gatter 162-176, die Inverter 184-190 sowie vier Schalter SW-4′ bis SW-7′, welche durch ein geeignetes, an einem BIT-CLOCK-Eingang in der oben in Verbindung mit dem seriellen Addierer 121 beschrieben Art und Weise vorgelegtes digitales Taktsignal gesteuert werden, bestimmt. Die Inverter 184, 186 wirken wie das Netzwerk M in dem vorstehend be­ schriebenen seriellen Addierer 120 als eine Verriegelung für den Addie­ rer-Übertragswert, und die Inverter 188, 190 wirken in einer ähnlichen Art und Weise als eine Verriegelung für den Subtrahierer-Übertragswert.
In ähnlicher Weise wirken die Schalter SW-4′ bis SW-7′ in einer zu der vorstehend in Verbindung mit den Schaltern SW-4 bis SW-6 in dem seriellen Addierer 120 beschriebenen im wesentlichen ähnlichen Art und Weise, obgleich es in dem Netzwerk 160 kein Gegenstück zu dem Schalter SW-3 gibt. Um den Inhalt der Übertrags-Verriegelungen zu initialisieren, wird an dem WORD CLOCK-Eingang ein logischer LOW-Pegel vorgelegt, und die Schalter SW-4′ bis SW-7′ werden unmittelbar vor der Vorlage des niedrigstwertigsten Bits an den Eingängen A′, B′ durch das Steuersignal BIT CLOCK in Stellungen entgegengesetzt zu jenen, die in Fig. 3 dargestellt sind, gelegt. Sobald gültige LSBs an den Eingängen A′, B′ vorgelegt werden, nimmt der WORD CLOCK-Ein­ gang einen HIGH-Pegel an (und verbleibt im hochpegeligen Zustand während der Vorlage der Eingangsworte), und die Schalter SW-4′ bis SW-7′ bewegen sich in die in Fig. 3 dargestellten Zustände zurück.
Daher übersteuert der WORD CLOCK-Eingang die durch die Gatter 162-168 sowie 170-176 erstellten Übertragswerte, wobei der Übertrags­ wert des Addierers und der Übertragswert des Subtrahierers jeweils ent­ sprechend Null bzw. auf Eins initialisiert wird, und wobei jene Werte den Übertrags-Eingängen CA′, CS′ zur gleichen Zeit vorgelegt werden, zu der die gültigen LSBs den Eingängen A′, B′ vorgelegt werden.
Nach dem Abwarten einer geeigneten Zeitperiode für die Bildung der gültigen Summen-, Differenz- und Übertragsbits an den Ausgängen DA′, DS′, EA′ sowie ES′ werden die Schalter SW-4′ bis SW-7′ durch das BIT CLOCK-Signal in Stellungen, die entgegengesetzt zu den in Fig. 3 dargestellten sind, gebracht, um die neuen Übertragsbits in die Über­ trags-Speichernetzwerke zu laden. Jene Schalter werden dann in die dargestellten Stellungen zurückverbracht, sobald die Bits mit der zweit­ niedrigsten Wertigkeit an den Eingängen A′, B′ vorgelegt werden, um die neuen Übertragsbits an den Übertrags-Eingängen CA′, CS′ vorzule­ gen. Diese Reihenfolge von Operationen wird bis zur Bildung gültigen Summen- und Übertrags-Ausgängen aus den an den Eingängen A′, B′ vorgelegten höchstwertigsten Bits fortgesetzt. In ungefähr dem letzten Drittel dieser Bit-Periode betätigen die WORD CLOCK- und BIT CLOCK-Signale die Schalter SW-4′ bis SW-7′, um die Übertragswerte wie obenstehend zu initialisieren, wodurch die durch die Summe und die Differenz der höchstwertigsten Bits gebildeten Übertragsbits verworfen werden. Der kombinierte Addierer/Subtrahierer ist dann für die Vorlage der nächsten Eingabeworte bereit. Es ist ebenfalls verständlich, daß die Schalter SW-4′ bis SW-7′, wie oben stehend beschrieben, bei geringfügig unterschiedlichen Zeiten betätigt werden können.
Beim Gebrauch der in Fig. 3 veranschaulichten Struktur wird, mit einer minimalen Schaltungsfläche und im wesentlichen ohne Verzögerung, die Ein-Bit-Summe von A′, B′ und CA′ an dem Ausgangsanschluß DA′ und die Ein-Bit-Summe von A′, B′ sowie CS′ an dem Ausgangsanschluß DS′ gebildet. Die Notwendigkeit eines Speichers zwischen den Stufen des FWT-Prozessors wird durch das Fehlen von Verzögerungen ver­ mieden.
Neben den Paaren von Addier-/Subtrahier-Schaltungen oder dem kom­ binierten Addierer/Subtrahierer in den Sätzen von Butterfly-Schaltungen können Schaltungsimplementationen des FWT Kreuzverdrahtungs-Netz­ werke zwischen jedem Satz von Butterfly-Schaltungen nutzen, um die korrekte Wertepaar-Auswahl zu erreichen. Abhängig von der gewählten Nummerungskonvention für die Eingabewerte wird der FWT-Prozessor entsprechende Kreuznetzwerke erfordern; jedoch werden alle Netzwerke von gleichwertiger Komplexität sein. Ein die in den Fig. 1A und 1B veranschaulichte Konvention verwendender FWT-Prozessor kann die Kreuznetzwerke 11-1, 11-2 usw. verwenden, die in jeder Stufe identisch sind, wodurch die Herstellung des FWT-Prozessors in einer integrierten Schaltung durch einen herkömmlichen graphischen Step-and-Repeat-Prozeß erleichtert wird.
Um einen geringen Energieumsatz zu erzielen, und auch aus anderen Gründen, wird der FWT-Prozessor vorzugsweise in der als CMOS (Complementary Metal-Oxide-Silicon) bekannten Technologie hergestellt; insbesondere kann eine Version der CMOS-Technologie, die mindestens zwei metallische oder leitfähig verbindende Schichten ermöglicht, zu bevorzugen sein. Der FWT-Prozessor kann jedoch auch durch andere, für die Implementation von digitaler Logik geeignete Halbleiterprozesse aufgebaut werden. Da derartige Technologien allgemein bekannt sind, werden sie hier nicht im Detail beschrieben.
In der CMOS-Technologie können die beiden metallischen oder leitfäh­ igen Schichten bevorzugterweise mit einer dazwischengeschobenen Schicht aus isolierendem Material, wie etwa Siliziumdioxid oder Po­ lyamid, überlappt werden, um die Kreuznetzwerke, die die Sätze von Butterfly-Schaltungen verbinden, zu bilden. Fig. 4 zeigt ein Beispiel eines ersten Kreuznetzwerks 11-1′′ für ein FWT-Netzwerk 10′′ für 16 Punkte. Die Eingangswerte S0 bis S15, die an der linken Seite von Fig. 4 vorgelegt werden, werden durch die Konfiguration der Leiter zur Vor­ lage vor den ersten Satz von Butterfly-Schaltungen 12-1′′ wie vorstehend beschrieben umgeordnet oder ausgewählt. Das dargestellte Kreuznetz­ werk könnte effizient vervielfacht und für die andere drei Kreuznetzwer­ ke in dem FWT-Prozessor 10′′ verwendet werden.
In dem dargestellten Beispiel können die Leiter für die Eingangswerte S0 bis S7 in einer Schicht angeordnet und die Leiter für die Eingangswerte S8 bis S15, in der zweiten Schicht angeordnet werden. Die Geometrie der Leiter muß nicht notwendigerweise, wie veranschaulicht, linear sein, vorgesetzt, daß die gewünschte Umordnung der Eingangswerte aufrecht­ erhalten wird, und daß die Haupterwägung beim Anordnen der Leiter in den Schichten das Vermeiden von Brücken ist. Wie vorstehend beschrie­ ben, kann eine nützliche Anzahl von Punkten für ein CDMA-System einhundertachtundzwanzig betragen; derart viele können jedoch nicht in einem Diagramm klar dargestellt werden.
Die Addition zweier Worte mit je L Bits kann ein Wort mit (L+1) Bits erzeugen; daher sind Schritte zum Verhindern von Überlauf ratsam. Beispielsweise könnte einiger Freiraum bei der ursprünglichen Wortlän­ ge des Eingangs erlaubt werden, d. h. die Wortlänge des Eingangs kön­ nte größer sein als der maximale Eingangswert. Ein alternativer Schritt, der gegangen werden könnte, besteht darin, gelegentlich ein LSB bei den Rechnungen fallen zu lassen.
Bevorzugte Addierer/Subtrahierer sowie Addierer/Subtrahierer-Schaltun­ gen, wie diejenigen, welche in den Fig. 2, 2A und 3 gezeigt sind, er­ zeugen ihre Ausgangs-Bits im wesentlichen sofort; ein Merkmal, das gemäß der Erfindung auf folgende Weise ausgenutzt wird. Wie in Fig. 1A gezeigt, werden beispielsweise die Ausgänge des ersten Satzes 12-1 von Butterfly-Schaltungen in dem zweiten Satz 12-2 von Butterfly-Schal­ tungen kombiniert, welcher, wie vorstehend beschrieben, ein iden­ tischer Satz serieller Schaltungen sein kann, welcher erfordert, daß die Eingänge mit dem LSB zuerst vorgelegt werden. Da die für die Butter­ fly-Schaltungen der zweiten Stufe benötigten LSBs ohne Verzögerung aus der ersten Stufe austreten, ist kein Zwischenregister oder anderer Speicher zwischen den Stufen erforderlich.
Darüber hinaus treten die transformierten Ausgänge W0-WM-1 aus den Butterfly-Schaltungen der letzten Stufe seriell in Gleichschritt mit den seriell vorgelegten Eingangswerten, d. h. synchron und im wesentlichen ohne Verzögerung aus, außer derjenigen, die durch die logischen Aus­ breitungsverzögerungen der Schaltungselemente herrührt. Daher wird eine vollständige FWT in der Zeit ausgeführt, die benötigt wird, die Eingangswerte seriell in den FWT-Prozessor zu laden und die Ausgangs­ werte von dem FWT-Prozessor zu empfangen. Im Fall einer 16-Bit-Wort­ länge und einer seriellen Taktrate von 16 MHz wird eine vollstä­ ndige Transformation im wesentlichen in einer Mikrosekunde ausgeführt.
In einer Ausführungsform der vorliegenden Erfindung, die in den in der vorstehend zitierten US-Patentanmeldung der Anmelderin beschriebenen CDMA-Kommunikationssystemen nützlich ist, würden einhundertacht­ undzwanzig zu transformierende Eingangswerte S0 bis S127 in das Kreuz­ netzwerk der ersten Stufe als serielle 16-Bit-Worte mit dem LSB zuerst eintreten. Die 16-Bit-Worte würden in einem 8-Bit- (oder höchstens 9-Bit-)Format in Zweierkomplementdarstellung vorgelegt werden, wobei die niedrigstsignifikanten Stellen besetzt sind und die höchstsignifikanten Stellen das Vorzeichen-Bit angeben (d. h. der Dezimalwert -3 wird durch
1111111111111101
anstatt durch
0000000011111101
dargestellt). Wie vorstehend beschrieben, vermeidet diese Formatierung Überlauf oder Unterlauf durch die sieben Stufen des FWT-Prozessors hindurch (da 128 = 27 gilt).
Das erste Kreuznetzwerk ordnet die Eingangswerte um und verbindet sie mit dem ersten Satz von Butterfly-Schaltungen für die Summen- und Differenz-Berechnungen der ersten Stufe. Wie vorstehend beschrieben, kann der Satz von Butterfly-Schaltungen, wie in den Fig. 2 und 2A dargestellt, sowohl vierundsechzig serielle Addierer und vierundsechzig serielle Subtrahierer als auch, wie in Fig. 3 dargestellt, vierundsechzig kombinierte serielle Addierer/Subtrahierer aufweisen. Die resultierenden einhundertachtundzwanzig Summen und Differenzen gehen aus dem ersten Satz von Butterfly-Schaltungen als die ersten seriellen 16-Bit- Zwischenworte 1I0 bis 1I127 hervor und sind mit dem Kreuznetzwerk der zweiten Stufe verbunden, das in seiner Form identisch mit demjenigen des ersten Kreuznetzwerks ist.
Die umgeordneten Ausgänge aus dem zweiten Kreuznetzwerk werden den Eingängen des zweiten Satzes von Butterfly-Schaltungen für die Summen- und Differenz-Berechnungen der zweiten Stufe zugeleitet, welche bezüglich ihrer Form identisch mit dem ersten Satz sind. Die resultierenden einhundertachtundzwanzig Summen und Differenzen gehen als zweite serielle 16-Bit-Zwischenworte 2I0 bis 2I127 hervor und werden mit dem Kreuznetzwerk der dritten Stufe verbunden, das bezüg­ lich seiner Form identisch mit dem ersten und dem zweiten Kreuznetz­ werk ist, usw., bis zu einer Gesamtanzahl von sieben Stufen zur Ver­ vollständigung der Transformation, welche als Spektralkomponenten W0 bis W127 ausgegeben wird.

Claims (10)

1. Prozessor zum Erzeugen einer Walsh-Transformierten durch im wesentlichen gleichzeitiges Berechnen von M Kombinationen von M Eingangswerten, wobei M = 2N, N ist eine positive Ganzzahl, gilt, und wobei die Eingangswerte Binärwerte in Zweierkomplementdar­ stellung sind, aufweisend:
  • a) N elektrisch in Reihe geschaltete Stufen (11, 12), wobei jede Stufe ein Kreuznetzwerk (11) aus M in einem vorbestimmten Muster zu einem Satz (12) von M/2-Butterfly-Schaltungen elek­ trisch miteinander verbunden Leitern (1) aufweist, wobei jede Butterfly-Schaltung (12) eine Einrichtung zum Berechnen einer Summe und einer Differenz von zwei durch das Kreuznetzwerk (11) jeder Butterfly-Schaltung (12) entsprechend vorgelegten Werten aufweist und die Summe und die Differenz entspre­ chenden Leitern (I) des Kreuznetzwerks (11) der nächsten Stufe (11, 12) vorlegt,
  • b) wobei die einem Kreuznetzwerk (11) einer ersten Stufe (11-1, 12-1) vorgelegten Eingangswerte (S) seriell und mit den nie­ drigstwertigsten Bit zuerst vorgelegt werden, und wobei die Walsh-Transformierte (W) der Eingangswerte durch Butterfly-Schal­ tungen (12-N) einer N-ten Stufe seriell und im wesentli­ chen gleichzeitig damit hergestellt werden.
2. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß jedes Kreuznetzwerk (11) M Leiter aufweist, die überlappend in einem Muster in mindestens zwei auf einem Halbleitersubstrat angeord­ neten leitfähigen Schichten angeordnet sind, wobei die leitfähigen Schichten durch eine isolierende Schicht getrennt sind.
3. Prozessor nach Anspruch 2, dadurch gekennzeichnet, daß die Muster von mindestens zwei der Kreuznetzwerke (11) im wesentli­ chen identisch sind.
4. Prozessor nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, daß die Recheneinrichtung einen seriellen Addierer (120) und einen seriellen Subtrahierer (138) aufweist, und daß der serielle Addierer (128) eine Einrichtung zum Speichern eines durch den Addierer (128) bestimmten Übertragsbits aufweist, und daß der serielle Sub­ trahierer (138) eine Einrichtung zum Speichern eines durch den Subtrahierer bestimmten Übertragsbits aufweist.
5. Prozessor nach Anspruch 4, dadurch gekennzeichnet, daß jede Übertragsbit-Speichereinrichtung ein dynamisches Logik-Netzwerk mit
  • a) einem ersten Schalter zum selektiven Verbinden des festge­ legten Übertragsbits mit einem ersten Inverter,
  • b) einem seriell und selektiv durch einen zweiten Schalter mit dem ersten Inverter verbundenen zweiten Inverter, und
  • c) einem dritten Schalter zum selektiven Verbinden des zweiten Inverters mit einem Übertrags-Eingang eines seriellen Addie­ rers oder seriellen Subtrahierers entsprechend der Übertragsbit-Speicher­ einrichtung aufweist,
  • d) wobei die Schalter im wesentlichen gleichzeitig mit der Vor­ lage der Bits an dem entsprechenden seriellen Addierer oder seriellen Subtrahierer betätigt werden.
6. Prozessor nach Anspruch 4 oder 5, dadurch gekennzeichnet, daß jeder der seriellen Addierer (120) und seriellen Subtrahierer (138) eine Einrichtung zum Initialisieren der entsprechenden Übertragsbits auf vorbestimmte Werte aufweist.
7. Prozessor nach Anspruch 6, dadurch gekennzeichnet, daß der serielle Subtrahierer (138) einen zweiten seriellen Addierer (120) und eine Einrichtung (140) zum Invertieren eines vorbestimmten Wertes von den beiden durch das Kreuznetzwerk (11) des Subtrahie­ rers (138) vorgelegten Werten aufweist.
8. Prozessor nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, daß die Recheneinrichtung einen kombinierten seriellen Addierer/-Sub­ trahierer (160) mit einer Einrichtung zum Speichern eines Ad­ dierer-Übertragsbits und einer Einrichtung zum Speichern eines Subtrahierer-Übertragsbits aufweist.
9. Prozessor nach Anspruch 8, dadurch gekennzeichnet, daß jede Übertragsbit-Speichereinrichtung ein dynamisches Logiknetzwerk mit
  • a) einem ersten Schalter zum selektiven Verbinden des entspre­ chenden Übertragsbits mit einem ersten Inverter,
  • b) einem seriell mit dem ersten Inverter verbundenen zweiten Inverter sowie
  • c) einem zweiten Schalter zum selektiven Verbinden des zweiten Inverters mit einen entsprechenden Übertrags-Eingang auf­ weist, wobei
  • d) die Schalter im wesentlichen gleichzeitig mit der Vorlage der Bits an die dem kombinierten seriellen Addierer/Subtrahierer entsprechenden Übertragsbits-Speichereinrichtungen betätigt werden.
10. Prozessor nach Anspruch 8 oder 9, dadurch gekennzeichnet, daß der kombinierte serielle Addierer/Subtrahierer (160) eine Einrich­ tung zum Initialisieren des Addierer-Übertragsbits auf einen ersten vorbestimmten Wert und eine Einrichtung zum Initialisieren des Subtrahierer-Übertragsbits zu einem zweiten vorbestimmten Wert aufweist.
DE4224530A 1991-07-25 1992-07-24 Prozessor zum Erzeugen einer Walsh-Transformierten Expired - Lifetime DE4224530B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/735,805 US5357454A (en) 1991-07-25 1991-07-25 Fast walsh transform processor
US735805 1991-07-25

Publications (2)

Publication Number Publication Date
DE4224530A1 true DE4224530A1 (de) 1993-01-28
DE4224530B4 DE4224530B4 (de) 2004-09-09

Family

ID=24957258

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4224530A Expired - Lifetime DE4224530B4 (de) 1991-07-25 1992-07-24 Prozessor zum Erzeugen einer Walsh-Transformierten

Country Status (6)

Country Link
US (1) US5357454A (de)
DE (1) DE4224530B4 (de)
FR (1) FR2679722A1 (de)
GB (1) GB2258746B (de)
HK (1) HK20996A (de)
SE (1) SE515268C2 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5550809A (en) * 1992-04-10 1996-08-27 Ericsson Ge Mobile Communications, Inc. Multiple access coding using bent sequences for mobile radio communications
US5295153A (en) 1992-04-13 1994-03-15 Telefonaktiebolaget L M Ericsson CDMA frequency allocation
CA2176401C (en) 1994-02-17 2003-07-08 John H. Cafarella A high-data-rate wireless local-area network
US5574675A (en) * 1994-03-22 1996-11-12 Industrial Technology Research Laboratories State-controlled half-parallel array walsh transform
US5784293A (en) * 1994-11-03 1998-07-21 Motorola, Inc. Apparatus and method for determining transmitted modulation symbols
US5604806A (en) * 1995-01-20 1997-02-18 Ericsson Inc. Apparatus and method for secure radio communication
US5909460A (en) 1995-12-07 1999-06-01 Ericsson, Inc. Efficient apparatus for simultaneous modulation and digital beamforming for an antenna array
US5894473A (en) * 1996-02-29 1999-04-13 Ericsson Inc. Multiple access communications system and method using code and time division
US6330291B1 (en) 1996-03-29 2001-12-11 Qualcomm Inc. Frequency tracking for communication signals using M-ary orthogonal walsh modulation
US5856935A (en) * 1996-05-08 1999-01-05 Motorola, Inc. Fast hadamard transform within a code division, multiple access communication system
US5862182A (en) * 1996-07-30 1999-01-19 Lucent Technologies Inc. OFDM digital communications system using complementary codes
US6404732B1 (en) 1996-07-30 2002-06-11 Agere Systems Guardian Corp. Digital modulation system using modified orthogonal codes to reduce autocorrelation
US6452958B1 (en) 1996-07-30 2002-09-17 Agere Systems Guardian Corp Digital modulation system using extended code set
US5831977A (en) * 1996-09-04 1998-11-03 Ericsson Inc. Subtractive CDMA system with simultaneous subtraction in code space and direction-of-arrival space
US5768307A (en) * 1996-09-13 1998-06-16 Telefonaktiebolaget Lm Ericsson Coherent demodulation with decision-directed channel estimation for digital communication
KR100514682B1 (ko) * 1997-06-30 2005-11-25 주식회사 팬택앤큐리텔 왈시코드발생방법
US6028889A (en) * 1998-02-25 2000-02-22 Lucent Technologies, Inc. Pipelined fast hadamard transform
FR2782425B1 (fr) * 1998-07-31 2000-10-13 France Telecom Procede et dispositif de codage correcteur d'erreurs et procede et dispositif de decodage correspondant
US6526091B1 (en) 1998-08-17 2003-02-25 Telefonaktiebolaget Lm Ericsson Communication methods and apparatus based on orthogonal hadamard-based sequences having selected correlation properties
FR2784525B1 (fr) * 1998-10-12 2006-07-28 Cit Alcatel Procede d'allocation de codes orthogonaux dans un systeme de radiocommunications mobiles du type a acces multiple par repartition de codes utilisant des codes de longueur variable
US6163524A (en) * 1998-10-19 2000-12-19 Telefonaktiebolaget Lm Ericsson (Publ) Code allocation in CDMA
US6505224B1 (en) * 1999-09-29 2003-01-07 Sun Microsystems, Inc. System and computer-implemented method for performing multi-stage fast Walsh transform
WO2001042907A2 (en) * 1999-12-10 2001-06-14 Broadcom Corporation Apparatus and method for reducing precision of data
US6693954B1 (en) * 2000-04-17 2004-02-17 Rf Micro Devices, Inc. Apparatus and method of early-late symbol tracking for a complementary code keying receiver
US6674818B1 (en) 2000-04-17 2004-01-06 Rf Micro Devices, Inc. Reduced complexity decision circuitry
US6661834B1 (en) 2000-04-17 2003-12-09 Rf Micro Devices, Inc. Carrier recovery for spread spectrum communications
US6895421B1 (en) 2000-10-06 2005-05-17 Intel Corporation Method and apparatus for effectively performing linear transformations
US6766342B2 (en) * 2001-02-15 2004-07-20 Sun Microsystems, Inc. System and method for computing and unordered Hadamard transform
KR100424538B1 (ko) * 2001-05-29 2004-03-27 엘지전자 주식회사 이동통신시스템에서의 스크램블링 코드 생성 장치 및 방법
GB2380829A (en) * 2001-10-12 2003-04-16 Siroyan Ltd Organization of fast fourier transforms
US7308019B2 (en) * 2002-05-20 2007-12-11 Telefonaktiebolaget Lm Ericsson (Publ) System and method for Fast Walsh Transform processing in a multi-coded signal environment
US20080109507A1 (en) * 2006-10-23 2008-05-08 L3 Communications Integrated Systems, L.P. System and method for performing an optimized discrete walsh transform
WO2008157679A1 (en) * 2007-06-19 2008-12-24 Raytheon Company Methods and apparatus for receiver having fast walsh transform
CN103488612B (zh) * 2013-09-17 2016-08-24 浙江工业大学 一种应用于数字滤波的沃什-新梅森数快速变换方法
RU2576591C2 (ru) * 2014-04-24 2016-03-10 Александр Васильевич Горепёкин Способ и устройство преобразования сигнала произвольной формы
RU2682862C2 (ru) * 2017-03-06 2019-03-21 Роман Александрович Горепекин Способ и устройство преобразования сигнала произвольной формы с использованием ступенчатых пилообразных функций
US11502715B2 (en) * 2020-04-29 2022-11-15 Eagle Technology, Llc Radio frequency (RF) system including programmable processing circuit performing block coding computations and related methods

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3925646A (en) * 1974-04-19 1975-12-09 Battelle Memorial Institute Information and process control enhancement system employing series of square wave components
US3956619A (en) * 1975-03-31 1976-05-11 General Electric Company Pipeline walsh-hadamard transformations
DE3482627D1 (de) * 1983-04-11 1990-08-09 Nec Corp Orthogonale transformation und geraet zu ihrer durchfuehrung.
US4601006A (en) * 1983-10-06 1986-07-15 Research Corporation Architecture for two dimensional fast fourier transform
FR2645985B1 (fr) * 1989-04-18 1994-08-05 Labo Electronique Physique Circuit pour operer une transformation lineaire de donnees numeriques

Also Published As

Publication number Publication date
GB2258746A (en) 1993-02-17
FR2679722A1 (fr) 1993-01-29
HK20996A (en) 1996-02-09
DE4224530B4 (de) 2004-09-09
FR2679722B1 (de) 1994-12-02
SE9202209D0 (sv) 1992-07-20
GB9215557D0 (en) 1992-09-02
SE9202209L (sv) 1993-01-26
SE515268C2 (sv) 2001-07-09
US5357454A (en) 1994-10-18
GB2258746B (en) 1995-02-15

Similar Documents

Publication Publication Date Title
DE4224530B4 (de) Prozessor zum Erzeugen einer Walsh-Transformierten
DE69435034T2 (de) Verfahren ind vorrichtung zur durchfuehrung einer schnellen hadamard transform
DE60013443T2 (de) Signalangepasstes filter mit reduziertem leistungsverbrauch unter verwendung von vorberechnungen
DE60105788T2 (de) AES Verschlüsselungsschaltung
DE69736148T2 (de) Verfahren und Einrichtung zur Datenverschlüsselung
DE2747462A1 (de) Integrierte schaltung
DE3700991A1 (de) Digitaler uebertragsvorgriffsaddierer
DE2231849B2 (de) Verschlüsselungsverfahren zur Erhöhung der Entschlüsselungsfestigkeit von blockweise zu verschlüsselnden Binärdaten und Anordnung zur Durchführung des Verfahrens
DE3631992A1 (de) Kryptographie-verfahren und kryptographie-prozessor zur durchfuehrung des verfahrens
DE2151974A1 (de) Schnelle-Fourier-Transformations-Verarbeitungseinheit
DE1549477B1 (de) Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden
DE10124351A1 (de) Zeitlich selbstgesteuertes Übertragungssystem und Verfahren zum Verarbeiten von Mehrfachdatensätzen
DE3722907C2 (de)
DE3926489A1 (de) Pseudozufallsrauschcodegenerator
DE60004409T2 (de) Schaltung und Verfahren zur Zufallszahlerzeugung
EP1540460B1 (de) Vorrichtung und verfahren zum umsetzen und addiererschaltung
DE69726248T2 (de) Addierer mit bedingter Summe unter Benutzung von Durchlasstransistor-Logik
DE2064606C3 (de) Anordnung zur Echtzeitverarbeitung von elektrischen Signalen durch Anwendung der schnellen Fourier-Transformierten
DE2822896A1 (de) Digitale zeitvielfach-koppeleinrichtung
DD229258A5 (de) Pcm-umsetzer
DE3735374A1 (de) Digitale korrelatorschaltung
DE19525781C2 (de) Pseudo-Zufallsmuster-Generatorschaltung
DE69832755T2 (de) Schaltung und Verfahren zum beliebigen Verschieben von M-Sequenzen
EP1495552A1 (de) Verfahren und vorrichtung zur berechnung eines iterierten zustands einer rueckgekoppelten schieberegisteranordnung
WO1985003611A1 (en) Self-synchronizing descrambler

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8364 No opposition during term of opposition
R071 Expiry of right
R071 Expiry of right