Ψηφιακή Επεξεργασία Σήματος

Σχετικά έγγραφα
Άσκηση 06: Φίλτρα πεπερασμένης κρουστικής απόκρισης (Finite Impulse Response (F.I.R.) Filters)

Ψηφιακή Επεξεργασία Σήματος

Ψηφιακή Επεξεργασία Σήματος

Ψηφιακή Επεξεργασία Σήματος

Άσκηση 8: Παραγωγή αλλοιωμένης φωνής (Alien voices generation)

Ψηφιακή Επεξεργασία Σήματος

Ψηφιακή Επεξεργασία Σήματος

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

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

ΑΡΧΕΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

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

Σχεδίαση Ηλεκτρονικών Κυκλωμάτων RF

Συστήματα Αυτόματου Ελέγχου

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

Σήματα και Συστήματα ΙΙ

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

Ψηφιακή Επεξεργασία Σήματος

Σχεδίαση Ηλεκτρονικών Κυκλωμάτων RF

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

Σήματα και Συστήματα ΙΙ

Εισαγωγή στις Τηλεπικοινωνίες / Εργαστήριο

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

Συστήματα Αυτομάτου Ελέγχου

Άσκηση 4: Παραγωγή Ημιτονικών Κυμάτων (Sine waves generation)

Συστήματα Αυτόματου Ελέγχου

Παρουσίαση του μαθήματος

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

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ ΗΛΕΚΤΡΟΑΚΟΥΣΤΙΚΗΣ

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

Έλεγχος Κίνησης

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

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

Εισαγωγή στις Τηλεπικοινωνίες. Δομή της παρουσίασης

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

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

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

Συστήματα Αυτόματου Ελέγχου

7 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

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)

Ιατρικά Ηλεκτρονικά. Χρήσιμοι Σύνδεσμοι. ΙΑΤΡΙΚΑ ΗΛΕΚΤΡΟΝΙΚΑ - ΔΙΑΛΕΞΗ 5α. Σημειώσεις μαθήματος: E mail:

Αρχές Τηλεπικοινωνιών

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

Συστήματα Αυτομάτου Ελέγχου

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου

Ιατρικά Ηλεκτρονικά. Χρήσιμοι Σύνδεσμοι. ΙΑΤΡΙΚΑ ΗΛΕΚΤΡΟΝΙΚΑ - ΔΙΑΛΕΞΗ 5γ. Σημειώσεις μαθήματος: E mail:

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Β: Ευστάθεια Συστήματος (Γ Μέρος)

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

Τι είναι σήμα; Παραδείγματα: Σήμα ομιλίας. Σήμα εικόνας. Σεισμικά σήματα. Ιατρικά σήματα

Συστήματα Αυτόματου Ελέγχου

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

Σχεδίαση Ηλεκτρονικών Κυκλωμάτων RF

15/3/2009. Ένα ψηφιακό σήμα είναι η κβαντισμένη εκδοχή ενός σήματος διάκριτου. χρόνου. Φλώρος Ανδρέας Επίκ. Καθηγητής

Συστήματα Αυτόματου Ελέγχου

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

Εισαγωγή στις Τηλεπικοινωνίες

9 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

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

1) Να σχεδιαστούν στο matlab οι γραφικές παραστάσεις των παρακάτω ακολουθιών στο διάστημα, χρησιμοποιώντας τις συναρτήσεις delta και step.

Βιομηχανικοί Ελεγκτές

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

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

5o Εργαστήριο Σ.Α.Ε Ενότητα : Ελεγκτές PID

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

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

ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ Ενότητα 3: ΣΥΝΕΛΙΞΗ

Βιομηχανικοί Ελεγκτές

4 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

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

Υπολογίζουμε εύκολα τον αντίστροφο Μετασχηματισμό Fourier μιας συνάρτησης χωρίς να καταφεύγουμε στην εξίσωση ανάλυσης.

Συστήματα Αυτομάτου Ελέγχου

8 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

ΕΙΣΑΓΩΓΗ ΣΤΑ ΗΛΕΚΤΡΟΝΙΚΑ ΦΙΛΤΡΑ

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ

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

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

Εισαγωγή στις Τηλεπικοινωνίες / Εργαστήριο

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

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου

Συστήματα Αυτομάτου Ελέγχου II

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 2 η : Δισδιάστατα Σήματα & Συστήματα Μέρος 1

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Σερρών Τμήμα Πληροφορικής & Επικοινωνιών Σήματα και Συστήματα

ΗΛΕΚΤΡΟΝΙΚΗ Ι ΔΙΑΓΡΑΜΜΑΤΑ BODE ΣΥΜΠΛΗΡΩΜΑΤΙΚΟ ΤΕΥΧΟΣ ΣΗΜΕΙΩΣΕΩΝ

6. ΚΕΦΑΛΑΙΟ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ LAPLACE

ΕΙΣΑΓΩΓΗ και ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ μέσω CCS. (Α) Διαδικασία εισαγωγής των εργαστηριακών ασκήσεων

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

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

Εισαγωγή στις Τηλεπικοινωνίες / Εργαστήριο

Μιγαδικός λογισμός και ολοκληρωτικοί Μετασχηματισμοί

Εισαγωγή στις Τηλεπικοινωνίες / Εργαστήριο

3 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

11 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

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

Άσκηση 3: Ηχώ και Αντήχηση (Echo and Reverberation)

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

Εισαγωγή στις Τηλεπικοινωνίες / Εργαστήριο

Σχεδίαση Ηλεκτρονικών Κυκλωμάτων RF

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 6 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

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

Transcript:

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ψηφιακή Επεξεργασία Σήματος Ενότητα Ι: Σχεδίαση Ψηφιακών Φίλτρων Άπειρης Κρουστικής Απόκρισης (Infinite Impulse Response (I.I.R.) Filters Design) Όνομα Καθηγητή: Ραγκούση Μαρία Τμήμα: Ηλεκτρονικών Μηχανικών Τ.Ε.

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 2

