Σάββατο 10 Δεκεμβρίου 2016

Φίλτρα Πεπερασμένης Κρουστικής Απόκρισης (FIR)

Με τα φίλτρα πεπερασμένης κρουστικής απόκρισης μπορούμε να διορθώουμε τη φάση αλλά και τη συχνοτική απόκριση ενός ηχείου. 

Για να δοκιμάσω τις δυνατότητες των FIR φίλτρων χρησιμοποίησα:

- Ένα ηχείο για τη μέτρηση(KRK V4). 
- Έναν PC με το Smaart 7 για να κάνω τις μετρήσεις και το Logic για playback και δοκιμή των διορθώσεων.
- Μία κάρτα ήχου(MOTU 896MKIII)
- Ένα μικρόφωνο μετρήσεων.
- Ένα DSP στο οποίο θα φόρτωνα το αρχείο με τα FIR. Επειδή δεν είχα DSP έπρεπε να βολευτώ με κάποιο plugin για την ώρα που θα έτρεχε στο stereo out του Logic και θα έκανε την αποκωδικοποίηση. Αυτό που βρήκα και δούλεψε πολύ καλά ήταν το LAConvolver για Mac. Εδώ υπάρχει μία λίστα με διάφορα άλλα αντίστοιχα προγράμματα. 
- Τέλος ένα πρόγραμμα στο οποίο έκανα τις διορθώσεις των μετρήσεων που πήρα με το Smaart 7. Το πρόγραμμα αυτό είναι το rephase και τρέχει μόνο σε Windows! Μικρό πρόβλημα για εμένα που δουλεύω σε Mac γιατί έπρεπε να παίζω με δύο διαφορετικές πλατφόρμες και χρειάστηκα περισσότερο χρόνο για μεταφορά μετρήσεων από και προς τα Windows.

 Η διαδικασία ήταν η εξής:

Μέτρηση ηχείου

Στέλνοντας ροζ θόρυβο από το logic στο ηχείο μέτρησα την απόκριση του ηχείου σε κοντινή απόσταση για να μειώσω τις πολλές ανακλάσεις. Η απόκριση που έδωσε είναι αυτή που φαίνεται στην παρακάτω εικόνα. 


Παρατηρώντας την εικόνα βλέπουμε πως η φάση του ηχείου δείχνει μία διαφορά 180° γύρω στα 60Hz και γύρω στα 400Hz. Αυτό λόγω των φίλτρων στο crossover(όχι FIR) που έχει το ηχείο για να δρομολογήσει το σήμα στους δύο δρόμους. 
Επίσης βλέπουμε πως συχνοτικά δεν υπάρχει ομοιομορφία. Βλέπουμε αισθητές διαφορές στη περιοχή από 140 Hz και κάτω(αν και εδώ παίζει ρόλο και το δωμάτιο) από τα 250Hz μέχρι τα 1500Hz, μία μικρή περιοχή γύρω στα 3000Hz και τέλος από τα 8000Ηz και πάνω. 

Αποθήκευση σε .txt

Για να μεταφέρω αυτή τη μέτρηση στο Rephase έκανα Copy to ASCII από το Smaart και στη συνέχεια επικόλληση σε αρχείο .txt το οποίο περιείχε πληροφορίες για κάθε συχνότητα όπως φαίνεται από το δείγμα στην παρακάτω εικόνα. 


Διόρθωση στο RePhase

Ανοίγοντας το rephase έκανα import το αρχείο .txt και φόρτωσα τη μέτρηση του Smaart. Όπως φαίνεται και στην παρακάτω εικόνα είναι πανομοιότυπο με τη μέτρηση του Smaart. 



Μετά τη διόρθωση η οποία πήρε αρκετό χρόνο με δοκιμές ώστε να μπορέσω να καταφέρω ένα επιθυμητό αποτέλεσμα τόσο στη μέτρηση όσο και στο άκουσμα η εικόνα είναι όπως φαίνεται παρακάτω.


