Αλγόριθμος κατασκευής ψηφιακών IIR φίλτρων από αντίστοιχα αναλογικά

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΩΝ ΝΙΚ. Α. ΤΣΟΛΙΓΚΑΣ
Advertisements

MATrix LABoratory Εισαγωγή στο MatLab
ΗΥ430 ΨΗΦΙΑΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ
ΗΜΥ 100 Εισαγωγή στην Τεχνολογία 7 Νοεμβρίου 2008 Στυλιανή Πετρούδη ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Τομέας Γεωδαισίας και Τοπογραφίας 3ο Εξάμηνο
Μετασχηματισμός αναλογικών φίλτρων σε ψηφιακά Η κλασική μέθοδος για το σχεδιασμό ψηφιακών φίλτρων βασίζεται στο μετασχηματισμό ενός αναλογικού φίλτρου.
Πρόγραμμα Αγωγής Υγείας «Τρώω σωστά,μεγαλώνω σωστά» Σχολικό έτος ο Νηπιαγωγείο Πατρών.
Αριθμητική Επίλυση Διαφορικών Εξισώσεων 1. Συνήθης Δ.Ε. 1 ανεξάρτητη μεταβλητή x 1 εξαρτημένη μεταβλητή y Καθώς και παράγωγοι της y μέχρι n τάξης, στη.
Για το σχεδιασμό και την ανάλυση οποιουδήποτε Συστήματος Αυτομάτου Ελέγχου Είναι ανάγκη να γνωρίζουμε ΠΟΣΟΤΙΚΑ ΜΑΘΗΜΑΤΙΚΑ ΜΟΝΤΕΛΑ Διαφορικές εξισώσεις.
Πρωί ανοιξιάτικης μέρας σε μια συνοικία της Αθήνας …
Συστήματα Αυτομάτου Ελέγχου II Ενότητα #2: Ποιοτικά Χαρακτηριστικά Συστημάτων Κλειστού Βρόχου - Μόνιμα Σφάλματα Δημήτριος Δημογιαννόπουλος Τμήμα Μηχανικών.
ΠΑΡΑΓΩΓΗ ΟΠΤΙΚΟΑΚΟΥΣΤΙΚΩΝ ΜΕΣΩΝ Διάλεξη 4 «Ο ήχος»
FREEMAT Γραφήματα.
Αναλογικά φίλτρα Σεραφείμ Καραμπογιάς
Επεξεργασία Ομιλίας & Ήχου
Συστήματα Αυτομάτου Ελέγχου Ι
Ψηφιακές Επικοινωνίες
ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ Θεωρία Σημάτων: ανάλυση στο χρονικό και στο φασματικό πεδίο Fourier Transform ενεργειακών σημάτων Σειρά Fourier για περιοδικά σήματα.
ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ Θεωρία Σημάτων: ανάλυση στο χρονικό και στο φασματικό πεδίο Θεωρία Γραμμικών Συστημάτων Συνεχής συνέλιξη (Continuous convolution) Διακριτού.
Υλοποίηση ψηφιακών φίλτρων
Θεωρία Σημάτων και Συστημάτων 2013
ΣΥΣΤΗΜΑΤΑ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ Ι
Αν. Καθηγητής Γεώργιος Ευθύμογλου
Αν. Καθηγητής Γεώργιος Ευθύμογλου
Αν. Καθηγητής Γεώργιος Ευθύμογλου
ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ (22Δ802) Β΄ ΕΞΑΜΗΝΟ
φίλτρα IIR (Infinite Impulse Response)
Καταστατική Εξίσωση Van der Waals. Van der Waals Equation of State.
ΤΕΙ ΚΕΝΤΡΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ-ΣΕΡΡΕΣ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ
Απόκριση Γραμμικών Συστημάτων σε Εκθετικές Εισόδους
Κάνε διπλό κλικ πάνω στην εικόνα και ανοίγει το power point
Ρωμαίους 10:17 Επομένως για να πιστέψει κανείς Χρειάζεται ν’ακούσει,
ΑΝΑΛΥΣΗ ΛΕΥΚΟΥ ΦΩΤΟΣ -ΧΡΩΜΑΤΑ
Μερκ. Παναγιωτόπουλος - Φυσικός
ΗΛΕΚΤΡΙΚΑ ΚΥΚΛΩΜΑΤΑ ΙΙ
~ΕΡΓΑΣΙΑ ΓΙΑ ΤΗΝ Κ.Π.Α~ ΑΝΑΚΥΚΛΩΣΗ-ΠΕΡΙΒΑΛΛΟΝ
Λειτουργία & Σχεδιασμός του Ηλεκτροεγκεφαλογράφου (EEG)
ΑΛΚΟΟΛ ΚΑΠΝΙΣΜΑ ΝΑΡΚΩΤΙΚΑ ΤΥΧΕΡΑ ΠΑΙΧΝΙΔΙΑ ΗΛΕΚΤΡΟΝΙΚΑ ΜΕΣΑ
Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων
Πίνακας 4-8 Τιμοθέου Τιμόθεος Α.Μ
ΠΕΡΙΒΑΛΛΟΝΤΙΚΗ ΕΚΠΑΙΔΕΥΣΗ
‘’ΚΟΛΛΗΤΟΥΜΠΙΝΑΚΙΑ’’
ΕΙΣΑΓΩΓΗ K06 Σήματα και Γραμμικά Συστήματα Οκτώβρης 2005
Αν. Καθηγητής Γεώργιος Ευθύμογλου
Φροντιστήριο : Ασκήσεις στην δυναμική διεργασιών
Συστήματα Αναμονής (Queuing Systems)
Μάθημα 4ο Όργανα Αναγραφής των Σεισμών