1. Σκοποί ενότητας... 4 2. Περιεχόμενα ενότητας... 4 3. Εισαγωγή... 4 4. Σχέση Εισόδου Εξόδου (Εξίσωση Διαφορών) και Συνάρτηση Μεταφοράς... 5 4.1Παράδειγμα IIR φίλτρου με N = 1... 8 4.2 Παράδειγμα IIR φίλτρου με N = 1... 9 4.3 Παράδειγμα IIR φίλτρου με N = 2... 10 4.4 Παράδειγμα IIR φίλτρου με N = 2... 12 5. Σχεδίαση Ψηφιακών IIR Φίλτρων Μέσω Διγραμμικού Μετασχηματισμού... 14 5.1 Ο Διγραμμικός Μετασχηματισμός: από τον Laplace στον Ζ.... 14 5.2 Η χρήση του BLT στη σχεδίαση ψηφιακών φίλτρων IIR.... 16 5.3 Σφάλμα «κβαντισμού» κατά την υλοποίηση IIR φίλτρων σε υπολογιστικό σύστημα... 18 5.4 Εργαλεία λογισμικού για τη σχεδίαση ψηφιακών φίλτρων... 19 6. ΕΙΣΑΓΩΓΗ ΣΤΟ ΕΡΓΑΣΤΗΡΙΟ ΥΛΟΠΟΙΗΣΗ ΙIR Filters... 20 6.1 Σκοπός της εργαστηριακής άσκησης... 20 6.2 Η συνδεσμολογία του TMS320C5505... 21 6.3 Συνοπτικά βήματα... 21 6.4 Εκτέλεση του κώδικα ως έχει:... 21 6.4.1 ΜΑΙΝ.C... 22 6.4.2 ΜΑΙΝ1.C... 23 6.4.3 ΜΑΙΝ2.C... 24 6.4.4 ΜΑΙΝ3.C... 25 6.5 Εκτέλεση του κώδικα μετά από τροποποίηση... 26 6.5.1 Χρήση διαφορετικών συντελεστών φίλτρων... 26 6.6 Ερωτήσεις... 27 3

1. Σκοποί ενότητας Σκοπός της ενότητας είναι: Να γνωρίσουμε τα ψηφιακά IIR φίλτρα. Να κατανοήσουμε τη μέθοδο σχεδίασής τους μέσω του Διγραμμικού Μετασχηματισμού (BLT). Να υλοποιήσουμε μέσω ψηφιακών IIR φίλτρων διάφορους τύπους επιθυμητής απόκρισης συχνότητας (Low-pass, Band-pass, High-pass). Να υλοποιήσουμε ψηφιακά ΙIR φίλτρα με το Texas Instruments TMS320C5505 USB Stick και να πειραματιστούμε, χρησιμοποιώντας ως είσοδο το σήμα από το μικρόφωνο και ακούγοντας το φιλτραρισμένο αποτέλεσμα στο ακουστικά ή στα ηχεία του υπολογιστή. 2. Περιεχόμενα ενότητας Στην ενότητα αυτή θα μελετήσουμε τη σχεδίαση ψηφιακών φίλτρων άπειρης κρουστικής απόκρισης. Ιδιαίτερα θα δούμε: Τη σχέση εισόδου εξόδου (την εξίσωση διαφορών) και τη συνάρτηση μεταφοράς. Τη σχεδίαση ψηφιακών IIR φίλτρων μέσω διγραμμικού μετασχηματισμού. Την εργαστηριακή υλοποίηση IIR φίλτρων. 3. Εισαγωγή Τα ψηφιακά φίλτρα Άπειρης Κρουστικής Απόκρισης (Infinite Impulse Response (IIR) filters) ονομάζονται έτσι διότι η κρουστική τους απόκριση έχει μη μηδενικές τιμές που επεκτείνονται μέχρι το άπειρο στον άξονα του χρόνου, είτε προς τις θετικές τιμές, είτε προς τις αρνητικές, είτε και προς τις δύο κατευθύνσεις, θετικές και αρνητικές. Υπενθυμίζεται ότι η κρουστική απόκριση ενός ψηφιακού συστήματος (φίλτρου) είναι η έξοδός του όταν στην είσοδο δεχθεί την μοναδιαία κρουστική συνάρτηση ή δέλτα του Kronecker, δ(n), η οποία ορίζεται ως 1, n 0 ( n) 0, n 0 4

και συνεπώς είναι φραγμένη κατά πλάτος σε αντίθεση με την αντίστοιχή της μοναδιαία κρουστική συνάρτηση συνεχούς χρόνου ή δέλτα του Dirac, δ(t), η οποία απειρίζεται στο t = 0. Τα ψηφιακά φίλτρα τύπου ΙIR βρίσκουν ευρεία εφαρμογή στην Ψηφιακή Επεξεργασία Σήματος, διότι ως ΙIR φίλτρα μπορούν να υλοποιηθούν όλες οι γνωστές κατηγορίες φίλτρων, δηλαδή βαθυπερατά (low-pass), υψιπερατά (high-pass), ζωνοπερατά (διέλευσης ζώνης band-pass) και ζωνοφρακτικά (αποκοπής ζώνης band-stop). Οι κύριες ιδιότητές τους είναι οι εξής: (α) Μέσω ενός IIR φίλτρου μπορεί να προσεγγιστεί η καμπύλη απόκρισης συχνότητας του επιθυμητού ιδανικού φίλτρου (π.χ. ενός φίλτρου band-pass) με ικανοποιητική ακρίβεια, και με πολύ λιγότερους συντελεστές απ ότι αν χρησιμοποιηθεί FIR φίλτρο. Στην πράξη αυτό συνεπάγεται οικονομία χώρου και εξαρτημάτων κατά την υλοποίηση σε hardware ή χρόνου και υπολογιστικού φόρτου σε πράξεις κατά την υλοποίηση σε software. (β) Η κύρια μέθοδος σχεδίασης των ψηφιακών IIR φίλτρων είναι ο Διγραμμικός Μετασχηματισμός (Bilinear Transform, BLT), ο οποίος μετασχηματίζει σε ψηφιακό ένα αναλογικό αντίστοιχο φίλτρο. Αξιοποιείται έτσι άμεσα όλη η εμπειρία και τεχνογνωσία που έχει συσσωρευτεί για τη σχεδίαση των αναλογικών φίλτρων. (γ) Σε αντίθεση με τα FIR φίλτρα, τα IIR δεν είναι πάντα ευσταθή, διότι η συνάρτηση μεταφοράς τους περιέχει πόλους, οπότε πρόκειται για αναδρομικά συστήματα. Πράγματι, όπως θα δούμε στη συνέχεια, τα φίλτρα IIR περιέχουν βρόχο ανάδρασης feedback loop, ή αλλιώς η έξοδος τη στιγμή n, έστω y(n), εξαρτάται από τις Ν προηγούμενες τιμές της εξόδου, { y(n-1),,y(n-n) }, καθώς και από την τρέχουσα {x(n)} και ενδεχομένως και τις M προηγούμενες { x(n-1),, x(n-m) } τιμές της εισόδου. Συνεπώς η εξασφάλιση της ευστάθειας είναι ευθύνη του σχεδιαστή. (δ) Σε αντίθεση με τα FIR φίλτρα, τα IIR δύσκολα μπορούν να σχεδιαστούν ώστε να έχουν γραμμική καμπύλη φάσης ως προς τη συχνότητα (linear phase), πράγμα που επιτυγχάνεται μόνο κατά προσέγγιση. (ε) Σε αντίθεση με τα FIR φίλτρα, τα IIR είναι πιο ευαίσθητα στη συσσώρευση αριθμητικού σφάλματος λόγω του κβαντισμού των αριθμητικών τιμών των συντελεστών τους, όταν τα φίλτρα αυτά υλοποιούνται σε υπολογιστικό περιβάλλον οπότε οι συντελεστές αναπαρίστανται με πεπερασμένη ακρίβεια. 4. Σχέση Εισόδου Εξόδου (Εξίσωση Διαφορών) και Συνάρτηση Μεταφοράς Η γενική μορφή της σχέσης εισόδου εξόδου ή Εξίσωσης Διαφορών (Difference Equation) ενός ΙIR φίλτρου είναι η εξής: 5

