«Ψυχοακουστικό test για τη μελέτη ανακλάσεων με έμφαση στα ακουστικά»



Σχετικά έγγραφα
ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ ΗΛΕΚΤΡΟΑΚΟΥΣΤΙΚΗΣ

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER

Σύστημα ενίσχυσης ήχου εξωτερικού χώρου (Outdoor Sound Reinforcement System)

ΙΕΜΑ Κύκλος διαλέξεων μουσικής ακουστικής

Μέτρηση του χρόνου αντήχησης

Ο μετασχηματισμός Fourier

ΑΝΑΛΥΣΗ ΣΗΜΑΤΩΝ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΤΟ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟ FOURIER

Σήματα και Συστήματα. Διάλεξη 1: Σήματα Συνεχούς Χρόνου. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ. Εργαστήριο 8 ο. Αποδιαμόρφωση PAM-PPM με προσαρμοσμένα φίλτρα

Σήματα και Συστήματα. Διάλεξη 10: Γραμμικά Φίλτρα. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

10-Μαρτ-2009 ΗΜΥ Παραθύρωση Ψηφιακά φίλτρα

Παρουσίαση του μαθήματος

Εργαστήριο Ηλεκτρoακουστικής Άσκηση 2 - Σελίδα 1 ΗΛΕΚΤΡΟΑΚΟΥΣΤΙΚΗ ΑΣΚΗΣΗ 2

HMY 429: Εισαγωγή στην Επεξεργασία Ψηφιακών Σημάτων. Διάλεξη 22: Γρήγορος Μετασχηματισμός Fourier Ανάλυση σημάτων/συστημάτων με το ΔΜΦ

ΗΛΕΚΤΡΟΑΚΟΥΣΤΙΚΗ ΗΧΗΤΙΚΕΣ ΕΓΚΑΤΑΣΤΑΣΕΙΣ

Ακουστική Κλειστών Χώρων

HMY 429: Εισαγωγή στην Επεξεργασία Ψηφιακών

Ψηφιακή Επεξεργασία Σημάτων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ. Ενότητα : ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ Ζ (ΖTransform)

Διακριτός Μετασχηματισμός Fourier

ΗΛΕΚΤΡΟΑΚΟΥΣΤΙΚΗ 9. ΗΧΗΤΙΚΕΣ ΕΓΚΑΤΑΣΤΑΣΕΙΣ ΑΚΟΥΣΤΙΚΗ ΚΑΛΥΨΗ ΓΙΑΝΝΗΣ ΜΟΥΡΤΖΟΠΟΥΛΟΣ ΚΑΘΗΓΗΤΗΣ

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

17-Φεβ-2009 ΗΜΥ Ιδιότητες Συνέλιξης Συσχέτιση

Εισαγωγή στις Τηλεπικοινωνίες. Δομή της παρουσίασης

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 2 η : Δισδιάστατα Σήματα & Συστήματα Μέρος 1

Ψηφιακή Επεξεργασία Σημάτων

Α. Αιτιολογήστε αν είναι γραμμικά ή όχι και χρονικά αμετάβλητα ή όχι.

Εισαγωγή στο Equalizing

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Ψηφιακή Επεξεργασία Σημάτων

Ψηφιακή Επεξεργασία Σηµμάτων

18/3/2009. Ορισμός ευαισθησίας μικροφώνων. Ορισμός στάθμης ευαισθησίας μικροφώνων. Φλώρος Ανδρέας Επίκ. Καθηγητής

Ο Ήχος ως Σήμα & η Ακουστική Οδός ως Σύστημα

ΚΥΜΑ ΗΧΟΣ ΙΑΘΛΑΣΗ ΠΕΡΙΘΛΑΣΗ ΑΝΑΚΛΑΣΗ ΣΥΜΒΟΛΗ

Στοιχεία επεξεργασίας σημάτων

1. ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB... 13

Σήματα και Συστήματα. Διάλεξη 2: Στοιχειώδη Σήματα Συνεχούς Χρόνου. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Η ΜΕΘΟΔΟΣ PCA (Principle Component Analysis)

Δομικά Υλικά Μάθημα ΙΙΙ. Ηχος & Ηχητικά Φαινόμενα

ΗΛΕΚΤΡOΑΚΟΥΣΤΙΚΗ Ι ΑΣΚΗΣΗ 1

