3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ...

27
3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT)

Transcript of 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ...

Page 1: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

3 ΤΑΧΥΣΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣFOURIER (FFT)

Page 2: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

114 ΑΛΓΟΡΙΘΜΟΙ: εισαγωγικά θέματα και παραδείγματα

3.1 Εισαγωγή Δίνεται το διάνυσμα Α με N συνιστώσες Α(0), . . ., Α(N-1), που μπορεί να είναι

πραγματικοί ή, εν γένει, μιγαδικοί αριθμοί. Ο (διακριτός) Μετασχηματισμός Fourier του Α είναι το διάνυσμα Α , του οποίου οι συνιστώσες Α (0),..., Α (N-1) είναι εν γένει μιγαδικές και δίνονται από τον τύπο

Α (j) ,)(:

1

0∑−

=

=N

k

kijekA θ j=0,...,Ν-1, (3.1-1)

Ni /2: ,12 πθ =−= . Θα θεωρήσουμε εδώ ότι ο Ν είναι δύναμη του 2 με την σημείωση ότι υπάρχουν

επεκτάσεις και για άλλες τιμές του Ν. Για να υπολογισθεί μια συνιστώσα Α (j) χρειάζονται Ν (μιγαδικοί) πολλαπλασιασμοί και Ν-1 (μιγαδικές) προσθέσεις. Για όλες τις Ν συνιστώσες έχουμε τότε ένα σύνολο Ν2 πολλαπλασιασμών και Ν2

-Ν προσθέσεων, πάντοτε μιγαδικών.

Ο Ταχύς Μετασχηματισμός Fourier (FFT: Fast Fourier Transform) περιορίζει δραστικά τον αριθμό των πράξεων και θεωρείται σαν ένα από τα πιο σημαντικά επιτεύγματα στην υπολογιστική επιστήμη, λόγω και των πολύ σημαντικών εφαρμογών του. Υπάγεται στην κατηγορία των μεθόδων του Κεφαλαίου 2, αφού βασίζεται στην αναδρομική αναγωγή του προβλήματος σε μικρότερα προβλήματα, του μισού μεγέθους κάθε φορά. Η ιδιαίτερη όμως σημασία της μεθόδου μας υποχρεώνει να την μελετήσουμε ξεχωριστά. 3.2 Σύντομη ανασκόπηση ιδιοτήτων των μιγαδικών αριθμών

Για πληρότητα παραθέτουμε μερικές υπενθυμίσεις που αφορούν τους μιγαδικούς

αριθμούς. Ένας μιγαδικός αριθμός εκφράζεται στις δυο εναλλακτικές μορφές

z = x + i y = r e i φ

. (3.2-1)

Οι αριθμοί x, y καλούνται αντίστοιχα το πραγματικό και το φανταστικό μέρος του z, είναι όμως και οι δύο πραγματικοί. Χρησιμοποιούνται αντίστοιχα και οι συμβολισμοί Re(z) και Im(z) για τους x και y (Real: πραγματικό, Imaginary: φανταστικό). Στο μιγαδικό επίπεδο οι x, y εκφράζουν τις συνιστώσες του "σημείου z=(x,y)", σε άξονες με μονάδες 1 και i αντίστοιχα, όπου βέβαια i:= −1 . Το διάνυσμα που εκκινεί από την αρχή των αξόνων 0=0+0i, ή το σημείο (0, 0), και καταλήγει στο σημείο z, έχει Ευκλείδειο μήκος

r x y z : = + =2 2

και σχηματίζει γωνία φ, με τον "πραγματικό" άξονα, όπου

φ = αrctan(y/x).

Page 3: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT)

115

Όταν r = 1 το σημείο z ανήκει στο μοναδιαίο κύκλο με κέντρο την αρχή των αξόνων. Τότε x = cos(φ), y = sin(φ) οπότε προκύπτει ο καλούμενος τύπος του Euler

eiφ

= cos(φ) + i sin(φ) (3.2-2)

Ισχύει τότε και ο καλούμενος τύπος του De Moivre

( ) cos( ) sin( )( )e e k i ki k i kϕ ϕ ϕ ϕ= = + , (3.2-3)

άρα η κ-στη δύναμη ενός σημείου στον μοναδιαίο κύκλο γωνίας φ (με τον άξονα x πάντοτε) είναι πάλι σημείο του μοναδιαίου κύκλου και έχει γωνία κφ.

Γενικότερα, για το γινόμενο δυο μιγαδικών

z1 = r1 eiφ1 , z2 = r2 eiφ2 ,

παρατηρούμε ότι

z1z2 = r1 r2 (cosφ1 + i sinφ1) (cosφ2 + i sinφ2) = r1 r2 (cos(φ1 + φ2) + i sin (φ1 + φ2

= r (cos(ψ) + i sin (ψ)) = r e ))

,

όπου r := r1 r2, ψ := φ1 + φ2

, με την αντίστοιχη γεωμετρική ερμηνεία.

Η επίλυση της εξίσωσης zΜ

-1 = 0, (3.2-4)

επιτυγχάνεται εύκολα αν θέσουμε z = r eiφ

σε αυτή και προσδιορίσουμε τα r, φ: Πράγματι βρίσκουμε από τον τύπο De Moivre ότι

rM

(cos(Μφ) + i sin(Mφ)) = 1 (=cos (0) + i sin(0))

Εξισώνοντας τα πραγματικά και τα φανταστικά μέρη χωριστά και παίρνοντας υπόψη ότι ο r είναι πραγματικός και θετικός, βρίσκουμε r=1, cos(Mφ) = 1 και sin(Mφ) = 0.

Τότε η γωνία Μφ είναι ακέραιο πολλαπλάσιο του 2π, άρα Μφ = κ(2π), ή

φ = κ⋅2π/Μ, όπου κ ακέραιος. Παρατηρώντας ότι οι τιμές κ = 0,...,(Μ-1) δίνουν n σημεία του μιγαδικού επιπέδου που είναι μεταξύ τους διαφορετικά, ενώ άλλες τιμές του κ παράγουν τα ίδια σημεία, βρίσκουμε τις "Μ (πρωταρχικές) ρίζες της μονάδος" ή "Μ-στές ρίζες"

ωκ = eiκθ

, θ := 2π/Μ, κ=0,..,(Μ-1). (3.2-5)

Ισχύει και

Page 4: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

116 ΑΛΓΟΡΙΘΜΟΙ: εισαγωγικά θέματα και παραδείγματα

ωκ = ωκ

όπου , κ= 0,...,(Μ-1),

ω := ω1 = eiθ

.

Η Εικόνα 3.2-1 παρέχει μια γεωμετρική απεικόνιση των Μ-στων ριζών της μονάδας για Μ = 8. Συνοψίζουμε μερικές χρήσιμες παρατηρήσεις:

• Όλες οι δυνάμεις ωk ω k = 1 βρίσκονται στην μοναδιαία περιφέρεια, αφού .

• Η ωk

• Οι ρίζες - δυνάμεις ω

σχηματίζει γωνία με τον πραγματικό άξονα, που είναι k φορές (kθ) η γωνία της ω (ή θ).

0=1, ω, ω2, . . ., ωn-1

• Οι μιγαδικοί ω

είναι κατανεμημένες κανονικά πάνω στην μοναδιαία περιφέρεια, ενώ κάθε άλλη δύναμη δίνει πάλι ένα από τα ίδια σημεία.

n/2+j = - ωj, j=0,... είναι αντίθετοι των ωj

• Αν στη θέση του Μ χρησιμοποιηθεί ο Μ/2 θα έχουμε τις μισές ρίζες απ’ ότι πριν, οι οποίες όμως είναι τα τετράγωνα των προηγουμένων.

.

3.3 Αναδρομικές σχέσεις FFT

Ο FFT βασίζεται σε μια ιδιότητα που έχει παρατηρηθεί από πολύ παλιά, με πιο

γνωστές εμφανίσεις αυτές των Danielson-Lanczos (1942) και Cooley-Tuckey (1956): Ας είναι Ζ ένα μιγαδικό διάνυσμα μήκους Μ, όπου Μ ζυγός, με τις συνιστώσες του αριθμημένες από 0 μέχρι Μ-1. Συμβολίζουμε με Ζ0 (αντιστοίχως Ζ1

) το υποδιάνυσμα των ζυγών (αντιστοίχως μονών) δεικτών, δηλαδή

Ζ0 = [Ζ(0), Ζ(2),...,Ζ(Μ-2)]Τ, Ζ1 = [Ζ(1), Ζ(3),...,Ζ(Μ-1)]Τ

.

Τα Ζ0, Ζ1 , Z Z0 1

έχουν μήκος Μ/2 και το ίδιο ισχύει για τους αντίστοιχους μετασχηματισμούς Fourier . Η αναδρομική ιδιότητα ορίζει ότι οι Μ

ϑ 1 = ω0 = ω±8 = ω±16 = ...

ω2 = i

ω3

ω4

ω21 = ω5 ω7

ω6

ω = ω9 = ω17 ...

ω4 = -1 = -ω0

ω5 = -ωω6 = -ω2

ω7 = -ω3

Εικόνα 3.2-1

Page 5: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT)

117

συνιστώσες του μετασχηματισμού Z παρέχονται από τις Μ/2 συνιστώσες του Z0 και τις Μ/2 συνιστώσες του Z1 μέσω των τύπων

Z (j) = Z 0(j) + eijθ Z1 (j), (3.3-1α) Z ( )jM +2/ = Z0 (j) - eijθ Z1 (j), (3.3-1β)

όπου θ := 2π/Μ, j = 0,...,(Μ/2-1).

Η ιδιότητα αυτή αποδεικνύεται εύκολα απ' ευθείας από τον ορισμό του

μετασχηματισμού Fourier με το χωρισμό του αθροίσματος σε δυο μέρη, ένα για τους ζυγούς δείκτες k και ένα για τους μονούς. Στη συνέχεια χρησιμοποιούνται απλές ιδιότητες των Μ-στων ριζών της μονάδας. Παρατηρούμε πρώτα ότι

