ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ Ενότητα : ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER Aναστασία Βελώνη Τμήμα Η.Υ.Σ 1
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί ενότητας Με την ολοκλήρωση αυτής της ενότητας, θα είστε σε θέση: Να κατανοήσετε τον ταχύ μετασχηματισμό Fourier. 4
Περιεχόμενα ενότητας 1. Ταχύς μετασχηματισμός FOURIER 2. Αλγόριθμοι FFT διαίρεσης στο χρόνο 3. Ταχεία συνέλιξη 5
Διακριτός μετασχηματισμός Fourier (DFΤ) 6
Πολυπλοκότητα του Αλγόριθμου DFT (1) Ν-1 Για τον υπολογισμό τον αθροίσματος ΣΝ 1 x(n)w kn N n=0 για μία η=0 τιμή τον k, χρειάζονται Ν μιγαδικοί πολλαπλασιασμοί και (Ν-1) μιγαδικές προσθέσεις. Για Ν συνολικά τιμές τον k χρειάζονται Μ συνολικά μιγαδικές πράξεις όπου: Μ = Ν[ Ν+(Ν-1) ] = Ν 2 (Ν 2 πολλαπλασιασμοί και λ (Ν-1) προσθέσεις) Το ίδιο ισχύει και για τον υπολογισμό του IDFT. Για μεγάλα Ν επομένως υπάρχει τεράστιο πλήθος μιγαδικών πράξεων, γεγονός που επιφέρει πολλές δυσκολίες στον υπολογισμό του DFT ή ΙΌΡΤ των ακολουθιών x(n) και Χ(k) αντίστοιχα. 7
Πολυπλοκότητα του Αλγόριθμου DFT Μπορεί να μειωθεί ο αριθμός των υπολογισμών; (2) 8
DFT FFT (1) Με την εφαρμογή του ΤΑΧΥ ΜΕΤ/ΣΜΟΥ Fourier (FFT) και του ΑΝΤΙΣΤΡΟΦΟΥ ΤΑΧΥ ΜΕΤ/ΣΜΟΥ Fourier (ΙFFΤ: Inverse ΕΡΤ) αυτές οι δυσκολίες ελαττώνονται. Η μέθοδος που Θα αναπτυχθεί είναι των Couley και Tukey (1965) και βασίζεται στη διάσπαση των αρχικών DFT σε μικρότερα τμήματα, τα οποία στο τέλος επανασυνδέονται για την δημιουργία του DFT. 9
FFT (1) Ο Γρήγορος Μετασχηματισμός Fourier (Fast Fourier Transform, FFT) δεν είναι ένας αποδοτικός αλγόριθμος για τον υπολογισμό του DFT. Στην πράξη, δεν υπάρχει μόνο ένας αλγόριθμος, αλλά πλήθος από διαφορετικούς αλγορίθμους που επιτυγχάνουν το σκοπό αυτό. Οι διαφορές τους βρίσκονται κυρίως στο πλήθος και στο είδος των πράξεων καθώς και στο μέγεθος της απαιτούμενης μνήμης. Όλοι όμως, έχουν ένα κοινό χαρακτηριστικό: χρειάζονται μόνο (Ν/2) log2n μιγαδικούς πολλαπλασιασμούς για τον υπολογισμό ενός DFT N-σημείων. 10
FFT (2) Ο Radix-2 αλγόριθμος αναπτύχθηκε από τους Cooley - Tukey προτάθηκε το 1965 και έδωσε μία πραγματικά εντυπωσιακή ώθηση στην ψηφιακή επεξεργασία. Είναι ένας από τους βασικότερους Radix based F.F.T αλγορίθμους η βασική ιδέα είναι να διαιρούν το πρόβλημα σε πανομοιότυπα μικρότερα προβλήματα επιτυγχάνοντας τελικά τη μείωση της υπολογιστικής πολυπλοκότητας. Η τεχνική αυτή ονομάζεται διαίρει και βασίλευε. Οι Radix based αλγόριθμοι μπορούν να εφαρμοστούν όταν το μέγεθος Ν της ακολουθίας πεπερασμένου μήκους f(n) είναι δύναμη του r (r=2,3,4 ) οπότε και προκύπτουν ανάλογα οι Radix-2, Radix-3, Radix-4 αλγόριθμοι. 11
FFT (3) Η κατηγορία αλγορίθμων Radix-2 χωρίζεται σε δύο υποκατηγορίες τους Decimation in Time και τους Decimation in Frequency αλγορίθμους. Στους Decimation in Time, σπάμε την ακολουθία στο πεδίο του χρόνου, ενώ στους Decimation in Frequency σπάμε τα δείγματα F(k) του DFT στο πεδίο της συχνότητας. Ο Radix-2 αλγόριθμος εφαρμόζεται όταν το Ν είναι δύναμη του 2. Στην ανάλυση μας θα δείξουμε πως λειτουργεί ο Decimation in Time αλγόριθμος. 12
DFT FFT (2) 13
Αλγόριθμοι FFT διαίρεσης στο χρόνο (Decimation in Time ή DIT)
Εξισώσεις FFT (1) 15
Εξισώσεις FFT (2) 16
Εξισώσεις FFT (3) 17
Εξισώσεις FFT (4) 18
Εξισώσεις FFT (5) 19
Εξισώσεις FFT (6) 20
Εξισώσεις FFT (7) 21
Εξισώσεις FFT (8) 22
Εξισώσεις FFT (9) 23
Εξισώσεις FFT (10) Οι βασικές εξισώσεις του αλγόριθμου radix-2 FFT είναι οι σχέσεις (9) και (13): 24
Εξισώσεις FFT (11) 25
Εξισώσεις FFT (12) 26
Εξισώσεις FFT (13) 27
Εξισώσεις FFT (14) Οι υπολογισμοί μετά τους DFΤ μετασχηματισμούς γίνονται, σύμφωνα με τις παραπάνω σχέσεις, με μία τυποποιημένη υπολογιστική δομή που δείχνεται στο παρακάτω σχήμα και καλείται «πεταλούδα». 28
Επεξήγηση υπολογιστικής δομής μιας πεταλούδας (1) 29
Επεξήγηση υπολογιστικής δομής μιας πεταλούδας (2) 30
Επεξήγηση υπολογιστικής δομής μιας πεταλούδας (3) 31
Υπολογιστική δομή πεταλούδας (1) Συνεχίζοντας τη διαίρεση των διακριτών τιμών καταλήγουμε σε μετασχηματισμό DFT δύο σημείων που είναι ουσιαστικά η υπολογιστική δομή μιας πεταλούδας. Συνεπώς από τα αρχικά μας δεδομένα μέχρι και τον υπολογισμό των συντελεστών Fourier έχουμε μόνο υπολογισμούς με δομές πεταλούδας, γλιτώνοντας κατ' αυτόν τον τρόπο μεγάλο αριθμό πράξεων με ημίτονα και συνημίτονα. 32
Υπολογιστική δομή πεταλούδας (2) Στο παρακάτω σήμα φαίνεται η όλη διαδικασία με βέλτιστο τρόπο, για την περίπτωση που το Ν=8. 33
Αριθμητικές πράξεις μεταξύ DFT και FFT 34
Παράδειγμα #1 (1) 35
Παράδειγμα #1 (2) 36
Παράδειγμα #1 (3) 37
Παράδειγμα #1 (4) 38
Παράδειγμα #1 (5) 39
Παράδειγμα #1 (6) 40
Παράδειγμα #1 (7) 41
Παράδειγμα #1 (8) 42
Παράδειγμα #2 (1) 43
Παράδειγμα #2 (2) 44
Παράδειγμα #2 (3) 45
Παράδειγμα #2 (4) 46
Παράδειγμα #2 (5) 47
Παράδειγμα #2 (6) 48
Παράδειγμα #2 (7) 49
Παράδειγμα #2 (8) 50
Παράδειγμα #2 (9) 51
Παράδειγμα#3 (1) 52
Παράδειγμα#3 (2) 53
Παράδειγμα#3 (3) 54
Παράδειγμα#3 (4) 55
Υπολογισμός του IDFT με τη μέθοδο FFT 56
Ταχεία συνέλιξη (Fast Convolution) (1) 57
Ταχεία συνέλιξη (Fast Convolution) (2) Από τη σχέση y(n)= x(n) h(n)= IFFT[FFT[x(n)] FFT[h(n)]] γίνεται προφανές ότι για τον υπολογισμό της y(n) επιβάλλεται η χρήση του Μ-Point FFT 3 φορές. Στην περίπτωση που μία από τις ακολουθίες των x(n), h(n) έχει μήκος κατά πολύ μεγαλύτερο από την άλλη υπάρχει πρόβλημα στην αύξηση του χρόνου εκτέλεσης λόγω προσαύξησης της ακολουθίας μικρότερου μήκους με πολλά μηδενικά δείγματα. Για την αποφυγή αυτού του προβλήματος υπάρχουν οι μέθοδοι: α)overlap and add (επικάλυψη και πρόσθεση) β) Overlap and save (επικάλυψη και σώσιμο). 58
Μέθοδος OVERLAP and ADD (1) 59
Μέθοδος OVERLAP and ADD (2) 60
Παράδειγμα (1) 61
Παράδειγμα (2) 62
Παράδειγμα (3) 63
Παράδειγμα (4) 64
Παράδειγμα (5) 65
Μέθοδος OVERLAP and SAVE Σε αυτή τη μέθοδο το μήκος της ακολουθίας h(n) αυξάνεται σε Μ με προσθήκη Μ-Ν μηδενικών δειγμάτων στο τέλος. Η x(n) χωρίζεται σε τμήματα, έτσι ώστε το μήκος κάθε τμήματος να είναι ίσο με Μ (Μ Ν και Μ = 2 ν ) και τα πρώτα Ν-1 δείγματά του να προέρχονται από το αμέσως προηγούμενο τμήμα, δηλαδή να το επικαλύπτουν (ονerlap ) κατά Ν-1 δείγματα. Η γραμμική συνέλιξη x(n)*h(n) βρίσκεται από τις διαδοχικές κυκλικές συνελίξεις των τμημάτων x(n) με την h(n), αγνοώντας τα πρώτα Ν-1 στοιχεία τους, δημιουργώντας έτσι μία ακολουθία που αποτελείται από τα υπόλοιπα Μ-Ν+1 δείγματά τους. 66
Παράδειγμα (1) 67
Παράδειγμα (2) 68
Παράδειγμα (3) 69
Παράδειγμα (4) 70
Παράδειγμα (5) 71
Τέλος Ενότητας 72