stopband Passband stopband H L H ( e h L (n) = 1 π = 1 h L (n) = sin ω cn

ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ. Κεφάλαιο 4 : Σήματα Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

Ψηφιακός ήχος και κινούμενα γραφικά

ΗΛΕΚΤΡΟΑΚΟΥΣΤΙΚΗ & ΤΕΧΝΟΛΟΓΙΑ ΗΧΟΥ εισαγωγή

Ήχος. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 04-1

Τεχνολογία Πολυμέσων. Ενότητα # 4: Ήχος Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ. Κεφάλαιο 4 : Σήματα Διάλεξη: Κώστας Μαλιάτσος Χρήστος Ξενάκης, Κώστας Μαλιάτσος. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

Εισαγωγή στις Τηλεπικοινωνίες. Δομή της παρουσίασης

Θεώρημα δειγματοληψίας

25/3/2009. Η επεξεργασία του ψηφιακού σήματος υλοποιείται μέσω κατάλληλου αλγορίθμου. Φλώρος Ανδρέας Επίκ. Καθηγητής Παράμετροι ελέγχου

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Φλώρος Ανδρέας. Επίκ. Καθηγητής

x[n] = e u[n 1] 4 x[n] = u[n 1] 4 X(z) = z 1 H(z) = (1 0.5z 1 )(1 + 4z 2 ) z 2 (βʹ) H(z) = H min (z)h lin (z) 4 z 1 1 z 1 (z 1 4 )(z 1) (1)

Μάθημα: Τεχνολογία Ήχου

Ολοκληρωµένο Περιβάλλον Σχεδιασµού Και Επίδειξης Φίλτρων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ. Ενότητα : ΤΑΧΥΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ FOURIER

Μάθημα: Τεχνολογία Ήχου

27/4/2009. Για την υλοποίηση τέτοιων αλγορίθμων επεξεργασίας απαιτείται η χρήση μνήμης. T η περίοδος δειγματοληψίας. Επίκ. Καθηγητής.

Μάθημα: Τεχνολογία Ήχου

Σήματα και Συστήματα. Διάλεξη 9: Μελέτη ΓΧΑ Συστημάτων με τον Μετασχηματισμό Fourier. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Εισαγωγή στην Επεξεργασία Σήματος. Νόκας Γιώργος

Ο Μετασχηματισμός Ζ. Ανάλυση συστημάτων με το μετασχηματισμό Ζ

Εφαρμογή στις ψηφιακές επικοινωνίες

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

ΕΑΠ/ΠΛΗ-22/ΑΘΗ.3 1 η τηλεδιάσκεψη 03/11/2013. επικαιροποιημένη έκδοση Ν.Δημητρίου

Ακαδηµαϊκό Έτος , Εαρινό Εξάµηνο ιδάσκων Καθ.: Νίκος Τσαπατσούλης

28/4/2015. Papadakis Nikos 1. Ακουστική Μεγάλων Χώρων. Ακουστική Μικρών Κλειστών Χώρων. Ακουστική Συναυλιακών Χώρων και Επίδραση στην Ακοή

Διακριτές ανακλάσεις = συμβολή κυμάτων

Theory Greek (Cyprus) Μη γραμμική δυναμική σε Ηλεκτρικά Κυκλώματα (10 μονάδες)

ΠΛΗ21 Κεφάλαιο 1. ΠΛΗ21 Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: 1 Εισαγωγή

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 9 Ανάλυση Fourier: Από τη Θεωρία στην Πρακτική Εφαρμογή των Μαθηματικών

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας. Ακαδημαϊκό Έτος Παρουσίαση Νο. 2. Δισδιάστατα Σήματα και Συστήματα #1

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ. Ερωτήσεις πολλαπλής επιλογής. Συντάκτης: Δημήτριος Κρέτσης

Σημειώσεις κεφαλαίου 16 Αρχές επικοινωνίας με ήχο και εικόνα

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας. Ακαδημαϊκό Έτος Παρουσίαση Νο. 2. Δισδιάστατα Σήματα και Συστήματα #1

15/3/2009. Ένα ψηφιακό σήμα είναι η κβαντισμένη εκδοχή ενός σήματος διάκριτου. χρόνου. Φλώρος Ανδρέας Επίκ. Καθηγητής

Διάλεξη 6. Fourier Ανάλυση Σημάτων. (Επανάληψη Κεφ Κεφ. 10.3, ) Ανάλυση σημάτων. Τι πρέπει να προσέξουμε

H ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΟΣ. στις τηλεπικοινωνίες

HMY 429: Εισαγωγή στην Επεξεργασία Ψηφιακών Σημάτων. Διάλεξη 20: Διακριτός Μετασχηματισμός Fourier (Discrete Fourier Transform DFT)

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 8 Επεξεργασία Σήματος με την Ανάλυση Fourier. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συστήματα Αυτομάτου Ελέγχου

27-Ιαν-2009 ΗΜΥ (ι) Βασική στατιστική (ιι) Μετατροπές: αναλογικό-σεψηφιακό και ψηφιακό-σε-αναλογικό

3-Φεβ-2009 ΗΜΥ Σήματα

Εισαγωγή στις Τηλεπικοινωνίες

Άσκηση 36 Μελέτη ακουστικών κυμάτων σε ηχητικό σωλήνα

Εισαγωγή στην Ανάλυση Συστηµάτων Αυτοµάτου Ελέγχου: Χρονική Απόκριση και Απόκριση Συχνότητας

Κινητά Δίκτυα Επικοινωνιών. Συμπληρωματικό υλικό. Προσαρμοστική Ισοστάθμιση Καναλιού

Στο Κεφάλαιο 9 παρουσιάζεται μια εισαγωγή στις ψηφιακές ζωνοπερατές επικοινωνίες.

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

ΚΥΜΑ ΗΧΟΣ ΔΙΑΘΛΑΣΗ ΠΕΡΙΘΛΑΣΗ ΑΝΑΚΛΑΣΗ ΣΥΜΒΟΛΗ

Λίγα λόγια για τους συγγραφείς 16 Πρόλογος 17

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΣΤΑΤΙΣΤΙΚΗ ΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ. Κεφάλαιο 8. Συνεχείς Κατανομές Πιθανοτήτων Η Κανονική Κατανομή


Αριθμητική Ανάλυση & Εφαρμογές

Εργαστήριο 3: Διαλείψεις

Φυσική για Μηχανικούς

Ειδικά Θέματα Ηλεκτρονικών 1

Ιατρικά Ηλεκτρονικά. Δρ. Π. Ασβεστάς Εργαστήριο Επεξεργασίας Ιατρικού Σήματος & Εικόνας Τμήμα Τεχνολογίας Ιατρικών Οργάνων

Ψηφιακή Επεξεργασία Σημάτων

Αναγνώριση Προτύπων Ι

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΑΣ Ομάδα Τεχνολογίας Ήχου και Ακουστικής Διπλωματική Εργασία του φοιτητή του τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών Σύρου Λουκά του Κωνσταντίνου Α.Μ.:6100 «Ψυχοακουστικό test για τη μελέτη ανακλάσεων με έμφαση στα ακουστικά» Επιβλέπων Καθηγητής: Ιωάννης Μουρτζόπουλος Αριθμός Διπλωματικής Εργασίας: Πάτρα,2011

Αριθμός διπλωματικής εργασίας: Θέμα: «Ψυχοακουστικό test για τη μελέτη ανακλάσεων με έμφαση στα ακουστικά» Φοιτητής: Σύρος Λουκάς Επιβλέπων: Καθηγητής Ιωάννης Μουρτζόπουλος Περίληψη Στην παρούσα διπλωματική εργασία πραγματοποιείται ένα ψυχοακουστικό test για την μελέτη διαφορετικών τρόπων ισοστάθμισης και τοποθέτησης των ακουστικών για διαφορετικούς χώρους. Μελετάται η υποκειμενική επίδραση τριών παραμέτρων, αυτών της απόστασης, της αντήχησης και της ποιότητας για κάθε διαφορετική τοποθέτηση και δωμάτιο. Σε αυτό το πλαίσιο αναλύονται τα αποτελέσματα και συγκρίνονται με βάση αυτά που έχουν ήδη πραγματοποιηθεί σε διάφορες μελέτες.

Η διπλωματική εργασία πραγματοποιήθηκε υπό την επίβλεψη του καθηγητή κ. Μουρτζόπουλου Ιωάννη τον οποίο και ευχαριστώ θερμά για την καθοδήγηση του. Ιδιαίτερα ευχαριστώ τον Αλέξανδρο Τσιλφίδη και την Ελευθερία Γεωργαντή για τις υποδείξεις και τον χρόνο που προσέφεραν για την προσπάθεια αυτή που έπαιξαν καθοριστικό ρόλο στην πορεία αυτής της εργασίας. Επίσης ευχαριστώ και τα υπόλοιπα μέλη της ομάδας Τεχνολογίας Ήχου και Ακουστικής :Σταμάτη Κάρλος, Χαράλαμπο Παπαδάκο, Θοδωρή Αλτάνη, Ηλία Κοκκίνη και Φώτη Κοντομίχο. Πάτρα, Δεκέμβριος 2012 Σύρος Λουκάς

ΠΕΡΙΕΧΟΜΕΝΑ Κεφάλαιο 1: Εισαγωγή... 1 Κεφάλαιο 2: Θεωρία....5 2.1 Στοιχεία ψυχοακουστικής 6 2.1.1 Εισαγωγή..6 2.1.2 Ανατομία του αυτιού 7 2.1.2.1 Έξω αυτί.8 2.1.3 Ψυχοακουστική μέθοδος...8 2.2 Η διαδικασία της ισοστάθμισης.....9 2.2.1 Εισαγωγή..9 2.2.2 Μ/Σ Fourier και Complex Smooth 11 2.2.3 Αρχές ισοστάθμισης...14 2.3 Στοιχεία ακουστικής χώρων...17 2.3.1 Εισαγωγή.. 17 2.3.2 Κρουστική απόκριση ενός χώρου....18 2.3.3 Χρόνος αντήχησης..19 2.4 Αμφιωτική αναπαραγωγή... 20 2.4.1 Εισαγωγή...20 2.4.2 HRTF. 21 2.4.3 Δυναμική αμφιωτική σύνθεση..23 2.4.4 Χαρακτηριστικά ακουστικών κατά τη δυναμική αμφιωτική σύνθεση.23 Κεφάλαιο 3: Υλοποίηση 27 3.1 Δημιουργία αμφιωτικών σημάτων..27 3.1.1 Εισαγωγή. 28 3.1.2 Χώροι 30

3.2 Ισοστάθμιση ακουστικών...32 3.2.1 Εισαγωγή....32 3.2.2 Σύγκριση 3 περιπτώσεων τοποθέτησης.34 3.3 Μέθοδος ψυχοακουστικού test....41 Κεφάλαιο 4: Αποτελέσματα.....43 4.1 Ψυχοακουστική μέτρηση απόστασης 46 4.2 Ψυχοακουστική μέτρηση ποιότητας...49 Κεφάλαιο 5: Συμπεράσματα....53 Βιβλιογραφία.57 Παράρτημα Α: Αναλυτικά αποτελέσματα ψυχοακουστικού test.59 Παράρτημα Β: Βιβλιοθήκη συναρτήσεων matlab....73 Παράρτημα Γ: Χαρακτηριστικά ακουστικών.. 103

1 ΕΙΣΑΓΩΓΗ Ολοένα και περισσότερο αυξάνονται οι τεχνικές ψηφιακής επεξεργασίας ήχου και γι αυτό η επιστήμη του συστήματος ακοής μας ως δέκτη της ακουστικής πληροφορίας, τουτέστι η επιστήμη της ψυχοακουστικής, έχει αποκτήσει ολοένα και περισσότερο ενδιαφέρον. Τα στοιχεία του ανθρώπινου συστήματος ακοής θα πρέπει να ληφθούν υπ όψη στο σχεδιασμό μελλοντικών ακουστικών επικοινωνιακών συστημάτων σε οικονομικά πραγματοποιήσιμα προιόντα. Κάθε τεχνική βελτίωση σε αυτή την περιοχή θα κριθεί από την ακρόαση και το συσχετισμό του αποτελέσματος της ακρόασης με το κόστος. [1] Στα ψυχοακουστικά πειράματα, η μετατροπή των ηλεκτρικών ταλαντώσεων σε ηχητικά κύματα συνήθως επιτυγχάνεται με ηχεία ή ακουστικά. Και στις δύο αυτές περιπτώσεις, η απόκριση συχνότητας και η μη-γραμμική παραμόρφωση που εισάγεται από τον μετατροπέα έχουν μεγάλη σημασία. Αν ήχοι παρουσιαστούν από ηχεία που δε βρίσκονται σε ανηχοικό θάλαμο αλλά σε ένα «φυσιολογικό» δωμάτιο, συμβαίνουν πρόσθετες περιπλοκές. Η χαρακτηριστική συχνοτήτων του δωματίου υπερτίθεται στη χαρακτηριστική συχνοτήτων των ηχείων. Αυτά τα προβλήματα μπορούν να αντιμετωπιστούν αν οι ήχοι παρουσιαστούν με ακουστικά. Η απόκριση συχνότητας των ακουστικών πρέπει να μετρηθεί σε πραγματικά αυτιά, επειδή οι συζευκτές ρεύματος μπορούν να οδηγήσουν σε παραπλανητικά αποτελέσματα. Έτσι η απόκριση συχνότητας των ακουστικών μετράται σε ανηχοικό θάλαμο με υποκειμενικές συγκρίσεις τόνων, που παρουσιάζονται μέσω ηχείων ή ακουστικών. Επειδή οι αποκρίσεις των ακουστικών που χρησιμοποιούνται 1

στην ψυχοακουστική έχουν ζωνοπερατή χαρακτηριστική όταν μετρώνται σε πραγματικά αυτιά, έχουν αναπτυχθεί ισοσταθμιστές. Τα ισοσταθμισμένα ακουστικά δίνουν μια απόκριση συχνότητας ελεύθερου πεδίου που είναι επίπεδη με απόκλιση +-2dB. Aν τα ακουστικά χρησιμοποιηθούν χωρίς ισοστάθμιση, τότε πρέπει να ληφθεί υπ όψη ότι λειτουργούν σα ζωνοπερατά φίλτρα και αλλάζουν τους παρουσιαζόμενους ήχους. Αυτό σημαίνει ότι και το «χρώμα» του ήχου και η ένταση επηρεάζονται δραματικά, κυρίως για broad-band ήχους.[1] Η ανάπτυξη της δυναμικής αμφιωτικής σύνθεσης (dynamic binaural synthesis) έχει βοηθήσει πολύ στην προσομοίωση ακουστικών περιβαλλόντων. Οι κινήσεις του κεφαλιού του ακροατή ανιχνεύονται με έναν head tracker τη στιγμή που ένα ανηχοικό σήμα συνελίσσεται με μια binaural room impulse response (BRIR) που αντιστοιχεί στις θέσεις του κεφαλιού. Τα ακουστικά σήματα συνήθως αναπαράγονται με ακουστικά. Για μια αυθεντική προσομοίωση το ακουστικό σύστημα θα πρέπει να είναι διαυγές κάτι που σημαίνει ότι το συντεθειμένο σήμα πρέπει να μη γίνεται διακριτό από το φυσικό ηχητικό πεδίο. Ακουστικά tests που έχουν πραγματοποιηθεί για την εφαρμοσιμότητα των αμφιωτικών προσομοιώσεων έχουν δείξει ότι οι φασματικές παραμορφώσεις είναι η πιο προφανής ένδειξη για διαφορές. Έτσι ένα σημαντικό ενδιαφέρον είναι η βελτιστοποίηση της παρεμβολής των ηλεκτροακουστικών μετατροπέων που εμπλέκονται στο αμφιωτικό σύστημα προσομοίωσης. Πρωταρχικά, τα ηχεία και τα μικρόφωνα του dummy head που χρησιμοποιήθηκαν κατά τη BRIR ηχογράφηση και τα ακουστικά που χρησιμοποιούνται για την αναπαραγωγή χρειάζεται να ληφθούν υπ οψη..[2] Η αναπαραγωγή έτσι από τα ακουστικά είναι μέθοδος που χρησιμοποιείται ευρέως για την αμφιωτική σύνθεση. Ο ρεαλισμός μιας αμφιωτικής αναπαραγωγής από τα ακουστικά αυξάνεται αισθητά αν τα ακουστικά είναι επαρκώς ισοσταθμισμένα. Παρ όλα αυτά η σωστή ισοστάθμιση των ακουστικών είναι ακόμα αντικείμενο έρευνας επειδή η σωστή ισοστάθμιση εξαρτάται πολύ από την τοποθέτηση τους μεταξύ του αυτιού του ακροατή. Μια πολύ σημαντική τεχνική ερώτηση είναι το κατά πόσο οι ακουστικές συνθήκες της φυσικής αμφιωτικής ακοής μπορούν να αναπαραχθούν τεχνητά χρησιμοποιώντας ακουστικά έτσι ώστε να μπορούν να χρησιμοποιηθούν για ψυχοακουστικές μελέτες χωρίς να θυσιαστεί ποιότητα. Έτσι μια πολύ σημαντική ερώτηση του τεστ που πραγματοποιήθηκε είναι το πως τα αμφιωτικά σήματα πρέπει να ισοσταθμιστούν για την αναπαραγωγή από τα ακουστικά, έτσι ώστε η επίδραση τους να μπορεί να αγνοηθεί; 2

Ο στόχος έτσι λοιπόν ήταν να αναλυθεί η επίδραση της ισοστάθμισης των ακουστικών στην αμφιωτική αναπαραγωγή. Παρ όλα αυτά η συνάρτηση μεταφοράς των ακουστικών ποικίλει υπερβολικά στις ψηλές συχνότητες αναλόγως την τοποθέτηση. Επειδή οι κορυφές στην τελική απόκριση συχνότητας είναι μη επιθυμητές ένα φίλτρο ισοστάθμισης σχεδιάζεται το οποίο αντιστρέφει το άνω όριο του πλάτους της συνάρτησης μεταφοράς των ακουστικών μετρημένης για διαφορετικές τοποθετήσεις, το οποίο δίνει ως αποτέλεσμα μια διορθωμένη απόκριση συχνότητας που θα διαφέρει από την ιδεατή απόκριση για κάθε τοποθέτηση από την παρουσία των βυθισμάτων τα οποία συνήθως δε τα προσέχει ο ακροατής. [3] Συγκεκριμένα,στην παρούσα διπλωματική εργασία μετρήθηκε η απόκριση συχνότητας για διαφορετικούς χώρους όταν τα ακουστικά βρίσκονται σε ελεύθερο πεδίο, όταν είναι τοποθετημένα στο αυτί και τέλος όταν τα τοποθετούμε σε ξύλινο επίπεδο με πλήρη ισοστάθμιση,ισοστάθμιση που προσεγγίζει την απόκριση συχνότητας των ακουστικών και χωρίς ισοστάθμιση και έγινε η διερεύνηση μέσω του ψυχοακουστικού test ποιού είδους ισοστάθμισης είναι βέλτιστο. Η διπλωματική εργασία χωρίζεται στα κάτωθι κεφάλαια: Κεφάλαιο 2 ο : Παρουσιάζονται συνοπτικά όλες οι θεωρητικές έννοιες που χρησιμοποιούνται αργότερα και δίνονται οι μαθηματικοί ορισμοί των πιο σημαντικών παραμέτρων. Γίνεται μια σύντομη εισαγωγή στη φυσιολογία της ακοής, στα βασικά χαρακτηριστικά της ακουστικής χώρων και στη σημαντική για την παρούσα εργασία διαδικασία της ισοστάθμισης. Ακόμα εισάγονται και βασικές έννοιες της αμφιωτικής αναπαραγωγής stereo. Κεφάλαιο 3 ο : Παρουσιάζεται αναλυτικά η μέθοδος με την οποία σχεδιάστηκε και προετοιμάστηκε το ψυχοακουστικό test. Κεφάλαιο 4 ο : Παρατίθενται τα τελικά αποτελέσματα του test. Κεφάλαιο 5 ο : Εξάγονται τα τελικά συμπεράσματα και δίνονται προτάσεις για βελτίωση. 3

4

2 ΘΕΩΡΙΑ Σε αυτό το κεφάλαιο παρουσιάζεται συνοπτικά το απαραίτητο θεωρητικό υπόβαθρο για την κατανόηση της παρούσας διπλωματικής εργασίας. Αρχικά, γίνεται μια εισαγωγή στη φυσιολογία του αυτιού και τις μεθόδους τις ψυχοακουστικής τις οποίες χρησιμοποιήσαμε για τα συμπεράσματα της εργασίας. Έπειτα γίνεται μια συνοπτική εισαγωγή στη θεωρία της ισοστάθμισης. Στη συνέχεια, γίνεται αναφορά στην ακουστική κλειστών χώρων. Γίνεται μια εισαγωγή στην επίδραση των χώρων σε ηχητικά σήματα. Τέλος παρουσιάζονται οι βασικές αρχές της αμφιωτικής αναπαραγωγής stereo, περιγράφεται η βασική έννοια της HRTF καθώς και η διαδικασία της αμφιωτικής σύνθεσης και δίνονται κάποια γενικά χαρακτηριστικά ακουστικών που μας ενδιαφέρουν για την αμφιωτική αναπαραγωγή. 5

2.1 Στοιχεία ψυχοακουστικής 2.1.1 Εισαγωγή Η αντίληψη είναι η διαδικασία με την οποία οι άνθρωποι αισθάνονται, επιλέγουν, οργανώνουν και ερμηνεύουν πληροφορίες (π.χ. στην όραση, στον ήχο και στην ακοή) για να σχηματίσουν μια υποκειμενική εικόνα του κόσμου έτσι ώστε να αναγνωρίσουν,να ανακτήσουν και να αποκριθούν στην πληροφορία. Έτσι η αντίληψη είναι στενά συνυφασμένη με τη γνώση. Το ακουστικό σύστημα αντίληψης είναι ένα υψηλής περιπλοκότητας δομημένο σύστημα, που αποτελείται ανατομικά από διάφορα περιφερειακά υποσυστήματα όπως και από εκατομμύρια συνδεδεμένα κεντρικά νεύρα. Η μελέτη της αντίληψης παραδοσιακά ξεκινά με ένα μοντέλο της αντιληπτικής διαδικασίας, που είναι μια σειρά βημάτων που ξεκινούν από την άφιξη ενός εξωτερικού ερεθίσματος ακολουθούμενη από την επεξεργασία του ερεθίσματος-σήματος από τα όργανα-δέκτες και τα κεντρικά ακουστικά νεύρα, οδηγώντας στην τελική μετατροπή της πληροφορίας σε αντίληψη και γνώση. Η ψυχοακουστική (και η γνωστική ψυχολογία) είναι οι κυριότεροι κλάδοι που παρέχουν την λειτουργική/συμπεριφορική ένωση του ερεθίσματος με την αντίληψη/γνώση. Το φυσιολογικό επίπεδο της ανάλυσης επικεντρώνεται στη σχέση μεταξύ του ερεθίσματος και της προκαλούμενης επεξεργασίας σε διάφορα δομικά στάδια.[4] 6

2.1.2 Ανατομία του αυτιού Σχήμα 2.1 Ανατομικά χαρακτηριστικά του αυτιού Το αυτί μετατρέπει το εισερχόμενο ακουστικό σήμα σε μηχανική κίνηση, και αυτή η κίνηση τελικά πυροδοτεί νευρικούς παλμούς που μεταφέρουν την ακουστική πληροφορία στο μυαλό.τα πιο σημαντικά χαρακτηριστικά του αυτιού φαίνονται στο σχήμα. Το αυτί διαχωρίζεται σε τρεις περιοχές, το έξω αυτί, το μέσο αυτί και το έσω αυτί. Από αυτές τις τρεις μας ενδιαφέρει κυρίως το έξω αυτί. 7

2.1.2.1 Έξω αυτί Γενικά όταν αναφερόμαστε στο αυτί, ουσιαστικά αναφερόμαστε στο έξω αυτί. Το έξω αυτί αποτελείται από το πτερύγιο και το κανάλι. Το ηχητικό κύμα εισέρχεται στο πτερύγιο και ταξιδεύει διαμέσου του καναλιού στο τύμπανο(τυμπανική μεμβράνη). Το έξω αυτί παρέχει δύο πλεονεκτήματα:πρώτον,προστατεύει το τύμπανο και το μέσο αυτί από ζημιά και δεύτερον,επιτρέπει στο μέσο αυτί να είναι τοποθετημένο πολύ κοντά στο μυαλό,έτσι μειώνοντας το μήκος των νεύρων και σαν αποτέλεσμα έναν μικρό χρόνο διάσχισης για τους μηχανισμούς δράσης των νεύρων. Το έξω αυτί σχηματίζει ένα ταλαντούμενο ακουστικό σύστημα που παρέχει περίπου 31 db κέρδος στην περιοχή των 2.5 khz, και οδηγείται σε μια περίπλοκη διάταξη ταλαντώσεων σε ψηλότερες συχνότητες. Λειτουργεί σαν ανοιχτή αντλία με μήκος περίπου 2cm που αντιστοιχεί στο ένα τέταρτο του μήκου κύματος των συχνοτήτων κοντά στα 4 khz. Είναι το έξω αυτί που είναι υπεύθυνο για την υψηλή ευαισθησία του αυτιού σ αυτή τη ζώνη συχνοτήτων, που φαίνεται από το βύθισμα του ορίου γύρω στα 4 khz. Ακόμα, λόγω του σχήματος και της τοποθέτησης του πτερυγίου σε αντιστοιχία με το κεφάλι,το έξω αυτί παρέχει στοιχεία κατεύθυνσης για τον εντοπισμό της θέσης του ήχου.[1,5] 2.1.3 Ψυχοακουστική μέθοδος που χρησιμοποιήθηκε στο πείραμα Στη ψυχοακουστική μέθοδο που είναι γνωστή ως εκτίμηση σπουδαιότητας, αντιστοιχίζονται στους ήχους ερεθίσματα αριθμοί που αναταποκρίνονται στην σπουδαιότητα που αντιλαμβάνεται γι αυτούς το υποκείμενο σε κάποια διάσταση. Για παράδειγμα,σε μια ακολουθία ερεθισμάτων ανατίθονται αριθμοί που αντιστοιχούν στην αντίληψη του θορύβου γι αυτούς. Απο την αναλογία των αριθμών, μπορούμε να συμπεράνουμε την αναλογία του θορύβου.[1] 8

2.2 Η διαδικασία της ισοστάθμισης 2.2.1 Εισαγωγή Μια σημαντική και σχετική με το φιλτράρισμα περιοχή της επεξεργασίας σήματος είναι η ισοστάθμιση. Αντίθετα με το φιλτράρισμα, η ισοστάθμιση δεν είναι διαδικασία κατά την οποία γίνεται αφαίρεση συχνοτικών στοιχείων αλλά αύξηση ή μείωση αυτών ώστε να επιτευχθεί το επιθυμητό αποτέλεσμα. Η διαδικασία της ισοστάθμισης μπορεί να μοντελοποιηθεί ως η διαδικασία της πρόσθεσης ή αφαίρεσης μιας φιλτραρισμένης έκδοσης του σήματος από το ίδιο το σήμα όπως φαίνεται στο σχήμα. Είσοδος Φίλτρο Αναλογία(+-1) Σ Έξοδος Σχήμα 2.2 Μοντελοποίηση διαδικασίας φιλτραρίσματος Προσθέτοντας τη φιλτραρισμένη έκδοση δίνει μια αύξηση στις συχνότητες που έχει επιλέξει το φίλτρο τη στιγμή που αφαιρώντας τη φιλτραρισμένη έξοδο μειώνει το πλάτος των συχνοτικών στοιχείων στο εύρος συχνοτήτων του φίλτρου. Το φίλτρο μπορεί να είναι ένα απλό ανωδιαβατό η κατωδιαβατό, που οδηγεί σε είτε έλεγχο των ψηλών είτε των χαμηλών συχνοτήτων, ή μπορεί να είναι ζωνοδιαβατό ώστε να δίνει μια απόκριση σε σχήμα Gauss. Οι συχνότητες αποκοπής των φίλτρων μπορούν να είναι είτε 9

προκαθορισμένες η μεταβαλλόμενες ανάλογα με την εφαρμογή. Ακόμα το εύρος ζώνης των ζωνοδιαβατών φίλτρων και λιγότερο συχνά οι κλίσεις των κατωδιαβατών και ανωδιαβατών φίλτρων μπορεί να ποικίλουν. Ένας ισοσταθμιστής στον οποίο όλοι οι παράμετροι του φίλτρου μπορούν να μεταβληθούν ονομάζεται παραμετρικός ισοσταθμιστής. Ωστόσο, στην πράξη, πολλές εφαρμογές χρησιμοποιούν ένα μέρος των πιθανών ελέγχων για απλότητα και ευκολία χρήσης. Τυπικά σ αυτές τις περιπτώσεις μόνο οι συχνότητες αποκοπής των ζωνοπερατών φίλτρων, και σε κάποιες περιπτώσεις τα κατωδιαβατά και ανωδιαβατά φίλτρα μεταβάλλονται. Η εναλλακτική χρήση της δομής του ισοσταθμιστή χρησιμοποιεί μια τράπεζα φίλτρων που βρίσκονται σε παραπλήσιες θέσεις ως προς την κάλυψη όλου του εύρους συχνοτήτων και αποτελούνται από παράλληλα ζωνοπερατά φίλτρα με σταθερό εύρος αλλά μεταβλητό κέρδος/αποκοπή[6]. Αυτό οδηγεί στο γραφικό ισοσταθμιστή με τυπικό εύρος ζώνης των μεμονωμένων φίλτρων που που κυμαίνεται από 1/3 εως 1 οκτάβα. Για παραμετρικούς ισοσταθμιστές το εύρος ζώνης μπορεί να γίνει σχετικά μικρό. Επειδή όλοι οι ισοσταθμιστές χρησιμοποιούν φίλτρα έχουν τις ίδιες επιδράσεις με τα φίλτρα στα πεδία του χρόνου και συχνότητας. Αυτό γίνεται ιδιαίτερα εμφανές όταν χρησιμοποιείται ισοστάθμιση στενού εύρους ζώνης, καθώς το σχετικό φίλτρο μπορεί να κουδουνίσει (ringing) για ένα σημαντικό χρονικό διάστημα και κατά την αύξηση και κατά τη μείωση. Οι ισοσταθμιστές έτσι έχουν ευρεία χρήση στην επεξεργασία ήχου. Παρ όλ αυτά, παρά τη χρησιμότητά τους, πρέπει να χρησιμοποιούνται με επιφύλαξη, πρώτον για να αποφευχθούν υπερβολές του χαρακτήρα του ήχου, εκτός κι αν αυτό είναι επιθυμητό, και δεύτερον ώστε να αποφευχθούν μη επιθυμητές παρεμβολές μεταξύ διαφορετικών ζωνών συχνοτήτων του ισοσταθμιστή. Σαν παράδειγμα σκεφτείτε το αποτέλεσμα της πρόσθεσης ψηλών, μεσαίων και χαμηλών συχνοτήτων σε ένα δοσμένο σήμα. Επειδή υπάρχουν αναπόφευκτες παρεμβολές μεταξύ των αποκρίσεων συχνότητας του ισοσταθμιστή, το συνολικό αποτέλεσμα είναι να πάρουμε το ίδιο φάσμα με το αρχικό. Ότι έχει συμβεί είναι το κέρδος να είναι μεγαλύτερο. Σημειωτέον οτί αυτό μπορεί να γίνει αν μια συγκεκριμένη ζώνη συχνοτήτων αυξηθεί και,έπειτα, επειδή το αποτέλεσμα είναι λίγο υπερβολικό άλλες ζώνες συχνοτήτων ρυθμιστούν για την εξισορρόπηση.[7] Κατά την ενεργητική ακύρωση θορύβου (Active noise cancellation) που μας ενδιαφέρει στην παρούσα εργασία, το ακουστικό σήμα προφιλτράρεται (prefiltering) από τον ισοσταθμιστή (equalizer) για την επακόλουθη μετάδοσή του στο ακουστικό σύστημα(π.χ. ακουστικά). Παρ όλ αυτά μερικά 10

ψυχοακουστικά παρά μαθηματικά κριτήρια πρέπει να χρησιμοποιηθούν πριν αυτές οι μέθοδοι χρησιμοποιηθούν με αποδοτικό τρόπο. 2.2.2 Ο Ταχύς Μετασχηματισμός Fourier και η διαδικασία εξομάλυνσης (smoothing) Η ευρεία χρησιμοποίηση του DFT(διακριτός μετασχηματισμός Fourier), σε ψηφιακά υπολογιστικά συστήματα, για πολλές εφαρμογές, λειτούργησε ως κίνητρο για να ερευνηθούν τρόποι με τους οποίους να μειωθεί η πολυπλοκότητά του. Σε πρακτικές εφαρμογές, η πολυπλοκότητα του DFT, δηλαδή ο αριθμός των πράξεων που απαιτούνται, καθορίζει και τον χρόνο που απαιτείται για αυτή την υλοποίηση καθώς και τον εξοπλισμό σε υλικόλογισμικό στη φάση του σχεδιασμού. Σχήμα 2.3 : Τυπικά παραδείγματα φασμάτων περιοδικών συναρτήσεων Προσέχοντας την εξίσωση ανάλυσης του DFT (2.1) φαίνεται ότι για τον υπολογισμό κάθε μιας από τις Ν τιμές της σειράς Χ[k] χρειάζονται Ν πολλαπλασιασμοί και Ν-1 προσθέσεις. Άρα για το σύνολο των τιμών (δειγμάτων) του DFT,χρειάζονται Ν² πολλαπλασιασμοί και Ν(Ν-1) προσθέσεις. Εάν η ακολουθία x[n] είναι μιγαδική, όλες αυτές οι πράξεις είναι επίσης μιγαδικές και το συνολικό τους πλήθος είναι της τάξης του N². X[k]= (2.1) [n]= = (2.2) 11

Η έρευνα που έχει γίνει, και που συνεχίζει να γίνεται, στον τομέα της μείωσης των πράξεων που απαιτούνται για την υλοποίηση του DFT έχει αποδώσει σημαντικούς καρπούς. Με τη χρήση μαθηματικών χειρισμών της εξίσωσης 2.1 έχει καταστεί δυνατό, να παραχθούν αλγόριθμοι, όχι προσεγγίσεις, οι οποίοι στηρίζονται στον υπολογισμό πολλών DFT μικρότερου μήκους από Ν σημεία. Τα αποτελέσματα όλων αυτών των μικρότερων DFT συνδυάζονται κατάλληλα, ώστε να παράγουν τον DFT Ν σημείων.αυτή η αναγωγή του DFT σε DFT μικρότερου μήκους έχει γίνει μέχρι σήμερα με πάρα πολλούς τρόπους. Σε όλους αυτούς γίνεται αναφορά με το συλλογικό όνομα Ταχύς Μετασχηματισμός Fourier (Fast Fourier Transform FFT), λόγω της μείωσης των πράξεων που επιτυγχάνουν και, επομένως, του χρόνου που απαιτείται για την υλοποίησή τους. Στις περισσότερες εκδοχές του FFT γίνεται εκμετάλλευση σειράς χαρακτηριστικών ιδιοτήτων της βασικής μιγαδικής εκθετικής ποσότητας. Αυτή την ποσότητα περιγράφουμε στην εξίσωση 2.2 και είναι γνωστή στη διεθνή βιβλιογραφία με το όνομα μικρός παράγοντας (twiddle factor). Οι πλέον γνωστοί αλγόριθμοι FFT θεωρούν ότι το Ν είναι μια ακέραια δύναμη του 2 (Ν= ) και μειώνουν τις πράξεις, ώστε η πολυπλοκότητα να γίνει ανάλογη του Ν (2.3) Στον παρακάτω πίνακα βρίσκουμε τον χρόνο που απαιτείται για τον απευθείας υπολογισμό ενός μετασχηματισμού DFT Ν-σημείων, και τον χρόνο που θα απαιτηθεί αν χρησιμοποιήσουμε αλγόριθμο FFT. Ο χρόνος με χρήση του αλγορίθμου FFT είναι αρκετά μικρότερος απ ότι με τον απευθείας υπολογισμό του DFT. 12

TIME (sec) N DFT FFT 1024 1,048576 0,00512 2048 4,194304 0,011264 4096 16,77722 0,024576 8192 67,10886 0,053248 Πίνακας 2.1 :O αριθμός πράξεων που απαιτούνται από τον DFT,τον FFT και ο λόγος τους ως συνάρτηση του μήκους Ν. Επιλεγμένα τμήματα του φάσματος συχνοτήτων H(n) μπορούν εύκολα να υποστούν, κατά τμήματα, μαθηματικούς χειρισμούς, εξασθένιση ή πλήρης απομάκρυνση.οι χειρισμοί αυτοί οδηγούν στο τροποποιημένο ή «φιλτραρισμένο» φάσμα.εφαρμόζοντας τον αντίστροφο μετασχηματισμό Fourier στο προκύπτει το αντίστοιχο τροποποιημένο ή «φιλτραρισμένο» σήμα. Έτσι, ένα σήμα μπορεί να υποστεί εξομάλυνση με πλήρη αποκοπή των συχνοτήτων από μια συχνότητα και πέρα και διατήρηση των χρήσιμων (χαμηλών) συχνοτήτων στις οποίες εμπεριέχεται η επιθυμητή πληροφορία. Η διαδικασία αυτή περιγράφεται σχηματικά με το επόμενο σχήμα όπου η κοκκινωπή περιοχή αντιπροσωπεύει την περιοχή των συχνοτήτων που έχουν αποκοπεί. 13

Σχήμα 2.4 :Σχεδιάγραμμα εφαρμογής ταχύ μετασχηματισμού Fourier και του αντίστροφου στο φάσμα.διαδικασία εξομάλυνσης. 2.2.3 Αρχές Ισοστάθμισης H θεωρητική βάση της ψηφιακής ισοστάθμισης είναι η αρχή της αποσυνέλιξης. Εδώ η κρουστική απόκριση παρουσιάζεται ως κρουστική απόκριση διακριτού χρόνου h(kt), όπου k είναι ο δείκτης διακριτού χρόνου και Τ είναι το διάστημα δειγματοληψίας σε δευτερόλεπτα, που για απλότητα θα λαμβάνεται ίσο με 1. Για να γραμμικοποιηθεί μια συνάρτηση μεταφοράς Η(z),ένα φίλτρο Hc(z) πρέπει να υπολογιστεί τέτοιο ώστε (2.4) Στο πεδίο του χρόνου αυτό ισοδυναμεί με μια συνέλιξη με την κρουστική απόκριση του φίλτρου hc που δίνει ως αποτέλεσμα μια απόκριση συστήματος που είναι η κρουστική dirac. Η απευθείας αντιστροφή της μετρημένης απόκρισης συχνότητας (2.5) (2.6) έρχεται αντιμέτωπη με διάφορους περιορισμούς όταν αναφερόμαστε σε ηλεκτροακουστικά (mixed-phase) συστήματα. 14

Η απευθείας αντιστροφή των συστημάτων μικτής φάσης δίνει ως αποτέλεσμα μια μη αιτιατή, άπειρη και ενδεχομένως ασταθή κρουστική απόκριση. Αυτό μπορεί να αποφευχθεί χωρίζοντας τη συνάρτηση μεταφοράς σε δύο συστατικά, ένα ελάχιστης φάσης και ένα all pass, από τα οποία μόνο το πρώτο ισοσταθμίζεται. όπου της RTF) και (2.7) είναι η ελάχιστη φάση (πιο σωστά η ελάχιστη ισοδύναμη φάση είναι το στοιχείο all-pass. Σύμφωνα με τον ορισμό (2.8), για ζ= και όλα τα ω. (2.9) Ο ισοσταθμιστής ελάχιστης φάσης που δημιουργείται μετά την αποσύνθεση θα έχει μια συνάρτηση μεταφοράς έτσι ώστε [8] (2.10) Αυτό οδηγεί σε μια πλήρη ανασκευή του πλάτους αλλά όχι της απόκρισης φάσης. Παρ ολ αυτά στις περισσότερες των περιπτώσεων το αποτέλεσμα αυτής της μεθόδου είναι ανεπαρκές λόγου του εναπομείναντος σφάλματος ενέργειας στο all-pass συστατικό. Μια εναλλακτική προσέγγιση είναι η ομομορφική αποσύνθεση του h(n). Με τη μέθοδο της ανάλυσης cepstral, τα συστατικά ελάχιστης και μέγιστης φάσης του συστήματος συνάγονται και υπολογίζονται ξεχωριστά. Έχει δειχτεί ορθά, ότι η ομομορφική αποσύνθεση είναι επιρρεπής σε αριθμητικά λάθη και ακατάλληλη επίσης. Αντίθετα, η πιο απλή και αποδοτική μέθοδος να ξεπεραστεί το πρόβλημα είναι να καθυστερήσει η συνάρτηση-στόχος (target function) που θέλουμε να ανασκευάσουμε, συνήθως με το μισό μήκος της κρουστικής απόκρισης του φίλτρου. Εισάγοντας μια τέτοια καθυστέρηση, το μη αιτιατό μέρος της κρουστικής απόκρισης του φίλτρου μετατοπίζεται στο θετικό άξονα του χρόνου. Μια ανασκευή όλου του πεδίου των συχνοτήτων θα οδηγούσε σε υπερβολική αύξηση πάνω από τις ψηλές και χαμηλές συχνότητες εξασθένισης. Για να αποφευχθεί αυτό το πρόβλημα είναι απαραίτητο να καθοριστεί μια κατάλληλη συνάρτηση-στόχος για την ανασκευή. Η συνάρτηση Dirac στην 15

εξίσωση 2.2 έτσι αντικαθίσταται με την κρουστική απόκριση ενός ζωνοπερατού φίλτρου,περιορίζοντας την ενίσχυση έξω-από-τις-ζώνες του φίλτρου ανασκευής. Επειδή αυτό το ζωνοπερατό φίλτρο μπορεί να προκαλέσει αισθητές group delay παραμορφώσεις, ένα FIR φίλτρο ελάχιστης φάσης επιλέχθηκε.[2] Εκφραζόμενες με όρους μετασχηματισμού Ζ το συστατικό ελάχιστης φάσης βρίσκεται εντός του μοναδιαίου κύκλου ενώ το συστατικό μέγιστης φάσης εκτός. Αυτά τα συστατικά μπορούν να ειδωθούν σαν αριθμητικοί συντελεστές ενός ψηφιακού FIR φίλτρου. Η αντιστροφή μετατρέπει τους συντελεστές του αριθμητή σε συντελεστές παρονομαστή και αυτοί που είναι εκτός του μοναδιαίου κύκλου θα κάνουν το προκύπτων (IIR) φίλτρο ασταθές. Κάνοντας χρήση του διακριτού μετασχηματισμού Fourier(DFT) θέτει z =1 και αυτό σημαίνει ότι η περιοχή σύγκλισης τώρα περιλαμβάνει το μοναδιαίο κύκλο.τώρα το αντίστροφο φίλτρο είναι ευσταθές αλλά μηαιτιατό. Έτσι η προκύπτουσα απόκριση μετατίθεται στο χρόνο για να κάνει το μη-αιτιατό μέρος αιτιατό. Αλλά το «πραγματικό» αντίστροφο είναι ακόμα άπειρο άλλα εκπροσωπείται από μια φραγμένη προσέγγιση. Λόγω αυτού του γεγονότος και λόγω της περιοδικότητας του DFT η φραγμένη «φωτογραφία» του πραγματικού αντίστροφου περιέχει επικαλυπτόμενα συστατικά από γειτονικές περιοδικές επαναλήψεις(«time aliasing»). Χρησιμοποιώντας χρονικό παράθυρο στην προκύπτουσα απόκριση βοηθά να απεοφευχθεί το aliasing στις γωνίες αλλά δεν διασφαλίζει ότι η συνολική απόκριση δεν έχει aliasing.στην πραγματικότητα, αντιστρέφοντας αποκρίσης μη-ελάχιστης φάσης θα προκαλεί πάντα aliasing η ερώτηση δεν είναι «αν προκαλεί» αλλά «σε ποιό βαθμό». Οι περιοριστές aliasing(time-aliasing limiters) χρησιμοποιούν συντομότερες κρουστικές αποκρίσεις προς αντιστροφή(παράθυρο πριν τη σχεδίαση του αντίστροφου φίλτρου),χρησιμοποιούν αντίστροφα φίλτρα μεγαλύτερου μήκους(αυξανόμενο μήκος FFT) και αποφεύγουν φασματικές κορυφές-βυθίσματα στενής ζώνης (regularization/smoothing). [9,10] 16

Πλάτος ( σε db) 2.3 Στοιχεία ακουστικής χώρων 2.3.1 Εισαγωγή Όπως είναι γνωστό, η ακουστική χώρων εισάγει ανακλάσεις στα σήματα ήχου, που περιγράφεται από την γραμμική συνάρτηση μεταφοράς του δωματίου. Χρησιμοποιώντας τις γνώσεις από την ψυχοακουστική, τις ανακλάσεις δωματίων και τις κρουστικές αποκρίσεις δωματίων(rirs) συνήθως αναλύεται σε 3 κομμάτια. Α)το ακουστικό σήμα που ταξιδεύει κατευθείαν από την πηγή στον δέκτη(αυτό που συνήθως λέγεται απευθείας σήμα) Β)πρώιμες ανακλάσεις που φτάνουν 80ms μετά το απευθείας σήμα, σημαντικές για την αντίληψη απόστασης και χωρου Γ)μια εκθετικά αποσβεννύμενη στοχαστική ουρά ανακλάσεων με πυκνότητα echo που αυξάνεται με το τετράγωνο του χρόνου.[11] Aπ ευθείας ήχος Πρώιμες Ανακλάσεις Αντήχηση α Χρόνος Σχήμα 2.5 Διάγραμμα πλάτους-χρόνου για τις ανακλάσεις σε κλειστούς χώρους 17

