Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

φίλτρα IIR (Infinite Impulse Response)

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "φίλτρα IIR (Infinite Impulse Response)"— Μεταγράφημα παρουσίασης:

1 φίλτρα IIR (Infinite Impulse Response)
ω is the angular frequency in radians per second and n is the number of poles in the filter The frequency response plot from Butterworth's paper

2 Εισαγωγή Τα φίλτρα IIR (Infinite Impulse Response) είναι φίλτρα των οποίων η κρουστική απόκριση δεν είναι πεπερασμένη. Συνήθως χρησιμοποιούνται οι παρακάτω τρείς τύποι αναλογικών χαμηλοπερατών φίλτρων: Φίλτρα Butterworth Φίλτρα Chebyshev Ελλειπτικά φίλτρα

3 Φίλτρα Butterworth Όπως όλα τα φίλτρα, το τυπικό πρωτότυπο είναι το φίλτρο χαμηλής διέλευσης, το οποίο μπορεί να τροποποιηθεί σε ένα φίλτρο υψηλής διέλευσης ή να τοποθετηθεί σε σειρά με άλλους για να σχηματίσουν φίλτρα διέλευσης ζώνης και σταμάτημα ζώνης και εκδόσεις υψηλότερης τάξης αυτών. Το κέρδος ενός n-order Butterworth φίλτρου χαμηλής διέλευσης δίνεται από την άποψη της συνάρτησης μεταφοράς H (s) ως where n = order of filter ωc = cutoff frequency (approximately the -3dB frequency) G0 is the DC gain (gain at zero frequency) It can be seen that as n approaches infinity, the gain becomes a rectangle function and frequencies below ωc will be passed with gain G0 while frequencies above ωc will be suppressed. For smaller values of n, the cutoff will be less sharp.

4 Φίλτρα Butterworth Plot of the gain of Butterworth low-pass filters of orders 1 through 5, with cutoff frequency ω0=1. Note that the slope is 20n dB/decade where n is the filter order.

5 Φίλτρα Butterworth Ένα χαμηλοπερατό φίλτρο Butterworth είναι ένα φίλτρο που έχει μόνο πόλους (all pole), το τετράγωνο του πλάτους της απόκρισης δίνεται από τη σχέση: Η παράμετρος Ν αντιστοιχεί στη τάξη του φίλτρου (είναι ο αριθμός των πόλων της συνάρτησης μεταφοράς). Το φίλτρο επιτρέπει τη διέλευση συχνοτήτων μέχρι τη συχνότητα αποκοπής Ω0 (η συχνότητα στην οποία η εξασθένιση είναι -3db).

6 Φίλτρα Butterworth Ένα φίλτρο Butterworth καθορίζεται πλήρως από την τάξη Ν και τη συχνότητα αποκοπής Ω0. Αυξάνοντας το Ν (τάξη του φίλτρου) βελτιώνεται η απόδοση του ως φίλτρο χαμηλών συχνοτήτων σε σχέση με το ιδανικό.

7 Κατασκευή φίλτρων Butterworth
[b,a] = butter(n,Wn) returns the transfer function coefficients of an nth-order lowpass digital Butterworth filter with normalized cutoff frequency Wn. example [b,a] = butter(n,Wn,ftype) designs a lowpass, highpass, bandpass, or bandstop Butterworth filter, depending on the value of ftype and the number of elements of Wn. The resulting bandpass and bandstop designs are of order 2n. Filter type, specified as one of the following: 'low' specifies a lowpass filter with cutoff frequency Wn. 'low' is the default for scalar Wn. 'high' specifies a highpass filter with cutoff frequency Wn. 'bandpass' specifies a bandpass filter of order 2n if Wn is a two-element vector. 'bandpass' is the default when Wn has two elements. 'stop' specifies a bandstop filter of order 2n if Wn is a two-element vector.

8 Κατασκευή φίλτρων Butterworth
Design a 6th-order Butterworth bandstop filter with normalized edge frequencies of 0.2π and 0.6π rad/sample. Plot its magnitude and phase responses. Use it to filter random data. [b,a] = butter(3,[ ],'stop'); freqz(b,a) dataIn = randn(1000,1); dataOut = filter(b,a,dataIn);

9 Κατασκευή φίλτρων Butterworth
Design a 6th-order Butterworth lowpass filter at normalized edge frequencies of 0.1π rad/sample. Plot its magnitude and phase responses. Use it to filter random data. [b,a] = butter(3,0.1,'low'); dataOut = filter(b,a,dataIn); figure, plot(dataOut) figure, plot(dataIn)

10 Κατασκευή φίλτρων Butterworth
Υπολογισμός της συνάρτησης μεταφοράς Η(s) του αναλογικού φίλτρου.

11 Κατασκευή φίλτρων Butterworth
Οι προδιαγραφές του φίλτρου δίνονται συνήθως σε μορφή συχνοτήτων και εξασθένησης σήματος σε decibel (db) ως εξής: Ζώνη διέλευσης (passband): Ωpass Ζώνη αποκοπής (stopband): Ωstop Μέγιστη εξασθένιση (σε db) στη ζώνη διέλευσης :Apass Ελάχιστη εξασθένιση (σε db) στη ζώνη αποκοπής: Astop Αφού καθοριστούν τα Ν και Ω η συνάρτηση μεταφοράς μπορεί να βρεθεί με φασματική παραγοντοποίηση (spectral factorization).