N y( n) a( k) y( n k) b( m) x( n m) k1 m0 N y( n) a( k) y( n k) b( m) x( n m) M M k1 m0 (1) όπου Ν 1 είναι η τάξη του φίλτρου, η οποία καθορίζει και το πλήθος των πόλων και το «βάθος» της αναδρομής. Παρατηρούμε ότι η έξοδος y(n) τη στιγμή n είναι ο γραμμικός συνδυασμός των N προηγούμενων δειγμάτων της εξόδου, { y(n-1),, y(n-n) }, καθώς και του τρέχοντος { x(n) } και των M προηγούμενων δειγμάτων της εισόδου, { x(n-1),, x(n-m) }, με κατάλληλους συντελεστές ή «βάρη» τις τιμές [1, a(1), a(2),, a(n)] και [b(0), b(1),, b(m)], αντίστοιχα. Για να χαρακτηριστεί το φίλτρο ως IIR πρέπει να είναι N 1, ενώ το Μ μπορεί να είναι ακόμη και μηδέν (Μ 0). Για να υπολογίσουμε τη συνάρτηση μεταφοράς του φίλτρου, έστω H(z), μετασχηματίζουμε τη σχέση (1) στο πεδίο της ψηφιακής συχνότητας z, εφαρμόζοντας τον (ορθό) Μετασχηματισμό Z και στα δύο σκέλη της: N Y ( z) a( k) Z{ y( n k)} b( m) Z{ x( n m)} N k1 m0 k m a( k) z Y ( z) b( m) z X ( z) k1 m0 N k m Y ( z) [1 a( k) z ] X ( z) [ b( m) z ] k1 m0 M m [ ( ) ] 1 0 1 ( ) b m z M m0 BM ( z ) (0) (1) b( M ) z H( z) N 1 0 1 2 N ( ) k N ( ) 1 z a(1) z a(2) z a( N ) z Y z b z b z X z A z [1 a( k) z ] k 1 M M M Στη σχέση (2) με κεφαλαίο γράμμα συμβολίζεται ο Μετασχηματισμός Z του αντίστοιχου σήματος με μικρό γράμμα στο πεδίο του χρόνου: (2) Y ( z) Z{ y( n)}, X ( z) Z{ x( n)}, n0 H ( z) Z{ h( n)} h( n) z n (3) Επίσης στη σχέση (2) έχουν χρησιμοποιηθεί οι ιδιότητες (α) της Γραμμικότητας και (β) της Χρονικής Μετάθεσης του Μετασχηματισμού Z: (a) Γραμμικότητα: Z{ a1x 1( n) a2x2 ( n)} a1z{ x1( n)} a2z{ x2( n)}, (4a) (b) Χρονική Μετάθεση: { ( )} k k Z x n k z Z{ x( n)} z X ( z) (4b) (c) Γράφουμε τη συνάρτηση μεταφοράς H(z) ως ρητή συνάρτηση με θετικές δυνάμεις του z: 6

M m N M [ b( m) z ] N M M 1 0 m0 BM ( z) NM (0) (1) ( ) z N M N M N N 1 N 2 0 k N ( ) (1) (2) ( ) z z b z b z b M z H ( z) z z A z z a z a z a N z [1 a( k) z ] k 0 Παρατηρούμε ότι η H(z) έχει: (a) M μηδενικά που είναι οι ρίζες του πολυωνύμου Μ τάξης του αριθμητή, έστω B M (z): αυτές αποτελούν τις συχνότητες μηδενισμού (notch frequencies) δηλαδή τις συχνότητες που απορροφά το φίλτρο και δεν επιτρέπει να βγουν στην έξοδο, και είναι είτε πραγματικοί αριθμοί, είτε μιγαδικοί σε ζεύγη συζυγών, (b) N πόλους που είναι οι ρίζες του πολυωνύμου N τάξης του αριθμητή, έστω A N (z): αυτές αποτελούν τις συχνότητες συντονισμού (resonance frequencies) στις οποίες συντονίζεται το φίλτρο και οι οποίες βγαίνουν στην έξοδό του με πολύ μεγάλο πλάτος, και είναι είτε πραγματικοί αριθμοί, είτε μιγαδικοί σε ζεύγη συζυγών. Από τις τιμές τους εξαρτάται η ευστάθεια του φίλτρου: Αν όλοι οι πόλοι βρίσκονται εντός του μοναδιαίου κύκλου z = 1, τότε το IIR φίλτρο είναι ευσταθές, και (c) Ν-Μ μηδενικά στο z = 0 (αν Ν > Μ) ή Μ-Ν πόλους στο z = 0 (αν Ν < Μ), λόγω του όρου z N-M. Τα IIR φίλτρα χαρακτηρίζονται και ως φίλτρα Autoregressive Moving Average ή εν συντομία AR-MA(M,N) αν και ο όρος αυτός τυπικά είναι ακριβής αν τα σήματα εισόδου και εξόδου δεν είναι ντετερμινιστικά αλλά στοχαστικά. Η ειδοποιός διαφορά των φίλτρων IIR από τα φίλτρα FIR είναι η ύπαρξη πόλων, δηλαδή η ύπαρξη ενός τουλάχιστον πόλου, Ν 1. Συνεπώς το φίλτρο εξακολουθεί να χαρακτηρίζεται ως IIR ακόμη και στην ειδική περίπτωση που είναι M = 0 (καθόλου μηδενικά, μόνο πόλοι), οπότε η συνάρτηση μεταφοράς δεν έχει αριθμητή αλλά μόνο παρονομαστή, ή διαφορετικά ο αριθμητής είναι πολυώνυμο Μ = 0 βαθμού: (5) b(0) b(0) b(0) H( z) A ( z) z a(1) z a(2) z a( N ) z [1 a( k) z ] N N N 1 N 2 0 k N k 0 (6) Στην περίπτωση αυτή το IIR φίλτρο χαρακτηρίζεται και ως Autoregressive ή AR(N) αν και ο όρος αυτός τυπικά είναι ακριβής αν τα σήματα εισόδου και εξόδου δεν είναι ντετερμινιστικά αλλά στοχαστικά. Τέλος, με βάση τη σχέση (1) και αξιοποιώντας τη βαθμίδα μοναδιαίας ψηφιακής καθυστέρησης [z -1 ], ένα ΙIR φίλτρο μπορεί να συντεθεί σε μορφή διαγράμματος βαθμίδων χρησιμοποιώντας τις τρεις στοιχειώδεις βαθμίδες του πολλαπλασιαστή, του χρονο-καθυστερητή και του αθροιστή. Στο επόμενο σχήμα φαίνεται το διάγραμμα βαθμίδων ενός IIR φίλτρου με Μ = 2 μηδενικά και N = 3 πόλους, σε Direct Form I: 7