2.3.2 Κρουστική απόκριση ενός χώρου Η πιο ευρέως χρησιμοποιούμενη διαδικασία μέτρησης σήμερα είναι ο προσδιορισμός παρεμφερών κρουστικών αποκρίσεων και η χρησιμοποίηση αυτών για τον υπολογισμό του χρόνου αντήχησης και της συνάρτησης μεταφοράς αν αυτή χρειάζεται. Με έναν αντίστροφο μετασχηματισμό Fourier μπορούμε να υπολογίσουμε την κρουστική απόκριση από τη συνάρτηση μεταφοράς, απ οπου μπορούμε να υπολογίσουμε τον χρόνο αντήχησης.[12] Αν η πίεση μιας σφαιρικής πηγής θεωρηθεί σαν ιδανική συνάρτηση της μορφής δ(t), δηλαδή περιέχει όλες τις συχνότητες, όπου: δ(t)=1, t=0 (2.11) δ(t)=0, t 0 τότε είναι δυνατή η ανάλυση της διάδοσης του ήχου στον χώρο με τεχνικές της θεωρίας σημάτων. Στην περίπτωση αυτή, η πίεση που θα παραχθεί στην θέση του δέκτη, θα είναι η κρουστική απόκριση του χώρου h(t), με τον τρόπο που φαίνεται στο παρακάτω σχήμα: Σχήμα 2.6 Κρουστική διέγερση και απόκριση σε ένα χώρο Με τον τρόπο αυτό κάθε κλειστός ακουστικός χώρος περιγράφεται σαν γραμμικό, χρονικά αμετάβλητο σύστημα(φίλτρο), το οποίο χαρακτηρίζεται από την κρουστική του απόκριση h(t) για κάθε θέση πηγής και δέκτη. Έτσι, η h(t) αποτελείται από τις διαφορετικές ανακλάσεις του σήματος εισόδου δ(t), που φθάνουν με διαφορετική καθυστέρηση και πλάτος στον δέκτη, οπότε γενικά: (2.12) Σύμφωνα μ αυτό το μοντέλο, μπορεί να υπολογιστεί ακριβώς το σήμα που θα φτάσει στο δέκτη, για κάθε σήμα που παράγει η πηγή.αν λοιπόν υπάρχει 18

μια αναλυτική έκφραση για την συνάρτηση s(t) της ακουστικής πίεσης στην είσοδο, τότε η συνάρτηση της ακουστικής πίεσης στο δέκτη θα είναι: (2.13) Εφ όσον υπάρχει μια μέτρηση του s(t) και του h(t),είναι προφανές πως μπορεί εύκολα να υλοποιηθεί υπολογιστικά η παραπάνω σχέση, με τη βοήθεια ενός Η/Υ, χρησιμοποιώντας τις εξισώσεις διακριτού χρόνου. 2.3.3 Χρόνος Αντήχησης Οι παράμετροι που χρησιμοποιούνται για την εκτίμηση της ακουστικής ποιότητας ενός δωματίου προφανώς εξαρτώνται από την χρήση για την οποία αυτό σχεδιάζεται. Είναι γνωστό ότι ο χρόνος αντήχησης παίζει σημαντικό ρόλο και υπάρχει αρκετή εμπειρία για το πόσο μεγάλος ή μικρός πρέπει να είναι εξαρτώμενος από το μέγεθος και τον τύπο του δωματίου.[12] Ως χρόνος αντήχησης(reverberation Time ή )ορίζεται ο χρόνος που χρειάζεται ώστε η ενέργεια του ανακλώμενου σήματος να μειωθεί κατά 60 db σε σχέση με την ενέργεια του απευθείας σήματος. Ο χρόνος αντήχησης ενός κλειστού χώρου υπολογίζεται ( σε sec) από τη σχέση: (2.14) Όπου, ) είναι ο όγκος του χώρου, και είναι η συνολική απορρόφηση όλων των επιφανειών του χώρου.[13] 19

Αριστερό κανάλι Δεξί κανάλι 2.4 Αμφιωτική αναπαραγωγή(binaural reproduction) 2.4.1 Εισαγωγή Λόγω του τρόπου που αντιλαμβανόμαστε την διεύθυνση του ήχου είναι πιθανόν να κοροιδέψουμε το αυτί μας στο να αντιληφθεί την κατεύθυνση του ήχου διαμέσου δύο ηχείων η ενός ζευγαριού ακουστικών στερεοφωνικά. Ένας τρόπος να επιτευχθεί αυτό είναι με την χρήση binaural stereo τεχνικών. Το σύστημα φαίνεται στο σχήμα και αποτελείται δύο παντοκατευθυντικά μικρόφωνα τοποθετημένα σε ένα κεφάλι, πραγματικό ή συχνότερα τεχνητό, και το αποτέλεσμα παρουσιάζεται σε ακουστικά. Η απόσταση των μικροφώνων είναι όμοια με την απόσταση των αυτιών, και τοποθετούνται σε ένα αντικείμενο που καλύπτει τον ήχο με τον ίδιο τρόπο που τον καλύπτει το ανθρώπινο κεφάλι. Αυτό σημαίνει ότι μια αλλαγή στη θέση του εκτελεστή αλλάζει την ένταση και την καθυστέρηση του ήχου. Παρ όλα αυτά πρέπει να παρουσιαστούν διαμέσου ακουστικών γιατί μια τυχόν παρεμβολή των δύο καναλιών όπως θα συνέβαινε με ηχεία θα έδινε ψεύτικα στοιχεία και θα χάλαγε την ψευδαίσθηση. Ηχητική Πηγή Σχήμα 2.8 Απεικόνιση αμφιωτικής αναπαραγωγής 20

2.4.2 Συναρτήσεις φίλτρων HRTF Οι άνθρωποι εκτιμούν τη θέση μιας πηγής λαμβάνοντας στοιχεία από το ένα αυτί, και συγκρίνοντας στοιχεία και από τα δύο αυτιά. Αυτά τα στοιχεία είναι οι διαφορές στο χρόνο άφιξης και στην ένταση και λαμβάνονται από την αλληλεπίδραση μεταξύ της πηγής του ήχου και της ανθρώπινης ανατομίας, όπου η αυθεντικός ήχος της πηγής τροποποιείται πριν εισέλθει στο κανάλι του αυτιού για την επεξεργασία του από το σύστημα ακοής. Αυτές οι τροποποιήσεις είναι ο κώδικας της θέσης της πηγής και η πληροφορία τους βρίσκεται στην κρουστική απόκριση που συσχετίζει τη θέση της πηγής και του αυτιού. Αυτή η κρουστική απόκριση έχει την ονομασία head-related impulse response η HRIR. Συνέλιξη ενός ήχου μιας οποιοδήποτε πηγής με την HRIR μετατρέπει τον ήχο σε αυτό που θα ακουγόταν από τον ακροατή αν ο ήχος ακουγόταν στη θέση της πηγής και ο ακροατής βρισκόταν στη θέη του δέκτη. Οι HRIRs έχουν χρησιμοποιηθεί για να παράγουν virtual surround ήχο. Η HRTF είναι ο μετασχηματισμός Fourier της HRIR και οι ΗRTFs για το αριστερό και το δεξί αυτί περιγράφουν το φιλτράρισμα μιας πηγής ήχου (x(t)) πρίν γίνει αντιληπτός από το αριστερό και το δεξί αυτί, αντίστοιχα. Η ΗRTF μπορεί ακόμα να περιγραφεί σαν οι τροποποιήσεις σε έναν ήχο από μια κατεύθυνση στον αέρα στον ήχο που φτάνει στο τύμπανο του αυτιού. Αυτές οι τροποποιήσεις περιλαμβάνουν το σχήμα του εξωτερικού αυτιού του ακροατή,το σχήμα του κεφαλιού και του σώματος του ακροατή, τα ακουστικά χαρακτηριστικά του χώρου που παίζεται ο ήχος κ.τ.λ. Αυτά τα χαρακτηριστικά θα επηρεάσουν αν ο ακροατής μπορεί να διαχωρίσει την κατεύθυνση από την οποία έρχεται ο ήχος. Η ΗRTF περιγράφει το πώς μια δοσμένο ηχητικό κύμα(με κύριες παραμέτρους τη συχνότητα και τη θέση της πηγής) φιλτράρεται από τις ιδιότητες ανάκλασης και διάχυσης του κεφαλιού και του λοβού του αυτιού πριν ο ήχος φτάσει στον μηχανισμό μετατροπής του τυμπάνου και του εσώτερου αυτιού. Βιολογικά, τα αποτελέσματα προφιλτραρίσματος αυτών των εξωτερικών δομών βοηθούν στην νευρική διάκριση της θέσης της πηγής και κυρίως του ύψους. Ακόμα και όταν μετρώνται σε ένα dummy head ιδεατής γεωμετρίας, οι HRTFs είναι περίπλοκες συναρτήσεις συχνότητας και των τριών χωρικών μεταβλητών. Για αποστάσεις μεγαλύτερες από 1m από το κεφάλι,μετράται η H(f,θ,φ). Σε αποστάσεις μικρότερες από 1m,η διαφορά στην ένταση που παρατηρείται μεταξύ των δύο αυτιών μπορεί να γίνει μεγάλη, ακόμα και 21