Με σκούρο μπλέ είναι η απόκριση συχνοτήτων και με αχνό μπλε η διόρθωση της φάσης.  
Στη συνέχεια το διορθωμένο διάγραμμα έγινε export σε αρχείο 24bit(LPCM) stereo(.wav) και φορτώθηκε στο LAConvolver plugin στην στέρεο έξοδο του Logic. Στέλνοντας πάλι ροζ θόρυβο στο ηχείο ξαναμέτρησα τη φάση και τη συχνοτική απόκριση. Το διάγραμμα ήταν εντυπωσιακό και πανομοιότυπο όπως φαίνεται και από την παρακάτω εικόνα με αυτό που δημιούργησα στο RePhase μετά την επεξεργασία. 


Στην τελευταία εικόνα είναι και τα δύο διαγράμματα ώστε να μπορέσουμε να κάνουμε σύγκριση. Με πράσινο η αρχική μέτρηση και με σκούρο κόκκινο η τελική. 


Ίδια εικόνα με περισσότερη ανάλυση (1/48 oct) από το πριν(πράσινο) και το μετά(σκούρο κόκκινο)! 



Συμπεράσματα


Αυτό που με ενδιέφερε περισσότερο είναι εάν τα ηχεία είχαν καλύτερη απόδοση στο ίδιο δωμάτιο με πριν. Η απάντηση είναι ναι, απέδιδαν πολύ καλύτερα. Θα έλεγα πως είχαν ενθουσιώδη διαφορά. 


Ο ήχος ήταν πιό κρυστάλινος, καθαρός, και μπορούσες να ξεχωρίσεις και να τοποθετήσεις πολύ εύκολα όλα τα όργανα στο mix. Οι χαμηλές περιοχές ήταν πιο στρογγυλές και δεν υπήρχε μπέρδεμα συχνοτήτων. Ίσως σε ένα καλύτερο δωμάτιο τα πράγματα να ήταν πιό καλά.  Να διευκρινήσω πως δε δοκίμασα να κάνω μίξη απλά έπαιξα μουσική από CD αφού την είχα κάνει import στο Logic.

Οι αρχικές μετρήσεις έγιναν σε ένα μόνο σημείο αλλά νομίζω θα ήταν πιο σωστό και ολοκληρωμένο να μετρήσω διαφορετικά σημεία και να προσπαθήσω να διορθώσω ένα μέσο όρο των σημείων ώστε να ακούσω εάν υπάρχει διαφορά γενικά και όχι  μόνο μπροστά στο ηχείο. 

Τέλος, με το τίμημα του delay στο output του Logic χρησιμοποιώντας περισσότερα taps όταν έκανα export το .wav αρχείο από το Rephase είχα καλύτερη απόδοση στις χαμηλές συχνότητες. Αλλιώς σε περίπτωση που χρειάζεται να διορθώσουμε κάποιο ηχείο που χρησιμοποιείται ως μόνιτορ και το πολύ delay θα δημιουργούσε πρόβλημα, θα πρέπει να δουλευτούν περισσότερο οι χαμηλές συχνότητες στο Rephase ώστε να υπάρξει αντίστοιχο αποτέλεσμα με αυτό που έχουμε με τα περισσότερα taps. 

Με περισσότερα taps χρειάζεται περισσότερο μνήμη για να γίνουν οι υπολογισμοί, και χρειάζονται περισσότεροι υπολογισμοί ώστε να είναι πιο ακριβές το αποτέλεσμα και σύμφωνα με το σχεδιασμό.  

Οι δύο παρακάτω εικόνες είναι: 
FIR με 256taps και περίπου 4ms delay

FIR με 8192taps και περίπου 85ms delay

Πατατηρούμε πως στις χαμηλές συχνότητες με τα 256 taps βγαίνει ένας μέσος όρος λιγότερο κοντά στο επιθυμητό αποτέλεσμα, ενώ με τα περισσότερα taps το αποτέλεσμα είναι πανομοιότυπο με το σχεδιασμό. 

Επίλογος