x(n) b( 0) y(n) z -1 z -1 b( 1) -a(1) z -1 z -1 b( 2) -a(2) z -1 -a(3) 4.1Παράδειγμα IIR φίλτρου με N = 1 Η συνάρτηση μεταφοράς του φίλτρου έχει στον παρονομαστή πολυώνυμο πρώτου βαθμού ως προς z, δηλαδή έχει ένα πόλο ενώ δεν έχει καθόλου μηδενικά: 10 H() z 1 1 0.1z (7) Το φίλτρο αυτό είναι ευσταθές διότι ο μοναδικός πόλος του είναι z = - 0.1, δηλαδή μέσα στο μοναδιαίο κύκλο του επιπέδου Ζ. Στο επόμενο σχήμα φαίνεται η απόκριση συχνότητας (καμπύλες μέτρου και φάσης). 8

Η καμπύλη μέτρου δείχνει ότι το φίλτρο αυτό έχει χαρακτήρα High-pass (υψιπερατό), ενώ η καμπύλη φάσης είναι μη γραμμική. Η κρουστική του απόκριση δίνεται από τη σχέση: 1 1 10 1 z n h( n) Z { H( z)} Z { } 10 Z { } 10 (0.1) u( n) 1 10.1z z0.1 (8) δηλαδή είναι εκθετικά φθίνουσα, οπότε μαθηματικά δεν μηδενίζεται ακριβώς για οσοδήποτε μεγάλο n, αν και πρακτικά για αρκετά μεγάλο n = N eff μπορεί να θεωρηθεί το h(n) 0. 4.2 Παράδειγμα IIR φίλτρου με N = 1 Η συνάρτηση μεταφοράς του φίλτρου έχει και στον αριθμητή και στον παρονομαστή πολυώνυμο πρώτου βαθμού ως προς z, δηλαδή έχει ένα πόλο και ένα μηδενικό: 1 0.6z H( z) 10 1 0.1 z 1 1 (9) Το φίλτρο αυτό είναι επίσης ευσταθές διότι ο μοναδικός πόλος του είναι z = - 0.1, δηλαδή μέσα στο μοναδιαίο κύκλο του επιπέδου Ζ. Στο επόμενο σχήμα φαίνεται η απόκριση συχνότητας (καμπύλες μέτρου και φάσης). 9

Η καμπύλη μέτρου δείχνει ότι το φίλτρο αυτό έχει χαρακτήρα low-pass (βαθυπερατό), ενώ η καμπύλη φάσης είναι και πάλι μη γραμμική. Η κρουστική του απόκριση δίνεται από τη σχέση 1 1 1 10 6z 1 z0.6 n n1 h( n) Z { H ( z)} Z { } 10 Z { } 10 (0.1) u( n) 6 (0.1) u( n 1) 1 10.1z z0.1 (10) δηλαδή είναι και πάλι εκθετικά φθίνουσα, οπότε μαθηματικά δεν μηδενίζεται ακριβώς για οσοδήποτε μεγάλο n, αν και πρακτικά για αρκετά μεγάλο n = N eff μπορεί να θεωρηθεί το h(n) 0. 4.3 Παράδειγμα IIR φίλτρου με N = 2 Η συνάρτηση μεταφοράς του φίλτρου έχει στον παρονομαστή πολυώνυμο δεύτερου βαθμού ως προς z, ενώ δεν έχει καθόλου μηδενικά: 10 H() z 1 2 1 0.2z 0.9z (11) Το φίλτρο αυτό είναι ευσταθές διότι οι πόλοι του είναι οι συζυγείς μιγαδικοί z 1,2 = 0.1 ± j 0.94, οπότε z 1,2 = 0.95 < 1, δηλαδή μέσα στο μοναδιαίο κύκλο του επιπέδου Ζ: 10

Στο επόμενο σχήμα φαίνεται η απόκριση συχνότητας (καμπύλες μέτρου και φάσης). Η καμπύλη μέτρου δείχνει ότι το φίλτρο αυτό έχει χαρακτήρα band-pass (ζωνοπερατό), ενώ η καμπύλη φάσης είναι ισχυρά μη γραμμική. Η κρουστική του απόκριση είναι και πάλι εκθετικά φθίνουσα, λόγω της ευστάθειας, όπως φαίνεται στο ακόλουθο σχήμα: 11

4.4 Παράδειγμα IIR φίλτρου με N = 2 Η συνάρτηση μεταφοράς του φίλτρου έχει στον αριθμητή και στον παρονομαστή πολυώνυμα δεύτερου βαθμού ως προς z, δηλαδή έχει δύο πόλους και δύο μηδενικά: 1 2 10 0.1z 10z H( z) (12) 1 2 1 0.2z 0.9z Το φίλτρο αυτό είναι ευσταθές διότι οι πόλοι του είναι οι συζυγείς μιγαδικοί z 1,2 = + 0.1 ± j 0.94, οπότε z 1,2 = 0.95 < 1, δηλαδή μέσα στο μοναδιαίο κύκλο του επιπέδου Ζ: 12

Στο επόμενο σχήμα φαίνεται η απόκριση συχνότητας (καμπύλες μέτρου και φάσης). Η καμπύλη μέτρου δείχνει ότι το φίλτρο αυτό έχει χαρακτήρα band-stop (ζωνοφρακτικό), ενώ η καμπύλη φάσης είναι και πάλι ισχυρά μη γραμμική. Η κρουστική του απόκριση είναι και πάλι εκθετικά φθίνουσα, λόγω της ευστάθειας, όπως φαίνεται στο ακόλουθο σχήμα: Μια τέτοια βαθμίδα 2 ης τάξης μπορεί να συνδυαστεί σε σειρά ή παράλληλα με άλλες βαθμίδες 1 ης ή 2 ης τάξης για να δώσουν IIR φίλτρα τάξης μεγαλύτερης του 2. Γενικά η σχεδίαση ψηφιακών IIR φίλτρων τάξης μεγαλύτερης του 2 γίνεται με σύνδεση σε 13

