DE4224530A1 - Prozessor zum erzeugen einer walsh-transformierten - Google Patents
Prozessor zum erzeugen einer walsh-transformiertenInfo
- 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
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
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.
¹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.
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)
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)
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 |
-
1991
- 1991-07-25 US US07/735,805 patent/US5357454A/en not_active Expired - Lifetime
-
1992
- 1992-07-20 SE SE9202209A patent/SE515268C2/sv not_active IP Right Cessation
- 1992-07-22 GB GB9215557A patent/GB2258746B/en not_active Expired - Lifetime
- 1992-07-24 FR FR9209173A patent/FR2679722A1/fr active Granted
- 1992-07-24 DE DE4224530A patent/DE4224530B4/de not_active Expired - Lifetime
-
1996
- 1996-02-01 HK HK20996A patent/HK20996A/xx not_active IP Right Cessation
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 |