στις περιοχές χαμηλών συχνοτήτων όπου αμελητέες διαφορές παρατηρούνται σε μεγάλες αποστάσεις. Σχήμα 2.9 Μέτρηση της H(f,θ,φ) σ ένα dummy head Για να μεγιστοποιηθεί ο λόγος σήματος προς θόρυβο (SNR) σε μια HRTF, είναι σημαντικό η κρουστική να έχει μεγάλη ένταση.στην πράξη,παρ ολ αυτά είναι δύσκολο να παραχθούν κρουστικές σε μεγάλες εντάσεις,και αν παραχθούν,μπορούν να είναι καταστρεπτικές για τα ανθρώπινα αυτιά,έτσι είναι πιο συχνό για τις HRTF να υπολογίζονται στο πεδίο της συχνότητας χρησιμοποιώντας ημιτονοειδή σήματα σήματα sweep ή με maximum-length-sequences(mlss). Σχήμα 2.10 Απεικόνιση της ΗRTF για το δεξί και το αριστερό αυτί 22

2.4.3 Δυναμική αμφιωτική σύνθεση(dynamic binaural synthesis) Για να ακούσουμε το πώς θα ακουγόταν κάποιο δωμάτιο με την καθορισμένη ακουστική σχεδίαση και την εγκατάσταση ηχείων συνδυάζουμε τις κρουστικές αποκρίσεις του δεξιού και του αριστερού αυτιού με μουσική. Για binaural ακουστική, οι binaural κρουστικές αποκρίσεις αντλούνται από την κρουστική απόκριση του δωματίου με συνέλιξη κάθε ανάκλασης με HRTFs. Το επόμενο βήμα είναι να επιλεγεί ένα ανηχοικό η μη-ανηχοικό μουσικό δείγμα και να συνελιχθεί με τις binaural κρουστικές αποκρίσεις. Ένα ανηχοικό μουσικό δείγμα μπορεί να χρησιμοποιηθεί. Αφού η μουσική είναι ανηχοική, δεν περιέχει το δωμάτιο, έτσι συνελίσσοντας με την απόκριση του δωματίου μας επιτρέπει την ακρόαση του δωματίου σε ποίκιλες θέσεις ακροατή και πηγής.[14] Πιο αναλυτικά,η κρουστική απόκριση κάθε ανάκλασης τροποποιείται από τις HRTFs για την αντίστοιχη γωνία άφιξης και μετασχηματίζεται στο πεδίο του χρόνου χρησιμοποιώντας τον αντίστροφο μετασχηματισμο Fourier(inverse Fourier Transform ή IFFT). Έτσι κάθε ανάκλαση μετασχηματίζεται σε μια αμφιωτική κρουστική απόκριση(binaural impulse response),μια για το αριστερό και μια για το δεξί αυτί. Αυτό γίνεται για κάθε ανάκλαση από την 1 η εως τη Ν-οστή και οι προκύπτουσες BRIRs προστίθονται για να σχηματίσουν τις συνολικές δεξιά και αριστερά κρουστικές αποκρίσεις των χώρων. Έπειτα, το τελευταίο στάδιο είναι να συνελίξουμε τις BRIRs με ανηχοική μουσική. 2.4.4 Xαρακτηριστικά ακουστικών κατά τη δυναμική αμφιωτική σύνθεση Κατά την αξιολόγηση της παρεμβολής των ακουστικών πρέπει να ληφθεί υπ οψη ότι η συνάρτηση μεταφοράς των ακουστικών αποτελείται από τη συνάρτηση μεταφοράς του μετατροπέα καθ εαυτού και τη συνάρτηση μεταφοράς από το μετατροπέα στο κανάλι του αυτιού του κάθε ατόμου. Κατάλληλοι στόχοι σχεδιασμού για αποκρίσεις συχνότητας ακουστικών έχουν προταθεί από διάφορους συγγραφείς. Παρ ολ αυτά, σύμφωνα με μετρήσεις, διαφορές σε αποκρίσεις συχνότητας διαφορετικών ακουστικών 23

μπορεί να είναι τόσο μεγάλες όσο και αποκλίσεις σε ΗRTFs(Head Related Transfer Functions). Επιπροσθέτως, διαφορές μπορούν να προκληθούν και από τη μέθοδο μέτρησης δηλαδή αν έχει χρησιμοποιηθεί μπάφλα, ένα dummy head, ή το αυτί ενός πραγματικού ανθρώπου. Εξαρτώμενη από τον τύπο των ακουστικών (extraaural,circumaural,supraaural,susped on concha etc.), διαρροή εξαιτίας μικρών κενών αέρα έχει δειχθεί ότι συνεισφέρει στις διαφορές των χαμηλών συχνοτήτων στην απόκριση. Έχει δειχθεί ότι με μετρήσεις σε blocked ear canal,αποκρίσεις ακουστικών που μετρήθηκαν σε 40 διαφορετικά υποκείμενα παρουσίασαν κοινή διαστρωμάτωση μέχρι τα 12kHz,ενώ με ανοιχτό κανάλι αυτιού τα αποτελέσματα των μετρήσεων απέκλιναν αισθητά πάνω από τα 2 khz. Αυτό το εύρημα συσχετίστηκε με το ατομικό acoustical loading που εισχωρεί από το ανοιχτό κανάλι του αυτιού. Για έναν τύπο ακουστικών, οι έρευνες παρουσίασαν αποκλίσεις στα άτομα της τάξεως των +-10dB. Έτσι, προτάθηαν μέθοδοι παρεμβολής των ακουστικών για την αμφιωτική αναπαραγωγή από διάφορους συγγραφείς. Εκτός από τις διαατομικές αποκλίσεις των HRTFs και τις αποκλίσεις από διαφορετικές συναρτήσεις μεταφοράς ακουστικών, οι αποκλίσεις που οφείλονται μόνο στην επαναλαμβανόμενη τοποθέτηση των ακουστικών στο ίδιο υποκείμενο έχει μελετηθεί. Για ένα ακουστικό supraaural,διαφορές +- 4dB κάτω από και μέχρι +-10dB πάνω από τα 10kHz,με τος μεγαλύτερες διαφορές κάτω από τα 50Hz και πάνω από τα 10kHz. Έχει επίσης δειχθεί ότι το αποτέλεσμα μιας ισοστάθμισης βασισμένης σε μια μόνο μέτρηση μετατροπέων χωρίς επανατοποθέτηση μπορεί να γίνει χειρότερη από τα να μην υπάρχει καθόλου ισοστάθμιση. Τα αντίστροφα φίλτρα πρέπει έτσι να προέρχονται από ένα μέσο όρο πολλών μετρήσεων με συνεχόμενη επανατοποθέτηση των ακουστικών. Χαρακτηριστικά ακουστικών ΑΚG-k240: Τύπος μετατροπέα ηλεκτροδυναμικός Ακουστικό coupling- ημιανοιχτό[www.akg.com] 24

Σχήμα 2.11 Ακουστικά AKG-k240 Studio Tα ακουστικά μπορούν να ταξινομηθούν ανάλογα με την αρχή του μετατροπέα,την εφαρμογή στο αυτί και τη σχεδίασή των earphones. Για μια αναπαραγωγή χωρίς παρεμπόδιση των προσομοιωμένων αμφιωτικών σημάτων, ακουστικά με free-air equivalent coupling (FEC) πρέπει να χρησιμοποιηθούν. Με τα ακουστικά FEC διασφαλίζεται ότι η ακουστική εμπέδηση όπως φαίνεται από την είσοδο του καναλιού του αυτιού με earphones εφαρμοσμένα στο αυτί είναι ίση με την εμπέδηση με απουσία earphone τουτέστι είναι ισοδύναμη με την εμπέδηση του ελεύθερου ακουστικού πεδίου(free sound field). Μόνο τότε, η προκύπτουσα ακουστική πίεση στην είσοδο του καναλιού του αυτιού και έτσι και στο τύμπανο μπορεί να είναι ίση και στις δύο περιπτώσεις.[2] Τα ακουστικά ανοιχτού τύπου λειτουργούν σα σύστημα ακουστικής κοιλότητας μέχρι και ως συχνότητες γειτονικές των 4kHz.Σε υψηλότερες συχνότητες, στάσιμα κύματα αρχίζουν να δημιουργούνται μέσα στην κοιλότητα και έτσι η επακόλουθη πίεση στο τύμπανο του αυτιού του ακροατή εξαρτάται ισχυρά από την τοποθέτηση των ακουστικών. Το 25

μοντέλο Thevenin του πτερυγίου του αυτιού που περιγράφηκε απ τον Mueller δεν ισχύει για αυτή την περιοχή συχνοτήτων.[3] 26

3 YΛΟΠΟΙΗΣΗ Στο παρόν κεφάλαιο παρουσιάζονται τα τρία κύρια τμήματα της διπλωματικής εργασίας που σκοπός της είναι να δούμε κατά πόσο η ισοστάθμιση ακουστικών παίζει ρόλο στην αναπαραγωγή αμφιωτικών σημάτων κάτω από συνθήκες αντήχησης (reverberant binaural σημάτων) και ποιο είδος ισοστάθμισης είναι βέλτιστο. Αρχικά, δημιουργήθηκαν τα αμφιωτικά σήματα κάτω από διαφορετικές συνθήκες αντήχησης, σε διαφορετικούς χώρους (γραφείο, σκάλα,εκκλησία). Σε δεύτερο στάδιο, έγινε η ισοστάθμιση των ακουστικών υπό μέτρηση σε διαφορετικές περιοχές συχνοτήτων και φίλτρα οκτάβας και μελετήθηκε η συμβατότητα τους με τα ήδη δημιουργημένα σήματα του αρχικού σταδίου. Αυτό έγινε έτσι ώστε τα σήματα του δευτέρου σταδίου να μην έχουν μεγάλες διαφορές με τα αρχικά ώστε να έχει νόημα μια σύγκριση για την κατασκευή του ψυχοακουστικού test. Το τελευταίο στάδιο περιλαμβάνει το ψυχοακουστικό test και την διερεύνηση του κατά πόσο γίνονται αντιληπτές οι διαφορές των δύο διαφορετικών σημάτων. 27

3.1.Δημιουργία των αμφιωτικών σημάτων κάτω από διαφορετικές συνθήκες αντήχησης(διαφορετικές κρουστικές αποκρίσεις χώρων) 3.1.1 Εισαγωγή Στην ενότητα αυτή υποδεικνύεται ο τρόπος με τον οποίο υλοποιήθηκε η πρώτη από τις συναρτήσεις που χρησιμοποιήθηκαν για το ψυχοακουστικό test. Αρχικά επιλέχθηκε ένα σύνολο ανηχωικών σημάτων ομιλίας και μουσικής, ηχογραφημένα σε ανηχωικό θάλαμο(χωρίς ανακλάσεις). Στη συνέχεια, χρησιμοποιήθηκε βάση δεδομένων κρουστικών αποκρίσεων οι οποία έχει μετρηθεί για τους χώρους του πανεπιστημίου του Aachen σε διαφορετικές αποστάσεις.με βάση τα δεδομένα του Aachen γράφτηκε συνάρτηση στο περιβάλλον Matlab της εταιρείας Μathworks. Η συνάρτηση αυτή ονομάστηκε CreateReverberant. Η συνοπτική λειτουργία της συνάρτησης ήταν να δέχεται από το χρήστη ως εισόδους το επιθυμητό δωμάτιο και την απόσταση του ηχείου από το dummy head και να δημιουργεί το αρχείου ήχου (συνέλιξη της BRIR με το ανηχοικό σήμα) και τις απαραίτητες γραφικές παραστάσεις στο χρόνο και τη συχνότητα. Οι συνελίξεις έγιναν ξεχωριστά για τις μετρήσεις του αριστερού και του δεξιού αυτιού με το ανηχοικό σήμα και έπειτα δημιουργήθηκε το στερεοφωνικό σήμα. Για την κανονικοποίηση,έτσι ώστε να μην υπάρχει παραμόρφωση (clipping) στο παραγόμενο σήμα διαιρέσαμε και το δεξί και το αριστερό κανάλι μετά τις συνελίξεις με την μεγαλύτερη τιμή από τα μέγιστά των γραφικών παραστάσεών τους. Για τις συνελίξεις χρησιμοποιήθηκε ως έτοιμη η συνάρτηση FFTconv η οποία πραγματοποιεί πολλαπλασιασμό στη συχνότητα ( Όπως είναι γνωστό πολλαπλασιασμός στη συχνότητα ισοδυναμεί με συνέλιξη στο χρόνο). Μετά λαμβάνει το πραγματικό μέρος του Αντίστροφου Μετασχηματισμού Fourier (Ιnverse Fourier Transform). Αυτή η διαδικασία απεικονίζεται γραφικά στο επόμενο σχήμα. 28

Ανηχοικό σήμα μουσικής Συνέλιξη Binaural Room Impulse Response Σχήμα 3.1 Δημιουργία αρχείων με αντήχηση από ανηχωικά αρχεία ήχου. Eπίσης, όσον αφορά την πειραματική διαδικάσία που ακολουθήθηκε για τη διαδικασία της παραγωγής των κρουστικών αποκρίσεων του Aachen, τα δύο μικρόφωνα ήταν τοποθετημένα στο λοβό του αυτιού ενός dummy head,σε απόσταση 1 cm από το κανάλι του αυτιού. Χρησιμοποιήθηκαν ακολουθίες MLSS (Ψευδοτυχαίες ακολουθίες) για την παραγωγή ήχου από τα ηχεία. (Για υπολογιστικούς λόγους τα ανηχωικά σήματα κόπηκαν ώστε να έχουν διάρκεια περίπου 5 δευτερόλεπτά. Αξίζει να σημειωθεί ότι τα μονοφωνικά σήματα μετατράπηκαν σε στερεοφωνικά. Η συχνότητα δειγματοληψίας των σημάτων λήφθηκε ίση με 44100 Hz.) 29

3.1.2 Χώροι Από τα αρχεία wavs που δημιουργήθηκαν χρησιμοποιήθηκαν για το 2 ο στάδιο (διαδικασία ισοστάθμισης) μόνο οι κρουστικές αποκρίσεις αυτών των 3 συγκεκριμένων χώρων του πανεπιστημίου του Aachen.Υπάρχουν ωστόσο και δημιουργημένα αρχεία και για χώρους του MIT και επίσης για διαφορετικές γωνίες (αρχεία που μπορούν να χρησιμοποιηθούν αργότερα για χωρικά ψυχοακουστικά tests όπως localization tests και tests εντοπισμού της αζιμούθιας γωνίας της πηγής). Ωστόσο τρεις είναι οι χώροι που χρησιμοποιήθηκαν. Ο πρώτος είναι ένα γραφείο με γυάλινα παράθυρα, τοίχους από τσιμέντο και τυπική επίπλωση (ξύλινο γραφείο,ράφια, καρέκλες).διαστάσεις 5mx6.4mx2.9m. H πηγή (ηχείο) είναι τοποθετημένη σε απόσταση 1m και 3m από το δέκτη (dummy head). Ο δεύτερος χώρος είναι μια σκάλα όπου η πηγή (ηχείο) είναι τοποθετημένη σε απόσταση 1m και 3m από το δέκτη (dummy head). O τρίτος χώρος είναι μια εκκλησία (aula Carolina) που και πάλι η πηγή είναι τοποθετημένη σε απόσταση 1m και 3m από το δέκτη.[15] Σχήμα 3.2 Σκάλα της βάσης δεδομένων του Aachen 30

Σχήμα 3.3 Εκκλησία Aula Carolina της βάσης δεδομένων του Aachen Από τους δύο αυτούς χώρους χρησιμοποιήθηκαν οι BRIRs(κρουστικές αποκρίσεις) και έγινε η συνέλιξη τους με ένα σήμα ομιλίας με ομιλητή έναν άντρα. 31

3.2 Ισοστάθμιση ακουστικών (equalization) 3.2.1 Εισαγωγή Σ αυτό το στάδιο περιγράφεται η χρησιμοποίηση ισοσταθμισμένων (equalized) αποκρίσεων ακουστικών για τη συνέλιξή τους με τα αρχεία που δημιουργήθηκαν στο Στάδιο 1(binaural reverberant) και ως προς τη δημιουργία αρχείων που θα χρησιμοποιηθούν στο ψυχοακουστικό test. Έγινε η ισοστάθμιση των ακουστικών υπό μέτρηση σε διαφορετικές περιοχές συχνοτήτων,φίλτρα οκτάβας και regularization και μελετήθηκε η συμβατότητα τους με τα ήδη δημιουργημένα σήματα του αρχικού σταδίου. Αυτό έγινε έτσι ώστε τα σήματα του δευτέρου σταδίου να μην έχουν μεγάλες διαφορές με τα αρχικά ώστε να έχει νόημα μια σύγκριση για την κατασκευή του ψυχοακουστικού test. Για τη διαδικασία της ισοστάθμισης των ακουστικών AKG k240 των οποίων είχαμε τις κρουστικές τους αποκρίσεις για τοποθέτησή τους i. σε απόσταση 30cm από το κανάλι του αυτιού(free field) ii. τοποθέτηση σε μπάφλα και iii. τοποθέτηση μέσα στο πτερύγιο του αυτιού χρησιμοποιήθηκε η συνάρτηση invfir για να πάρουμε το αντίστροφό τους, για μονόπλευρη απόκριση με το ελάχιστο group delay (minphase) και μέγεθος αντίστροφου φίλτρου 4096 σημεία. Χρησιμοποιήθηκαν φίλτρα οκτάβας για διάφορες περιοχές συχνοτήτων. Αφού έχει βρεθεί το αντίστροφο των κρουστικών αποκρίσεων τότε πραγματοποιήσαμε 2 διαδοχικές συνελίξεις (για κάθε κανάλι ξεχωριστά με τη βοήθεια και πάλι της συνάρτησης FFTconv),αρχικά με τα 3 ΒRIR σήματα (γραφείο,σκάλα και εκκλησία σε αποστάσεις 1 και 3m)και έπειτα με το ανηχωικό σήμα ομιλίας που χρησιμοποήθηκε και για τη διαδικασία του προηγούμενου σταδίου.δε χρησιμοποιήθηκε χρονικό παράθυρο. Για το φάσμα των τελικών αρχείων χρησιμοποιήθηκε η έτοιμη συνάρτηση averfft κι έπειτα το φάσμα σχεδιάστηκε σε ημιλογαριθμική κλίμακα. Η διαδικασία απεικονίζεται γραφικά στο επόμενο σχήμα. 32

