Σ. Φωτόπουλος Ασκήσεις ΨΕΣ 1 ΑΣΚΗΣΗ 6 Σχεδίαση FIR και IIR φίλτρων στο Matlab Στην άσκηση αυτή γίνεται σχεδιασµός FIR και ΙΙR ψηφιακών φίλτρων. (Σε επόµενη άσκηση θα γίνει και η υλοποίηση µε τον επεξεργαστή TMS320C6711) Α) FIR Σχετικές εντολές του Matlab: FIR1, REMEZ, REMEZORD, KAISERORD, FIRCLS1, FIR2, FIRLS, FIRCLS, CREMEZ, FREQZ, FILTER, KAISER, HAMMING, HANNING, TRIANG, BARLETT, BOXCAR, CEIL Α1. ΜΕΘΟ ΟΣ ΤΩΝ ΠΑΡΑΘΥΡΩΝ Οι συντελεστές του FIR βαθυπερατού φίλτρου αρχικά είναι: h[n] = sin( ω o (n L)) για 0 n M 1 π(n M ) 0 για τιςαλλες τιµες όπου L=(M-1)/2, και ω ο η συχνότητα αποκοπής στη ζώνη διέλευσης Επιλέγοντας το αντίστοιχο παράθυρο µε συντελεστές b[n] βρίσκουµε τις τελικές τιµές των συντελεστών ως το γινόµενο b[n]*h[n]. Στο Matlab η διαδικασία αυτή γίνεται σε µία φάση µε την εντολή: FIR1 Οι παραµετροι που πρέπει να υπολογισθούν είναι: H τάξη M του φίλτρου και εποµένως το µήκος του παραθύρου σχετίζονται µε (τον τύπο του παραθύρου και) την ζώνη µετάβασης ω= ω s -ω p (Βλ. Πίνακα) Η συχνότητα "αποκοπής" ω n = ( ω s +ω p )/2 που αντιστοιχεί στο µέσον της ζώνης µετάβασης Τύπος παραθύρου f - normalized (Μεταβατική Περιοχή) Ορθογώνιο 0.9/Μ 21dB Bartlett 3.05/M 25dB Hanning 3.1/M 44dB Hamming 3.3/M 53dB Blackman 5.5/Μ 74dB Ελάχιστη εξασθένηση στη ζώνη αποκοπής Στη διαδικασία εισαγωγής των τιµών αυτών στην εντολή FIR1 πρέπει να ληφθεί υπόψη ο νορµαλισµός ως προς την συχνότητα δειγµατοληψίας που στο Matlab είναι f s /2=1
Σ. Φωτόπουλος Ασκήσεις ΨΕΣ 2 Α.2 Σχεδιάστε ένα βαθυπερατό (Lowpass) φίλτρο (µε την µέθοδο των παραθύρων) που να ικανοποιεί τις παρακάτω προδιαγραφές: συχνότητα ακµής στη ζώνη αποκοπής f p = 8 khz συχνότητα ακµής στη ζώνη διέλευσης f s =10 khz εξασθένηση στη ζώνη αποκοπής >50dB παράθυρο Hamming Yπόδειξη: Η τιµή Μ θα στογγυλοποιηθεί προς τα πάνω, Ν=ceil(M) για τις παραπάνω προδιαγραφές. A.3 Α.4 Επαναλάβετε την παραπάνω διαδικασία για την υλοποίηση ενός FIR υψιπερατού (Highpass) φίλτρου µε τις ακόλουθες προδιαγραφές: συχνότητα ακµής στη ζώνη διέλευσης f p = 8 khz ακµή στη ζώνη αποκοπής f s =10 khz εξασθένηση στη ζώνη αποκοπής >50dB παράθυρο Blackman Α.5 Επαναλάβετε την παραπάνω διαδικασία για την υλοποίηση ενός FIR ζωνοδιαβατού (Bandpass) φίλτρου µε τις ακόλουθες προδιαγραφές: συχνότητα άνω ακµής διέλευσης 12 khz συχνότητα άνω ακµής αποκοπής 14kHz συχνότητα κάτω ακµής διέλευσης 6 khz συχνότητα κάτω ακµής αποκοπής 4kHz εξασθένηση στις ζώνες αποκοπής >50dB παράθυρο Blackman
Σ. Φωτόπουλος Ασκήσεις ΨΕΣ 3 Το φίλτρο αυτό (ζωνοδιαβατό) θα σχεδιασθεί µε την εντολή FIR1. Στην περίπτωση αυτή το µήκος του παραθύρου Ν θα υπολογισθεί από την ζώνη µετάβασης ω και σύµφωνα µε τον πίνακα. Επειδή όµως υπάρχουν ουσιαστικά δύο ζώνες µετάβασης θα χρησιµοποιηθεί η στενώτερη. Ενας άλλος τρόπος σχεδιασµού ζωνοδιαβατών φίλτρων βασίζεται στο σχεδιασµό δύο βαθυπερατών φίλτρων και αφαίρεση των αντίστιχων συντελεστών. (Προτείνεται) Α.6 Επαναλάβετε την παραπάνω διαδικασία για την υλοποίηση ενός FIR φίλτρου αποκοπής ζώνης (Bandstop) µε τις ακόλουθες προδιαγραφές: συχνότητα άνω ακµής διέλευσης 14 khz συχνότητα άνω ακµής αποκοπής 12kHz συχνότητα κάτω ακµής διέλευσης 4 khz συχνότητα κάτω ακµής αποκοπής 6kHz παράθυρο Hamming Για το σχεδιασµό του φίλτρου αυτού ισχύει ότι και για το ζωνοδιαβατό φίλτρο
Σ. Φωτόπουλος Ασκήσεις ΨΕΣ 4 Β) ΙΙR Σχετικές εντολές του Matlab: BUTTER, BUTTORD, CHEBY1, CHEB1ORD, ELLIP, FREQZ, FILTER,IMPZ Β1. Τα ΙΙR ψηφιακά φίλτρα που θα σχεδιάσουµε προέρχονται από αντίστοιχες συναρτήσεις συνεχούς χρόνου µορφής Butterworth ή Chebyshev µε χρησιµοποίηση του διγραµµικού µετασχηµατισµού. Η τάξη του φίλτρου βρίσκεται από το matlab (buttord, cheb1ord) Σε όλες τις περιπτώσεις εισαγωγής των τιµών συχνότητας πρέπει να ληφθεί υπόψη ο νορµαλισµός ως προς την συχνότητα δειγµατοληψίας που στο Matlab είναι f s /2=1. Oι βασικές προδιαγραφές σε ένα IIR φιλτρο δεικνύονται στο επόµενο σχήµα. 4 2 Butterworth 6ης τάξεως 0-2 rp -4-6 -8-10 rs -12-14 -16 0 0.1 0.2 0.3 0.4 0.5 fp fs Β.2 Σχεδιάστε ένα βαθυπερατό ΙΙR (Lowpass) φίλτρο µε τις παρακάτω προδιαγραφές: συχνότητα ακµής στη ζώνη διέλευσης f p = 8 khz συχνότητα ακµής στη ζώνη αποκοπής f s =10 khz εξασθένηση στη ζώνη αποκοπής >30dB τύπος φίλτρου: Butterworth
Σ. Φωτόπουλος Ασκήσεις ΨΕΣ 5 Β.3 Σχεδιάστε ένα υψιπερατό ΙΙR (highpass) φίλτρο µε τις παρακάτω προδιαγραφές: συχνότητα ακµής στη ζώνη διέλευσης f p = 10 khz συχνότητα ακµής στη ζώνη αποκοπής f s =8 khz τύπος φίλτρου:chebyshev Β.4 Σχεδιάστε ένα ζωνοδιαβατό ΙΙR (bandpass) φίλτρο µε τις παρακάτω προδιαγραφές: συχνότητες ακµών στη ζώνη διέλευσης [8kHz, 12kHz] συχνότητα ακµών στίς ζώνες αποκοπής [4kHz, 14 khz] τύπος φίλτρου:butterworth B.5 Σχεδιάστε ένα ΙΙR φίλτρο αποκοπής ζώνης (bandstop), µε τις εξής προδιαγραφές: συχνότητες ακµών στη ζώνη διέλευσης [4kHz, 14 khz] συχνότητα ακµών στίς ζώνες αποκοπής [6kHz, 12kHz] τύπος φίλτρου: Chebyshev