Find: φ σ3 = 400 [lb/ft2] CD test Δσ = 1,000 [lb/ft2] Sand 34˚ 36˚ 38˚
CHƯƠNG 7 Thiết kế các bộ lọc số
ΚΙΝΗΤΑ ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ
Ψηφιακή Επεξεργασία Σήματος FIR Filter Design Methods
التردد حركة دائرية سرعة محيطية سرعة زاوية راديان
ΤΙΤΛΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ : ΒΑΣΙΚΕΣ ΓΝΩΣΕΙΣ Α΄ΒΟΗΘΕΙΩΝ
GLY 326 Structural Geology
Find: angle of failure, α
Ηλεκτρομαγνητικά Κύματα – Κεραίες
برنامه ریزی کاربری اراضی شهری
Καθηγητής Γεώργιος Ευθύμογλου
Ευθύγραμμη ομαλή κίνηση
Καθηγητής Γεώργιος Ευθύμογλου
Αλγόριθμος κατασκευής ψηφιακών IIR φίλτρων από αντίστοιχα αναλογικά
Unit Circle.
Μετάδοση OFDM και OFDMA
Ηλεκτρικά Κυκλώματα Συνεχούς Ρεύματος
Δοκοί Διαγράμματα Τεμνουσών Δυνάμεων και Καμπτικών Ροπών
Λογιςτικη κοςτους ΣΥΜΠΑΡΑΓΩΓΑ.
Double-Angle and Half-Angle Formulas
Παρουσίαση 6η: Εισαγωγή στην ανάλυση Fourier Σειρές Fourier
Μεταγράφημα παρουσίασης:

Αλγόριθμος κατασκευής ψηφιακών IIR φίλτρων από αντίστοιχα αναλογικά Περιεχόμενα Αναλογικά συστήματα Ευστάθεια αναλογικών και ψηφιακών συστημάτων Αναλογικά Φίλτρα Butterworth Μετασχηματισμός αποΑναλογικό σε Ψηφιακό Πεδίο Διγραμμικός μετασχηματισμός Αλγόριθμος κατασκευής ψηφιακού φίλτρου

Αναλογικό φίλτρο RC κυκλώματος Συνάρτηση μεταφοράς Η(s) γραμμικού αναλογικού συστήματος Κρουστική απόκριση h(t) γραμμικού αναλογικού συστήματος Κρουστική απόκριση h(t) παίρνοντας τον αντίστροφο μετασχηματισμό της H(s) Απόκριση συχνότητας H(jΩ) ή Η(j2πf) Έξοδο για είσοδο μία συχνότητα f0 R + - x(t) C y(t) Α

Συνάρτηση μεταφοράς RC κυκλώματος Εφαρμόζοντας το νόμο Kirchhoff για το ρεύμα στο σημείο Α του παρακάτω σχήματος έχουμε:   Παίρνοντας Μετασχηματισμό Laplace και στα δύο μέρη, έχουμε R + - x(t) C y(t) Α

Συνάρτηση μεταφοράς RC κυκλώματος Θεωρώντας αρχικές συνθήκες ίσες με το μηδέν, έχουμε και επομένως η συνάρτηση μεταφοράς του γραμμικού συστήματος (φίλτρου) είναι

Κρουστική απόκριση RC κυκλώματος Στο πεδίο χρόνου, εξ ορισμού η κρουστική απόκριση του φίλτρου είναι η έξοδος όταν η είσοδος είναι x(t) = δ(t). Επομένως στο t = 0 το ρεύμα που θα περάσει από την αντίσταση είναι: Θεωρώντας ότι η αρχική τάση στα άκρα του πυκνωτή είναι μηδέν (όπως και πριν ), η παραπάνω σχέση για το ρεύμα γίνεται Δηλαδή το ρεύμα υπάρχει μόνο για t = 0. Η σχέση μεταξύ ρεύματος και τάσης στα άκρα του πυκνωτή, δίνει