Ανηχοικό σήμα μουσικής Binaural Room Impulse Response Συνέλιξη Μετρήσεις Ακουστικών & Εναλλακτικά Φίλτρα Σχήμα 3.5 Δομικό διάγραμμα για τη διαδικασία της ισοστάθμισης(προσθήκη αντίστροφου φίλτρου στα αρχεία ήχου της 3.1 για την ακύρωση της επίδρασης των ακουστικών) Πιο συγκεκριμένα για τα 3 δοσμένα αρχεία των αποκρίσεων των ακουστικών, για την απόκριση σε ελεύθερο πεδίο 30 cm(περίπτωση i) χρησιμοποιήσαμε χρονικό παράθυρο για να εξαλείψουμε την επίδραση του δωματίου (ανακλάσεων στους τοίχους μετά από μια καθορισμένη χρονική στιγμή η οποία βρέθηκε από τον τύπο ),διότι οι χαμηλές 33

συχνότητες που συνιστούν τη χρονική απόκριση,λόγω του μεγάλου μήκους κύματος που εμφανίζουν αργούν περισσότερο να αποσβεστούν και επικαλύπτονται από τις μετέπειτα ανακλάσεις,όπου d η απόσταση πηγής και δέκτη, η πλησιέστερη προς την πηγή ανακλαστική επιφάνεια και η χαμηλότερη συχνότητα που μπορεί να μετρηθεί από το σύστημα χρονικού παραθύρου χωρίς παρεμβολή)[16]. Παρατηρήθηκε η μεγάλη επίδραση των χαμηλών συχνοτήτων στην περίπτωση ii τοποθέτησης σε μπάφλα και η ύπαρξη μη επιθυμητών ανακλάσεων από το πτερύγιο του αυτιού στην περίπτωση iii τοποθέτησης μέσα σε αυτό (pinna). Το ένα από αυτά είναι με πλήρης ισοστάθμιση (flat απόκριση συχνότητας) και το άλλο είναι με απόκριση συχνότητας που προσεγγίζει την απόκριση των ακουστικών. Για το σκοπό αυτό έγιναν διάφορες δοκιμές στη συνάρτησης invfir (χρησιμοποιήθηκε φίλτρο οκτάβας) κυρίως με το regularization και τις περιοχές συχνοτήτων που έπρεπε να μεταβληθούν ώστε να προκύψουν τα επιθυμητά φάσματα. Γι αυτό μελετήθηκε και η επίδραση του regularization κατά τη διαδικασία αντιστροφής ενός ιδανικού low pass φίλτρου που δημιουργήθηκε στο Matlab. 3.2.2 Σύγκριση των 3 περιπτώσεων τοποθέτησης των ακουστικών (κρουστικές και φάσματα) Στα επόμενα σχήματα φαίνονται οι κρουστικές αποκρίσεις πριν την ισοστάθμιση και τα φάσματα των δημιουργηθέντων αρχείων πριν την ισοστάθμιση(μόνη επίδραση η απόκριση των ακουστικών), και μετά την ισοστάθμιση που προσεγγίζει την απόκριση των ακουστικών Σημειώνεται ότι δεν υπάρχει επίδραση των χώρων σε αυτή τη μελέτη αλλά σκοπός μας ήταν να δούμε πως θα έπρεπε να επιτευχθεί η ιδεατή ισοστάθμιση. 34

Amplitude(dB) Amplitude(dB) Impulse response of AKG k 240 headphones in free field (30cm) 0.3 0.2 0.1 0-0.1-0.2-0.3-0.4-0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 Time(msec) Σχήμα 3.6:Κρουστική απόκριση των ακουστικών AKG-k240 σε ελεύθερο πεδίο 0.15 Impulse response of AKG k240 headphones in baffle 0.1 0.05 0-0.05-0.1-0.15-0.02 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 Time(msec) Σχήμα 3.7:Κρουστική απόκριση των ακουστικών AKG-k240 σε μπάφλα 35

Amplitude(dB) Impulse response of AKG k240 headphones in pinna 0.1 0.05 0-0.05-0.1-0.02 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 Time(msec) Σχήμα 3.8:Κρουστική απόκριση των ακουστικών AKG-k240 για το πτερύγιο του αυτιού 36

ΠΕΡΙΠΤΩΣΗ i τοποθέτηση σε ελεύθερο πεδίο στα 30cm Σχήμα 3.9 Φάσματα για ελεύθερο πεδίο πριν την εξαγωγή των ανακλάσεων από το χώρο μαζί με την παράθεση και της ισοστάθμισης για flat απόκριση ακουστικών (πράσινο χρώμα) 37

Σχήμα 3.10 Φάσματα για το ελεύθερο πεδίο μετά την εξαγωγή των ανακλάσεων Σημειώνεται ότι για την περίπτωση του ελεύθερου πεδίου χρησιμοποιήθηκε regularization [50 0] στις περιοχές συχνοτήτων [50 2000] που σημαίνει κέρδος 50dB στις συχνότητες από 50 έως 2kHz και 0 στις άλλες περιοχές(από 0 εως 20 khz). 38

ΠΕΡΙΠΤΩΣΗ ii τοποθέτηση σε μπάφλα Σχήμα 3.11 Φάσματα για την περίπτωση τοποθέτησης των ακουστικών σε μπάφλα Σημειώνεται ότι για αυτή την περίπτωση χρησιμοποιήθηκε regularization [7 6] στις περιοχές συχνοτήτων [20 2000]. 39

ΠΕΡΙΠΤΩΣΗ iii τοποθέτηση στο πτερύγιο του αυτιού Σχήμα 3.12 Φάσματα για την περίπτωση τοποθέτησης των ακουστικών στο πτερύγιο του αυτιού Σημειώνεται ότι γι αυτή την περίπτωση χρησιμοποιήθηκε regularization [5 0] στις περιοχές συχνοτήτων [10000 20000]. 40

3.3 Μέθοδος που ακολουθήθηκε για το ψυχοακουστικό test Αρχικά επειδή ο στόχος του ψυχοακουστικού test δεν ήταν η μέτρηση του υποκειμενικού loudness των αρχείων έγινε η προσπάθεια μέσω του προγράμματος Audacity και συνεχών ακροάσεων τα αρχεία να έχουν το ίδιο υποκειμενικό loudness ώστε να μην επηρεάσει τις μετρήσεις μας. Στη συνέχεια, αφού είχαμε στη διάθεσή μας 24 αρχεία wav (8 για τον καθένα από τους 3 χώρους, για τις δύο αποστάσεις των 1 και 3 μέτρων, χωρίς ισοστάθμιση και για 30cm,πτερύγιο και μπάφλα για την κάθε απόσταση), χρησιμοποιήθηκε η συνάρτηση P835 που λειτουργεί σε περιβάλλον matlab και η οποία μπορούσε να καλεί ένα γραφικό περιβάλλον στο οποίο έγινε το ψυχοακουστικό test. Το test έγινε σε 20 subjects για τα 24 αρχεία που είχαν δημιουργηθεί τα οποία ρωτήθηκαν να αξιολογήσουν σε κλίμακα 1-5 τα αρχεία με βάση 1. την απόσταση στην οποία πίστευαν ότι βρισκόταν τοποθετημένη η πηγή 2. την αντήχηση 3. την υποκειμενική ποιότητα του ήχου Χρησιμοποιήθηκαν σαφώς τα υπό μέτρηση ακουστικά ΑΚG k240 και αφού δόθηκαν οι απαραίτητες εξηγήσεις στα subjects(παρουσιάστηκαν 1-2 επιλεγμένα αρχεία από αυτά που είχαν δημιουργηθεί) τότε πραγματοποίησαν το test. Αφού και τα 20 subjects είχαν πραγματοποιήσει το test τότε δημιουργήθηκε ένα script στο matlab(περιγράφεται στο παράρτημα) με το οποίο τα αποτελέσματα του ψυχοακουστικού test έγινε δυνατό να αναλυθούν από το στατιστικό πρόγραμμα ανάλυσης προγνωστικών SPSS(Statistical Package of Social Sciences). Μέσω αυτού του προγράμματος επιτεύχθηκε η καταγραφή και η περαιτέρω ανάλυση των δεδομένων του test και οδήγησε στα συμπεράσματα για τα υπό μελέτη subjects. 41

Σχήμα 3.13: Interface του ψυχοακουστικού test. Μεταφράστηκαν οι κλίμακες και απλοποιήθηκαν στα ελληνικά ως εξής: ΑΠΟΣΤΑΣΗ ΑΝΤΗΧΗΣΗ ΠΟΙΟΤΗΤΑ Πολύ μακρινή Πολύ μεγάλη Εξαιρετική 5 Μακρινή Μεγάλη Καλή 4 Μέση Μεσαία Μέτρια 3 Κοντινή Μικρή Ανεκτή 2 Πολύ κοντινή Πολύ μικρή Κακή 1 Με το πλήκτρο repeat το subject είχε τη δυνατότητα επανάληψης του ακουστικού αρχείου και με το next sound μπορούσε να ακούσει το επόμενο αρχείο στη σειρά. Αφού και τα 20 subjects είχαν πραγματοποιήσει το test τότε δημιουργήθηκε ένα script στο matlab(περιγράφεται στο παράρτημα) με το οποίο τα αποτελέσματα του ψυχοακουστικού test έγινε δυνατό να αναλυθούν από το στατιστικό πρόγραμμα ανάλυσης προγνωστικών SPSS(Statistical Package of Social Sciences). Μέσω αυτού του προγράμματος επιτεύχθηκε η καταγραφή και η περαιτέρω ανάλυση των δεδομένων του test και οδήγησε στα στατιστικά αποτελέσματα για τα υπό μελέτη subjects. 42

4 ΑΠΟΤΕΛΕΣΜΑΤΑ Στο συγκεκριμένο κεφάλαιο παρουσιάζονται τα αποτελέσματα των πειραμάτων και των μεθόδων που υλοποιήθηκαν στα πλαίσια της παρούσας διπλωματικής εργασίας. Αρχικά, παρουσιάζεται η μελέτη που έγινε σε σχέση με τα δωμάτια και τις αποστάσεις που επιλέχθηκαν στο test (distance estimation) και με τα δωμάτια και τις τρεις μεθόδους ισοστάθμισης. Τέλος, δείχνονται κάποια άλλα σημεία τα οποία δεν έδωσαν σημαντικά αποτελέσματα στο test. Επεξήγηση: Δωμάτια: οι διαφορετικοί χώροι του test = εκκλησία aula carolina, γραφείο και σκάλα EQμέθοδοι: οι διαφορετικοί τρόποι τοποθέτησης των ακουστικών = ελεύθερο πεδίο, μπάφλα, πτερύγιο Απόσταση: οι διαφορετικές αποστάσεις μέτρησης των δωματίων = 1 και 3 μέτρα 43

Aνεξάρτητη(ες) Εξαρτημένη F Sig Μεταβλητές Μεταβλητή Δωμάτια Απόσταση 59,882,000 Αντήχηση 148,267,000 Ποιότητα 34,420,000 ΕQΜέθοδοι Απόσταση,118,950 Αντήχηση,696,555 Ποιότητα,391,760 Απόσταση Απόσταση 8,899,003 Αντήχηση 81,419,000 Ποιότητα 105,814,000 Δωμάτια*EQΜέθοδοι Απόσταση,261,954 Αντήχηση,765,598 Ποιότητα 2,491,023 Δωμάτια*Απόσταση Απόσταση 2,994,052 Αντήχηση 2,095,125 Ποιότητα 4,023,019 EQΜέθοδοι*Απόσταση Απόσταση,753,521 Αντήχηση 1,129,337 Ποιότητα 1,453,227 Δωμάτια*EQΜέθοδοι*Απόσταση Απόσταση,377,893 Αντήχηση,634,703 Ποιότητα,258,956 Πινακας 4.1: Γενικά αποτελέσματα ψυχοακουστικού test(multivariate results) για την εύρεση των σημαντικών παραμέτρων υπό εξέταση. Η στατιστική μέθοδος ανάλυσης των αποτελεσμάτων του test στο SPSS ονομάζεται MANOVA(Multivariate Analysis of Variance). Η μέθοδος δεν περιγράφεται αναλυτικά απλά πρέπει να ειπωθεί ότι στο test απ τους πίνακες αποφασίζουμε για την αποδοχή ή όχι της υπόθεσης της κανονικότητας με βάση τις p-τιμές του ελέγχου που δίνονται στη στήλη Sig.Δηλαδή εξετάζουμε αν η σχέση των δύο ανεξάρτητων μεταβλητών έχει σημαντική επίπτωση στην εξαρτημένη ή με άλλα λόγια αν η επίπτωση της μια μεταβλητής εξαρτάται από το επίπεδο της άλλης. Έτσι έχοντας ως 44

επίπεδο σημαντικότητας α=5% προκύπτει ότι κρατάμε τις τιμές που είναι μικρότερες από 0.05(α<0.05). Για τις τιμές του F θέλουμε να είναι όσο γίνεται μεγαλύτερες της μονάδας. Η F τιμή είναι ένα ποσοστιαίο μέτρο της διασποράς των εξαρτημένων μεταβλητών που δεν εξηγείται από διαφορές στο επίπεδο της ανεξάρτητης μεταβλητής. Παρατηρούμε ότι από τα αποτελέσματα του πίνακα οι p-τιμές που είναι μικρότερες από 0.05 είναι εκείνες για τις οποίες εξετάζεται η παράμετρος ποιότητας για την ανάλυση δύο μεταβλητών Δωμάτια*EQΜέθοδοι και Δωμάτια*Απόσταση. Οριακά αλλά θα τη δεχτούμε ως μικρότερη του 0.05 για την παρούσα μελέτη είναι η τιμή της εξαρτημένης παραμέτρου της απόστασης για την ανάλυση των δύο μεταβλητών Δωμάτια*Απόσταση που είναι 0.052. Επίσης παρατηρούμε ότι για τις τρεις παραπάνω περιπτώσεις η τιμή του F είναι μεγαλύτερη του 2 άρα είναι δεκτή. Στον παραπάνω πίνακα αξίζει να επισημανθεί ότι παραθέτουμε μόνο για το σκοπό μιας απλής αναφοράς τα F και τα Sig για τις περιπτώσεις όπου εξετάζεται μια και μόνο ανεξάρτητη μεταβλητή. Στο test (και για αυτό κάναμε MANOVA και όχι ANOVA) είναι για να δειχτεί η επίδραση δυο και παραπάνω ανεξάρτητων μεταβλητών πάνω σε μια εξαρτημένη αφού θέλαμε να εξετάσουμε κυρίως την αλληλεπίδραση τριών μεταβλητών. Επίσης (χωρίς να παρατεθεί πίνακας) αξίζει ακόμα να αναφερθεί ότι για τα αποτελέσματα τα καλύτερα Roy s Largest Roots ήταν για τις ανεξάρτητες μεταβλητές Δωμάτια*Απόσταση (F(3,311)=5,458,Sig=0,001) και Δωμάτια*EQΜέθοδοι (F(6,312)=2,620,Sig=0,017). Όχι τόσο αξιοσημείωτα ήταν τα αποτελέσματα για τις ανεξάρτητες μεταβλητές EQΜέθοδοι*Απόσταση (F(3,12)=1,672,Sig=0,173) και Δωμάτια*EQΜέθοδοι*Απόσταση (F(6,312)=1,366,Sig=0,228),καθώς όταν εξετάζουμε μόνο τις ανεξάρτητες μεταβλητές θέλουμε να είναι Sig<0,01. 45

4.1 Ψυχοακουστική μέτρηση απόστασης Εξαρτημένη Μεταβλητή Απόσταση Δωμάτια Απόσταση 95% διάστημα εμπιστοσύνης Κάτω Όριο Πάνω Όριο Aula 1 meter 2,937 3,456 Carolina 3 meter 3,597 4,117 Office 1 meter 1,847 2,367 3 meter 1,865 2,385 Stairway 1 meter 2,151 2,67 3 meter 2,437 2,956 Πίνακας 4.2:Αποτελέσματα του test απόστασης για την μέτρηση της απόστασης για τις δυο ανεξάρτητες μεταβλητές Δωμάτια*Απόσταση Το διάστημα εμπιστοσύνης συμβολίζει μια 95% πιθανότητα να υπάρχει σ αυτό η μέση τιμή δηλαδή αν κατασκευαστούν 100 διαστήματα εμπιστοσύνης (με 95% βαθμό εμπιστοσύνης) για την μέση τιμή από 100 δείγματα ίδιου μεγέθους από έναν πληθυσμό τότε τα 95 από τα 100 διαστήματα εμπιστοσύνης θα περιλαμβάνουν την μέση τιμή. Αυτά τα διαστήματα εμπιστοσύνης απεικονίζονται στα κουτιά των ράβδων στο επόμενο διάγραμμα ονομαζόμενο και ως θηκόγραμμα. 46

5 4,5 4 Α π ό σ τ α σ η 3,5 3 2,5 2 1,5 1 0,5 0 Aula Carolina 1m Aula Carolina 3m Office 1m Office 3m Stairway 1m Stairway 3m Σχήμα 4.1:Θηκόγραμμα του test απόστασης για τις ανεξάρτητες μεταβλητές Δωμάτια*Απόσταση. Παρατηρούμε ότι τα subjects αντιλήφθηκαν πιο μακρινή την απόσταση για την εκκλησία στα 3m και μετά στο 1m. Έπειτα δεύτερη στην προτίμηση τους όσον αφορά την απόσταση ήταν η σκάλα και τελευταίος ο χώρος του γραφείου. Αυτό οφείλεται κυρίως στην αίσθηση του «βάθους» που δίνουν οι χώροι με μεγάλη αντήχηση όπως είναι αυτοί της εκκλησίας και της σκάλας σε αντίθεση με αυτή του γραφείου. Παρατίθεται σα δεύτερη μελέτη στην απόσταση η σχέση της με τις ανεξάρτητες μεταβλητές Δωμάτια*EQΜέθοδοι χωρίς αυτή όμως η μελέτη να φαίνεται να δίνει σημαντικά αποτελέσματα λόγω του Sig=0,954. 47

Εξαρτημένη Δωμάτια ΕQ Μέθοδοι 95 % Διάστημα Μεταβλητή Εμπιστοσύνης Απόσταση Κάτω Όριο Πάνω Όριο Aula Without EQ 3,168 3,903 Carolina Free field 3,133 3,867 Baffle 3,133 3,867 Pinna 3,204 3,939 Office Wihout EQ 1,847 2,582 Free field 1,740 2,474 Baffle 1,740 2,474 Pinna 1,668 2,403 Stairway Without EQ 2,097 2,832 Free field 2,276 3,010 Baffle 2,311 3,046 Pinna 2,061 2,796 Πίνακας 4.3:Αποτελέσματα του test απόστασης για τις δύο ανεξάρτητες μεταβλητές Δωμάτια*EQΜέθοδοι. Α π ό σ τ α σ η 5 4,5 4 3,5 3 2,5 2 1,5 1 0,5 0 Σχήμα 4.2:Θηκόγραμμα του test απόστασης για τις δύο ανεξάρτητες μεταβλητές Δωμάτια*EQΜέθοδοι. 48