( ) ( ) ( ) ( ) ( ) ( ) θθθ jki

k

jki

k

ikjM

kekZekZekZjZ

MM

121

0

21

0

1

0

22

122ˆ +−

=

=

=∑∑∑ ++==

( ) ( ) ( ) ( )∑∑−

=

=

+=1

0

21

1

0

222MM

k

ikjij

k

ikj ekZeekZ θθθ .

Από τον ορισμό του Z η σχέση αυτή ισχύει για j = 0,...,(M-1). Θεωρούμε πρώτα

τις μισές τιμές, j = 0,...,(M/2-1). Παρατηρούμε ότι 2θ είναι η γωνία που χρησιμοποιείται για τον ορισμό του μετασχηματισμού Fourier για μήκος διανυσμάτων ίσο με Μ/2. Άρα τα δύο αθροίσματα παραπάνω αποτελούν εξ ορισμού τους μετασχηματισμούς , Z Z0 1 και η (3.3-1α) αποδείχθηκε. Για j=Μ/2,...,(M-1) γράφουμε j = Μ/2+ r, οπότε r = 0,...,(M/2-1) και παρατηρούμε ότι eijθ = -eirθ, eikj(2θ) = eikr(2θ)

, οπότε προκύπτει η (3.3-1β).

Μια άλλη διατύπωση των προηγούμενων προκύπτει όταν παρατηρήσουμε ότι ένα διάνυσμα Α=[Α(0),...,Α(Ν-1)]Τ

αντιστοιχεί σε ένα πολυώνυμο βαθμού Ν-1, με την υπόθεση ότι οι n συνιστώσες του είναι οι συντελεστές του πολυωνύμου, δηλαδή

Α(z) := Α(0) + Α(1)z + ... + Α(n-1)zN-1

. (3.3-2)

Παρατηρούμε τώρα ότι οι συνιστώσες του μετασχηματισμού Fourier του Α είναι απλά οι τιμές του πολυωνύμου Α στις Ν-στές ρίζες της μονάδας, δηλαδή

( ) ( )A j A j= ω , j = 0,...,(N-1). (3.3-3)

Μπορούμε να διατυπώσουμε και να αποδείξουμε την ίδια με πριν βασική ιδιότητα

χρησιμοποιώντας πολυώνυμα. Ο διαχωρισμός ζυγών και μονών δυνάμεων σ' ένα πολυώνυμο δίνει

p(z) = α0+α1z+...+αΜ-1zΜ-1 = (α0+α2z2+...+αΜ-2zM-2) + z(α1+α3z2+...+αΜ-1zΜ-

2

).

Εφαρμόζοντας για το πολυώνυμο Ζ βρίσκουμε για j = 0,...,(M-1)

Page 6: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

118 ΑΛΓΟΡΙΘΜΟΙ: εισαγωγικά θέματα και παραδείγματα

Z (1) = Z(ωj) = Ζ0(ωj

2) + ωj Z1(ωj2

),

όπου ωj

Αν j = 0 , . . . , (Μ/2-1) ισχύει και είναι οι Μ-στές ρίζες της μονάδας.

Z κ (j) = Zκ (ωj), κ = 0, 1. Άρα ισχύει η (3.3-1α). Για j = Μ/2,...,(M-1) γράφουμε j = Μ/2+ r, όπου r = 0,...,(M-1) ωj = -ωr

και η παραπάνω σχέση δίνει

Z (Μ/2+ r) = Z0(ωr2) - ωr Z1(ωr

2

).

Επιπλέον όμως ισχύει ωr2 = (eirθ)2 = eir(2θ), άρα ωr

2 = σr, όπου σr είναι "Μ/2-στή ρίζα" της μονάδας. Τότε Ζκ(ωr

2) = Zκ(σr Z) = κ

(r), οπότε ισχύει η (3.3-1β).

Βάσει και της τελευταίας παρατήρησης οι βασικές σχέσεις (3.3-1) διατυπώνονται και στη μορφή

Z (j) = Z(ωj) = Z0(σj) + ωj Ζ1(σj Z) = 0(j) + ω j Z 1Z

(j), (3.4-2α) (Μ/2+ j) = Z(-ωj) = Z0(σj) - ωj Z1(σj Z) = 0(j) - ωj Z (j), (3.4-2β)

όπου j= 0,...,(Μ/2-1), ωj είναι η Μ-στη ρίζα της μονάδας, δηλαδή ωj = eijθ με θ=2π/Μ, ενώ σj είναι Μ/2-στη ρίζα της μονάδας, δηλαδή σj=eijθ

σ ωj j= 2 με

θ=2π/(Μ/2). Άρα πάντα και οι σj είναι οι μισές σε πλήθος από τις wj

.

3.4 Οργάνωση υπολογισμών

Για τον υπολογισμό του μετασχηματισμού μέσω των σχέσεων (3.3-4) είναι

χρήσιμες και οι παρακάτω απλές παρατηρήσεις:

• Το ζεύγος συνιστωσών { Z (j), Z ( M2

+ j)} αντιστοιχεί στις ρίζες +ωj, -ωj.

Χρειάζεται τότε να θεωρήσουμε μόνο τις μισές ρίζες τις +ωjM2

, j=0,..., -1 και να

επιτύχουμε τις τιμές για τις δυο συνιστώσες του ζεύγους με έναν πολλα-πλασιασμό ωj Z 1

(j) και δυο προσθέσεις (ακριβέστερα μια πρόσθεση και μια αφαίρεση) από τις σχέσεις (3.3-4).

• Οι ρίζες σj έχουν διπλή ερμηνεία: Είναι οι πρωταρχικές ρίζες της μονάδας για Μ/2 είναι όμως και τα τετράγωνα των Μ-στων ριζών, σj=ωj

2

M2

j = 0,..., ( -1).

Για τον υπολογισμό του A εφαρμόζουμε τις σχέσεις (3.3-4) αναδρομικά πρώτα με

Μ=Ν, Ζ=Α, μετά δυο φορές με Μ=Ν/2, την μια για Ζ = Α0, οπότε

Page 7: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT)

119

Ζ0=Α00, Ζ1=Α01 και την άλλη για Ζ=Α1, οπότε Ζ0=Α10, Ζ1=Α11. Εννοείται ότι Αij:=(Ai)j. Την επόμενη φορά οι σχέσεις αυτές εφαρμόζονται τέσσερις φορές για Μ=Ν/4, με Ζ=Α00, Α01, Α10, Α11 και με τα αντίστοιχα κατά περίπτωση Ζ0, Ζ1, π.χ. Ζ0=Α100 και Ζ1=Α101, αν Ζ = Α10

N2

. Στην τελική εφαρμογή θα είναι Μ=2 και θα

υπάρχουν διαφορετικά Ζ μήκους 2, όπου το καθένα θα απαιτεί τους μετασχημα-

τισμούς των αντίστοιχων Ζ0, Ζ1 που όμως έχουν μήκος 1. Δηλαδή πρόκειται για σταθερά πολυώνυμα των οποίων οι τιμές ισούνται με την σταθερά του ορισμού τους. Η Εικόνα 3.4-1 δείχνει το δέντρο υπολογισμού για Μ=8, όπου οι συνιστώσες των διανυσμάτων (συντελεστές πολυωνύμων) εκφράζονται με τους δείκτες τους. Για παράδειγμα, ο κόμβος Α1 = [1, 3, 5, 7]Τ δηλώνει το πολυώνυμο Α1(z) = Α(1) +Α(3)z + Α(5)z2 +Α(7)z3. Τόσο το Α1 όσο και το Α0 πρέπει να υπολογισθούν για τις τιμές του z=ω0(=1), ω2, ω4, ω6 που αναγράφονται στο επίπεδο αυτών των κόμβων και που είναι ίδιες με τις z = ω0, ω2, -ω0, -ω2

, όπου ω = (2π)/8.

Για το παράδειγμα της Εικόνας 3.4-1 θεωρούμε τις τέταρτες ρίζες της μονάδας, δηλαδή θ = (2π)/4 και ωj =eijθ, j = 0, 1, 2, 3, όπως και τις τετραγωνικές ρίζες της μονάδας δηλαδή θ = (2π)/2 και σj = eijθ, j = 0, 1. Ισχύει ω0 = ω0 = 1, ω1 = ω2, ω2 = -ω0, ω3 = -ω2 = -ω1, και ο υπολογισμός του Α0

στις τέσσερις αυτές τιμές γίνεται ανά ζεύγη

Α0(ω0) = Α00(σ0) + ω0 Α01(σ0) Α0(ω1) = Α00(σ1) + ω1 Α01(σ1

Α

)

0(-ω0) = Α00(σ0) - ω0 Α01(σ0) Α0(-ω1) = Α00(σ1) - ω1 Α01(σ1

),

[ ]A T= 012 3 4 5 6 7, , , , , , ,

z = − − − −ω ω ω ω ω ω ω ω0 1 2 3 0 1 2 3, , , , , , ,

[ ] [ ]A T0

0 2 0 210 2 4 6 13 5 7= = − − =, , , , , , , , ,T z Aω ω ω ω

[ ] [ ] [ ] [ ]A T00 01

0 010 110 4 2 6= = −, , A = , z A = 1,5 A = 3,7T T Tω ω

∗z=ω0, ω1, ω2, 3

∗z=ω0, ω2 ∗z=ω0, ω2

∗z=ω0=1 ∗z=ω0=1 ∗z=ω0=1 ∗z=ω0=1

Page 8: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

120 ΑΛΓΟΡΙΘΜΟΙ: εισαγωγικά θέματα και παραδείγματα

A A A A A A A A A000 001 010 011 100 101 110 1110 4 2 6 1 5 3 7= =( ) ( ) A = ( ) A = ( ) A = ( ) A A = ( ) A = ( ) A = ( )

Εικόνα 3.4-1 Οργάνωση υπολογισμών FFT

