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

Σχετικά έγγραφα
Μουσική Πληροφορική. Αλέξανδρος Ελευθεριάδης Αναπ. Καθηγητής Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών

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

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

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

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

Μάθημα: Ψηφιακή Επεξεργασία Ήχου

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

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

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

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

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

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

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

ΦΙΛΤΡΟ KALMAN ΔΙΑΚΡΙΤΟΥ ΧΡΟΝΟΥ

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

Κωδικοποίηση ήχου. Σύστημα ακοής MP3 / MP4 Κωδικοποίηση φωνής

Ιατρικά Ηλεκτρονικά. Χρήσιμοι Σύνδεσμοι. ΙΑΤΡΙΚΑ ΗΛΕΚΤΡΟΝΙΚΑ - ΔΙΑΛΕΞΗ 5α. Σημειώσεις μαθήματος: E mail:

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

Ραδιοτηλεοπτικά Συστήματα Ενότητα 5: Ψηφιοποίηση και συμπίεση σημάτων ήχου

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

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

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

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

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

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

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

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

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

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

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

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

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

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

Επικοινωνίες I FM ΔΙΑΜΟΡΦΩΣΗ. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Σερρών Τμήμα Πληροφορικής & Επικοινωνιών

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

Επικοινωνίες I FM ΔΙΑΜΟΡΦΩΣΗ. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Σερρών Τμήμα Πληροφορικής & Επικοινωνιών

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

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

E[ (x- ) ]= trace[(x-x)(x- ) ]

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

ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΟΣ ΑΣΚΗΣΗ 5

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

3.1 Η δίοδος στο κύκλωμα. Στατική και δυναμική χαρακτηριστική

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

Συστήµατα τα οποία χαρακτηρίζονται από γραµµικές εξισώσεις διαφορών µε σταθερούς συντελεστές

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

Αναλογικά & Ψηφιακά Κυκλώματα ιαφάνειες Μαθήματος ρ. Μηχ. Μαραβελάκης Εμ.

1) Να σχεδιαστούν στο matlab οι γραφικές παραστάσεις των παρακάτω ακολουθιών στο διάστημα, χρησιμοποιώντας τις συναρτήσεις delta και step.

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΠΑΛΜΟΚΩΔΙΚΗ ΔΙΑΜΟΡΦΩΣΗ - PCM (ΜΕΡΟΣ Α)

Συστήματα Πολυμέσων. Ενότητα 12: Συμπίεση Ψηφιακού Ήχου. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

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

Ενότητα 4: Δειγματοληψία - Αναδίπλωση

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

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

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

Παλμοκωδική Διαμόρφωση. Pulse Code Modulation (PCM)

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

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)

Συμπίεση Δεδομένων

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

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

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

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

Τηλεπικοινωνιακά Συστήματα Ι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ

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

Ψηφιακή Επεξεργασία Σήματος

ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ. Εισαγωγή στα Σήµατα Εισαγωγή στα Συστήµατα Ανάπτυγµα - Μετασχηµατισµός Fourier Μετασχηµατισµός Z

Μετάδοση πληροφορίας - Διαμόρφωση

Θέματα Εξετάσεων Ιουνίου 2003 στο μάθημα Σήματα και Συστήματα και Λύσεις

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

ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ Ι

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

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

20-Φεβ-2009 ΗΜΥ Διακριτός Μετασχηματισμός Fourier

Τηλεπικοινωνικακά Συστήματα Ι - Ενδεικτικές Ερωτήσεις Ασκήσεις 1)

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

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

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

ΠΑΡΟΥΣΙΑΣΗ ΣΤΑΤΙΣΤΙΚΩΝ ΔΕΔΟΜΕΝΩΝ

Θ.Ε. ΠΛΗ22 ( ) 2η Γραπτή Εργασία

Συστήματα Επικοινωνιών

Συστήματα Πολυμέσων. Ενότητα 2: Εισαγωγικά θέματα Ψηφιοποίησης. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

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

Τηλεπικοινωνιακά Συστήματα Ι

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

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

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

Επικοινωνίες στη Ναυτιλία

Εξομοίωση Τηλεπικοινωνιακού Συστήματος Βασικής Ζώνης

Ο Παλμογράφος στη Διδασκαλία της Τριγωνομετρίας. Εφαρμογές της Τριγωνομετρίας σε πραγματικά προβλήματα και ενδιαφέρουσες επεκτάσεις

6. Τελεστικοί ενισχυτές

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

Μετάδοση πληροφορίας - Διαμόρφωση

Μάθημα: Ακουστική και Ψυχοακουστική

Διαμόρφωση FM στενής ζώνης. Διαμορφωτής PM

Τηλεπικοινωνιακά Συστήματα ΙΙ

20-Μαρ-2009 ΗΜΥ 429. Προηγμένες τεχνικές DSP

Ενδεικτικές Ασκήσεις για το μάθημα: «Μετρήσεις Φυσικών Μεγεθών»

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΕΝΣΥΡΜΑΤΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΥΛΟΠΟΙΗΣΗ ΠΟΛΥΣΥΧΝΟΤΙΚΟΥ ΣΥΜΠΙΕΣΤΗ ΔΥΝΑΜΙΚΗΣ ΠΕΡΙΟΧΗΣ ΜΑΛΑΜΑΣ ΒΑΣΙΛΕΙΟΣ του ΜΕΝΕΛΑΟΥ ΦΟΙΤΗΤΗΣ ΤΟΥ ΤΜΗΜΑΤΟΣ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΕΠΙΒΛΕΠΩΝ: ΜΟΥΡΤΖΟΠΟΥΛΟΣ ΙΩΑΝΝΗΣ ΑΡΙΘΜΟΣ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: ΠΑΤΡΑ, ΣΕΠΤΕΜΒΡΙΟΣ 2015

ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η Διπλωματική Εργασία με θέμα " ΥΛΟΠΟΙΗΣΗ ΠΟΛΥΣΥΧΝΟΤΙΚΟΥ ΣΥΜΠΙΕΣΤΗ ΔΥΝΑΜΙΚΗΣ ΠΕΡΙΟΧΗΣ " Του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών ΜΑΛΑΜΑ ΒΑΣΙΛΕΙΟΥ του ΜΕΝΕΛΑΟΥ Αριθμός Μητρώου: 227303 Παρουσιάστηκε δημόσια και εξετάστηκε στο Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών στις 30/09/2015 Ο Επιβλέπων Ο Διευθυντής του Τομέα Μουρτζόπουλος Ιωάννης Καθηγητής Φακωτάκης Νικόλαος Καθηγητής

Αριθμός Διπλωματικής Εργασίας: Θέμα: " ΥΛΟΠΟΙΗΣΗ ΠΟΛΥΣΥΧΝΟΤΙΚΟΥ ΣΥΜΠΙΕΣΤΗ ΔΥΝΑΜΙΚΗΣ ΠΕΡΙΟΧΗΣ " Φοιτητής: Μάλαμας Βασίλειος Επιβλέπων: Μουρτζόπουλος Ιωάννης Περίληψη Η παρούσα διπλωματική έχει ως αντικείμενο την υλοποίηση ενός ψηφιακού συμπιεστή δυναμικής περιοχής πολλών συχνοτικών ζωνών (Multiband Compressor). Η ανάλυση του σήματος σε ζώνες συχνοτήτων επιτυγχάνεται μέσω μιας τράπεζας παράλληλων ζωνοδιαβατών φίλτρων (Subband Coding) άριστης ανακατασκευής του σήματος στο πεδίο του χρόνου, η οποία υλοποιήθηκε από μία Pseudo Quadrature Mirror Filter (PQMF) δομή. Για την υλοποίηση της συμπίεσης σχεδιάστηκε συμπιεστής δυναμικής περιοχής (Compressor) με μεταβαλλόμενες παραμέτρους. Η όλη επεξεργασία είναι μη - πραγματικού χρόνου και πραγματοποιείται μέσω γραφικής διεπαφής.

Ευχαριστίες Θα ήθελα να ευχαριστήσω κατ' αρχήν την οικογένεια μου και τους φίλους μου που μου στάθηκαν όλο αυτό τον καιρό κατά τη διάρκεια της εκπόνησης της διπλωματικής μου εργασίας. Τον καθηγητή μου κ. Μουρτζόπουλο για την καθοδήγηση που μου προσέφερε σε όλα τα κομμάτια της διαδικασίας αυτής. Τέλος, τα παιδιά από το εργαστήριο Τεχνολογίας Ήχου και Ακουστικής που ήταν πάντοτε πρόθυμοι να βοηθήσουν σε οτιδήποτε τους χρειάστηκα.

Περιεχόμενα 1. ΕΙΣΑΓΩΓΗ... 8 2. ΘΕΩΡΙΑ... 9 2.1. ΜΗ ΓΡΑΜΜΙΚΗ ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ...9 2.1.1. ΕΛΕΓΧΟΣ ΔΥΝΑΜΙΚΗΣ ΠΕΡΙΟΧΗΣ... 12 2.1.1.1. ΑΝΙΧΝΕΥΤΗΣ ΣΤΑΘΜΗΣ... 12 2.1.1.2. ΣΤΑΤΙΚΗ ΚΑΜΠΥΛΗ... 13 2.1.1.3. ΧΡΟΝΟΙ ATTACK ΚΑΙ RELEASE... 14 2.1.1.4. ΣΥΜΠΙΕΣΤΗΣ... 14 2.1.1.5. ΠΑΡΑΛΛΗΛΗ ΣΥΜΠΙΕΣΗ... 17 2.1.1.6. ΣΥΜΒΑΤΙΚΗ ΠΟΛΥΣΥΧΝΟΤΙΚΗ ΣΥΜΠΙΕΣΗ... 17 2.2. ΧΡΟΝΟΣΥΧΝΟΤΙΚΗ ΑΝΑΛΥΣΗ... 18 2.2.1. ΚΩΔΙΚΟΠΟΙΗΣΗ ΜΕΣΩ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ... 19 2.2.2. ΚΩΔΙΚΟΠΟΙΗΣΗ ΜΕΣΩ ΥΠΟΖΩΝΩΝ... 19 2.2.2.1. ΦΙΛΤΡΑ QUADRATURE MIRROR... 20 2.2.2.2. ΠΟΛΥΦΑΣΙΚΑ ΦΙΛΤΡΑ... 21 2.2.2.3. COSINE MODULATED PQMF ΑΝΑΛΥΣΗ... 23 2.2.2.4. COSINE MODULATED PQMF ΣΥΝΘΕΣΗ... 27 3. ΥΛΟΠΟΙΗΣΗ... 31 3.1. GUI ΠΟΛΥΣΥΧΝΟΤΙΚΟΥ ΣΥΜΠΙΕΣΤΗ... 32 3.2. ΚΥΡΙΩΣ ΕΠΕΞΕΡΓΑΣΙΑ... 33 3.2.1. ΑΡΧΙΚΟΠΟΙΗΣΕΙΣ... 36 3.2.2. ΥΠΟΛΟΓΙΣΜΟΣ ΚΑΤΩΦΛΙΟΥ... 37 3.2.3. CM-PQMF ΑΝΑΛΥΣΗ... 40 3.2.4. ΑΝΙΧΝΕΥΤΗΣ ΣΤΑΘΜΗΣ... 42 3.2.5. ΣΥΜΠΙΕΣΗ... 43 3.2.6. CM-PQMF ΣΥΝΘΕΣΗ... 45

4. ΑΠΟΤΕΛΕΣΜΑΤΑ... 47 4.1. ΣΥΓΚΡΙΣΗ ΣΥΜΠΙΕΣΗΣ ΔΥΝΑΜΙΚΗΣ ΠΕΡΙΟΧΗΣ... 48 4.1.1. ΣΥΓΚΡΙΣΗ ΣΕ ΜΟΥΣΙΚΑ ΕΙΔΗ... 49 4.1.1.1. Jazz... 49 4.1.1.2. Classical Piano... 50 4.1.1.3. Techno... 51 4.1.1.4. Speech... 53 4.1.1.5. Classical Orchestra... 55 5. ΣΥΜΠΕΡΑΣΜΑΤΑ & ΒΕΛΤΙΩΣΕΙΣ... 57 ΑΝΑΦΟΡΕΣ... 59 ΠΑΡΑΡΤΗΜΑ... 60