σειρά βαθμίδων τάξης 1 και 2. Αυτή η μέθοδος, μεταξύ άλλων, βοηθά να συγκρατείται σε χαμηλά επίπεδα και το σφάλμα «κβαντισμού» των συντελεστών του φίλτρου, όταν αυτό υλοποιείται σε επεξεργαστή σταθερής υποδιαστολής (βλ. και επόμενη παράγραφο). Στο παράδειγμα του σχήματος (από το SImulink) φαίνεται η υλοποίηση ενός φίλτρου 4 ης τάξης από τη σύνδεση σε σειρά δύο βαθμίδων 2 ης τάξης: 5. Σχεδίαση Ψηφιακών IIR Φίλτρων Μέσω Διγραμμικού Μετασχηματισμού 5.1 Ο Διγραμμικός Μετασχηματισμός: από τον Laplace στον Ζ. Tόσο τα σήματα όσο και τα συστήματα, είτε αναλογικά είτε ψηφιακά, αναπαρίστανται είτε στο πεδίο του χρόνου είτε στο πεδίο της συχνότητας. Οι δύο αναπαραστάσεις είναι ισοδύναμες από πλευράς πληροφορίας, αλλά ανάλογα με την εκάστοτε εφαρμογή και το πώς ακριβώς δίνονται οι προδιαγραφές της σχεδίασης, μπορεί να εξυπηρετεί η μία ή η άλλη αναπαράσταση. Είναι συνεπώς απαραίτητο ο μηχανικός να μπορεί να μεταβαίνει από τη μία στην άλλη και τανάπαλιν. Η μετάβαση από το πεδίο του χρόνου στο πεδίο της συχνότητας για τα μεν αναλογικά σήματα γίνεται μέσω του Μετασχηματισμού Laplace, για δε τα ψηφιακά μέσω του Μετασχηματισμού Ζ. Και στις δύο περιπτώσεις μεταβαίνουμε σε μιγαδική μεταβλητή της συχνότητας. Στην περίπτωση του Μετασχηματισμού Laplace, η μεταβλητή παριστάνεται ως s = σ + j ω, σε καρτεσιανές συντεταγμένες. Το πραγματικό μέρος της s, σ = Real{ s }, σχετίζεται με τη μεταβατική απόκριση του συστήματος (Transient response). Συγκεκριμένα, ανάλογα με τη σχέση του σ 14

με το 0 (σ > 0, σ = 0, σ < 0), καθορίζεται η αύξουσα, αμείωτη ή φθίνουσα εκθετική περιβάλλουσα της ταλάντωσης στην έξοδο του συστήματος. Το φανταστικό μέρος της s, ω = Imag{ s } σχετίζεται με την απόκριση του συστήματος κατά τη Μόνιμη Κατάσταση (Steady-state response). Συγκεκριμένα, καθορίζει την συχνότητα της ταλάντωσης. Στην περίπτωση του Μετασχηματισμού Ζ, η μεταβλητή παριστάνεται ως z = z ejω, σε πολικές συντεταγμένες. Το μέτρο της z, έστω z, σχετίζεται με τη μεταβατική απόκριση του συστήματος (Transient Response). Συγκεκριμένα, ανάλογα με τη σχέση του z με τη μονάδα ( z > 1, z = 1, z < 1), καθορίζεται η αύξουσα, αμείωτη ή φθίνουσα εκθετική περιβάλλουσα της ταλάντωσης στην έξοδο του συστήματος. Η φάση της z, έστω Ω, σχετίζεται με την απόκριση του συστήματος κατά τη Μόνιμή Κατάσταση (Steady-state Response). Συγκεκριμένα, καθορίζει τη συχνότητα της ταλάντωσης. Ο Διγραμμικός Μετασχηματισμός (Bilinear Transform, BLT) είναι ένας μη γραμμικός μετασχηματισμός, που ορίζεται ως 1s z1 z s 1s z 1 (13) και απεικονίζει αμφιμονοσήμαντa το αριστερό ημιπεπίπεδο του πεδίου s στο εσωτερικό του μοναδιαίου κύκλου του πεδίου z, τον κατακόρυφο άξονα jω του πεδίου s στο μοναδιαίο κύκλο του πεδίου z, το δεξί ημιεπίπεδο του πεδίου s στο εξωτερικό του μοναδιαίου κύκλου του πεδίου z. Για τα αναλογικά σήματα και συστήματα, ο Μετασχηματισμός Fourier προκύπτει ως ειδική περίπτωση του Μετασχηματισμού Laplace, αν περιοριστούμε από όλο το πεδίο της μιγαδικής μεταβλητής συχνότητας s μόνο στον κατακόρυφο άξονα j ω, δηλαδή θέσουμε σ = 0 => s -> j ω (στην πράξη αυτό σημαίνει ότι η ανάλυση που ακολουθεί ισχύει μόνο κατά τη Μόνιμη Κατάσταση της εξόδου του συστήματος και όχι κατά το Μεταβατικό Φαινόμενο). Για τα ψηφιακά (διακριτού χρόνου) σήματα και συστήματα, ο Μετασχηματισμός Fourier Διακριτού Χρόνου προκύπτει ως ειδική περίπτωση του Μετασχηματισμού Z, αν περιοριστούμε από όλο το πεδίο της μιγαδικής μεταβλητής συχνότητας z μόνο στον μοναδιαίο κύκλο, δηλαδή θέσουμε z =1 => z = exp(j Ω) (στην πράξη αυτό σημαίνει ότι η ανάλυση που ακολουθεί ισχύει μόνο κατά τη Μόνιμη Κατάσταση της εξόδου του συστήματος και όχι κατά το Μεταβατικό Φαινόμενο). Δεδομένης της μεγάλης πρακτικής σημασίας του Μετασχηματισμού Fourier και στις δύο ανωτέρω περιπτώσεις, αφού μέσω του Μετασχηματισμού Fourier αποκτούμε το φάσμα ενός σήματος ή την απόκριση συχνότητας ενός συστήματος, είναι σημαντικό να συσχετιστούν οι δύο άξονες συχνοτήτων, ω και Ω. 15

Από τον ορισμό του BLT, εξισώνοντας μέτρα και φάσεις, έχουμε: 1 s 1 ( j) (1 ) z z e e 1 s 1 ( j) 2 2 (1 ) 2 2 j j{ (1 j ) (1 j )} 1 1 1 1 (1 j) (1 j) tan ( ) tan ( ) (14) Θέτοντας σ = 0 ή αντίστοιχα z = 1, παίρνουμε τη σχέση μεταξύ των δύο συχνοτήτων, «αναλογικής» ω και κανονικοποιημένης ή «ψηφιακής» Ω: 2 1 2 tan ( ) tan( ) (15) Η σχέση είναι αμφιμονοσήμαντη αλλά μη γραμμική, και ονομάζεται «στρέβλωση» του άξονα των συχνοτήτων (frequency warping) 5.2 Η χρήση του BLT στη σχεδίαση ψηφιακών φίλτρων IIR. Η ανωτέρω σχέση (15) μας οδηγεί στην εξής μέθοδο σχεδίασης ψηφιακών IIR φίλτρων: 1. Σχεδιάζουμε ένα αναλογικό φίλτρο (συνάρτηση μεταφοράς Η(s) στο πεδίο Laplace). 2. Χρησιμοποιούμε τη σχέση (15) κάνοντας «προ- στρέβλωση»(pre-warping) για να πάρουμε το ω από το Ω. 3. Διαιρούμε τη μεταβλητή s του αναλογικού φίλτρου με το ω. 4. Μετατρέπουμε τη συνάρτηση μεταφοράς του αναλογικού φίλτρου στην αντίστοιχη του ψηφιακού, μετασχηματίζοντας τη μεταβλητή s στη μεταβλητή z, χρησιμοποιώντας τον τύπου του BLT (σχέση 13). Παράδειγμα: Σχεδίαση ψηφιακού βαθυπερατού φίλτρου IIR 1 ης τάξης (Butterworth(1)) με συχνότητα αποκοπής 3KHz και συχνότητα δειγματοληψίας 24KHz. BHMA 1 ο : Σχεδιάζουμε ένα αναλογικό βαθυπερατό φίλτρο 1 ης τάξης. Στην παθητική του εκδοχή είναι μία βαθμίδα RC, όπως αυτό του παρακάτω σχήματος, όπου για ευκολία έχουν επιλεγεί τιμές R = C = 1 (στην ενεργό του εκδοχή είναι ένας τελεστικός ενισχυτής σε αναστρέφουσα συνδεσμολογία, παράλληλο συνδυασμό R, C στον κλάδο ανάδρασης, δηλαδή ένας μη ιδανικός ολοκληρωτής). 16