όπου κάθε ζεύγος απαιτεί ένα πολλαπλασιασμό και δυο προσθέσεις (+, -), καθώς και τον υπολογισμό των Α00, Α01 για την αντίστοιχη τιμή σ, όπου σκ = (ωκ)2. Ο υπολογισμός των Α00, Α01 για σ = σ0 = ω0, σ = σ1 = -σ0 = -ω0 θα γίνει πάλι κατά ζεύγη. Υπάρχει ένα ζεύγος στην περίπτωση αυτή, οπότε βρίσκουμε τις τιμές π.χ. Α01(ω0) Α01(-ω0) από τις ίδιες σχέσεις με τον ίδιο τρόπο. Θεωρούμε τώρα τις τετραγωνικές ρίζες της μονάδας, ω0 = 1, ω1 = -1 = -ω0, (τις μέχρι τώρα τιμές σ0, σ1) που αναγράφονται ως z = ω0, -ω0 στο επίπεδο του Α01. Όλα τα πολυώνυμα του ίδιου επιπέδου πρέπει να υπολογισθούν για τις ίδιες τιμές. Εννοείται ότι Α01(2)=Α(2)+Α(6)z. Τώρα σ0 = (ω0)2 = 1 είναι η 1-στη ρίζα την μονάδας (δηλαδή της εξίσωσης z1

= 1). Ο υπολογισμός γίνεται από το ζεύγος σχέσεων

Α01(ω0) = Α010(σ0) + ω0Α011(σ0Α

), 01(-ω0) = Α010(σ0) - ω0Α011(σ0

).

Επειδή Α010(z) = Α(2), Α011

(z) = Α(6) είναι σταθερά πολυώνυμα, οι τιμές τους είναι γνωστές και δεν χρειάζονται πλέον υπολογισμούς. Τέλος, η αναγραφή "*z = ..." σε ένα τόξο δηλώνει τις τιμές με τις οποίες πρέπει να πολλαπλασιασθούν οι αντίστοιχες τιμές του "παιδιού" δεξιά κατά την εφαρμογή των αναδρομικών σχέσεων.

Προφανώς οι υπολογισμοί μπορούν να αρχίσουν από το κατώτατο επίπεδο και να εκτελεσθούν στα βήματα β = 1,...,logN. Για κάθε β θα γνωρίζουμε τους μετασχη-ματισμούς 2β-1 ζευγών Z0, Z1 μήκους Ν/(2β) και από τις σχέσεις (3.3-4) θα υπολογίσουμε τους μετασχηματισμούς των αντιστοίχων 2β-1 διανυσμάτων Z μήκους Μβ = Ν/(2β-1

). Αρκεί βέβαια να βρεθούν και τα σωστά αρχικά διανύσματα μήκους 1. Αυτά όμως προκύπτουν από τον αλλεπάλληλο διαχωρισμό των δεικτών σε ζυγούς-μονούς. Αν π.χ. Ν=16 έχουμε τους διαχωρισμούς:

αρχικά: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15,

ε = 1 0 2 4 6 8 10 12 14 1 3 5 7 9 11 13 15,

ε = 2 0 4 8 12 2 6 10 14 1 5 9 13 3 7 11 15,

ε = 3 0 8 4 12 2 10 6 14 1 9 5 13 3 11 7 15,

ε = 4 0 8 4 12 2 10 6 14 1 9 5 13 3 11 7 15.

Παρατηρούμε ότι πρόκειται για μια αναδιάταξη των αρχικών δεικτών που

δημιουργείται από αναστροφή των bits (bit reversal) δηλαδή την αναγραφή τους με αντίστροφη σειρά, π.χ. τέταρτος δείκτης, στην θέση του 3=0011, τοποθετείται ο δείκτης 12=1100. Η αναδιάταξη γίνεται στο διάνυσμα Α χωρίς να χρησιμοποιηθεί περισσότερος χώρος. Έτσι, αν αρχικά είχε δοθεί Α = [α0,...,α15]Τ τώρα χρησιμο-ποιούμε το αναδιαταγμένο διάνυσμα Α = [α0, α8, α4, α12,...,α11,α7,α15]Τ οι

Page 9: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT)

121

συνιστώσες του οποίου είναι και οι μετασχηματισμοί Fourier του εαυτού τους, εφόσον αποτελούν διανύσματα μήκους 1. Επίσης, σε κάθε επίπεδο οι σχέσεις (3.3-4) εφαρμόζονται χωρίς χρήση άλλου χώρου πέραν του Α, το οποίο τελικά θα περιέχει τον μετασχηματισμό Fourier A.

Page 10: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

122 ΑΛΓΟΡΙΘΜΟΙ: εισαγωγικά θέματα και παραδείγματα

ΠΑΡΑΔΕΙΓΜΑ Π3.4-1. Ταχύς υπολογισμός Fourier για Ν = 8 και για το Α = [Α(0),...,Α(7)]Τ = [α0,...,α7] Τ

, χωρίς χρήση επιπλέον χώρου.

Ισχύει θ=2π/8 = π/4 και ω = eiθ 22

22

+ i = cos(π/4) + isin(π/4) = . Η Εικόνα 3.4-

2 δείχνει τους υπολογισμούς. Υπάρχουν 1 + logN = 4 στιγμιότυπα του διανύσματος Α, από το αρχικό Α μέχρι τον μετασχηματισμό A. Το αρχικό βήμα είναι η αναδιάταξη (αναστροφή των bits) των δεικτών. Στην συνέχεια υπάρχουν 3 = logN βήματα υπολογισμού, που αντιστοιχούν σ' αυτούς του δέντρου της Εικόνας 3.4-2, αρχίζοντας από το κατώτατο επίπεδο. Δίπλα στις συνιστώσες που πρέπει, σημειώνεται και ο κατάλληλος πολλαπλασιαστής. Το αποτέλεσμα του πολλαπλασιασμού προστίθεται και αφαιρείται, από την αντίστοιχη συνιστώσα που ο δείκτης της διαφέρει κατά Μ, όπου Μ = 2β-1

και β είναι ο αριθμός του βήματος. Με την ορολογία που χρησιμοποιήθηκε για την διατύπωση-απόδειξη των βασικών σχέσεων, Μ είναι και το τρέχον μέγεθος του εκάστοτε διανύσματος Ζ.

Παραδείγματα πράξεων είναι για μεν το βήμα 1

Α(0) ← Α(0) + Α(1)*ω0 = α0 + α4*1 = α0 + α4

Α(1) ← Α(0) - Α(1)*ω,

0 = α0 - α4*1 = α0 - α4

,

βήμα β=2 (Μ=2)

α0 α0 α0+α4 (α0+α4)+ (α2+α6)

α1

α2 ω0

ω2

ω0

ω2

ω0

ω1

ω2

ω3

α3

α4

α5

α6

α7

α4

α2

α6

α1

α5

α3

α7

α0-α4

α2+α6

α2-α6

α1+α5

α1-α5

α3+α7

α3-α7

(α0-α4)+ (α2-α6)ω2

(α0+α4)- (α2+α6) (α0-α4) - (α2-α6)ω2

(α1-α5)+ (α3-α7)ω2

(α1+α5)+ (α3+α7)

(α1+α5)- (α3+α7) (α1-α5) - (α3-α7)ω2

(ω0=1)

ω0

ω0

ω0

( )A 0

( )A 1

( )A 2

( )A 3

( )A 4

( )A 5

( )A 6

( )A 7

αναδιάταξη βήμα β=1 (Μ=1)

βήμα β=3 (Μ=4)

Εικόνα 3.4-2 Υπολογισμός FFT για N=8

Page 11: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT)

123

για το βήμα 2 Α(2) ← Α(0) - Α(2)ω0

Α(5) ← Α(5) + Α(7)ω,

2

,

οπότε π.χ. Α(5) = (α1 - α5) + (α3 - α7)ω2

Α(6) ←

, ενώ για το (τελικό) βήμα 3 έχουμε για παράδειγμα

A(6) = A(2) - A(6)ω2

οπότε ,

A (6) = ( ) ( )[ ] ( ) ( )[ ]α α α α α α α α ω0 4 2 6 1 5 3 72+ − + − + − + .

Για να είναι σωστή αυτή η τιμή πρέπει να ισούται με την τιμή που προκύπτει από

τον ορισμό του μετασχηματισμού Fourier, που ορίζει ότι

( ) ( )A a e akijk

k jk

k

k6

0

7

6

6

0

7= =

= = =∑ ∑ϑ ω

Αυτό μπορεί να επαληθευθεί αμέσως με χρήση της κανονικής κατανομής των

ριζών της μονάδας (δυνάμεων του ω) στην περιφέρεια του μοναδιαίου κύκλου, δηλαδή χρήση των σχέσεων

(ω6)0 = (ω6)4 = 1, (ω6)1 = (ω6)5 = -ω2

,

(ω6)3 = (ω6)7 = ω2, (ω6)2 = (ω6)6

Π3.4-1 = -1.

ΠΑΡΑΔΕΙΓΜΑ Π3.4-2. Εφαρμόζουμε τα προηγούμενα για την απλή περίπτωση Α(k) = 1, k = 0,...,7 (βλ. Εικόνα 3.4-3). Ιδιαίτερα για την περίπτωση αυτή παρατη-

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

2

0

2

0

2

0

2

0

4

0

0

0

4

0

0

0

8

0

0

0

0

0

0

0

1

ω2

1

ω

ω21

ω3ω2

Εικόνα 3.4-3

Page 12: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

124 ΑΛΓΟΡΙΘΜΟΙ: εισαγωγικά θέματα και παραδείγματα

ρούμε ότι οι τιμές ( )Α j είναι πραγματικές και μάλιστα όλες μηδέν εκτός από την

( )Α 1 . Αυτό επιδέχεται μια απλή και χρήσιμη απόδειξη: θεωρώντας το πολυώνυμο που αντιστοιχεί στο διάνυσμα Α

( )A x x k

k

N=

=

∑0

1,