Κεφάλαιο 1 Εισαγωγή Τις τελευταίες δεκαετίες έχουν γίνει τεράστια βήματα στον τομέα της επεξεργασίας ηχητικών σημάτων. Από τους αναλογικούς επεξεργαστές, στα πρώτα ψηφιακά μοντέλα και από εκεί στη σημερινή εποχή με τα προηγμένα λογισμικά ανάλυσης και επεξεργασίας, οι εξελίξεις είναι συνεχείς. Σημαντικό κίνητρο για τα άλματα αυτά, δεν είναι μόνο η τεχνολογική καινοτομία σαν αυτοσκοπός, αλλά και η ανάγκη των μουσικών, των παραγωγών και των ηχοληπτών για πρακτικά, αξιόπιστα και εύχρηστα εργαλεία. Απώτερος σκοπός, η διεύρυνση της εκφραστικότητας των καλλιτεχνών, η βελτίωση της ποιότητας ακρόασης και φυσικά εξέλιξη της επιστήμης του μηχανικού ήχου. Κατά το σχεδιασμό ενός ηχητικού επεξεργαστή, μπορεί να δοθεί έμφαση σε πολλές παραμέτρους λειτουργίας. Οι στόχοι του σχεδιαστή και οι ανάγκες του χρήστη θα καθορίσουν τη νοοτροπία που θα ακολουθήσει ο μηχανικός κατά την υλοποίηση. Σε αυτή τη διπλωματική εργασία, υλοποιήθηκε ένας επεξεργαστής που συμπιέζει τη δυναμική περιοχή του σήματος ανά ζώνες συχνοτήτων (Multiband Compressor). Στη συνέχεια θα καλυφθούν εκτενώς τόσο το θεωρητικό υπόβαθρο, όσο και η διαδικασία υλοποίησης αυτού του επεξεργαστή. Η δομή της διπλωματικής είναι η ακόλουθη: Στο Κεφάλαιο 2 παρουσιάζεται η θεωρία της συμπίεσης της δυναμικής περιοχής ενός σήματος η οποία είναι μια μη - γραμμική διαδικασία και επιπλέον παρουσιάζεται η θεωρία της χρονοσυχνοτικής ανάλυσης ενός σήματος, ειδικότερα μέσω της κωδικοποίησης υποζωνών. Στο Κεφάλαιο 3 περιγράφεται λεπτομερώς η διαδικασία της πρακτικής υλοποίησης μέσω του λογισμικού Matlab και επίσης γίνεται ανάλυση των τεχνικών που χρησιμοποιήθηκαν. Στο Κεφάλαιο 4 δίνονται τα πειραματικά αποτελέσματα, συγκρίνεται η απόδοση του συμπιεστή που δημιουργήθηκε στην παρούσα εργασία με άλλους που κυκλοφορούν στην αγορά και εξάγονται τα συμπεράσματα από τα αποτελέσματα. Στο Κεφάλαιο 5 περιγράφονται συνοπτικά και προτείνονται βελτιώσεις στην προσέγγιση που επιλέχτηκε για την υλοποίηση του εν λόγω επεξεργαστή. Τέλος, παρατίθεται ο κώδικας στο Παράρτημα μαζί με σχόλια και επεξηγήσεις. - 8 -

Κεφάλαιο 2 Θεωρία Σε αυτό το κεφάλαιο, θα αναλυθεί το θεωρητικό υπόβαθρο που μελετήθηκε για την παρούσα διπλωματική. Αρχικά, θα γίνει παρουσίαση της μη γραμμικής ψηφιακής επεξεργασίας καθώς και της θεωρίας επεξεργαστών ελέγχου δυναμικής περιοχής. Στη συνέχεια θα παρουσιαστεί η θεωρία της χρονοσυχνοτικής ανάλυσης μέσω τράπεζας παράλληλων ζωνοδιαβατών φίλτρων (Subband Coding), καθώς και η θεωρία της Pseudo Quadrature Mirror Filter (PQMF) δομής, με την οποία υλοποιήθηκε η τράπεζα αυτή. 2.1 ΜΗ ΓΡΑΜΜΙΚΗ ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ (NONLINEAR DIGITAL PROCESSING) Στην κατηγορία της μη γραμμικής επεξεργασίας ηχητικών σημάτων εμπίπτουν γνωστοί αλγόριθμοι όπως: ηχητικά εφέ για την επεξεργασία της δυναμικής περιοχής ενός ηχητικού σήματος (compressor, limiter, gate), αλγόριθμοι για εφαρμογές ηχοληψίας (overdrive, distortion, fuzz, ψυχοακουστικοί enhancers και exciters) και διάφοροι άλλοι. Οι αλγόριθμοι αυτοί εφαρμοζόμενοι σε ένα σύστημα καθιστούν το σύστημα μη γραμμικό, με αποτέλεσμα να εμφανίζουν σκόπιμα ή ακούσια αρμονικές ή μη αρμονικές συνιστώσες στο σήμα εξόδου του συστήματος, οι οποίες συνιστώσες δεν υπάρχουν στο σήμα εισόδου του συστήματος αυτού. Η αρμονική παραμόρφωση, δηλαδή, δημιουργείται από μη γραμμικότητες εντός του συστήματος. Οι παράμετροι των εν λόγω συστημάτων πρέπει να ρυθμίζονται προσεκτικά με βάση την αντίληψη του ανθρώπινου αυτιού για τον ήχο και ταυτόχρονα να παρακολουθείται συνεχώς το σήμα εξόδου με ένα μετρητή στάθμης σήματος. Οι εφαρμογές και η κατασκευή αυτών των ψηφιακών συστημάτων είναι μια τέχνη από μόνη της και φυσικά τα συστήματα αυτά αποτελούν κύρια εργαλεία για ηχολήπτες και μουσικούς. Στο ψηφιακό, όπως και στον αναλογικό επίπεδο, μια επεξεργασία ονομάζεται μη-γραμμική (ή ένας επεξεργαστής μη-γραμμικός), όταν δεν ικανοποιείται η συνθήκη γραμμικότητας ανάμεσα στο σήμα εισόδου και στο σήμα εξόδου. Ένα σύστημα με σήμα εισόδου x(n) και σήμα εξόδου y(n), καλείται γραμμικό αν ικανοποιείται η σχέση: - 9 -

x(n) = Ax 1 (n) + Bx 2 (n) y(n) = Ay 1 (n) + By 2 (n) (2.1) Σε οποιαδήποτε άλλη περίπτωση το σύστημα ονομάζεται μη-γραμμικό. Αν ένα ημιτονοειδές σήμα γνωστού πλάτους Α και συχνότητας f 1, x(n) = Asin(2πf 1 Tn) εισέλθει σε ένα γραμμικό σύστημα, το σήμα εξόδου μπορεί να γραφεί ως y(n) = A out sin(2πf 1 Tn + φ out ) το οποίο, όπως και το σήμα εισόδου, είναι ημιτονοειδές όπου το πλάτος και η φάση τροποποιούνται από την απόκριση πλάτους Η(f 1 ) της συνάρτησης μεταφοράς σύμφωνα με τις σχέσεις: Α out = A H(f 1 ) και φ out = φ in + H(f 1 ) (2.2) Σε αντίθεση ένα μη-γραμμικό σύστημα με την ίδια είσοδο θα βγάλει έξοδο της μορφής: y(n) = A 0 + A 1 sin(2πf 1 Tn) + A 2 sin(2 2πf 1 Tn) +... +A N sin(n 2πf 1 Tn) (2.3) Το παρακάτω Σχήμα 2.1 παραθέτει τις διαφορές ανάμεσα σε γραμμικά και μηγραμμικά συστήματα: Σχήμα 2.1 Σήματα εισόδου εξόδου γραμμικού και μη-γραμμικού συστήματος. Το σήμα εξόδου του γραμμικού συστήματος y lin (n) μεταβάλλεται σε πλάτος και φάση. Το σήμα εξόδου του μη-γραμμικού συστήματος εμφανώς μορφοποιείται από τη μη-γραμμικότητα του συστήματος και αποτελείται από ένα άθροισμα αρμονικών. - 10 -

Μία μέτρηση της ολικής αρμονικής παραμόρφωσης είναι μία απόδειξη της μηγραμμικότητας του συστήματος. Η ολική αρμονική παραμόρφωση ορίζεται ως: THD = A 2 2 + A 3 2 + + A N 2 A 1 2 + A 2 2 + + A N 2 (2.4) Είναι η τετραγωνική ρίζα του λόγου του αθροίσματος των τετραγώνων όλων των αρμονικών συχνοτήτων που βρίσκονται πάνω από την θεμελιώδη συχνότητα προς το άθροισμα των τετραγώνων όλων των αρμονικών συχνοτήτων συμπεριλαμβανομένης και της θεμελιώδους. Το παραπάνω παράδειγμα του ημιτόνου ως σήμα εισόδου ενός μη - γραμμικού συστήματος είναι το χαρακτηριστικό παράδειγμα για την αρχική κατανόηση της μηγραμμικής παραμόρφωσης. Τα μουσικά σήματα όμως περιλαμβάνουν συνήθως διάφορα τμήματα το καθένα από τα οποία παράγει από μόνο του τη δική του παραμόρφωση. Αν το σήμα εισόδου x(n) είναι ένα άθροισμα αρμονικών μιας θεμελιώδους συχνότητας f 0, η καθεμία παραμόρφωση θα είναι επίσης αρμονική της f 0. Το παραγόμενο σήμα y(n) περιλαμβάνει μόνο αρμονικές των οποίων τα σχετικά πλάτη δεν είναι αυστηρά συνδεδεμένα με το πλάτος του σήματος εισόδου. Αν το σήμα εισόδου x(n) είναι άθροισμα τμημάτων (σημάτων) που δεν συνδέονται αρμονικά, το μηγραμμικό σύστημα παράγει μία σειρά αρμονικών για κάθε τμήμα της εισόδου, καθώς και νέα τμήματα σε συχνότητες που βρίσκονται σε αθροίσματα και διαφορές αυτών των τμημάτων και των αρμονικών τους. Τα μη-γραμμικά στοιχεία που παράγονται από το μη-γραμμικό σύστημα καλούνται παραγόμενα στοιχεία ενδοδιαμόρφωσης επειδή μπορούν να ερμηνευτούν ως αποτέλεσμα μιας διαμόρφωσης πλάτους ενός τμήματος από ένα άλλο. Επιπλέον, στα ψηφιακά συστήματα, η αναδίπλωση των παραγόμενων αρμονικών γύρω από τη συχνότητα f s 2 είναι μία πρόσθετη παραμόρφωση που πρέπει να αντιμετωπιστεί [1]. Στις περισσότερες μουσικές εφαρμογές, οι παραγόμενες συνιστώσες της ενδοδιαμόρφωσης που περιγράφηκε παραπάνω δεν είναι ευπρόσδεκτες καθώς θολώνουν το σήμα, γεγονός που εμποδίζει την αναγνώριση των μεμονωμένων μουσικών πηγών του σήματος ή και ακόμη εισάγουν νέα μη υπαρκτά μουσικά μέρη (πηγές) που είναι παράφωνα. Ωστόσο, αυτά τα εφέ μπορεί κάποιες φορές να ρυθμίζονται με ένα πιο καλλιτεχνικό και δημιουργικό τρόπο. Τέλος, μία γενική σύσταση για την εφαρμογή μη γραμμικής επεξεργασίας είναι να ελέγχεται προσεκτικά, πριν την επεξεργασία, το σήμα εισόδου x(n) ως προς το αρμονικό του περιεχόμενο, το πλάτος και το εύρος ζώνης, διότι το να φιλτράρει κάποιος εκ των υστέρων τη δυσάρεστη και ανεπιθύμητη παραμόρφωση είναι συνήθως μία δύσκολη ή και αδύνατη διαδικασία. Στη συνέχεια του υποκεφαλαίου θα παρουσιαστεί η κατηγορία μη γραμμικής επεξεργασίας με την οποία θα ασχοληθούμε στην παρούσα διπλωματική, αυτή του ελέγχου της δυναμικής περιοχής ενός σήματος (Dynamic Range Control). Αρχικά παρουσιάζονται οι βασικές αρχές και τα βασικά μπλοκ διαγράμματα της κατηγορίας με παραδείγματα από έναν αλγόριθμο αυτής, του συμβατικού συμπιεστή δυναμικής περιοχής (Compressor), τον οποίο στη συνέχεια της εργασίας και υλοποιούμε. - 11 -