Χαίρομαι ιδιαίτερα για τα ηχεία που δεν ήξερα πως είχα και το πόσο καλά μπορούν να αποδώσουν έστω και με λίγο dealy παραπάνω. Ίσως με περισσότερες δοκιμές και προσπάθεια να υπάρξει και καλύτερο αποτέλεσμα αλλά νομίζω πως είναι μία καλή αρχή. Εάν κάποιος έχει ερωτήσεις και χρειάζεται διευκρινίσεις μπορεί να μου στείλει στο plusixdb@gmail.com και θα προσπαθήσω να απαντήσω asap. 





Τετάρτη 23 Νοεμβρίου 2016

Ο ρόλος της φάσης στην πρόσθεση σημάτων

Όταν αναφερόμαστε στη φάση ενός ηχητικού σήματος το τοποθετούμε στο χρόνο σε σύγκριση πάντα με κάποιο άλλο σήμα ή με την αρχική κατάσταση ενός σημείου της κυματομορφής του ιδίου με κάποιο άλλο σημείο. Για να προσδιορίσουμε αυτή τη διαφορά φάσης μπορούμε να χρησιμοποιήσουμε είτε το χρόνο για να υποδείξουμε τη  διαφορά, είτε τη γωνιακή διαφορά φάσης. Γνωρίζουμε, πως η κίνηση για παράδειγμα, ενός ημιτονοϊδούς κύματος είναι κυκλική κίνηση στο χρόνο και η γωνία τοποθέτησης στο χρόνο υπολογίζεται σε μοίρες με βάσει τριγωνομετρικά μοντέλα. 
Στο παρακάτω βίντεο βλέπουμε την κίνηση που περιγράψαμε στον κύκλο αλλά και στο χρόνο από δύο διαφορετικές οπτικές γωνίες. Η μία είναι η κυκλική κίνηση και η άλλη είναι στο χρόνο με τη μορφή ημιτονοϊδούς κύματος.




By Lucas VB.
Πηγή: https://commons.wikimedia.org/w/index.php?curid=31642523

Για αυτούς που ενδιαφέρονται για τα μαθηματικά πίσω από την κατανόηση της φάσης μπορούν να κοιτάξουν ΕΔΩ ή σε βιβλία μαθηματικών. 


Ας παρατηρήσουμε όμως τι συμβαίνει όταν έχουμε δύο σήματα(Ροζ Θόρυβος) σε φάση μεταξύ τους αλλά και σε διαφορά φάσης.
Καταρχήν να δούμε τι συμβαίνει όταν δύο σήματα αθροιστούν σε ελεγχόμενο πεδίο, για την ώρα. Η παρακάτω εικόνα δείχνει άθροισμα +6db σε όλο το συχνοτικό φάσμα των δύο σημάτων το οποίο είναι και το ιδανικό σενάριο στη διαμόρφωση ηχητικών συστημάτων στο ακουστικό πεδίο.



Στη συνέχεια εάν προσθέσουμε 1ms καθυστέρηση σε ένα από τα δύο σήματα θα δούμε πως ενώ συχνοτικά δεν φαίνεται να αλλάζει κάτι, υπάρχει αλλαγή στη φάση του σήματος. Παρατηρούμε 180 μοίρες αλλαγή φάσης στα 500hz, στα 1500Hz, στα 2500Hz κλπ.


Τώρα, εάν συνδυάσουμε το σήμα χωρίς καθυστέρηση με το σήμα που έχει 1ms καθυστέρηση βλέπουμε πως εκτός από την αλλαγή στη φάση έχουμε και συχνοτική αλλαγή με πολλαπλές συχνοτικές διακυμάνσεις στο μεγαλύτερο μέρος του συχνοτικού φάσματος. Αυτό το φαινόμενο το ονομάζουμε φίλτρο χτένας ή στα αγγλικά Comb Filtering


Ας δούμε και τα τρία σήματα σε ένα γράφημα για να μπορέσουμε να κατανοήσουμε τι γίνεται πίο καθαρά και με ακρίβεια. 