Κρουστική απόκριση RC κυκλώματος Επειδή το ρεύμα υπάρχει μόνο τη χρονική στιγμή 0, είναι αρκετό να ολοκληρώσουμε το dy μεταξύ 0- και 0+ για να βρούμε την τάση στον πυκνωτή τη χρονική στιγμή 0+ που προέρχεται από το στιγμιαίο ρεύμα: Μετά το t = 0, η είσοδος x(t) = 0. Εφαρμόζοντας το νόμο Kirchhoff για το ρεύμα στο σημείο Α, με αρχικές συνθήκες . Η λύση είναι Η οποία είναι και η κρουστική απόκριση του φίλτρου h(t).

Κρουστική απόκριση RC κυκλώματος x(t)=δ(t) Γραμμικό Σύστημα ΙΝ OUT y(t)=h(t) t

Κρουστική απόκριση RC κυκλώματος Laplace domain. Ας υπολογίσουμε τον αντίστροφο μετασχηματισμό Laplace της H(s) που υπολογίσαμε στο πρώτο ερώτημα που μας δίνει πάλι την κρουστική απόκριση του συστήματος.

Απόκριση συχνότητας RC κυκλώματος Η απόκριση συχνότητας δίνεται από τη συνάτηση του μετασχηματισμού Laplace αντικαθιστώντας s = jΩ δηλαδή υπολογίζουμε την H(s) μόνο για μιγαδικούς πάνω στον άξονα των φανταστικών αριθμών: ή ισοδύναμα s = j2πf όπου f is any frequency.

Απόκριση συχνότητας RC κυκλώματος Η απόκριση συχνότητας μπορεί να σχεδιαστεί σε συνάρτηση με την κυκλική συχνότητα Ω ή συχνότητα f. Επειδή συνήθως το αποτέλεσμα (για κάθε μία Ω ή f) είναι μιγαδικός αριθμός, σχεδιάζουμε χωριστά το μέτρο (magnitude) και τη φάση (phase or angle) Για το συγκεκριμένο παράδειγμα:

Απόκριση συχνότητας RC κυκλώματος

Αναλογικά Συστήματα (Φίλτρα) Τα φίλτρα είναι γραμμικά συστήματα που αλλάζουν το φασματικό περιεχόμενο του σήματος εισόδου, επομένως κατ’επέκταση αλλάζουν και την κυματομορφή του στο χρονικό πεδίο. Στο αναλογικό πεδίο τα φίλτρα εκφράζονται με την αναλογική συνάρτηση μεταφοράς, με γενική μορφή:

Αναλογικά Φίλτρα (συν.) Η απόκριση συχνότητας του Η(s) καθορίζεται από τη θέση στο s-επίπεδο των ριζών (roots) του D(s) και C(s). Για να είναι ένα σύστημα stable (ευσταθές, δηλαδή η έξοδος να μην μεγαλώνει στο άπειρο) πρέπει οι ρίζες του C(s) (πόλοι του Η(s)) να βρίσκονται στα αριστερά του άξονα jΩ s=σ + jΩ σ<0 σύστημα stable σ=0 δίνει ημίτονο με συχνότητα jΩ σ>0 σύστημα unstable

Αναλογικά Φίλτρα (συν.) Έστω ένα σύστημα H(s)=1/(s-σ), με πόλο στο s=σ Η απόκριση σε κρουστική διέγερση δ(t), (δηλαδή είσοδος είναι 1 και όλα τα υπόλοιπα 0) είναι h(t) = eσt από όπου φαίνεται ότι μόνο για σ<0 η κυματομορφή δεν θα μεγαλώσει με το χρόνο στο άπειρο

Κρουστική απόκριση - Συνέλιξη y(t)=h(t) x(t)=δ(t) Γραμμικό Σύστημα ΙΝ OUT t Έξοδος του συστήματος όταν είσοδος είναι δ(t) λέγεται κρουστική απόκριση h(t) (impulse response) Stable σύστημα σημαίνει ότι Πόλοι Η(s) αριστερά του jΩ!!!

Αναλογικό φίλτρο Butterworth 1ου Βαθμού Έστω το απλούστερο Low Pass φίλτρο που υλοποιείται από μία αντίσταση R και πυκνωτή C.

Butterworth 1ου Βαθμού (συν.) Η συνάρτηση μεταφοράς μπορεί εύκολο να βρεθεί εύκολα ως: Η απόκριση συχνότητας προκύπτει θέτοντας s=jΩ=j2πf Η οποία μπορεί να γραφεί ως: Ο σχεδιασμός του μέτρου |Η(f)| φαίνεται στα δεξιά του κυκλώματος, ενώ η φάση απεικονίζεται από κάτω (προηγούμενο σχήμα)

