ntua-cvsp-lab / DSP_LabSupport

Here the students of the 2019-2020 DSP course can submit questions regarding the course to the teaching assistants.
7 stars 3 forks source link

LAB2 2.3 #55

Open giorgoskallitsis opened 4 years ago

giorgoskallitsis commented 4 years ago

Καλησπερα, δεν μπορω να καταλαβω στο ερωτημα 2.3 με τη συστοιχια φιλτρων το εξης: στη σχεση (6) περιγραφεται η κρουστικη αποκριση μόνο του ενος φιλτρου ή και των 25? Εγω καταλαβαινω πως προκειται μονο για του ενος φιλτρου και πως θα πρεπει εμεις να θεσουμε καταλληλη κεντρικη συχνοτητα ωc στο καθενα ωστε να να δημιουργησουμε μια συστοιχια που θα εκτεινεται απο το fcmin εως το fcmax. Αλλα οταν ορισουμε ολα τα φιλτρα μας στο πεδιο του χρονου, θα λαμβανουν τιμες για τις ιδιες χρονικες στιγμες, απο -Ν εως Ν. Λεω κατι λαθος?

cgaroufis commented 4 years ago

Καλησπέρα,

Η εξίσωση (6) περιγράφει την κρουστική απόκριση ενός Gabor φίλτρου με κεντρική γωνιακή συχνότητα ωc. Συνεπώς ναι, θα θέσετε 25 διαφορετικές τιμές στη συχνότητα ωc (οι οποίες θα εκτείνονται από το ωc_min μέχρι και το ωc_max) για να δημιουργήσετε τη συστοιχία σας. Επιπλέον, σωστά, όλα τα φίλτρα θα είναι ορισμένα στο χρονικό διάστημα [-Ν,Ν].

Χρήστος

giorgoskallitsis commented 4 years ago

Ωραια, οι επομενες ερωτησεις που ειναι οι εξης: 1) Γιατι το α θα πρεπει να περνιεται ως παραμετρος στη συναρτηση? Απ ο,τι βλεπω, μπορουμε ευκολα να το υπολογιζουμε εμεις απο τον τυπο α=fs/50, αρα δε βρισκω καποιο λογο 2) Αυτο που προσπαθησα εγω ειναι να φτιαξω 25 φιλτρα το ενα μετα το αλλο, τα οποια εκτεινονται απο fcmin εως fcmax. Πχ αν προεκυπτε fcmin=5hz και fcmax=105 hz, τοτε ειχα σκεφτει πως για να βρω ποια θα ειναι η κεντρικη συχνοτητα του καθε φιλτρου θα εφαρμοσω την εξης συλλογιστικη: ο ελευθερος "χωρος" ειναι 100hz, ο "χωρος" καθε φιλτρου ειναι 100/25=4 hz , αρα πχ εδω η πρωτη κεντρικη συχνοτητα θα ειναι στα 5+2=7hz, η δευτερη στα 11 hz, η επομενη στα 15 hz κλπ. Αλλα με αυτη τη συλλογιστικη, που μα ςχρησιμευει η ωc που δινεται ως παραμετρος? Τα fmin,fmax βρεθηκαν με χρηση των α,fs, αρα δε χρησιμοποιηθηκε καπου το fc. 3) Οταν περασω το σημα μου απο το ολικο φιλτρο, πρακτικα θα αθροισω ολες τις hi στις ιδιες χρονικες στιγμες και ως παραμετρο στην lfilter θα βαλω την κανουρια h, η οποια ισουται με το αθροισμα ολων των hi? 4)Δεδομενου πως διαθετουμε τις τιμες του καινουριου σηματος μας και του φιλτρου στο χρονο, πως θα σχεδιασουμε το φασμα τους σε λογαριθμικη κλιμακα? Εννοω, οταν λετε φασμα, εννοειτε το Ζ μετασχηματισμο, τον DTFT η κατι αλλο?

Ευχαριστω και παλι

cgaroufis commented 4 years ago

Σε σχέση με αυτά:

1-2. Δε θα δημιουργήσετε όλη τη συστοιχία εντός της συνάρτησης gaborfilt() - η συνάρτηση πρακτικά θα υλοποιεί φιλτράρισμα με το καθένα από τα φίλτρα της συστοιχίας, με κεντρική συχνότητα fc και τιμή παραμέτρου α. Στην περίπτωσή σου, η τιμή της παραμέτρου θα είναι ίση με fs/2K, ίδια για όλα τα φίλτρα. Συνεπώς, όντως στα πλαίσια της άσκησης η παράμετρος α θα μπορούσε να οριστεί και εντός της συνάρτησης, ωστόσο θέλουμε η συνάρτηση να μπορεί να λειτουργεί για οποιαδήποτε τιμή της παραμέτρου α. Το Ωc θα το υπολογίζετε εντός της συνάρτησης gaborfilt() για να το χρησιμοποιήσετε στον τύπο (6), βάσει του οποίου θα υλοποιείται η κρουστική απόκριση για το κάθε φίλτρο.

  1. Όχι - από τη στιγμή που έχεις 25 διαφορετικά φίλτρα, θα έχεις τελικά ως έξοδο 25 διαφορετικά σήματα, το περιεχόμενο του καθενός εκ των οποίων θα αντιστοιχεί σε μία συγκεκριμένη ζώνη συχνοτήτων, ανάλογα με την fc (ή αντίστοιχα την Ωc) του κάθε φίλτρου.
  2. Εδώ θέλουμε α) το φάσμα του αρχικού (μη-φιλτραρισμένου) σήματος, και β) το φάσμα των Κ=25 φίλτρων που θα χρησιμοποιήσετε (τον υπολογισμό και σχεδιασμό των φασμάτων των επιμέρους φίλτρων μπορείε να τον κάνετε είτε εντός είτε εκτός της συνάρτησης). Ως φάσμα εννοούμε τον DFT μετασχηματισμό, και μπορείτε να τον υπολογίσετε μέσω της εντολής fft() της numpy από τα σήματα/κρουστικές αποκρίσεις στο πεδίο του χρόνου.

Ελπίζω να σε κάλυψα, Χρήστος

giorgoskallitsis commented 4 years ago

Νομιζω με καλυψατε σε ολα, σας ευχαριστω πολυ!