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
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/141—Discrete Fourier transforms
- G06F17/142—Fast 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
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,
(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 | w° | Wo | w° > |
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,
Cn ■ Dn
-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-".
,"'■■,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
w°
w°
2N
w~p~-
W0
N
2N
W° WT WT- W~T~N
W0 | \ | -N | i |
p — | |||
W ρ | |||
' IP- | |||
W ρ |
/Wo
0
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.
Bekannt»:
Schaltung
Schaltung
(Druckschrift 2)
Erfindung
N
Anzahl der Multi- — 1Og2 TV
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)
- 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
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)
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)
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 | 日本電気株式会社 | エンザンソウチ |
-
1975
- 1975-06-20 JP JP50076216A patent/JPS593790B2/ja not_active Expired
-
1976
- 1976-06-18 FR FR7618711A patent/FR2316663A1/fr active Granted
- 1976-06-18 DE DE2627405A patent/DE2627405C3/de not_active Expired
- 1976-06-18 US US05/697,659 patent/US4058715A/en not_active Expired - Lifetime
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) |