γνωρίζουμε ότι ( )Α j = Α(ωj), όπου ωj = eijθ

( )A 0

. Εάν μεν j = 0, βρίσκουμε αμέσως

=A(x=1)=N. Εάν όμως j ≠ 0, τότε x = ωj ≠ 1 και η γεωμετρική πρόοδος δίνει Α(x)=(xN-1)/(x-1). Όμως, xN=(ωj)N=eijNθ=eij2π

=1, οπότε Α(x) = 0.

Π3.4-2

3.5 Πολυπλοκότητα του FFT Παραβλέποντας την αρχική αναδιάταξη των δεικτών παρατηρούμε ότι υπάρχουν

logN βήματα υπολογισμού, ότι σε κάθε βήμα β = 1,...,logN υπάρχουν Ν/2 ζεύγη συνιστωσών που το καθένα απαιτεί έναν πολλαπλασιασμό και δυο προσθέσεις, για ένα σύνολο (1/2)ΝlogN μιγαδικών πολλαπλασιασμών και NlogΝ μιγαδικών προσθέσεων.

Σε σύγκριση με τις αντίστοιχες τιμές των N2 πολλαπλασιασμών και N2-N

προσθέσεων του «απλοϊκού» τρόπου η βελτίωση είναι μεγάλη. Για παράδειγμα, όταν N=210, ο απλοϊκός απαιτεί 210⋅210=220 πολλαπλασιασμούς ενώ ο FFT 29

⋅10, δηλαδή περίπου 205 φορές λιγότερους πολλαπλασιασμούς.

Ως προς τον χώρο, παρατηρούμε ότι ανεξάρτητα από το αν το διάνυσμα-είσοδος είναι πραγματικό ή μιγαδικό, ο μετασχηματισμός του θα είναι εν γένει μιγαδικό διάνυσμα και κάθε φορά μια από τις N συνιστώσες του πρέπει να καταλαμβάνει διπλό χώρο, για το πραγματικό και το φανταστικό της μέρος αντίστοιχα. Ο συνολικός απαιτούμενος χώρος είναι ο απαιτούμενος για Ν μιγαδικούς αριθμούς ή 2Ν πραγματικούς. Μπορεί όμως να γίνει η απαραίτητη εξοικονόμηση χώρου όταν το διάνυσμα εισόδου είναι πραγματικό ή καθαρά φανταστικό, βλ. §3.7.

3.6 Ο Αντίστροφος Μετασχηματισμός Fourier Ο αντίστροφος μετασχηματισμός που αναπαράγει το αρχικό διάνυσμα Α από το

A, δίνεται από τον ίδιο με τον μετασχηματισμό Fourier τύπο με την γωνία -θ στην θέση της θ και με διαίρεση του αποτελέσματος δια Ν:

,)(ˆ1)(1

0∑−

=

−=N

j

ekijejAN

kA θ k=0,...,(N-1) (3.6-1)

Page 13: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT)

125

Για την απόδειξη της (3.6-1) παρατηρούμε από (3.1-1) ότι

( )A j e ekij

j

N−

=

∑ θ

0

1

( ) ( ) ( )∑∑ ∑−

=

=

−−

=

−=

=1

0

1

0

1

0

N

r

N

j

ikjN

r

rij krXrAeerA θθ ,

όπου

Χ(r-k) := ( )∑−

=

−1

0

N

j

jkrie θ .

Όπως και με το Π3.4-2, το επιχείρημα της γεωμετρικής προόδου δίνει

Χ(r-k)=X(0)=N, εάν r-k=0 και Χ(r-k)=0 αν r-k≠0. Τότε

( ) ( ) ( )A r X r k A k Nj

N

− ==

∑0

1

,

απ' όπου προκύπτει η (3.6-1).

Για λόγους ομοιομορφίας συνηθίζεται και ο ορισμός του μετασχηματισμού

Fourier με τον παράγοντα 1/ Ν προ του αθροίσματος στον ορισμό (3.1-1), οπότε στην (3.6-1) ο όρος 1/Ν αντικαθίσταται επίσης από τον 1/ Ν και η μόνη διαφορά είναι η ύπαρξη της -θ αντί της θ.

Από την (3.6-1) συμπεραίνουμε ότι για υπολογισμό του αντίστροφου

μετασχηματισμού μπορούμε να χρησιμοποιήσουμε τον ίδιο αλγόριθμο FFT, με την -θ και να διαιρέσουμε το τελικό διάνυσμα με Ν. Εναλλακτικά παρατηρούμε ότι

ωΝ-j = ωi(N-j)θ = ωiNθ ω-ijθ = ωi(2π) ω-ijθ = ω-ijθ

,

δηλαδή ότι αντί της αντικατάστασης της θ με την -θ, μπορούμε να χρησιμοποιήσουμε την ρίζα ωΝ-j στην θέση της ωj, για j≠0. Για j=0, η χρήση της -θ εξακολουθεί να δίνει την ω0

A

=1. Άρα, μπορούμε να εφαρμόσουμε ακριβώς τον FFT και μετά, να αντικαταστήσουμε τις συνιστώσες 1,...,(Ν-1) με τις (Ν-1),...,1. Επομένως το Α

προκύπτει και από το με αυτή την απλή αναδιάταξη των δεικτών και με τη διαίρεση δια Ν που μπορεί να γίνει είτε στην αρχή είτε στο τέλος, αφού ο μετασχηματισμός Fourier είναι γραμμικός, δηλαδή

( ) αΑ βΒ α β+ = +Α Β ,

όπου α, β είναι βαθμωτά μεγέθη (πραγματικοί ή μιγαδικοί αριθμοί).

Page 14: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

126 ΑΛΓΟΡΙΘΜΟΙ: εισαγωγικά θέματα και παραδείγματα

3.7 FFT για πραγματικά διανύσματα

Αν το διάνυσμα εισόδου είναι πραγματικό, από τις 2N θέσεις (λέξεις) πραγματικών αριθμών χρειάζονται στην είσοδο μόνο οι N, αφού το φανταστικό μέρος όλων των Ν συνιστωσών είναι μηδέν. Ο μετασχηματισμός/έξοδος θα είναι πάντως μιγαδικός και φαίνεται επομένως να χρειάζεται και τις 2Ν θέσεις. Αυτό όμως δεν ισχύει: αν το Α είναι πραγματικός τότε ( )A 0 και ( / )A N 2 είναι πραγματικοί και

( ) ( )A N j A j− = j=1,…,(N-1) (3.7-1) όπου “ z ” δηλώνει το μιγαδικό συζυγή του z. Αυτό προκύπτει αμέσως από το πολυώνυμο που εκπροσωπεί το Α, για το οποίο ισχύει ( ) ( )zpzp = , αφού οι συντελεστές του Α(0),…,Α(Ν-1) είναι πραγματικοί. Τότε, λόγω της συμμετρίας των ριζών της μονάδας,

( )A N j− ( ) ( ) ( ) ( ) ( )njjjN NjjAppp ,1 , ===== − ωωω ενώ ( )A 0 ( ) ( )10 pp == ω και ( / )A N 2 ( ) ( )12/ −== pp Nω είναι προφανώς πραγματικοί. Υπάρχουν επομένως Ν-2 μιγαδικές συνιστώσες που είναι ανά δύο συζυγείς, άρα απαιτούνται και (Ν-2)/2 θέσεις μιγαδικών ή (Ν-2) θέσεις πραγματικών γι’ αυτές. Μαζί με τις δυο πραγματικές τιμές το σύνολο των πραγματικών θέσεων που απαιτούνται για το εξαγόμενο A είναι επίσης Ν, όσες για την είσοδο Α.

Επιπλέον, ο Αλγόριθμος FFT, ως σχεδιασμένος για γενικά (μιγαδικά) διανύσματα, οπωσδήποτε δεν θα είναι αρκετά οικονομικός για την ιδιαίτερη περίπτωση του πραγματικού Α. Ένας π.χ. δυο φορές πιο ταχύς αλγόριθμος έχει μεγάλη σημασία γιατί σε περισσότερες διαστάσεις, όπου γίνεται πιο απαραίτητη η χρήση του FFT, θα είναι π.χ. οκτώ φορές ταχύτερος. Εξετάζουμε λοιπόν πως μπορεί να αξιοποιηθεί η περίπτωση των πραγματικών διανυσμάτων. Αντίστοιχα ισχύουν και για την περίπτωση διανυσμάτων που είναι καθαρά φανταστικά. Υπάρχουν δυο τρόποι αξιοποίησης. α) Μετασχηματισμός δυο πραγματικών διανυσμάτων μαζί (με την τιμή του ενός). Είναι συχνές οι περιπτώσεις, όπως με την συνέλιξη (βλ. §3.8), όπου χρειάζεται να μετασχηματιστούν δυο πραγματικά διανύσματα. Στις περιπτώσεις αυτές μπορούν να αξιοποιηθούν οι προηγούμενες παρατηρήσεις και οι σχέσεις (3.7-1) ώστε να επιτύχουμε και τους δυο μετασχηματισμούς πληρώνοντας το κόστος μόνο για τον ένα.

Ας είναι V, U δυο πραγματικά διανύσματα μήκους Ν. Τα θεωρούμε σαν το πραγματικό και το φανταστικό μέρος αντίστοιχα ενός μιγαδικού διανύσματος.

Q:=V+iU, (3.7-2)

Page 15: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT)

127

του οποίου και υπολογίζουμε τον μετασχηματισμό Q . Χρησιμοποιούμε τις σχέσεις (3.7-1) για να απομπλέξουμε τους ατομικούς μετασχηματισμούς , V U από το αποτέλεσμα: αφού ο μετασχηματισμός είναι γραμμικός ισχύει

( ) ( ) ( ) ,( )Q j V j iU j j= , N= + − 0 1 (3.7-3) όπου , V U είναι μιγαδικά διανύσματα, που όμως ικανοποιούν τις (3.7-1). Ισχύει επομένως, για j=1,…,(N-1),

