Open billothi opened 4 years ago
Καλησπέρα,
Η αυτοσυσχέτιση που θα σας επιστραφεί στο ερώτημα 4.5 μέσω της numpy.correlate() θα έχει μήκος 2Ν, όπου Ν το μήκος του αθροίσματος των περιβαλλουσών. Από αυτό θα κρατήσετε το δεξιά μισό, το οποίο αντιστοιχεί στη συσχέτιση του σήματος στη θέση n με το σήμα στη θέση n-n0, 0 < n0 < N.
Γνωρίζοντας ότι το κομμάτι αυτό της αυτοσυσχέτισης (Ν δειγμάτων) θα αντιστοιχεί σε χρονική διάρκεια Τ=2^16/fs sec (οσο και το αρχικό σου απόσπασμα), μπορείς να μετατρέψεις τις θέσεις των peaks (n0) από τον αριθμό δειγμάτων στα οποία αντιστοιχούν, σε sec, ως t0 = n0 * T/N. Από εκεί, αρκεί να βρεις πόσες φορές "χωράει" σε ένα λεπτό η χρονική διάρκεια στην οποία αντιστοιχεί το peak, και έχεις τον αντίστοιχο ρυθμό σε BPM.
Γενικά σε ενδιαφέρουν τα BPM που κινούνται στο εύρος [50,200]. Μπορείς να απορρίψεις με ασφάλεια απο την παραπάνω ανάλυση, peaks τα οποία αντιστοιχούν σε δείγματα (περίπου) ακέραια πολλαπλάσια προηγούμενων peaks.
Καλή συνέχεια, Χρήστος
Tέλεια, ευχαριστώ πολυ.
καλησπέρα, Ήθελα να ρωτήσω σχετικά με την 4.5 με ποιόν τρόπο συνδέεται το bpm με τα μέγιστα της αυτοσυσχέτισης.