Προς το περιεχόμενο

Matlab kaneis??


Weiss

Προτεινόμενες αναρτήσεις

Δημοσ.

Αυτό το φίλτρο που πας να σχεδιάσεις είναι αιτιατό... έχω την εντύπωση χωρίς να το κόβω και όλας ότι το MatLab δεν μπορεί να δεχθεί αιτιατά φίλτρα... Δηλαδή ο παράγωντας x(n+1) δεν μπορεί να πραματοποιηθεί...

 

Αν θες να φτιάξεις ένα ψηφιακό φίλτρο (LP, BP, HP ή ό,τι άλλο...), καλύτερα να χρησιμοποείς τις συναρτήσεις για Butterworth, Chebychev, Elliptic κ.ά.

 

Για παράδειγμα αν θες να φτιάξεις ένα υψιπερατό butterworth με συχνότητα αποκοπής το 1KHz, μεταβατική ζώνη 100 Hz και απόσβεση 30dB/dec με ripple στην passband 0.1dB και συχνόητα δειγματοληψίας τα 2.2ΚΗz, τότε γράφεις...:

 

[n,Wn]=buttord(1000/1100, 1100/1100, 0.1, 60);

[b,a]=butter(n,Wn);

 

Το πρώτο σου δίνει την τάξη του φίλτρου και την φυσική συχνότητα του φίλτρου και το δεύτερο στο μετατρέπει σε πίνακες με τους πόλουε και τα μηδενικά του φίλτρου... Επομένως, αν θες να το μετατρέψεις σε συνάρτηση μεταφοράς το κάνεις...:

y=tf[b,a];

 

Έτσι μπορείς να το δουλέψεις και με το FDATool, να το περάσεις στο simulink και γενικά να του αλλάξεις τα φώτα... :D

Δημοσ.

file Jaco thanks gia tin apadisi.To filtro telika katafera na to ftiaxw briskontas prwta to mikos toy simatos (estw lx) kai sti sinexeia me diafores eksiswsewn kai xrisimopoiwntas mia timi elaxista mikroteri apo to lx,estw l:

 

y(4:l)=x1(6:l+2) -2*x1(4:l) + x1(2:l-2);

 

P.S i parapanw eksiswsi diaforwn ypologizei ti deyteri paragwgo toty simatos x.

Δημοσ.

Ναι, αλλά με αυτόν τον τρόπο δεν μπορείς να κάνεις συνέλιξη της εισόδου με την συνάρτηση μεταφοράς του φίλτρου να βρεις την έξοδο αν δεν έχεις ήδη δηλώσει το μελλοντικό (n+a) δείγμα, επομένως δεν μπορείς να το υλοποιήσεις αν δεν έχεις ήδη την έξοδο... δοκίμασε να το βρεις την συνάρτηση μεταφοράς του και πέρασε το σαν IIR φίλτρο με ανάδραση να δεις αν σου βγάζει τα ίδια αποτελέσματα...

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...