( ) ( ) ( ) ( ) ( )Q N j V N j iU N j V j iW j− = − − − = − . (3.7-4) Συνδυάζοντας τις (3.7-3), (3.7-4) βρίσκουμε

[ ] [ ] ( ) ( ) ( ) , ( ) ( ) ( ) ,V j Q j Q N j U ji

Q j Q N j= + − = − − −12 2

(3.7-5)

j=1,…,(N-1). Για j=0, αφού ( ), ( )V U0 0 είναι πραγματικοί αριθμοί, η (3.7-4) δίνει αμέσως τις τιμές ( )V 0 και ( )U 0 ως το πραγματικό και το φανταστικό μέρος του Q (0) αντίστοιχα.

Άρα η (3.7-5) ισχύει και για j=0 αν οριστεί η επέκταση Q (N)= Q (0). Αρκεί επομένως να χρησιμοποιήσουμε τον αλγόριθμο FFT για το Q και στη συνέχεια να αποσπάσουμε τους ατομικούς μετασχηματισμούς σύμφωνα με τα προηγούμενα.

Πρέπει να εξετασθεί και η αντιστροφή της διαδικασίας αυτής: ας υποθέσουμε ότι έχουμε τα δύο μετασχηματισμένα διανύσματα, για τα οποία ικανοποιούνται οι σχέσεις (3.7-1) οπότε γνωρίζουμε ότι αυτά προήλθαν από πραγματικά διανύσματα. Μπορούμε να τα αντιστρέψουμε και τα δυο με την τιμή ενός FFT. Χρησιμοποιούμε τα δυο μετασχηματισμένα διανύσματα σαν το πραγματικό και φανταστικό μέρος ενός διανύσματος, το οποίο και αντιστρέφουμε κατά τα γνωστά. Δεν απαιτείται κάποια διόρθωση, απλά το πραγματικό και το φανταστικό μέρος του αποτελέσματος είναι τα ζητούμενα διανύσματα. β) FFT για ένα πραγματικό διάνυσμα. Εάν υποδιαιρέσουμε το διάνυσμα-είσοδο σε δυο διανύσματα μισού μήκους μπορούμε να χρησιμοποιήσουμε τον αλγόριθμο που μετασχηματίζει δυο διανύσματα μαζί. Το πρόβλημα θα είναι η αναγνώριση του μετασχηματισμού του αρχικού διανύσματος Α. Ο διαχωρισμός στην μέση του Α, ώστε τα δυο διανύσματα να περιέχουν αντίστοιχα τις Ν/2 πρώτες και τις Ν/2 υπόλοιπες συνιστώσες, δεν προσφέρεται στο σημείο αυτό. Ο φυσιολογικός τρόπος διαχωρισμού είναι αυτός των μονών-ζυγών. Έτσι θέτουμε τώρα

Q(j)=A(2j)+iA(2i+1), j=0,…,(N/2-1) (3.7-6)

και έχουμε να μετασχηματίσουμε το διάνυσμα Q, μισού μήκους απ’ ότι απαιτούσε η απ’ ευθείας εφαρμογή του αλγορίθμου FFT και βέβαια με μισή πολυπλοκότητα

Page 16: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

128 ΑΛΓΟΡΙΘΜΟΙ: εισαγωγικά θέματα και παραδείγματα

χρόνου. Η αναγνώριση του μετασχηματισμού του Α γίνεται μέσω των βασικών σχέσεων (3.4-2), επί των οποίων βασίστηκε η ανάπτυξη του FFT: Με το συμβολισμό της §3.4 η (3.7-6) γράφεται και

Q(j)=Z0(j)+iZ1

(j), j=0,…,(N/2-1). (3.7-7)

Σύμφωνα με το μέρος (α), βρίσκουμε τους ατομικούς μετασχηματισμούς Z0 και Z1 των δυο πραγματικών διανυσμάτων μαζί, οπότε από την (3.4-2) με Μ=Ν/2 βρίσκουμε ότι

( ) ( ) ( )( / ) ( ) ( )

A j Z j Z j

A N j Z j Z jj

j

= +

+ = −

0 1

0 12

ω

ω j=0,…,(N/2-1) (3.7-8)

Η εφαρμογή της (3.7-5) για την περίπτωση μας δίνει λεπτομερέστερα από την

(3.7-9) ότι

[ ] [ ] ( ) ( ) ( ) , ( ) ( ) ( ) , ,( / )Z j Q j Q N j Z j Q j Q N j j N0 112

12

0 2 1= + − = − − − = −

(3.7-9) με δεκτή την επέκταση ( / ) ( )Q N Q2 0= .

Για την κατασκευή του αλγορίθμου ώστε να είναι και “in place” καλό είναι να ληφθο ύν υπό ψη και τα εξής: Αφο ύ ισχύει η γνωστή σχέση (3 . 7-1) μπορούν να υπολογιστούν και να διασωθούν οι μισές (Ν/2 στον αριθμό) μιγαδικές συνιστώσες του μετασχηματισμού, για j=0,…,(N/2-1), από την πρώτη των (3.7-8). Η συνιστώσα για j=Ν/2 μπορεί να διασωθεί στον χώρο για το φανταστικό μέρος της συνιστώσας για j=0, αφού και οι δύο είναι πραγματικές.

Η αντίστροφη διαδικασία, για τον υπολογισμό του αρχικού και πραγματικού Α

από τον μετασχηματισμό του είναι εύκολη: πρώτα ξεχωρίζουμε το πραγματικό και φανταστικό μέρος της θέσης για j=0, οπότε γνωρίζουμε τις συνιστώσες του μετασχηματισμού για j=0 και j=N/2 αντίστοιχα. Στη συνέχεια αντιστρέφουμε της (3.7-8) οπότε βρίσκουμε τον μετασχηματισμό των Ζ0, Ζ1

, παίρνοντας υπόψη και την (3.7-1) για Ν/2:

[ ][ ]

( ) ( ) ( / )

( ) ( ) ( / )

Z j A j A N j

Z j A j A N jj

0

1

12

2

12

2

= + −

= − −

,

ω j=0,…,(N / 2-1) (3.7-10)

Τέλος, βρίσκουμε τον αντίστροφο μετασχηματισμό Fourier με δοθέν

μετασχηματισμένο διάνυσμα το Z +iZ0 1 .

Page 17: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT)

129

3.8 Συνέλιξη Δίνονται δύο διανύσματα U,V μήκους Ν, με αρίθμηση συνιστωσών από 0 μέχρι Ν-

1. Η συνέλιξή τους είναι ένα νέο διάνυσμα μήκους N, W:=U * V, με συνιστώσες

W k U j V k jj

N( ) ( ) ( ) ,= −

=

∑0

1 0 1≤ ≤ −k Ν , δείκτες mod N. (3.8-1)

Έτσι π.χ. όταν Ν=5:

W U V U V U V U V U VW U V U V U V U V U VW U V U V U V U V U VW U V U V U V U

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) ( ) ( ) (

0 0 0 1 4 2 3 3 2 4 11 0 1 1 0 2 4 3 3 4 22 0 2 1 1 2 0 3 4 4 33 0 3 1 2 2 1

= + + + += + + + += + + + += + + + 3 0 4 4

4 0 4 1 3 2 2 3 1 4 0) ( ) ( ) )

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ).V U V

W U V U V U V U V U V+

= + + + +

Η συνέλιξη είναι πράξη αντιμεταθετική, δηλαδή ισχύει

U V V U* *= .

Ας θεωρήσουμε πρώτα την πολύ απλή περίπτωση όπου Ν=2 και

U=[U(0) U(1)]T, V=[V(0) V(1)]T

.

Παρατηρούμε ότι η συνέλιξη W=U*V είναι

W=[U(0)V(0)+U(1)V(1) U(0)V(1)+U(1)V(0)]T

.

Οι μιγαδικές ρίζες τις μονάδες για Ν=2 είναι οι 1 και –1. Υπολογίζοντας τα αντίστοιχα πολυώνυμα στη ρίζες αυτές βρίσκουμε αμέσως τους μετασχηματισμούς Fourier.

U =[U(0)+U(1) U(0)-U(1)]T V, =[V(0)+V(1) V(0)-V(1)]T

,

και W = [U(0)V(0)+U(1)V(1)+U(0)V(1)+U(1)V(1) U(0)V(0)+U(1)V(1)-U(0)V(1)-U(1)V(0)]

= [ ( U(0)+U(1) ) (V(0)+V(1) ) ( U(0)-U(1) ) ( V(0)-V(1) ) ]T

T

Παρατηρούμε ότι η πρώτη (δεύτερη) συνιστώσα του W είναι το γινόμενο των πρώτων (δεύτερων) συνιστωσών των U , V . Αυτό ισχύει γενικότερα: Θεώρημα συνέλιξης. Κάθε συνιστώσα του μετασχηματισμού Fourier της συνέλιξης δυο διανυσμάτων ισούται με το γινόμενο των αντίστοιχων συνιστωσών των μετασχηματισμών Fourier των διανυσμάτων αυτών. Ισχύει δηλαδή

Page 18: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

130 ΑΛΓΟΡΙΘΜΟΙ: εισαγωγικά θέματα και παραδείγματα

=VU * U επι V ,

όπου “^” σημαίνει μετασχηματισμό Fourier, “*” συνέλιξη και “επι” πολλαπλασιασμό κατά συνιστώσες.

Ο υπολογισμός της συνέλιξης W:=U*V από τον τύπο ορισμού της απαιτεί π.χ. Ν πολλαπλασιασμούς ανά συνιστώσα, άρα συνολικά Ν2

πολλαπλασιασμούς. Όμως το θεώρημα συνέλιξης παρέχει τον εξής αλγόριθμο υπολογισμού της:

Βήμα 1 Υπολογίζουμε τους μετασχηματισμούς Fourier U και V . Βήμα 2 Πολλαπλασιάζουμε τους δυο μετασχηματισμούς ανά συνιστώσα (με

κόστος Ν πολλαπλασιασμών) οπότε επιτυγχάνουμε τον μετασχηματισμό Fourier W της συνέλιξης της W.