Butterworth 1ου Βαθμού (συν.) Από το σχήμα του |Η(f)| έχουμε ότι η συχνότητα για την οποία |Η(f)| =0.707 που είναι η f0=1/(2πRC) λέγεται συχνότητα αποκοπής ή half power point ή 3-dB cutoff frequency (βλέπε παρακάτω) Είναι η συχνότητα που καθορίζει το filter bandwidth (εύρος φάσματος που το φίλτρο «περνάει») αφού σε αυτή τη συχνότητα η είσοδος έχει μειωθεί στο 0.707 του πλάτους εισόδου Ισοδύναμα, επειδή οι μετρήσεις γίνονται σε ισχύ (και σε dB), έχουμε το λόγο ισχύος εξόδου προς την ισχύ εισόδου ως: υποθέτωντας ότι η ισχύς μετράται σε αντίσταση 1Ω. Επομένως η απόκριση συχνότητας σε dB είναι:

Butterworth 1ου Βαθμού (συν.) Επομένως ισοδύναμα έχουμε στη f0=1/(2πRC): Γενικά τα φίλτρα Butterworth έχουν απόκριση συχνότητας: Ο βαθμός n δίνει το πόσο γρήγορα το φίλτρο «κόβει» συχνότητες μετά την f0

Butterworth Filters Maximally flat Magnitude response for N order low-pass

Butterworth Filters 6N dB/octave Maximally flat

Butterworth Filters N=4; >> W_c=1; >> W=[0:0.05:3]; >> H=1./sqrt(1+(W./W_c).^(2*N)); >> plot(W,H) >> hold on >> N=10; >> plot(W,H,'r') >> xlabel('\Omega/\Omega_c') >> ylabel('|H_N(j\Omega)|') >> legend('N=4', 'N=10‘) >> semilogx(W, 20*log10(H), ‘r') % 2nd plot

Τάξη Ν για Low-Pass Butterworth φίλτρα Αν έχουμε ένα LP με προδιαγραφές Ωpass με εξασθένιση Αpass και Ωstop με εξασθένιση Αstop τότε μπορούμε να βρούμε την τάξη του LP Butterworth φίλτρου που να ικανοποιεί το transition width των προδιαγραφών από τη σχέση

Cut-off frequency για Low-Pass Butterworth Επίσης η 3-dB cut-off συχνότητα Ωc δίνεται από τη σχέση: Αλλά και από τη σχέση

Butterworth Filters Γνωρίζουμε ότι Αλλά ποια είναι η ΗN(s)? Την βρίσκουμε από πίνακες πολυωνύμων Υπολογίζουμε το Ν  βρίσκουμε συνάρτηση μεταφοράς για κανονικοποιημένο φίλτρο με Ωc=1 Κάνουμε scale τους συντελεστές του πολυωνύμου στην επιθυμητή Ωc

Butterworth Filters has 2N zeros LHP: Left hand plane poles!!! To form H(s) we select the poles pi in the Left Hand s-Plane

Κανονικοποιημένα πολυώνυμα Butterworth για Low Pass φίλτρα Έχοντας υπολογίσει την τάξη Ν του φίλτρου τα πολυώνυμα Butterworth μας δίνουν τη συνάρτηση μεταφοράς ενός κανονικοποιημένου LP φίλτρου με Ωpass = Ωc =1

Μετατροπή από κανονικοποιημένο Low Pass σε ... Tα κανονικοποιημένα πολυώνυμα Butterworth που δίνονται στον Πίνακα 6.2 αντιστοιχούν σε Ωpass=1. Από αυτά μπορούμε να βρούμε όλα τα είδη φίλτρων με οποαισδήποτε προδιαγραφές, ως εξής: Low Pass Low Pass (σχήμα 6.10) Low Pass High Pass (σχήμα 6.11) Low Pass Band Pass (σχήμα 6.12) Low Pass Band Stop (σχήμα 6.13)

Low-pass  low-pass

Low Pass High Pass

Low Pass Band Pass

Low Pass Band Stop

Ω Ω Ω Ω Ω Στο μάθημα όπως και στο βιβλίο χρησιμοποιούμε Ω για αναλογικές συχνότητες. jΩ απεικονίζει τον άξονα συχνοτήτων.

Ψηφιακά Συστήματα (Φίλτρα) Δειγματοληπτώντας περνάμε στο ψηφιακό (διακριτό) z-πεδίο. Κάνοντας το μετασχηματισμό z = esT= e(σ+jΩ)Τ όπου Τ ο χρόνος μεταξύ δειγμάτων σε δευτερόλεπτα έχουμε την αντιστοιχία: Οι συχνότητες γίνονται fdigital= fT = f/Fs (ή ω=ΩΤ) και το φάσμα του διακριτού χρόνου σήματος είναι περιοδικό με περίοδο fdigital=1 (f = Fs or ω = 2π) Χ(s) Y(s) Χ(s) Y(z) G(s) G(z) T

