Kεφάλαιο 5 DFT- FFT ΔΙΑΚΡΙΤΟΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER DISCRETE FOURIER TRASFORM /
x X x X x X x 3 x DFT X 3 X x 5 X 5 x 6 X 6 x 7 X 7 /
DFT - Ορισμοί αναφέρεται σε μία πεπερασμένου μήκους ακολουθία σημείων ορίζεται: Ν X() DFT [x(n)] x(n) e jπn / n IDFT (αντίστροφος μετασχηματισμός ): n x(n) n x(n) IDFT [X()] X() n n e π j ο «παράγοντας αναστροφής- twiddle factor» 3/
παράδειγμα X() n x(n) e j πn 5 Για το σήμα : x { 3 } O DFT 5 υπολογίζεται: X() +++3+ 6 Χ() +e -jπ/5 + e -jπ/5 +3e -jπ3/5 + -3.736-.3633j Χ() +e -jπ/5 + e -jπ/5 +3e -jπ3/5 +.736-.53j Χ(3).. Χ()...736+.53j -3.736+.3633j Ο αριθμός των δειγμάτων του σήματος και ο αριθμός των συντελεστών DFT είναι ίδιος 5 /
5/ Ανάλυση σε συναρτήσεις βάσεως [ ] [ ] [ ] n jπn πn j πn j πn j πn j πn j πn j πn j πn j πn j πn j πn j πn j πn j πn j πn j πn j πn j πn j πn j πn j ) )( X( ) πn )]sin( Im X( [ ) πn cos( ) Re X( ) πn )]sin( Im X( [ ) πn cos( ) Re X( ) πn )]sin( Im X( [ ) πn cos( ) Re X( ) X( )e X( )e X * ( )e X( )e X * ( )e X( )e X * ( )e X( ) X( )e X( )e X( )e X( )e X( )e X( )e X( )e X( ) X( )e X( )e X( )e X( )e X( )e X( )e X( )e X( ) X( 3 3 3 3 3 3 5 3 6 7 7 6 5 3 3 3 5 3 6 7 7 6 5 3 + + + + + + + + + + + + + + + + + + + + + + + + + j πn e πn πn7 j j e e πn j 7 X()e (n) x
παράδειγμα ανάλυση - 6 5-6 - 6-5 n 7 σύνθεση - 6-6 Το ψηφιακό σήμα των σημείων αναλύεται σε άθροισμα (συν)ημιτονικών ψηφιακών σημάτων - 6-6 - 6 6/
Ο DFT σε μορφή πίνακα X() X n D x x D X x(n) n X( ) X( )..... X( )................. ( ) x( ) x( )... x( ) D 7/
Παρατηρούμε: D n { },n,..., Ν /
9/ Αντίστοιχα ο ορίζεται ως εξής: D ) ( ) ( ) (................... D Αποδεικνύεται : D D... I D D Άρα X D X D x
/ παράδειγμα D + x x x x x x x x D X X Παρατήρηση ODFT είναι το άθροισμα και η διαφορά των σημείων x,και x. - π/ j e
/ παράδειγμα (συνέχεια) j j j j D 9 6 3 6 3 Στην εύρεση των πινάκων αυτών εμφανίζονται οι διάφορες δυνάμεις του παράγοντα αναστροφής Ν π j e 3 j
Παράγοντας αναστροφής (Twiddle Factor TF) e π j π j π e e jπ e π j e π j /
παράγοντας αναστροφής e j π e j π π j e π/ ισχύει πάντα: n ( n ) mod( ) 9 πχ. j j n+ / n 3 /
DFT και DTFT /
Σχέση DFT και DTFT X(e iω ) DTFT[x(n)] n x(n)e jωn X() DFT[x(n)] n x(n) n n x(n) e π j n jω X() X(e ) π ω Συμπέρασμα: Ο DFT προέρχεται από δειγματοληψία του DTFT 5 /
DFT - DTFT - DFS x(n) X(e jω ) DTFT n x(n) ω X() DFS n DFT 6 /
παραδείγματα X() 3 x(n) e n jπn 3 Για το σήμα x(n)[,,,] υπολογείστε: α)τον DTFT β) τον DFT α) Ο DTFT : 3 jω jωn jω jω j3ω X (e ) x(n)e + e + e + e n jω jω jω jω e {e e } sin( ω) j 3ω e jω jω/ jω / jω/ e e e {e e } sin(ω / ) β) Ο DFT : 3 j j 3 X() x(n),,,, 3; n X ( ) + + + n jπ / e j 3 X ( ) ( j) + ( j) + ( j) + ( j) j + j X X ( ) ( j) + ( j) + ( j) + ( j) + 6 ( 3)... 7 /
DTFT DFT /
Αύξηση της πυκνότητος του φάσματος με DFT γίνεται με ελάττωση του βήματος ωπ/ν δηλ με αύξηση του Ν. επιτυγχάνεται με πρόσθεση μηδενικών στη ακολουθία (zero padding) Η "πράξη" αυτή δεν αλλάζει την απόκριση συχνότητας (DTFT) αλλά αυξάνει την συχνότητα δειγματοληψίας του DTFT 9 /
Γιά το σήμα x(n){,,,,,,,} υπολογίζουμε τον DFT ( σημείων) X () Αρα x(n) X () + + + + + + +...... X ()....6e X () X () X (3)....e 7 n n o j67.5 j.5 o,,,3... 7; X (7) X (5) DTFT DFT DFT. 5.5 /
Ανάλυση του DFT: Δω π Ν ήκαλύτερα Δf fs Ν /
Φάσματα μεγάλης ανάλυσης Δύο συχνότητες ω και ω (διαφοράδω) γίνονται αντιληπτές εφόσον Δω π Ν Η διαδικασία του zero-padding αυξάνει την πυκνότητα δειγματοληψίας αλλά σε καμία περίπτωση δεν μεταβάλλει το φάσμα Η(e jω ). Το φάσμα αυτό καθορίζεται για κάθε ω την στιγμή που δίνονται τα Ν σημεία x(n). παράδειγμα /
παράδειγμα x(n) π cos( n) + π cos(.5n) + π cos( 3n) σημεία - - DFT 3 DFT 6 Μόνο μέγιστα 3 /
Παράδειγμα -συνέχεια σημεία - - DFT 3 DFT 6 εμφανίζεται και το τρίτο μέγιστο /
Ιδιότητες του DFT X() DFT [x(n)] n x(n) n Γραμμικότητα: DFT[ax (n)+bx (n)] adft[x (n)] +bdft[x (n)] Περιοδικότητα: Χ(+)X() Εχει νόημα??? 5 /
X() DFT n [x(n)] x(n) n Ιδιότητες του DFT (συνέχεια) Συμμετρίες (για πραγματικές σειρές) X() X() X () εάν εάν - απόδειξη Χ() πραγματικός ο DFT Ν είναι μιγαδικός αριθμός επομένως έχει Ν τιμές. Επειδή όμως προέρχεται από Ν σημεία x(n) πρέπει να έχει Ν βαθμούς ελευθερίας. Εάν Νάρτιος τότε και ο Ν/ όρος είναι πραγματικός αριθμός διότι: X() X*( ) για / X(Ν / ) Χ*(Ν Ν / ) Χ*(Ν / ) 6 /
X() DFT n [x(n)] x(n) n Συμμετρίες -απόδειξη X( ) DFT n n n n( ) [x(n)] x(n) n x(n) x(n) x(n) nn n ( n )* * X () 7 /
» Xfft(x) Χ() - Πραγματικός x.. 6. 5..96 3.76.6.97.6777.3 X().633 X() 9.6 -.6i X() 5.657-5.95i X(3) 5.59-3.9i X() 5.7 -.3i X(5).959 X(6) 5.7 +.3i X(7) 5.59 + 3.9i X() 5.657 + 5.95i X(9) 9.6 +.6i Χ(5)- Πραγματικός /
Ιδιότητες του DFT (συνέχεια) Kυκλική αντιστροφή : ορισμός: x() x( n) x( n) εάν εάν n n - DFT[x( n)] X() X( ) X( ) εάν εάν - 9 /
Κυκλικές διεργασίες Καινούρια έννοια 3 /
Κυκλικές διεργασίες Αντιστροφή ολίσθηση (μετατόπιση) 3 τρόποι μελέτης: Περιοδική επέκταση Περιστροφή Αριθμητική υπολοίπου (mod) 3 /
Τι είναι κυκλική Αντιστροφή?? Είδαμε x() x( n) x( n) εάν εάν n n - 3 /
x(n) (α) x(-n) (β) 3 5 6 7 n 3 5 6 7 n α)η ακολουθία x(n) β)η ακολουθία x(-n) (γ) γ) η x(n) και η x(-n) παριστάνονται στην περιφέρεια σε αντίθετη φορά -n n δ) H x(-n) με την κλασσική έννοια της αντιστροφής αλλά σε περιοδική επέκταση του σήματος x(n) 3 5 6 7 n (δ) 33 /
Τι είναι κυκλική ολίσθηση - μετατόπιση?? Οταν μια ακολουθία Ν σημείων πρέπει να μετατοπισθεί ακολουθούμε τα εξής βήματα: μετατρέπουμε την ακολουθία x(n) σε περιοδική μετατοπίζουμε κατά m δείγματα : κρατάμε μία περίοδο x~ (n m)r x~ (n) x~ (n m) x((n m)) x((n)) R είναι ένα ορθογώνιο παράθυρο που έχει Νμόνομη μηδενικές τιμές (και ). 3 /
α) η ακολουθία x(n) x.7 n για n 5 (6 σημεία).5 β) η περιοδική επέκταση 5 5.5 γ) μετατόπιση κατά τρία σημεία x(n-3) 5 5 δ) η τελικήακολουθία(6 σημεία).5 5 5.5 5 5 35 /
x(n) (α) x(n-) (β) 3 5 6 7 n 3 5 6 7 n (γ) (δ) n n 36 /
ΚυκλικήΟλίσθησηΑκολουθίας αριθμητική διαδικασία y c,m(n) y((n m)) όπου ((n-m)) (n-m) mod 37 /
Παράδειγμα Δίνεται η y(n). Να βρεθεί η y(n ) Ν5,m 3 n 3 /
3 n y c, ( ) Επειδή y c, y(( )) 5 + 3 (( )) ( ) y( 3) 5 y(( )) 5 5 3 y c, ( ) Επειδή y c, y(( )) 5 + (( )) ( ) y( ) 5 y(( )) 5 5 y c, ( ) Eπειδή y c, y(( )) 5+ (( )) ( ) y( ) 5 y(( )) 5 5 39 /
y c, ( 3) Επειδή y c, y(( 3 )) 5+ (( )) ( 3) y( ) 5 y(( )) 5 5 y c, ( ) Επειδή y c, y(( )) 5+ (( )) ( ) y( ) 5 y(( )) 5 5 y(n ) 3 n /
Ιδιότητες του DFT (συνέχεια) Ιδιότητα της Κυκλική ολίσθησης Αν x(n) X() τότε x(n m) X()e π j m m Χ() /
Ιδιότητες του DFT (συνέχεια) Κυκλική Συνέλιξη Βάσει της κυκλικής μετατόπισης, η κυκλική συνέλιξη ορίζεται ως εξής: x (n) x (n) x(m)x ((n m)) m Για τον DFT της κυκλικής συνέλιξης ισχύει η εξής βασική ιδιότητα: DFT[x (n) x (n)]x () X () /
Kυκλική συνέλιξη - Παράδειγμα Για τις ακολουθίες x {,,} και x {,,3,} Να υπολογισθεί η κυκλική συνέλιξη σημείων: x (n) x (n) Επειδή η x είναι ακολουθία σημείων τροποποιούμε: x (n) {,,,}, x (n){,,3,} Στη συνέχεια στο πεδίο του χρόνου υπολογίζουμε: n 3 m 3 x (m)x (-m) {,,,} T {,,3,}5 n x (m)x ((-m)) {,,,} T {,,,3} m n 9 n3 Αρα x (n) x (n) {5,,9,} 3 /
κυκλική συνέλιξη - Παράδειγμα (συνέχεια) Αντίστοιχα στο πεδίο των συχνοτήτων (DFT) έχουμε: DFT{x (n)} { 5, --j,, -+j} DFT{x (n)} {, -+j, -, --j} X () X (){5, 6+j, -, 6-j} IDFT{X () X ()} x (n) x (n) {5,, 9, } /
κυκλική συνέλιξη - Παράδειγμα -(συνέχεια) Γραφική αναπαράσταση των ακολουθιών του παραδείγματος x {,,,} και x {,,3,} x (-m) 3 3 x (m) x (-m) Οι δύο εσωτερικοί κύκλοι παριστάνουν τις κυκλικές ακολουθίες x (m) και x (-m). Στον εξωτερικό κύκλο δεικνύεται η x (-m) 5 /
Ιδιότητες του DFT (συνέχεια) Γραμμική συνέλιξη Στηριζόμενοι στην κυκλική συνέλιξη, μπορούμε να υπολογίσουμε και τη γραμμική συνέλιξη Έστω x (n) μία ακολουθία σημείων και x (n) μία ακολουθία σημείων. H γραμμική συνέλιξη είναι x 3 (n) x (n) x (n) x()x (n ) Η ακολουθία x 3 (n) είναι μία ακολουθία + σημείων. Επιλέγοντας Ν Ν +Ν - σημεία υπολογίζεται η κυκλική συνέλιξη x (n) x (n) x (n) x (n) x 3 (n) για n - 6 /
Kυκλική και γραμμική συνέλιξη Γραφική αναπαράσταση περίοδος () x[n] x[n] h[n] h[n] y[n] y[n] n Κυκλική (περιοδική) Συνέλιξη Γραμμική (μη περιοδική) Συνέλιξη n Για να έχουμε σωστό αποτέλεσμα συνέλιξης πρέπει κάθε ακολουθία να έχει 7+5- σημεία 7 /
Ταχύς FFTΜετασχηματισμός Fourier FFT - Fast Fourier Transform /
FFT X() DFT x(n) n n { } x(n) για κάθε Ν μιγαδικοί πολλαπλασιασμοί και Ν- προσθέσεις. Πόσες πράξεις χρειάζονται για τον υπολογισμό του DFT?? συνολικά για όλα τα Ν μιγαδικοί πολλαπλασιασμοί και Ν(Ν-) προσθέσεις Δηλ. οι πράξεις για υπολογισμό του DFT είναι C o( ) 9 /
FFT O βασικός αλγόριθμος FFT είναι: decimation in time (DIT-FFT) και βασίζεται σε δύο χαρακτηριστικές ιδιότητες του παράγοντα αναστροφής: την περιοδικότητα n+ n 5 την συμμετρία n+ / n 5 j 5 /
Ενα πείραμα!! 3 5 5 6 DFT 7 3.i -9 - i +.i -. -.i -9 + i - 3.i 5 6 3 5 DFT DFT 3 j -9 -j -+j - j 7 3.j -9 j +.j -. -.j -9 + j -3.j Υπολογίζω: exp(-jpi/).77 -.77j -j 3 -.77 -.77i Και βρίσκω: 3+*7, 3-*-... Δηλαδή ο DFT των σημείων υπολογίζεται σαν DFT σημείων!! 5 /
FFT με διαίρεση στο χρόνο με βάση το Decimation in time Radix- FFT Διάσπαση του DFT. Μία ακολουθία x(n) με δείγματα (άρτια) έχει DFT: X() n n x(n),,... «διασπάμε» σε άρτιους και περιττούς όρους ως εξής: X() / (n) (n+ ) x(n) + x(n + ) n / n / n / n n / x(n) + / x(n + ) n π π n n n Ν Ν / n Eπειδή : e e / 5 /
(συνέχεια) Ορίζοντας τις υπο-ακολουθίες ως: g(n) h(n) x(n) x(n + ) n Και τους αντίστοιχους DFT: G() H() / n / n n / n / g(n) h(n),,... Έχουμε: X() G() + H() 53 /
Παράδειγμα Ν X G + H 7 x x x x 6 DFT G G G G 3 3 X X X X 3 x x 3 x 5 x 7 DFT H H H H 3 5 6 7 X X 5 X 6 X 7 5 /
(συνέχεια) Απλοποίηση G(+/)G(), H(+/)H() X() G() + H() X( + / ) G( + / ) + + / H( + / ),,... / + / 5 π/ X() G() + H() τελικά,,... X( + / ) G() H() 55 /
Παράδειγμα Ν (συνέχεια) X X + / G G + H H,,... x x x x 6 DFT G G G G 3 3 X X X X 3 x x 3 x 5 x 7 DFT H H H H 3 3 X X 5 X 6 X 7 56 /
Αυτός είναι ο τύπος συγκερασμού πεταλούδας (butterfly) όπου με συνδυασμό DFTs Ν/ σημείων υπολογίζεται ο DFT Ν σημείων. X() X( G() + + / ) G() H() H(),,... - 57 /
Η διαδικασία συνεχίζεται εφόσον Ν Β 5 /
59 / παραδείγματα + + / / / / / / / / /... H... H H G... G G X... X X... H... H H G... G G X... X X Για Ν + + 3 jh H G G H H G G X X jh H G G H H G G X X (συνέχεια)
Σχήμα - Τύπος συγκερασμού πεταλούδας (πάλι!!!) /-DFT -DFT / G Χ() + X / H _ Χ(+/) - 6 /
Τελικά με τον FFT μειώσαμε τις πράξεις?? 6 /
Ας ξαναδούμε τις πράξεις ( Ν) X X + / G G + H H,,... x x DFT G G X X x G X x 6 G 3 X 3 x x 3 x 5 x 7 DFT 3 H H H H 3 X X 5 X 6 X 7 6 /
ΥΠΟΛΟΓΙΖΟΥΜΕ.. Για ένα επίπεδο απαιτούνται: Ν/ πολλαπλασιασμοί και Ν προσθέσεις Για Ν Β σημεία τα επίπεδα Β είναι: Βlog Επομένως συνολικά απαιτούνται: / Νlog πολλαπλασιασμοί και Νlog προσθέσεις Απαραίτητη προϋπόθεση: Β Για Ν / log πολλαπλασιασμοί Ν / log πολλαπλασιασμοί 63 /
μάλλον μειώσαμε τις πράξεις!! DFT Αριθμός πράξεων 5 5 FFT 3 Αριθμός σημείων, 6 /
Radix- FFT - ΑΝΑΔΙΑΤΑΞΗ x o x o x o A o G o X o x x x A G X x x x B o G X x 3 x 6 x 6 B G 3 X 3 x x x C o H o X x 5 x 3 x 5 C H X 5 x 6 x 5 x 3 D o H X 6 x 7 x 7 x 7 D H 3 3 X 7 65 /
παράδειγμα 3-3 - 5 5+j 5+j+j - 5 - -+6j 3 3 - -j 5-j 5-j+j - -3-3 -5 - - - - -+j (-j) 5+j-j 3 - -6 -j --6j - -j --j -(-j) 5-j-j 66 /
Διαδικασία: Bit reversal n(b b b )b +b +b r(b b b ) b + b +b x o x o x o x x x x x x x 3 x 6 x 6 x x x x 5 x 3 x 5 x 6 x 5 x 3 x 7 x 7 x 7 67 /
Bit reversal (παράδειγμα) Για Ν έχουμε την ακολουθία x(n) όπου n [ 3 5 6 7 ] Για τον υπολογισμό του FFT χωρίζουμε σε υπόακολουθίες: n [ 6] [ 3 5 7 ] Ομοίως n [ ] [ 6] [ 5] [3 7 ] όπου υπολογίζουμε τον DFT κάθε ζευγαριού 6 /
Ταχεία συνέλιξη (Fast Convolution) Η συνολική διαδικασία φιλτραρίσματος με FFT περιλαμβάνει : την εύρεση των δύο FFTs δηλ. της κρουστικής απόκρισης h(n) και του σήματος εισόδου x(n) την εύρεση του γινομένου των δύο FFTs. την αντιστροφή (υπολογισμός του IFFT) Η συνολική αυτή διαδικασία έχει την ονομασία ταχεία συνέλιξη (fast convolution) x(n) FFT h(n) FFT Πολλαπλα σιασμός ΙFFT y(n) 69 /
Ταχεία συνέλιξη (γραφικά) h(n) x(n) y(n)x(n) h(n) 6 IFFT H() H() X() X() 7 /
Συνέλιξη κατά τμήματα (bloc convolutions) Μέθοδος επικάλυψης πρόσθεσης (overlap and add) Μέθοδος επικάλυψης αποθήκευσης (overlap and save - select and save) x(n) h(n) h(-n) y(n) 7 /
x(n) h(n) Συνέλιξη με την μέθοδο επικάλυψηςπρόσθεσης y y y y(n) 7 /
x(n) Συνέλιξη με την μέθοδο επικάλυψηςαποθήκευσης. Η επικάλυψη είναι 3 σημεία (-). Τα 3 πρώτα δείγματα σε κάθε επί μέρους συνέλιξη απορρίπτονται. h(n) y y y y(n) 73 /
Αλγόριθμος Goertzel Είναι μία μέθοδος υπολογισμού του FFT με διαδικασία συνέλιξης - φιλτραρίσματος Βασίζεται στην περιοδικότητα του παράγοντα αναστροφής Εφαρμογή : ανίχνευση DTMF σημάτων 7 /
Αλγόριθμος Goertzel (συνέχεια) m Για τον DFT Ν έχουμε: X( ) x( m) x( m) m m e π j m επειδή m X( ) x( m) x( m) e ΝΑΙ y (n) Θεωρούμε: m Η παραπάνω n X() σχέση x(n) h ( n) μπορεί x(n) να θεωρηθεί συνέλιξη??? m Ηέξοδοςτουφίλτρουγιαn δίνει την τιμή του DFT στη συχνότητα ω π y (n) m x ( m) e π j ( nm) π j ( m) 75 /
Αλγόριθμος Goertzel (συνέχεια) Η συνάρτηση μεταφοράς του φίλτρου αυτού είναι: j H ( z) y ( n) e y ( n ) x( n) z π + Για αποφυγή των μιγαδικών πράξεων πολλαπλασιάζουμε με τον όρο z και έχουμε : H ( z) z π cos z + z 76 /
Αλγόριθμος Goertzel (συνέχεια) Από όπου προκύπτει ότι : v y π cos v () ( ) ( ) + ( ) n () () ( ) n v n v n n v n x n Η η (επαναληπτική) σχέση υπολογίζεται για n,, και έχει πραγματικούς αριθμούς μόνο. Η η σχέση από την οποία βρίσκεται ο X() υπολογίζεται μόνο για κάθε n. ν (n) - 77 /
Ανίχνευση DTMF σημάτων με τον Αλγόριθμο Goertzel 697 Hz 77 Hz 5 Hz 9 Hz 9 Hz 7 * 336 Hz 5 77 Hz 3 6 9 # 633 Hz A B C D 7 /
Για την ανίχνευση των συχνοτήτων του DTMF, χρειάζονται φίλτρα. Επειδή μόνο το μέτρο X() χρειάζεται, οι προηγούμενες σχέσεις υπολογισμού γίνονται: X() ν κ (Ν) + y ν κ () (Ν ) ν () ν π cos κ ν (Ν ) ()ν ( ) Οι μιγαδικές πράξεις έχουν εξαλειφθεί!! 79 /