A k s s k. H c (s) = H(z) = 1 e s kt dz 1

Σχετικά έγγραφα
H ap (z) = z m a 1 az m (1)

H ap (z) = z m a 1 az m (1)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών. HY-370: Ψηφιακή Επεξεργασία Σήµατος Χειµερινό Εξάµηνο 2016 ιδάσκοντες : Γ. Στυλιανού - Γ.

δ[n kp ], k Z (1) 1 cos πn, N 1 n N 1 + N 2 2N

y[n] = f(x[n], w[n]) (1) w[n] = f(x[n], y[n]) (2)

x(t) = 4 cos(2π600t π/3) + 2 sin(2π900t + π/4) + sin(2π1200t) (1) w(t) = y(t)z(t) = 2δ(t + 1) (2) (2 sin(2π900t + π/4) t= 1 + sin(2π1200t) )

x[n]z n = ) nu[n]z n z 1) n z 1 (5) ( 1 z(2z 1 1]z n +

y[n] = x[n] + αx[n M], a < 1 (1) y[n] = αy[n M] + x[n], a < 1 (2)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

y[n] = x[n] + αx[n M], a < 1 (1) y[n] + αy[n M] = x[n], a < 1 (2)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

Διάλεξη 10. Σχεδιασμός Φίλτρων. Κεφ Φίλτρο Διαφοροποιεί το φάσμα ενός σήματος Π.χ. αφήνει να περάσουν ή σταματά κάποιες συχνότητες

x(t) = cos(2π100t + π/3) sin(2π250t + π/4) (1)

x(t) = 4 cos(2π400t π/3) + 2 cos(2π900t + π/8) + cos(2π1200t) h(t) = 2000sinc(2000t) = h(t) = 2000sinc(2000t) H(f) = rect

x[n] = e u[n 1] 4 x[n] = u[n 1] 4 X(z) = z 1 H(z) = (1 0.5z 1 )(1 + 4z 2 ) z 2 (βʹ) H(z) = H min (z)h lin (z) 4 z 1 1 z 1 (z 1 4 )(z 1) (1)

Ψηφιακή Επεξεργασία Σημάτων

x(t) = 4 cos(2π600t π/3) + 2 cos(2π900t + π/8) + cos(2π1200t) (3)

y[n] = x[n] + αx[n M], a < 1 (1) y[n] = αy[n M] + x[n], a < 1 (2)

ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΟΣ ΑΣΚΗΣΗ 5

Αντίστροφος Μετασχηματισμός Ζ. Υλοποίηση συστημάτων Διακριτού Χρόνου. Σχεδίαση φίλτρων

HMY 429: Εισαγωγή στην Επεξεργασία Ψηφιακών Σημάτων. Διάλεξη 17: Φίλτρα (II)

Σχήµα 1: Χρήση ψηφιακών φίλτρων για επεξεργασία σηµάτων συνεχούς χρόνου

Ολοκληρωµένο Περιβάλλον Σχεδιασµού Και Επίδειξης Φίλτρων

HMY 429: Εισαγωγή στην Επεξεργασία Ψηφιακών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών. HY-215: Εφαρµοσµένα Μαθηµατικά για Μηχανικούς ιδάσκοντες : Γ. Στυλιανού, Γ.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

y(t) = x(t) + e x(2 t)

y[n] 5y[n 1] + 6y[n 2] = 2x[n 1] (1) y h [n] = y h [n] = A 1 (2) n + A 2 (3) n (4) h[n] = 0, n < 0 (5) h[n] 5h[n 1] + 6h[n 2] = 2δ[n 1] (6)

z(t) = 5.05e j(2πf 0t 0.209) sin 3 (5t)dt = 4 15 x(t) = 4 + cos(2π100t + π/3) cos(2π250t π/7) + 2 sin(2π300t π/4) (6)

HMY 429: Εισαγωγή στην Επεξεργασία Ψηφιακών

Αναλογικά φίλτρα. Για να επιτύχουµε µια επιθυµητή απόκριση χρειαζόµαστε σηµαντικά λιγότερους συντελεστές γιαένα IIR φίλτροσεσχέσηµετοαντίστοιχο FIR.

Τ.Ε.Ι. Λαμίας Τμήμα Ηλεκτρονικής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

= 5 cos(2π500t π/2) + 9 cos(2π900t + π/3) cos(2π1400t) (9) H(f) = 4.5, αλλού

10-Μαρτ-2009 ΗΜΥ Παραθύρωση Ψηφιακά φίλτρα

Σχεδιασμός Φίλτρων. Κυριακίδης Ιωάννης 2011

y[n] ay[n 1] = x[n] + βx[n 1] (6)

y(t) = x(t) + e x(2 t)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

x 1 [n] = 0, αλλού x[n]e jωn X(e jω ) =

LCs 2 + RCs + 1. s 1,2 = RC ± R 2 C 2 4LC 2LC. (s 2)(s 3) = A. = 4 s 3 s=2 s + 2 B = (s 2)(s 3) (s 3) s=3. = s + 2. x(t) = 4e 2t u(t) + 5e 3t u(t) (2)

x(t) ax 1 (t) y(t) = 1 ax 1 (t) = (1/a)y 1(t) x(t t 0 ) y(t t 0 ) =

stopband Passband stopband H L H ( e h L (n) = 1 π = 1 h L (n) = sin ω cn

Ανάλυση ΓΧΑ Συστημάτων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

HMY 429: Εισαγωγή στην Επεξεργασία Ψηφιακών. στο χώρο της συχνότητας

Εξεταστική Ιανουαρίου 2007 Μάθηµα: «Σήµατα και Συστήµατα»

HMY 220: Σήματα και Συστήματα Ι

x[n]e jωn (1) X(e jωkn ) x[n]e jω kn

= R{(a + jb)e j2π 3 4 t } (6) a + jb = j2.707 = e j π (7) A = (9) f 0 = 3 4

Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 6 ΔΙΑΦΑΝΕΙΑ 1

Ψηφιακή Επεξεργασία Σηµάτων. ηµήτριος Βαρσάµης Καθηγητής Εφαρµογών

Ψηφιακή Επεξεργασία Σημάτων

ΣΤΟΧΑΣΤΙΚΑ ΣΗΜΑΤΑ ΚΑΙ ΕΦΑΡΜΟΓΕΣ

20-Μαρ-2009 ΗΜΥ Φίλτρα απόκρισης πεπερασμένου παλμού (FIR)

d 2 dt 2 y(t) + d y(t) 2y(t) = x(t) (1)

Σήματα και Συστήματα. Διάλεξη 10: Γραμμικά Φίλτρα. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

ΑΣΚΗΣΗ 6 Σχεδίαση FIR και IIR φίλτρων στο Matlab

X 1 = X1 = 1 (1) X 3 = X3 = 1 (2) X k e j2πk 1 2 t = k

Υλοποιήσεις Ψηφιακών Φίλτρων

Ο Μετασχηματισμός Ζ. Ανάλυση συστημάτων με το μετασχηματισμό Ζ

x(t) = e st = e (σ+j2πf)t (7.1) h(t)e st dt (7.4) H(s) = y(t) = H{e st } = H(s)e st (7.5)

e (4+j2πf)t dt (5) (0 1)

Ακαδηµαϊκό Έτος , Εαρινό Εξάµηνο ιδάσκων Καθ.: Νίκος Τσαπατσούλης

Συστήµατα τα οποία χαρακτηρίζονται από γραµµικές εξισώσεις διαφορών µε σταθερούς συντελεστές

ΑΝΑΛΥΣΗ ΣΗΜΑΤΩΝ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΤΟ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟ FOURIER

ΕΥΑΙΣΘΗΣΙΑ ΗΛΕΚΤΡΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ

bx 2 (t). Για είσοδο ax 1(t) + bx 2 (t), η έξοδος είναι x(t t 0 ) και y(t t 0) = t t 0 x(t) ax 1 (t 1) + bx 2 (t 1) sin ax 1 (t)+

ΛΥΣΕΙΣ ΑΣΚΗΣΕΩΝ ΕΞΕΤΑΣΤΙΚΗΣ ΠΕΡΙΟ ΟΥ ΙΟΥΝΙΟΥ 2004., η οποία όµως µπορεί να γραφεί µε την παρακάτω µορφή: 1 e

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER

Συστήµατα τα οποία χαρακτηρίζονται από γραµµικές εξισώσεις διαφορών µε σταθερούς συντελεστές

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Επεξεργασία Σημάτων. Άσκηση 3η. Στυλιανού Ιωάννης. Τμήμα Επιστήμης Υπολογιστών

Ψηφιακή Επεξεργασία Σημάτων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ. Ενότητα : ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ Ζ (ΖTransform)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών. HY-215: Εφαρµοσµένα Μαθηµατικά για Μηχανικούς Εαρινό Εξάµηνο 2013 ιδάσκων : Π.

Συστήµατα τα οποία χαρακτηρίζονται από γραµµικές εξισώσεις διαφορών µε σταθερούς συντελεστές

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

dx T0 (t) 2 T rect ( t sinc = 1 2 sinc ( k

Άσκηση: Ένα σύστηµα µε είσοδο u(t), έξοδο y(t) και διάνυσµα κατάστασης x(t) = (x 1 (t) x 2 (t)) T περιγράφεται από το ακόλουθο διάγραµµα:

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER

HMY 429: Εισαγωγή στην Επεξεργασία Ψηφιακών

ΘΕΩΡΙΑ ΣΗΜΑΤΩΝ & ΣΥΣΤΗΜΑΤΩΝ. Μετασχηµατισµός Laplace. Εµµανουήλ Ζ. Ψαράκης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Ψηφιακή Επεξεργασία Σημάτων

1. ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB... 13

e 5t (sin 5t)u(t)e st dt e st dt e 5t e j5t e st dt s j5 j10 (s + 5 j5)(s j5)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

E = P t = IAt = Iπr 2 t = J (1)

= t2 t T 2T 3t + 9T, για t < 3T και t 2T 2T t < 3T (Σχήµα

Filter Design - Part I. Νοέµβριος 2005 ΨΕΣ 1

3. Δίνεται ψηφιακό σύστημα που περιγράφεται από τη σχέση. y[n] = x[n]-2x[n-1] y[n] = x[n]-2x[1-n]

LC d2 dt 2 y(t) + RC d y(t) + y(t) = x(t) (1)

Σήματα και Συστήματα. Διάλεξη 11: Μετασχηματισμός Laplace. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

x(t) = sin 2 (5πt) cos(22πt) = x 2 (t)dt

Συνεπώς, η συνάρτηση µεταφοράς δεν µπορεί να οριστεί για z=0 ενώ µηδενίζεται όταν z=1. Εύκολα προκύπτει το διάγραµµα πόλων-µηδενικών ως εξής:

Kεφάλαιο 7 Σχεδιασμός IIR Φίλτρων

Θέµα 1: Φασµατική ανάλυση. Συναρτήσεις παραθύρου. Ψηφιακά φίλτρα. Ανάλυση σε Χρόνο-Συχνότητα (Φασµατογράφηµα).

Ψηφιακός Έλεγχος. 10 η διάλεξη Ασκήσεις. Ψηφιακός Έλεγχος 1

x(t) = 2 + cos(2πt) sin(πt) 3 cos(3πt) cos(θ + π) = cos(θ). (3)

0 2j e jπt e j2πkt dt (3)

Συνέλιξη Κρουστική απόκριση

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών HY-370: Ψηφιακή Επεξεργασία Σήµατος Χειµερινό Εξάµηνο 208 ιδάσκοντες : Γ. Στυλιανού - Γ. Καφεντζής Πέµπτο Εργαστήριο Σηµείωση : Για ϐοήθεια σχετικά µε τις εντολές MATLAB, γράψτε doc/help εντολή. Ασκηση - Σχεδίαση IIR Φίλτρων Στις διαλέξεις είδατε δυο διαφορετικούς τρόπους µε τους οποίους µπορείτε να υλοποιήσετε ψηφιακά ϕίλτρα από προδιαγραφές που σας δίνονται (ή που ορίζετε εσείς), χρησµοποιώντας γνώσεις από τη σχεδίαση ϕίλτρων στο συνεχή χρόνο. Εδώ ϑα υλοποιήσουµε αυτά τα ϕίλτρα τόσο µε αναλυτικό όσο και µε σύντοµο τρόπο, και ϑα εφαρµόσουµε σήµατα ϕωνής στην είσοδό τους, ώστε να ακούσουµε το αποτέλεσµα που αυτά παράγουν. I. Impulse Invariance-based Butterworth Filter Η τεχνική του Impulse Invariance (II) περιγράφει το πως από ένα ϕίλτρο συνεχούς χρόνου h c (t) µπορεί κανείς να υλοποιήσει το αντίστοιχο διακριτού χρόνου h[n], απλά δειγµατοληπτώντας την κρουστική του απόκριση ϕίλτρου συνεχούς χρόνου h c (t). Αν η συνάρτηση µεταφοράς στο χώρο του Laplace που περιγράφει ένα ϕίλτρο h c (t) δίνεται ως H c (s) = N k= A k s s k () τότε η µέθοδος II µετατρέπει το ϕίλτρο αυτό σε διακριτού χρόνου h c [n] µε µετασχ. Ζ ως H(z) = N k= A k e s kt dz (2) µε T d την περίοδο δειγµατοληψίας του ϕίλτρου. Με άλλα λόγια, κάθε όρος της µορφής A k s s της συνάρτησης k A µεταφοράς H c (s) αντιστοιχίζεται σε έναν όρο της µορφής k e s k T της συνάρτησης µεταφοράς H(z). dz (αʹ) Χρησιµοποιώντας MATLAB, υλοποιήστε µε αναλυτικό τρόπο - υλοποιώντας πρώτα το αντίστοιχο ϕίλτρο συνεχούς χρόνου - ένα ψηφιακό χαµηλοπερατό Butterworth ϕίλτρο, µε προδιαγραφές που συζητήσατε στις διαλέξεις. Προς διευκόλυνσή σας, ϑυµίζεται ότι το ϕίλτρο αυτό έχει προδιαγραφές 0.8925 H(e jω ), 0 ω 0.2π (3) H(e jω ) 0.7783, 0.3π ω π (4) Εφ οσον η περίοδος δειγµατοληψίας T d δεν έχει σηµασία στη µέθοδο αυτή, ϑεωρήστε ότι T d =. Με αυτόν τον τρόπο, η διακριτή συχνότητα ω αντιστοιχεί στη συνεχή συχνότητα Ω, δηλ. Άρα οι παραπάνω προδιαγραφές µετατρέπονται ως Ω = ω (5) 0.8925 H(jΩ), 0 Ω 0.2π (6) H(jΩ) 0.7783, 0.3π Ω π (7) Αυτές είναι λοιπόν οι προδιαγραφές του ϕίλτρου συνεχούς χρόνου, το οποίο πρέπει να υλοποιήσετε ϱητά, και µετά να το µετατρέψετε σε διακριτού χρόνου µε τη µέθοδο της Impulse Invariance. Εν συντοµία, πρέπει να

Ψηφιακή Επεξεργασία Σήµατος - 208/Πέµπτο Εργαστήριο 2 λύσετε στο χαρτί σας τις εξισώσεις που υπολογίζουν τις παραµέτρους N, Ω c του αναλογικού ϕίλτρου Butterworth στο χώρο του Fourier: αυτές σας δόθηκαν στο µάθηµα, και δεδοµένου ότι το Butterworth ϕίλτρο είναι της µορφής H c (jω) 2 = ( ) 2N (8) + Ω Ωc αυτές οι εξισώσεις είναι ( 0.2π ) 2N ( ) 2 + = (9) Ω c 0.8925 ( 0.3π ) 2N ( ) 2 + = (0) Ω c 0.7783 και προέρχονται από την ισότητα στις προδιαγραφές (6, 7). Λύστε αναλυτικά το παραπάνω σύστηµα στην αναφορά σας και ϐρείτε ότι N = 5.8858 και Ω c = 0.70474. Χρησιµοποιήστε το MATLAB ως αριθµοµηχανή. Μεταφέρετε τις λύσεις των εξισώσεων - όχι τους αριθµούς! - στο script αρχείο BW_II.m. Το N πρέπει να είναι ακέραιος, οπότε ϑέστε το N ως το άνω ακέραιο µέρος της τιµής που ϐρήκατε. Υπολογίστε ξανά την τιµή της Ω c, για αυτήν τη νέα τιµή του N, και δείξτε ότι αυτή είναι Ω c = 0.7032. από τα παραπάνω, ϐρείτε τους πόλους s k του ϕίλτρου Butterworth, µεταφέροντας την εξίσωσή του ϕίλτρου στο χώρο του Laplace: γνωρίζετε την εξίσωση των πόλων από τις διαλέξεις, γράψτε όµως αναλυτικά τη διαδικασία που τους ϐρίσκετε στην αναφορά σας. Προγραµµατίστε τους πόλους αυτούς στο MATLAB. κρατήστε µόνο αυτούς που αντιστοιχούν σε ευσταθές και αιτιατό ϕίλτρο : από το σύνολο των πόλων που προγραµµατίσατε στο MATLAB, επιλέξτε µόνο τους απαραίτητους, δηλ. όσους ϐρίσκονται στο αριστερό µιγαδικό ηµιεπίπεδο του s-χώρου. είτε το σχήµα των διαλέξεών σας. Χρησιµοποιήστε τη συνάρτηση real επάνω στο διάνυσµα των πόλων sk που προγραµµατίσατε πριν. σχηµατίστε το ϕίλτρο B(s)/A(s) που δηµιουργούν οι πόλοι που επιλέξατε : ο λόγος πολυωνύµων του s ϑα ϕτιαχτεί ακριβώς όµοια µε τα πολυώνυµα του z που γνωρίζετε πως κατασκευάζονται στο MATLAB, δηλ. χρησιµοποιώντας τους συντελεστές τους µόνο σε διανύσµατα B και A. έχοντας πλέον το ϕίλτρο συνεχούς χρόνου (τους συντελεστές πολυωνύµων του s αριθµητή B και παρονοµαστή A αντίστοιχα) χρησιµοποιήσετε τις εντολές impinvar, freqz, grpdelay για να µετατρέψετε το αναλογικό ϕίλτρο σε ψηφιακό και να δείτε την απόκριση πλάτους και την καθυστέ- ϱηση οµάδας, αντίστοιχα. Παραδώστε τα σχήµατα στην αναφορά σας. Για όλα τα παραπάνω, σας δίνεται ο σκελετός - κώδικας στο αρχείο BW_II.m, τον οποίο και πρέπει να συµπληρώσετε. Ελέγξτε το σχήµα του ϕάσµατος πλάτους. Τι παρατηρείτε για το ω p = 0.2π και για το ω s = 0.3π, σε σχέση µε τα αρχικά (δηλ. τις προδιαγραφές); Κάνετε µεγέθυνση των εικόνων στις κρίσιµες συχνότητες και δείτε/επιβεβαιώσετε την ακρίβεια των υπολογισµών σας. Καταγράψτε στην αναφορά σας τις παρατηρήσεις σας και παραδώστε το γράφηµα που παρήγαγε το συµπληρωµένο αρχείο. (ϐʹ) Ολα αυτά που κάνατε ϱητά στο παραπάνω αρχείο µπορούν να γίνουν και χωρίς όλη την παραπάνω αναλυτική διαδικασία, πιο εύκολα, µε χρήση έτοιµων συναρτήσεων. Σας δίνουµε τις εντολές : fs = ; % sampling frequency: does not matter Wp = wp*fs; Ws = ws*fs; % Find optimum N, Wc [Nm, Wcm] = buttord(wp, Ws, -20*log0(d), -20*log0(d2), s ); Με άλλα λόγια, αν κάποιος ϑελήσει να αλλάξει τις τιµές των προδιαγραφών, τα νέα Ω c, N να υπολογίζονται αυτόµατα.

Ψηφιακή Επεξεργασία Σήµατος - 208/Πέµπτο Εργαστήριο 3 [Bm, Am] = butter(nm, Wcm, s ); % Constructs the filter [Bzm, Azm] = impinvar(bm, Am, fs); % Analog -> Digital [Hm, w] = freqz(bzm, Azm, 52); [Gdm, w] = grpdelay(bzm, Azm, 52); figure; subplot(3);plot(w/pi, 20*log0(abs(Hm))); % Divide with pi for easier check subplot(32);plot(w/pi, abs(hm)); subplot(33);plot(w/pi, Gdm) Απλά τρέξτε τις και επιβεβαιώστε ότι παίρνετε το ίδιο αποτέλεσµα/γράφηµα µε την αναλυτική µέθοδο που συµπληρώσατε παραπάνω. Παραδώστε στην αναφορά σας το γράφηµα που σας δίνουν. Περάστε το σήµα ϕωνής που σας δίνεται (speech.wav) µέσα από το παραπάνω ϕίλτρο (εντολή filter). Ακούστε το αποτέλεσµα και καταγράψτε τις παρατηρήσεις σας στην αναφορά σας. II. Bilinear Transform-based Butterworth Filter Η τεχνική του Bilinear Transformation (BT) αποφεύγει το εγγενές πρόβληµα του aliasing που υπάρχει στην µέθοδο της Impulse Invariance. Η τεχνική αυτή αντιστοιχεί τη συχνότητα Ω του συνεχούς χρόνου στη συχνότητα π ω π του διακριτού χρόνου, µέσω του µη-γραµµικού µετασχηµατισµού s = 2 T d ( z + z ) () δηλ. H(z) = H c ( 2 T d ( z + z )) Οι παραπάνω σχέσεις οδηγούν (δείτε τις διαλέξεις ή το ϐιβλίο σας) στις σχέσεις (2) Ω = 2 T d tan(ω/2) (3) ω = 2 tan (ΩT d /2) (4) (αʹ) Χρησιµοποιώντας MATLAB, υλοποιήστε µε αναλυτικό τρόπο - υλοποιώντας πρώτα το αντίστοιχο ϕίλτρο συνεχούς χρόνου - ένα ψηφιακό χαµηλοπερατό Butterworth ϕίλτρο, µε προδιαγραφές που συζητήσατε στις διαλέξεις. Προς διευκόλυνσή σας, ϑυµίζεται ότι το ϕίλτρο αυτό έχει προδιαγραφές 0.8925 H(e jω ), 0 ω 0.2π (5) H(e jω ) 0.7783, 0.3π ω π (6) Εφ οσον η περίοδος δειγµατοληψίας T d δεν έχει σηµασία και στη µέθοδο αυτή, ϑεωρήστε ότι T d =. Με αυτόν τον τρόπο, η διακριτή συχνότητα ω αντιστοιχεί στη συνεχή συχνότητα Ω µε τις σχέσεις Άρα οι παραπάνω προδιαγραφές µετατρέπονται ως Ω = 2 tan(ω/2) (7) ω = 2 tan (Ω/2) (8) 0.8925 H(jΩ), 0 Ω 2 T d tan(0.2π/2) (9) H(jΩ) 0.7783, 2 T d tan(0.3π/2) Ω (20) Αυτές είναι λοιπόν οι προδιαγραφές του ϕίλτρου Butterworth συνεχούς χρόνου, το οποίο πρέπει να υλοποιήσετε ϱητά, και µετά να το µετατρέψετε σε διακριτού χρόνου. Εν συντοµία, ϑα πρέπει να

Ψηφιακή Επεξεργασία Σήµατος - 208/Πέµπτο Εργαστήριο 4 λύσετε στο χαρτί σας τις εξισώσεις που υπολογίζουν τις παραµέτρους N, Ω c του αναλογικού ϕίλτρου στο χώρο του Fourier: αυτές σας δόθηκαν στο µάθηµα, και - ξανά - δεδοµένου ότι το Butterworth ϕίλτρο είναι της µορφής H c (Ω) 2 = ( ) 2N (2) + Ω Ωc αυτές οι εξισώσεις είναι ( + 2 tan(0.π) ( + 2 tan(0.5π) ) 2N ( ) 2 = (22) Ω c 0.8925 ) 2N ( ) 2 = (23) Ω c 0.7783 και προέρχονται από την ισότητα στις προδιαγραφές (9, 20). Λύστε αναλυτικά το παραπάνω σύστηµα και ϐρείτε ότι N = 5.305. Χρησιµοποιήστε το MATLAB ως αριθµοµηχανή. Μεταφέρετε τις λύσεις των εξισώσεων - όχι τους αριθµούς! - στο script αρχείο BW_BT.m 2. Το N πρέπει να είναι ακέραιος, οπότε ϑέστε το N ως το άνω ακέραιο µέρος της τιµής που ϐρήκατε. Υπολογίστε ξανά την τιµή της Ω c, για αυτήν τη νέα τιµή του N, και δείξτε ότι αυτή είναι Ω c = 0.766. από τα παραπάνω, ϐρείτε τους πόλους s k του ϕίλτρου Butterworth, µεταφέροντας την εξίσωσή του ϕίλτρου στο χώρο του Laplace: γνωρίζετε την εξίσωση των πόλων από τις διαλέξεις και έχετε ήδη γράψει αναλυτική την εύρεσή τους σε αντίστοιχο ερώτηµα στη µέθοδο Impulse Invariance. Οπότε απλά προγραµµατίστε τους πόλους αυτούς στο MATLAB. κρατήστε µόνο αυτούς που αντιστοιχούν σε ευσταθές και αιτιατό ϕίλτρο : από το σύνολο των πόλων που προγραµµατίσατε στο MATLAB, επιλέξτε µόνο τους απαραίτητους, δηλ. όσους ϐρίσκονται στο αριστερό µιγαδικό ηµιεπίπεδο του s-χώρου. είτε το σχήµα των διαλέξεών σας. Χρησιµοποιήστε τη συνάρτηση real επάνω στο διάνυσµα των πόλων sk που προγραµµατίσατε πριν. σχηµατίστε το ϕίλτρο B(s)/A(s) που δηµιουργούν οι πόλοι που επιλέξατε : ο λόγος πολυωνύµων του s ϑα ϕτιαχτεί ακριβώς όµοια µε τα πολυώνυµα του z που γνωρίζετε πως κατασκευάζονται στο MATLAB, δηλ. χρησιµοποιώντας τους συντελεστές τους µόνο σε διανύσµατα B και A. έχοντας πλέον το ϕίλτρο συνεχούς χρόνου (τους συντελεστές πολυωνύµων του s αριθµητή B και παρονοµαστή A αντίστοιχα) χρησιµοποιήσετε τις εντολές bilinear, freqz, grpdelay για να µετατρέψετε το αναλογικό ϕίλτρο σε ψηφιακό και να δείτε την απόκριση πλάτους και την καθυστέ- ϱηση οµάδας, αντίστοιχα. Παραδώστε τα σχήµατα στην αναφορά σας. Για όλα τα παραπάνω, σας δίνεται ο σκελετός - κώδικας στο αρχείο BW_BT.m, τον οποίο και πρέπει να συµπληρώσετε. Ελέγξτε το σχήµα του ϕάσµατος πλάτους. Τι παρατηρείτε για το ω p και για το ω s, σε σχέση µε τα αρχικά (δηλ. µε τις προδιαγραφές); Κάνετε µεγέθυνση των εικόνων στις κρίσιµες συχνότητες και δείτε/επιβεβαιώσετε την ακρίβεια των υπολογισµών σας. Καταγράψτε στην αναφορά σας τις παρατηρήσεις σας και παραδώστε το γράφηµα που παρήγαγε το συµπληρωµένο αρχείο. (ϐʹ) Ολα τα παραπάνω µπορούν να γίνουν και χωρίς όλη την παραπάνω διαδικασία, πιο εύκολα, µε χρήση έτοιµων συναρτήσεων. Σας δίνουµε τις εντολές : fs = ; % sampling frequency in Hz : does not matter Wp = 2*fs*tan(wp/2); Ws = 2*fs*tan(ws/2); % Find optimum N, Wc [Nm, Wcm] = buttord(wp, Ws, -20*log0(d), -20*log0(d2), s ); [Bm, Am] = butter(nm, Wcm, s ); % Construct filter 2 Με άλλα λόγια, αν κάποιος ϑελήσει να αλλάξει τις τιµές των προδιαγραφών, τα νέα Ω c, N να υπολογίζονται αυτόµατα.

Ψηφιακή Επεξεργασία Σήµατος - 208/Πέµπτο Εργαστήριο 5 [Bzm, Azm] = bilinear(bm, Am, fs); % Analog -> Digital [Hm, w] = freqz(bzm, Azm, 52); [Gdm, w] = grpdelay(bzm, Azm, 52); figure; subplot(3);plot(w/pi, 20*log0(abs(Hm))); % Divide with pi for easier check subplot(32);plot(w/pi, abs(hm)); subplot(33);plot(w/pi, Gdm) Περάστε το σήµα ϕωνής που σας δίνεται (speech.wav) µέσα από το παραπάνω ϕίλτρο (εντολή filter). Ακούστε το αποτέλεσµα και καταγράψτε τις παρατηρήσεις σας στην αναφορά σας. Υπάρχει διαφορά µε το προηγούµενο ; Ασκηση 2 - Σχεδίαση FIR Φίλτρων Χρησιµοποιώντας MATLAB, υλοποιήστε το παράδειγµα σχεδίασης ενός χαµηλοπερατού - µε συχνότητα αποκοπής ω c = π/2 - FIR ϕίλτρου γραµµικής ϕάσης µε χρήση παραθύρου Kaiser, που είδαµε στις διαλέξεις. Οπως ϑυµάστε, η ϕιλοσοφία της σχεδίασης έγκειται στην παραθυροποίηση της κρουστικής απόκρισης ενός ιδανικού ϕίλτρου. Πιο συγκεκριµένα : (αʹ) ηµιουργήστε ένα αρχείο Lab5_Kaiser.m. (ϐʹ) Οι προδιαγραφές του ϕίλτρου σας είναι ω p = 0.4π (24) ω s = 0.6π (25) δ = 0.00 (26) (γʹ) Η συχνότητα αποκοπής ω c είναι Προγραµµατίστε τα παραπάνω στο MATLAB. ω c = ω p + ω s 2 (27) (δʹ) Οι παράµετροι 3 του παραθύρου Kaiser δίνονται ως ω = ω s ω p (28) A = 20 log 0 δ (29) 0.02(A 8.7), A > 50 β = 0.5842(A 2) 0.4 + 0.07886(A 2), 2 A 50 (30) 0.0, A < 2 και η παράµετρος M του παραθύρου (ϑέση τελευταίου µη µηδενικού δείγµατος) πρέπει να ικανοποιεί τη σχέση M = A 8 2.285 ω (3) ενώ α = M/2 (32) Προγραµµατίστε τις παραπάνω εξισώσεις στο MATLAB, µε την ίδια ϕιλοσοφία µε τις προηγούµενες υλοποιήσεις ϕίλτρων. Επιβεβαιώστε ότι για τις προδιαγραφές που σας δίνονται οι τιµές που λαµβάνετε είναι 3 Σεβασµός στον Kaiser που έβγαλε αυτές τις εξισώσεις! :-) ω = 0.2π, A = 60, β = 5.653, M = 36.3 37, α = 8.5 (33)

Ψηφιακή Επεξεργασία Σήµατος - 208/Πέµπτο Εργαστήριο 6 (εʹ) Το γινόµενο του παραθύρου Kaiser µε την ιδανική κρουστική απόκριση του χαµηλοπερατού ϕίλτρου γραµµικής ϕάσης (δηλ. η επιθυµητή κρουστική απόκριση) στο πεδίο του χρόνου δίνεται ως sin(ω c (n a)) I 0 [β( [(n α)/α] 2 ) /2 ], 0 n M h[n] = π(n α) I 0 (β) (34) 0, αλλού Χρησιµοποιήστε την εντολή besseli για να παράγετε την τροποποιηµένη συνάρτηση Bessel µηδενικού ϐαθ- µού και πρώτου είδους I 0 ( ), µε ορίσµατα τα α, β που ϐρήκατε 4. Με ϐάση τα παραπάνω :. Χρησιµοποιήσετε τις εντολές freqz, grpdelay για να δείτε την απόκριση πλάτους και την καθυστέρηση οµάδας, αντίστοιχα. Τυπώστε επίσης την κρουστική απόκριση που ϕτιάξατε (εντολή stem). Παραδώστε τα γραφήµατα που προέκυψαν. Τι Τύπου ϕίλτρο γραµµικής ϕάσης ϕτιάξατε ; Εξηγείστε. 2. Χρησιµοποιήστε τώρα ένα απλό τετραγωνικό παράθυρο (διάρκειας M +, δηλ. η κρουστική του απόκριση αποτελείται από M + άσσους) αντί για Kaiser παράθυρο, και σχεδιάστε την απόκριση πλάτους και την καθυστέρηση οµάδας του ϕίλτρου γραµµικής ϕάσης που λαµβάνετε. Χρησιµοποιήστε την εντολή stem για να σχεδιάσετε τη µοναδιαία απόκριση του. Συγκρίνετε στην αναφορά σας την απόκριση πλάτους του ϕίλτρου που παίρνετε τώρα σε σχέση µε αυτό που πήρατε µε το παράθυρο Kaiser. 3. Περάστε το σήµα ϕωνής που σας δίνεται (speech.wav) µέσα από το παραπάνω χαµηλοπερατό ϕίλτρο µε παράθυρο Kaiser (εντολή filter) που ϕτιάξατε. Ακούστε το αποτέλεσµα και καταγράψτε τις παρατηρήσεις σας στην αναφορά σας. Ασκηση 3 - Ανάλυση Φίλτρων Στις διαλέξεις δουλέψαµε µόνο µε το ϕίλτρο Butterworth για τη σχεδίαση IIR ϕίλτρων αλλά στην πραγµατικότητα υπάρχουν δεκάδες ϕίλτρα τα οποία µπορούν να χρησιµοποιηθούν για πολλούς σκοπούς. Στο αρχείο Lab5OtherFilters.p ϑα ϐρείτε 8 ϕίλτρα τα οποία έχουµε οπτικοποιήσει για σας. Σκοπός σας είναι αφ ενός να δείτε τις διαφορετικές ποικιλίες/σχεδιάσεις ϕίλτρων που υπάρχουν - και να επιβεβαιώσετε ότι όντως η σχεδίαστη ϕίλτρων αποτελεί τέχνη! - και αφέτέρου να αναγνωρίσετε τα χαρακτηριστικά τους, συµπληρώνοντας τον Πίνακα. (αʹ) Εκτελέστε το αρχείο που σας δίνεται και ϑα λάβετε 8 σχήµατα που περιγράφουν κάθε ϕίλτρο από όλες τις οπτικές γωνίες που είδαµε στο µάθηµα. Ελέγξτε τα διαγράµµατα πόλων-µηδενικών και δείτε πόσο πολύπλοκα είναι. Ελέγξτε το µέτρο του µετασχ. Z και δείτε πως οι πόλοι και τα µηδενικά σχηµατίζουν την απόκριση πλάτους του ϕίλτρου. (ϐʹ) Το πρώτο γράφηµα που σας δίνεται αποτελεί ένα χαµηλοπερατό ϕίλτρο, το οποίο δε συµπεριφέρεται καλά, διότι οι προδιαγραφές που έχουµε δώσει είναι πολύ αυστηρές στην pass-band µε αποτέλεσµα το ϕίλτρο να µην µπορεί να τις ακολουθήσει, µε συνέπεια αυτό να καταστρέφεται - δεν είναι όλα έτσι, µην ανησυχείτε :). Ολα τα στοιχεία του ϕίλτρου αυτού έχουν συµπληρωθεί για σας στην πρώτη γραµµή του Πίνακα. Συµπληρώστε όµοια και τα υπόλοιπα και παραδώστε τον στην αναφορά σας. Εναλλακτικά, µπορείτε να συµπληρώσετε τον Πίνακα ηλεκτρονικά (το Adobe Reader έχει την ικανότητα αυτή) και να παραδώσετε το PDF της εκφώνησης στον ϕάκελο µε τα παραδοτέα σας. Στις καταχωρήσεις του πίνακα µπορείτε να ϐάλετε όποιες λέξεις-ϕράσεις πιστεύετε ότι περιγράφουν τα χαρακτηριστικά του ϕίλτρου στις αντίστοιχες µπάντες συχνοτήτων (passband, transition band, stopband). Θυµηθείτε ότι ϑέλουµε η passband να είναι επίπεδη ή να έχει µικρές ταλαντώσεις, η transition band να είναι όσο απότοµη γίνεται, και η stopband να είναι εντελώς µηδενική ή να έχει µικρές ταλαντώσεις. 4 Υπάρχει ϕυσικά η εντολή kaiser η οποία σας επιστρέφει το παράθυρο Kaiser, µε τα χαρακτηριστικά που ϑέλετε.

Ψηφιακή Επεξεργασία Σήµατος - 208/Πέµπτο Εργαστήριο 7 Για την παράδοση της άσκησης, γράψτε πλήρη αναφορά, συµπεριλαµβάνοντας απαντήσεις σε όλα τα ερωτήµατα του εργαστηρίου, καθώς και διαγράµµατα/γραφήµατα/εικόνες µε τα αποτελέσµατά σας, και συµπεριλάβετε τον κώδικα MATLAB σε ξεχωριστά.m files. Η παράδοση γίνεται αποκλειστικά µε το πρόγραµµα TURNIN. Ανάθεση : 5/2/208 Προθεσµία : 2//209, timestamp: 23:59:59

Ψηφιακή Επεξεργασία Σήµατος - 208/Πέµπτο Εργαστήριο 8 Αρ. Φίλτρου Χαµηλοπερατό Υψιπερατό Ζωνοπερατό Γραµµικής Φάσης FIR/IIR Pass-band Transition band Stop-band IIR Κακή Απότοµη Καλή 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 Πίνακας : Πίνακας Χαρακτηριστικών Φίλτρου