DE2627405C3 - Schaltungsanordnung zur Berechnung der schnellen Fourier-Transformation (FFT) - Google Patents

Schaltungsanordnung zur Berechnung der schnellen Fourier-Transformation (FFT)

Info

Publication number
DE2627405C3
DE2627405C3 DE2627405A DE2627405A DE2627405C3 DE 2627405 C3 DE2627405 C3 DE 2627405C3 DE 2627405 A DE2627405 A DE 2627405A DE 2627405 A DE2627405 A DE 2627405A DE 2627405 C3 DE2627405 C3 DE 2627405C3
Authority
DE
Germany
Prior art keywords
circuit
data
multiplier
fourier transform
data sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2627405A
Other languages
English (en)
Other versions
DE2627405A1 (de
DE2627405B2 (de
Inventor
Kunihiko Tokio Niwa
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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Publication of DE2627405A1 publication Critical patent/DE2627405A1/de
Publication of DE2627405B2 publication Critical patent/DE2627405B2/de
Application granted granted Critical
Publication of DE2627405C3 publication Critical patent/DE2627405C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Description

N
Abstand zweier in einer Gruppe aufeinanderfolgenden Daten in Verzögerungselementen (401-1, 402-1, 403-1 etc.) verzögert zugeführt wird, und daß ferner die in einem rekursiven Pfad enthaltenen Verzögerungselemente (405-1, 405-2 ... 409-1) dieselbe Verzögerung bewirken, und ferner in den Multiplizierern (406-1, 406-2 ...) für die n-te Stufe eine Multiplikation mit (j)" erfolgt, daß ferner die Ausgänge (407-1, 407-2 ...) der rekursiven Pfade nacheinander über einen Schalter (420-1, 420-2 ...) jeweils einem weiteren Multiplizierer (421-1., 421-2 ...) zugeführt werden, in dem die Daten mit einem konstanten Faktor
Fourier-Transformationen einzelner Teilmengen dieser Menge. Dadurch wird der Rechenaufwand und damit auch der schaltungsmäßige Aufwand zur Durchführung einer derartigen Operation erheblich reduziert (hinsichtlich des mathematischen Zusammenhangs vgL Gold, B, und R a d e r, Ch. M, »Digital Processing of Signals«, McGraw-Hill Book Co, New York usw. 1969, Kapitel 6, S. 159 bis 201). Entsprechend erfolgt die bekannte Berechnung der diskreten Fourier-Transformation auf dem Wege einer sogenannten »schnellen« Fourier-Transformation durch Berechnung der Fourier-Transformationen der Teilfolgen bzw. -gruppen und die entsprechende Verknüpfung der Resultate.
Die dadurch bewirkte Verringerung der Multiplikationsvorgänge ist besonders bei der Analyse von Sprachsignalen auf digitalem Weg ein erheblicher Vorteil. Bei ihr werden Sprachsignale zunächst abgetastet und dann in einem D/A-Wandler digitalisiert Mit Hilfe der DTF kann dann eine bestimmte Frequenzkomponente im Sprachsignal festgestellt werden. Bei N Daten (Abtastwerte) muß man jedoch zur Berechnung der DFT {X,} (I = 0, 1, 2 ... N - 1) aus der Datenfolge fa} (k=0, 1, 2 ... N- 1) N2 Multiplikationen durchführen. Daher ist die Reduzierung der Rechenvorgänge durch die »schnelle« Fourier-Transformation von so großer Bedeutung.
Von dieser Aufteilung der diskreten Fourier-Transformation in Gruppen geht auch die Erfindung aus. Beispielsweise erhält man, wie weiter unten noch ausführlich erläutert (vgl. Gleichungen fl] und [4], [5]), folgende vier Gruppen:
\Wa, W, VV2", wobei W gleich e
-H)
multipliziert werden, dessen Ausgangssignal der nächsten Schaltungsstufe zugeführt wird.
40
45
Die Erfindung betrifft eine Schaltungsanordnung zur Berechnung der schnellen Fourier-Transformation einer digitalen Datenfolge der im Oberbegriff des Patentanspruchs angegebenen Art.
Als »schnelle Fourier-Transformation« (FFT == Fast Fourier Transformation) bezeichnet man eine mit besonders hoher Geschwindigkeit und hohem Wirkungsgrad erfolgende Durchführung einer diskreten Fourier-Transformation (DFT, s. a. Fritzsche, Informationsübertragung, Wissensspeicher, Berlin 1977, S. 257). Bei der schnellen Fourier-Transformation wird die digitale Datenfolge, aus der die diskrete Fourier-Transformation berechnet werden soll, in Gruppen aufgespaltet, jeweils die diskreten Fourier-Transformationen der Gruppen berechnet und dann die Fourier-Transformation der Gruppen wieder miteinander kombiniert, um daraus die diskrete Fourier-Transformation der gesamten Datenfolge fa) zu erhalten. Dies ist leicht möglich, infolge des für die Fourier-TransL;ormation markanten Zusammenhanges zwischen der Fourier-Transformation einer bestimmten Menge und den
(i) X0,
Xn
(ii) X1, Xs, Xq Xn-
(iii) X1, Xb, X\n,
(iv) X3, Xi, Xn,
Auch Schaltungen zur Durchführung der FFT sind bereits bekannt (H a 1 ρ e r η, H. N, und Perry, R. P., »Digital Matched Filters Using Fast Fourier Transforms«, Proceedings of EASCON, S. 222 bis 230 [1971], insbesondere S. 225, Fig. 6). Der Schaltungsaufbau ist jedoch noch dadurch sehr kompliziert, daß in den rekursiven Pfaden jeweils komplexe Multiplikationen durchgeführt werden müssen.
Der Erfindung liegt die Aufgabe zugrunde, eine Schaltungsanordnung der eingangs genannten Art zu schaffen, deren Schaltungsaufbau gegenüber den bekannten Schaltungen erheblich vereinfacht ist. Dabei soll insbesondere die Anzahl der benötigten Bauelemente geringer sein und sich aufgrund erheblich vereinfachter Rechen- und Steueroperationen ein einfacherer Aufbau ergeben.
Diese Aufgabe wird mit Hilfe der im Kennzeichen des Patentanspruchs angegebenen Merkmale gelöst. Die Schaltung eignet sich auch zur Durchführung einer inversen FFT.
Nun ist zwar die Matrixdarstellung der schnellen Fourier-Transformation bekannt (vgl. Kahaner, Matrix Description of the Fast Fourier Transform, IEEE Trans., Bd.AU-18, No. 4 [Dezember 1970], S. 442 bis 450); die Erfindung geht jedoch von einer besonderen Aufspaltung der rechnerischen Darstellung der FFT in verschiedene Matrizen aus, die bei ihrer Realisierung besonders einfache Schaltungen ergeben. Theoretischer Ausgangspunkt der Erfindung ist, wie weiter unten noch
ausführlich dargestellt (Gleichung [9]), folgende Matrixaufteilung:
wobei
= IX0, X1 -ϊ,ν.!·
Dabei sind En, Fn und Dn Teilmatrizen, die erfindungsgemäß besonders einfache Schaltungen ergeben. Insbesondere ermöglicht es die Erfindung, die Matrix En in den Schaltungsstufen aus mehreren parallelen rekursiven Pfaden derart zu realisieren, daß jeweils nur Multiplikationen mit +1,-1, +joder — j, allgemein in der J3-ten Stufe rait Q)", erforderlich sind (vgL unten Gleichung [10]). Derartige Multiplikatoren können ganz besonders einfach aufgebaut werden. Man kann dann femer die Anzahl der Gruppen so wählen, daß möglichst wenige weitere Multipliziere-, die noch komplexe Multiplikationen ausführen, erforderlich sind.
Gegenüber einem bekannten digitalen Filter mit einer Schaltung, wie sie auch Grundschaltung zur Berechnung der diskreten Fourier-Transformation, jedoch nicht mit der schnellen Fourier-Transformation, sondern auf der Grundlage des Goertzelschen Algorithmus ist ( J ackson u.a. An Approach to the Implementation of. Digital Filters, IEEE Trans, Bd. AU-16, No. 3 [Seplsmber 1968], S.413 bis 421, insbesondere Rg.2; Gold/ Rad er, a.a.O, Fig. 6.6 auf S. 1721 besteht bei der Erfindung der Unterschied, daß diese bekannte Schaltung mit komplexen Multiplizierern in den rekursiven Pfaden arbeitet, während die Erfindung mit Multiplikationen mit den Faktoren +1, -1, +j, —j auskommt; ferner arbeitet die bekannte Schaltung für ein digitales Filter mit Addierern mit drei, während die Addierer bei der Erfindung lediglich zwei Eingänge aufweisen, nämlich einen, dem die digitale Datenfolge
zugeführt wird und einem zweiten, an den der rekursive Pfad zurückgeführt wird. Bei den bekannten Filtern ist ferner die Maßnahme, die Ausgänge der parallelgeschalteten rekursiven Pfade einer Schaltungsstufe in zeitlicher Hintereinanderfolge durch einen Schalter abzugreifen, nicht vorgesehen. Diese Maßnahme steht bei der Erfindung im Zusammenhang mit der Berechnung der FFT durch Aufteilung der gesamten Datenfolge in mehrere Teilfolgen.
Der Unterschied vorliegender Erfindung gegenüber der älteren DE-OS 26 16 660 besteht darin, daß diese ebenfalls nicht zur Berechnung der »schnellen« Fourier-Transformation dient, sondern die Berechnung einer diskreten Fourier-Transformation DFT {Xi} aus einer digitalen Datenfolge /xjt/zum Gegenstand hat
Ausführungsbeispiele der Erfindung werden im folgenden unier Bezugnahme auf die Zeichnungen beschrieben. Es stellen dar:
Fig. 1, 2 und 3 Blockschaltbilder einzelner Schaltungseinheiten eines Ausführungsbeispiels, F i g. 4 ein Blockschaltbild eines Ausführungsbeispiels, Fig.5 ein Blockschaltbild eines weiteren Ausführungsbeispiels,
Fig.6 schematisch den Aufbau eines vereinfachten Multiplizierers nach F i g. 4 und 5,
Fig.7 die schematische Darstellung der Umschaitvorgänge beim Ausführungsbeispiel nach F i g. 4.
Vor einer Beschreibung der Ausführungsbeispiele seien zunächst die Prinzipien in Form einer mathematisehen Ableitung erläutert:
In der Veröffentlichung von K. ah an er, D.A., »Matrix Description of the Fast Fourier Transform«, IEEE Transactions on Audio and Electroacoustics, Bd.AU-18, Nr. 4, S. 442 bis 450 (1970), wird die Berechnung von DFT {X,} (1 = 0, 1, 2 ... N - 1) an N Punkten aus einer am Eingang eingehenden digitalen N-Punkte-Datenfolge {xk} (k = 0, 1, 2 ... N- 1) wie folgt in Form einer Matrix angegeben:
Λ0
Xl
W0 Wo >
W0 W1 W2 ----- WN '
W0 W2 w* μ/2 (,V-11
W0 W
DFT [X1) = A- tx
Dabei ist:
W = exp -
tx=
W2
(2)
(3)
Die sogenannte »schnelle« Fourier-Transformation beruht nun darauf, daß die Datenfolge fafln Teilfolgen zerlegt wird, die diskreten Fourier-Transformationen
\Xn -1)
der Teilfolgen berechnet und daraus die DFT der gesamten Datenfolge ermittelt wird, sowohl eine Auflösung von Gleichung (1) in zwei Gruppen als auch eine Aufteilung in vier Gruppen in Betracht kommt Als Beispiel wird nur der letztgenannte Fall im folgenden erläutert Nimmt man also an, daß die Anzahl der Datenpunkte N ein Vielfaches von 4 ist, so kann man Gleichung (1) folgendermaßen in 4 Gruppen aufteilen, die jeweils durch ein Suffix π (η = 0, 1, 2, 3) gekennzeichnet sind.
.,»-."..-■ ».;r^v,,. j ItJpWu -t|
π +4/
1 π +4(Af -I)/
-I)(Ii+4/1
jyn+4(AI-l) « =0,1,2,3
Dabei ist:
M= /V/4 Nun kann man als nächstes der Einfachheit halber die Gleichung (4) wie folgt darstellen:
tv := D ' t
Das Symbol Bn stellt cine MxN Matrix dar und kann wie folgt modifiziert werden:
jy(AI-l)(n+S)
i-l)B+4 (Ai-I)/
(6)
(l , 0, 0, -0, (-JT, 0, — 0, (rj)2", 0, — 0,
0, 1 , 0,—, 0, 0, (-J)" — 0
ο, ο, ι,—vo/
\Ö, 0, —, Γ, o{ — 0, (-j)", 0, - 0, [-Jf-", 0,-0, CnDn
-Sf", 0,
(7)
!fall. Jl-Il,-;.
Modifiziert man nun weiterhin die Matrix C,„ so erhält man:
En
(w°, W0, °, W4,
■ W0
. jy4 (Af-I)
Ή·«1, o.
0. 1Γ". 0.
,"'■■,0. \.ir-".
. O
. O
. O
o. ir
' H ·( -M - 11 π
Das bedeutet, daß Gleichung (6) auf folgende Form modifiziert wurde:
tx„ = En ■ Fn -Dn-Ix.
Die Matrix Dn in Gleichung (9) wird wie folgt angegeben:
Ί 0 - 0 (-j)n 0 -- 0 (-J)2" 0 -- 0 (-JY" 0 - 0 ' 0 1 -- 0 (-})" 0 -;/0 (-j)2" 0 ;/- 0 (-;f 0 (Si
(9)
Dn =
0 -- 1 0 (-/)" 0 (ZjT 6 (-j)3"
(df o - o Of o - o - ρ of" ο -■ ρ OT ο ■-■· ο ο OT" i ο Of ο of ο (/)" — ο
ο OT" O)3" Of - Ot
Hierbei führt man folgende Bezeichnungen ein:
(10)
F i g. 1 zeigt den Aufbau einer Schaltung, die eine Operation, die der Matrix Dn in Gleichung (10) entspricht, realisiert N Daten χ (komplexe Zahlen) gelangen seriell nacheinander an die Eingangsklemme 100. Ein Addierer 101 addiert jedes Datum χ zu einem Signal, das durch Rückkopplung vom Ausgang des Addierers über ein Verzögerungselement 103 und einen Multiplizierer 105 entsteht Die Verzögerung im Verzögerungselement 103 ist gleich einer der Periode von M(= N/4) Daten. Der Multiplizierer 105 multipliziert mit einem Koeffizienten Q)", dabei ist π = 0, 1, 2 oder 3. Am Ausgang des Addierers 101 entsteht auf diese Weise das Signal 102. Der Addierer 101, das Verzögerungselement 103 und der Multiplizierer 105 müssen in ihrer Realisierung als hardware jeweils sowohl für den Real- als auch für den Imaginärteil vorgesehen werden, in der Zeichnung ist jedoch der Einfachheit halber jede Schaltung nur als ein Bauteil dargestellt
An der Ausgangsklemme 106 wird ein Signal abgegeben, das gleich dem Signal am Ausgang des Multiplizierers 105 ist Wie aus Gleichungen (10) und (11) ersichtlich, sind die signifikant notwendigen Daten y„ lediglich diejenigen Daten im Signal 106 am Ausgang des Multiplizierers, die während der Periode auftreten, während der die letzten ΛΓ/4 Daten der N digitalen Daten an die Eingangsklemme 100 gelangen. Ferner
erfolgt im Multiplizierer 105 der Schaltung nach F i g. 1 lediglich Multiplikation mit einem Koeffizienten Q)m, d.h. i,j, —1 oder —j; daher ist ein normaler komplizierter Multiplizierer in diesem Fall nicht notwendig. Wird beispielsweise ein bestimmtes vorgegebenes komplexes Datum (a + jb) mit j multipliziert so ergibt sich, da j(a + jb) gleich -b + ja ist daß diese Multiplikation von (a + jb) einer Vertauschung des Realteils a mit dem Imaginärteil b und einer Inversion der Polarität des ausgetauschten Realteils b äquivalent ist
Die F i g. 6A, 6B, 6C und 6D zeigen beispielsweise, wie die vereinfachten Multiplizierer 105 nach F i g. 1 zur Multiplikation mit den Faktoren 1, — 1, J bzw. — j als hardware realisiert werden können.
Jeweils wird der Realteil des Multiplikanden der Eingangsklemme 61-1, der Imaginärteil des Multiplikanden hingegen der Eingangsklemme 61-2 zugeführt Der Realteil des Produkts erscheint an der Ausgangsklemme
60
65
62-1, der Imaginärteil des Produkts an der Ausgangsklemme 62-2. Die Schaltungen 63 bis 66 dienen der Inversion der Polarität der ihnen zugeführten Daten. Ihr Aufbau hängt von Format und Codeform der am Eingang zugeführten Daten ab. Werden die Daten am Eingang seriell derart zugeführt, daß zunächst das LSB (Least Significant Bit), d. h., das am wenigsten signifikante Bit, zugeführt wird, und wird als Code ein 2-Komplementärcode verwendet (z. B. ist für die binäre Zahl 11010 der 2-Komplementärcode 00110), so kann man hierfür eine Schaltung verwenden, wie sie beschrieben ist in: J a c k s ο η u. a., »An Approach ίο the Implementation of Digital Filters«, IEEE Transactions on Audio and Electroacoustics, Bd. AU-16, Nr. 3 (September 1968), S. 413 bis 421 (Druckschrift 4), vgl. insbesondere S. 416, Fig. 8.
Was auch immer für ein Format und eine Codeform verwendet wird, so kann man stets für die Inverter als hardware sehr einfache Schaltungen einsetzen, die z. B. durch ein Flip-Flop und wenigen Verknüpfungsgliedern gebildet werden können. Entsprechend einfach ist auch der benötigte Multiplizierer für die Multiplikation mit 1, —1,7 und ~j. Im Gegensatz dazu hat ein Multiplizierer z. B. nach Fig. 10 und 11 auf S. 417 der Druckschrift 4 einen sehr komplizierten Aufbau und enthält eine sehr hohe Anzahl von Flip-Flops, Addierern und Verknüpfungsgliedern. Das bedeutet, daß durch die Erfindung derartige normale Multiplizierer und entsprechend schaltungsmäßig aufwendige unnötig werden und damit die praktische Durchführung einer derartigen Schaltung als hardware stark vereinfacht wird. Die Operation, wie sie die Schaltung nach F i g. 1 durchführt, kann auch mit einer Schältung durchgeführt werden, bei der gegenüber F i g. 1 das Verzögerungselement 103 und der Multiplizierer 105 miteinander vertauscht sind, da sie beide in Reihe geschaltet sind.
Bezeichnet man nun
tu,, — Γ η '
(12)
40
dann ist diese Operation einer aufeinanderfolgenden Multiplikation von yn mit den Koeffizienten W, W", W1" ... bzw. Hf-'l" äquivalent da die Matrix Fn, wie aus Gleichung (8) zu ersehen, eine diagonale Matrix ist
Fig.2 zeigt den Aufbau einer Schaltung, die eine solche Operation durchführt Die Daten y„ gelangen seriell nacheinander an die Eingangsklemme 200. Im Multiplizierer 201 werden sie mit einem bestimmten Koeffizienten multipliziert und danach an der Ausgangsklemme 202 abgegeben. Der Multiplizierer 201 multipliziert nacheinander die M Daten (Y0, Y\, Y2 ... Ym-\) der Folge Yn mit den Koeffizienten W, W", W1" bzw \fy{M—\)n
Nun kann man
tx„ = En£„„ (13)
bezeichnen; dann erhält man für En nach Gleichung (8) eine Modifikation gemäß folgender Matrix:
W0
w-4
M/-κ·" w H(Λ'-" -- W *
wa
\y-M\i 11
\w
-4(Al-Il M
(14)
Fig.3 zeigt eine Schaltung, die die Operation der Matrix En gemäß Gleichung (14) realisiert. Signale Un gelangen nacheinander seriell an die Eingangsklemme 300. Die eingegangenen Signale werden dann in M rekursiven arithmetischen Pfaden weiterverarbeitet. Als arithmetischer Pfad wird dabei ein Schaltungsweg bezeichnet, der jeweils eine arithmetische Operation realisiert. Je ein arithmetischer Pfad enthält einen Addierer 301, ein 1-Datum-Verzögerungselement 303 und einen Multiplizierer 304. An den Ausgangsklemmen 305-1 bis 305-Merscheinen die Resultanten Xn.
Um das Signal Xn (n = 0,1, 2, 3) am Ausgang aus den N digitalen Daten Af am Eingang ableiten zu können, muß man nun lediglich die Schaltungen nach Fig. 1, 2 und 3 in Kaskade schalten. Dabei ist darauf hinzuweisen, daß man während der Eingangsklemme 100 nach F i g. 1 N = 4 M Daten zugeführt werden, die signifikant notwendigen Signale am Ausgang lediglich während desjenigen Zeitintervalls erhält, währenddessen die letzten aufeinanderfolgenden M Daten an die Eingangsklemme 100 gelangen. Es folgt daraus also, daß man während der restlichen Zeit die Signale am Ausgang der Schaltung nach F! a. 1 nicht ^AnQtiart. \Vährend d'***"**** Zeit braucht also auch der Multiplizierer, der in F i g. 2 dargestellt ist, nicht zu arbeiten. Nützt man also diese Zeit, in der der Multiplizierer leerläuft bzw. nicht benötigt wird, aus, dann kann der Multiplizierer für alle Gruppen für π = 0, 1, 2, 3 gemeinsam verwendet werden.
Vergleicht man nun die Matrix A mit der Matrix En, so sieht' man, daß die Matrix En nichts weiter ist als eine M(= N/4) χ Μ Matrix, die dadurch zusammensetzbar ist, daß man die Elemente jeder vierten Zeile und jeder vierten Spalte in der Matrix A verwendet
Ist M wiederum ein Vielfaches von 4, dann kann man den oben beschriebenen Vorgang einmal mehr für die Matrix En wiederholen und auf diese Weise eine weitere Aufteilung in 4 Gruppen erreichen, von denen jede durch eine Matrix, deren Größe lediglich '/4 ist, darstellbar ist
Ist N = 4<? χ P (P Φ Vielfaches von 4), dann kann man die erwähnten Operationen q-mal wiederholen, wobei jedesmal eine Aufteilung in kleinere Matrizen, deren Größe nur 1A derjenigen ist, aus der sie hervorgegangen ist, erfolgt Schließlich erfolgt eine Aufteilung, wie sie Gleichung (8) entspricht und wie sie im folgenden durch Gleichung (15) angegeben ist:
(W0 W0
2N
w~p~-
W0
N 2N
W° WT WT- W~T~N
W0 \ -N i
p —
W ρ
' IP-
W ρ
/Wo
0
0 0 -- 0 W 0
0 0 w2n
s-A: MsJl
η = 0,1, 11 W Wo 26 27 405 0 0 - 0
14/0 I (P- 1 N W0 S (W° W 0
P- W t P N
WT
0 0 W2"
2,3. W
I
0
: -p- 1JV ν
W ρ
(w°
W0
W0
j
ι γ/Ω
Fig. 4 zeigt ein Ausführungsbeispiel, das dies verwirklicht Die Daten gelangen seriell nacheinander an die Eingangsklemme 400 und werden in 4 Schalteinheiten, die arithmetisch eine Einheit bilden, weiterverarbeitet. Diese Schalteinheiten weisen Addierer 404-1, 408-1, 412-1 und 416-1, M4-Daten-Verzögerungselemente 405-1, 409-1, 413-1 und 417-1 und Multiplizierer 406-1, 410-1, 414-1 und 418-1 zur Multiplikation mit +\, j, — 1 bzw. — j auf. Es ist hier noch einmal darauf hinzuweisen, daß für diese Multiplikationen die normalen Multiplizierer nicht notwendig sind. Die Signale an den Ausgängen dieser 4 Schalteinheiten gelangen an Klemmen 407-1, 411-2, 415-1 und 419-1. Sie werden dort nacheinander von einem Schalter 420-1 abgegriffen und gelangen dann an den Multiplizierer 421-t. Daher sind die Zeitpunkte, zu denen die Signale von den Ausgängen dieser 4 Schalteinheiten an den Multiplizierer 421-1 gelangen, jeweils um eine Periode von N/4 Daten gegeneinander verzögert Wird also dieselbe N-Punkte-Datenfolge fxkf (k = 0, 1 ... Λ' — 1) gemeinsam für alle arithmetischen Schalteinheiten verwendet, um die N-Punkte DFT /AT// (I = 0, 1 ... N — 1) abzuleiten, dann ist es daher notwendig, die diesen Schalteinheiten aufeinanderfolgend zugeführten Daten jeweils um eine Periode von N/4 Daten zu verzögern. Dazu dienen die Verzögerungselemente 401-1, 402-1 bzw. 403-1. Sie verzögern jeweils um eine Periode von N/4 Daten; sie sind zwischen den Eingangsklemmen der arithmetischen Schalteinheiten und der Eingangsklemme 400 geschaltet
Um eine Frequenzanalyse kontinuierlich vorliegender Sprachsignale vornehmen zu können, kann man ohne die Verzögerungselemente 401-1, 402-1 und 403-1 auskommen, da die vorliegende Einheit auch für eine Datenfolge ausgelegt werden kann, die anders als eine ganz bestimmte Datenfolge aus N digitalen Daten ausgebildet ist Jeder Vokal enthält ganz besonders starke charakteristische Frequenzkomponenten, die von der ihn ansprechenden Person fast unabhängig sind, so daß durch Feststellung dieser sehr starken Frequenzkomponenten die Feststellung der Äußerung eines derartigen Vokals ermöglicht ist
Daher muß man bei der Erkennung von Vokalen mit einer Schaltung zur Spracherkennung eine Frequenzanalyse der Vokallaute mit einer FFT durchführen.
Berücksichtigt man, daß der Ton eines Vokals eine beachtlich lange Zeit andauert, so kann man eine volle Frequenzanalyse durch die Λ' Frequenzkomponenten anstatt aus nur einer bestimmten Datenfolge nunmehr aus 4 Datenfolgen gewinnen, die um die Periode von N/4 Daten gegeneinander verschoben sind
Die vier gleichen Daten gelangen direkt an die Eingänge der Addierer 404-1 4.4Og-1,412-1 bzw. 416-1, so daß man die Verzögerungselemente 401-1, 402-1 bzw. 403-1 weglassen kann. Der Multiplizierer 421-1 multipliziert dann nacheinander die von dem Schalter 420-1 abgegebenen Signale mit den Koeffizienten W, W", W2"... bzw. WM-')". In F i g. 4 bildet der Abschnitt von links bis zu diesem Punkt die erste Stufe.
Die zweite Stufe ist ähnlich aufgebaut wie die erste Stufe. Der einzige Unterschied besteht darin, daß die Verzögerungszeit der in der zweiten Stufe vorgesehenen Verzögerungselemente 401-2, 402-2, 403-2 und 405-2, 409-2, 413-2, 417-2 gleich der Periode von N/16 Daten ist, und daß die Koeffizienten, mit denen im Multiplizierer 421-2 multipliziert wird, nunmehr gleich
W", H'4". W*a H'(i6
sind.
Darauf folgend sind die nächsten Stufen entsprechend bis zur q-ten Stufe aufgebaut Die letzte (q + I)-te Stufe besteht aus " parallelen arithmetischen Schalteinheiten, die je einen Addierer 404-fa + 1), ein 1-Daten-Verzögerungselement 405-(q + 1) und einen Multiplizierer 406-(q + 1) enthalten. Die Koeffizienten, mit denen in den entsprechenden Multiplizierern multipliziert wird,
sind ip, wie aus Gleichung (15) ersichtlich. Die N/P Resultate der DFT treten nacheinander jeweils an einem der P Ausgänge 407-(q + l)auf.
Da die N Ergebnisse der DFT jeweils die Intensität der entsprechenden Frequenzkomponenten in jedem Vokal darstellen, ergibt die oben beschriebene Frequenzanalyse von Vokalen, daß man feststellen kann, daß ein Vokal geäußert worden ist Eine Feststellung und Prüfung, welche Frequenzkomponenten insbesondere stark geäußert worden sind, kann mit einer einfachen logischen Schaltung, die sich an die entsprechenden Ausgänge 4O7-(q +1) anschließt sowie mit einem entsprechenden externen Speicher erfolgen: Wie also beschrieben, kann man mit der Erfindung eine Spracherkennung realisieren; die Auswertung ist im einzelnen jedoch nicht Gegenstand vorliegender Erfindung und wird daher nicht weiter beschrieben.
Die Schaltung nach Fig.4 kann durch in Reihe geschaltete arithmetische Schalteinheiten und Verzögerungselemente realisiert werden, die als hardware z. B. Schieberegister enthalten, wobei sich Steuerung und Zeittaktgabe ergibt Es ergibt sich damit eine sehr einfache gesamte Schaltung. Für jede Stufe ist ein Multiplizierer vorgesehen. In der letzten Stufe sind P — 1 Multiplizierer vorgesehen. Für diese Multiplizierer verwendet man die sogenannten »Pipeline«-Multiplizierer, wie sie z.B. in Fig. 10 auf S.417 der Druckschrift 4 beschrieben sind. Die Operationsgeschwindigkeit kann gleich der Einlaufgeschwindigkeiten der Daten am Eingang sein.
Im folgenden wird die Steuerung der Bestandteile der Schaltung nach Fig.4 beschrieben. Da alle Bauteile digital aufgebaut sind, werden sie durch Taktimpulse gesteuert. Wortimpuk; zur Trennung der digitalen ./V-Punkte Daten und der Daten, die der Schaltung zugeführt werden, werden von den Taktimpulsen abgeleitet; alle Operationen werden vcn den Wortimpuisen gesteuert Insbesondere ergibt sich bei seriell vorliegenden Daten, daß man Bit-Impulse zur Steuerung jedes Bits benötigt Durch Zählung der Bit-Impulse erhält man die Wortimpulse. Außerdem ist ein weiterer (nicht gezeigter) Zähler vorgesehen, der die Wortimpulse derart verknüpft, daß damit überwacht wird, wieviele Daten an die Klemme 400 gelangt sind. Gleichzeitig wird der Ausgang dieses Zählers dazu verwendet, die Stellung der Schalter 420-1,420-2... zu steuern.
Fig.7 zeigt die zeitliche Folge der Verbindungsstellungen des mit den Leitungen 407-1, 411-1, 415-1 und 419-1 und des Schalters 420-2 mit den Leitungen 407-2, 411-2, 415-2 und 419-2. Nach Ablauf der Operationen werden sie wiederholt
Eine genauere Beschreibung der Erzeugung der Steuersignale kann unterbleiben, da sie nicht Gegenstand der Erfindung ist und von jedem Durchschnittsfachmann mit bekannten Maßnahmen realisiert werden kann.
Eine bekannte Schaltung zur Durchführung einer FFT ist in Fig. 6 auf S. 225 der Druckschrift 2 dargestellt Sie benötigt bei der Ausführung in hardware jedoch sehr komplizierte und voluminöse Steuerungsschaltungen. Demgegenüber bringt die Erfindung einen erheblichen Vorteil. Zum BeisDiel ergibt sich für N = 4i Datenpunkte aus der folgenden Tabelle ein Vergleich beider Schaltungen in bezug auf die Größe der Schaltung und auf die Steuerung.
Tabelle
Bekannt»:
Schaltung
(Druckschrift 2)
Erfindung
N
Anzahl der Multi- — 1Og2 TV
plikationen
Anzahl der log, N
Multiplizierer
Anzahl derAddierer 2 log. Λ'
Anzahl der ungefähr
Verzöaerunas- 3
elemente -y W(DaIen)
Steuerung kompliziert
3N
log-, TV
- log, N
2 log-, N ungefähr ~ N (Daten)
einfach
Die vorliegende Schaltungseinheit besteht gemäß F i g. 4 aus in Kaskade geschalteten Verarbeitungsstufen mit jeweils 4 rekursiven arithmetischen Pfaden zur Multiplikation mit den Koeffizienten + 1 und ±7 sowie einem Schalter und einem Multiplizierer. Die Datenverarbeitung, die die Schaltungseinheit nach Fig.4 durchführt, kann man jedoch in ähnlicher Weise auch erhalten, wenn nur mindestens eine dieser Verarbeitungsstufen und ansonsten eine andere hardware-Schaltung verwendet wird.
Die oben gegebene Beschreibung erfolgte derart, daß Gleichung (1) zur Matrix-Darstellung der DFT in 4 Gruppen, wie in Gleichung (4) dargestellt, aufgeteilt wurde. Man erhielt damit die Schaltungseinheit nach F i g. 4. Man kann Gleichung (1) aber auch wie folgt in 2 Gruppen aufteilen:
n +2 n+4
H = 0, 1 .
W0, W, W1", W0 W"+2,
W° W+*, wts
-Dn
V2 /
(16)
Führt man mit Gleichung (16) ähnliche Operationen, wie sie oben beschrieben worden sind, durch, so kann man auch in ähnlicher Weise eine Schaltungseinheit zur Durchführung einer FFT bestimmen. Die Einzelheiten der Berechnung der Zwischengleichungen werden jetzt weggelassen, da sie weitgehend gleich sind, wie bereits beschrieben. Man erhält dann aufgrund einer Analyse der Gleichung (16) die Schaltungseinheit nach F i g. 5.
Die digitalen Daten χ gelangen seriell nacheinander an die Eingangsklemme 500; sie werden dann in 2 arithmetischen Schalteinheiten weiterverarbeitet, die jeweils durch 2 Addierer 502-1 und 505-1, Verzögerungselemente 503-1 und 506-1, die eine Verzögerung um eine Periode von N/2 Daten bewirken, sowie Multiplizierer 504-1 und 507-1 für Multiplikationen mit +1 bzw. — 1 gebildet werden.
Auch diese Multiplizierer sind sehr einfach aufgebaut.
Ein Verzögerungselement 501-1 zur Verzögerung um eine Periode von N/2 Daten kann man weglassen, wenn die vorliegende Schaltungseinheit so eingesetzt wird, wie dies für F i g. 4 bereits oben beschrieben worden ist.
Die Signale an den Ausgängen werden alternativ jeweils für jede N/2 Daten mit Hilfe eines Schalters 510-1 von den Leitungen 508-11 bzw. 509-1 abgenommen und gelangen so dann an den Multiplizierer 511-1. Sie werden darin mit den Koeffizienten
W0, W
W2", ..., bzw. w(~2 1I(H =0,
multipliziert In F i g. 5 ist der Teil der Schaltung von links bis zu diesem Punkt als erste Stufe bezeichnet. Daran anschließend werden die zweite, die dritte ...
15 16
usw. bis zur 2<j-ten Stufe aufgebaut Die letzte (2ς+1)-te führuug einer FFT können, wie erläutert, bestimmte
Stufe ist aufgebaut wie die (q + l)-te Stufe nach F ig. 4. Frequenzkomponenten feststellen. Derartige Operatio-
Die Schaltung nach Fig.5 ist vollständig seriell nen ergeben sich außer in dem bereits erwähnten
aufgebaut Die Steuerung ist ähnlich wie die der Bereich der Spracherkennung auch z. B. bei der Analyse
Schaltung nach F i g. 4 und entsprechend einfach. 5 von Erdbeben- oder Hirnstrom-Wellen sowie ferner bei
Die beschriebenen Lchaltungseinheiten zur Durch- der Auswertung von Radar-Signalen.
Hierzu 4 Blau Zeichnungen

Claims (1)

  1. Patentanspruch:
    Schaltungsanordnung zur Berechnung der schnellen Fourier-Transformation FFT /XiJ (I gleich 0, 1, 2 "> ... N — 1) einer digitalen Datenfolge {xkj(kgleich 0, 1, 2 ... N — 1) durch Berechnung der diskreten Fourier-Transformation von Gruppen der Datenfolge, bei der die Datenfolge /xkj in einen Addierer eingelesen wird, in dem es zu dem vom Ausgang ι ο desselben abgegebenen und in einem rekuirsiven Pfad zurückgeführten Signal addiert wird, wobei der rekursive Pfad durch einen Multiplizierer und je ein erstes Verzögerungselement gebildet wird, dadurch gekennzeichnet, daß q Schaltungs- is stufen (q mindestens gleich 2) vorgesehen sind, die jeweils durch mehrere rekursive Pfade gebildet werden, deren Zahl π gleich der Zahl der Giuppen und gleich 2 oder 4 oder ein Violfaches desselben ist und für die N = rfl + ρ mit ρ Φ π gilt, und wobei die Datenfolge /ir*/den Eingängen der rekursiven Pfade ι der ersten Schaltungsstufe jeweils gegenüber dem benachbarten rekursiven Pfad um den zeillichen
DE2627405A 1975-06-20 1976-06-18 Schaltungsanordnung zur Berechnung der schnellen Fourier-Transformation (FFT) Expired DE2627405C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP50076216A JPS593790B2 (ja) 1975-06-20 1975-06-20 Fft エンサンシヨリソウチ

Publications (3)

Publication Number Publication Date
DE2627405A1 DE2627405A1 (de) 1976-12-23
DE2627405B2 DE2627405B2 (de) 1979-03-01
DE2627405C3 true DE2627405C3 (de) 1979-10-25

Family

ID=13598969

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2627405A Expired DE2627405C3 (de) 1975-06-20 1976-06-18 Schaltungsanordnung zur Berechnung der schnellen Fourier-Transformation (FFT)

Country Status (4)

Country Link
US (1) US4058715A (de)
JP (1) JPS593790B2 (de)
DE (1) DE2627405C3 (de)
FR (1) FR2316663A1 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4486850A (en) * 1974-11-11 1984-12-04 Hyatt Gilbert P Incremental digital filter
US5459846A (en) * 1988-12-02 1995-10-17 Hyatt; Gilbert P. Computer architecture system having an imporved memory
US4553213A (en) * 1970-12-28 1985-11-12 Hyatt Gilbert P Communication system
US4686655A (en) * 1970-12-28 1987-08-11 Hyatt Gilbert P Filtering system for processing signature signals
US4744042A (en) * 1970-12-28 1988-05-10 Hyatt Gilbert P Transform processor system having post processing
US4551816A (en) * 1970-12-28 1985-11-05 Hyatt Gilbert P Filter display system
US4581715A (en) * 1970-12-28 1986-04-08 Hyatt Gilbert P Fourier transform processor
US5410621A (en) * 1970-12-28 1995-04-25 Hyatt; Gilbert P. Image processing system having a sampled filter
US4553221A (en) * 1970-12-28 1985-11-12 Hyatt Gilbert P Digital filtering system
US4944036A (en) * 1970-12-28 1990-07-24 Hyatt Gilbert P Signature filter system
US5053983A (en) * 1971-04-19 1991-10-01 Hyatt Gilbert P Filter system having an adaptive control for updating filter samples
US4156920A (en) * 1977-06-30 1979-05-29 International Business Machines Corporation Computer system architecture for performing nested loop operations to effect a discrete Fourier transform
US4298950A (en) * 1979-10-12 1981-11-03 Westinghouse Electric Corp. Multipoint pipeline processor for computing the discrete fourier transform
US4417313A (en) * 1981-05-18 1983-11-22 Herman Medwin Method for optimizing the design of a finite noise barrier
US4450525A (en) * 1981-12-07 1984-05-22 Ibm Corporation Control unit for a functional processor
US4524363A (en) * 1982-05-11 1985-06-18 The United States Of America As Represented By The Secretary Of The Navy P2 Polyphase code expander-compressor
US4524362A (en) * 1982-05-11 1985-06-18 The United States Of America As Represented By The Secretary Of The Navy Phase coded pulse expander-compressor
FR2532424A1 (fr) * 1982-08-27 1984-03-02 Cit Alcatel Dispositif de mesure et d'affichage du taux q de fuite pour un detecteur de fuites a gaz traceur
US4563750A (en) * 1983-03-04 1986-01-07 Clarke William L Fast Fourier transform apparatus with data timing schedule decoupling
FR2584213B1 (fr) * 1985-06-28 1994-03-11 Thomson Csf Dispositif de calcul d'une transformee de fourier discrete, glissante, et son application a un systeme radar.
FR2587819B1 (fr) * 1985-09-24 1989-10-06 Thomson Csf Dispositif de calcul d'une transformee de fourier discrete, glissante et non recursive, et son application a un systeme radar
FR2596892B1 (fr) * 1986-04-04 1988-05-20 Jutand Francis Circuit pour effectuer une transformation lineaire sur un signal numerique
DE4442959C2 (de) * 1994-12-02 2001-02-08 Sican Gmbh Monolithisch integrierbare Schaltungsanordnung zur komplexen Multiplikation serieller Datenströme
JPH08320858A (ja) * 1995-05-25 1996-12-03 Sony Corp フーリエ変換演算装置および方法
JPH08320857A (ja) * 1995-05-25 1996-12-03 Sony Corp フーリエ変換演算装置および方法
US6343304B1 (en) 1999-03-09 2002-01-29 National Science Council Apparatus with selective fixed-coefficient filter for performing recursive discrete cosine transforms
US20070211840A1 (en) 2006-02-17 2007-09-13 International Business Machines Corporation Methods and apparatus for analyzing transmission lines with decoupling of connectors and other circuit elements
CN113594077B (zh) * 2021-07-22 2024-03-08 重庆双芯科技有限公司 一种多级芯片串联系统芯片定位方法及多级芯片串联系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3588460A (en) * 1968-07-01 1971-06-28 Bell Telephone Labor Inc Fast fourier transform processor
US3686490A (en) * 1970-06-02 1972-08-22 Ratheon Co Real time serial fourier transformation circuit
US3899667A (en) * 1972-12-26 1975-08-12 Raytheon Co Serial three point discrete fourier transform apparatus
JPS5827546B2 (ja) 1975-04-22 1983-06-10 日本電気株式会社 エンザンソウチ

Also Published As

Publication number Publication date
JPS593790B2 (ja) 1984-01-26
DE2627405A1 (de) 1976-12-23
FR2316663B1 (de) 1980-06-06
US4058715A (en) 1977-11-15
JPS51151039A (en) 1976-12-25
DE2627405B2 (de) 1979-03-01
FR2316663A1 (fr) 1977-01-28

Similar Documents

Publication Publication Date Title
DE2627405C3 (de) Schaltungsanordnung zur Berechnung der schnellen Fourier-Transformation (FFT)
DE2508706C2 (de) Schaltungsanordnung zur Codierung von Datenbitfolgen
DE830068C (de) Code-UEbersetzer fuer Impulscodemodulation
DE2145404A1 (de) Nichtrekursive Digitalfiltereinrichtung mit Verzögerungs- und Addier-Anordnung
DE2727551C2 (de) Empfangseinrichtung bestehend aus einer Gruppe von elektromagnetischen Wandlern
DE2616660C3 (de) Arithmetische Einheit
DE4102095C2 (de) Vorrichtung zur Erzeugung einer Orthogonalsequenz mit zugehöriger Codemodulationsvorrichtung
DE2125230C3 (de) Verfahren und Schaltungsanordnung zur modifizierenden Verarbeitung digitaler Informationssignalfolgen
DE2023570A1 (de) Einseitenband-Modulationssystem
DE3018508C2 (de) Sprachanalysiervorrichtung
DE2432594C3 (de) Rekursives Digitalfilter
DE2255821A1 (de) Automatisch adaptierender transversalentzerrer
DE2707936B2 (de) Einseitenband-FrequerizmultiplexÜbertragungssystem
DE1474101A1 (de) Vielkanal-Korrelationsrechner
DE1499178A1 (de) Steuerbarer Datenspeicher mit Verzoegerungsleitung
DE2263757A1 (de) Digitale uebertragungsanlage mit frequenzgewichteter herabsetzung des rauschens
DE2111838C3 (de) Sich automatisch selbst einstellender Dämpfungsentzerrer
DE2850718A1 (de) Sich selbst anpassender entzerrer fuer eine elektrische nachrichtenuebertragungsstrecke
DE2148152A1 (de) Verfahren und schaltungsanordnung zum automatischen erkennen von schriftzeichen mit hilfe einer translationsinvarianten klassifikationsmatrix
DE3878666T2 (de) Integrierte schaltung fuer digitale rechenvorgaenge zur faltung oder aehnlichen rechenverfahren.
DE2704641A1 (de) Digitalfilter
DE2627931C2 (de) Kanalbildungsvorrichtung
DE1562176A1 (de) Pulscodemodulations-UEbertragungssystem,insbesondere fuer den Satellitenverkehr
DE1284127B (de) Funktionsgenerator fuer spezielle Autokorrelationsfunktionen
DE2651584C3 (de) Verfahren und Vorrichtung zur Ermittlung bestimmter Frequenzen aus einem Mehrfrequenzsignal

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)