12 Κατασκευή φίλτρων Butterworth
Στο Matlab η συνάρτηση που μας δίνει την τάξη (N) του φίλτρου και τη συχνότητα αποκοπής (Ω0) από τις προδιαγραφές είναι , την οποία μπορούμε να την χρησιμοποιήσουμε ως εξης: [N, Wo]=buttord(Wpass, Wstop, Apass, Astop, ’s’) Αφού υπολογίσουμε τα Ν και Ωo χρησιμοποιούμε τη συνάρτηση , η οποία μας δίνει τους συντελεστές του αριθμητή (b) και του παρονομαστή (a) της συνάρτησης μεταφοράς του χαμηλοπερατού φίλτρου που θέλουμε να κατασκευάσουμε. [b, a]=butter(N, Wο, ’s’)

13 Παράδειγμα 1 Να κατασκευάσετε ένα αναλογικό χαμηλοπερατό φίλτρο Butterworth που να επιτρέπει τη διέλευση συχνοτήτων μέχρι 4KHz με μεγίστη εξασθένιση 1db στη ζώνη αυτή, ενώ από 8KHz και πάνω να έχει εξασθένιση τουλάχιστον 40db. Άρα, οι προδιαγραφές του φίλτρου είναι: Ωpass (Ζώνη διέλευσης) = 4000Hz = 2*π*4000 rad/sec Ωstop (Ζώνη αποκοπής) = 8000Hz = 2*π*8000 rad/sec Apass (Μέγιστη εξασθένιση στη ζώνη διέλευσης) = 1db Astop (Ελάχιστη εξασθένιση στη ζώνη αποκοπής) = 40db

14 Παρατήρηση Α Η εξασθένηση σε db στη συχνότητα Ω του φίλτρου Butterworth μπορεί να υπολογιστεί με τους παρακάτω τρόπους: Άρα η εντολή για τον σχεδιασμό του φίλτρου μπορεί να γραφεί με τους παρακάτω τρόπους: plot(W/(2*pi), 10*log10(abs(H).^2)) plot(W/(2*pi), 20*log10(abs(H)));

15 Παράδειγμα 1 Ο κώδικας στο Matlab θα είναι ο εξής:
Wp=2*pi*4000; Ws=2*pi*8000; Ap=1; As=40; [N,Wo]=buttord(Wp,Ws,Ap,As,'s') [b,a]=butter(N,Wo,'s') %Υπολογισμός της απόκρισης % συχνότητας ενός αναλογικού φίλτρου: [H,W]=freqs(b,a); %Σχεδιασμός φίλτρου: plot(σε Hz, σε db) plot(W/(2*pi), 20*log10(abs(H)));

16 Παράδειγμα 1 [z, p] = tf2zp(b, a); figure; zplane(z, p);
Για να αναπαραστήσουμε γραφικά τους πόλους του φίλτρου που σχεδιάσαμε θα πρέπει να συμπληρώσουμε τον παρακάτω κώδικα: %Ο κώδικας του παραδείγματος 1 [z, p] = tf2zp(b, a); figure; zplane(z, p);

17 Παράδειγμα 2 Να κατασκευάσετε ένα αναλογικό χαμηλοπερατό φίλτρο Butterworth που να επιτρέπει τη διέλευση συχνοτήτων μέχρι 200KHz με μεγίστη εξασθένιση 3db στη ζώνη αυτή, ενώ από 400KHz και πάνω να έχει εξασθένιση τουλάχιστον 60db. Άρα, οι προδιαγραφές του φίλτρου είναι: Ωpass (Ζώνη διέλευσης) = 200KHz = 2*π*200*1000 rad/sec Ωstop (Ζώνη αποκοπής) = 400KHz = 2*π*400*1000 rad/sec Apass (Μέγιστη εξασθένιση στη ζώνη διέλευσης) = 3db Astop (Ελάχιστη εξασθένιση στη ζώνη αποκοπής) = 60db

18 Παράδειγμα 2 Ο κώδικας στο Matlab θα είναι ο εξής: Wp=2*pi*200000; Ws=2*pi*400000; Ap=3; As=60; [N,Wo]=buttord(Wp,Ws,Ap,As,'s') [b,a]=butter(N,Wo,'s') %Υπολογισμός της απόκρισης % συχνότητας ενός αναλογικού φίλτρου: [H,W]=freqs(b,a); %Σχεδιασμός φίλτρου: plot(σε Hz, σε db) plot(W/(2*pi), 20*log10(abs(H)));

19 Design a 6th-order lowpass Butterworth filter with a cutoff frequency of 300 Hz, which, for data sampled at 1000 Hz, corresponds to 0.6rad/sample. Plot its magnitude and phase responses. Use it to filter a 1000-sample random signal. fc = 300; fs = 1000; [b,a] = butter(6,fc/(fs/2)); freqz(b,a)


Κατέβασμα ppt "φίλτρα IIR (Infinite Impulse Response)"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google