Ω Ω Ω Ω Η ψηφιακή ω = ΩΤ όπου Τ ο χρόνος μεταξύ δειγμάτων: Τ = 1/Fs, όπου Fs είναι η συχνότητα δειγματοληψίας.

Ευστάθεια Ψηφιακών Φίλτρων Ευσταθές (Stable) Πόλοι (Ρίζες παρονομαστή) μέσα στο unit circle Δίνει κρουστική απόκριση που μειώνεται (επόμενο σχήμα) Ασταθές Πόλοι (Ρίζες παρονομαστή) εκτός του unit circle Δίνει κρουστική απόκριση που αυξάνεται (επόμενο σχήμα) Για FIR filter, δηλαδή που δίνει: δεν έχει πόλους άρα πάντα stable!!!

Με τη δειγματοληψία Ω

Διγραμμικός Μετασχηματισμός Για παράδειγμα, ας εξετάσουμε ένα αναλογικό φίλτρο με συνάρτηση μεταφοράς Η συνάρτηση μεταφοράς του ισοδύναμου ψηφιακού φίλτρου είναι με το διγραμμικό μετασχηματισμό είναι:

Διγραμμικός Μετασχηματισμός Βέβαια ο μετασχηματισμός που χρησιμοποιείται περισσότερο από όλους για την απεικόνιση s στο z είναι ο διγραμμικός που συνοψίζεται ως εξής Απεικονίζει το αριστερό μισό του s-plane μέσα στον μοναδιαίο κύκλο (unit circle) Απεικονίζει το δεξιό μισό του s-plane έξω από τον μοναδιαίο κύκλο (unit circle) Οι συχνότητες 0  ∞ του s-plane jΩ άξονα απεικονίζονται στο 0  π του z-plane unit circle Οι συχνότητες 0-∞ του s-plane jΩ άξονα απεικονίζονται στο 0  - π του z-plane unit circle

Διγραμμικός Μετασχηματισμός απεικόνιση από s-plane στο z-plane

Διγραμμικός Μετασχηματισμός Για να ερευνήσουμε τα χαρακτηριστικά του διγραμμικού μετασχηματισμού, έστω ότι Ο μετασχηματισμός δίνει επομένως

Διγραμμικός Μετασχηματισμός Συνεπώς έχουμε ότι αν r < 1 (εντός τριγωνομετρικού κύκλου στο z-επίπεδο) τότε σ < 0 (Left Hand Plane στο s-επίπεδο). Όταν r=1 τότε σ=0 και οι σχέσεις συχνότητας είναι Ή ισοδύναμα Η παραπάνω σχέση σχεδιάζεται στο παρακάτω διάγραμμα, όπου φαίνεται ότι όλη περιοχή του -∞ ≤ Ω ≤ ∞ απεικονίζεται μία φορά εντός της περιοχής –π ≤ ω ≤ π. Αυτό βέβαια συνεπάγεται ότι η απεικόνιση είναι πολύ μη γραμμική, κυρίως όσο η Ω μεγαλώνει.

Διγραμμικός Μετασχηματισμός Η παραπάνω σχέση σχεδιάζεται στο παρακάτω διάγραμμα, όπου φαίνεται ότι όλη περιοχή του -∞ ≤ Ω ≤ ∞ απεικονίζεται μία φορά εντός της περιοχής –π ≤ ω ≤ π. Αυτό βέβαια συνεπάγεται ότι η απεικόνιση είναι πολύ μη γραμμική, κυρίως όσο η Ω μεγαλώνει.

Σχέση αναλογικής Ω με ψηφιακή ω s-plane (jΩ axis) z-plane (unit circle) Ω = 0 ω = 0 0 < Ω < 1 0 < ω < π/2 Ω ≥ 1 π/2 ≤ ω ≤ π Ω = ∞ ω = π jΩ 1 o π/2 o x ω0 Ω0 x π -σ σ -jΩ

Σχέση αναλογικής Ω με ψηφιακή ω Η μη-γραμμική σχέση μεταξύ Ω0 και ω0 που συμπιέζει τις 1≤ Ω ≤ ∞ στο ίδιο τόξο του unit circle όπως και τις 0≤ Ω ≤ 1 Σημειώστε, ότι τα passbands για το Αναλογικό φίλτρο στον κάθετο άξονα είναι σταθερού πλάτους ενώ τα passbands για το ψηφιακό αντίστοιχο φίλτρο είναι συμπιεσμένα. Αυτή η επίδραση αντισταθμίζεται διαστρεβλώνοντας εκ των προτέρων το αναλογικό φίλτρο πριν εφαρμόσουμε το διγραμμικό μετασχηματισμό (prewarping)