4.2 Ψυχοακουστική μέτρηση ποιότητας Εξαρτημένη Μεταβλητή Ποιότητα Δωμάτια Απόσταση 95% Διάστημα Εμπιστοσύνης Κάτω Όριο Πάνω Όριο Aula 1 meter 2,646 3,14 Carolina 3 meter 2,003 2,497 Office 1 meter 3,896 4,39 3 meter 2,646 3,14 Stairway 1 meter 3,807 4,3 3 meter 2,539 3,033 Πίνακας 4.4:Αποτελέσματα του test ποιότητας για τις δύο ανεξάρτητες μεταβλητές Δωμάτια*Απόσταση 5 4,5 Π ο ι ό τ η τ α 4 3,5 3 2,5 2 1,5 1 0,5 0 Aula Carolina 1m Aula Carolina 3m Office 1m Office 3m Stairway 1m Stairway 3m Σχήμα 4.3:Θηκόγραμμα του test ποιότητας για τις δύο ανεξάρτητες μεταβλητές Δωμάτια*Απόσταση 49

Παρατηρούμε ότι τα subjects προτίμησαν τις κοντινές αποστάσεις όσον αφορά την ποιότητα του ήχου και κυρίως τους χώρους του γραφείου και της σκάλας. Επίσης παρατηρούμε οτί η παρουσία μεγάλης αντήχησης στους χώρους της εκκλησίας και γενικά των μακρινών αποστάσεων έπαιξε ρόλο στο να μην προτιμηθούν αυτοί οι χώροι και οι αποστάσεις στον τομέα της ποιότητας. Εξαρτημένη Μεταβλητή Ποιότητα Δωμάτια EQΜέθοδοι 95% Διάστημα Εμπιστοσύνης Κάτω Όριο Πάνω Όριο Aula Carolina Without EQ 2,008 2,706 Free field 2,115 2,813 Baffle 2,365 3,063 Pinna 2,401 3,099 Office Without EQ 3,258 3,956 Free field 3,115 3,813 Baffle 3,08 3,778 Pinna 3,222 3,92 Stairway Without EQ 3,258 3,956 Free field 3,472 4,17 Baffle 2,83 3,528 Pinna 2,722 3,42 Πίνακας 4.5:Αποτελέσματα του test ποιότητας για τις ανεξάρτητες μεταβλητές Δωμάτια*EQΜέθοδοι 50

Π ο ι ό τ η τ α 5 4,5 4 3,5 3 2,5 2 1,5 1 0,5 0 Διάγραμμα 4.4:Θηκόγραμμα του test ποιότητας για τις δυο ανεξάρτητες μεταβλητές Δωμάτια*EQΜέθοδοι Βλέπουμε αρχικά ότι σε γενικές γραμμές έχουν προτιμηθεί οι χώροι του γραφείου και της σκάλας. Αλλά όσον αφορά τις μεθόδους ισοστάθμισης παρατηρούμε ότι υπερέχει η ισοστάθμιση για τοποθέτηση σε μπαφλα και στο πτερύγιο για την εκκλησία,η τοποθέτηση στο πτερύγιο για το γραφείο και σε ελεύθερο πεδίο για τη σκάλα.όμως για το γραφείο και τη σκάλα είναι ψηλά σε προτίμηση ποιότητας και η μη ισοστάθμιση κάτι που δεν πρέπει να παραβλεφθεί. 51

52

5 ΣΥΜΠΕΡΑΣΜΑΤΑ Τα συμπεράσματα που απορρέουν από το σύνολο αυτής της εργασίας είναι τα εξής. Απ το ψυχοακουστικό test φάνηκε ότι η μελέτη μας θα εστιαστεί κυρίως στις 3 παραμέτρους της απόστασης,της ποιότητας και της αντήχησης. Αποτελέσματα του test απόστασης Η ικανότητά μας να κρίνουμε την απόσταση των ήχων βελτιώνεται πολύ όταν υπάρχουν ανακλάσεις και κυρίως,φαίνεται, από τις πρώιμες ανακλάσεις. Όσο αυξάνεται ο χρόνος αντήχησης μαθαίνουμε περισσότερα στοιχεία του ηχητικού πεδίου και, αφού τα μάθουμε, εκείνα επεκτείνονται και σε διαφορετικά μέρη του ίδιου δωματίου. Διαφαίνεται καθαρά από το Σχήμα 4.1 και από τη μελέτη της απόστασης ότι οι διαφορές στην επιλογή της απόστασης από τα subjects είναι μεγαλύτερη για την εκκλησία και έπειτα για τη σκάλα με τελευταίο το γραφείο (RTaula Carolina=highest, RTstairway=0.86, RToffice=0.43). Δηλαδή οι δύο διαφορετικές ράβδοι για το Aula Carolina για τις 2 αποστάσεις αυτή για το 1 και αυτή για τα 3 μέτρα έχουν μεγαλύτερη διαφορά από τις αντίστοιχες για τις άλλες 2 περιπτώσεις δωματίων. Π.χ. θα μπορούσε να ειπωθεί ότι η εκτίμηση της απόστασης για το γραφείο είναι κακή διότι οι δύο ράβδοι είναι στο ίδιο επίπεδο εκτίμησης απόστασης (επίπεδο 2). Αυτό το πειραματικό αποτέλεσμα έρχεται σε καθαρή συμφωνία με την προηγούμενη έρευνα. Επίσης παρατηρήθηκε φαινόμενο που έχει ξαναπαρατηρηθεί γνωστό και ως perceptual blur (αντιληπτική παραμόρφωση) που εκφράζεται και από το γεγονός ότι στο τεστ οι κοντινές αποστάσεις υπερτιμήθηκαν κατά την αντιστοίχιση τους στην κλίμακα και οι μακρινές αποστάσεις υποτιμήθηκαν (κυρίως για χώρους με μικρό χρόνο αντήχησης). Αυτό ίσως είναι 53

αποτέλεσμα του ηχητικού ορίζοντα που αντιπροσωπεύει την πιο μακρινή απόσταση που γίνεται αντιληπτή. Αποτελέσματα του test ποιότητας Όσον αφορά το test ποιότητας σύμφωνα και με το γεγονός ότι οι χαμηλές συχνότητες έχουν μεγαλύτερο χρόνο αντήχησης από τις ψηλότερες λόγω των επιφανειών και τις απορρόφησης του αέρα βλέπουμε από το σχήμα 4.3 ότι υπάρχουν μεγαλύτερες διαφορές μεταξύ των ράβδων για το γραφείο και τη σκάλα από την εκκλησία. Αυτό γίνεται λόγω του ότι έπαιξε αρνητικό ρόλο για την αντίληψη της ποίοτητας η ηχώ (late reflections). Επίσης οι πολλαπλές πρώιμες ανακλάσεις έχουν θετικό αποτέλεσμα για την καθαρότητα του λόγου και αυτό φαίνεται γιατί οι μικρές αποστάσεις έχουν προτιμηθεί από τα subjects. Αποτελέσματα για τις μεθόδους τοποθέτησης Όσον αφορά τις μεθόδους ισοστάθμισης παρατηρούμε ότι υπερέχει η ισοστάθμιση για τοποθέτηση σε μπαφλα και στο πτερύγιο για την εκκλησία,η τοποθέτηση στο πτερύγιο για το γραφείο και σε ελεύθερο πεδίο για τη σκάλα. Υπάρχουν πολύ καλά αποτελέσματα και για τα τρία δωμάτια για το ελεύθερο πεδίο που είναι σχεδόν στα ίδια γενικά επίπεδα με αυτά για χωρίς ισοστάθμιση. Η μπάφλα δεν είναι ψηλά σε προτίμηση λόγω του ότι υπερισχύουν οι χαμηλές συχνότητες και το πτερύγιο ίσως κυρίως για το λόγω του ότι ίσως ήθελε να χρησιμοποιηθεί φίλτρο 1/6 της οκτάβας και όχι 1 οκτάβα όπως εμείς χρησιμοποιήσαμε. Επίσης ίσως να χρειαζόταν χρόνος προσαρμογής των subjects στο ακουστικό περιβάλλον για καλύτερα αποτελέσματα. Παραλειπόμενα Ένα ακόμη θέμα που αξίζει να επισημανθεί είναι η γραμμικότητα της κλίμακας που χρησιμοποιήθηκε για την αξιολόγηση της εκάστοτε εξαρτημένης μεταβλητής. Επειδή η αντίληψη λαμβάνει υπ οψη της τα δεδομένα σε μη γραμμική κλίμακα ίσως έπρεπε να χρησιμοποιηθεί κλίμακα στο test χωρίς fixed «σκαλοπάτια» για να μπορέσει να αποτυπώσει τις λεπτές διαφορές ειδικά εκεί όπου υπήρχε επίδραση της ανεξάρτητης μεταβλητής EQΜέθοδοι λόγω των πολύ λεπτών διαφορών. Παρατηρήθηκε επίσης ότι για την Αντήχηση στο test της Απόστασης μας φαίνεται πιο reverberant το πιο μακρινό γιατί έχει χειρότερο direct-toreverberant ratio που σημαίνει ότι καθώς αυξάνονται οι ανακλάσεις που φτάνουν στον ακροατή εκείνος τείνει να αντιληφθεί μια αύξηση της 54

απόστασης λόγω της αύξησης του χώρου και σε βάρος της καθαρότητας του λόγου. Επίσης ο μικρός αριθμός των subjects(20) δεν ήταν μάλλον ικανός να δώσει σημαντικά αποτελέσματα για την εξαρτημένη παράμετρο της αντήχησης και για τις άλλες αναλύσεις με δύο ανεξάρτητες μεταβλητές.[20-25] 55

56

Βιβλιογραφία [1] H.Fastl, E.Zwicker «Psychoacoustics,Facts and Models», Springer 2007 [2] Z.Scharer, A.Lindau «Evaluation of equalization methods for binaural signals», Audio Engineering Society Convention Paper,2009 [3] J.Fels, B.Masiero «Binaural Reproduction Technologies for studies on dichotic and selective binaural hearing: Headphone Reproduction» Forum Acusticum Denmark, 2011 [4] R.Munkong, B.H.Juang «Auditory Perception and Cognition», IEEE Signal Processing magazine,may 2008 [5] M.Kahrs, K.Brandenburg, J.Kates «Signal Processing for Hearing Aids», Applications of DSP to audio and acoustics, 2002 [6] Ι.Μουρτζόπουλος «Ψηφιακή Τεχνολογία Ήχου», Πάτρα 2004 [7] D.Howard, J.Angus «Acoustics and psychoacoustics», Focal Press, 2006 [8] J.Mourjopoulos «Digital equalization of room acoustics», Audio engineering society convention paper, 1994 [9] Α.Οppenheim, R.Schafer, J.Buck «Discrete-Time Signal Processing», 1999 [10] Α.Farina AES Convention Paper [11] T.Zarouchas, J.Mourjopoulos «Modeling perceptual effects of reverberation on stereophonic sound reproduction in rooms», 2009 [12] T.E Vigran «Building Acoustics», Τaylor & Francis, 2008 [13] I.Μουρτζόπουλος, «Ηλεκτροακουστική ΙΙ», 2004 [14] F.A Everest, K.C Pohlmann «Master Handbook of Acoustcs», Mc Graw Hill 2009 57

[15] M.Jeub, M.Schafer, P.Vary «A binaural room impulse response database for the evaluation of dereverberation algorithms», ΙΕΕΕ 2009 [16] I.Μουρτζόπουλος «Σημειώσεις Εργαστηριακής Άσκησης Ηλεκτροακουστικής Ι: Μέτρηση χαρακτηριστικών και απόκρισης ηλεκτροακουστικών μετατροπέων» [17] «Intensity coding and binaural processing in the auditory system», Course DTU Denmark [18] S. Muller «Measuring transfer functions and impulse responses» [19] J. Buchholz «Spatial hearing/localization» DTU Course [20] G. Von Bekesy «The moon illusion and similar auditory pleasures» [21] S. Zielinski, F. Rumsey «Some Biases in Modern Audio Quality Listening Tests» AES June 2008 [22] A. Lindau, F. Brinkmann «Perceptual Evaluation of Headphone Compensation» AES Jan/Feb 2012 [23] B. Blesser «An Interdisciplinary Synthesis of Reverberation Viewpoints» AES October 2001 [24] F. Toole «Loudspeakers and Rooms for Sound Reproduction-A Scientific Review» AES June 2006 [25] E.Georganti et al. «Speaker Distance Detection Using a Single Microphone» IEEE Transactions on Audio,Speech and Language Processing, September 2011 Ηλεκτρονικές διευθύνσεις: en.wikipedia.org www.akg.com http://www.chem.uoa.gr/applets/appletfouranal/appl_fouranal2.ht ml 58

ΠΑΡΑΡΤΗΜΑ Α Αναλυτικά αποτελέσματα ψυχοακουστικού test Σε αυτή την ενότητα παρατίθενται όλοι οι πίνακες των αποτελεσμάτων του ψυχοακουστικού τεστ. 59

60

61

62

63

64

65

66

67

68

69

70

71

72

ΠΑΡΑΡΤΗΜΑ Β Βιβλιοθήκη Συναρτήσεων Εξαγωγής Ηχητικών Παραμέτρων Στη συγκεκριμένη ενότητα παρατίθενται οι συναρτήσεις που υλοποιήθηκαν σε περιβάλλον ΜΑΤLAB. Κώδικας εξομάλυνσης φάσματος(averfft). function [Px,freq]=averfft(sig,Noct,Nfft) % sig is mono or stereo time data (column) vector % Noct is 1/Noct octave smooth resolution (default=0 => no smooth); % Nfft igs FFT length (default=8192) % if no output specified averfft plots frequency data; if size(sig,2)>size(sig,1) sig=sig'; if nargin < 2 Noct=0; if nargin < 3 Nfft=8192; % parameter definition L=length(sig); if L > Nfft Lwin=Nfft/2; % window length == length of segment ovrlp =Nfft/4; % 50% overlap Nseg=(L-ovrlp)/(Lwin-ovrlp); win=0.5*(1-cos(2*pi*(1:lwin)'/(lwin+1))); % hanning window for i=1:size(sig,2)/2 win=[win win]; n1=1; Px=0; % average fft for i=1:nseg n2=n1+lwin-1; N=n2-n1+1; a=norm(win)^2/n; xw=sig(n1:n2,:).*win; Px_i=abs(fft(xw,Nfft)).^2/(N*a); Px=Px+Px_i/Nseg; n1=n1+ovrlp; ; Px=10*log10(Px(1:/2,:)); else Px=20*log10(abs(fft(sig,Nfft))); Px=Px(1:/2,:); 73

freq=(0:44100/(nfft-1):22050)'; %------------------------------------------------------------------- ------- % octave smoothing if Noct > 0 Noct=2*Noct; % octave center frequencies f1=1; i=0; while f1 < 22050 f1=f1*10^(3/(10*noct)); i=i+1; fc(i,:)=f1; % octave edge frequencies for i=0:length(fc)-1 i=i+1; f1=10^(3/(20*noct))*fc(i); fe(i,:)=f1; % find nearest frequency edges for i=1:length(fe) fe_p=find(freq>fe(i),1,'first'); fe_m=find(freq<fe(i),1,'last'); fe_0=find(freq==fe(i)); if isempty(fe_0)==0 fe(i)=fe_0; else p=fe_p-fe(i); m=fe(i)-fe_m; if p<m fe(i)=fe_p; else fe(i)=fe_m; assignin('base','a',fe); for i=1:length(fe)-1 Px_i=Px(fe(i):fe(i+1),:); Px_oct(i,1:size(Px,2))=mean(Px_i); fc=fc(2:); Px_oct=interp1(fc,Px_oct,freq,'spline'); %------------------------------------------------------------------- ------- if nargout == 0 figure1 = figure('paperposition',[0.6345 6.345 20.3 15.23],'PaperSize',[20.98 29.68]); axes(... 'FontWeight','bold',... 'XGrid','on','XScale','log',... 'XMinorGrid','on',... 74

'XTick',[16,22,32,45,63,89,126,178,251,355,501,708,1000,1413,1995,28 18,3981,5623,7943,11220,15849],... 'XTickLabel',{'16','22','32','45','63','90','125','180','250','350', '500','700','1k','1.4k','2k','2.8','4k','5.6k','8k','11.2k','16k'},... 'YGrid','on',... 'Parent',figure1); xlim([22 1.6e+004]); box('on'); hold('all'); plot(freq,px,'linewidth',1,'color',[0 0 1],'DisplayName',[num2str(Nfft) '-point FFT']); if Noct > 0 plot(freq,px_oct,'linewidth',2,'color',[1 0 0],'DisplayName',['1/' num2str(noct/2) '-oct. smooth']); xlabel('frequency / Hz','FontWeight','bold'); ylabel('amplitude / db','fontweight','bold'); %------------------------------------------------------------------- ------- if Noct > 0 Px=Px_oct; Complex Smooth function [Hoct]=cmplxsmooth(H,Noct) fs=44100; freq=(0:fs/(length(h)-1):fs/2)'; Noct=2*Noct; H=H(1:/2,:); Noct=2*Noct; % octave center frequencies f1=1; i=0; while f1 < 22050 f1=f1*10^(3/(10*noct)); i=i+1; fc(i,:)=f1; % octave edge frequencies for i=0:length(fc)-1 i=i+1; f1=10^(3/(20*noct))*fc(i); fe(i,:)=f1; % find nearest frequency edges for i=1:length(fe) fe_p=find(freq>fe(i),1,'first'); 75

fe_m=find(freq<fe(i),1,'last'); fe_0=find(freq==fe(i)); if isempty(fe_0)==0 fe(i)=fe_0; else p=fe_p-fe(i); m=fe(i)-fe_m; if p<m fe(i)=fe_p; else fe(i)=fe_m; for i=1:length(fe)-1 H_i=H(fe(i):fe(i+1),:); Hoct(i,1:size(H,2))=mean(H_i); Habs=abs(H); for i=1:length(fe)-1 abshoct_i=habs(fe(i):fe(i+1),:); abshoct(i,1:size(h,2))=mean(abshoct_i); fc=fc(2:); Hoct=Hoct.*absHoct./abs(Hoct); Hoct=interp1(fc,Hoct,freq,'spline'); Hoct=[Hoct;Hoct(:-1:1,:)]; Κώδικας Παραγωγής των αρχείων αντήχησης(create Reverberant). function [stereo1]=createreverberant(room,distance); airpar.fs = 44100; airpar.rir_type=1; airpar.room=room; airpar.head=1; airpar.rir_no=distance; airpar.azimuth=0; % Load BRIRs % Right airpar.channel = '0'; BRIR_r = load_air(airpar); % Left airpar.channel = '1'; BRIR_l = load_air(airpar); c1=wavread('male.wav'); 76

c1=cello1(1:250000); %convolving left2=fftconv(brir_l',cello1); right2=fftconv(brir_r',cello1); % normalizing the anechoic signal at a factor specified above in order to be % between -1 and +1 and no clipping to occur in the convolved signal norm=max(max(abs(left2)),max(abs(right2))); left2=left2./norm; right2=right2./norm; stereo1=[left2,right2]; wavwrite(stereo1,44100,16,'office.wav'); [B1f fff]=averfft(stereo1,0,length(stereo1)); semilogx(fff,b1f,'r'); function c=fftconv(a,b) FFTConv coutlen = length(a)+length(b)-1; len2= round((log10(coutlen)/log10(2.0)+2.2204460492503131e-016)); if 2.0^len2<coutlen, len2=len2+1; ; FFTlen=2.0^len2; A=fft(a,FFTlen);clear a; B=fft(b,FFTlen);clear b; C=A.*B;clear A;clear B; c=real(ifft(c));clear C; c=c(1:coutlen); InvFIR function [ih]=invfir(type,h,nfft,noct,l,range,reg,window) % ------------------------------------------------------------------ ------------ % description: design inverse filter (FIR) from mono or stereo impulse response % ------------------------------------------------------------------ ------------ % inputs overview % --------------- % type - 1. 'linphase': symmetric two-sided response compensating magnitude while maintaining original phase information % 2. 'minphase': one-sided response compensating magnitude with minimal possible group delay % 3. 'complex': asymmetric two-sided response compensating magnitude and phase 77

