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

[Lab 2] Απορία για τη κρουστική απόκριση στο 2.4 #74

Open ylefen opened 4 years ago

ylefen commented 4 years ago

Καλησπέρα σας,

Παρά την παραπλήσια απορία ενός συμφοιτητή μας, δεν καταλαβαίνουμε πως να υλοποιήσουμε την κρουστική απόκριση στο 2.4. Θέλαμε να χρησιμοποιήσουμε την unit_impulse αλλά αυτή παίρνει ως ορίσματα μόνο θετικούς αριθμούς με αποτέλεσμα να μην μπορούμε να φτιάξουμε τον όρο n+1 . Στο σχετικό issue δεν καταλάβαμε πως εννοείτε το shift. Πρέπει να βρούμε την κρουστική h[n-1] και μετά να κάνουμε shift ; Αλλά έτσι πως θα ανακτήσουμε το πρώτο δείγμα το οποίο χάνεται;

odychlapanis commented 4 years ago

Αν μου επιτρέπεται να απαντήσω, δεν χρειαζεται να υλοποιήσεις την h[n]. Θα υλοποιήσεις μόνο την έξοδό του φίλτρου που θα πάρει την h[n] (ουσιαστικά παίρνει τον μετασχηματισμό Ζ της h[n] αλλά το λέω έτσι επειδή ο Ζ της δ είναι 1), θα κάνει την συνέλιξη με το σήμα εισόδου και μετά θα σου επιστρέψει το φάσμα στο πεδίο της συχνότητας. Πρακτικά φτιάχνεις ένα διάνυσμα(οριζόντιο) που έχει τους συντελεστές των δ στην h[n] ως τιμές. Για το ένα δείγμα που χάνεις δεν είναι και τόσο σπουδαίο για 100 ή 400 δείγματα να χαθεί το ένα αλλά είναι καλό να συνεχίσει το σήμα σου να έχει σταθερό μέγεθος. Εγώ αυτό που έκανα είναι ότι μετά την έξοδο από την lfilter() της έκοψα το πρώτο στοιχείο που μάλλον είναι κάτι άσχετο και της έβαλα στο τέλος ένα μηδενικό για να συνεχίσει να έχει μέγεθος 400 δείγματα.