Παράδειγμα: αναλογικό παθητικό RC Lowpass Filter VIN : Τάση εισόδου στο κύκλωμα VOUT : Τάση εξόδου από κύκλωμα VIN VOUT C Αναλογική συνάρτηση μεταφοράς: Έχει ένα πόλο στο -1/RC !!! Ψηφιακή συνάρτηση μεταφοράς: Επομένως:

Αλγόριθμος κατασκευής ψηφιακού φίλτρου Έχοντας τις προδιαγραφές οποιουδήποτε φίλτρου (Low Pass, High Pass, Band Pass, Band Stop) μπορούμε εύκολα να βρούμε το αντίστοιχο ψηφιακό, ως εξής: Εκτελούμε αλλοίωση συχνοτήτων (prewarping) λόγω της μη-γραμμικότητας της διγραμμικής μεθόδου Ανεξάρτητα του τύπου φίλτρου που θέλουμε τελικά, υπολογίζουμε το κανονικοποιημένο φίλτρο χαμηλών συχνοτήτων τύπου Butterworth με τη βοήθεια τύπων μετασχηματισμού συχνότητας Πρέπει να βρούμε τις Ωpass =1 και Ωstop = Ωα και βέβαια έχουμε τα Αpass και Αstop του αρχικού φίλτρου !!! Βρίσκουμε το N και από τον Πίνακα 6.2 το H(s) του κανονικοποιημένου low pass φίλτρου Κάνουμε τη μετατροπή στον τύπο φίλτρου που μας ζητείται Τέλος κάνουμε τη μετατροπή σε ψηφιακό με τη Μέθοδο Tustin (διγραμμική μέθοδο).

Αλγόριθμος κατασκευής ψηφιακού φίλτρου Αλλάξτε (Pre-wrap) εκ των προτέρων τη band-edge ή τις κρίσιμες συχνότητες του ψηφιακού φίλτρου Για lowpass και highpass, για bandpass και bandstop,

Αλγόριθμος κατασκευής ψηφιακού φίλτρου 2. Βρείτε ένα κατάλληλο πρότυπο χαμηλής διέλευσης (lowpass) αναλογικό φίλτρο, βασισμένο στις προδιαγραφές των ψηφιακών φίλτρων και ένα από τα κλασσικά αναλογικά φίλτρα. Αυτό περιλαμβάνει τη χρησιμοποίηση μίας από τις εξισώσεις μετασχηματισμού συχνότητας (ανάλογα με τον τύπο ψηφιακού φίλτρου – LP, HP, BP, ή BS) αντίστροφα, ώστε να καθορίσουμε τις προδιαγραφές του πρότυπου φίλτρου LP. Από το ισοδύναμο LP, βρίσκουμε την τάξη Ν του πρωτότυπου LP φίλτρου και στη συνέχεια τη συνάρτηση μεταφοράς του, H(s).

Αλγόριθμος κατασκευής ψηφιακού φίλτρου Με βάση το αναλογικό πρότυπο LP φίλτρο, H(s), κάνουμε μετασχηματισμό συχνότητας ώστε να υπολογίσουμε τη νέα συνάρτηση μεταφοράς, H’(s), του φίλτρου που μας ζητείται στις προδιαγραφές. Εφαρμόζουμε τη μέθοδο BZT για να βρούμε την επιθυμητή συνάρτηση μεταφοράς H(z) του ψηφιακού φίλτρου, αντικαθιστώντας το s στην H’(s) με το διγραμμικό μετασχηματισμό. Σημείωση: επειδή ο όρος εμφανίζεται στην αλλά και στο διγραμμικό μετασχηματισμό, τελικά απλοποιείται, και για αυτό συνήθως σε υπολογισμούς με το χέρι παραλείπεται και στους δύο όρους.

Matlab IIR example 1 Σχεδιάστε ένα φίλτρο Butterworth χαμηλών συχνοτήτων με τις εξής προδιαγραφές:   Ο σχεδιασμός του φίλτρου γίνεται με την υλοποίηση των παρακάτω βημάτων Το κανονικοποιημένο φίλτρο Butterworth χαμηλών συχνοτήτων με Ωc=1 και N=2 είναι

Matlab IIR example 1 2. Λόγω της μη γραμμικότητας του διγραμμικού μετασχηματισμού θα πρέπει να κάνουμε pre-wraping την συχνότητα αποκοπής από Ωc=2π150 σε 3. Κάνουμε μετασχηματισμό συχνότητας στο αναλογικό πεδίο 4. Κάνουμε διγραμμικό μετασχηματισμό (bilinear transformation) για να βρούμε τη συνάρτηση μεταφοράς στο ψηφιακό πεδίο:

Matlab IIR example 1 N=2; fc=150; Fs=1280; wc=2*pi*fc wc = 942.4778 % STEP 2: Pre-warping wc_prewarp=(2*Fs)*tan(wc/(2*Fs)) wc_prewarp = 987.5010

Matlab IIR example 1 % STEP 3: Design of Analog filter  [b,a]=butter(N, wc_prewarp, 's') % 's' for analog filter design  b =   1.0e+005 *   0 0 9.7516  a =   0.00001 0.0140 9.7516 % STEP 4: apply bilinear transformation on the analog filter  [bz, az] = bilinear(b,a,Fs)  bz =   0.0878 0.1756 0.0878  az =   1.0000 -1.0048 0.3561

Matlab IIR example 1 [H, w] = freqz(bz,az,256); plot(w/pi,abs(H),'o') xlabel('frequency in pi units') ylabel('|H(w)|')

Matlab IIR example 1 [H, f] = freqz(bz, az, 256, Fs); plot(f,abs(H),'x') xlabel('frequency in Hz units') ylabel('|H(f)|')

Matlab IIR example 1 Το ίδιο αποτέλεσμα μπορεί να βρεθεί απευθείας στο Matlab τη συνάρτηση butter (χωρίς το ‘s’ που σημαίνει αναλογικό), η οποία υλοποιεί όλα τα προηγούμενα βήματα:  N=2; fc=150; Fs=1280; [bz, az]=butter(N, fc/(Fs/2))  bz =   0.0878 0.1756 0.0878  az =   1.0000 -1.0048 0.3561 Παρατηρήστε ότι στην περίπτωση αυτή η συχνότητα αποκοπής ορίζεται κανονικοποιημένη ως προς τη συχνότητα Nyquist (Fs/2).

Matlab IIR example 2 Σχεδιάστε ένα φίλτρο Butterworth υψηλών συχνοτήτων (high pass) με τις εξής προδιαγραφές: Το κανονικοποιημένο LP φίλτρο Butterworth χαμηλών συχνοτήτων με Ωc=1 και N=1 είναι κάνουμε pre-wraping την συχνότητα αποκοπής Ωc= 2 π 30 σε   3. Κάνουμε μετασχηματισμό συχνότητας στο αναλογικό πεδίο 4. Κάνουμε διγραμμικό μετασχηματισμό για να βρούμε τη συνάρτηση μεταφοράς στο ψηφιακό πεδίο:

Matlab IIR example 2 N=1; fc=30; Fs=150; wc=2*pi*fc % cutoff frequency in rad/sec wc =188.4956 % STEP 2: Pre-wraping wc_prewarp=(2*Fs)*tan(wc/(2*Fs)) wc_prewarp = 217.9628 % STEP 3: Design of Analog Highpass filter [b,a]=butter(N, wc_prewarp,'high','s') b = 1 0 a = 1.0 217.9628 % STEP 4: [bz,az]=bilinear(b,a,Fs)  bz = 0.5792 -0.5792  az = 1.0000 -0.1584

Matlab IIR example 2 (χωρίς 2/Τ) N=1; fc=30; Fs=150; wc=2*pi*fc % cutoff frequency in rad/sec wc =188.4956 % STEP 2: Pre-wraping wc_prewarp = tan(wc/(2*Fs)) % without 2/T wc_prewarp = 0.7265 % STEP 3: Design of Analog Highpass filter [b,a]=butter(N, wc_prewarp,'high','s') b = 1 0 a = 1.0 0.7265 % STEP 4: [bz,az]=bilinear(b,a, 1/2) % 2/Τ = 1  Τ=2  Fs = 1/2 !!!  bz = 0.5792 -0.5792  az = 1.0000 -0.1584

Matlab IIR example 2 Function butter gives directly the digital filter [bz,az]=butter(N, fc/(Fs/2),'high') bz = 0.5792 -0.5792 az = 1.0000 -0.1584 [H, f] = freqz(bz,az,256, Fs); plot(f,abs(H),'x') xlabel('frequency in Hz') ylabel('|H(f)|')

Matlab IIR example 2 H απόκριση συχνότητας σε dB plot(f, 20*log10(abs(H)),'+') ylabel('20log10|H(f)|'); xlabel('frequency in Hz')

Matlab IIR example 3 Σχεδιάστε ένα φίλτρο Butterworth διέλευσης συχνοτήτων (bandpass) με τις εξής προδιαγραφές κάνουμε pre-wraping :

Matlab IIR example 3 Βρίσκουμε το κανονικοποιημένο (πρωτότυπο) ισοδύναμο φίλτρο χαμηλών συχνοτήτων τύπου Butterworth, με εφαρμογή των εξισώσεων των Α και Β, σελίδα 213: Οπότε το κανονικοποιημένο (προτότυπο) ισοδύναμο φίλτρο χαμηλών συχνοτήτων τύπου Butterworth, έχει προδιαγραφές (βλ. Σχήμα 6.12)