% % h - mono or stereo impulse response (column vector) % % Nfft - FFT length for calculating inverse FIR % % Noct - optional fractional octave smoothing (e.g. Noct=3 => 1/3 octave smooth, Noct=0 => no smoothing) % % L - length of inverse filter (truncates Nfft-length filter to L) % % range - frequency range to be inverted (e.g. [32 16000] => 32 Hz to 16 khz) % % reg - amount of regularization (in db) inside (reg(1)) and outside (reg(2)) the specified range % (example: reg=[20-6] => inverts frequency components within 'range' with a max. gain of 20 db, % while dampening frequencies outside 'range' by 6 db) % % window - window=1 applies a hanning window to the inverse filter % ------------------------------------------------------------------ ----------------------------- % % Background information: % complex inversion of non-minimum phase impulse responses % -------------------------------------------------------- % If an acoustical impulse response contains reflections there will be repeated similar magnitude characteristics during sound propagation. % This causes the impulse response to consist of a maximum-phase and a minimum phase component. % Expressed in trms of z-transformation the min.-phase are within the unit circle while the max.-phase component are outside. % Those components can be seen as numerator coefficients of an digital FIR filter. % Inversion turnes the numerator coefficients into denumerator coefficients and those outside the unit circle will make the resulting % filter (which is now an IIR filter) unstable. % Making use of the DFT sets z =1 and that means taht the region of convergence now includes the unit circle. % Now the inverse filter is stable but non-causal (left handed part of response towards negative times). % To compensate this, the resulting response is shifted in time to make the non-causal part causal. % But the "true" inverse is still an infinite one but is represented by an finite (Nfft-long) approximation. % Due to this fact and due to the periodic nature of the DFT, the Nfft-long "snapshot" of the true invese also contains % overlapping components from adjacents periodic repetitions (=> "time aliasing"). % Windowing the resulting response helps to suppress aliasing at the edges but does not guarantee that the complete response is aliasingfree. % In fact inverting non-minimum phase responses will always cause time aliasing - the question is not "if at all" but "to which amount". % Time-aliasing "limiters": 78

% - use of short impulse responses to be inverted (=> windowing prior to inverse filter design) % - use of longer inverse filters (=> increasing FFT length) % - avoide inversion of high-q (narrow-band spectral drips/peaks with high amplitde) spectral components (=> regularization, smoothing) % In addition the parameters should be choosen to minimize the leftsided part of the filter response to minimize perceptual disturbing pre-ringing. % % ---------------------------------------------------------------- % References: % - papers of the AES (e.g. from A. Farina, P. Nelson, O. Kirkeby) % - Oppenheim, Schafer "Discrete-Time Signal Processing" % ---------------------------------------------------------------- fs=44100; f1=range(1); f2=range(2); reg_in=reg(1); reg_out=reg(2); if window==1 win=0.5*(1-cos(2*pi*(1:l)'/(l+1))); else win=1; % regularization %--------------- % calculate 1/3 octave edges of regularization if f1 > 0 && f2 < fs/2 freq=(0:fs/(nfft-1):fs/2)'; f1e=f1-f1/3; f2e=f2+f2/3; if f1e < freq(1) f1e=f1; f1=f1+1; if f2e > freq() f2e=f2+1; % regularization B with 1/3 octave interpolated transient edges B=interp1([0 f1e f1 f2 f2e freq()],[reg_out reg_out reg_in reg_in reg_out reg_out],freq,'cubic'); B=10.^(-B./20); % from db to linear B=vertcat(B,B(:-1:1)); b=ifft(b,'symmetric'); b=circshift(b,nfft/2); b=0.5*(1-cos(2*pi*(1:nfft)'/(nfft+1))).*b; b=minph(b); % make regularization minimum phase B=fft(b,Nfft); else B=0; %---------------------- % calculate inverse filter if strcmp(type,'complex')==1 H=fft(h(:,1),Nfft); 79

elseif strcmp(type,'linphase')==1 strcmp(type,'minphase')==1 H=abs(fft(h(:,1),Nfft)); if Noct > 0 [H]=cmplxsmooth(H,Noct); % fractional octave smoothing ih=conj(h)./((conj(h).*h)+(conj(b).*b)); % calculating regulated spectral inverse ih=circshift(ifft(ih,'symmetric'),nfft/2); ih=win.*ih(/2-l/2+1:/2+l/2); % truncation to length L % 2-channel case %------------------------------------------------- if size(h,2)==2 if strcmp(type,'complex')==1 H=fft(h(:,2),Nfft); elseif strcmp(type,'linphase')==1 strcmp(type,'minphase')==1 H=abs(fft(h(:,2),Nfft)); if Noct > 0 [H]=cmplxsmooth(H,Noct); ih=conj(h)./((conj(h).*h)+(conj(b).*b)); ihr=circshift(ifft(ih,'symmetric'),nfft/2); ihr=win.*ihr(/2-l/2+1:/2+l/2); ih=[ih ihr]; if strcmp(type,'minphase')==1 ih=minph(ih); % calculate minimum phase component of impulse response function [h_min] = minph(h) n = length(h); h_cep = real(ifft(log(abs(fft(h(:,1)))))); odd = fix(rem(n,2)); wn = [1; 2*ones((n+odd)/2-1,1) ; ones(1-rem(n,2),1); zeros((n+odd)/2-1,1)]; h_min = zeros(size(h(:,1))); h_min(:) = real(ifft(exp(fft(wn.*h_cep(:))))); if size(h,2)==2 h_cep = real(ifft(log(abs(fft(h(:,2)))))); odd = fix(rem(n,2)); wn = [1; 2*ones((n+odd)/2-1,1) ; ones(1-rem(n,2),1); zeros((n+odd)/2-1,1)]; h_minr = zeros(size(h(:,2))); h_minr(:) = real(ifft(exp(fft(wn.*h_cep(:))))); h_min=[h_min h_minr]; InverseFilter function varargout = InverseFilter(varargin) 80

% Begin initialization code - DO NOT EDIT gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_openingfcn', @InverseFilter_OpeningFcn,... 'gui_outputfcn', @InverseFilter_OutputFcn,... 'gui_layoutfcn', [],... 'gui_callback', []); if nargin && ischar(varargin{1}) gui_state.gui_callback = str2func(varargin{1}); if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); else gui_mainfcn(gui_state, varargin{:}); % End initialization code - DO NOT EDIT % --- Executes just before InverseFilter is made visible. function InverseFilter_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hobject; % Update handles structure guidata(hobject, handles); set(handles.ihl,'visible','off'); set(handles.ihr,'visible','off'); set(handles.ihm,'visible','on'); set(handles.reg,'value',1); set(handles.ih_oct,'value',0); set(handles.oct,'enable','off'); % --- Outputs from this function are returned to the command line. function varargout = InverseFilter_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; % --- Executes on selection change in IR. function IR_Callback(hObject, eventdata, handles) IR = evalin('base','who'); set(hobject,'string',ir) list_entries = get(hobject,'string'); index_selected = get(hobject,'value'); IR = list_entries{index_selected}; setappdata(hobject,'ir',ir); % --- Executes during object creation, after setting all properties. function IR_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); 81

% --- Executes on button press in ih_oct. function ih_oct_callback(hobject, eventdata, handles) if get(hobject,'value')==1 set(handles.oct,'enable','on'); else set(handles.oct,'enable','off'); % --- Executes on selection change in oct. function oct_callback(hobject, eventdata, handles) % --- Executes during object creation, after setting all properties. function oct_createfcn(hobject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); % --- Executes on selection change in win. function win_callback(hobject, eventdata, handles) % --- Executes during object creation, after setting all properties. function win_createfcn(hobject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); % --- Executes on button press in ih_abs. function ih_abs_callback(hobject, eventdata, handles) % --- Executes on button press in ih_cmplx. function ih_cmplx_callback(hobject, eventdata, handles) function Nfft_Callback(hObject, eventdata, handles) % --- Executes during object creation, after setting all properties. function Nfft_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); % --- Executes on button press in reg. function reg_callback(hobject, eventdata, handles) if get(hobject,'value')==1 set(handles.f1,'enable','on'); set(handles.f2,'enable','on'); set(handles.regin,'enable','on'); set(handles.regout,'enable','on'); set(handles.minph_target,'enable','on'); else set(handles.f1,'enable','off'); set(handles.f2,'enable','off'); set(handles.regin,'enable','off'); 82

set(handles.regout,'enable','off'); set(handles.minph_target,'enable','off'); function f2_callback(hobject, eventdata, handles) % --- Executes during object creation, after setting all properties. function f2_createfcn(hobject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); function f1_callback(hobject, eventdata, handles) % --- Executes during object creation, after setting all properties. function f1_createfcn(hobject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); function regout_callback(hobject, eventdata, handles) % --- Executes during object creation, after setting all properties. function regout_createfcn(hobject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); function regin_callback(hobject, eventdata, handles) % --- Executes during object creation, after setting all properties. function regin_createfcn(hobject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); % --- Executes on button press in frplot. function frplot_callback(hobject, eventdata, handles) set(handles.frplot,'value',1); set(handles.fr2plot,'value',0); set(handles.irplot,'value',0); set(handles.ir2plot,'value',0); set(handles.db,'visible','off'); plotting(handles); % --- Executes on button press in irplot. function irplot_callback(hobject, eventdata, handles) set(handles.frplot,'value',0); set(handles.fr2plot,'value',0); set(handles.irplot,'value',1); set(handles.ir2plot,'value',0); set(handles.db,'visible','on'); 83

plotting(handles); % --- Executes on button press in ir2plot. function ir2plot_callback(hobject, eventdata, handles) set(handles.frplot,'value',0); set(handles.fr2plot,'value',0); set(handles.irplot,'value',0); set(handles.ir2plot,'value',1); set(handles.db,'visible','on'); plotting(handles); % --- Executes on button press in fr2plot. function fr2plot_callback(hobject, eventdata, handles) set(handles.frplot,'value',0); set(handles.fr2plot,'value',1); set(handles.irplot,'value',0); set(handles.ir2plot,'value',0); set(handles.db,'visible','off'); plotting(handles); % --- Executes on button press in cancel. function cancel_callback(hobject, eventdata, handles) close InverseFilter % --- Executes on button press in db. function db_callback(hobject, eventdata, handles) plotting(handles); % --- Executes on button press in close. function close_callback(hobject, eventdata, handles) button = questdlg('store filter?' ); if strcmp(button,'no')==1 close InverseFilter if strcmp(button,'yes')==1 pushbutton4_callback; % --- Executes on button press in pushbutton4. function pushbutton4_callback(hobject, eventdata, handles) ih=getappdata(handles.ok,'ih'); prompt = {'Enter name for inverste filter :'}; dlg_title = 'Name'; num_lines=1; def = {'invfilt'}; newname = inputdlg(prompt,dlg_title,num_lines,def); newname=cell2mat(newname); assignin('base',newname,ih); % --- Executes on button press in ok. function ok_callback(hobject, eventdata, handles) user_entry = str2double(get(handles.l,'string')); if isnan(user_entry) user_entry < 0 errordlg('please enter a positive numeric value for filter length','bad Input','modal') else 84

if str2double(get(handles.nfft,'string')) < str2double(get(handles.l,'string')) errordlg('filter length cannot be greater than FFT length','bad Input','modal') else user_entry = str2double(get(handles.nfft,'string')); if isnan(user_entry) user_entry < 0 errordlg('please enter a positive numeric value for FFT length','bad Input','modal') else user_entry = str2double(get(handles.f1,'string')); if isnan(user_entry) user_entry < 0 errordlg('please enter a positive numeric value for f1','bad Input','modal') else user_entry = str2double(get(handles.f2,'string')); if isnan(user_entry) user_entry < 0 errordlg('please enter a positive numeric value for f2','bad Input','modal') else user_entry = str2double(get(handles.regin,'string')); if isnan(user_entry) errordlg('please enter a numeric gain value','bad Input','modal') else user_entry = str2double(get(handles.regout,'string')); if isnan(user_entry) errordlg('please enter a numeric gain value','bad Input','modal') else IR=getappdata(handles.IR,'IR'); Nfft=str2double(get(handles.Nfft,'string')); L=str2double(get(handles.L,'string')); if get(handles.win,'value')==1 win=1; else win=0; if get(handles.reg,'value')==0 f1=0; f2=22050; reg_in=inf; reg_out=inf; else f1=str2double(get(handles.f1,'string')); f2=str2double(get(handles.f2,'string')); reg_in=str2double(get(handles.regin,'string')); reg_out=str2double(get(handles.regout,'string')); if get(handles.ih_oct,'value')==1 Noct=str2double(get(handles.oct,'String')); else Noct=0; if get(handles.ih_cmplx,'value')==1 type='complex'; elseif get(handles.ih_abs,'value')==1 type='linphase'; 85

elseif get(handles.ih_minph,'value')==1 type='minphase'; h=evalin('base',ir); [ih]=invfir(type,h,nfft,noct,l,[f1 f2],[reg_in reg_out],win); convh=ifft(fft(h,(length(h)+length(ih)- 1)).*fft(ih,(length(h)+length(ih)-1))); setappdata(hobject,'ih',ih); setappdata(hobject,'convh',convh./max(max(abs(convh)))); setappdata(hobject,'h',h); setappdata(handles.ok,'nfft',nfft); plotting(handles); function L_Callback(hObject, eventdata, handles) % --- Executes during object creation, after setting all properties. function L_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); % --- Executes on button press in ih_minph. function ih_minph_callback(hobject, eventdata, handles) if get(hobject,'value')==1 set(handles.minph_target,'enable','off'); set(handles.reg,'value',1); set(handles.reg,'enable','off'); function plotting(handles) cla; Nfft=getappdata(handles.ok,'Nfft'); ih=getappdata(handles.ok,'ih'); h=getappdata(handles.ok,'h'); convh=getappdata(handles.ok,'convh'); ih=20*log10(abs(fft(ih))); convh=20*log10(abs(fft(convh,nfft))); H=20*log10(abs(fft(h,Nfft))); freq=0:44100/(nfft-1):22050; ih=ih./max(max(abs(ih))); if get(handles.db,'value')==1 ih=20*log10(abs(ih)); convh=20*log10(abs(convh)); if size(ih,2)==1 set(handles.ihl,'visible','off'); set(handles.ihr,'visible','off'); set(handles.ihm,'visible','on'); else 86

set(handles.ihl,'visible','on'); set(handles.ihr,'visible','on'); set(handles.ihm,'visible','off'); % case plot filter impulse response if get(handles.irplot,'value')==1 if size(ih,2)==2 axes(handles.ihl); cla(handles.ihl,'reset'); plot(ih(:,1),'color',[0 0 0]); set(handles.ihl,'xgrid','on','fontweight','bold'); axis([0 length(ih) -1 1]); if get(handles.db,'value')==1 axis([0 length(ih) -60 0]); box('on'); hold('all'); ylabel('ch1 amplitude','fontweight','bold'); axes(handles.ihr); cla(handles.ihr,'reset'); plot(ih(:,2),'color',[0 0 0]); set(handles.ihr,'xgrid','on','fontweight','bold'); axis([0 length(ih) -1 1]); if get(handles.db,'value')==1 axis([0 length(ih) -60 0]); box('on'); hold('all'); xlabel('time / samples','fontweight','bold'); ylabel('ch2 amplitude','fontweight','bold'); else axes(handles.ihm); cla(handles.ihm,'reset'); plot(ih,'color',[0 0 0]); set(handles.ihm,'xgrid','on','fontweight','bold'); axis([0 length(ih) -1 1]); if get(handles.db,'value')==1 axis([0 length(ih) -60 0]); box('on'); hold('all'); xlabel('time / samples','fontweight','bold'); ylabel('amplitude','fontweight','bold'); % case plot filter frequency response if get(handles.frplot,'value')==1 if size(ih,2)==2 axes(handles.ihl); cla(handles.ihl,'reset'); set(handles.ihl,'xgrid','on','fontweight','bold'); set(get(gca,'ylabel'),'string','ch1 amplitude / db','fontsize',10,'fontweight','bold') set(handles.ihl,... 'FontWeight','bold',... 'XGrid','on',... 87

'XMinorGrid','on',... 'XTick',[32,63,125,250,500,1000,2000,4000,8000,16000],... 'XTickLabel',{'32','63','125','250','500','1k','2k','4k','8k','16k'},... 'XScale','log','YGrid','on') XLim([32 16000]); box('on'); hold('all'); plot(freq,-h(1:/2,1),'color',[1 0 0],'DisplayName','true inverse'); plot(freq,ih(1:/2,1),'color',[0 0 1],'DisplayName','designed inverse'); leg1 = leg('show'); set(leg1,'location','southwest','fontsize',8); axes(handles.ihr); cla(handles.ihr,'reset'); set(handles.ihr,'xgrid','on','fontweight','bold'); set(get(gca,'ylabel'),'string','ch2 amplitude / db','fontsize',10,'fontweight','bold') set(get(gca,'xlabel'),'string','frequency / Hz','FontSize',10,'FontWeight','bold') set(handles.ihr,... 'FontWeight','bold',... 'XGrid','on',... 'XMinorGrid','on',... 'XTick',[32,63,125,250,500,1000,2000,4000,8000,16000],... 'XTickLabel',{'32','63','125','250','500','1k','2k','4k','8k','16k'},... 'XScale','log','YGrid','on') XLim([32 16000]); box('on'); hold('all'); plot(freq,-h(1:/2,2),'color',[1 0 0],'DisplayName','true inverse'); plot(freq,ih(1:/2,2),'color',[0 0 1],'DisplayName','designed inverse'); leg1 = leg('show'); set(leg1,'location','southwest','fontsize',8); else axes(handles.ihm); cla(handles.ihm,'reset'); set(handles.ihm,'xgrid','on','fontweight','bold'); set(get(gca,'ylabel'),'string','amplitude / db','fontsize',10,'fontweight','bold') set(get(gca,'xlabel'),'string','frequency / Hz','FontSize',10,'FontWeight','bold') set(handles.ihm,... 'FontWeight','bold',... 'XGrid','on',... 'XMinorGrid','on',... 'XTick',[32,63,125,250,500,1000,2000,4000,8000,16000],... 'XTickLabel',{'32','63','125','250','500','1k','2k','4k','8k','16k'},... 'XScale','log','YGrid','on') XLim([32 16000]); box('on'); hold('all'); 88

plot(freq,-h(1:/2),'color',[1 0 0],'DisplayName','true inverse'); plot(freq,ih(1:/2),'color',[0 0 1],'DisplayName','designed inverse'); leg1 = leg('show'); set(leg1,'location','southwest','fontsize',8); % case plot filtered impulse response if get(handles.ir2plot,'value')==1 if size(convh,2)==2 axes(handles.ihl); cla(handles.ihl,'reset'); plot(convh(:,1),'color',[0 0 0]); set(handles.ihl,'xgrid','on','fontweight','bold'); axis([0 length(convh) -1 1]); if get(handles.db,'value')==1 axis([0 length(convh) -60 0]); box('on'); hold('all'); ylabel('ch1 amplitude','fontweight','bold'); axes(handles.ihr); cla(handles.ihr,'reset'); plot(convh(:,2),'color',[0 0 0]); set(gca,'xgrid','on','fontweight','bold'); axis([0 length(convh) -1 1]); if get(handles.db,'value')==1 axis([0 length(convh) -60 0]); box('on'); hold('all'); xlabel('time / samples','fontweight','bold'); ylabel('ch2 amplitude','fontweight','bold'); else axes(handles.ihm); cla(handles.ihm,'reset'); plot(convh,'color',[0 0 0]); set(gca,'xgrid','on','fontweight','bold'); axis([0 length(convh) -1 1]); if get(handles.db,'value')==1 axis([0 length(convh) -60 0]); box('on'); hold('all'); xlabel('time / samples','fontweight','bold'); ylabel('amplitude','fontweight','bold'); % % case plot filtered frequency response if get(handles.fr2plot,'value')==1 if size(ih,2)==2 axes(handles.ihl); cla(handles.ihl,'reset'); set(handles.ihl,'xgrid','on','fontweight','bold'); set(get(gca,'ylabel'),'string','ch1 amplitude / db','fontsize',10,'fontweight','bold') 89

set(handles.ihl,... 'FontWeight','bold',... 'XGrid','on',... 'XMinorGrid','on',... 'XTick',[32,63,125,250,500,1000,2000,4000,8000,16000],... 'XTickLabel',{'32','63','125','250','500','1k','2k','4k','8k','16k'},... 'XScale','log','YGrid','on') XLim([32 16000]); box('on'); hold('all'); plot(freq,h(1:/2,1),'color',[1 0 0],'DisplayName','original'); plot(freq,convh(1:/2,1),'color',[0 0 1],'DisplayName','filtered'); leg1 = leg('show'); set(leg1,'location','southwest','fontsize',8); axes(handles.ihr); cla(handles.ihr,'reset'); set(handles.ihr,'xgrid','on','fontweight','bold'); set(get(gca,'ylabel'),'string','ch2 amplitude / db','fontsize',10,'fontweight','bold') set(get(gca,'xlabel'),'string','frequency / Hz','FontSize',10,'FontWeight','bold') set(handles.ihr,... 'FontWeight','bold',... 'XGrid','on',... 'XMinorGrid','on',... 'XTick',[32,63,125,250,500,1000,2000,4000,8000,16000],... 'XTickLabel',{'32','63','125','250','500','1k','2k','4k','8k','16k'},... 'XScale','log','YGrid','on') XLim([32 16000]); box('on'); hold('all'); plot(freq,h(1:/2,2),'color',[1 0 0],'DisplayName','original'); plot(freq,convh(1:/2,2),'color',[0 0 1],'DisplayName','filtered'); leg1 = leg('show'); set(leg1,'location','southwest','fontsize',8); else axes(handles.ihm); cla(handles.ihm,'reset'); set(handles.ihm,'xgrid','on','fontweight','bold'); set(get(gca,'ylabel'),'string','amplitude / db','fontsize',10,'fontweight','bold') set(get(gca,'xlabel'),'string','frequency / Hz','FontSize',10,'FontWeight','bold') set(handles.ihm,... 'FontWeight','bold',... 'XGrid','on',... 'XMinorGrid','on',... 'XTick',[32,63,125,250,500,1000,2000,4000,8000,16000],... 'XTickLabel',{'32','63','125','250','500','1k','2k','4k','8k','16k'},... 'XScale','log','YGrid','on') 90

XLim([32 16000]); hold('all'); plot(freq,h(1:/2),'color',[1 0 0],'DisplayName','original'); plot(freq,convh(1:/2),'color',[0 0 1],'DisplayName','filtered'); leg1 = leg('show'); set(leg1,'location','southwest','fontsize',8); Συνάρτηση παραγωγής ισοσταθμισμένων αρχείων(equalization) function [stereo1] = equalization(ir,room,distance); %Epeksighsh twn orismatwn ths synarthshs equalization % room--------------> % room Room type % 1,2,..,5: 'booth','office','meeting','lecture', % 'stairway', % distance-----------> Booth: {0.5m, 1m, 1.5m} % Office: {1m, 2m, 3m} % Meeting: {1.45m, 1.7m, 1.9m, 2.25m, 2.8m} % Lecture: {2.25m, 4m, 5.56m, 7.1m, 8.68m, 10.2m} % Stairway: {1m, 2m, 3m} %for example distance=3 gia Booth 1.5m %IR------------->'onoma arxeiou.txt' for example 'AKG_k240_30cm.txt' %octave----------->optional fractional octave smoothing (e.g. Noct=3 => 1/3 % octave smooth, Noct=0 => no smoothing) %norm---------------->normalization factor in order not to clip the signal %filename---------->specify how you want to name the file that will be saved % filename.wav %searching for the desired IR to load into the workspace B1=load(IR); %acquiring the desired column vector from the 2 or 3 rows of the files of %the responses given B1=B1(:,2); %[G1f fff]=averfft(b1,0,length(b1)+1); %G1f(fff<2200)=5; %b = fir2(length(g1f),fff/max(fff),g1f); %inverting the IR at the specified octave from 200 to 16000 Hz,with some %regularization and without window 91

inv1=invfir('minphase',b1,2000,3,2000,[0 20000],[0 0],0); %B1 sto parapanw gia wood kai pinna h b' gia 30cm %opening the aachen folder to use the load_air struct cd aachen % Create structure with the specified room and distance(all must be num) airpar.fs = 44100; airpar.rir_type=1; airpar.room=room; airpar.head=1; airpar.rir_no=distance; airpar.azimuth=90; % Load BRIRs % Right channel airpar.channel = '0'; BRIR_r = load_air(airpar); % Left channel airpar.channel = '1'; BRIR_l = load_air(airpar); % loading the Male(example) anechoic sugnal c1=wavread('male.wav'); %cutting the Male anechoic signal to be around 5-6 secs c1=c1(1:250000); % normalizing the anechoic signal at a specified factor in order to be % between -1 and +1 and no clipping to occur in the convolved signal %cello1=cello1./(max(abs(cello1))/norm); %left channel convolution left=fftconv(brir_l',inv1); left2=fftconv(left,cello1); %right channel convolution right=fftconv(brir_r',inv1); right2=fftconv(right,cello1); % normalizing the anechoic signal at a specified factor in order to be % between -1 and +1 and no clipping to occur in the convolved signal norm=max(max(abs(left2)),max(abs(right2))); 92

left2=left2./norm; right2=right2./norm; %creating the final stereo signal stereo1=[left2,right2]; %saving the stereo signal wavwrite(stereo1,44100,16,'stairwayfr_1m_pinna_inv1.wav'); %plotting at time and frequency %plot (stereo1, 'DisplayName','stereo1', 'YDataSource', 'stereo1'); figure(gcf) %[G1f fff]=averfft(inv1,0,length(inv1)); %semilogx(fff,g1f,'b'); Συνάρτηση που καλεί το ψυχοακουστικό test(p835) function varargout = P835(varargin) %Mean Opinion Score Experiment %Author: Alexandros Tsilfidis %Audio and Acoustic Technology Group %Department of Electrical and Computer Engineering %University of Patras %email: altsilfidis@upatras.gr %Instructions %Change the.wav name files (in handles.files) or rename your wav files. Note that every wav file should contain A PAIR of sounds in order to evaluate their impairment. A.mat file (with the subject's name) will be produced. % P835 M-file for P835.fig % P835, by itself, creates a new P835 or raises the existing % singleton*. % % H = P835 returns the handle to a new P835 or the handle to % the existing singleton*. % % P835('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in P835.M with the given input arguments. % % P835('Property','Value',...) creates a new P835 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before iut_openingfunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to P835_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % 93

% See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help P835 % Last Modified by GUIDE v2.5 14-Mar-2011 19:54:16 % Begin initialization code - DO NOT EDIT gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_openingfcn', @P835_OpeningFcn,... 'gui_outputfcn', @P835_OutputFcn,... 'gui_layoutfcn', [],... 'gui_callback', []); if nargin & isstr(varargin{1}) gui_state.gui_callback = str2func(varargin{1}); if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); else gui_mainfcn(gui_state, varargin{:}); % End initialization code - DO NOT EDIT % --- Executes just before P835 is made visible. function P835_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hobject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to P835 (see VARARGIN) % Choose default command line output for P835 handles.output = hobject; handles.files = {'aula_carolina_1m 1.wav', 'aula_carolina_1m_30cm_eq 1.wav', 'aula_carolina_1m_baffle_eq 1.wav', 'aula_carolina_1m_pinna_eq 1.wav',... 'aula_carolina_3m 1.wav', 'aula_carolina_3m_30cm_eq 1.wav', 'aula_carolina_3m_baffle_eq 1.wav', 'aula_carolina_3m_pinna_eq 1.wav',... 'office_1m.wav', 'office_1m_30cm_eq.wav', 'office_1m_baffle_eq.wav', 'office_1m_pinna_eq.wav',... 'office_3m.wav', 'office_3m_30cm_eq.wav', 'office_3m_baffle_eq.wav', 'office_3m_pinna_eq.wav',... 'stairwayfr_1m.wav', 'stairwayfr_1m_30cm_eq.wav', 'stairwayfr_1m_baffle_eq.wav', 'stairwayfr_1m_pinna_eq.wav',... 'stairwayfr_3m.wav', 'stairwayfr_3m_30cm_eq.wav', 'stairwayfr_3m_baffle_eq.wav', 'stairwayfr_3m_pinna_eq.wav',... }; handles.fs = 44100; %Sampling rate % Repeats the randomised order by the amount of repetitions handles.n = length(handles.files); % number of files handles.order = randperm(handles.n); %randomises presentation order nrep = 1; %Repetitions for m=2:nrep handles.order = [handles.order randperm(handles.n)]; %randomises presentation order handles.k = 0; 94

% Update handles structure guidata(hobject, handles); % UIWAIT makes P835 wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = P835_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hobject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % --- Executes on button press in checkbox1. function checkbox1_callback(hobject, eventdata, handles) % hobject handle to checkbox1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- Executes on button press in checkbox2. function checkbox2_callback(hobject, eventdata, handles) % hobject handle to checkbox2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- Executes on button press in Playtag. function Playtag_Callback(hObject, eventdata, handles) % hobject handle to Playtag (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(hobject, 'Enable', 'off'); set(handles.repeatplay_tag, 'Enable', 'off'); %disp(handles.k); %collect data per trial if handles.k > 0 set(handles.trialnumber_tag,'string', handles.k+1); Pair_1 = get(handles.checkbox1,'value'); Pair_2 = get(handles.checkbox2,'value'); Pair_3 = get(handles.checkbox3,'value'); Pair_4 = get(handles.checkbox4,'value'); Pair_5 = get(handles.checkbox5,'value'); Pair_6 = get(handles.checkbox6,'value'); Pair_7 = get(handles.checkbox7,'value'); Pair_8 = get(handles.checkbox8,'value'); INTRUSIVENESS Pair_9 = get(handles.checkbox9,'value'); Pair_10 = get(handles.checkbox10,'value'); %SPEECH QUALITY %REVERBERATION 95

Pair_11 = get(handles.checkbox11,'value'); Pair_12 = get(handles.checkbox12,'value'); Pair_13 = get(handles.checkbox13,'value'); %OVERALL QUALITY Pair_14 = get(handles.checkbox14,'value'); Pair_15 = get(handles.checkbox15,'value'); %fopen(handles.fid,'%s %s, \n', handles.files{handles.order(handles.k)}, num2str([handles.k Pair_1 Pair_2])); %Place Subject answers into array handles.result(handles.k,1) = handles.order(handles.k)'; handles.result(handles.k,2) = Pair_1'; %The first pair is different handles.result(handles.k,3) = Pair_2'; %The second pair is different handles.result(handles.k,4) = Pair_3'; handles.result(handles.k,5) = Pair_4'; handles.result(handles.k,6) = Pair_5'; handles.result(handles.k,7) = Pair_6'; %The first pair is different handles.result(handles.k,8) = Pair_7'; %The second pair is different handles.result(handles.k,9) = Pair_8'; handles.result(handles.k,10) = Pair_9'; handles.result(handles.k,11) = Pair_10'; handles.result(handles.k,12) = Pair_11'; %The first pair is different handles.result(handles.k,13) = Pair_12'; %The second pair is different handles.result(handles.k,14) = Pair_13'; handles.result(handles.k,15) = Pair_14'; handles.result(handles.k,16) = Pair_15'; if sum(handles.result(handles.k,2:))==3 Result = handles.result; Subname = get(handles.nametag,'string'); save(subname, 'Result'); % saves results in.mat file else errordlg('please choose one checkbox for each category. Your trial is being repeated!','error') handles.k = handles.k - 1; %counter if handles.k == length(handles.order); fclose(handles.fid); return handles.k = handles.k + 1; %counter %To play files F = wavread(handles.files{handles.order(handles.k)}); 96

dur = length(f) / handles.fs; sound(f, handles.fs); pause(2); %To stop subject interuption during stimuli presentation set(hobject, 'Enable', 'on'); set(handles.repeatplay_tag, 'Enable', 'on'); % Update handles structure guidata(hobject, handles); % --- Executes on button press in RepeatPlay_tag. function RepeatPlay_tag_Callback(hObject, eventdata, handles) % hobject handle to RepeatPlay_tag (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(hobject, 'Enable', 'off'); set(handles.playtag, 'Enable', 'off'); if handles.k > 0 F = wavread(handles.files{handles.order(handles.k)}); dur = length(f) / handles.fs; sound(f, handles.fs); pause(2); set(handles.playtag, 'Enable', 'on'); set(hobject, 'Enable', 'on'); % --- Executes during object creation, after setting all properties. function nametag_createfcn(hobject, eventdata, handles) % hobject handle to nametag (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hobject,'backgroundcolor','white'); else set(hobject,'backgroundcolor',get(0,'defaultuicontrolbackgroundcolor ')); function nametag_callback(hobject, eventdata, handles) % hobject handle to nametag (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hobject,'string') returns contents of nametag as text % str2double(get(hobject,'string')) returns contents of nametag as a double Sub = get(handles.nametag,'string'); handles.fid=fopen(sub,'w');%opens subject answer file guidata(hobject, handles); 97

set(hobject, 'Enable', 'off'); set(handles.playtag, 'Enable', 'on'); % --- Executes during object creation, after setting all properties. function Trialnumber_tag_CreateFcn(hObject, eventdata, handles) % hobject handle to Trialnumber_tag (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hobject,'backgroundcolor','white'); else set(hobject,'backgroundcolor',get(0,'defaultuicontrolbackgroundcolor ')); function Trialnumber_tag_Callback(hObject, eventdata, handles) % hobject handle to Trialnumber_tag (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hobject,'string') returns contents of Trialnumber_tag as text % str2double(get(hobject,'string')) returns contents of Trialnumber_tag as a double % --- Executes on button press in checkbox3. function checkbox3_callback(hobject, eventdata, handles) % hobject handle to checkbox3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hobject,'value') returns toggle state of checkbox3 % --- Executes on button press in checkbox4. function checkbox4_callback(hobject, eventdata, handles) % hobject handle to checkbox4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hobject,'value') returns toggle state of checkbox4 % --- Executes on button press in checkbox5. function checkbox5_callback(hobject, eventdata, handles) % hobject handle to checkbox5 (see GCBO) 98

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hobject,'value') returns toggle state of checkbox5 % --- Executes on button press in checkbox6. function checkbox6_callback(hobject, eventdata, handles) % hobject handle to checkbox6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hobject,'value') returns toggle state of checkbox6 % --- Executes on button press in checkbox7. function checkbox7_callback(hobject, eventdata, handles) % hobject handle to checkbox7 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hobject,'value') returns toggle state of checkbox7 % --- Executes on button press in checkbox8. function checkbox8_callback(hobject, eventdata, handles) % hobject handle to checkbox8 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hobject,'value') returns toggle state of checkbox8 % --- Executes on button press in checkbox9. function checkbox9_callback(hobject, eventdata, handles) % hobject handle to checkbox9 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hobject,'value') returns toggle state of checkbox9 % --- Executes on button press in checkbox10. function checkbox10_callback(hobject, eventdata, handles) % hobject handle to checkbox10 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hobject,'value') returns toggle state of checkbox10 % --- Executes on button press in checkbox11. function checkbox11_callback(hobject, eventdata, handles) % hobject handle to checkbox11 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB 99

