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

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

Δημοσ.

Έχω ένα σήμα με δειγματοληψία 44100Hz και θέλω να κρατήσω τις συχνότητες 100 εως 800 Hz. Πως το κάνω αυτό με FIR filter στη Matlab (με το default hamming window) ? Τι πρέπει να βάλω για order n, ripple κλπ.?

 

Έψαξα αρκετά, διάβασα θεωρία, διάβασα matlab documentation, βρήκα και παραδείγματα που θέτουν τις δικές τους τιμές αλλα πουθενά δεν βρήκα γιατι και πόσο πρέπει να θέτονται ανα περίπτωση. νιντ χελπ :-(

Δημοσ.

Θεωρώντας ότι είσαι οικείος με

 

- Transfer functions

- Taps / Delay units

- Convolution

 

Ο αλγόριθμος είναι ο εξής:

 

- Βρίσκεις την ιδανική απόκριση του φίλτρου (βάσει της Fc και τον taps που θες)

- Βρίσκεις τις τιμές για το παράθυρό σου

- Πολλαπλασιάζεις το παράθυρο με την ιδανική απόκριση του φίλτρου

 

Τα filter coefficients είναι το αποτέλεσμα του παραπάνω πολλαπλασιασμού.

 

Ωχ.. τώρα κατάλαβα τι ρωτάς...

 

Θέλεις ένα pass band φίλτρο. Θα πρέπει να υλοποιήσεις high pass και low pass στο σήμα σου (εάν το κάνεις εντελώς χειροκίνητα).

 

Αλλά... σας λένε για band filtering και δεν σας έχουνε πει πώς υλοποιείς ένα φίλτρο σε MATLAB;

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...