H() s 1 sc 1 1 1 R 1sRC sc 1s R C 1 (16) ΒΗΜΑ 2 ο : Χρησιμοποιούμε τη σχέση (15) για να κάνουμε pre-warping και να πάρουμε την αναλογική συχνότητα αποκοπής ω_c από την «ψηφιακή» (κανονικοποιημένη) Ω_c: 2 F f 3000 c 2 2 f 24000 8 c c analog tan( ) tan( ) tan( ) tan( ) tan( ) 0.4 sampling (17) BHMA 3 ο : Διαιρούμε τη μεταβλητή s του αναλογικού φίλτρου με το ω_c. 1 c 0.4 Hs ( / c ) 1 s / s s 0.4 BHMA 4 ο : Μετασχηματίζουμε την H(s) σε Η(z) εφαρμόζοντας τον BLT: c c 0.4 0.4 0.4 0.4z 0.286 0.286z H ( s) H ( z) 1 1 s 0.4 z 1 0.4 1.4 0.6z 1 0.429z z 1 1 1 (18) ΕΠΙΒΕΒΑΙΩΣΗ ΠΡΟΔΙΑΓΡΑΦΩΝ: Σχεδιάζουμε την απόκριση συχνότητας του φίλτρου για να επιβεβαιώσουμε ότι είναι βαθυπερατού τύπου, με συχνότητα αποκοπής στα 3KHz. 17

Από την καμπύλη μέτρου διαπιστώνουμε ότι το φίλτρο είναι βαθυπερατού τύπου και η συχνότητα αποκοπής (στα 3 db) είναι πράγματι 3ΚΗz. Η καμπύλη φάσης διαπιστώνουμε ότι είναι ισχυρά μη γραμμική. 5.3 Σφάλμα «κβαντισμού» κατά την υλοποίηση IIR φίλτρων σε υπολογιστικό σύστημα Η μορφή (18) της συνάρτησης μεταφοράς του φίλτρου που σχεδιάστηκε προηγουμένως, έχει κανονικοποιημένους συντελεστές ώστε ο μεγαλύτερος να είναι = 1, άρα είναι μορφή κατάλληλη για υλοποίηση σε υπολογιστικό σύστημα με επεξεργαστή κινητής υποδιαστολής. Προκειμένου να μετατραπεί σε μορφή κατάλληλη για επεξεργαστή σταθερής υποδιαστολής, αντιστοιχούμε το μεγαλύτερο συντελεστή 1 με τον μεγαλύτερο θετικό ακέραιο που υποστηρίζει ο επεξεργαστής. Για επεξεργαστή με ακρίβεια 16 bits, αυτός είναι ο 2 15 1 = 32767. Άρα για να μετατραπούν όλοι οι συντελεστές σε μορφή σταθερής υποδιαστολής, πολλαπλασιάζονται όλοι επί 32767: 0.286 0.286z 9371.4 9371.4z 9371 9371z H flp ( z) H ( z) 1 0.429z 32767 14057z 32767 14507z 1 1 1 1 fxp 1 1 Η προσέγγιση που αναπόφευκτα γίνεται στην περίπτωση αυτή εισάγει σφάλμα αντίστοιχο με το σφάλμα κβαντισμού, το οποίο είναι μη αντιστρεπτό. Αυτό αποτελεί (19) 18

και ένα πρακτικό μειονέκτημα της μεθόδου, διότι το σφάλμα αυτό σε πολλές περιπτώσεις δεν είναι καθόλου αμεληταίο και απομακρύνει την πραγματική από την επιθυμητή καμπύλη απόκρισης συχνότητας αισθητά. Στο επόμενο σχήμα φαίνεται η επίδραση αυτού του σφάλματος στην καμπύλη μέτρου της απόκρισης συχνότητας ενός υψιπερατού φίλτρου: 5.4 Εργαλεία λογισμικού για τη σχεδίαση ψηφιακών φίλτρων Η σχεδίαση ψηφιακών φίλτρων γίνεται σήμερα με τη βοήθεια πακέτων λογισμικού, όπως το Matlab, το οποίο παρέχει το Filter Design and Analysis (FDA) Tool για τη σχεδίαση φίλτρων. Στο επόμενο σχήμα φαίνεται μία τυπική οθόνη του εργαλείου αυτού, με τις παραμέτρους για τη σχεδίαση ψηφιακού βαθυπερατού φίλτρου ΙIR τάξης Ν = 2, συχνότητας δειγματοληψίας 8 KHz, συχνότητας αποκοπής 1 KHz: 19