% handles structure with handles and user data (see GUIDATA) % Hint: get(hobject,'value') returns toggle state of checkbox11 % --- Executes on button press in checkbox12. function checkbox12_callback(hobject, eventdata, handles) % hobject handle to checkbox12 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hobject,'value') returns toggle state of checkbox12 % --- Executes on button press in checkbox13. function checkbox13_callback(hobject, eventdata, handles) % hobject handle to checkbox13 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hobject,'value') returns toggle state of checkbox13 % --- Executes on button press in checkbox14. function checkbox14_callback(hobject, eventdata, handles) % hobject handle to checkbox14 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hobject,'value') returns toggle state of checkbox14 % --- Executes on button press in checkbox15. function checkbox15_callback(hobject, eventdata, handles) % hobject handle to checkbox15 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hobject,'value') returns toggle state of checkbox15 Script που επιτρέπει την ανάλυση αποτελεσμάτων του test από το spss(tospss2). clear files=listfiles('./','*.mat'); for lol=1:length(files) load (files(lol).name) Result=sortrows(Result,1); mult=[1 5 4 3 2 1 5 4 3 2 1 5 4 3 2 1 ]; for i=1:24 100

Result(i,:)=Result(i,:).*mult; Ratespeech=sum(Result(:,2:6),2); Ratereverb=sum(Result(:,7:11),2); Rateall=sum(Result(:,12:),2); Room=[1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3]; Distance=[1 1 1 1 3 3 3 3 1 1 1 1 3 3 3 3 1 1 1 1 3 3 3 3]'; EQMethods=[1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4]'; SubjectNumber=lol*ones(24,1); spsss((lol-1)*24+1:(lol)*24,:)=[subjectnumber Room EQMethods Distance Ratespeech Ratereverb Rateoverall]; dlmwrite('test.txt',spsss) Κώδικας μετατροπής των κρουστικών αποκρίσεων σε φασματικές αποκρίσεις. t=data(:,1); %προσδιορισμός συνιστωσών κρουστικού σήματος h=data(:,2); FS=44100; %συχνότητα δειγματοληψιας T=1/FS; L=length(h); %μήκος κρουστικής NFFT=2^nextpow2(L); %Απόκριση συχνότητας Y=fft(h,NFFT)/L; %Φάσμα με χρήση FFT fs=44100; vecf=([1:1:nfft/2]/nfft)*fs; semilogx(vecf,20*log10(abs(y(1:nfft/2))),('b'));xlim([50 25000]); 101

102

ΠΑΡΑΡΤΗΜΑ Γ Αναλυτικά χαρακτηριστικά ακουστικών 55 ohms impedance, plug-in cable Self-adjusting headband for optimum fit Single cable for ease of use Semi-open, circumaural design The Studio version of these classic hi-fi stereo headphones uses XXL speakers with Varimotion diaphragms for higher sensitivity, a wider dynamic range, and higher sound levels. Other features include semi-open earphones, a solid bass range, clear highs, and excellent comfort. Also connects to portable equipment (CD players, DAT recorders, notebook computers, etc.) 103