Matlab IIR example 3 Και επομένως η τάξη Ν του πολυωνύμου Butterworth που απαιτείται είναι:    Ν = 2 Δηλαδή έχουμε Low-Pass συνάρτηση μεταφοράς Ο μετασχηματισμός από lowpass σε bandpass είναι:

Matlab IIR example 3 Κάνουμε διγραμμικό μετασχηματισμό (bilinear transformation) για να βρούμε τη συνάρτηση μεταφοράς στο ψηφιακό πεδίο:

Matlab IIR example 3 >> f1=1000; >> f2=2000; >> f_w=600; >> f_h=2250; >> fs=5000; >> Ap=3; >> As=14;  % STEP 1 Pre-warping without the term 2/T in front !!!  >> w1=tan(2*pi*f1/(2*fs) w1 = 0.7265  >> w2=tan(2*pi*f2/(2*fs))  w2 = 3.0777  >> w_w=tan(2*pi*f_w/(2*fs))  w_w = 0.3959  >> w_h=tan(2*pi*f_h/(2*fs))  w_h = 6.3138

Matlab IIR example 3 %STEP 2 Design of Analog Prototype LowPass filter (οι συχνότητες δίνονται σε σχέση με την fs/2 μέσα στη συνάρτηση buttord)  f1_matlab=f1/(fs/2)  f1_matlab = 0.4000  >> f2_matlab=f2/(fs/2)  f2_matlab = 0.8000  >> f_w_matlab=f_w/(fs/2)  f_w_matlab = 0.2400  >> f_h_matlab=f_h/(fs/2)  f_h_matlab = 0.9000   [N,Wc]=buttord([f1_matlab,f2_matlab],[f_w_matlab,f_h_matlab],Ap,As)  N =   2

Matlab IIR example 3 % STEP 3: Design of Analog Bandpass filter >> [b,a]=butter(N, [w1, w2], 's')  b = 0 0 5.5279 0 0 a = 1.0000 3.3250 10.0000 7.4350 5.0000 % STEP 4: apply bilinear transformation on the analog filter >> [bz, az] = bilinear(b, a, 1/2) %!!! fs = 1/2 εδώ μόνο, επειδή όταν κάναμε pre-wraping δεν βάλαμε μπροστά τον όρο (2/Τ), άρα θεωρήσαμε Τ=2 => fs = 1/2  bz = 0.2066 0.0000 -0.4131 -0.0000 0.2066  az = 1.0000 0.9051 0.5979 0.2907 0.1958

Matlab IIR example 3 [H, f] = freqz(bz,az,256, fs); >> plot(f,20*log10(abs(H)),'-') >> grid >> axis([0 fs/2 -30 0]) >> xlabel('frequency in Hz') >> ylabel('20log10|H(f)|')

Matlab IIR example 4 Σχεδιάστε ένα Butterworth IIR bandstop filter με τις εξής προδιαγραφές Lower passband 0 – 50 Hz Upper passband 450 – 500 Hz Stopband 200 – 300 Hz Passband ripple 3 dB Stopband attenuation 20 dB Sampling frequency 1 KHz

Matlab IIR example 4 από LP BS transform χρησιμοποιώντας τις εξισώσεις της θεωρίας έχουμε Από τα παραπάνω παίρνουμε ότι οι bandedge συχνότητες του πρότυπου lowpass είναι: oπότε χρειάζεται filter order

Matlab IIR example 4 N=2

Matlab IIR example 4 Με χρήση του διγραμμικού μετασχηματισμού

Matlab IIR example 4 Ap=3; As=20; Fs=1000; Wp=[50/500, 450/500] Ws=[200/500, 300/500] [N,Wc]=buttord(Wp, Ws, Ap, As); [zz,pz,kz]=butter(N,Ws,’stop’) % δίνει τις τιμές των μηδενικών και πόλων της Η(z) [b,a]=butter(N,Ws,’stop’) % δίνει τη συνάρτηση μεταφοράς H(z) sos=zp2sos(z,p,k); >> Wp = 0.1000 0.9000 >> Ws = 0.4000 0.6000 To order N του prototype lowpass filter είναι: N = 2

Matlab IIR example 4 συνάρτηση μεταφοράς του τελικού bandstop με τη βοήθεια πάντα του matlab είναι: επειδή οι συντελεστές είναι: b =  0.6389 -0.0000 1.2779 -0.0000 0.6389  a = 1.0000 -0.0000 1.1430 0.0000 0.4128

Matlab IIR example 4 subplot(2,1,1); [H,f]=freqz(b, a, 512, Fs); plot(f,(abs(H))); xlabel(‘Frequency (Hz)’) ylabel(‘Magnitude Response(dB)’) subplot(2,1,2); zplane(b,a);