Τέλος, πρακτικά μας ενδιαφέρει να αξιοποιήσουμε και εκτός Matlab το φίλτρο που σχεδιάστηκε εντός του περιβάλλοντος αυτού. Αυτό επιτυγχάνεται εξάγοντας τους συντελεστές του φίλτρου, όταν ολοκληρωθεί επιτυχώς η σχεδίαση, σε ένα αρχείο τύπου.h (header file), το οποίο στη συνέχεια μπορεί να περιληφθεί (#include) σε ένα πρόγραμμα σε γλώσσα C/C++. 6. ΕΙΣΑΓΩΓΗ ΣΤΟ ΕΡΓΑΣΤΗΡΙΟ ΥΛΟΠΟΙΗΣΗ ΙIR Filters 6.1 Σκοπός της εργαστηριακής άσκησης Η εργαστηριακή αυτή άσκηση αφορά την υλοποίηση σε γλώσσα C μίας σειράς από ψηφιακά φίλτρα τύπου IIR, την εφαρμογή τους πάνω στο σήμα που εισάγεται από την εξωτερική πηγή σήματος (μουσική ή ημίτονο από γεννήτρια σάρωσης) και την ακρόαση του αποτελέσματος, δηλαδή του φιλτραρισμένου σήματος, στα ακουστικά ή τα ηχεία του υπολογιστή. 20

6.2 Η συνδεσμολογία του TMS320C5505 6.3 Συνοπτικά βήματα Χρησιμοποιήστε τα αρχεία προγράμματος (τον κώδικα) που δίνεται στην Άσκηση 07 «Φίλτρα Άπειρης Κρουστικής Απόκρισης (IIR filters)». Αν δεν υπάρχουν ήδη στο φάκελο Desktop -> My Documents -> Workspace -> example_07, δημιουργείστε το φάκελο αυτό και αντιγράψτε τα αρχεία της άσκησης μέσα σ αυτόν. Ακολουθήστε ΟΛΑ τα βήματα και τις ρυθμίσεις παραμέτρων που δίνονται στο φυλλάδιο «Εισαγωγή και Εκτέλεση Προγραμμάτων στο CCS». Συνοπτικά: 1) Πραγματοποιούμε την ζητούμενη συνδεσμολογία, που φαίνεται στο Σχήμα. 2) Ανοίγουμε το Code Composer Studio (CCS). 3) Εντοπίζουμε το example_07, και το θέτουμε SET AS ACTIVE PROJECT 4) Ανοίγουμε τα αρχεία της άσκησης επιλέγοντας το [+] 5) Κάνουμε διπλό κλικ στο main.c της άσκησης (ΠΡΟΣΟΧΗ: έχουμε αποκλείσει τα main1.c, main2.c και main3.c όπως εξηγείται στη συνέχεια) 6) Από το Project->Properties ρυθμίζουμε τα Properties (όπως στο φυλλάδιο «Εισαγωγή») 7) Επιλέγουμε Project->Build Active project 8) Επιλέγουμε Target->Launch Τ.Ι. Debugger (Target configuration και save, όπως στο φυλλάδιο «Εισαγωγή») 9) Επιλέγουμε Target->Debug active project 10) Επιλέγουμε Target->Run 11) Για να τερματίσουμε την εκτέλεση του προγράμματος, επιλέγουμε Target- >Halt. 6.4 Εκτέλεση του κώδικα ως έχει: Κατά την εκτέλεση της άσκησης, θα χρησιμοποιηθούν τέσσερα διαφορετικά κύρια προγράμματα, τα εξής: 1. main.c 2. main1.c 21

3. main2.c 4. main3.c Κάθε φορά ένα μόνο από αυτά πρέπει να είναι ενεργό, και τα υπόλοιπα απενεργοποιημένα. Για να γίνει αυτό, επιλέγουμε ένα-ένα τα προς απενεργοποίηση προγράμματα, με ΔΕΞΙ CLICK πάνω στο όνομά τους, και στο πλαίσιο που εμφανίζεται επιλέγουμε Exclude File(s) from Build : 6.4.1 ΜΑΙΝ.C Για να μείνει ενεργό μόνο το main.c, αποκλείουμε τα main1.c, main2.c και main3.c. Στο τέλος η εικόνα στο αριστερό menu είναι η εξής: Στο Tab Console (Κονσόλα) η εικόνα επεξηγεί τη λειτουργία του προγράμματος main.c, όταν εκτελείται ως έχει (χωρίς τροποποίηση του κώδικα). Κατά την εκτέλεση, το πρόγραμμα μεταβαίνει κυκλικά ανά 20 sec μεταξύ δέκα (10) διαφορετικών σεναρίων, ενώ κάθε μετάβαση σηματοδοτείται από αριθμό flashes του LED. 22

1. Το σενάριο 1 δεν χρησιμοποιεί φίλτρο, οπότε στα ακουστικά φτάνει ο ήχος που εισέρχεται από την εξωτερική πηγή ήχου (μουσικής). 2. Στα σενάρια 2 έως και 6, χρησιμοποιείται ένα ζεύγος βαθυπερατού και υψιπερατού IIR φίλτρου, με ίσες συχνότητες αποκοπής, δηλαδή διαδοχικά 600, 1200, 2400, 4800 και 9600 Hz, αντίστοιχα στο κάθε σενάριο. Το μουσικό σήμα εισόδου διαχωρίζεται σε δύο ζώνες (μπάσσα πρίμα), με συχνότητα διαχωρισμού (crossover frequency) τη (ίδια) συχνότητα αποκοπής του βαθυπερατού και του υψιπερατού φίλτρου. Η χαμηλόσυχνη συνιστώσα απομονώνεται από το βαθυπερατό φίλτρο και οδηγείται στο αριστερό ακουστικό ενώ η υψίσυχνη συνιστώσα απομονώνεται από το υψιπερατό φίλτρο και οδηγείται στο δεξί ακουστικό. 3. Στα σενάρια 7 έως και 10, χρησιμοποιείται ένα ζεύγος ζωνοπερατού ζωνοφρακτικού φίλτρου, συμπληρωματικά ως προς τις ζώνες, δηλαδή η ζώνη διέλευσης του ζωνοπερατού είναι ακριβώς η ζώνη αποκοπής του ζωνοφρακτικού. Η πρώτη οδηγείται στο αριστερό ακουστικό ενώ η δεύτερη στο δεξί. Οι ζώνες είναι διαδοχικά για τα σενάρια, 600-1200 Ηz, 1200-2400 Hz, 2400-4800 Hz και 4800-9600 Ηz. 6.4.2 ΜΑΙΝ1.C Για να μείνει ενεργό μόνο το main1.c, αποκλείουμε τα main.c, main2.c και main3.c. Στο τέλος η εικόνα στο αριστερό menu είναι η εξής: Όταν εκτελείται το main1.c, ως σήμα εισόδου χρησιμοποιείται μία γεννήτρια ημιτόνου, του οποίου η συχνότητα αυξάνει γραμμικά με το χρόνο (sweep generator), σαρώνοντας την ακουστική ζώνη συχνοτήτων 20Ηz 20KHz. 23

