Συστήματα Ψηφιακής Επεξεργασίας Σήματος σε Πραγματικό Χρόνο 2009 10 ΤΕΙ ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ Συστήματα Ψηφιακής Επεξεργασία Σήματος σε Πραγματικό Χρόνο ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 Αλέξανδρος Τ. Τζάλλας ΑΡΤΑ 2009-2010
Κρουστική Απόκριση Κρουστική Απόκριση - Συνέλιξη Ας θυμηθούμε τη μοναδιαία κρουστική ακολουθία δ(n). Αυτή έχει τιμή 1 για n=0 και τιμή 0 οπουδήποτε αλλού (βλ. Σχήμα 4.1). Εφαρμόζουμε αυτό το σήμα στην είσοδο ενός LTI (Γραμμικό Χρονικά Αμετάβλητο, ΓΧΑ) συστήματος διακριτού χρόνου, το οποίο αρχικά ηρεμεί, δηλαδή εφαρμόζουμε μια διέγερση την στιγμή n=0. Το σήμα εξόδου, το οποίο θα παρατηρηθεί μετά την στιγμή n=0, είναι χαρακτηριστικό του ίδιου του συστήματος. Αυτό το σήμα εξόδου αποτελεί την κ ρ ο υ σ τ ι κ ή απόκριση (impulse response), h(n), του συστήματος. Η κρουστική απόκριση ονομάζεται και φυσική απόκριση του συστήματος. Ένα παράδειγμα κρουστικής απόκρισης συστήματος διακριτού χρόνου δείχνεται στο Σχήμα 4.2. Σχήμα 4.1 Κρουστική ακολουθία Σχήμα 4.2 Κρουστική απόκριση συστήματος διακριτού χρόνου Αν εφαρμόζαμε την διέγερση την στιγμή n=1, τότε η απόκριση του συστήματος θα ήταν ίδια με την προηγούμενη, αλλά θα άρχιζε από την στιγμή n=1, όπως φαίνεται στο Σχήμα 4.3α. Και γενικά, αν εφαρμόζαμε την κρουστική είσοδο την χρονική στιγμή n=m, τότε το αποτέλεσμα θα ήταν η ίδια απόκριση αλλά με αρχή την στιγμή m (Σχήμα 4.3β). Όπως καταλαβαίνουμε αυτό οφείλεται στο γεγονός ότι το σύστημά μας είναι χρονικά αμετάβλητο. 1
Σχήμα 4.3 Κρουστική απόκριση συστήματος διακριτού χρόνου για είσοδο (α) δ(n-1) και (β) δ(n-m) Η κρουστική απόκριση είναι τόσο σημαντική διότι αν τη γνωρίζουμε μπορούμε να υπολογίσουμε την έξοδο του συστήματος οποιαδήποτε κι αν είναι η είσοδος σ αυτό. Ο υπολογισμός αυτός ονομάζεται συνέλιξη (convolution). Συνέλιξη Όπως αναφέραμε προηγουμένως, η έξοδος y(n) του συστήματος θα ισούται με την συνέλιξη της εισόδου x(n) και της κρουστικής h(n) του συστήματος, ή: y(n) = x(n) * h(n) όπου * το σύμβολο της συνέλιξης. Συνέλιξη είναι η διαδικασία κατά την οποία το σήμα εισόδου τροποποιείται σύμφωνα με κάποιους προκαθορισμένους κανόνες. Οι κανόνες αυτοί ονομάζονται φίλτρα. Η διαδικασία υλοποίησης του φίλτρου δηλαδή η διαδικασία υπολογισμού της απόκρισης y(n) δεδομένης της ακολουθίας εισόδου x(n) ονομάζεται συνέλιξη. H συνέλιξη αποτελεί την μαθηματική έκφραση του συνδυασμού δυο σημάτων για τη δημιουργία ενός τρίτου σήματος. Είναι η πιο σημαντική έννοια στην Ψηφιακή Επεξεργασία Σήματος. Η συνέλιξη είναι σημαντική επειδή ακριβώς συνδέει το σήμα εισόδου, το σήμα επιρροής και το σήμα εξόδου. Η εντολή του MATLAB η οποία υλοποιεί τη συνέλιξη δύο σημάτων είναι η conv. Η συνάρτηση conv(x, y) υπολογίζει τη συνέλιξη των διανυσμάτων x και y. Αποτέλεσμα είναι ένα διάνυσμα του οποίου το μήκος είναι Νx+Νy-1 όπου Νx είναι το μήκος του x και Νy το μήκος του y. Το νέο διάνυσμα έχει ως αρχικό δείκτη το άθροισμα των αρχικών δεικτών των x και y δηλαδή L = Lx+Ly όπου Lx ο αριστερός (αρχικός) δείκτης του x και Ly ο αριστερός (αρχικός) δείκτης του y και τελικό δείκτη το άθροισμα των τελικών δεικτών των x και y δηλαδή R = Rx+Ry όπου Rx ο δεξιός (τελικός) δείκτης του x και Ry ο δεξιός (τελικός) δείκτης του y. Κατά συνέπεια αν x είναι το διάνυσμα που παριστάνει την είσοδο στο σύστημα και h το διάνυσμα που παριστάνει την κρουστική του απόκριση, η έξοδος του συστήματος μπορεί να υπολογιστεί μέσω της κλήσης y=conv (h,x) ή ισοδύναμα μέσω της y=conv (x,h) αφού η πράξη του συγκερασμού είναι αντιμεταθετική. 2
Εφαρμογή Πολλαπλασιασμός και διαίρεση πολυωνύμων Ο πολλαπλασιασμός δύο πολυωνύμων μπορεί να γίνει εύκολα στο MATLAB ενεργώντας στις σειρές των συντελεστών τους. Ας θεωρήσουμε, για παράδειγμα, τον πολλαπλασιασμό: (7x 2 + 4x + 3)(6x - 4) = 42x 3-4x 2 + 2x - 12 Στο MATLAB λαμβάνουμε το ίδιο αποτέλεσμα με την πράξη της δίπλωσης ή συνέλιξης (convolution): p1 = [7 4 3]; p2 = [6-4]; p3 = conv(p1,p2) p3 = 42-4 2-12 Η αντίστροφη διαδικασία, δηλαδή η διαίρεση πολυωνύμων, πραγματοποιείται στο MATLAB με αποδίπλωση (deconvolution): [Q, R] = deconv (p3, p1) Q = 6-4 R =0 0 0 0 Η σειρά Q περιέχει τους συντελεστές του πολυωνύμου που είναι πηλίκο της διαίρεσης και η σειρά R περιέχει τους συντελεστές του πολυωνύμου που είναι το υπόλοιπο της διαίρεσης. Οι πράξεις της δίπλωσης και αποδίπλωσης είναι χρήσιμες στην προσομοίωση, τον έλεγχο και την επεξεργασία σημάτων. Η εντολή deconv παράγει δύο ορίσματα εξόδου. Άσκηση 1 Υπολογίστε με τη βοήθεια του Matlab και με τη χρήση της εντολής conv το γινόμενο: (6x 3-5x + 3)(2x 2-8) και στη συνέχεια με την ενολή deconv υπολογίστε το πηλίκο και το υπόλοιπο της διαίρεσης (6x 3-5x + 3)/(2x 2-8), καθώς και της διαίρεσης (2x 2 + 7x + 8)(-2x + 5). 3
4 Άσκηση 2 Υπολογίστε τη συνέλιξη των ακολουθιών a=[ 3 1 0 3 ] και b =[ 1 3 1 2 ]. Σχεδιάστε τις γραφικές παραστάσεις των τριών σημάτων με τη χρήση της εντολής subplot. (ΠΡΟΣΟΧΗ: Για την σχεδίαση της συνέλιξης να λάβετε υπόψη σας το μήκος του διανύσματος που δημιουργείται.)
Άσκηση 3 Με τη χρήση του Matlab, υπολογίστε και σχεδιάστε τη συνέλιξη των ακολουθιών a=[ -2 0 1-1 3 ] και β =[ 1 2 0 1 ]. 5
Άσκηση 4 Ορίζουμε το n σε ένα διάστημα από -10 έως 10 και δυο ακολουθίες, την x με τιμές 1, 2, 3, 4, 5 για n από 0 έως 4 και την h (κρουστική απόκριση ) με τιμές 1, 2, 1 για n από -1 έως 1. Με τη χρήση του Matlab υπολογίστε και σχεδιάστε την συνέλιξη των x και h. 6
7
Βιβλιογραφία 1. Getting Started With MATLAB, Revised by Clinton Wolfe Original by David Hart, Indiana University, June 1999 2. Συμπληρωματικές Σημειώσεις Ψηφιακής Επεξεργασίας Εικόνας με το Matlab 5.3, Δρ. Αθανάσιος Νικολαΐδης, Τ.Ε.Ι. Σερρών, 2004 3. Ψηφιακή Επεξεργασία Εικόνας, Δρ. Χαράλαμπος Στρουθόπουλος, Τ.Ε.Ι. Σερρών, Μάιος 2005 4. Ψηφιακή Επεξεργασία Σήματος,Monson H. Hayes. 5. Digital Signal Processing, Sanjit Mitra 7. Βασικές Τεχνικές Ψηφιακής Επεξεργασίας Σημάτων, Γ. Μουστακίδης. 8. Matlab για Μηχανικούς, 9. Ψηφιακή Επεξεργασία Σήματος,Γ. Σύρκος. 10. Τεχνολογία Πολυμέσων, Θεωρία και Πράξη, Σ.Ν. Δημητριάδης, Α.Σ. Μπομπόρτσης 11. Εισαγωγή στο MATLAB, Ανδρέου Γεώργιος, Πουλιάκα Μαρία, Γιαννακοπούλου Μαρία, Πανταζόπουλος Αθανάσιος, Αθήνα 2004 8