Παρατηρούμε ότι η φάση του σήματος με το μπλέ χρώμα που προκύπτει από την αλληλεπίδραση των δύο άλλων σημάτων έχει άθροισμα 6db στις περιοχές όπου υπάρχει ταίριασμα των δύο φάσεων και συχνοτική ακύρωση στα σημεία όπου τα δύο σήματα έχουν 180° διαφορά στη φάση τους
Στα 500hz υπάρχει διαφορά φάσης 180 μοιρών μεταξύ του πράσινου και του κόκκινου σήματος και για αυτό βλέπουμε συχνοτική ακύρωση ενώ στο 1Khz η φάση του πράσινου και του κόκκινου σήματος τέμνονται(μηδέν μοίρες διαφορά) και για αυτό έχουμε +6db άθροισμα. 
Γιατί όμως δημιουργούνται ακυρώσεις και αθροίσεις σε αυτές τις συχνότητες και όχι αλλού όταν το ένα από τα δύο σήματα έχει delay 1ms; Γνωρίζουμε πως ένα 1ms είναι ο χρόνος που χρειάζεται η συχνότητα των 1000Hz να κάνει ένα πλήρη κύκλο ή μία πλήρη περιστροφή που ισούται με 360 μοίρες ή ως κοινώς γνωστό η περίοδος των 1000Hz είναι 1ms. Επίσης γνωρίζουμε πως τα 500Hz έχουν περίοδο 2ms. Συνεπώς το 1ms είναι ακριβώς o μισός κύκλος της περιόδου των 500Hz . Άρα εφόσον και τα δύο σήματα περιέχουν όλες τις συχνότητες αλλά με 1ms διαφορά αυτές που θα επηρεαστούν στον συνδυασμό με ακύρωση είναι αυτές που η περιοδός τους βρίσκεται στο F=1/2Τ(500Hz), F=3/2Τ(1500Hz), F=5/2Τ(2500Hz) κλπ. και αυτές που θα έχουν άθροισμα είναι οι F=Τ(1000Hz), F=2Τ(2000Hz), (3000Hz) κλπ
Παρατηρώντας ένα γράφημα όπως το παραπάνω ξέρουμε πως η περίοδος της συχνότητας που βρίσκεται η πρώτη ακύρωση ισούται με το διπλάσιο της χρονικής διαφοράς μεταξύ των συνδυαζόμενων σημάτων. Δηλαδή, γνωρίζοντας πως η περίοδος των 500hz είναι 2ms μπορούμε να υπολογίσουμε την χρονική διαφορά μεταξύ τους(1ms) που είναι και η περίοδος της κεντρικής συχνότητας του δεύτερου αθροίσματος, το 1Khz.



Βλέπουμε πως η πρώτη ακύρωση έχει μήκος ίσο με μία οκτάβα όπως και το μήκος του δευτερου αθροίσματος. Στη συνέχεια παρατηρώντας την παραπάνω εικόνα μπορούμε να κατασκεβάσουμε των παρακάτω πίνακα με τους συσχετισμούς ακυρώσεων και αθροίσεων. 



Τι γίνεται όμως σε πραγματικές συνθήκες; Στο παρακάτω βίντεο θα προσπαθήσω να δείξω τι γίνεται όταν συνδυαστούν δύο ηχητικές πηγές που βρίσκονται σε απόσταση 0.5ms περίπου ή αλλιώς 17cm το ένα από το άλλο.  
Εκ του αποτελέσματος φαίνεται πως οι κανόνες που διέπουν τον συνδυασμό ηχητικών κυμάτων/πηγών είναι ακριβώς οι ίδιοι όπως και στο πιο πάνω παράδειγμα. Οι μόνοι παράγοντες που μπορούν να επηρεάσουν το αποτέλεσμα είναι ο αέρας, η θερμοκρασία και οι ανακλάσεις του χώρου στον οποίο γίνονται οι μετρήσεις. Για να μπορέσει να γίνει πιο κατανοητό το παράδειγμα η τοποθέτηση του μικροφώνου έχει γίνει κοντά στα ηχεία ώστε να είναι ξεκάθαρη η εικόνα των δύο συνδυαζόμενων ηχητικών πηγών. 
Για να παρακολουθήσετε το βίντεο πατήστε στον παρακάτω σύνδεσμο.