Βήμα 3 Βρίσκουμε τον αντίστροφο μετασχηματισμό του W επιτυγχάνοντας έτσι την ίδια τη συνέλιξη W.

Μετρώντας μόνο μιγαδικούς πολλαπλασιασμούς, στο βήμα 1 απαιτούνται δυο

υπολογισμοί FFT, άρα 2(N/2) log N = N log N πράξεις . Το ίδιο συμβαίνει στο βήμα 3. Στο βήμα 2 απαιτούνται μόνο Ν πολλαπλασιασμοί για τον υπολογισμό των συνιστωσών, όπως και το στο βήμα 3, απαιτούνται επιπλέον Ν διαιρέσεις δια του Ν, αγνοώντας αναδιατάξεις. Άρα ο κυρίαρχος όρος για τον υπολογισμό της συνέλιξης είναι (2Ν)logN μιγαδικοί πολλαπλασιασμοί. Για τη συχνή περίπτωση των πραγματικών διανυσμάτων, όπου βάσει της §3.7 μπορεί με ένα υπολογισμό να επιτευχθούν δυο μετασχηματισμοί μαζί, ο κυρίαρχος όρος γίνεται Ν log N. 3.9 Συμβολικός πολλαπλασιασμός πολυωνύμων

Οι εφαρμογές της συνέλιξης είναι πράγματι πολλές. Εδώ, θα μας απασχολήσει μια από αυτές ο συμβολικός πολλαπλασιασμός πολυωνύμων.

Δίνονται δύο πολυώνυμα με συντελεστές τα διανύσματα

P P P L T= −[ ( ),..., ( )]0 1 και Q Q Q L T= −[ ( ),..., ( )]0 1 ,

άρα με L όρους και βαθμού L-1. Το γινόμενό τους είναι ένα πολυώνυμο βαθμού 2L-2 και φυσικά, μπορούμε να βρούμε τύπους που δίνουν τους συντελεστές

R R R L T= −[ ( ),..., ( )]0 2 2 του γινομένου. Εάν όμως επεκτείνουμε τα P, Q με L μηδενικά, ώστε να έχουν μήκος N=2L, δηλαδή ορίσουμε τα διανύσματα

U P P L T= −[ ( ),..., ( ), ,..., ]0 1 0 0 (L μηδενικά),

V Q Q L T= −[ ( ),..., ( ), ,..., ]0 1 0 0 (L μηδενικά),

W R R L R L T= − −[ ( ),..., ( ),..., ( ), ]0 1 2 2 0 (1 μηδενικό),

Page 19: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT)

131

τότε μπορεί εύκολα να παρατηρηθεί ότι W είναι η συνέλιξη των U και V. Αρκεί επομένως να ακολουθήσουμε τον αλγόριθμο υπολογισμού της συνέλιξης, της προηγούμενης παραγράφου. 3.10 Οι διακριτοί μετασχηματισμοί ημιτόνου και συνημιτόνου

Ο διακριτός μετασχηματισμός ημιτόνου του πραγματικού διανύσματος, μήκους Ν-1,

Α=[Α(1) …Α(N-1)]

T

είναι το διάνυσμα sA , ίδιου μήκους με το Α όπου

( ) ( ) ( )( )NjAjAN

s /sin :1

1

πκκκ∑−

=

= , j=1,…,(N-1). (3.10-1)

Προκειμένου να υπάρχει συμφωνία με τα προηγούμενα, όπου τα διανύσματα είναι μήκους Ν, μπορούμε να θεωρήσουμε ότι το παραπάνω διάνυσμα εισόδου προέρχεται από το [Α(0) Α(1) … Α(Ν-1)]Τ

, και να επεκτείνουμε το άθροισμα στην (3.10-1) για κ=0 και την ισχύ της για j=0. Αλλαγές στις τιμές ενδιαφέροντος (για j=1,…,N-1) δεν θα υπάρξουν αφού για κ=0 ο αντίστοιχος όρος μηδενίζεται και δεν συνεισφέρει στο άθροισμα. Εξετάζουμε τώρα πως μπορούν να εφαρμοστούν τα προηγούμενα για τον ταχύ υπολογισμό του μετασχηματισμού ημιτόνου.

Ένας τρόπος βασίζεται στην παρατήρηση ότι η τιμή π/Ν που χρησιμοποιείται στην (3.10-1) εκφράζει τη γωνία θ=(2π)/(2Ν) του μετασχηματισμού Fourier για διανύσματα (διπλού) μήκους 2Ν. Μπορούμε τότε να συσχετίσουμε τις δυο περιπτώσεις αρκεί να επεκτείνουμε το Α κατάλληλα. Για την αντισυμμετρική επέκταση

F(0):=0, F(j):=A(j), j=1,…,(N-1) F(N):=0, F(j):=-A(2N-j), j=(N+1),…,(2N-1), (3.10-2)

προκύπτει ότι ο μετασχηματισμός Fourier του F ικανοποιεί την

F (j) ( )jiAs2 = , j=1,…,(N-1) (3.10-3)

Άρα ο μετασχηματισμός ημιτόνου μπορεί να υπολογιστεί ως FFT διπλού μήκους. Όπως όμως και με αντίστοιχες περιπτώσεις που συζητήσαμε στα προηγούμενα, αυτό εισάγει διπλασιασμό του κόστους υπολογισμού και μπορεί να είναι απαγορευτικό για διάφορα προβλήματα. Η ιδέα πάντως οδηγεί σ’ ένα βελτιωμένο τρόπο υπολογισμού, αν “διπλώσουμε” κατάλληλα ένα διάνυσμα ώστε να χρησιμοποιήσουμε FFT του ίδιου μήκους. Προς την κατεύθυνση αυτή ορίζουμε

G(0):=0, G(j):=sin(jπ/Ν)[Α(j)+A(N-j)]+21 [A(j)-A(N-j)], j=1,…,(N-1). (3.10-4)

Page 20: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

132 ΑΛΓΟΡΙΘΜΟΙ: εισαγωγικά θέματα και παραδείγματα

Ο πρώτος όρος στον ορισμό του G(j) είναι συμμετρικός ενώ ο δεύτερος

αντισυμμετρικός ως προς Ν/2. Αυτό οδηγεί σε ένα χρήσιμο διαχωρισμό του πραγματικού R και του φανταστικού μέρους I του FFT για το G:

[ ] ])[(21)(ˆ)(ˆ

21 )( )/2()/2(

1

0

NjNijN

eeGjGjGjR πκπκ

κ

κ −−

=

+=+= ∑

( ) ( ) ( ) ( )

( ) ( )[ ] ( ) ( ) ( ) ( )[ ] ( )NjNAANjNNAA

NjGNjG

NN

NN

/2cos21/2cos/sin

/2cos/2cos

11

1

1

1

0

πκκκπκκπκκ

πκκπκκ

κκ

κκ

∑∑

∑∑

==

=

=

−++−+=

==

Προφανώς το δεύτερο άθροισμα μηδενίζεται. Επειδή δε

2sin(κπ/Ν)cos(jκ2π/Ν)=sin[(2j+1)κπ/Ν]-sin[(2j-1)κπ/Ν] βρίσκουμε από το πρώτο άθροισμα ότι

( ) ( ) ( ) ( )

( ) ( )[ ] ( ) ( )[ ]

( ) ( )12ˆ12ˆ

/12sin/12sin

/2cos/sin2

11

1

−−+=

−−+=

=

∑∑

==

=

jAjA

NjANjA

NNAjR

ss

N

j

N

j

N

j

κπκκπκ

πκκπκ

(3.10-5)

Με παρόμοιο τρόπο βρίσκουμε για το φανταστικό μέρος ότι

( ) ( )jAjI s 2ˆ= . (3.10-6)

Προκύπτει τότε ο ακόλουθος αναδρομικός τρόπος υπολογισμού του

μετασχηματισμού ημιτόνου: • Υπολογίζουμε τον μετασχηματισμό Fourier F , του πραγματικού F, σύμφωνα με

την §3.7. • Οι ζυγές συνιστώσες ( ) ( )2,,2 −NAA ss είναι τα αντίστοιχα φανταστικά μέρη

των ( ), , ( )G G N2 2 − . Οι μονές συνιστώσες υπολογίζονται από τον αναδρομικό τύπο

( ) ( ) ( )jRjAjA ss +−=+ 1212 ,

όπου R(j) είναι το πραγματικό μέρος του G(j).

Για την εκκίνηση των υπολογισμών απαιτείται και η τιμή

Page 21: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT)

133

( ) ( ) ( )

( ) ( ) ( ) ( ) ( ) ( )[ ]

( ) ( ) ( )[ ] ( ),/sin2/

/sin 2/sin2/ /sin

/sin 1

12

1

12

1

12

1

1

1

NNAANA

NNNANANA

NAA

N

NN

N

s

κπκκ

πκκπκπκ

κπκ

κ

κκ

κ

∑∑

=

=

=

=

−−−=

−−++=

=

η οποία υπολογίζεται χωρίς επιβάρυνση του κυρίαρχου όρου της πολυπλοκότητας. Για τον υπολογισμό των όρων του τελευταίου αθροίσματος είναι χρήσιμος και ο αναδρομικός υπολογισμός των ημιτόνων από τη σχέση sin(κπ/Ν)=sin((κ-1)cos(π/Ν) +cos((κ-1)π/Ν)sin(π/Ν).

Ο μετασχηματισμός ημιτόνου έχει την ευχάριστη ιδιότητα ότι, όπως και ο μετασχηματισμός Fourier, ταυτίζεται με τον αντίστροφό του και με διαίρεση του τελικού αποτελέσματος δια του μήκους του διανύσματος, που εδώ είναι Ν/2. Άρα βρίσκουμε τον μετασχηματισμό ημιτόνου του (μετασχηματισμένου) sA και πολλαπλασιάζουμε με 2/Ν.

Ο διακριτός μετασχηματισμός συνημιτόνου ορίζεται από τη σχέση

( ) ( ) ( )( ),/cos:1

0

NjAjAN

c πκκκ∑−

=

= , j=0,…,(N-1) (3.10-7)

που αντιστοιχεί στην (3.10-1) αλλά περιλαμβάνονται και οι όροι για j=0, κ=0. Οι ίδιες ιδέες με το ημίτονο εφαρμόζονται και εδώ, μόνο που υπάρχουν επιπλέον δυσκολίες. Το κατάλληλο βοηθητικό διάνυσμα ορίζεται από τις σχέσεις

G(0)=A(0), G(j)=21 [A(j)+A(N-j)]-sin(jπ/Ν)[Α(j)- A(N-j)], j=1,…,(N-1) (3.10-8)

και η αντίστοιχη με πριν ανάλυση δίνει

( ) ( )( ) ( ) ( ),12ˆ12

,2

jIjAjA

jRjA

cc

c

+−=+

= (3.10-9)

όπου R(j) και I(j) είναι όπως και πριν, το πραγματικό και το φανταστικό μέρος του ( )G j . Η τιμή εκκίνησης της αναδρομικότητας είναι

( ) ( ) ( )./cos11

0

NAAN

c κπκκ∑−

=

=

Page 22: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

134 ΑΛΓΟΡΙΘΜΟΙ: εισαγωγικά θέματα και παραδείγματα

Επιπλέον, ο αντίστροφος μετασχηματισμός συνημιτόνου δεν ικανοποιεί την ίδια ιδιότητα με αυτή του ημιτόνου και του μετασχηματισμού Fourier, να είναι δηλαδή στην ουσία ο ίδιος μετασχηματισμός. Απαιτείται ιδιαίτερος αλγόριθμος. 3.11 Εφαρμογή στην επίλυση συστημάτων

Υπενθυμίζεται ότι το v είναι ιδιοδιάνυσμα ή ιδιοάνυσμα και ο λ ιδιοτιμή (ή τα λ, v είναι ιδιοζεύγος) ενός πίνακα Α, αν

Αv=λv, v≠0. (3.11-1)

Έστω ότι ο Α είναι n×n. Υπάρχουν n ιδιοτιμές λκ

, κ=1,…,n, εν γένει μιγαδικές μετρώντας και τυχόν πολλαπλές εμφανίσεις τους.

Ας υποθέσουμε τώρα ότι τα αντίστοιχα ιδιοδιανύσματα v1,…,vn αποτελούν ορθογώνια βάση του χώρου ΙRn

(των πραγματικών διανυσμάτων μήκους n), δηλαδή μηδενίζονται τα εσωτερικά γινόμενα

vjTvm

=0, για j≠m. (3.11-2)

Από την ορθογωνιότητα έπεται και η γραμμική τους ανεξαρτησία. Επειδή και το αριθμητικό πολλαπλάσιο ενός ιδιοδιανύσματος είναι επίσης ιδιοδιάνυσμα μπορούμε να διαιρέσουμε το καθένα με το Ευκλείδιο μέτρο του ώστε η βάση να είναι και ορθοκανονική, δηλαδή

( ) 1vvvv jT

j

2

j

n

1

2j ===κ∑

, (3.11-3)

όπου vj(κ), κ=1,…,n, είναι οι συνιστώσες του vj

.

Ένα οποιοδήποτε διάνυσμα w του χώρου IRn μπορεί να αναπτυχθεί σαν γραμμικός συνδυασμός των vj

∑=

α=n

1jjjvw

,

, (3.11-4)

αφού αυτά αποτελούν βάση. Η ορθοκανονικότητα τους όμως επιτρέπει τον εύκολο υπολογισμό των συντελεστών του αναπτύγματος, αφού ο πολλαπλασιασμός (εσωτερικό γινόμενο) της (3.11-4) με το τυχόν vκ

δίνει αμέσως

ακ=ωΤvκ

, κ=1,…,n. (3.11-5)

Αν γνωρίζουμε μια ορθοκανονική βάση {vj} από ιδιοδιανυσματα και τις αντίστοιχες ιδιοτιμές {λj

}, j=1,…,n, μπορούμε εύκολα να λύσουμε το σύστημα:

Αu=b (3.11-6)

Page 23: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT)

135

ως εξής: Αναπτύσσουμε τα διανύσματα u και b ως προς τη βάση των ιδιοανυσμάτων

,vxun

1jjj∑

=

= ,vbn

1jjj∑

=

β= (3.11-7)

όπου σύμφωνα με τα προηγούμενα οι συντελεστές είναι

xj=uTvj, βj=bTvj

, j=1,…,n (3.11-8)

και είναι γνωστοί μόνο οι βj αφού γνωρίζουμε τα διανύσματα b, Vj. Αν προσδιορίσουμε τους συντελεστές xj θα βρούμε και το ζητούμενο διάνυσμα u από την (3.11-7). Παρατηρούμε ότι αφού τα vj, λj

είναι ιδιοζεύγη ισχύει

( ) ( )∑∑∑===

λ==

=

n

1jjjj

n

1jjj

n

1jjj vxAvxvxA Au ,

οπότε από τις (3.11-6) και (3.11-8) προκύπτει αμέσως ότι

( ) ∑∑==

β=λn

1jjjj

n

1jjj vvx ή λj xj=βj

, j=1,…,n (3.11-9)

Αποδεικνύεται ότι ο Α είναι αντιστρεπτός (όπως υποθέτουμε εδώ) τότε και μόνο τότε όταν όλες οι ιδιοτιμές του είναι διάφορες του μηδενός. Άρα βρίσκουμε αμέσως τους συντελεστές από την (3.11-9)

xj = βj / λj

j=1,…,n (3.11-10)

και στη συνέχεια από την (3.11-7) το άγνωστο διάνυσμα u. Η μέθοδος αυτή υπάγεται στην κατηγορία των καλούμενων φασματικών μεθόδων για επίλυση συστημάτων.

Ας δούμε τώρα πως εφαρμόζεται η μέθοδος σε συνδυασμό με τον ταχύ μετασχηματισμό ημιτόνου για την επίλυση ενός συστήματος όταν ο πίνακας Α είναι Toeplitz και τριδιαγώνιος. Στην περίπτωση αυτή, όπως και στην §2.10, δεν βλάπτεται η γεννητικότητα αν υποθέσουμε ότι

Α=τριδ (1, -α, 1). (3.11-11)

Μπορούμε τότε να δούμε ότι μια ορθοκανονική βάση ιδιοδιανυσμάτων του Α αποτελούν τα διανύσματα

vj=[vj(1),…,vj(n)]T, όπου vj 12+n

(κ) = sin (κjθ), θ=1n +

π . (3.11-12)

Οι αντίστοιχες ιδιοτιμές είναι

λj = -a+2cos(jθ), j=1,…,n. (3.11-13)

Page 24: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

136 ΑΛΓΟΡΙΘΜΟΙ: εισαγωγικά θέματα και παραδείγματα

Σύμφωνα με την προηγούμενη συζήτηση το σύστημα Au=b μπορεί να λυθεί με τον ακόλουθο αλγόριθμο: Βήμα 1 (Ανάλυση κατά Fourier). Αναλύουμε το δοθέν διάνυσμα b στη βάση (3.11-12), δηλαδή υπολογίζουμε τους συντελεστές βj

στην ανάπτυξη

( )∑=+

=n

jj jb

nb

1

sin1

2 κθ , θ:=n/(n+1)

Σύμφωνα με την (3.11-8) οι συντελεστές βj

παρέχονται από τον τύπο

( )∑=+

==n

jjj

Tj jb

nb

1

sin1

2v κθβ ,

όπου bj είναι οι (γνωστές) συνιστώσες του b. Άρα το διάνυσμα β:=[β1,…,βn]T

( ) Nn /21/2 =+

είναι ο διακριτός μετασχηματισμός ημιτόνου του b με N=n+1 και πολλαπλασιασμένο με τη σταθερά . Βήμα 2 Από τις (3.11-10) και (3.11-13) βρίσκουμε τις συνιστώσες xj

στην ανάπτυξη

∑=

=n

1jjjvxu , (3.11-14)

δηλαδή

xj = βj / λj = βj

/ (-a+cos(jθ)), j=1,…,n (3.11-15)

Βήμα 3 (Σύνθεση κατά Fourier). Γνωρίζοντας τώρα τις τιμές xj

βρίσκουμε το διάνυσμα u από την (3.11-14), η οποία κατά συνιστώσες γράφεται

( ) ( ) ( ) ( )θκ+

==κ ∑∑==

jsinx1n

2 kvx un

1jj

n

1jjj , κ=1,…,n. (3.11-16)

Η (3.11-16) ορίζει ότι το άγνωστο διάνυσμα u είναι ο διακριτός μετασχηματισμός

ημιτόνου του γνωστού (πλέον) διανύσματος x=[x1,…,xn]T

( ) Nn /21/2 =+, πάλι με N=n+1 και

πολλαπλασιασμένος με την ίδια σταθερά όπως και στο βήμα 1. Οι δύο πολλαπλασιασμοί, για τα βήματα 1 και 3, μπορούν να γίνουν στο τέλος με ένα πολλαπλασιασμό με τον όρο 2/Ν. Τα βήματα 1 και 3 αποτελούν εφαρμογή του μετασχηματισμού και του “αντιστρόφου” του (στο διορθωμένο από το βήμα 2 διάνυσμα), απ’ όπου και προκύπτει ο όρος 2/Ν.

Η μέθοδος αυτή για την επίλυση συστημάτων γενικεύεται με σοβαρότατες βελτιώσεις σε μεγαλύτερες διαστάσεις και πίνακες που προκύπτουν σε υπολογισμούς μεγάλης κλίμακας (βλ. HOCK71, HOLP80, HoPa79a, HoPa79b).

Page 25: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT)

137

3.12 Ασκήσεις