Στο Tab Console (Κονσόλα) η εικόνα επεξηγεί τη λειτουργία του προγράμματος main1.c, όταν εκτελείται ως έχει (χωρίς τροποποίηση του κώδικα). Κατά την εκτέλεση, το πρόγραμμα μεταβαίνει κυκλικά ανά 20 sec μεταξύ πέντε (5) διαφορετικών σεναρίων, ενώ κάθε μετάβαση σηματοδοτείται από αριθμό flashes του LED. Το σενάριο 1 δεν χρησιμοποιεί φίλτρο, οπότε στα ακουστικά φτάνει ο ήχος που εισέρχεται από την εξωτερική πηγή ήχου (sweep generator). Στα σενάρια 2 έως και 5, χρησιμοποιείται ένα ζεύγος βαθυπερατού και υψιπερατού IIR φίλτρου, με ίσες συχνότητες αποκοπής, δηλαδή διαδοχικά 600, 1200, 2400, 4800 και 9600 Hz, αντίστοιχα στο κάθε σενάριο. Το σήμα εισόδου διαχωρίζεται σε δύο ζώνες (μπάσσα πρίμα), με συχνότητα διαχωρισμού (crossover frequency) τη (ίδια) συχνότητα αποκοπής του βαθυπερατού και του υψιπερατού φίλτρου. Η χαμηλόσυχνη συνιστώσα απομονώνεται από το βαθυπερατό φίλτρο και οδηγείται στο αριστερό ακουστικό ενώ η υψίσυχνη συνιστώσα απομονώνεται από το υψιπερατό φίλτρο και οδηγείται στο δεξί ακουστικό. Καθώς η συχνότητα εισόδου είναι (ιδανικά) μία και μεταβάλλεται με το χρόνο από 20 Hz 20 KHz, λόγω σάρωσης, αυτή διαδοχικά εισέρχεται και εξέρχεται από τη χαμηλή και την υψηλή ζώνη αντίστοιχα. 6.4.3 ΜΑΙΝ2.C Για να μείνει ενεργό μόνο το main2.c, αποκλείουμε τα main.c, main1.c και main3.c. Στο τέλος η εικόνα στο αριστερό menu είναι η εξής: Όταν εκτελείται το main2.c, ως σήμα εισόδου χρησιμοποιείται μία γεννήτρια ημιτόνου, του οποίου η συχνότητα αυξάνει γραμμικά με το χρόνο (sweep generator), σαρώνοντας την ακουστική ζώνη συχνοτήτων 20Ηz 20KHz. Στο Tab Console (Κονσόλα) η εικόνα επεξηγεί τη λειτουργία του προγράμματος main2.c, όταν εκτελείται ως έχει (χωρίς τροποποίηση του κώδικα). Κατά την 24

εκτέλεση, το πρόγραμμα μεταβαίνει κυκλικά ανά 20 sec μεταξύ έξι (6) διαφορετικών σεναρίων, ενώ κάθε μετάβαση σηματοδοτείται από αριθμό flashes του LED. Στα σενάρια 1 έως και 6, χρησιμοποιείται ένα ζεύγος ζωνοπερατού ζωνοφρακτικού φίλτρου, συμπληρωματικά ως προς τις ζώνες, δηλαδή η ζώνη διέλευσης του ζωνοπερατού είναι ακριβώς η ζώνη αποκοπής του ζωνοφρακτικού. Η πρώτη οδηγείται στο αριστερό ακουστικό ενώ η δεύτερη στο δεξί. Οι ζώνες είναι διαδοχικά για τα σενάρια, 600-1200 Ηz, 600-2400 Ηz, 1200-2400 Hz, 1200-4800 Hz, 2400-4800 Hz και 2400-9600 Ηz. Καθώς η συχνότητα εισόδου είναι (ιδανικά) μία και μεταβάλλεται με το χρόνο από 20 Hz 20 KHz, λόγω σάρωσης, αυτή διαδοχικά εισέρχεται και εξέρχεται από τη ζώνη αποκοπής στη ζώνη διέλευσης και το αντίστροφο. 6.4.4 ΜΑΙΝ3.C Για να μείνει ενεργό μόνο το main3.c, αποκλείουμε τα main.c, main1.c και main2.c. Στο τέλος η εικόνα στο αριστερό menu είναι η εξής: Όταν εκτελείται το main3.c, ως σήμα εισόδου χρησιμοποιείται μία γεννήτρια ημιτόνου, του οποίου η συχνότητα αυξάνει γραμμικά με το χρόνο (sweep generator), σαρώνοντας την ακουστική ζώνη συχνοτήτων 20Ηz 20KHz. Στο Tab Console (Κονσόλα) η εικόνα επεξηγεί τη λειτουργία του προγράμματος main3.c, όταν εκτελείται ως έχει (χωρίς τροποποίηση του κώδικα). Κατά την εκτέλεση, το πρόγραμμα μεταβαίνει κυκλικά ανά 20 sec μεταξύ έξι (6) διαφορετικών σεναρίων, ενώ κάθε μετάβαση σηματοδοτείται από αριθμό flashes του LED. 25

Στα σενάρια 1 έως και 6, χρησιμοποιείται ένα φίλτρο σχισμής ή εγκοπής (notch filter). Το φίλτρο αυτό αποκόπτει ιδανικά μία συγκεκριμένη συχνότητα, πρακτικά μία πολύ στενή ζώνη γύρω από αυτή τη συχνότητα. Η συχνότητα που αποκόπτεται είναι διαδοχικά για τα έξι (6) σενάρια, 300 Ηz, 600 Hz, 1200 Ηz, 2400 Ηz, 4800 Hz, 9600 Ηz. Καθώς η συχνότητα εισόδου είναι (ιδανικά) μία και μεταβάλλεται με το χρόνο από 20 Hz 20 KHz, λόγω σάρωσης, αυτή διαδοχικά εισέρχεται και εξέρχεται από τη στενή ζώνη γύρω από τη συχνότητα που αποκόπτεται. 6.5 Εκτέλεση του κώδικα μετά από τροποποίηση Συνοπτικά βήματα τροποποίησης του κώδικα και εκτέλεσης του προγράμματος: 1) Μεταβαίνουμε στην οθόνη C/C++ Projects (και όχι στην οθόνη Debug), επιλέγοντάς την από τον επιλογέα οθόνης άνω δεξιά. Επιλέγουμε το αρχείο που θα τροποποιήσουμε (π.χ. main.c) και με διπλό κλικ πάνω στο όνομά του, το ανοίγουμε στην κεντρική οθόνη. Με χρήση του editor, τροποποιούμε τον κώδικα C, κατά το επιθυμητό κάθε φορά. Στο τέλος αποθηκεύουμε τις αλλαγές (save). 2) Επιλέγουμε Project->Rebuild Active project. (Στην ερώτηση για overwrite απαντάμε yes). 3) Επιλέγουμε Target->Debug Active project. 4) Επιλέγουμε Target->Run. 5) Για να τερματίσουμε την εκτέλεση του προγράμματος, επιλέγουμε Target->Halt. 6.5.1 Χρήση διαφορετικών συντελεστών φίλτρων Μπορείτε να σχεδιάσετε τους δικούς σας συντελεστές φίλτρων χρησιμοποιώντας το Matlab FDA Tool ή άλλο αντίστοιχο εργαλείο λογισμικού που διατίθεται. Οι νέοι συντελεστές μπορούν να αποθηκευθούν σε ένα νέο αρχείο τύπου.h. Θα πρέπει να συμπεριλάβετε (χρησιμοποιώντας το #include) αυτό το αρχείο.h στο κυρίως πρόγραμμά σας. 26

6.6 Ερωτήσεις Ποια η έννοια του όρου «Άπειρη» στο όνομα των IIR φίλτρων «Φίλτρα Άπειρης Κρουστικής Απόκρισης»; Ποια είναι τα κυριότερα χαρακτηριστικά των ψηφιακών IIR φίλτρων; Τι είναι το σφάλμα κβαντισμού και πώς επηρεάζει ένα ψηφιακό IIR φίλτρο; Τι είναι ο BLT και ποια είναι η μέθοδος σχεδίασης ψηφιακών IIR φίλτρων μέσω BLT; 27