2.1.1 ΕΛΕΓΧΟΣ ΔΥΝΑΜΙΚΗΣ ΠΕΡΙΟΧΗΣ (DYNAMIC RANGE CONTROL) Η επεξεργασία δυναμικών (πλάτος του σήματος) υλοποιείται από ενισχυτικές διατάξεις στις οποίες η ενίσχυση ρυθμίζεται αυτόματα συναρτήσει του πλάτους του σήματος εισόδου. Το Σχήμα 2.2 δείχνει το μπλοκ διάγραμμα ενός ελεγκτή/ρυθμιστή δυναμικής περιοχής (Dynamic Range Controller). Η επεξεργασία αυτή απαρτίζεται από: Ένα σύστημα ανίχνευσης πλάτους/στάθμης του σήματος εισόδου, που καλείται Envelope Follower/Detector (ανιχνευτής περιβάλλουσας). Μία στατική καμπύλη (Static Curve) που καθορίζει τον παράγοντα ενίσχυσης με βάση το αποτέλεσμα του Envelope Follower. Ένα φίλτρο εξομάλυνσης (Smoothing Filter) για την πρόληψη απότομων αλλαγών κέρδους. Έναν πολλαπλασιαστή (Multiplier) για να ρυθμιστεί το πλάτος του σήματος εισόδου με βάση το Gain Factor (παράγοντας ενίσχυσης) που δημιουργείται από την αλυσίδα επεξεργασίας (κάτω μέρος στο Σχήμα 2.2). Σχήμα 2.2 Μπλοκ διάγραμμα ενός dynamic range controller Προαιρετικά, το σήμα εισόδου καθυστερείται για να αντισταθμίσει ενδεχόμενες καθυστερήσεις που παράγει η αλυσίδα του επεξεργαστή. Επίσης, ο παράγοντας ενίσχυσης (Gain Factor) μπορεί να παραχθεί είτε από το σήμα εισόδου το οποίο τροφοδοτεί την αλυσίδα, είτε από ένα άλλο σήμα που μπορεί επίσης να είναι συνδέεται με την αλυσίδα με αποτέλεσμα να ρυθμίζεται ο παράγοντας ενίσχυσης του σήματος εισόδου από ένα άλλο οποιοδήποτε σήμα [1]. 2.1.1.1 ΑΝΙΧΝΕΥΤΗΣ ΣΤΑΘΜΗΣ (ENVELOPE DETECTOR) Ο Envelope Detector (ανιχνευτής στάθμης ή ανιχνευτής περιβάλλουσας) συνήθως υλοποιείται με μία από τις ακόλουθες δύο προσεγγίσεις: PEAK DETECTOR Ένας ανορθωτής πλήρους κύματος (full - wave rectifier) σε συνδυασμό με έναν AR-averager με πολύ μικρό attack time μπορεί να χρησιμοποιηθεί για την εύρεση της peak τιμής του σήματος. - 12 -