3.1 Αν x =[1 2 3 4 5 6 7 8] ποιο είναι το x;

3.2 Εξετάστε τι σχέση υπάρχει μεταξύ της αναδιάταξης δεικτών και των βημάτων διαχωρισμού τους και των δεικτών των αγνώστων που προκύπτουν κατά τα διάφορα βήματα της μεθόδου αναγωγής μονών-ζυγών της §2.10.

3.3 Στο επίπεδο 2 του δέντρου της Εικόνας 3.4-1, πόσα πολυώνυμα υπολογίζονται και σε ποιες ρίζες της μονάδας το καθένα;

3.4 Να ακολουθηθεί ο αλγόριθμος που περιγράφεται από την Εικόνα 3.4-2 για την περίπτωση του διανύσματος Α=[1 0 1 1 0 0 1 0]Τ

3.5 Αποδείξτε το θεώρημα συνέλιξης.

.

3.6 Να ακολουθηθεί ο αλγόριθμος της §3.9 για τον συμβολικό υπολογισμό του γινομένου P, Q όπου P(x)=x4+x+2, Q(x)=x4+3x3-x2

3.7 Ποια είναι η αντίστοιχη της (3.7-1) σχέση όταν το Α είναι καθαρά φανταστικό;

+1.

3.8 Αποδείξτε την σχέση (3.10-3).

3.9 Αποδείξτε τις σχέσεις (3.10-9).

3.10 Διατυπώστε με κάθε λεπτομέρεια ένα “Αλγόριθμο FFT (A, N, s)” για τον ταχύ υπολογισμό του μετασχηματισμού ή του αντιστρόφου μετασχηματισμού Fourier με εφαρμογή της μεθόδου που περιγράφεται στην §3.4 και εξηγείται ιδιαίτερα στο Παράδειγμα 3.4-1. Κατά την είσοδο, Α είναι το δοθέν διάνυσμα του οποίου πρέπει να υπολογισθεί ο μετασχηματισμός. Κατά την έξοδο στο Α περιέχεται το μετασχηματισμένο διάνυσμα. Οι παράμετροι Ν και s δίνονται κατά την είσοδο, όπου N είναι το μήκος του διανύσματος Α και s ορίζει το είδος του μετασχηματισμού ως εξής: αν δίνεται s=1 πρόκειται για τον μετασχηματισμό Fourier του Α, ενώ s=-1 δηλώνει ότι πρέπει να υπολογιστεί ο αντίστροφος μετασχηματισμός του δοθέντος διανύσματος. Πάντα ο Ν θα είναι δύναμη του 2.

3.11 Θεωρώντας γνωστό τον Αλγόριθμο FFT (A, N, s) της Άσκησης 3.10, διατυπώστε με κάθε λεπτομέρεια ένα “Αλγόριθμο FFT2(A, B, FFTA, FFTB, N) που υπολογίζει τον ταχύ μετασχηματισμό Fourier των δυο πραγματικών διανυσμάτων Α, Β (δοθέντων κατά την είσοδο) μήκους Ν. Οι δύο μετασχηματισμοί επιστρέφονται αντίστοιχα στα δυο μιγαδικά διανύσματα FFTA, FFTB, το καθένα μιγαδικού μήκους N ή πραγματικού μήκους 2Ν. Να εφαρμοστεί η μέθοδος της §3.7, άρα να γίνει μόνο μια κλίση, του FFT (FFTA, N, 1). Πάντα ο N θα είναι δύναμη του 2.

Page 26: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

138 ΑΛΓΟΡΙΘΜΟΙ: εισαγωγικά θέματα και παραδείγματα

3.12 Θεωρώντας γνωστό τον Αλγόριθμο FFT (A, N, s) της Άσκησης 3.10 και εφαρμόζοντας την κατάλληλη μέθοδο της §3.7, διατυπώστε με κάθε λεπτομέρεια ένα “Αλγόριθμο FFTREAL (A, N, s)” ο οποίος δέχεται σαν είσοδο τα Ν και s και α) Αν s=1, δέχεται σαν είσοδο το πραγματικό διάνυσμα Α μήκους 2Ν και επιστρέφει στο Α τις πρώτες Ν μιγαδικές συνιστώσες του μετασχηματισμού Fourier του Α, όπου ανά δύο θέσεις καλύπτονται από το πραγματικό και το φανταστικό μέρος μιας μιγαδικής συνιστώσας. Επειδή οι ( )A 0 και ( )A N είναι πραγματικοί μπορούν στην έξοδο να καταλάβουν τις

δυο πρώτες θέσεις του Α. Να καλείται μια φορά ο FFT (A, N, 1). β) Αν s=-1 η είσοδος Α περιέχει τις πρώτες Ν συνιστώσες του (μιγαδικού) μετασχηματισμού, αποθηκευμένες σύμφωνα με το (α). Στην έξοδο επιστέφεται το πραγματικό διάνυσμα Α μήκους 2Ν από το οποίο προήλθε ο μετασχηματισμός. Να καλείται μια φορά ο FFT(A, N, 1). Πάντα ο Ν θα είναι δύναμη του 2. Να βρεθεί η πολυπλοκότητα συναρτήσει του Ν.

3.13 Θεωρώντας γνωστό τον Αλγόριθμο FFTREAL (A, N, s) της άσκησης 3.12, διατυπώστε με κάθε λεπτομέρεια ένα “Αλγόριθμο FSINE(A, N)”, ο οποίος δέχεται σαν είσοδο τον Ν και το πραγματικό διάνυσμα Α, μήκους Ν. Κατά την έξοδο το Α περιέχει τον διακριτό μετασχηματισμό ημιτόνου Αs

3.14 Για τον υπολογισμό του αντίστροφου μετασχηματισμού συνημιτόνου, δοθέντος του κατά την §3.10 διανύσματος Α

. Χωρίς αλλαγή, ο ίδιος αλγόριθμος θα υπολογίζει και τον αντίστροφο μετασχηματισμό ημιτόνου, μόνο που ο πολλαπλασιασμός με 2/Ν πρέπει να εφαρμοστεί στο Α μετά την έξοδο. Να εφαρμοστεί η μέθοδος της §3.10. Να υπάρχει μόνο μια κλίση, του FFTREAL(Α, Ν/2, 1). Πάντα ο Ν θα είναι δύναμη του 2. Να βρεθεί η πολυπλοκότητα συναρτήσει του Ν.

c, ας είναι F ο μετασχηματισμός

συνημιτόνου του Αc ( ) ∑−

=

=1

0

:N

jFκ

, δηλαδή Αc

F(0)=NA(0)+a

(κ)cos(jκπ/Ν), j=0,…,(N-1).

Αποδείξτε ότι μεταξύ του F και του ζητουμένου Α ισχύουν οι σχέσεις

F(j)=

1

2N A(j)+a1

F(j)=

, αν j άρτιος, j≠0,

2N A(j)+a2

όπου

, αν j περιττός, j≠0,

( )∑=περιττοςκ

κ

1 : Aa , ( )∑=αρτιοςκ

κ

2 : Aa

Διαπιστώστε ότι

( ) ( )∑∑−

=

==1

0 1 2

:N

jiANF

περιττοςκ

κβ , ( ) ( ) ( )

+== ∑∑

=

1

0 2 10

2:

N

jAANF

αρτιοςκ

κβ ,

οπότε (Ν/2) Α(0)=β2-β1 και επομένως βρείτε τα α1, α2

a:

1=F(0)-2(β2-β1), α2=(2/Ν)β1-α1

Page 27: 3 ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ · 2014-12-17 · 3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT) 115 Όταν . r = 1. το σημείο . z . ανήκει

3. ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER (FFT)

139

Αφού τώρα τα a1, a2 είναι γνωστά, βρείτε από τις παραπάνω σχέσεις όλες τις συνιστώσες του Α συναρτήσει των συνιστωσών του F. Άρα το αρχικό διάνυσμα μπορεί να ευρεθεί μέσω του μετασχηματισμού συνημιτόνου του Αc

3.15 Να διατυπώστε με κάθε λεπτομέρεια ένα “Αλγόριθμο FCOS(A, N, s)”, κατ’ αντιστοιχία με την Άσκηση 3.13, για τον υπολογισμό του διακριτού μετασχηματισμού συνημιτόνου (αν s=1) ή του αντιστρόφου του (αν s=-1). Πάλι πρέπει να γίνεται μόνο μια κλίση, του FFTREAL(A, N/2, 1). Να χρη-σιμοποιηθεί η Άσκηση 3.14. Να βρεθεί η πολυπλοκότητα συναρτήσει του Ν.

.

3.16 Αποδείξτε ότι μια ορθοκανονική βάση ιδιοδιανυσμάτων του πίνακα Β=τριδ(1, 0, 1) είναι τα vj της (3.11-12) με αντίστοιχες ιδιοτιμές τους πραγματικούς αριθμούς λj=2cos(jθ), θ=π/(n+1), όπου n η διάσταση του πίνακα Β. Αν p είναι πολυώνυμο με πραγματικούς συντελεστές, τότε για οποιοδήποτε πίνακα Q, ο πίνακας p(Q) έχει τα ίδια ιδιοανύσματα με τον Q και οι ιδιοτιμές του είναι οι p(λ), όπου λ οι ιδιοτιμές του Q. Βάσει αυτών αποδείξτε ότι τα vj, λj

3.17 Να διατυπωθεί με κάθε λεπτομέρεια ο Αλγόριθμος για τη λύση του συστήματος Αu=b με Α όπως στην (3.11-11). Να βρεθεί η πολυπλοκότητα του αλγορίθμου.

των (3.11-12), (3.11-13) αποτελούν ιδιοζεύγη του πίνακα Α=τριδ(1, -α, 1).

3.18 Για μεγάλα μεγέθη πινάκων τριδιαγωνίων και Toeplitz, ποια μέθοδος είναι προτιμότερη, αυτή της αναγωγής μονών-ζυγών της §2.10 ή του μετασχηματισμού ημιτόνου της §3.11;