Σχήμα 2.3 Μέτρηση Peak τιμής (Envelope Detector/Follower) για έναν ρυθμιστή δυναμικής περιοχής. RMS DETECTOR Ένας τετραγωνισμένος μέσος όρος (Squarer Averaged) με μία μόνο σταθερά χρόνου δίνει την RMS τιμή, μετρώντας την ισχύ του σήματος. Σχήμα 2.4 Μέτρηση RMS τιμής (Envelope Detector/Follower) για έναν ρυθμιστή δυναμικής περιοχής. Οι τυπικοί ρυθμιστές δυναμικής περιοχής περιλαμβάνουν έναν από τους παραπάνω Level Detectors, ή και τους δύο, για να μπορούν να αντιδρούν σε ξαφνικές αυξήσεις της στάθμης του σήματος με έναν Peak Detector, ενώ σε κανονική λειτουργία λειτουργούν συνήθως με βάση την RMS μέτρηση [1]. 2.1.1.2 ΣΤΑΤΙΚΗ ΚΑΜΠΥΛΗ (STATIC CURVE) Η στατική καμπύλη καθορίζει ποια λειτουργία (αλγόριθμο) (limiter, compressor, expander κτλ.) ο ρυθμιστής δυναμικής περιοχής θα εκτελέσει. Περιγράφεται καλύτερα σε db κλίμακα, γι αυτό εισάγουμε τις μεταβλητές X, Y, G για τις στάθμες των αντίστοιχων σημάτων σε db: X F = 20 log 10 (f peak (n)) η F = 10 log 10 (f RMS (n)), ο που F = { Y G (2.5) Έτσι, για παράδειγμα, ο πολλαπλασιασμός του ρυθμιστή δυναμικής περιοχής γίνεται Y = X + G. Στη λογαριθμική κλίμακα, το κέρδος τυπικά προέρχεται από τη στάθμη του σήματος εισόδου από μία τμηματικά γραμμική συνάρτηση [1]. - 13 -

2.1.1.3 ΧΡΟΝΟΙ ATTACK ΚΑΙ RELEASE (ATTACK AND RELEASE TIME) Η δυναμική συμπεριφορά ενός ρυθμιστή δυναμικής περιοχής εξαρτάται από την προσέγγιση για τη μέτρηση της στάθμης του σήματος με AT (Attack Time) και RT (Release Time) για Peak μέτρηση και TAV (Averaging Time) για RMS μέτρηση. Το σήμα εν συνεχεία ρυθμίζεται περαιτέρω με ένα φίλτρο εξομάλυνσης το οποίο επίσης χρησιμοποιεί ειδικούς χρόνους Attack και Release. Ο υπολογισμός των παραμέτρων αυτών γίνεται με τους εξής τύπους: 2.2T 2.2T AT = 1 e t AT, RT = 1 e t RT, TAV = 1 e 2.2T t TAV (2.6),όπου t είναι η παράμετρος του χρόνου σε δευτερόλεπτα και T η περίοδος δειγματοληψίας. Η έξοδος της στατικής καμπύλης χρησιμοποιείται ως είσοδος στο δυναμικό φίλτρο με χρόνους Attack και Release όπως φαίνονται στο Σχήμα 2.5. Το σήμα εξόδου g(n) είναι ένας παράγοντας ενίσχυσης (κέρδους) για την στάθμιση του καθυστερημένου σήματος εισόδου x(n D) όπως φαίνεται στο Σχήμα 2.2. Σχήμα 2.5 Δυναμικό φίλτρο: Attack και Release χρόνοι για έναν ρυθμιστή δυναμικής περιοχής. 2.1.1.4 ΣΥΜΠΙΕΣΤΗΣ (COMPRESSOR) Ένα είδος ρυθμιστή δυναμικής περιοχής ενός σήματος, τον οποίο μελετούμε στη παρούσα εργασία φαίνεται στο Σχήμα 2.6, και είναι ένας συμπιεστής δυναμικής περιοχής (Compressor): κατά τη διάρκεια περιόδων χαμηλής στάθμης του σήματος (πρώτο μισό του σήματος εισόδου x(n)), ο παράγοντας ενίσχυσης g(n) είναι 1, ενώ για υψηλότερες στάθμες σήματος εισόδου (δεύτερο μισό), η ενίσχυση μειώνεται ώστε να μειωθεί το πλάτος του σήματος. Έτσι, καθώς ο χρόνος αυξάνεται δημιουργείται διαφορά ανάμεσα στα επίπεδα στάθμης του σήματος εισόδου με αυτά του σήματος εξόδου με αποτέλεσμα να συμπιέζεται η δυναμική περιοχή του σήματος. - 14 -

Σχήμα 2.6 Το σήμα εισόδου x(n), ο envelope του x(n), ο παραγόμενος παράγοντας ενίσχυσης g(n), και το σήμα εξόδου y(n). Το Σχήμα 2.7 δείχνει τη χαρακτηριστική καμπύλη ενός τυπικού Compressor (στα αριστερά σχέση εισόδου - εξόδου και στα δεξιά σχέση εισόδου - κέρδους). Μέχρι κάποιο ορισμένο επίπεδο στάθμης του σήματος εισόδου (το επίπεδο αυτό είναι το κατώφλι του συμπιεστή: CT - Compressor Threshold)(-30dB στο παράδειγμα), το κέρδος είναι 0 db. Πάνω από το κατώφλι, η χαρακτηριστική καμπύλη ορίζεται από το λόγο CR (Compressor Ratio), που ορίζει τη σχέση μεταξύ της μεταβολής της στάθμης εισόδου ΔX και της μεταβολής της στάθμης εξόδου ΔY: ΔΥ = 1 ΔΧ (2.7) CR Εναλλακτικά, μπορεί να χρησιμοποιηθεί έναντι του λόγου R, ο παράγοντας κλίσης CS (Compressor Slope): CS = 1 1 CR (2.8) - 15 -

Σχήμα 2.7 Στατική χαρακτηριστική καμπύλη ενός συμπιεστή: ορισμός της κλίσης S και του λόγου R. Το Compressor Ratio (CR) και το Compressor Slope (CS) παίρνουν τιμές: CR 1 και 0 CS 1 (2.9) Οι μειωμένες δυναμικές του σήματος μπορούν μετέπειτα να αξιοποιηθούν για να αυξηθεί το συνολικό επίπεδο στάθμης, ενισχύοντας το σήμα, χωρίς αυτό να υπερβαίνει το επιτρεπόμενο εύρος πλάτους [1]. Οι Compressors συνήθως αποτελούνται από: RMS Level Detectors με: Smoothing Filter με: t TAV = 5 ε ως 130 ms t AT = 0.1 ε ως 2600 ms και t RT = 1 ε ως 5000 ms Σχήμα 2.8 Το μπλοκ διάγραμμα ενός Compressor. Το κέρδος G υπολογίζεται από τον ακόλουθο τύπο: Σε λογαριθμική κλίμακα: CS (CT X), G = { X > CT = min [0, CS (CT X)] db (2.10) 0, X CT - 16 -

Σε γραμμική κλίμακα: g(n) = min (1, ( x RMS(n) ct 2 ) CS 2) (2.11),όπου η εκτέλεση της τετραγωνικής ρίζας της RMS μέτρησης μεταφέρεται προς τους εκθέτες με την μείωση κατά το ήμισυ των αντίστοιχων κλίσεων (slopes). Η προσέγγιση αυτή καθιστά τη μετατροπή προς και από τη λογαριθμική κλίμακα περιττή, όμως απαιτεί ύψωση σε δύναμη. Το μπλοκ διάγραμμα ενός Compressor φαίνεται στο Σχήμα 2.8. 2.1.1.5 ΠΑΡΑΛΛΗΛΗ ΣΥΜΠΙΕΣΗ (PARALLEL COMRPESSION) Η συνήθης εφαρμογή των συμπιεστών είναι η μείωση των διακυμάνσεων πλάτους πάνω από ένα συγκεκριμένο κατώφλι. Σε ορισμένες περιπτώσεις, ωστόσο, π.χ., για κρουστά ή μια ακουστική κιθάρα, είναι επιθυμητό να μην επηρεαστούν τα μεταβατικά (Transients) υψηλής έντασης ενώ συγχρόνως να ενισχύονται τα ασθενέστερα τμήματα του σήματος. Για τέτοιες εφαρμογές συνίσταται η παράλληλη συμπίεση, κατά την οποία μια πολύ συμπιεσμένη εκδοχή του σήματος προστίθεται στο ανεπηρέαστο σήμα. Σε αυτή την περίπτωση, τα μαλακά τμήματα του ήχου συμπιέζονται σε μεγάλο βαθμό χρησιμοποιώντας τυπικά ένα χαμηλό Threshold, ένα μεγάλο Ratio και ένα μικρό Attack Time. Το συμπιεσμένο τμήμα στη συνέχεια ενισχύεται και αναμιγνύεται με το αρχικό σήμα. Ο παραγόμενος ήχος διατηρεί τη διαφάνεια του αρχικού ήχου, επειδή τα Transients παραμένουν ανεπηρέαστα. Αυτό το είδος της επεξεργασίας μερικές φορές αναφέρεται ως New York Compression. 2.1.1.6 ΣΥΜΒΑΤΙΚΗ ΠΟΛΥΣΥΧΝΟΤΙΚΗ ΣΥΜΠΙΕΣΗ (CONVENTIONAL MULTIBAND COMPRESSION) Ανάλογα με το φασματικό περιεχόμενο του ήχου προς επεξεργασία, η συμπίεση μπορεί να απαιτείται μόνο σε μία επιλεγμένη ζώνη συχνοτήτων. Αν για παράδειγμα θέλαμε να συμπιέσουμε μία ζώνη συχνοτήτων ενός κομματιού ανεξάρτητα, η λύση ήταν να περάσουμε πρώτα το κομμάτι από ένα φίλτρο που θα απομόνωνε την περιοχή συχνοτήτων προς συμπίεση και ύστερα θα συμπιέζαμε το φιλτραρισμένο σήμα με έναν Compressor. Για την γενική περίπτωση όπου πρέπει να υποβάλλονται σε επεξεργασία μεμονωμένα διάφορες ζώνες συχνοτήτων του φάσματος, έχει αναπτυχθεί ο Mulitband - 17 -

Compressor. Στην συμβατική υλοποίηση του, μια τράπεζα φίλτρων διαχωρίζει το σήμα εισόδου σε διάφορες ζώνες (συνήθως τρεις έως πέντε) με συνέλιξη του σήματος με τις κρουστικές αποκρίσεις των φίλτρων. Στη συνέχεια οι ζώνες υπόκεινται επεξεργασία ξεχωριστά. Το σήμα της πλευρικής αλυσίδας (Sidechain) κάθε συμπιεστή προέρχεται κι αυτό επίσης από μια εκδοχή περιορισμένης ζώνης συχνοτήτων του σήματος εισόδου. Η τράπεζα φίλτρων για την πλευρική αλυσίδα είναι συνήθως η ίδια με την τράπεζα για το σήμα εισόδου, αλλά μερικές φορές υλοποιείται ως ανεξάρτητη μονάδα επεξεργασίας ώστε να μπορούν να δημιουργηθούν περίπλοκες σχέσεις κατά τις οποίες το περιορισμένης συχνότητας σήμα εισόδου να οδηγεί τη συμπίεση σε μια άλλη ζώνη συχνοτήτων. Οι πολυσυχνοτικοί (Multiband) δυναμικοί επεξεργαστές χρησιμοποιούνται συχνά κατά τη διάρκεια του mastering. Σε αυτό το στάδιο, δεν είναι δυνατή η διόρθωση των επιμέρους μουσικών μερών αφού η μίξη έχει τελειώσει και η μουσική είναι συνήθως διαθέσιμη ως ένα στερεοφωνικό κομμάτι. Με την υπόθεση ότι κάθε μουσικό μέρος ή όργανο καταλαμβάνει κυρίως μια συγκεκριμένη ζώνη συχνοτήτων, μικρές διορθώσεις είναι ακόμα εφικτές, εφόσον αυτές είναι περιορισμένης ζώνης. Ένα πλεονέκτημα της Multiband συμπίεσης είναι ότι οι ανεπιθύμητες παρενέργειες της συμπίεσης, όπως ως η μεταβολή της τονικής ισορροπίας ή οι παραμορφώσεις, μπορούν να περιοριστούν σε μια συγκεκριμένη ζώνη συχνοτήτων. Με τη συμπίεση δυναμικής περιοχής, η μείωση του Ratio του Peak σε RMS πλάτος μπορεί να εφαρμοστεί πιο αποτελεσματικά σε επιμέρους ζώνες συχνοτήτων από ό, τι σε όλο το εύρος του ήχου. Αυτό επιτρέπει την αύξηση της συνολικής έντασης του κομματιού. Λαμβάνοντας υπόψη ότι ο κοινός ακροατής συχνά δίνει προτεραιότητα, μεταξύ δυο μουσικών έργων, στο πιο δυνατό, η τάση αυτή κατευθύνεται για υψηλότερα μέσα επίπεδα έντασης. Η μετριοπάθεια είναι, ωστόσο, αναγκαία, διότι η «ένταση του ήχου πολέμου» μπορεί να προκαλέσει σοβαρή υποβάθμιση του ήχου και της μουσικής ποιότητας. 2.2 ΧΡΟΝΟΣΥΧΝΟΤΙΚΗ ΑΝΑΛΥΣΗ Η χρονοσυχνοτική ανάλυση είναι μια διαδικασία μετασχηματισμού των χρονικών δειγμάτων σε ισοδύναμη αναπαράσταση στο πεδίο της συχνότητας. Η ανάλυση αυτή μπορεί να υλοποιείται είτε από μετασχηματισμό χρόνου - συχνότητας (Transform Coding), είτε με κωδικοποίηση υποζωνών (Subband Coding) που περιλαμβάνει είτε χρονικά αμετάβλητη τράπεζα ομοιόμορφων ζωνοδιαβατών φίλτρων, είτε χρονικά μεταβαλλόμενη τράπεζα μη - ομοιόμορφων ζωνοδιαβατών φίλτρων, είτε από μια υβριδική δομή μετασχηματισμού - τράπεζας φίλτρων. Όλες αυτές οι μορφές είναι μαθηματικά ισοδύναμες και ο όρος τράπεζα φίλτρων μπορεί να χρησιμοποιηθεί για να τις περιγράψει όλες. Η επιλογή της μεθοδολογίας που θα ακολουθηθεί εξαρτάται από τη χρονική και συχνοτική ευκρίνεια σε κάθε περιοχή συχνοτήτων που ζητείται να έχει το συνολικό σύστημα. Στη συνέχεια θα παρουσιαστεί η θεωρία, πρώτον, της κωδικοποίησης μέσω μετασχηματισμού (Transform Coding). Δεύτερον, θα παρουσιαστεί η θεωρία της κωδικοποίησης μέσω υποζωνών (Subband Coding) και συγκεκριμένα η θεωρία μιας υλοποίησής αυτής, μέσω μιας τράπεζας παράλληλων ζωνοδιαβατών φίλτρων - 18 -

υλοποιημένη με μία PQMF (Polyphase Quadrature Mirror Filter) δομή που προσφέρει έλεγχο στις χρονικές μεταβάσεις και υπολογιστική απλότητα [6]. Η δεύτερη κατηγορία, μετασχηματισμού μέσω υποζωνών, χρησιμοποιήθηκε στη παρούσα εργασία. 2.2.1 ΚΩΔΙΚΟΠΟΙΗΣΗ ΜΕΣΩ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ (TRANSFORM CODING) Στην κωδικοποίηση μέσω μετασχηματισμού, το ηχητικό σήμα θεωρείται ως ένα quasi-stationary σήμα που αλλάζει σχετικά λίγο σε σύντομα χρονικά διαστήματα. Tα μπλοκ των δειγμάτων στο πεδίο του χρόνου μετασχηματίζονται στο πεδίο συχνοτήτων. Το αποτέλεσμα της κωδικοποίησης αυτής είναι συντελεστές συχνοτήτων, αντί χρονικών δειγμάτων. Για την αναπαραγωγή, οι συντελεστές αντιστρέφονται - μετασχηματίζονται πίσω στο πεδίο του χρόνου. Σε αντίθεση με έναν κωδικοποιητή υποζώνης (Subband Coder), ο οποίος χρησιμοποιεί την ανάλυση της συχνότητας για να κωδικοποιήσει δείγματα που βασίζονται στο χρόνο, ένας κωδικοποιητής μετασχηματισμού (Transform Coder) κωδικοποιεί συντελεστές συχνότητας. Σύμφωνα με τη θεωρία, ο μετασχηματισμός μειώνει την εντροπία του σήματος, επιτρέποντας μια πιο αποτελεσματική κωδικοποίηση. Μακρύτερα μπλοκ μετασχηματισμού παρέχουν μεγαλύτερη φασματική ανάλυση, όμως χάνουν χρονική ανάλυση. Για παράδειγμα, ένα μεγάλο μπλοκ μπορεί να οδηγήσει σε μια προ-ηχώ (pre-echo) πριν από ένα transient (απότομο μεταβατικό). Σε πολλούς κωδικοποιητές, τα μήκη των μπλοκ προσαρμόζονται σύμφωνα με το ηχητικό σήμα. Μικρά μπλοκ χρησιμοποιούνται για transient σήματα, ενώ μεγάλα μπλοκ χρησιμοποιούνται για συνεχή σήματα. Τα δείγματα στο πεδίου του χρόνου μετασχηματίζονται στο πεδίο συχνοτήτων, αποδίδονται φασματικούς συντελεστές. Οι συντελεστές (coefficients) μερικές φορές αποκαλούνται συχνοτικοί αριθμοί (frequency bin numbers). Για παράδειγμα, ένας μετασχηματισμός 512-σημείων μπορεί να παράγει 256 συντελεστές συχνοτήτων (coefficients) ή συχνοτικούς αριθμούς (frequency bins) [2]. Ένας από τους πιο γνωστούς μετασχηματισμούς τέτοιου είδους είναι και ο MDCT (Modified Discrete Cosine Transform). Αξίζει να σημειωθεί ότι η φασματική ανάλυση ενός σήματος μέσω ενός μετασχηματισμού είναι μια πολύ συχνή και ευρέως διαδεδομένη διαδικασία και αναφέρεται σε αυτό το εδάφιο για να γίνει πλήρης η διάκριση της με την κωδικοποίηση μέσω υποζωνών. 2.2.2 ΚΩΔΙΚΟΠΟΙΗΣΗ ΜΕΣΩ ΥΠΟΖΩΝΩΝ (SUBBAND CODING) Στην κωδικοποίηση υποζωνών (Subband Coding), επιλέγονται διαδοχικά μπλοκ χρονικών δειγμάτων και τροφοδοτούνται σε μία τράπεζα ψηφιακών φίλτρων. Αυτή η τράπεζα χωρίζει το σήμα σε πολλαπλά κανάλια περιορισμένου συχνοτικού εύρους το - 19 -

οποίο καθορίζεται από τη συχνότητα επιθυμητών καναλιών. δειγματοληψίας και από τον αριθμό των 2.2.2.1 ΦΙΛΤΡΑ QUADRATURE MIRROR Γενικά, όταν δημιουργούνται N υποζώνες από μια τράπεζα φίλτρων, κάθε υποζώνη υποδειγματοληπτείται με λόγο 1 Ν έτσι ώστε να διατηρείται το συνολικό όριο δειγματοληψίας. Η συχνότητα δειγματοληψίας πρέπει να είναι τουλάχιστον διπλάσια από το εύρος ζώνης του δειγματοληπτημένου σήματος. Οι περισσότερες τράπεζες φίλτρων δεν παρέχουν ιδανικά χαρακτηριστικά εξαιτίας του πεπερασμένου πλάτους των ζωνών μετάβασής τους. Οι ζώνες επικαλύπτονται, και η δειγματοληψία 1 Ν προκαλεί αναδιπλώσεις. Προφανώς, το φαινόμενο αυτό μπορεί να αποφευχθεί με ζώνες που απέχουν πολύ μεταξύ τους, όμως με το τρόπο αυτό θα εμφανίζονται κενά στο φάσμα του σήματος. Οι τράπεζες QMF έχουν την ιδιότητα της ανακατασκευής του αρχικού σήματος από Ν επικαλυπτόμενες υποζώνες χωρίς αναδίπλωση, ανεξαρτήτως της τάξης των ζωνοδιαβατών φίλτρων. Οι αναδιπλούμενες συνιστώσες ακυρώνονται, στο πεδίο συχνότητας, κατά τη διάρκεια της ανακατασκευής και οι υποζώνες τοποθετούνται στη σωστή θέση τους στο πεδίο συχνοτήτων. Οι κλίσεις των γειτονικών φίλτρων των υποζωνών είναι κατοπτρικές. Ιδανικά, η ακύρωση αναδιπλώσεων είναι τέλεια μόνο όταν δεν υπάρχει επανακβαντισμός των σημάτων σε κάθε ζώνη. Μία QMF 2 υποζωνών παρουσιάζεται στο Σχήμα 2.9. Η χρησιμοποίηση ενός ανωδιαβατού φίλτρου ανακατασκευής με μετασχηματισμό Ζ: H( z) αντί για H( z) εξαλείφει τις αναδιπλούμενες συνιστώσες [2]. Σχήμα 2.9 Μία QMF δομή δύο υποζωνών. - 20 -

Τα ενδιάμεσα δείγματα μπορούν να υποδειγματοληπτηθούν κρίσιμα χωρίς απώλειες. Αν το σήμα εισόδου χωρίζεται σε Ν ίσες υποζώνες, κάθε υποζώνη μπορεί να δειγματοληπτηθεί με λόγο 1 Ν. Η συχνότητα δειγματοληψίας για κάθε φίλτρο υποζώνης είναι ακριβώς διπλάσια του εύρους ζώνης του φίλτρου. Οι QMF τράπεζες μπορούν να υλοποιηθούν με συμμετρικά FIR φίλτρα με άρτιο αριθμό συντελεστών. 2.2.2.2 ΠΟΛΥΦΑΣΙΚΑ ΦΙΛΤΡΑ (POLYPHASE FILTERS) Ένα πολυφασικό φίλτρο (PQMF) αποδίδει ένα σύνολο από φίλτρα με ίσο εύρος ζώνης και αλληλεξάρτηση φάσης που επιτρέπει την υλοποίηση του με πολύ αποδοτικό τρόπο. Τα διαφορετικά αυτά φίλτρα παράγονται από ένα πρωτότυπο κατωδιαβατό φίλτρο FIR, διαμορφώνοντας το πρωτότυπο αυτό φίλτρο σε διαφορετικές φάσεις στο χρόνο. Για παράδειγμα, χρησιμοποιώντας ένα FIR φίλτρο 512-σημείων, για κάθε μπλοκ 32 εισερχομένων δειγμάτων χρησιμοποιούνται 32 σετ 512 συντελεστών και ένας καταχωρητής 512 θέσεων για να δημιουργηθούν 32 δείγματα υποζωνών όπως φαίνεται στο Σχήμα 2.10: Σχήμα 2.10 Ένα πολυφασικό φίλτρο χρησιμοποιεί ένα πρωτότυπο κατωδιαβατό φίλτρο FIR για να δημιουργήσει υποζώνες διαμορφώνοντας αυτό το πρωτότυπο φίλτρο. Το παράδειγμα δείχνει ένα FIR-512 σημείων με 32 σετ των 512 συντελεστών, αποδίδοντας 32 υποζώνες. Γενικότερα, σε μία N-phase τράπεζα φίλτρων, κάθε μία από τις Ν υποζώνες αποδεκατίζεται σε μια συχνότητα δειγματοληψίας 1 Ν. Για κάθε Ν δείγματα εισόδου, το φίλτρο παράγει μία τιμή για κάθε υποζώνη. Στη πρώτη φάση, για τον υπολογισμό της τιμής στην πρώτη υποζώνη χρησιμοποιούνται τα δείγματα ενός καταχωρητή Μ θέσεων και Μ συντελεστές πρώτης φάσης. Στη δεύτερη φάση, για να υπολογιστεί η τιμή της δεύτερης υποζώνης, χρησιμοποιούνται τα ίδια δείγματα του καταχωρητή και - 21 -

Μ συντελεστές δεύτερης φάσης, κ.ο.κ. Οι συντελεστές της κρουστικής απόκρισης της πρώτης φάσης αναπαριστούν ένα πρωτότυπο κατωδιαβατό φίλτρο. Οι συντελεστές στις υπόλοιπες φάσεις προέρχονται από το πρωτότυπο με πολλαπλασιασμό του με μία διαμορφωμένη ημιτονοειδή συνάρτηση η οποία μετατοπίζει την απόκριση του χαμηλοδιαβατού φίλτρου σε ισαπέχουσες κεντρικές συχνότητες. Μετά από N εξερχόμενα δείγματα, τα δείγματα στο καταχωρητή ολισθαίνουν κατά Ν θέσεις, και η διαδικασία ξεκινάει ξανά. Οι κεντρικές συχνότητες f s δίνονται από τον τύπο: f c = ± f s (k + 1 2 ) 2N Hz, k = 0,1,2,, N 1 (2.20) όπου f s η συχνότητα δειγματοληψίας και N ο αριθμός των υποζωνών. Κάθε υποζώνη έχει εύρος συχνοτήτων f s /64. Οι πολυφασικές τράπεζες φίλτρων προσφέρουν καλή ανάλυση στο πεδίο του χρόνου και της συχνότητας. Επιπλέον, μπορούν να αποφέρουν μεγάλες εξασθενήσεις στις ζώνες αποκοπής για την ελαχιστοποίηση του φαινομένου της αναδίπλωσης. Υπάρχει μία επικάλυψη στις γειτονικές ζώνες, όμως η μετακίνηση της φάσης των ημιτονοειδών συνιστωσών αποδίδουν ακύρωση αναδίπλωσης στο πεδίο της συχνότητας στο φίλτρο ανακατασκευής [2]. Οι κωδικοποιήσεις MPEG-1 και MPEG-2 υλοποιούνται με ένα πολυφασικό φίλτρο με QMF χαρακτηριστικά, που λειτουργεί μετασχηματίζοντας ένα μπλοκ δειγμάτων με Ν = 32 υποζώνες και ένα καταχωρητή 512 θέσεων. Η απόκριση στη συχνότητα των 32 αυτών περιοχών φαίνεται στο Σχήμα 2.11. Σχήμα 2.11. Απόκριση στη συχνότητα των 32 περιοχών στο MPEG [3]. Για f s = 44100 Hz, έχουμε f s 64 = 344.5 Hz κεντρική συχνότητα, και κάθε περιοχή έχει εύρος ζώνης 689Hz. Αναλυτικά το εύρος ζώνης κάθε περιοχής παρουσιάζεται στον Πίνακα 2.1. - 22 -

BAND Center Frequency (Hz) Bandwidth (Hz) 1 344.5 0-689 2 1033.5 689-1378 3 1722.5 1378-2067 4 2411.5 2067-2756 5 3100.5 2756-3445 6 3789.5 3445-4134 7 4478.5 4134-4823 8 5167.5 4823-5512 9 5856.5 5512-6201 10 6545.5 6201-6890 11 7234.5 6890-7579 12 7923.5 7579-8268 13 8612.5 8268-8957 14 9301.5 8957-9646 15 9990.5 9646-10335 16 10679.5 10335-11024 17 11368.5 11024-11713 18 12057.5 11713-12402 19 12746.5 12402-13091 20 13435.5 13091-13780 21 14124.5 13780-14469 22 14813.5 14469-15158 23 15502.5 15158-15847 24 16191.5 15847-16536 25 16880.5 16536-17225 26 17569.5 17225-17914 27 18258.5 17914-18603 28 18947.5 18603-19292 29 19636.5 19292-19981 30 20325.5 19981-20670 31 21014.5 20670-21359 32 21703.5 21359-22048 Πίνακας 2.1 Τα εύρος ζώνης καθεμιάς από τις 32 περιοχές. 2.2.2.3 COSINE MODULATED PQMF: ΑΝΑΛΥΣΗ Στην ενότητα αυτή, δίνεται η λεπτομερής μαθηματική περιγραφή της τράπεζας φίλτρων της ανάλυσης. Περιγράφονται αναλυτικά οι εξισώσεις που συνδυάζουν συνέλιξη και αποδεκατισμό με στόχο την κατάληξη σε έναν γρήγορο αλγόριθμο για τον - 23 -

υπολογισμό του σήματος εξόδου s k για 32 υποζώνες. Στην ενότητα 3.2.3 περιγράφεται η υλοποίηση του αλγορίθμου. Αρχικά χωρίζεται το ηχητικό σήμα x(t) σε 32 ίσες περιοχές συχνοτήτων χρησιμοποιώντας μία τράπεζα των 32 φίλτρων h k : h k x[n], k = 1,,32 (2.21) Η έξοδος αυτής της ανάλυσης μετέπειτα δειγματοληπτείται κρίσιμα: s k [n] = ((h k x) 32)[n], k = 1,,32 (2.22) Σαν αποτέλεσμα, το σήμα εισόδου x[n] περιέχει Ν δείγματα, και η τράπεζα των φίλτρων αποδίδει N 32 32 = N δείγματα. Θεωρώντας το φίλτρο h k, η έξοδος του συνδυασμού φιλτραρίσματος και αποδεκατισμού δίνεται από: 511 s k [n] = h k [m]x[32n m] m=0 (2.23) όπου, (2k + 1)(n 16)π h k [n] = p 0 [n]cos ( ), k = 0,,32, n = 0,,511 (2.24) 64 Το p 0 είναι ένα χαμηλοδιαβατό πρωτότυπο φίλτρο όπως φαίνεται στο Σχήμα 2.12 (στο σχήμα το p 0 είναι το h). Ο ρόλος του h k [n] είναι σαφής: η διαμόρφωση του p 0 από το cos ( (2k+1)(n 16)π ) μετατοπίζει το χαμηλοδιαβατό φίλτρο γύρω από τη 64 συχνότητα (2κ + 1)π 64, k = 0,,31, με ένα ονομαστικό εύρος ζώνης της τάξης του π 32. Σχήμα 2.12 Κάτω αριστερά: πρωτότυπο φίλτρο p 0 [n], εδώ στο σχήμα p 0 = h. Δεξιά: Απόκριση συχνότητας του πρωτότυπου φίλτρου p 0. [4] - 24 -

Η εξίσωση απαιτεί 32 512 = 16384 σε συνδυασμό πολλαπλασιασμούς και προσθέσεις για να υπολογιστούν τα 32 δείγματα εξόδου s 1,, s 32 για κάθε μπλοκ των 32 δειγμάτων του εισερχόμενου σήματος εισόδου x. Στη συνέχεια αναπτύσσεται ένας γρηγορότερος αλγόριθμος για τον υπολογισμό της παραπάνω διαδικασίας. Αρχίζοντας από την (2.23): 511 63 7 s k [n] = h k [m]x[32n m] = h k [64q + r]x[32n 64q r] m=0 r=0 q=0 (2.25) Παρατηρούμε ότι, (2k + 1)(64q + r 16)π (2k + 1)(r 16)π cos ( ) = cos ( + qπ) (2.26) 64 64 (2k + 1)(r 16)π cos ( ), αν n/64 α ρτιος 64 = (2k + 1)(r 16)π cos ( ), αλλιως { 64 (2.27) Ορίζοντας Σχήμα 2.2.5: c[n] = { p 0[n], p 0 [n], τότε, αν n/64 περιττο ς αλλιως (2.28) (2k + 1)(r 16)π h k [64q + r] = c[64q + r]cos ( ) (2.29) 64-25 -

Το παράθυρο ανάλυσης c, φαίνεται παρακάτω: Σχήμα 2.13 Το παράθυρο ανάλυσης c. Χρησιμοποιώντας τη σημειογραφία του Mpeg-1, ορίζουμε περαιτέρω: (2k + 1)(r 16)π Μ k,r = cos ( ), k = 0,,31, r = 0,,63 (2.30) 64 τότε, h k [64q + r] = c[64q + r]μ k,r (2.31) και 63 7 s k [n] = c[64q + r]μ k,r x[32n 64q r] r=0 q=0 (2.32) 63 7 = Μ k,r c[64q + r]x[32n 64q r] r=0 q=0 (2.33) Συνοπτικά, για κάθε m = 32n, πολλαπλάσιο του 32, η συνέλιξη (2.23) μπορεί να υπολογιστεί γρήγορα με τα εξής τρία βήματα: z[64q + r] = c[64q + r]x[m 64q r], r = 0,,63, q = 0,,7 (2.34) - 26 -

7 y[r] = z[64q + r], r = 0,,63 (2.35) q=0 63 s[k] = Μ k,r y[r], k = 0,,31 (2.36) r=0 Αυτός ο αλγόριθμος περιγράφεται αναλυτικά στο μπλοκ διάγραμμα της υλοποίησης (Σχήμα 3.8). Στις πιο απλοϊκές εφαρμογές του, ο αλγόριθμος απαιτεί 512 + 32 64 = 2560 πολλαπλασιασμούς, και 64 7 + 32 63 = 2464 προσθέσεις. Περαιτέρω επιτάχυνση μπορεί να ληφθεί με τη χρησιμοποίηση ενός ταχέως DCT (Discrete Cosine Transform) αλγορίθμου για να υπολογιστεί ο πολλαπλασιασμός πίνακα - διανύσματος στην (2.36). Σημειώνουμε ότι η έξοδος s k [n] αποδεκατίζεται στο μέγιστο: για κάθε 32 νέα δείγματα εισόδου, η τράπεζα φίλτρων παράγει 32 δείγματα εξόδου s 1 [n],, s 32 [n]. Με άλλα λόγια, για κάθε περιοχή k, υπάρχει μια μοναδική έξοδος για κάθε νέα 32 δείγματα εισόδου. Μετά τον υπολογισμό των 32 συντελεστών s[i], θα πρέπει να γίνει μια διόρθωση με αναστροφή συχνοτήτων για να ταξινομηθούν οι συντελεστές με αύξουσα συχνότητα. Η έξοδος του φίλτρου είναι ανακατεμένη. Η ταξινόμηση, περιλαμβάνει τον πολλαπλασιασμό με -1 κάθε άρτιου συντελεστή κάθε άρτιας υπό-περιοχής του πολυφασικού φίλτρου. Το βήμα αυτό καθιστά δυνατή τη δημιουργία πολύ ομαλής εξόδου σαν συνάρτηση του χρόνου [5]. 2.2.2.4 COSINE MODULATED PQMF: ΣΥΝΘΕΣΗ Η ανακατασκευή του σήματος εκτελείται κατ' αρχάς με άνω-δειγματοληψία (Upsampling) του σήματος s k (προσθέτοντας 31 μηδενικά ανάμεσα στα δείγματα): (s k 32)[n], (2.37) Στη συνέχεια φιλτράροντας με ένα g k, (s k 32) g k [n], k = 1,,32 (2.38) και τέλος αθροίζοντας για να δημιουργηθεί το ανακατασκευασμένο σήμα x [n]: - 27 -

32 x [n] = (s k 32) g k [n] k=1 (2.39) Στην περίπτωση του Mpeg, η τράπεζα φίλτρων έχει σχεδόν τέλεια ανακατασκευή. Tο πλάτος του μετασχηματισμού Fourier του ανακατασκευασμένου σήματος είναι ελαφρώς εξασθενημένο σε συγκεκριμένες συχνότητες. Στην πράξη όμως, αυτό δεν είναι πρόβλημα. Το μεγάλο πλεονέκτημα είναι ότι η σχεδίαση του φίλτρου είναι πολύ απλουστευμένη: το ίδιο πρωτότυπο φίλτρο χρησιμοποιείται και για τα 32 φίλτρα h k. Η σύνθεση, ή η ανακατασκευή, από τα χρονοσυχνοτικά δείγματα, πραγματοποιείται με έναν παρόμοιο τρόπο με αυτόν της ανάλυσης. Οι παρακάτω εξισώσεις περιγράφουν την ανακατασκευή 32 δειγμάτων από 32 συντελεστές υπόπεριοχών: for i = 1023 down to 64 do u[i] = u[i 64] (2.40) for i = 63 down to 0 do 31 u[i] = N i,k s[k] k=0 (2.41) for i = 0 to 7 do for j = 0 to 31 do u[64i + j] = u[128i + j] u[64i + j + 32] = u[128i + j + 96] (2.42) for i = 0 to 511 do w[i] = d[i]u[i] (2.43) for j = 0 to 31 do 15 x[j] = w[j + 32i] k=0 (2.44) - 28 -

όπου, (2k + 1)(16 + i)π Ν i,k = cos ( ), 64 i = 0,,63, k = 0,,31 (2.45) Το παράθυρο σύνθεσης d, φαίνεται παρακάτω: Σχήμα 2.14 Το παράθυρο σύνθεσης d. Πριν από την ανακατασκευή του ηχητικού δείγματος, πρέπει να ακυρωθεί το αποτέλεσμα της αναστροφής συχνότητας που δημιουργήθηκε κατά τη διάρκεια της ανάλυσης. Η αναστροφή, περιλαμβάνει τον πολλαπλασιασμό με -1 κάθε δεύτερου συντελεστή κάθε δεύτερης υπό-περιοχής του πολυφασικού φίλτρου [5]. - 29 -

- 30 -

Κεφάλαιο 3 Υλοποίηση Στο αυτό το κεφάλαιο θα παρουσιαστεί η υλοποίηση του πολυσυχνοτικού συμπιεστή δυναμικής περιοχής. Στόχος ήταν μια εναλλακτική προσέγγιση στο σχεδιασμό τέτοιου είδους συμπιεστών, οι οποίοι σχεδόν πάντα υλοποιούνται με εφαρμογή φίλτρων (συνήθως 3 με 5 στον αριθμό) στο εισερχόμενο σήμα στο πεδίο του χρόνου και αμέσως μετά με συμπίεση στις εκάστοτε περιοχές συχνοτήτων. Ολόκληρος ο όγκος της επεξεργασίας αυτής αφορά ψηφιακά σήματα. Η υλοποίηση που έγινε είναι μη - πραγματικού χρόνου με τη βοήθεια του λογισμικού Matlab και της πλατφόρμας γραφικής διεπαφής που διαθέτει (Matlab GUI). Η υλοποίηση του συμπιεστή απαρτίζεται από δύο γενικά τμήματα τα οποία αλληλεπιδρούν μεταξύ τους: τον κώδικα του αλγορίθμου και τη γραφική διεπαφή. Κάθε φορά που θέλουμε να επεξεργαστούμε το σήμα εισόδου ανοίγουμε το GUI, μεταβάλλουμε τις παραμέτρους του κώδικα συμπίεσης και τέλος δίνουμε την εντολή να αρχίσει η επεξεργασία. Το Σχήμα 3.1 δείχνει το γενικό μπλοκ επεξεργασίας. Η παρουσίαση της υλοποίησης στη συνέχεια γίνεται κατά τμήματα και ακολουθώντας τη πορεία του σήματος που επεξεργάζεται και από το γενικό στο ειδικό. Κάθε επιμέρους μπλοκ του συνολικού αλγορίθμου αναλύεται σε ξεχωριστή παράγραφο έτσι ώστε να γίνεται πλήρως κατανοητή η διαδικασία. Ο κώδικας του αλγορίθμου βρίσκεται εξ' ολοκλήρου στο παράρτημα. Σχήμα 3.1. Γενικό μπλοκ επεξεργασίας. - 31 -

3.1 GUI ΠΟΛΥΣΥΧΝΟΤΙΚΟΥ ΣΥΜΠΙΕΣΤΗ Το Matlab μας δίνει τη δυνατότητα εύκολα και γρήγορα να σχεδιάσουμε και να υλοποιήσουμε ένα γραφικό περιβάλλον διεπαφής (GUI - Graphic User Interface). Μέσω του σχεδιασμού του περιβάλλοντος αυτού επιτυγχάνεται καλύτερη οργάνωση του κώδικα και περισσότερη ευελιξία στην παραγωγή αποτελεσμάτων συναρτήσει των παραμέτρων που έχουμε επιλέξει να μεταβάλλονται. Η κατασκευή του GUI χωρίζεται σε δύο στάδια. Το πρώτο είναι ο σχεδιασμός του, η εξωτερική του όψη δηλαδή, κατά το οποίο σχεδιάζουμε ακριβώς τα στοιχεία που το απαρτίζουν, τις ονομασίες τους, τα γραφικά τους καθώς και ότι άλλο έχει σχέση με την επικοινωνία προγράμματος και χρήστη. Συνιστάται να κατασκευάζεται η τελική όψη από την αρχή διότι οι εκ των υστέρων αλλαγές στο περιβάλλον είναι αρκετά περίπλοκες. Το δεύτερο είναι ο κώδικας κάθε στοιχείου, δηλαδή οι εντολές που εκτελούνται όταν ένα στοιχειό ενεργοποιηθεί. To layout του GUI κατασκευάστηκε με χρήση του πακέτου GUIDE του Matlab. Κάθε στοιχείο - block του GUI συνδέεται με μια συνάρτηση (Callback function) η οποία εκτελείται κάθε φορά που αυτό το στοιχείο ενεργοποιείται. Η επικοινωνία μεταξύ των Callback πραγματοποιείται με μια δομή που ονομάζεται handles. Επιπλέον και πολύ σημαντικό, εάν θέλουμε ολική εμβέλεια μεταβλητών, για παράδειγμα στην περίπτωση που χρειαζόμαστε επικοινωνία μεταξύ Callback και ενός m file, αρκεί να ορίζουμε τις μεταβλητές αυτές global τόσο στην Callback συνάρτηση όσο και στο m file. Όλες οι αρχικοποιήσεις όλων των μεταβλητών που ορίζονται για την λειτουργία του GUI περιλαμβάνονται στη συνάρτηση Opening η οποία εκτελείται όταν ανοίξουμε το GUI. Στο Σχήμα 3.2 παρουσιάζεται το layout του GUI. Σχήμα 3.2. Το Layout του GUI. - 32 -

Η λειτουργία κάθε στοιχείου του GUI είναι η ακόλουθη: RUN: Εκτελείται η κυρίως συνάρτηση της επεξεργασίας. Διαβάζεται το αρχείο ήχου, συμπιέζεται με βάσει τις τιμές των παραμέτρων των άλλων μπλοκ, και εξάγονται τα αποτελέσματα. Ratio: Επιλογή του λόγου συμπίεσης. Frames: Επιλογή των Frame που επιλέγονται για επεξεργασία. Ένα Frame ισοδυναμεί με 1152 δείγματα. Level Detection: Επιλογή ανίχνευσης στάθμης Peak ή RMS. Detection Profile: Επιλογή profile ανίχνευσης στάθμης, 32 Subbands ή 3 Bands. Threshold Profile: Επιλογή profile κατωφλίου. PLAY, STOP: Αναπαραγωγή και παύση αρχείων ήχου. CLEAR: Καθαρισμός μεταβλητών, γραφικών παραστάσεων και κλείσιμο παραθύρων. Input/Output RMS: Οι RMS στάθμες του σήματος εισόδου και εξόδου. Signal Plots: Γραφικές παραστάσεις των σημάτων εισόδου και εξόδου στο πεδίο του χρόνου και της συχνότητας. Threshold Plot: Γραφική παράσταση του κατωφλίου, τιμή ανά υποζώνη. Elapsed Time: Χρόνος επεξεργασίας. 3.2 ΚΥΡΙΩΣ ΕΠΕΞΕΡΓΑΣΙΑ Το διάγραμμα ροής της κυρίως επεξεργασίας φαίνεται στο Σχήμα 3.4. Κάθε φορά που επιλέγεται το στοιχείο της γραφικής διεπαφής με όνομα RUN εκτελείται η συγκεκριμένη ρουτίνα. Υπενθυμίζεται ότι υπάρχει πλήρης εξάρτηση των μεταβαλλόμενων παραμέτρων του GUI με της παραμέτρους της κύριας ρουτίνας. Αρχικά αρχικοποιούνται όσες μεταβλητές και πίνακες χρειάζονται για την μετέπειτα επεξεργασία και υπολογίζεται το προφίλ του κατωφλίου. Στη συνέχεια υπολογίζεται ο ΑΡΙΘΜΟΣ ΜΕΓΑΛΩΝ FRAME από τον ΑΡΙΘΜΟ ΜΙΚΡΩΝ FRAME το οποίο επιλέγει ο χρήστης μέσω του GUI. Ο ΑΡΙΘΜΟΣ ΜΕΓΑΛΩΝ FRAME αναφέρεται στον αριθμό των frame στα οποία τεμαχίζεται το σήμα εισόδου. Ο ΑΡΙΘΜΟΣ ΜΙΚΡΩΝ FRAME δηλώνει πόσα μικρά frame περιέχονται σε ένα μεγάλο frame. Με άλλα λόγια το σήμα εισόδου τεμαχίζεται σε ένα ΑΡΙΘΜΟ ΜΕΓΑΛΩΝ FRAME και ένα μεγάλο frame τεμαχίζεται σε ένα ΑΡΙΘΜΟ ΜΙΚΡΩΝ FRAME. Το Σχήμα 3.3 δείχνει αυτή την υποδιαίρεση. - 33 -

ΜΠ ΛΟ Κ ΜΠ ΛΟ Κ ΜΠ ΛΟ Κ ΣΗΜΑ ΜΕΓΑΛΟ FRAME ΜΕΓΑΛΟ FRAME ΜΙΚΡΟ FRAME ΜΙΚΡΟ FRAME 1 2 36... Σχήμα 3.3 Τεμαχισμός του σήματος για την επεξεργασία. Ο κύκλος επεξεργασίας αφορά τα δείγματα ενός μεγάλου frame. Ένα μικρό frame αποτελείται από 1152 δείγματα. Συνεπώς, με την επιλογή του ΑΡΙΘΜΟΥ ΜΙΚΡΩΝ FRAME από το GUI επιλέγεται ο αριθμός των δειγμάτων προς επεξεργασία ο οποίος είναι πολλαπλάσιος του 1152. Επιπλέον κάθε μικρό frame αποτελείται από 36 ΜΠΛΟΚ των 32 δειγμάτων (36 32 = 1152) τα οποία τροφοδοτούνται στην διαδικασία της ανάλυσης. Τελικά, με την ανάλυση ενός μεγάλου frame κατασκευάζεται ένας πίνακας S[k 36,32], k = ΑΡΙΘΜΟΣ ΜΙΚΡΩΝ FRAME, στον οποίο κάθε μία από της 32 στήλες αντιπροσωπεύει και μία υποζώνη συχνοτήτων. Στο Σχήμα 3.5 παρουσιάζεται ο πίνακας S. - 34 -

GUI GUI ΑΡΧΗ ΑΡΧΙΚΟΠΟΙΗΣΕΙΣ ΥΠΟΛΟΓΙΣΜΟΣ ΚΑΤΩΦΛΙΟΥ ΤΕΛΟΣ ΟΧΙ Για 1 έως ΑΡΙΘΜΟΣ ΜΕΓΑΛΩΝ FRAME ΝΑΙ S[k 36,32] ΟΧΙ Για 1 έως ΑΡΙΘΜΟΣ ΜΙΚΡΩΝ FRAME GUI ΑΝΙΧΝΕΥΤΗΣ ΣΤΑΘΜΗΣ ΝΑΙ ΟΧΙ Για 1 έως ΑΡΙΘΜΟΣ ΜΠΛΟΚ GUI ΣΥΜΠΙΕΣΗ ΝΑΙ CM-PQMF ΑΝΑΛΥΣΗ 32 ΔΕΙΓΜΑΤΩΝ ΣΕ ΣΥΧΝΟΤΙΚΕΣ ΥΠΟΖΩΝΕΣ, ΕΚΧΩΡΗΣΗ ΣΤΟΝ ΠΙΝΑΚΑ S ΟΧΙ Για 1 έως ΑΡΙΘΜΟΣ ΜΙΚΡΩΝ FRAME ΟΧΙ ΝΑΙ Για 1 έως ΑΡΙΘΜΟΣ ΜΠΛΟΚ ΝΑΙ CM-PQMF ΣΥΝΘΕΣΗ 32 PCM ΔΕΙΓΜΑΤΩΝ, ΚΑΤΑΣΚΕΥΗ ΔΙΑΝΥΣΜΑΤΟΣ ΕΞΟΔΟΥ Σχήμα 3.4 Το διάγραμμα ροής της κυρίως επεξεργασίας. - 35 -

Σχήμα 3.5. Ο χρονοσυχνοτικός πίνακας S. Στη συνέχεια της επεξεργασίας ακολουθεί ο υπολογισμός του προφίλ ανίχνευσης στάθμης και η συμπίεση δυναμικής περιοχής του πίνακα S με βάση το προφίλ κατωφλίου και το προφίλ ανίχνευσης στάθμης. Τέλος, για την ανακατασκευή του σήματος ακολουθείται η αντίστροφη διαδικασία, δηλαδή λαμβάνοντας διαδοχικά 32 δείγματα από τον συμπιεσμένο πίνακα S κατασκευάζονται διαδοχικά το διάνυσμα κάθε μικρού frame, μετά το διάνυσμα κάθε μεγάλου frame και τέλος το διάνυσμα όλου του σήματος εξόδου της όλης επεξεργασίας. Παρακάτω περιγράφεται αναλυτικά κάθε μπλοκ της κυρίως επεξεργασίας. 3.2.1 ΑΡΧΙΚΟΠΟΙΗΣΕΙΣ Κατά την αρχικοποίηση, διαβάζεται το αρχείο ήχου και κανονικοποείται, φορτώνονται οι συντελεστές των φίλτρων σύνθεσης και ανάλυσης C,D καθώς και οι πίνακες των διαμορφωμένων ημιτόνων M,N. Επίσης δηλώνονται και αρχικοποιούνται ότι διανύσματα και πίνακες είναι απαραίτητοι για την επεξεργασία. - 36 -

3.2.2 ΥΠΟΛΟΓΙΣΜΟΣ ΚΑΤΩΦΛΙΟΥ Για τον υπολογισμό του κατωφλίου υπολογίζουμε ένα πίνακα CThresholdTable[1:32] στον οποίο εκχωρούμε τη τιμή του κατωφλίου καθεμιάς από της 32 υποζώνες. Στον πίνακα αυτό καταχωρούνται οι τιμές σε db στο διάστημα [- 100,0]. Το Σχήμα 3.6 δείχνει γενικώς αυτή τη λειτουργία. GUI ThresholdProfile, Profile Parameters ThresholdProfile? 1, 2 OR 3 ΥΠΟΛΟΓΙΣΜΟΣ CThresholdTable[1:32] Σχήμα 3.6 Διάγραμμα ροής υπολογισμού κατωφλίου 32 υποζωνών. Έχουμε τρείς επιλογές για το προφίλ: 1) Κατώφλι σταθερό για όλες τις 32 υποζώνες συχνοτήτων. - 37 -

2) Επιλογή συγκεκριμένης καμπύλης. Επιλογή (Α): y(x) = 1.5x 30 Επιλογή (Β): y(x) = 0.0036x 3 + 0.14x 2 2.5x 30 Επιλογή (C): y(x) = 0.15x 2 6.4x 26-38 -

Επιλογή (D): y(x) = 1.5x 80 3) Οι υποζώνες (Subbands) ομαδοποιούνται σε τρεις ζώνες (3 Bands) με κάθε ζώνη να έχει συγκεκριμένο εύρος: Band 1: Subband 1, Band 2: Subbands 2 9, Band 3: Subbands 10 32. Καθεμία από τις τρεις ζώνες έχει ξεχωριστό κατώφλι όπως φαίνεται παρακάτω. Όπως είναι προφανές, αυτή η τρίτη επιλογή για το προφίλ του κατωφλίου είναι και η πιο συχνά χρησιμοποιούμενη αφού μπορούμε να μεταβάλλουμε δυναμικά το κατώφλι σε 3 περιοχές συχνοτήτων. Το εύρος ζώνης όλων των περιοχών συχνοτήτων αναγράφονται στον Πίνακα 2.1. - 39 -

3.2.3 CM-PQMF ΑΝΑΛΥΣΗ Το γενικό μπλοκ της χρονοσυχνοτικής ανάλυσης (κωδικοποίησης) και σύνθεσης (αποκωδικοποίησης) του σήματος μέσω της τράπεζας φίλτρων φαίνεται στο Σχήμα 3.7. Χρησιμοποιούμε ως είσοδο ένα παράθυρο των 1152 δειγμάτων (μικρό frame) (36 μπλοκ των 32 δειγμάτων) το οποίο προέρχεται από το στάδιο του τεμαχισμού. Από αυτό το παράθυρο τροφοδοτούμε τον αλγόριθμο του Σχήματος 3.8 με 32 δείγματα εισόδου 36 φορές με αποτέλεσμα να προκύψει ο διαμορφωμένος κατά συχνότητα και κατά χρόνο πίνακας διαστάσεων 36 32. Το Σχήμα 3.7 δείχνει το διάγραμμα ροής του φιλτραρίσματος. Το φιλτράρισμα βασίζεται στις ακόλουθες ιδέες: Κάθε κύκλος επεξεργασίας λειτουργεί σε πακέτο των 32 δειγμάτων. Το φιλτράρισμα εκτελείται σε ένα buffer X μεγέθους 512, με τη χρήση των εξισώσεων (2.30) - (2.34). Κατά τη διάρκεια κάθε κύκλου επεξεργασίας, ο buffer Χ μετατοπίζεται προς τα δεξιά, και τα X[480:511] χάνονται. Αυτό αφήνει 32 κενές θέσεις που γεμίζουν με καινούργια δεδομένα: τα 32 νέα εισερχόμενα δείγματα αποθηκεύονται στις θέσεις Χ[0:31]. Υπολογίζονται 32 νέα δείγματα υπoζωνών σύμφωνα με την εξίσωση (2.36). Για τα πρώτα 480 δείγματα, ο buffer X γεμίζει με μηδενικά. Μετά την αρχική επεξεργασία 512 δειγμάτων, ο buffer X είναι πάντα γεμάτος. 1 1 2 2 3 3 AUDIO IN (1:32) ΤΡΑΠΕΖΑ ΦΙΛΤΡΩΝ ΕΠΕΞΕΡΓΑΣΙΑ ΤΡΑΠΕΖΑ ΦΙΛΤΡΩΝ AUDIO OUT (1:32) ΑΝΑΛΑΥΣΗΣ 4 4 ΣΥΝΘΕΣΗΣ...... 32 Σχήμα 3.7 Χρονοσυχνοτική ανάλυση και σύνθεση. 32-40 -

ΕΙΣΟΔΟΣ 32 ΔΕΙΓΜΑΤΩΝ ΟΛΙΣΘΗΣΗ ΚΑΤΑ 32 ΔΕΙΓΜΑΤΑ Για i από 511 έως 32 X i = X[i 32] Για i από 31 έως 0 X i = 32 νέα δείγματα ΠΑΡΑΘΥΡΩΣΗ ΜΕ 512 ΣΥΝΤΕΛΕΣΤΕΣ ΠΑΡΑΓΩΓΗ ΔΙΑΝΥΣΜΑΤΟΣ Ζ Για i από 0 έως 511 Ζ i = C i X[i] ΥΠΟΛΟΓΙΣΜΟΣ ΚΑΤΑ ΤΜΗΜΑΤΑ Για i Από 0 έως 63 7 Y i = Z[i + 64j] j=0 ΥΠΟΛΟΓΙΣΜΟΣ 32 ΔΕΙΓΜΑΤΩΝ Για i από 0 έως 31 63 S i = M i, k Y[k] k=0 ΕΞΟΔΟΣ 32 ΔΕΙΓΜΑΤΩΝ ΥΠΟΖΩΝΩΝ Σχήμα 3.8 Διάγραμμα ροής κωδικοποίησης: ο buffer X λαμβάνει 32 νέα δείγματα και υπολογίζονται οι 32 συντελεστές υπό-περιοχών S 0,, S 31. - 41 -

Αναλόγως με την επιλογή του χρήστη για τον αριθμό των μικρών frame προς επεξεργασία οι συνολικός πίνακας S μπορεί να μεταβάλλεται στη διάσταση του χρόνου. Για παράδειγμα, εάν επιλεγούν 2 μικρά frame προς ανάλυση ο πίνακας που προκύπτει έχει διαστάσεις S[36 2,32]. Το Σχήμα 3.9 δείχνει με έναν διαφορετικό τρόπο τη διαδικασία της ανάλυσης. ΚΑΤΑΧΩΡΗΤΗΣ X FIFO 512 ΔΕΙΓΜΑΤΩΝ ΕΙΣΟΔΟΣ 32 ΔΕΙΓΜΑΤΩΝ k k + 64 k + 128 k + 192 k + 256 k + 320 k + 384 k + 448 C[k] X C[k+64] X C[k+128] X C[k+192] X C[k+256] X C[k+320] X C[k+384] X C[k+448] X k = 0,, 63 X ΕΞΟΔΟΣ 32 ΔΕΙΓΜΑΤΩΝ ΥΠΟΖΩΝΩΝ, i = 0 έως 31 M[i,k] Σχήμα 3.9. Διαδικασία Ανάλυσης. 3.2.4 ΑΝΙΧΝΕΥΤΗΣ ΣΤΑΘΜΗΣ Η ανίχνευση της στάθμης γίνεται στον παραγόμενο από την χρονοσυχνοτική ανάλυση πίνακα S. Το διάνυσμα DetectionTable[1:32] που προκύπτει από την ανίχνευση περιέχει τη στάθμη κάθε υποζώνης που είναι απαραίτητη για την μετέπειτα συμπίεση της δυναμικής περιοχής. Υπάρχει δυνατότητα επιλογής ανίχνευσης της μέγιστης τιμής (Peak) ή της μέσης τετραγωνικής τιμής (RMS) των δειγμάτων. Επιπλέον υπάρχει η δυνατότητα δύο επιλογών για την εύρεση της στάθμης των υποζωνών: 32 Subbands: Βρίσκεται για κάθε μία υποζώνη η Peak ή η RMS τιμή των δειγμάτων. 3 Bands: Βρίσκεται η Peak ή η RMS τιμή για τρεις ζώνες (Bands), όπως και στο προφίλ κατωφλίου 3. (Band 1: Subband 1, Band 2: Subbands 2 9, Band 3: Subbands 10 32). Στο Σχήμα 3.10 φαίνεται η γενική λειτουργία του ανιχνευτή στάθμης. - 42 -

GUI S, Detection, DetProfile Detection? PEAK OR RMS DetProfile? 32 Subbands OR 3 Bands ΥΠΟΛΟΓΙΣΜΟΣ DetectionTable[1:32] Σχήμα 3.10 Γενική λειτουργία Ανιχνευτή Στάθμης. 3.2.5 ΣΥΜΠΙΕΣΗ Για την συμπίεση κάθε υποζώνης εισάγουμε στον συμπιεστή τον πίνακα S[k*36,32], τα διανύσματα CThresholdTable[1:32] και DetectionTable[1:32] καθώς και τη τιμή του λόγου συμπίεσης CRatio που επιλέγεται από το GUI. Το διάγραμμα ροής της συμπίεσης φαίνεται στο Σχήμα 3.11. Η συμπίεση πραγματοποιείται για κάθε υποζώνη με βάση το λόγο συμπίεσης, το κατώφλι και την στάθμη που αναφέρεται σε αυτή. Αρχικά μετατρέπεται η στάθμη της υποζώνης σε λογαριθμική κλίμακα, ακολουθεί ο υπολογισμός του παράγοντα ενίσχυσης, μετά η μετατροπή του σε γραμμική κλίμακα και τέλος η εφαρμογή του (πολλαπλασιασμός) σε όλα τα δείγματα της υποζώνης. - 43 -

GUI S, CThresholdTable, DetectionTable, CRatio Για i = 1 έως 32 ΓΡΑΜΜΙΚΗ ΛΟΓΑΡΙΘΜΙΚΗ ΤΙΜΗ ΣΤΑΘΜΗΣ T = 10log(DetectionTable[i]) ΥΠΟΛΟΓΙΣΜΟΣ GAIN FACTOR G = min([0, (1 (1/CR)) * (CThresholdTable[i] - T)]) ΛΟΓΑΡΙΘΜΙΚΗ ΓΡΑΜΜΙΚΗ ΤΙΜΗ GAIN FACTOR g = 10^(G/20) ΕΦΑΡΜΟΓΗ GAIN FACTOR S[1:length(S),i] = g * S[1:length(S),i] Σχήμα 3.11 Διάγραμμα ροής συμπίεσης. Με τη συμπίεση της δυναμικής περιοχής εξάγεται ο συμπιεσμένος πίνακας S. Στη συνέχεια ακολουθεί η διαδικασία ανακατασκευής του συμπιεσμένου αρχείου εξόδου. - 44 -

3.1.6 CM-PQMF ΣΥΝΘΕΣΗ Η ανακατασκευή (αποκωδικοποίηση), από τους τα στοιχεία του πίνακα, πραγματοποιείται με έναν παρόμοιο τρόπο με αυτόν της ανάλυσης. Το Σχήμα 3.12 δείχνει το διάγραμμα ροής της αποκωδικοποίησης. Το φιλτράρισμα βασίζεται στις ακόλουθες ιδέες: Κάθε κύκλος επεξεργασίας λειτουργεί σε πακέτο των 32 δειγμάτων. Το φιλτράρισμα εκτελείται σε ένα buffer V μεγέθους 1024, με τη χρήση των εξισώσεων (2.41) - (2.45). Κατά τη διάρκεια κάθε κύκλου επεξεργασίας, ο buffer V μετατοπίζεται προς τα δεξιά, και τα V[959:1023] χάνονται (2.40). Αυτό αφήνει 64 κενές θέσεις που γεμίζουν με καινούργια δεδομένα: τα 64 νούμερα που προέρχονται από τους 32 συντελεστές, με χρήση της εξίσωσης (2.43). Με χρήση της (2.45) ανακατασκευάζονται 32 PCM δείγματα. - 45 -

ΕΙΣΟΔΟΣ 32 ΔΕΙΓΜΑΤΩΝ ΥΠΟΖΩΝΩΝ S i i = 0,,31 ΟΛΙΣΘΗΣΗ Για i από 1023 έως 64 V i = V[i 64] Για i από 0 έως 63 31 V i = N i, k S[k] k=0 ΠΑΡΑΓΩΓΗ ΔΙΑΝΥΣΜΑΤΟΣ U Για i από 0 έως 7 Για j από 0 έως 31 U i 64 + j = V[i 128 + j] U i 64 + 32 + j = V[i 128 + 96 + j] ΠΑΡΑΘΥΡΩΣΗ ΜΕ 512 ΣΥΝΤΕΛΕΣΤΕΣ ΠΑΡΑΓΩΓΗ ΔΙΑΝΥΣΜΑΤΟΣ W Για i Από 0 έως 511 W i = U i D[i] ΥΠΟΛΟΓΙΣΜΟΣ 32 ΔΕΙΓΜΑΤΩΝ Για j από 0 έως 31 15 S j = W[j + 32i] i=0 ΕΞΟΔΟΣ 32 ΔΕΙΓΜΑΤΩΝ Σχήμα 3.12 Διάγραμμα ροής αποκωδικοποίησης: ο buffer V λαμβάνει 32 νέους PQMF συντελεστές, S 0,, S 31, και ανακατασκευάζονται 32 νέα δείγματα X 0,, X 31. - 46 -

Κεφάλαιο 4 Αποτελέσματα Στο κεφάλαιο αυτό παρουσιάζονται τα αποτελέσματα της υλοποίησης του συμπιεστή, καταγράφεται η αποτελεσματικότητα του και εξάγονται ορισμένα συμπεράσματα. Στο πρώτο μέρος παραθέτονται γραφικές παραστάσεις των μεταβαλλόμενων παραμέτρων του συμπιεστή με σήμα εισόδου ένα μέρος ενός μουσικού κομματιού ενώ στο δεύτερο μέρος συγκρίνεται ο συμπιεστής της διπλωματικής με έναν αντίστοιχο που κυκλοφορεί στην αγορά. - 47 -

4.1 ΣΥΓΚΡΙΣΗ ΣΥΜΠΙΕΣΗΣ ΔΥΝΑΜΙΚΗΣ ΠΕΡΙΟΧΗΣ Στο υποκεφάλαιο αυτό συγκρίνεται η αποτελεσματικότητα στη συμπίεση του συμπιεστή της διπλωματικής. Για τη σύγκριση παραθέτονται οι κυματομορφές του αρχικού σήματος εισόδου (Original), του συμπιεσμένου σήματος εξόδου της διπλωματικής (CM-PQMF) και του συμπιεσμένου σήματος εξόδου ενός αναγνωρισμένου πολυσυχνοτικού συμπιεστή που κυκλοφορεί στην αγορά (Ozone της εταιρίας izotope). Σαν σήματα εισόδου χρησιμοποιήθηκαν μικρά χρονικά μέρη πέντε αντιπροσωπευτικών μουσικών κομματιών. Σε κάθε ανάλυση μουσικών σημάτων, καραδοκεί πάντα ο κίνδυνος των υποκειμενικών κριτηρίων. Έγινε προσπάθεια να ληφθούν μετρήσεις από χαρακτηριστικά κομμάτια που αντιπροσωπεύουν συγκεκριμένες μουσικές τάσεις. Οι τάσεις αυτές ορίζονται μέσα από τη μαζική αποδοχή και την οικειότητα που τους αποδίδεται από την πλειοψηφία της κοινής γνώμης. Επίσης οι μετρήσεις έγιναν με αντικείμενο διαφορετικά όργανα και ήχους, ώστε να προκύψουν πρακτικά ποιοτικά αποτελέσματα για τη χρήση του αλγορίθμου στα πλαίσια της ηχοληψίας και της μουσικής παραγωγής. Για όλα τα μουσικά κομμάτια επιλέχτηκαν οι τιμές των παραμέτρων των συμπιεστών να είναι ίδιες, προφανώς για να μπορούμε να συγκρίνουμε το αποτέλεσμα: Ratio: 8:1 Peak Detection 3 Bands -70dB Threshold Σχήμα 4.1 Ozone Multiband Compressor. - 48 -

4.1.1 ΣΥΓΚΡΙΣΗ ΣΕ ΜΟΥΣΙΚΑ ΕΙΔΗ 4.1.1.1 Jazz Το πρώτο κομμάτι είναι μουσικού είδους Jazz: Dave Grusin - Fascinating Rythm. Σχήμα 4.2 Ποσοστιαίο ιστόγραμμα στάθμης. Σχήμα 4.3 Χρονικά διαγράμματα σημάτων. (Α): Ασυμπίεστο (μπλε) - CM-PQMF (κόκκινο), (Β): Ozone (μαύρο) - Ασυμπίεστο (μπλε), (C): Ozone (μαύρο) - CM-PQMF (κόκκινο). - 49 -

RMS - dbfs dbfs of higher % of samples Original -17.75-22.00 CM-PQMF -15.54-17.00 Ozone -13.37-14.00 Πίνακας 4.1 Παρατηρούμε ότι συμπίεση είναι σε αποδεκτά επίπεδα, όχι όμως τόση όσο στον επεξεργαστή Ozone. 4.1.1.2 Classical Piano Το δεύτερο κομμάτι είναι κλασικού πιάνου: Beethoven - Moonlight Sonata. Σχήμα 4.4 Ποσοστιαίο ιστόγραμμα στάθμης. - 50 -

Σχήμα 4.5 Χρονικά διαγράμματα σημάτων. (Α): Ασυμπίεστο (μπλε) - CM-PQMF (κόκκινο), (Β): Ozone (μαύρο) - Ασυμπίεστο (μπλε), (C): Ozone (μαύρο) - CM-PQMF (κόκκινο). RMS - dbfs dbfs of higher % of samples Original -14.30-14.00 CM-PQMF -11.72-11.00 Ozone -9.35-8.00 Πίνακας 4.2 Παρατηρούμε ότι συμπίεση είναι σε αποδεκτά επίπεδα, όχι όμως τόση όσο στον επεξεργαστή Ozone. 4.1.1.3 Techno Το τρίτο κομμάτι είναι ηλεκτρονικής μουσικής: Paul Kalkbrenner - Aaron. - 51 -

Σχήμα 4.6 Ποσοστιαίο ιστόγραμμα στάθμης. Σχήμα 4.7 Χρονικά διαγράμματα σημάτων. (Α): Ασυμπίεστο (μπλε) - CM-PQMF (κόκκινο), (Β): Ozone (μαύρο) - Ασυμπίεστο (μπλε), (C): Ozone (μαύρο) - CM-PQMF (κόκκινο). - 52 -

RMS - dbfs dbfs of higher % of samples Original -14.22-26.00 CM-PQMF -15.66-21.00 Ozone -14.93-16.00 Πίνακας 4.3 Στο συγκεκριμένο μουσικό είδος, φαίνεται ότι η συμπίεση στον επεξεργαστή PQMF είναι αμελητέα. Αυτό οφείλεται κατά μεγάλη πιθανότητα στις μεγάλες και γρήγορες μεταβολές του σήματος (transients) διότι με την συγκεκριμένη υλοποίηση δεν υπάρχει δυνατότητα επιλογής μεγέθους μπλοκ επεξεργασίας για καλύτερη χρονική ή συχνοτική ανάλυση. Μια τέτοια βελτίωση παρουσιάζεται στο Κεφάλαιο 5. 4.1.1.4 Speech Το τέταρτο κομμάτι είναι σκέτη ομιλία: Text Speech. Σχήμα 4.8 Ποσοστιαίο ιστόγραμμα στάθμης. - 53 -

Σχήμα 4.9 Χρονικά διαγράμματα σημάτων. (Α): Ασυμπίεστο (μπλε) - CM-PQMF (κόκκινο), (Β): Ozone (μαύρο) - Ασυμπίεστο (μπλε), (C): Ozone (μαύρο) - CM-PQMF (κόκκινο). RMS - dbfs dbfs of higher % of samples Original -17.27-18 CM-PQMF -18.10-19 Ozone -15.68-18 Πίνακας 4.4 Παρατηρούμε ότι στην συγκεκριμένη ομιλία η συμπίεση είναι αμηλητέα. - 54 -