ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ-ΥΠΟΛΟΓΙΣΤΩΝ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ-ΥΠΟΛΟΓΙΣΤΩΝ"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ-ΥΠΟΛΟΓΙΣΤΩΝ Ανάλυση του προτύπου κωδικοποίησης ομιλίας LPC-10e και υλοποίηση σε προγραμματιζόμενο κύκλωμα FPGA της οικογένειας Xilinx Virtex-4 ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ του ΒΑΣΙΛΕΙΟΥ ΜΗΛΙΟΠΟΥΛΟΥ (Α.Ε.Μ.: 5804) Επιβλέπων: Σταύρος Π. Δοκουζγιάννης Επίκουρος Καθηγητής Θεσσαλονίκη, Α.Π.Θ Οκτώβριος 2010

2

3 Αφιερώνεται σε όλους τους Μηχανικούς που αφιέρωσαν τη ζωή τους στη μελέτη του φυσικού κόσμου, προσπαθώντας να βελτιώσουν τις συνθήκες ζωής των ανθρώπων i

4 ii

5 ΠΡΟΛΟΓΟΣ Η παρούσα Διπλωματική Εργασία διερευνά σε βάθος το πρότυπο συμπίεσης και επεξεργασίας ομιλίας (φωνής) LPC-10e. Το πρότυπο αυτό βασίζεται στη μέθοδο γραμμικής πρόβλεψης LPC (Linear Predictive Coding), προτάθηκε από μια ερευνητική ομάδα του Υπουργείου Άμυνας των ΗΠΑ με επικεφαλής τον Thomas E. Tremain και εδραιώθηκε το Η διερεύνηση των μεθόδων κωδικοποίησης ομιλίας εξακολουθεί να απασχολεί την παγκόσμια τεχνολογική και ερευνητική κοινότητα, καθώς εδώ και χρόνια επέτρεψε, αφενός μεν την αποδοτική εφαρμογή τους στην τηλεφωνική επικοινωνία (μέσω του οπτικοποιημένου τηλεπικοινωνιακού κέντρου SDH-SONET), αφετέρου δε την υλοποίηση υπηρεσιών κινητής τηλεφωνίας, νέων υπηρεσιών διαδικτύου (VoIP), δορυφορικών επικοινωνιών κ.α. Η μελέτη που ακολούθησε είχε σαν απώτερο στόχο την υλοποίηση του αλγορίθμου LPC-10e εντός προγραμματιζόμενου κυκλώματος FPGA, Virtex-4, μέσω αναπτυξιακής διάταξης ML402 της εταιρείας Xilinx. Σταθμίζοντας τη ραγδαία ανάπτυξη και μετεξέλιξη των τεχνολογιών, σχετικών με τα κυκλώματα FPGA, φάνηκε σαφώς ότι η τεχνολογία ML402 (που εμφανίστηκε πριν από μόλις 5 χρόνια) δεν είναι πλέον αντίστοιχη των προσδοκιών του μηχανικού σύγχρονων ψηφιακών συστημάτων. Και αυτό διότι απαιτεί τη συνεργασία διαφορετικών περιβαλλόντων λογισμικού (vhdl, C, Matlab, εργαλεία λογισμικού της Xilinx), προκειμένου να οδηγήσει στην τελική σχεδίαση που συνδυάζει τη λειτουργία του κλασσικού FPGA με τον ένθετο επεξεργαστή PowerPC. Καθ υπόδειξη και εντολή του Επιβλέποντος Καθηγητή της Διπλωματικής Εργασίας, η εργασία σταματά στο σημείο από το οποίο μια επόμενη Διπλωματική Εργασία θα παραλάβει την προεπεξεργασμένη ύλη της παρούσας και θα την εμπεδώσει σε αναπτυξιακή διάταξη με κύκλωμα της οικογένειας Virtex-6, ή ακόμα και Virtex-7, όπου τα ήδη υπάρχοντα εργαλεία λογισμικού αντιμετωπίζουν εντελώς διαφορετικά τους περιορισμούς και ανεπάρκειες των προηγούμενων. Στο σημείο αυτό θέλω να ευχαριστήσω θερμά τους κυρίους Chi Tsun Cheng, Κωνσταντίνο Γούλα και Ανδρέα Σπανιά, για την πολύτιμη βοήθεια, την άμεση ανταπόκριση και το ενδιαφέρον που επέδειξαν όταν ζητήθηκε η υποστήριξή τους. Χωρίς τη συνδρομή των παραπάνω, θα ήταν ίσως αδύνατη η επιτυχής iii

6 ολοκλήρωση της παρούσας διπλωματικής εργασίας εντός των καθορισμένων χρονικών πλαισίων. Τέλος, επιθυμώ να ευχαριστήσω τον Επιβλέποντα Καθηγητή της διπλωματικής εργασίας, κ. Σταύρο Δοκουζγιάννη, Επίκουρο Καθηγητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, τόσο για τη συνδρομή και καθοδήγησή του καθ όλη τη διάρκεια της εκπόνησης της εργασίας αυτής, όσο και για το ιδιαίτερο ενδιαφέρον που έχει επιδείξει γενικότερα όλα αυτά τα χρόνια της φοιτητικής μου πορείας για την ακαδημαϊκή εκπαίδευση των νέων Ηλεκτρολόγων Μηχανικών. Ο έκδηλος ενθουσιασμός του κ. Δοκουζγιάννη για τις τεχνολογίες αιχμής και η συστηματική προσπάθεια που καταβάλλει για την εισαγωγή τους στο ελληνικό πανεπιστήμιο και την αφομοίωσή τους από το ελληνικό επιστημονικό δυναμικό, εκτιμώ ότι έχουν σημαντικό αντίκτυπο στην ποιότητα της παρεχόμενης εκπαίδευσης προς τους φοιτητές του τμήματός μας. Βασίλειος Μηλιόπουλος Α.Π.Θ., Θεσσαλονίκη, 25 Οκτωβρίου 2010 iv

7 ΠΕΡΙΕΧΟΜΕΝΑ Κεφάλαιο 1. Εισαγωγή...1 Κεφάλαιο 2. Κωδικοποίηση φωνής 2.1. Ψηφιακή Επεξεργασία Σήματος Τι είναι η επεξεργασία σήματος Από το αναλογικό στο ψηφιακό σήμα Εξέλιξη της κωδικοποίησης ψηφιακού ήχου Αρχές φωνητικής το ανθρώπινο φωνητικό σύστημα Κωδικοποίηση φωνής παρελθόν, παρόν και μέλλον Εισαγωγή Κατηγοριοποίηση κωδικοποιητών φωνής Κωδικοποίηση με γραμμική πρόβλεψη (Linear Predictive Coding LPC) Ορόσημα στην κωδικοποίηση φωνής Αξιολόγηση κωδικοποιητών φωνής...21 Κεφάλαιο 3. Το πρότυπο LPC-10e (FS-1015) 3.1. Γενικά Συνοπτική περιγραφή θεωρητικό υπόβαθρο Μοντέλο Συνοπτική περιγραφή του κωδικοποιητή Συνοπτική περιγραφή του αποκωδικοποιητή Αναλυτική περιγραφή Γενικοί συμβολισμοί Αναλυτική περιγραφή του κωδικοποιητή Αναλυτική περιγραφή του αποκωδικοποιητή...50 v

8 Κεφάλαιο 4. Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx 4.1. Εισαγωγή στα FPGA Ορισμός Τυπική εσωτερική δομή Τεχνολογίες προγραμματισμού του υλικού Ανάπτυξη εφαρμογών στα FPGA Γενική επισκόπηση της οικογένειας Virtex Τα FPGA της εταιρείας Xilinx Οικογένεια Virtex-4 και υπο-οικογένειες Γενικά χαρακτηριστικά της οικογένειας Virtex Τρόπος παραγγελίας συσκευής Virtex Περιγραφή της αρχιτεκτονικής Virtex Configurable Logic Blocks (CLB) RAM blocks Χρονισμός Πόροι εισόδου-εξόδου (I/O resources) Μπλοκ Ψηφιακής Επεξεργασίας Σήματος (XtremeDSP blocks) Κεφάλαιο 5. Η αναπτυξιακή πλακέτα ML-402 για εφαρμογές Virtex-4 FPGA 5.1. Περιγραφή της αναπτυξιακής πλακέτας ML Εισαγωγή στις αναπτυξιακές πλακέτες προγραμματιζόμενων συσκευών Γενική επισκόπηση της αναπτυξιακής πλακέτας ML Αναλυτική περιγραφή της αναπτυξιακής πλακέτας ML Κεφάλαιο 6. Υλοποίηση αποκωδικοποιητή LPC-10e σε γλώσσα VHDL 6.1. Γλώσσα VHDL και επίπεδα αφαίρεσης της σχεδίασης Αποτελέσματα προσομοίωσης με τον ISE Simulator Υλοποίηση σε VHDL vi

9 Κεφάλαιο 7. Ανακεφαλαίωση Συμπεράσματα Βιβλιογραφία Προσαρτήματα ΠΑ. Πίνακες κβαντισμού και από-κβαντισμού του προτύπου LPC-10e... ΠΑ.1 ΠΒ. Κώδικας υλοποίησης του προτύπου LPC-10e σε γλώσσα C...ΠΒ.1 ΠΓ. Κώδικας υλοποίησης του αποκωδικοποιητή LPC-10e σε γλώσσα VHDL...ΠΓ.1 vii

10

11 Κεφάλαιο 1 Εισαγωγή ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ Η σύλληψη και αναπαράσταση σημάτων φωνής με αναλογικά ηλεκτρικά σήματα ξεκίνησε με την εφεύρεση του τηλεφώνου το 1876 από τον Alexander Graham Bell. Η αξία της εφεύρεσης αυτής ήταν τεράστια για την ανθρωπότητα, ωστόσο για σχεδόν έναν ακόμη αιώνα υπήρξε μια σχετική στασιμότητα στην εξέλιξη των τηλεπικοινωνιών, λόγω των τεχνικών περιορισμών που ενυπήρχαν στην αναλογική μετάδοση σημάτων. Από τα μέσα του 20ου αιώνα η κατάσταση αυτή άλλαξε άρδην. Η πρόοδος στην ηλεκτρονική τεχνολογία επέτρεψε τη μετάβαση από το αναλογικό στο ψηφιακό σήμα, γεγονός που συνέδεσε στενά τον κλάδο των τηλεπικοινωνιών με τον ραγδαία αναπτυσσόμενο κλάδο των ψηφιακών συστημάτων. Εφόσον ένα αναλογικό σήμα μπορούσε πλέον να αναπαρασταθεί από ένα πλήθος δυαδικών λέξεων, δημιουργούνταν τεράστιες προοπτικές αναβάθμισης της ποιότητας των τηλεπικοινωνιακών υπηρεσιών. Συνακόλουθα, ο επιστημονικός κόσμος στράφηκε προς τη μελέτη των ψηφιακών σημάτων και ανέπτυξε γρήγορα μεθόδους επεξεργασίας, μετάδοσης, αποθήκευσης κ.ο.κ. Η βασική ιδέα της ψηφιοποίησης ενός αναλογικού σήματος φωνής είναι η δειγματοληψία του ανά τακτά χρονικά διαστήματα και ο κβαντισμός των τιμών του σε ένα πλήθος επιπέδων (ή σταθμών). Αυτή είναι η τεχνική PCM (Pulse Code Modulation), η πρώτη που χρησιμοποιήθηκε και η απλούστερη στην υλοποίηση. Η ανθρώπινη φωνή περιέχει συχνοτικές συνιστώσες από 30 Hz μέχρι 8000 Ηz, αλλά οι συχνότητες άνω των 4000 Hz είναι ακουστικά ασήμαντες. Περιορίζοντας το εύρος ζώνης της φωνής στα 4 khz, το θεώρημα δειγματοληψίας του Nyquist επιβάλλει διπλάσιο ρυθμό δειγματοληψίας (8 khz, ήτοι 8000 δείγματα/sec) για σωστή ανακατασκευή του αρχικού αναλογικού σήματος. Ο κβαντισμός κάθε δείγματος γίνεται συνήθως από 8 bit (256 στάθμες). Έτσι, για να είναι εφικτή η επικοινωνία σε πραγματικό χρόνο, απαιτείται ρυθμός μετάδοσης =64000 bits/sec, ο οποίος είναι και ο τυπικός ρυθμός μετάδοσης στα συστήματα PCM. Η δειγματοληψία και ο κβαντισμός του αναλογικού σήματος επιτελούνται από έναν μετατροπέα αναλογικού σε ψηφιακό (A/D converter) ενώ η ανάκτηση του αναλογικού σήματος από το ψηφιακό εκτελείται από έναν μετατροπέα ψηφιακού σε αναλογικό (D/A converter). 1

12 Κεφάλαιο 1 Εισαγωγή Ένα σύστημα PCM για ψηφιοποίηση φωνής φαίνεται στο σχήμα 1-1. Σχήμα 1-1 Σύστημα PCM για ψηφιοποίηση φωνής Για τη μείωση του ρυθμού μετάδοσης αναπτύχθηκαν μέθοδοι συμπίεσης, οι οποίες μειώνουν το απαιτούμενο εύρος ζώνης μέσω επεξεργασίας του ψηφιακού σήματος. Οι μέθοδοι αυτές προσπαθούν να βρουν μια ισοδύναμη περιγραφή του σήματος, η οποία να απαιτεί λιγότερα bits αναπαράστασης και ταυτόχρονα να μπορεί να παράγει την αρχική μορφή του σήματος ή έστω ένα προσεγγιστικό αντίγραφο. Σταδιακά αναπτύχθηκαν πολυάριθμες μέθοδοι συμπίεσης και σύντομα διαχωρίστηκαν οι μέθοδοι συμπίεσης ήχου κάθε μορφής από τις μεθόδους συμπίεσης αποκλειστικά σημάτων φωνής. Ο λόγος είναι ότι τα σήματα φωνής παράγονται από έναν ειδικό μηχανισμό, το φωνητικό σύστημα του ανθρώπου, ο οποίος μπορεί να μοντελοποιηθεί με αρκετή ακρίβεια. Το μοντέλο της φωνής αναπαρίσταται ικανοποιητικά με ελάχιστα bits, άρα ο ρυθμός μετάδοσης μπορεί να μειωθεί δραματικά όταν μεταδίδονται μόνο σήματα φωνής (πχ τηλεφωνικές συνομιλίες). Τυπικοί ρυθμοί μετάδοσης τέτοιων μεθόδων περιλαμβάνουν 4800 bps, 2400 bps, 1200 bps, 800 bps και 300 bps, δηλαδή έχουμε συμπιέσεις της τάξης του 13:1 έως 200:1. Το κυριότερο πρόβλημα των μεθόδων συμπίεσης φωνής είναι ότι έχουν υψηλές απαιτήσεις επεξεργαστικής ισχύος, διότι η ακριβής μοντελοποίηση του φωνητικού συστήματος απαιτεί συχνά πολλές επαναλήψεις βελτιστοποίησης μέσω μιας διαδικασίας δοκιμής και σφάλματος. Αυτό κάνει δύσκολη την υλοποίησή τους σε συστήματα πραγματικού χρόνου, όπου οι χρονικοί περιορισμοί είναι μεγάλοι και απαιτείται συνεχής ροή δεδομένων προς το κανάλι μετάδοσης. Η επίλυση αυτού του προβλήματος επιτυγχάνεται σήμερα με τα σύγχρονα ψηφιακά συστήματα υψηλών επιδόσεων. Μικροεπεξεργαστές υψηλής ταχύτητας, παράλληλα συστήματα, κυκλώματα ASIC και προγραμματιζόμενα λογικά κυκλώματα (κυρίως FPGA) μπορούν να χρησιμοποιηθούν για να επιτευχθεί γρήγορη κωδικοποίηση και αποκωδικοποίηση. Ιδιαίτερα τα κυκλώματα ASIC και τα FPGA προσφέρονται για τέτοιες εφαρμογές λόγω της αρχιτεκτονικής τους, η οποία παρέχει απευθείας 2

13 Κεφάλαιο 1 Εισαγωγή πρόσβαση στο υλικό (hardware) και επιτρέπει τη βέλτιστη χρήση των ψηφιακών πόρων του ολοκληρωμένου κυκλώματος. Στην παρούσα διπλωματική εργασία γίνεται μία αναλυτική παρουσίαση του προτύπου κωδικοποίησης φωνής LPC-10e (ή FS-1015), το οποίο παράγει συμπιεσμένο ήχο στα 2400 bps. Στη συνέχεια, παρουσιάζεται η αρχιτεκτονική των FPGA της οικογένειας Xilinx Virtex-4 με στόχο την υλοποίηση του προτύπου LPC10e σε ένα τέτοιο κύκλωμα. Στα πλαίσια της διπλωματικής, οι είσοδοι και έξοδοι του προτύπου είναι ψηφιακά σήματα PCM που αποθηκεύονται στη μνήμη ενός προσωπικού υπολογιστή. Το σχηματικό διάγραμμα μιας υλοποίησης πραγματικού χρόνου με αναλογική είσοδο και έξοδο φαίνεται στο σχήμα 1-2. Σχήμα 1-2 Σχηματικό διάγραμμα συστήματος επικοινωνίας βασισμένου στο πρότυπο LPC-10e (μονόδρομη επικοινωνία) Στο σχήμα 1-3 φαίνεται ένα πραγματικό κύκλωμα υλοποίησης του προτύπου LPC-10e με χρήση της πλακέτας ML402. Στο σχήμα αυτό η κωδικοποίηση και αποκωδικοποίηση εκτελούνται από το ίδιο FPGA ελλείψει καναλιού επικοινωνίας. Όλες οι υπόλοιπες λειτουργίες όμως εκτελούνται κανονικά. Την καρδιά του codec αυτού αποτελεί ένα Virtex-4 FPGA, τοποθετημένο επάνω στην πλακέτα ML402, ενώ η είσοδος και έξοδος του codec μπορεί να είναι είτε αναλογικές (οπότε χρησιμοποιούνται μικρόφωνο και ηχεία) είτε ψηφιακές (οπότε τα δείγματα του ήχου μεταφέρονται από και προς έναν προσωπικό υπολογιστή μέσω της θύρας RS-232). 3

14 Κεφάλαιο 1 Εισαγωγή Σχήμα 1-3 Κύκλωμα υλοποίησης του προτύπου LPC-10e Η δομή της διπλωματικής εργασίας έχει ως εξής: Στο κεφάλαιο 2, μετά από μια σύντομη εισαγωγή στην ψηφιακή επεξεργασία σήματος, γίνεται αναφορά στην ιστορική διαδρομή της κωδικοποίησης ήχου και φωνής και εξετάζονται οι τεχνολογίες των σύγχρονων κωδικοποιητών φωνής. Στο κεφάλαιο 3 παρουσιάζεται το πρότυπο LPC-10e (FS-1015), πρώτα περιληπτικά για την κατανόηση των βασικών του σημείων, και στη συνέχεια αναλυτικά με στόχο την παροχή όσο το δυνατόν περισσότερων πληροφοριών που να καθιστούν δυνατή την υλοποίησή του από τον αναγνώστη. Στο κεφάλαιο 4 γίνεται μια σύντομη εισαγωγή στα κυκλώματα FPGA και στη συνέχεια αναλύονται τα βασικά στοιχεία της αρχιτεκτονικής των Virtex-4 FPGA της εταιρείας Xilinx. Στο κεφάλαιο 5 παρουσιάζεται η αναπτυξιακή πλακέτα ML402, η οποία αποτελεί ένα κατάλληλο περιβάλλον υποδοχής του Virtex-4 FPGA και παρέχει συνδεσιμότητα με άλλες συσκευές. Στο κεφάλαιο 6 παρουσιάζεται η υλοποίηση του αποκωδικοποιητή LPC-10e σε γλώσσα VHDL και παρατίθενται τα αποτελέσματα της προσομοίωσης με τον ISE Simulator (version 10.1). Τέλος, στο κεφάλαιο 7 γίνεται η ανακεφαλαίωση της διπλωματικής εργασίας καθώς και μια κριτική θεώρηση του προτύπου LPC-10e. 4

15 Κεφάλαιο 2 Κωδικοποίηση φωνής ΚΕΦΑΛΑΙΟ 2 ΚΩΔΙΚΟΠΟΙΗΣΗ ΦΩΝΗΣ 2.1. ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΟΣ Τι είναι η επεξεργασία σήματος Ως Επεξεργασία Σήματος ορίζεται ο κλάδος της επιστήμης που ασχολείται με τις μεθόδους διαχείρισης ηλεκτρικών (ως επί το πλείστον) σημάτων. Η έννοια της διαχείρισης σήματος μπορεί να περιλαμβάνει τη σύλληψη, επεξεργασία, μετάδοση, αποθήκευση ή ανάκτηση ενός σήματος. Γενικότερα μπορεί να ειπωθεί ότι ο στόχος της επεξεργασίας σήματος είναι η μετατροπή ενός αρχικού σήματος σε ένα νέο σήμα, το οποίο έχει ορισμένα επιθυμητά χαρακτηριστικά. Μέχρι τα μέσα περίπου του 20 ού αιώνα η επεξεργασία σήματος αφορούσε εξ ολοκλήρου αναλογικά σήματα, δηλαδή σήματα που αναπαρίστανται με συνεχή τρόπο τόσο ως προς το πεδίο ορισμού όσο και ως προς το πεδίο τιμών τους. Ένα αναλογικό σήμα είναι πρακτικά η τιμή κάποιου ηλεκτρικού μεγέθους ενός κυκλώματος, πχ η τάση ενός κόμβου, η ένταση του ρεύματος ενός κλάδου, το ηλεκτρικό φορτίο ενός πυκνωτή κλπ. Η επεξεργασία αυτών των σημάτων γίνεται από ηλεκτρικά κυκλώματα, τα οποία αποτελούνται με τη σειρά τους από ηλεκτρονικά εξαρτήματα (αντιστάσεις, πηνία, πυκνωτές, τρανζίστορς, διόδους κλπ). Διάφορα είδη κυκλωμάτων μπορούν να χρησιμοποιηθούν για διαφορετικούς σκοπούς (ενισχυτές, φίλτρα κ.α.) Από το αναλογικό στο ψηφιακό σήμα Η ραγδαία ανάπτυξη των ψηφιακών συστημάτων κατά το δεύτερο μισό του 20 ου αιώνα επέφερε σαρωτικές αλλαγές σε όλα τα πεδία δραστηριοτήτων του ηλεκτρολόγου μηχανικού. Ο κλάδος της επεξεργασίας σήματος δεν θα μπορούσε να μείνει ανεπηρέαστος. Σύντομα φάνηκε ότι η ψηφιοποίηση των αναλογικών σημάτων και η ψηφιακή επεξεργασία τους έχει πολλά πλεονεκτήματα έναντι της προγενέστερης αναλογικής επεξεργασίας. Έτσι η ψηφιακή επεξεργασία σήματος έγινε το επίκεντρο της επιστημονικής έρευνας μέχρι σήμερα, παρότι και η αναλογική προσέγγιση δεν έχει παραμεριστεί εντελώς και ακόμα χρησιμοποιείται σε διάφορες εφαρμογές. 5

16 Κεφάλαιο 2 Κωδικοποίηση φωνής Η μετάβαση από το αναλογικό στο ψηφιακό σήμα γίνεται σε δύο στάδια: πρώτα με δειγματοληψία και στη συνέχεια με κβαντισμό. Θεωρώντας ότι το εξεταζόμενο σήμα είναι μονοδιάστατο με ανεξάρτητη μεταβλητή τον χρόνο μπορούμε να ορίσουμε: Δειγματοληψία είναι η καταγραφή της τιμής του σήματος ανά τακτά χρονικά διαστήματα Τ. Το διάστημα Τ λέγεται περίοδος δειγματοληψίας. Έτσι προκύπτει ένα νέο διακριτό σήμα: x[n] x(nt ), n Μέσω της δειγματοληψίας δηλαδή επιτυγχάνεται η διακριτοποίηση του πεδίου ορισμού του σήματος. Κβαντισμός είναι ο χωρισμός του πεδίου τιμών του σήματος σε ένα πεπερασμένο αριθμό συνεκτικών διαστημάτων και η αντιστοίχιση κάθε τέτοιου διαστήματος σε ένα και μοναδικό σύμβολο. Μέσω του κβαντισμού δηλαδή επιτυγχάνεται η διακριτοποίηση του πεδίου τιμών του σήματος. Η δειγματοληψία ενός αναλογικού σήματος ακολουθούμενη από κβαντισμό ονομάζεται ψηφιοποίηση του σήματος (σχήμα 2-1). α β Σχήμα 2-1 Δειγματοληψία (α) και κβαντισμός (β) ενός σήματος ημιτόνου Σε ένα ψηφιακό σύστημα επεξεργασίας σήματος η ψηφιοποίηση των αναλογικών σημάτων επιτυγχάνεται μέσω ενός μετατροπέα A/D (Analog to Digital Converter). Ένας μετατροπέας A/D δέχεται στην είσοδό του ένα αναλογικό σήμα και παράγει δυαδικές λέξεις, οι οποίες αναπαριστούν το ψηφιοποιημένο σήμα. Έτσι ένα ψηφιακό σύστημα μπορεί πλέον να επεξεργαστεί το σήμα. Η έξοδος του ψηφιακού συστήματος πρέπει συνήθως να μετατραπεί ξανά σε αναλογική μορφή. Αυτό επιτυγχάνεται μέσω ενός μετατροπέα D/A (Digital to Analog Converter), ο οποίος εκτελεί τον αποκβαντισμό και την ανακατασκευή του αναλογικού σήματος από το αντίστοιχο ψηφιακό. 6

17 Κεφάλαιο 2 Κωδικοποίηση φωνής Το σχηματικό διάγραμμα ενός συστήματος ψηφιακής επεξεργασίας δίνεται στο σχήμα 2-2. Σχήμα 2-2 Σύστημα ψηφιακής επεξεργασίας σήματος Αξίζει να σημειώσουμε ότι η δειγματοληψία είναι υπό προϋποθέσεις αναστρέψιμη διαδικασία, δηλαδή μπορούμε να αναπαράγουμε το αρχικό σήμα από το δειγματοληπτημένο. Η συνθήκη τέλειας ανακατασκευής του αρχικού σήματος εκφράστηκε από τον Nyquist με το ομώνυμο θεώρημα. Για μονοδιάστατα σήματα το θεώρημα αυτό εκφράζεται ως: Θεώρημα Nyquist Η τέλεια ανακατασκευή ενός αρχικού σήματος από το σύνολο των δειγμάτων του είναι δυνατή αν και μόνο αν η συχνότητα δειγματοληψίας είναι τουλάχιστον διπλάσια της μέγιστης συχνότητας που εμφανίζεται στο αρχικό σήμα. Δηλαδή πρέπει να ισχύει: f s 2 Fmax, όπου f s : συχνότητα δειγματοληψίας Fmax : μέγιστη συχνότητα αρχικού σήματος Σε αντίθεση με τη δειγματοληψία, ο κβαντισμός δεν είναι αναστρέψιμη διαδικασία. Έτσι πάντα χάνεται πληροφορία όταν ένα σήμα ψηφιοποιείται και στη συνέχεια απο-ψηφιοποιείται. Η ψηφιακή επεξεργασία σήματος βρίσκει σήμερα πάρα πολλές εφαρμογές σε ποικίλα επιστημονικά πεδία. Οι κυριότερες από αυτές εμπίπτουν στην κατηγορία της επεξεργασίας και συμπίεσης πολυμέσων (ήχου, βίντεο εικόνας). Από τα υπόλοιπα πεδία εφαρμογής ενδεικτικά αναφέρουμε την βιοϊατρική τεχνολογία, τα συστήματα radar, συστήματα συλλογής σεισμικών δεδομένων, πρόβλεψη καιρού, οικονομικά μοντέλα κλπ. Στα πλαίσια της παρούσας διπλωματικής μας ενδιαφέρει η εφαρμογή της ψηφιακής επεξεργασίας σήματος στην επεξεργασία του ήχου, και πιο συγκεκριμένα στην κωδικοποίηση φωνής Εξέλιξη της κωδικοποίησης ψηφιακού ήχου Η κωδικοποίηση ψηφιακού ήχου παρουσιάστηκε ως ιδέα στις αρχές του 20ου αιώνα. Η πρώτη τεχνική κωδικοποίησης ήταν η απλή δειγματοληψία και κβαντισμός ενός αναλογικού σήματος, που ονομάστηκε παλμοκωδική διαμόρφωση (Pulse Code Modulation - PCM). Ωστόσο, μέχρι το 1950 οι εφαρμογές ψηφιακού ήχου ήταν σχεδόν ανύπαρκτες καθώς η απαραίτητη ηλεκτρονική τεχνολογία βρισκόταν ακόμα σε βρεφικό στάδιο. Τις δεκαετίες του 1950 και 1960 έχουμε την εμφάνιση μερικών 7

18 Κεφάλαιο 2 Κωδικοποίηση φωνής πιο εξεζητημένων τεχνικών (διαμόρφωση δέλτα, DPCM) καθώς και περιορισμένες υλοποιήσεις ψηφιακής επεξεργασίας ήχου στους πρώτους υπολογιστές. Οι σημαντικότερες όμως εξελίξεις σημειώθηκαν από το 1970 και έπειτα, υποβοηθούμενες τόσο από την τεχνολογική έκρηξη των ψηφιακών συστημάτων (συμπεριλαμβανομένων των ηλεκτρονικών υπολογιστών) όσο και από τις προόδους στον ευρύτερο τομέα της ψηφιακής επεξεργασίας σήματος (ανακάλυψη ψηφιακών φίλτρων, FFT κλπ). Έκτοτε το θεωρητικό υπόβαθρο της ψηφιακής επεξεργασίας ήχου έχει τελειοποιηθεί, ενώ πληθώρα μεθόδων κωδικοποίησης έχουν βρει εφαρμογή στους τομείς των ενσύρματων και ασύρματων επικοινωνιών αλλά και στη μουσική βιομηχανία. Ένας από τους κυριότερους στόχους της έρευνας στην περιοχή της ψηφιακής επεξεργασίας ήχου είναι η συμπίεση ενός σήματος ήχου, χωρίς να μεταβληθεί αισθητά η ποιότητα. Για τον σκοπό αυτό αναπτύχθηκαν πολλές τεχνικές, οι οποίες χρησιμοποιούν διάφορες προσεγγίσεις κωδικοποίησης. Οι πιο επιτυχημένες μέθοδοι συμπίεσης έχουν προτυποποιηθεί από διεθνείς οργανισμούς και τυγχάνουν ευρείας αποδοχής παγκοσμίως, ενώ η έρευνα για τη βελτίωση των υπαρχόντων και την εισαγωγή νέων προτύπων συνεχίζεται μέχρι σήμερα. Γενικά, τα διάφορα πρότυπα ομαδοποιούνται σε δύο μεγάλες κατηγορίες: 1) Πρότυπα που αποσκοπούν στην κωδικοποίηση σημάτων φωνής Τα πρότυπα αυτά κωδικοποιούν ένα σήμα με την παραδοχή ότι πρόκειται για σήμα φωνής. Είναι γνωστό ότι ένα σήμα φωνής έχει συγκεκριμένη μορφή και ιδιότητες (βλ. παρ. 2.2). Εκμεταλλευόμενοι αυτές τις ιδιότητες της φωνής έχουν αναπτυχθεί αλγόριθμοι κωδικοποίησης που επιτυγχάνουν μεγάλη συμπίεση. Οι πιο γνωστοί και ευρέως αποδεκτοί φορείς προτυποποίησης στην κωδικοποίηση φωνής είναι η ITU (International Telecommunication Union) και ο ευρωπαϊκός φορέας ETSI (European Telecommunications Standards Institute). 2) Πρότυπα που αποσκοπούν στην κωδικοποίηση οποιασδήποτε κυματομορφής ήχου Τα πρότυπα αυτά είναι γενικότερα των προηγούμενων και βρίσκουν εφαρμογή κυρίως στην κωδικοποίηση σημάτων μουσικής. Μία μεγάλη κατηγορία τέτοιων τεχνικών κωδικοποίησης εντάσσονται στο είδος της αντιληπτικής κωδικοποίησης (perceptual coding). Κατά την αντιληπτική κωδικοποίηση λαμβάνονται υπόψιν τα χαρακτηριστικά της ανθρώπινης ακοής, ώστε τα σφάλματα κβαντισμού που προκύπτουν από τον μεγάλο βαθμό συμπίεσης να μην γίνονται αντιληπτά από το ανθρώπινο ακουστικό αισθητήριο. Το πιο αντιπροσωπευτικό πρότυπο αντιληπτικής κωδικοποίησης είναι το MPEG-1 Audio Layer 3 ή MP3. Κύριος φορέας προτυποποίησης αυτών των προτύπων είναι ο ISO και η IEC. Στη συνέχεια, θα ασχοληθούμε με τα πρότυπα κωδικοποίησης φωνής. Για να μπορέσουμε όμως να μελετήσουμε εις βάθος τα πρότυπα κωδικοποίησης φωνής, πρέπει πρώτα να κάνουμε μια σύντομη αναφορά στο ανθρώπινο φωνητικό σύστημα. 8

19 Κεφάλαιο 2 Κωδικοποίηση φωνής 2.2. ΑΡΧΕΣ ΦΩΝΗΤΙΚΗΣ ΤΟ ΑΝΘΡΩΠΙΝΟ ΦΩΝΗΤΙΚΟ ΣΥΣΤΗΜΑ Το ανθρώπινο φωνητικό σύστημα αποτελείται από τους πνεύμονες, την τραχεία, τις φωνητικές χορδές, το λάρυγγα, τη στοματική κοιλότητα και την ρινική κοιλότητα, όπως φαίνεται στο Σχήμα 2-3. Τα τμήματα που βρίσκονται πάνω από τις φωνητικές χορδές, δηλαδή ο λάρυγγας, η στοματική και η ρινική κοιλότητα αποτελούν τη φωνητική οδό. Σχήμα 2-3 Το ανθρώπινο φωνητικό σύστημα Πρωτεύοντα ρόλο στην παραγωγή της φωνής έχουν οι φωνητικές χορδές. Οι φωνητικές χορδές είναι δύο βλεννώδεις μεμβράνες που ελέγχουν τη ροή του αέρα από και προς τους πνεύμονες. Κατά τη φυσιολογική αναπνοή, οι φωνητικές χορδές είναι τελείως ανοικτές, για να επιτρέπουν τη δίοδο του αέρα με ευκολία. Κατά τη φώνηση όμως, οι φωνητικές χορδές συμπλησιάζουν μεταξύ τους κατά τρόπο ώστε η δίοδος του αέρα από τους πνεύμονες προς τα έξω να προκαλεί τη δόνησή τους. Τα συνήθη φωνήματα που μπορεί να αρθρώσει ένας άνθρωπος διακρίνονται σε δύο κατηγορίες: τα έμφωνα (voiced) και τα άφωνα (unvoiced). Για να αρθρωθεί ένα έμφωνο φώνημα, οι φωνητικές χορδές συγκλίνουν μεταξύ τους μειώνοντας τη διατομή της τραχείας. Κατά αυτόν τον τρόπο, η πίεση του εξερχόμενου από τους πνεύμονες αέρα αυξάνεται και τελικά ο αέρας βρίσκει διέξοδο διαμέσου των χορδών προς το λάρυγγα προκαλώντας την ταλάντωση των χορδών και τη δημιουργία ενός περιοδικού κύματος πίεσης. Το κύμα αυτό έχει τη 9

20 Κεφάλαιο 2 Κωδικοποίηση φωνής μορφή ακολουθίας μοναδιαίων ώσεων με κυρίαρχη συχνότητα που ονομάζεται pitch. Ο όρος pitch χρησιμοποιείται αδιάκριτα στη διεθνή βιβλιογραφία για να περιγράψει τόσο την βασική συχνότητα του σήματος πίεσης όσο και την αντίστοιχη περίοδό του. Στη συνέχεια το κύμα πίεσης διοχετεύεται στη στοματική και ρινική κοιλότητα όπου υφίσταται διαδοχικούς συντονισμούς ανάλογα με το εκάστοτε σχήμα των κοιλοτήτων αυτών (καθοριστικό ρόλο παίζουν η γλώσσα, τα δόντια και τα χείλια). Δημιουργούνται έτσι πολλές επιπλέον συχνότητες με μικρότερα πλάτη, εκτός του pitch, προτού το τελικό αυτό κύμα πίεσης εξέλθει από τον ανθρώπινο οργανισμό και διαχυθεί στο περιβάλλον. Η συχνότητα pitch μαζί με τις κύριες συχνότητες συντονισμού ονομάζονται formants και είναι χαρακτηριστικές του κάθε έμφωνου φωνήματος, αν και υπάρχουν αποκλίσεις των formants από άνθρωπο σε άνθρωπο ανάλογα με το φύλο, τη μάζα των φωνητικών χορδών, την ανατομία της στοματικής κοιλότητας και άλλους βιολογικούς παράγοντες. Στο σχήμα 2-4 φαίνεται το εύρος των συχνοτήτων pitch για τις τέσσερις φωνές μιας χορωδίας (σοπράνο, άλτο, τενόρος, μπάσος) συγκριτικά με το εύρος του pitch σε φυσιολογική ομιλία. Στο σχήμα 2-5 φαίνονται οι θέσεις των formants για μερικά συνηθισμένα έμφωνα φωνήματα της αγγλικής γλώσσας. Σχήμα 2-4 εύρος συχνοτήτων pitch των τεσσάρων φωνών μιας χορωδίας 10

21 Κεφάλαιο 2 Κωδικοποίηση φωνής Σχήμα 2-5 θέσεις των formants για τυπικά έμφωνα φωνήματα της αγγλικής γλώσας Αντίθετα, τα άφωνα φωνήματα χαρακτηρίζονται από την έλλειψη περιοδικής διέγερσης της φωνητικής οδού. Ένα άφωνο φώνημα μπορεί να παραχθεί με δύο τρόπους: είτε από στροβιλισμό του αέρα εντός της στοματικής κοιλότητας και διαμόρφωση μέσω των χειλέων και των δοντιών (πχ σ ), οπότε το σήμα που προκύπτει έχει τα χαρακτηριστικά ενός σήματος θορύβου, είτε από στιγμιαία διέγερση της φωνητικής οδού (πχ π ). Στα έμφωνα φωνήματα περιλαμβάνονται όλα τα φωνήεντα ( α, ε, ι, ο ) καθώς και αρκετά σύμφωνα (όπως τα β, λ, μ, ν, ρ ). Τα υπόλοιπα σύμφωνα αποτελούν τα άφωνα φωνήματα (όπως τα κ, τ, π ). Αξίζει να σημειωθεί ακόμη ότι στα έμφωνα φωνήματα περιέχεται σχεδόν το σύνολο της ενέργειας ενός σήματος ομιλίας. Από την άλλη η ενέργεια ενός άφωνου φωνήματος είναι πολύ μικρή με αποτέλεσμα οι υψηλές συχνότητες, που ενυπάρχουν και στα δύο είδη φωνημάτων, να κυριαρχούν στα άφωνα, κάνοντάς τα έτσι να μοιάζουν με σήματα θορύβου. Τέλος, το φασματικό περιεχόμενο ενός σήματος φωνής κυμαίνεται μεταξύ των 30 Hz και 8000 Hz, όμως το σύνολο σχεδόν της ενέργειας του σήματος περιέχεται στη ζώνη μέχρι τα 4000 Hz. Στα σχήματα 2-6α και 2-6β φαίνονται οι κυματομορφές μερικών έμφωνων και άφωνων φωνημάτων μαζί με τα αντίστοιχα φάσματα συχνοτήτων. 11

22 Κεφάλαιο 2 Κωδικοποίηση φωνής Σχήμα 2-6α κυματομορφές και φάσματα έμφωνων φωνημάτων Σχήμα 2-6β κυματομορφές και φάσματα άφωνων φωνημάτων 12

23 Κεφάλαιο 2 Κωδικοποίηση φωνής 2.3. ΚΩΔΙΚΟΠΟΙΗΣΗ ΦΩΝΗΣ ΠΑΡΕΛΘΟΝ, ΠΑΡΟΝ ΚΑΙ ΜΕΛΛΟΝ Εισαγωγή Ιστορικά, το βασικό ζητούμενο κατά τα πρώτα στάδια της ψηφιακής επεξεργασίας ήχου ήταν η κωδικοποίηση της ανθρώπινης φωνής. Καθώς το ήδη εκτεταμένο αναλογικό τηλεφωνικό δίκτυο (PSTN) άρχισε να ψηφιοποιείται κατά τη δεκαετία του 1970, αναζητήθηκαν τρόποι μείωσης του ρυθμού μετάδοσης της φωνής ώστε να εξοικονομηθεί εύρος ζώνης στα τηλεφωνικά κανάλια. Η πρώτη τεχνική ψηφιακής κωδικοποίησης φωνής που χρησιμοποιήθηκε στο τηλεφωνικό δίκτυο ήταν το PCM, με συχνότητα δειγματοληψίας 8 khz και μη ομοιόμορφο κβαντιστή 256 επιπέδων (8 bits ανά δείγμα), οπότε απαιτείται ρυθμός μετάδοσης 64 kbps. Έκτοτε έγιναν προσπάθειες μείωσης αυτού του ρυθμού μετάδοσης με παράλληλη διατήρηση της ποιότητας του ήχου. Όμως, παρότι οι προσπάθειες αυτές απέδωσαν καλύτερες τεχνικές κωδικοποίησης, το PCM τελικά εδραιώθηκε στο τηλεφωνικό δίκτυο κυρίως λόγω της σημαντικής υποδομής PCM που είχε ήδη εγκατασταθεί. Καταλυτικό ρόλο στην έρευνα σχετικά με την κωδικοποίηση φωνής έπαιξε η αύξηση των ασύρματων δικτύων και υπηρεσιών κάθε μορφής. Το τηλεπικοινωνιακό φάσμα συχνοτήτων έγινε σιγά-σιγά «σπάνιος πόρος» (rare resource) και το διαθέσιμο εύρος ζώνης για οποιαδήποτε μετάδοση περιορίστηκε. Έτσι, η ανάγκη για συμπίεση φωνής έγινε έκδηλη, ιδιαίτερα στην αναπτυσσόμενη βιομηχανία της κινητής τηλεφωνίας. Σήμερα πλέον, υπάρχει πληθώρα προτύπων και εξεζητημένων τεχνικών για την κωδικοποίηση φωνής ενώ περαιτέρω έρευνα στοχεύει στην βελτίωση της ποιότητας του ήχου για τους πολύ χαμηλούς ρυθμούς μετάδοσης Κατηγοριοποίηση κωδικοποιητών φωνής Οι προσεγγίσεις που χρησιμοποιούνται στην κωδικοποίηση φωνής μπορούν να ενταχθούν σε δύο μεγάλες κατηγορίες: την κωδικοποίηση κυματομορφής (waveform coding) και την κωδικοποίηση πηγής (source coding), όπως φαίνεται στο σχήμα

24 Κεφάλαιο 2 Κωδικοποίηση φωνής Σχήμα 2-7 ταξινόμηση τεχνικών κωδικοποίησης φωνής Οι κωδικοποιητές κυματομορφής επιχειρούν να μειώσουν το μέγεθος ενός σήματος φωνής συμπιέζοντας την ίδια την κυματομορφή του σήματος. Προσπαθούν δηλαδή να μετατρέψουν το αρχικό σήμα σε μια άλλη μορφή, η οποία μπορεί να αναπαρασταθεί με λιγότερα bits από όσα η αρχική. Η επεξεργασία του σήματος μπορεί να γίνεται στο πεδίο του χρόνου (όπως στις τεχνικές PCM και ADPCM) ή της συχνότητας. Οι κωδικοποιητές αυτής της κατηγορίας δεν λαμβάνουν υπόψιν ότι το κωδικοποιούμενο σήμα είναι σήμα φωνής. Υπό αυτήν την έννοια μπορούν να συμπιέσουν οποιοδήποτε σήμα ήχου. Ωστόσο, επειδή πολλά από αυτά τα πρότυπα αναπτύχθηκαν με σκοπό να εφαρμοστούν σε σήματα φωνής, επικράτησε να εντάσσονται στους κωδικοποιητές φωνής. Οι κωδικοποιητές κυματομορφής μπορούν να επιτύχουν ικανοποιητική ποιότητα φωνής σε ρυθμούς μετάδοσης μέχρι τα 16 kbps. Κάτω από αυτό το όριο η ποιότητα του ήχου υποβαθμίζεται ραγδαία. Από την άλλη πλευρά, οι κωδικοποιητές πηγής (source coders ή vocoders) χρησιμοποιούν μια εντελώς διαφορετική προσέγγιση, λαμβάνοντας υπόψιν ότι η ανθρώπινη φωνή είναι ένα σήμα με ιδιαίτερα χαρακτηριστικά γνωρίσματα. Μάλιστα οι βασικές ιδιότητες της φωνής είναι κοινές για όλους τους ανθρώπους, ανεξαρτήτως της ομιλουμένης γλώσσας, και καθορίζονται από την ανατομία του ανθρώπινου φωνητικού συστήματος, όπως περιγράφεται στην παράγραφο 2.2. Εφόσον γνωρίζουμε με ποιο μηχανισμό παράγεται η φωνή, μπορούμε να δημιουργήσουμε ένα μοντέλο του φωνητικού συστήματος και να κωδικοποιήσουμε τις παραμέτρους του μοντέλου αντί για την ίδια την κυματομορφή. Από τη γνώση των παραμέτρων του μοντέλου μπορεί στη συνέχεια να παραχθεί το αρχικό σήμα, διεγείροντας κατάλληλα το μοντέλο. Δηλαδή, κατά μία έννοια κωδικοποιούμε όχι το ίδιο το σήμα, αλλά οδηγίες για το πώς αυτό μπορεί να παραχθεί. Είναι εμφανές ότι όσο πιο ακριβές είναι το μοντέλο, τόσο καλύτερη και η ανακατασκευή. Αυτή η προσέγγιση ονομάστηκε κωδικοποίηση πηγής, διότι έχοντας γνώση ενός αποτελέσματος (κυματομορφή) προσπαθούμε να προσδιορίσουμε τα 14

25 Κεφάλαιο 2 Κωδικοποίηση φωνής χαρακτηριστικά της πηγής της διαδικασίας (παράμετροι φωνητικού συστήματος). Οι κωδικοποιητές πηγής μπορούν να επιτύχουν εξαιρετικά χαμηλούς ρυθμούς μετάδοσης. Κάποιοι από αυτούς μπορούν να μεταδώσουν κατανοητή ομιλία σε bitrate μόλις 300 bps. Μια περαιτέρω ταξινόμηση των κωδικοποιητών πηγής μπορεί να γίνει με βάση το αν χρησιμοποιούν γραμμική πρόβλεψη (Linear Prediction) ή όχι. Οι κωδικοποιητές γραμμικής πρόβλεψης (Linear Predictive Coders), που αποτελούν την μεγαλύτερη κατηγορία, μοντελοποιούν τη φωνητική οδό ως ένα γραμμικό ψηφιακό φίλτρο Κωδικοποίηση με γραμμική πρόβλεψη (Linear Predictive Coding - LPC) Στην κωδικοποίηση με γραμμική πρόβλεψη, η φωνητική οδός μοντελοποιείται με ένα γραμμικό ψηφιακό φίλτρο, το οποίο διεγείρεται από μία κυματομορφή που προσομοιώνει τη λειτουργία των φωνητικών χορδών. Το μοντέλο της κωδικοποίησης LPC φαίνεται στο σχήμα 2-8. Σχήμα 2-8 γενική μορφή μοντέλου γραμμικής πρόβλεψης LPC Σε έναν κωδικοποιητή LPC, τα δείγματα της φωνής χωρίζονται σε ομάδες στο πεδίο του χρόνου, που ονομάζονται πλαίσια (frames). Κάθε frame περιέχει έναν αριθμό γειτονικών δειγμάτων. Στη συνέχεια το κάθε frame αναλύεται ώστε να εξαχθούν οι παράμετροι της κυματομορφής διέγερσης και του ψηφιακού φίλτρου γραμμικής πρόβλεψης. Αυτές οι παράμετροι, χαρακτηριστικές του frame, υφίστανται κβαντισμό και μεταδίδονται στο δέκτη. Το γραμμικό ψηφιακό φίλτρο που προσομοιώνει τη φωνητική οδό έχει συνήθως τη μορφή: M y n ai y n i Gx n, ό x[n] : ί ί i 1 y[n] : έ ί M : ά έ G : έ ί Δηλαδή το κάθε δείγμα ήχου προσεγγίζεται από έναν γραμμικό συνδυασμό των προηγούμενων δειγμάτων, ενώ ταυτόχρονα λαμβάνεται υπόψιν και η 15

26 Κεφάλαιο 2 Κωδικοποίηση φωνής συνεισφορά της τρέχουσας διέγερσης της φωνητικής οδού (είσοδος x[n]). Οι συντελεστές πρόβλεψης αi υπολογίζονται έτσι ώστε να ελαχιστοποιείται το μέσο τετραγωνικό σφάλμα μεταξύ της αυθεντικής και της συνθετικής κυματομορφής φωνής. Τέλος, η μορφή και οι παράμετροι της κυματομορφής διέγερσης παρουσιάζουν μεγάλη ποικιλία και στην ουσία είναι αυτές που διαφοροποιούν τα πολυάριθμα πρότυπα μεταξύ τους. Ο αποκωδικοποιητής LPC λαμβάνει τις κβαντισμένες παραμέτρους του μοντέλου και, μετά τον αποκβαντισμό, τις χρησιμοποιεί για να παράγει συνθετικό ήχο σύμφωνα με το σχήμα 2-8. Διακρίνονται οι εξής δύο κατηγορίες προτύπων κωδικοποίησης LPC: 1) Analysis/synthesis (Open-loop vocoders) Οι vocoders ανοιχτού βρόχου είναι οι πρώτοι και πιο απλοί κωδικοποιητές LPC φωνής που κατασκευάστηκαν. Κύριο χαρακτηριστικό τους είναι ότι προσπαθούν να χαρακτηρίσουν το κάθε frame ήχου ως έμφωνο ή άφωνο, ανάλογα με το είδος των φωνημάτων που περιέχονται σε αυτό. Σε περίπτωση που το frame χαρακτηριστεί έμφωνο, υπολογίζεται επίσης μια εκτίμηση της περιόδου pitch. Ο χαρακτηρισμός του frame και πιθανόν η τιμή του pitch αποστέλλονται στο δέκτη μαζί με τις παραμέτρους του φίλτρου πρόβλεψης. Εκεί η κυματομορφή διέγερσης παράγεται με τη βοήθεια ενός διακόπτη, ο οποίος επιλέγει μεταξύ μιας περιοδικής ακολουθίας ώσεων με περίοδο pitch (για έμφωνο frame) και μιας κυματομορφής λευκού θορύβου (για άφωνο frame), κατά μίμηση της λειτουργίας του ανθρώπινου φωνητικού συστήματος. Στο σχήμα 2-9 φαίνεται ο αποκωδικοποιητής ενός vocoder ανοιχτού βρόχου. Σχήμα 2-9 αποκωδικοποιητής ενός open-loop vocoder 2) Analysis by Synthesis (Closed-loop coders ή hybrid coders) Η ποιότητα του παραγόμενου ήχου από έναν vocoder ανοιχτού βρόχου είναι γενικά χαμηλή, διότι το μοντέλο του φωνητικού συστήματος που χρησιμοποιείται δεν ανταποκρίνεται επακριβώς στην πραγματικότητα. Ειδικότερα, η προσέγγιση της λειτουργίας των φωνητικών χορδών με μία ακολουθία ώσεων που ισαπέχουν μεταξύ τους και έχουν ίδιο πλάτος 16

27 Κεφάλαιο 2 Κωδικοποίηση φωνής προκαλεί ένα αφύσικο βουητό σε μερικά έμφωνα τμήματα του συνθετικού ήχου. Ακόμα σε περιβάλλοντα θορύβου η αναπαραγόμενη φωνή μπορεί να αλλοιωθεί τόσο ώστε να είναι δύσκολα κατανοητή. Για να αντιμετωπιστούν αυτά τα προβλήματα αναπτύχθηκαν οι κωδικοποιητές κλειστού βρόχου, οι οποίοι επιτυγχάνουν σημαντικά καλύτερη ποιότητα ήχου και ευρωστία στο θόρυβο. Αυτοί κωδικοποιούν εκτός από τις παραμέτρους της φωνητικής οδού και τα χαρακτηριστικά της κυματομορφής διέγερσης, επιλέγοντας από ένα σύνολο τύπων κυματομορφών. Οι κυματομορφές αυτές μπορεί είτε να είναι εκ των προτέρων γνωστές σε πομπό και δέκτη είτε να σχηματίζονται δυναμικά κατά την κωδικοποίηση. Η κατάλληλη κυματομορφή διέγερσης επιλέγεται στον κωδικοποιητή έτσι ώστε να ελαχιστοποιείται το σφάλμα μεταξύ της αυθεντικής και της συνθετικής κυματομορφής ήχου. Για να γίνει αυτό, ο κωδικοποιητής προσομοιώνει τη λειτουργία του αποκωδικοποιητή, δηλαδή, για κάθε ομάδα παραμέτρων που εξετάζεται, συντίθεται το αποκωδικοποιημένο σήμα ήχου και συγκρίνεται με το αυθεντικό. Για αυτό το λόγο οι τεχνικές αυτές ονομάζονται και analysis-bysynthesis. Κατά τον υπολογισμό του σφάλματος λαμβάνονται υπόψιν και τα χαρακτηριστικά της ακοής (αντιληπτική κωδικοποίηση), διότι το ανθρώπινο αυτί δεν αντιλαμβάνεται ως διαφορετικούς δύο ήχους που είναι αρκετά όμοιοι μεταξύ τους (βλ. παρ ). Το σχηματικό διάγραμμα ενός κωδικοποιητή κλειστού βρόχου φαίνεται στο σχήμα Το γραμμικό φίλτρο πρόβλεψης χωρίζεται σε έναν μακροπρόθεσμο προβλέπτη (long term predictor), ο οποίος μοντελοποιεί την περιοδικότητα της φωνής που οφείλεται στο pitch, και έναν βραχυπρόθεσμο προβλέπτη (short term predictor), που μοντελοποιεί την φωνητική οδό όπως και στους κωδικοποιητές ανοιχτού βρόχου. Το φίλτρο W(z) στο σχήμα 2-10 καταστέλλει τις συνιστώσες του σφάλματος που δεν γίνονται αντιληπτές από το ανθρώπινο ακουστικό αισθητήριο. Σχήμα 2-10 διάγραμμα κωδικοποιητή κλειστού βρόχου 17

28 Κεφάλαιο 2 Κωδικοποίηση φωνής Οι κωδικοποιητές κλειστού βρόχου θεωρούνται από μερικούς ως ένα ενδιάμεσο είδος μεταξύ των κωδικοποιητών κυματομορφής και των κωδικοποιητών πηγής. Από τη μία πλευρά χρησιμοποιούν το μοντέλο του ανθρώπινου φωνητικού συστήματος αλλά ταυτόχρονα εξετάζουν την αρχική και την παραγόμενη κυματομορφή επιχειρώντας να ελαχιστοποιήσουν το σφάλμα που προκύπτει, όπως ακριβώς συμβαίνει με τους κωδικοποιητές κυματομορφής (πχ ADPCM). Για αυτό ονομάζονται και υβριδικοί κωδικοποιητές (hybrid coders). Πάντως, η βασική φιλοσοφία πίσω από τη σχεδίασή τους όσο και η προέλευσή τους, τους εντάσσει αναμφισβήτητα στην οικογένεια των vocoders. Στο σχήμα 2-11 συγκρίνεται η ποιότητα του αναπαραγόμενου ήχου και ο ρυθμός μετάδοσης μεταξύ των τριών κατηγοριών κωδικοποιητών φωνής (waveform coders, open-loop vocoders, closed-loop coders). Σχήμα 2-11 ποιότητα ήχου και bit rate των διαφόρων κατηγοριών κωδικοποιητών φωνής 18

29 Κεφάλαιο 2 Κωδικοποίηση φωνής Ορόσημα στην κωδικοποίηση φωνής Στον παρακάτω πίνακα παρουσιάζεται μια ιστορική αναδρομή της κωδικοποίησης φωνής από τις απαρχές της μέχρι και σήμερα. Έτος Γεγονός Ο Wolfgang von Kempelen κατασκευάζει τον πρώτο μηχανικό vocoder Επρόκειτο για μια μηχανή, κατασκευασμένη από εξαρτήματα όπως ένα φυσερό, ένα γλωσσίδι μουσικού οργάνου, μοχλούς και σωλήνες από σόμπα. Η μηχανή αυτή λέγεται ότι μπορούσε να αρθρώσει ολόκληρες φράσεις στην αγγλική, γαλλική, ιταλική και γερμανική γλώσσα. Ο Paul M. Rainey συλλαμβάνει για πρώτη φορά την ιδέα της ψηφιοποίησης 1926 ενός αναλογικού σήματος (PCM) και κατοχυρώνει την εφεύρεσή του με πατέντα. Ο Homer Dudley επιδεικνύει στη Νέα Υόρκη τον VODER (Voice Operating Demonstrator), τον πρώτο ηλεκτρικό αναλογικό vocoder που κατασκευάστηκε 1939 στα εργαστήρια της Bell. Επρόκειτο για ένα αρμόνιο συνδεδεμένο με μία τράπεζα ήχων. Ο χειριστής πιέζοντας πλήκτρα καθόριζε τη διαμόρφωση της φωνητικής οδού, ενώ με μία χειρολαβή επέλεγε μεταξύ έμφωνων και άφωνων φωνημάτων. Το pitch καθοριζόταν με ποδωστήριο. Το SIGSALY είναι ο πρώτος ψηφιακός vocoder και το πρώτο σύστημα που χρησιμοποίησε PCM. Κατασκευάζεται στην Αμερική κατά τη διάρκεια του Β 1943 Παγκοσμίου Πολέμου και χρησιμοποιείται για την επικοινωνία των ηγετών των συμμάχων σε ανώτατο επίπεδο. Το σύστημα συνδύαζε ψηφιοποίηση με αρχές κρυπτογραφίας και κωδικοποίησης φωνής Εισάγεται η τροποποίηση δέλτα (delta modulation), η οποία είναι το πρώτο είδος κωδικοποίησης DPCM (Differential Pulse Code Modulation) Προτείνεται το μ-law PCM, το οποίο χρησιμοποιεί μη ομοιόμορφο κβαντισμό Εισαγωγή του PCM στο τηλεφωνικό δίκτυο PSTN των ΗΠΑ, το PSTN αρχίζει να γίνεται ψηφιακό Το πρότυπο G.711 της ITU προτυποποιεί την κωδικοποίηση PCM στα 64 kbps και ορίζει τις παραλλαγές μ-law και A-law PCM. Αναπτύσσεται το ADPCM (Adaptive Differential Pulse Code Modulation) στα 1974 εργαστήρια της Bell, μια παραλλαγή του DPCM που χρησιμοποιεί προσαρμοζόμενο κβαντιστή. Οι B. Atal και J. Remde εισάγουν τον πρώτο κωδικοποιητή κλειστού βρόχου 1982 analysis-by-synthesis. Η κωδικοποίηση MPE (Multi-Pulse Excitation) χρησιμοποιεί ως κυματομορφή διέγερσης μια απεριοδική ακολουθία ώσεων με μεταβλητά πλάτη, που δημιουργείται δυναμικά για κάθε frame ήχου Το πρότυπο G.721 της ITU προτυποποιεί την κωδικοποίηση ADPCM στα 32 kbps 1984 Το αμερικανικό υπουργείο άμυνας εκδίδει το πρότυπο FS-1015, γνωστό 19

30 Κεφάλαιο 2 Κωδικοποίηση φωνής και ως LPC-10, το οποίο χρησιμοποιεί γραμμική πρόβλεψη και επιτυγχάνει ρυθμό μετάδοσης 2.4 kbps. Οι M. Schroeder και B. Atal εισάγουν τον κωδικοποιητή κλειστού βρόχου CELP (Code Excited Linear Prediction), ο οποίος, μαζί με τις πολλές παραλλαγές του, 1985 είναι ο δημοφιλέστερος αντιπρόσωπος των τεχνικών analysis-by-synthesis. Κύριο χαρακτηριστικό του είναι ότι η κυματομορφή διέγερσης επιλέγεται από ένα σύνολο εκ των προτέρων γνωστών κυματομορφών. Οι P. Kroon και R. Sluyter αναπτύσσουν την κωδικοποίηση κλειστού βρόχου 1986 RPE (Regular Pulse Excitation), όπου η κυματομορφή διέγερσης είναι μια περιοδική ακολουθία ώσεων με μεταβλητά πλάτη Εισάγεται η κωδικοποίηση ACELP (Algebraic CELP) 1990 Εισάγεται η κωδικοποίηση VSELP (Vector Sum Excited Linear Prediction), παραλλαγή της CELP, από τους I. Gerson και M. Jasiuk Η ITU εκδίδει το πρότυπο G.726, στο οποίο ενσωματώνονται τα προγενέστερα 1990 G.721 και G.723. Σε αυτό ορίζεται η κωδικοποίηση ADPCM για ρυθμούς μετάδοσης 16, 24, 32 και 40 kbps Το αμερικανικό υπουργείο άμυνας εκδίδει το πρότυπο FS-1016, το οποίο χρησιμοποιεί κωδικοποίηση CELP και λειτουργεί στα 4.8 kbps. Η ITU εκδίδει το πρότυπο G.728, το οποίο χρησιμοποιεί μια παραλλαγή του 1992 CELP, το LD-CELP (Low Delay CELP), για να μειώσει την καθυστέρηση στην κωδικοποίηση που προκαλείται από το μεγάλο μέγεθος των frames. Λειτουργεί στα 16 kbps. Ο ευρωπαϊκός φορέας ETSI δημοσιεύει την πρώτη έκδοση του προτύπου GSM για χρήση στην κινητή τηλεφωνία. Χρησιμοποιείται κωδικοποίηση RPE στα 12.2 kbps (GSM full rate channel) Εισάγεται η παραλλαγή RCELP (Relaxation Code Excited Linear Prediction) από τους W. B. Kleijn και D. Nahumi 1995 Έκδοση του ETSI GSM 06.20, με κωδικοποίηση VSELP στα 5.6 kbps (GSM half rate channel) Η ITU εκδίδει το πρότυπο G.729, το οποίο χρησιμοποιεί την παραλλαγή CS ACELP (Conjugate Structure Algebraic Code Excited Linear Prediction) για κωδικοποίηση στα 6.4, 8 και 11.8 kbps 1997 Έκδοση του ETSI GSM 06.60, με κωδικοποίηση CS-ACELP στα 12.2 kbps (GSM enhanced full rate) Το αμερικανικό υπουργείο άμυνας εκδίδει το πρότυπο MELP (Mixed Excitation 1997 Linear Prediction), το οποίο λειτουργεί στα 2.4 kbps και αντικαθιστά το προϋπάρχον FS Αργότερα εισάγονται προσθήκες στο MELP που επιτρέπουν μετάδοση και στα 1.2 kbps. Έκδοση του ETSI GSM ή GSM Adaptive Multi-Rate, το οποίο 1999 υποστηρίζει διαφορετικούς ρυθμούς μετάδοσης μεταξύ 4.75 kbps και 12.2 kbps σε κωδικοποίηση CS-ACELP. 20

31 Κεφάλαιο 2 Κωδικοποίηση φωνής Αξιολόγηση κωδικοποιητών φωνής Για την αξιολόγηση της ποιότητας των διαφόρων κωδικοποιητών φωνής χρησιμοποιούνται διάφορα κριτήρια, τα οποία είναι κυρίως υποκειμενικά κριτήρια. Τα υποκειμενικά κριτήρια βασίζονται στην κρίση μιας ομάδας ανθρώπων για να χαρακτηρίσουν την ποιότητα ενός προτύπου, σε αντιδιαστολή με τα αντικειμενικά κριτήρια, τα οποία είναι μετρήσεις ορισμένων μεγεθών του αρχικού και ανακατασκευασμένου σήματος, που σχετίζονται με την ποιότητα της προσέγγισης. Για παράδειγμα το SNR (Signal to Noise Ratio) είναι ένα αντικειμενικό κριτήριο. Το πιο ευρέως χρησιμοποιούμενο υποκειμενικό κριτήριο είναι το MOS (Mean Opinion Score). Σύμφωνα με αυτό, ζητείται από μία ομάδα 20 έως 60 ανεκπαίδευτων ατόμων να βαθμολογήσουν την ποιότητα της φωνής που παράγεται από ένα συγκεκριμένο πρότυπο. Στη συνέχεια, η μέση τιμή της βαθμολογίας λαμβάνεται ως βαθμός ποιότητας του προτύπου. Η κλίμακα βαθμολόγησης είναι η παρακάτω: βαθμός MOS ποιότητα φωνής χαρακτηριστικά φωνής 5 εξαιρετική (excellent) απόλυτη διαύγεια φωνής 4 καλή (good) καθαρή φωνή 3 ικανοποιητική (fair) ποιότητα επικοινωνιών 2 χαμηλή (poor) συνθετική φωνή 1 κακή (bad) ακατανόητη φωνή Στο σχήμα 2-12 φαίνονται συγκεντρωτικά τα χαρακτηριστικά διαφόρων προτύπων ενώ στο σχήμα 2-13 φαίνεται μια γραφική παράσταση της ποιότητας των διαφόρων προτύπων συναρτήσει του ρυθμού μετάδοσης. 21

32 Κεφάλαιο 2 Κωδικοποίηση φωνής Σχήμα 2-12 Χαρακτηριστικά προτύπων κωδικοποίησης φωνής Σχήμα 2-13 ποιότητα φωνής συναρτήσει του ρυθμού μετάδοσης για διάφορα πρότυπα 22

33 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) ΚΕΦΑΛΑΙΟ 3 ΤΟ ΠΡΟΤΥΠΟ LPC-10e (FS-1015) 3.1. ΓΕΝΙΚΑ Το Υπουργείο Άμυνας των ΗΠΑ προσπαθούσε από τις αρχές της δεκαετίας του 1970 να αναπτύξει ένα πρότυπο για κωδικοποίηση φωνής σε πολύ χαμηλούς ρυθμούς μετάδοσης, χρησιμοποιώντας την κωδικοποίηση γραμμικής πρόβλεψης (Linear Predictive Coding). Το πρότυπο αυτό προοριζόταν για χρήση από τις αμερικανικές ένοπλες δυνάμεις και έπρεπε να έχει τα εξής χαρακτηριστικά: 1) Ψηφιακή επεξεργασία ήχου: σήμερα βέβαια δεν νοείται πρότυπο επεξεργασίας ήχου που να χρησιμοποιεί αναλογικά σήματα, αλλά εκείνη την εποχή η ψηφιακή επεξεργασία ήχου ήταν μια σχετικά πρωτόγνωρη πρακτική. 2) Πολύ χαμηλό ρυθμό μετάδοσης: Το πρότυπο επρόκειτο να χρησιμοποιηθεί σε στρατιωτικά περιβάλλοντα, όπου το διαθέσιμο εύρος ζώνης θα ήταν περιορισμένο (λόγω επίδρασης των καιρικών συνθηκών, έλλειψης τηλεπικοινωνιακής υποδομής, εχθρικών παρεμβολών κλπ). Έτσι, για να ολοκληρωθεί επιτυχώς μια εκπομπή, ήταν αναγκαίο να μειωθεί το bitrate όσο το δυνατόν περισσότερο. 3) Βέλτιστη δυνατή ποιότητα ήχου: Στους χαμηλούς ρυθμούς μετάδοσης υπάρχει έντονο το πρόβλημα της κακής ποιότητας ήχου. Η φωνή που θα αναπαραγόταν στον δέκτη θα έπρεπε να είναι κατανοητή από τον ακροατή. Περισσότερη βαρύτητα όμως δινόταν στην μείωση του ρυθμού μετάδοσης παρά στην ποιότητα. 4) Ασφάλεια: Σε περίπτωση υποκλοπής της επικοινωνίας, η κωδικοποιημένη φωνή έπρεπε να μην μπορεί να αποκωδικοποιηθεί εύκολα. Για τον σκοπό αυτό πάντως χρησιμοποιήθηκαν περισσότερο μέθοδοι κρυπτογραφίας παρά η ίδια η τεχνική κωδικοποίησης. Αποτέλεσμα αυτής της προσπάθειας ήταν η έκδοση του προτύπου FS-1015 (Federal Standard 1015) το Το πρότυπο έγινε ευρύτερα γνωστό ως LPC-10 (Linear Predictive Coding - 10 coefficients), διότι χρησιμοποιούσε γραμμική πρόβλεψη με φίλτρο πρόβλεψης 10 συντελεστών. Αργότερα, μερικές προσθήκες στην αρχική μορφή του προτύπου είχαν ως αποτέλεσμα την δημοσίευση της βελτιωμένης έκδοσης LPC-10e (LPC-10 enhanced) κατά το έτος

34 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) Το LPC-10 είναι ένας vocoder ανοιχτού βρόχου. Ως είσοδο δέχεται ένα ψηφιακό σήμα ήχου, που έχει δειγματοληπτηθεί στα 8 khz και κβαντιστεί στα 16 bit/δείγμα. Η έξοδός του είναι κωδικοποιημένη φωνή στα 2400 bits/sec. Για την υλοποίηση του LPC-10e απαιτείται υπολογιστική ισχύς περίπου 7 MIPS (Million Instructions Per Second), ενώ η μέση καθυστέρηση κωδικοποίησης είναι περίπου 90 ms. Το σήμα ήχου χωρίζεται σε frames, καθένα εκ των οποίων έχει μήκος 180 ms. Έτσι προκύπτουν δειγμάτων ή ισοδύναμα διάρκεια frames/sec. Στο κάθε frame εφαρμόζεται κωδικοποίηση γραμμικής 180 πρόβλεψης και προκύπτουν 54 bits αναπαράστασης του frame. Με αυτά τα δεδομένα, τελικά προκύπτει ο ρυθμός μετάδοσης 44.44x54=2400 bps. Το LPC-10e λαμβάνει βαθμολογία MOS ίση με 2.3 (βλ. παρ ). Η φωνή στον δέκτη είναι συνθετική (μερικές φορές ακούγεται σαν να μιλάει ρομπότ), αλλά παρόλα αυτά είναι τις περισσότερες φορές κατανοητή. Σε συνθήκες θορύβου όμως η ποιότητα της φωνής μειώνεται αισθητά ΣΥΝΟΠΤΙΚΗ ΠΕΡΙΓΡΑΦΗ ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ Μοντέλο Ως ένας κλασσικός vocoder ανοιχτού βρόχου, το πρότυπο LPC-10e χρησιμοποιεί το μοντέλο γραμμικής πρόβλεψης με κατηγοριοποίηση έμφωνων/άφωνων τμημάτων (voiced-unvoiced speech model), όπως φαίνεται στο σχήμα 3-1. Σχήμα 3-1 Μοντελοποίηση φωνής στο πρότυπο LPC-10e 24

35 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) Συνοπτική περιγραφή του κωδικοποιητή Ο κωδικοποιητής δέχεται ως είσοδο ένα σήμα ήχου (8000 Hz, 16 bits) και το χωρίζει σε frames (180 δείγματα/frame). Στη συνέχεια, επεξεργάζεται το κάθε frame για να εξάγει τις παραμέτρους του μοντέλου, δηλαδή τους συντελεστές του γραμμικού φίλτρου πρόβλεψης, το κέρδος του φίλτρου, την περίοδο pitch και τη φωνητική απόφαση (voicing decision). Η κωδικοποίηση εισάγει δύο frames καθυστέρησης, έτσι το bitstream που παράγεται στην έξοδο αντιστοιχεί στο δεύτερο παρελθοντικό frame. Ένα απλοποιημένο διάγραμμα του κωδικοποιητή φαίνεται στο σχήμα 3-2. Σχήμα 3-2 Απλοποιημένο διάγραμμα κωδικοποιητή LPC-10e Τα επιμέρους τμήματα του κωδικοποιητή περιγράφονται παρακάτω: Φωνητική απόφαση (voicing decision) Στο σχήμα 3-3 φαίνεται ένα χαρακτηριστικό έμφωνο και ένα χαρακτηριστικό άφωνο τμήμα ήχου. Σχήμα 3-3 Έμφωνο και άφωνο τμήμα ήχου 25

36 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) Από το σχήμα 3-3 φαίνεται ότι τα έμφωνα και άφωνα τμήματα έχουν ορισμένα χαρακτηριστικά γνωρίσματα, τα οποία μπορούν να χρησιμοποιηθούν για να διακριτοποιήσουν το ένα από το άλλο. Για παράδειγμα, η ενέργεια ενός έμφωνου τμήματος είναι μεγαλύτερη από αυτή ενός άφωνου. Επίσης, το άφωνο τμήμα περιέχει υψηλότερες συχνότητες από το έμφωνο. Έτσι, καθώς η μέση τιμή και των δύο τμημάτων είναι περίπου ίση με 0, ένα άφωνο σήμα αλλάζει πρόσημο περισσότερες φορές από ένα έμφωνο. Για να ληφθεί η φωνητική απόφαση στον κωδικοποιητή του LPC-10e, συνυπολογίζονται διάφορες παράμετροι, όπως ο λόγος της ενέργειας σήματος προς την ενέργεια του θορύβου, ο αριθμός των αλλαγών προσήμου του σήματος, οι τιμές των δύο πρώτων συντελεστών ανάκλασης (βλ. παρακάτω) κ.α. Η κατηγοριοποίηση γίνεται με γραμμικό διαχωρισμό (linear discrimination). Η φωνητική απόφαση υπολογίζεται δύο φορές για κάθε frame, ώστε να κωδικοποιούνται σωστά και τα frames μετάβασης από έμφωνο σε άφωνο ήχο ή αντίστροφα. Τέλος, η φωνητική απόφαση ενδέχεται να τροποποιηθεί ανάλογα με τις αντίστοιχες αποφάσεις των γειτονικών frames. Έτσι διορθώνονται πιθανά λάθη στις φωνητικές αποφάσεις μεμονωμένων frames. Για παράδειγμα, αν βρεθεί ένα έμφωνο frame ανάμεσα σε δύο άφωνα, τότε χαρακτηρίζεται και αυτό άφωνο. Σε περίπτωση που αυτό δεν συνέβαινε, το ακουστικό αποτέλεσμα θα ήταν ενοχλητικό. Για να είναι εφικτή η διόρθωση της φωνητικής απόφασης, πρέπει να είναι διαθέσιμα και τα μελλοντικά frames. Αυτός είναι και ένας από τους λόγους, για τους οποίους εισάγονται 2 frames καθυστέρησης στην κωδικοποίηση. Εύρεση pitch Η περίοδος pitch των έμφωνων τμημάτων ήχου υπολογίζεται με τη βοήθεια της συνάρτησης AMDF (Average Magnitude Difference Function), η οποία ορίζεται ως: AMDF ( P ) 1 N k0 N i k0 1 yi yi P, όπου yi : δείγματα ήχου k0: συνάρτηση του P Ν: σταθερά Είναι γνωστό ότι ο έμφωνος ήχος είναι περιοδικός. Έτσι, αν P είναι το pitch, τα δείγματα ήχου που απέχουν κατά P θα έχουν παραπλήσιες τιμές και η συνάρτηση AMDF(P) θα έχει ολικό ελάχιστο στο P. Συνεπώς, υπολογίζοντας το ολικό ελάχιστο της συνάρτησης AMDF, μπορούμε να βρούμε την περίοδο pitch ενός έμφωνου τμήματος: pitch P AMDF ( P ) min( AMDF ) Ο υπολογισμός της συνάρτησης AMDF διευκολύνεται από το γεγονός ότι το εύρος του pitch στην ανθρώπινη ομιλία είναι περιορισμένο. Στο πρότυπο LPC-10 26

37 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) γίνεται η παραδοχή ότι το pitch κυμαίνεται μεταξύ 2.5 ms και 19.5 ms (ή 51 Hz ως 400 Hz). Για συχνότητα δειγματοληψίας 8 khz αυτό μεταφράζεται σε εύρος P μεταξύ 20 και 156. Η τιμή του pitch στην συνέχεια εξομαλύνεται και διορθώνεται από έναν αλγόριθμο δυναμικού προγραμματισμού, ο οποίος εισάγει 2 frames καθυστέρησης. Εύρεση ενέργειας του frame Η ενέργεια του frame ισούται με το κέρδος του γραμμικού φίλτρου πρόβλεψης και δίνεται από τον τύπο: N rms energy G y i N 2, όπου yi : δείγματα ήχου Ν: αριθμός δειγμάτων Εύρεση μετασχηματισμένων συντελεστών φίλτρου πρόβλεψης (reflection coefficients) Στο πρότυπο LPC-10e χρησιμοποιείται ένα γραμμικό ψηφιακό φίλτρο IIR της μορφής: M y 'n ai yn i Gxn, ό i 1 xn : ί ί y 'n : έ ί ( ί ί yn ) ai : έ ό ( predictor coefficients ) 10 έ ή M 4 ά ή G : έ ί (rms energy ) Το ζητούμενο είναι η εύρεση των συντελεστών πρόβλεψης αi, i=1,2,,m, ώστε η έξοδος του φίλτρου να προσεγγίζει όσο το δυνατόν καλύτερα τα δείγματα του τρέχοντος frame ήχου. Για το σκοπό αυτό πρέπει να ελαχιστοποιηθεί το μέσο τετραγωνικό σφάλμα μεταξύ συνθετικού και αυθεντικού ήχου. Το τετραγωνικό σφάλμα δίνεται από τη σχέση: M en yn ai yn i Gxn i Το μέσο τετραγωνικό σφάλμα ελαχιστοποιείται στα σημεία όπου οι παράγωγοι του σφάλματος ως προς τους συντελεστές αj (j=1,2,,m) μηδενίζονται. Έτσι προκύπτει ένα σύστημα Μ εξισώσεων: E en 2 0 j 27

38 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) 2 M E y a y Gxn 0 j n i 1 i n i M 2 E yn ai yn i Gxn yn j 0 i 1 Θεωρώντας ότι E xn yn j 0, η τελευταία σχέση γίνεται: M a E y i 1 i n i yn j E yn yn j, j=1,2,,μ (1) Για να λυθεί το παραπάνω σύστημα εξισώσεων υπάρχουν δύο μέθοδοι: η μέθοδος της αυτοσυσχέτισης (autocorrelation method) και η μέθοδος της συμμεταβλητότητας (covariance method). Στο πρότυπο LPC-10 χρησιμοποιείται η μέθοδος της συμμεταβλητότητας. Σύμφωνα με αυτήν οι μέσες τιμές, που εμφανίζονται στη σχέση (1), προσεγγίζονται ως εξής: N Rij E yn i yn j yn i yn j, όπου yi : δείγματα ήχου Ν: εύρος ανάλυσης Η σχέση (1) μπορεί να γραφεί στη μορφή πινάκων ως εξής: RA Q 10 a1 R11 R12 R1M R a R R R M Q 20 R 21 όπου, A και RM 0 am RM 1 RM 2 RMM Τελικά το διάνυσμα A των συντελεστών αi προκύπτει: R A R 1Q Η αντιστροφή του πίνακα R μπορεί να γίνει με κάποια αριθμητική μέθοδο. Το LPC-10 εκμεταλλεύεται το γεγονός ότι ο πίνακας R είναι συμμετρικός και χρησιμοποιεί τη γρήγορη μέθοδο Choleski (Choleski decomposition). Στο σημείο αυτό προκύπτει ένα πρόβλημα. Το φίλτρο πρόβλεψης είναι ένα ψηφιακό φίλτρο IIR, το οποίο είναι ιδιαίτερα ευαίσθητο σε διακυμάνσεις των συντελεστών του. Συγκεκριμένα, οι συντελεστές αi πρέπει να κβαντιστούν για να μεταδοθούν στον δέκτη και συνεπώς εισάγεται αναπόφευκτα σφάλμα κβαντισμού στην τιμή των συντελεστών. Αυτό το σφάλμα είναι πιθανό να καταστήσει το φίλτρο πρόβλεψης ασταθές. Για να λυθεί αυτό το πρόβλημα, δεν κωδικοποιούνται οι ίδιοι οι συντελεστές αi αλλά ένα σετ μετασχηματισμένων συντελεστών ki, που ονομάζονται συντελεστές ανάκλασης (reflection coefficients), για τους οποίους λαμβάνεται πρόνοια ώστε να είναι μικρότεροι του 1. Οι συντελεστές ki προκύπτουν κατά τη διαδικασία της αντιστροφής με τη μέθοδο Choleski και έχουν το πλεονέκτημα ότι, αν είναι μικρότεροι της μονάδας, τότε το φίλτρο που προκύπτει στο δέκτη είναι 28

39 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) εγγυημένα ευσταθές. Γνωρίζοντας τους συντελεστές k i, μπορούμε να υπολογίσουμε εύκολα τους αρχικούς συντελεστές πρόβλεψης α i στον αποκωδικοποιητή. Τέλος, οι δύο πρώτοι συντελεστές ανάκλασης χρησιμοποιούνται -κάπως τροποποιημένοι- και ως κριτήρια για τη φωνητική απόφαση. Κωδικοποίηση παραμέτρων και κβαντισμός Οι τιμές των συντελεστών ανάκλασης (k 1 -k 10 για έμφωνα frames, k 1 -k 4 για άφωνα frames), της ενέργειας rms, του pitch και της φωνητικής απόφασης κωδικοποιούνται κατάλληλα και στη συνέχεια κβαντίζονται για να τοποθετηθούν στο bitstream εξόδου των 2400 bps (54 bits/frame). Για τις περισσότερες παραμέτρους εφαρμόζεται λογαριθμικός κβαντισμός. Όταν κωδικοποιείται κάποιο άφωνο frame, τα bits που θα αντιστοιχούσαν στους συντελεστές k 5 -k 10 χρησιμοποιούνται ως bits προστασίας από σφάλματα μετάδοσης. Με αυτόν τον τρόπο προστατεύονται τα 4 πιο σημαντικά bits των συντελεστών k 1 -k 4 και της ενέργειας rms χρησιμοποιώντας κώδικες Hamming (8,4). Η κατανομή των 54 bits κβαντισμού για τα έμφωνα και τα άφωνα frames φαίνεται παρακάτω: Αριθμός bits έμφωνων frames Αριθμός bits άφωνων και μεταβατικών frames Pitch και φωνητική απόφαση 7 7 Ενέργεια RMS 5 5 k k k k k k k k k k Διόρθωση σφαλμάτων 0 20 Συγχρονισμός 1 1 Αχρησιμοποίητα 0 1 Σύνολο

40 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) Συνοπτική περιγραφή του αποκωδικοποιητή Ο αποκωδικοποιητής δέχεται ως είσοδο ένα bitstream 2400 bps (54 bits ανά frame). Το bitstream αυτό αποκωδικοποιείται ώστε να εξαχθούν οι παράμετροι του μοντέλου γραμμικής πρόβλεψης για κάθε frame (σχήμα 3-1). Στη συνέχεια ο αποκωδικοποιητής χρησιμοποιεί τις παραμέτρους για να κατασκευάσει το μοντέλο και να το διεγείρει κατάλληλα (ανάλογα με την φωνητική απόφαση). Το αποτέλεσμα είναι η παραγωγή συνθετικού ήχου. Η διαδικασία αποκωδικοποίησης εισάγει ένα frame καθυστέρησης. Ένα απλοποιημένο διάγραμμα του αποκωδικοποιητή φαίνεται στο σχήμα 3-4. Σχήμα 3-4 Απλοποιημένο διάγραμμα αποκωδικοποιητή LPC-10e Τα επιμέρους τμήματα του αποκωδικοποιητή περιγράφονται παρακάτω: Αποκβαντισμός και αποκωδικοποίηση παραμέτρων Οι παράμετροι που λαμβάνονται από το bitstream αποκβαντίζονται ακολουθώντας την αντίστροφη διαδικασία από αυτήν του κωδικοποιητή. Στη συνέχεια γίνεται εξομάλυνση των παραμέτρων με βάση τα γειτονικά frames (για τα σκοπό αυτό εισάγεται ένα frame καθυστέρησης). Τέλος, για μερικές παραμέτρους εφαρμόζεται γραμμική ή λογαριθμική παρεμβολή. 30

41 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) Δημιουργία κυματομορφής διέγερσης του φίλτρου πρόβλεψης Η κυματομορφή διέγερσης είναι μία μίξη περιοδικής ακολουθίας και λευκού θορύβου. Για κάθε frame γίνεται μία εκτίμηση της κυματομορφής διέγερσης από την φωνητική απόφαση και το pitch, λαμβάνοντας υπόψιν και τα γειτονικά frames. Η κυματομορφή διέγερσης κατασκευάζεται διαδοχικά προσθέτοντας μία περίοδο pitch τη φορά (όπου η μορφή, το πλάτος και η περίοδος της κυματομορφής βρίσκονται με γραμμική ή λογαριθμική παρεμβολή). Η βασική διέγερση έμφωνων τμημάτων είναι μία προαποθηκευμένη κυματομορφή, ενώ η βασική διέγερση άφωνων τμημάτων είναι λευκός θόρυβος, που προσεγγίζεται από μία γεννήτρια ψευδο-τυχαίων αριθμών με ομοιόμορφη κατανομή στο διάστημα [-512,511]. Υλοποίηση του φίλτρου πρόβλεψης Αφού μετασχηματιστούν οι reflection coefficients στους κανονικούς συντελεστές του φίλτρου (prediction coefficients), κατασκευάζεται το φίλτρο γραμμικής πρόβλεψης και διεγείρεται από την κυματομορφή διέγερσης. Η έξοδος του φίλτρου πολλαπλασιάζεται με το κέρδος και τελικά παράγεται το αποκωδικοποιημένο σήμα ήχου (συνθετικός ήχος) Γενικοί συμβολισμοί 3.3. ΑΝΑΛΥΤΙΚΗ ΠΕΡΙΓΡΑΦΗ Οι συμβολισμοί που θα χρησιμοποιηθούν κατά την αναλυτική παρουσίαση του προτύπου LPC-10e περιγράφονται παρακάτω: Κύκλος κωδικοποίησης: Περιλαμβάνει όλες τις λειτουργίες που εκτελεί ο κωδικοποιητής από τη δημιουργία ενός νέου frame προς κωδικοποίηση μέχρι και την παραγωγή ενός νέου bitstream των 54 bits προς μετάδοση. Κύκλος αποκωδικοποίησης: Περιλαμβάνει όλες τις λειτουργίες που εκτελεί ο αποκωδικοποιητής από την ανάγνωση των παραμέτρων ενός frame (54 bits) από το bitstream εισόδου μέχρι και την αναπαραγωγή των δειγμάτων του συνθετικού ήχου. P: Frame που πρόκειται να μεταδοθεί στον δέκτη στο τέλος του τρέχοντος κύκλου κωδικοποίησης (Present Frame) 1F: Frame που πρόκειται να μεταδοθεί στον δέκτη στο τέλος του επόμενου κύκλου κωδικοποίησης (1 st Future Frame) 2F: Frame που πρόκειται να μεταδοθεί στον δέκτη στο τέλος του μεθεπόμενου κύκλου κωδικοποίησης (2 nd Future Frame) 31

42 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) Η αρίθμηση των δειγμάτων των frames φαίνεται στο σχήμα 3-5. Σχήμα 3-5 Frames στη μνήμη του κωδικοποιητή και αρίθμηση δειγμάτων Αναλυτική περιγραφή του κωδικοποιητή Στο σχήμα 3-6 φαίνεται το αναλυτικό διάγραμμα ενός ολοκληρωμένου συστήματος κωδικοποιητή LPC-10e, όπου το σήμα εισόδου θεωρείται αναλογικό. Είναι εύκολη η τροποποίηση του κωδικοποιητή ώστε να δέχεται ψηφιακό σήμα εισόδου. 32

43 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) Σχήμα 3-6 Αναλυτικό διάγραμμα κωδικοποιητή LPC-10e 33

44 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) Τα επιμέρους τμήματα του κωδικοποιητή περιγράφονται παρακάτω: Ζωνοδιαβατό φίλτρο εισόδου Hz Όπως αναφέρθηκε και στο κεφάλαιο 2, η ανθρώπινη φωνή περιέχει συχνότητες με ελάχιστο τα 30 Hz και μέγιστο κοντά στα 8000 Hz. Όμως το σύνολο σχεδόν της ενέργειας της φωνής εμφανίζεται στη ζώνη Hz. Έτσι, ως πρώτο βήμα συμπίεσης, το σήμα εισόδου φιλτράρεται με ένα ζωνοδιαβατό αναλογικό φίλτρο Hz. Κατά αυτόν τον τρόπο ικανοποιείται και η συνθήκη του θεωρήματος Nyquist για την προσεχή δειγματοληψία στα 8000Hz. Σε περίπτωση που η υλοποίηση είναι αμιγώς ψηφιακή (δηλαδή η είσοδος είναι ψηφιακό σήμα), τότε το ζωνοδιαβατό φίλτρο μπορεί είτε να μετατραπεί σε αντίστοιχο ψηφιακό, είτε να αντικατασταθεί από ένα μόνο υψιπερατό φίλτρο 100 Hz, δεδομένου ότι πολλά συστήματα ψηφιοποίησης φωνής περιέχουν ενσωματωμένα χαμηλοπερατά φίλτρα Hz (για ικανοποίηση του θεωρήματος Nyquist). Μετατροπέας A/D Ο μετατροπέας A/D χρησιμοποιεί δειγματοληψία 8000 Hz και κβαντισμό 13 bits (12 bits + 1 bit προσήμου σε συμπλήρωμα του 2), δηλαδή το εύρος τιμών της ψηφιοποιημένης φωνής είναι [-4096,4095]. Αν η υλοποίηση είναι αμιγώς ψηφιακή, αντί του μετατροπέα A/D αρκεί μία κλιμακοποίηση της φωνής στα 13 bits (συνήθως το σήμα εισόδου είναι των 8 ή 16 bits). Χωρισμός σε frames Τα δείγματα του ήχου χωρίζονται σε frames 180 δειγμάτων/frame. Το κάθε frame αντιστοιχεί σε διάρκεια ήχου 22.5 ms. Ο χωρισμός αυτός εισάγει μέση καθυστέρηση κωδικοποίησης ms/δείγμα (για το πρώτο δείγμα του frame η καθυστέρηση είναι 22.5 ms ενώ για το τελευταίο 0 ms). Αφαίρεση μακροπρόθεσμης πόλωσης DC H πόλωση DC ισούται με τη μέση τιμή των δειγμάτων ήχου και εκφράζει το πόσο απέχουν κατά μέσο όρο τα δείγματα από το 0. Αν η μέση τιμή των δειγμάτων του τρέχοντος frame είναι μεγαλύτερη από 1 τότε η μακροπρόθεσμη πόλωση DC αυξάνεται κατά 1. Αντιστοίχως, αν η μέση τιμή των δειγμάτων του τρέχοντος frame είναι μικρότερη από -1 τότε η μακροπρόθεσμη πόλωση DC μειώνεται κατά 1. Ειδάλλως, η μακροπρόθεσμη πόλωση DC παραμένει ίδια. Η μακροπρόθεσμη πόλωση DC αφαιρείται από τα δείγματα του επόμενου frame. Έτσι, η μέση τιμή των δειγμάτων ήχου διατηρείται κοντά στο 0. Η μακροπρόθεσμη αφαίρεση της πόλωσης ανταποκρίνεται ικανοποιητικά στις χαμηλές συχνότητες μεταβολής της πόλωσης αλλά αδυνατεί να εντοπίσει γρήγορες μεταβολές της (διότι διατηρεί μνήμη από τα προηγούμενα frames). 34

45 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) Προέμφαση πρώτης τάξης Οι χαμηλές συχνότητες της φωνής γενικά περιέχουν μεγαλύτερη ενέργεια από τις υψηλές συχνότητες. Συνεπώς, οι συντελεστές πρόβλεψης που θα προκύψουν κατά την κωδικοποίηση θα εξαρτώνται περισσότερο από τη συνεισφορά των χαμηλών συχνοτήτων, κάτι που δεν είναι επιθυμητό. Η προέμφαση εξισώνει τη σημαντικότητα των διαφόρων συνιστωσών της φωνής, ώστε να δίνεται το ίδιο βάρος στην κάθε συχνότητα κατά την κωδικοποίηση. Με την εφαρμογή προέμφασης η ακρίβεια των αριθμών που απαιτούνται στη διαδικασία αντιστροφής του πίνακα R μειώνεται κατά περίπου 4 bits. Η προέμφαση υλοποιείται με ένα φίλτρο πρώτης τάξης που έχει ένα μόνο μηδενικό, με συνάρτηση μεταφοράς: H pre emphasis z 1 Το διάγραμμα της συνάρτησης μεταφοράς της προέμφασης φαίνεται στο σχήμα 3-7. Σχήμα 3-7 Συνάρτηση μεταφοράς του φίλτρου προέμφασης ΦΩΝΗΤΙΚΗ ΑΠΟΦΑΣΗ ΚΑΙ ΕΥΡΕΣΗ PITCH Χαμηλοπερατό φίλτρο 1000 Hz Το χαμηλοπερατό φίλτρο 1000 Hz είναι ένα ισοκυματικό φίλτρο τάξης 30 με μέγιστη κυμάτωση ζώνης διόδου 0.25 Hz (έως 800 Hz), συχνότητα αποκοπής 3 db στα 1000 Hz. Η συνάρτηση μεταφοράς του φίλτρου φαίνεται στο σχήμα

46 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) Σχήμα 3-8 Συνάρτηση μεταφοράς χαμηλοπερατού φίλτρου στα 1000 Hz Αντίστροφο φίλτρο 2ης τάξης Το αντίστροφο φίλτρο 2ης τάξης είναι της μορφής: y n x n a1 x n 4 a2 x n 8, όπου α1: πρώτος συντελεστής πρόβλεψης αντίστροφου φίλτρου α2: δεύτερος συντελεστής πρόβλεψης αντίστροφου φίλτρου Οι παραπάνω συντελεστές πρόβλεψης υπολογίζονται για την έξοδο του χαμηλοπερατού φίλτρου όπως περιγράφεται στην αντίστοιχη ενότητα της παραγράφου (βλ. παρακάτω). Η μοναδική διαφορά είναι ότι τα δείγματα ήχου που χρησιμοποιούνται για τον υπολογισμό των συντελεστών υφίστανται πρώτα υποδειγματοληψία ανά 2. Το παραπάνω φίλτρο χαρακτηρίζεται ως 2ης τάξης, διότι αν θεωρηθεί ότι η είσοδος υποδειγματοληπτείται ανά 4, τότε η κάθε τιμή της εξόδου εξαρτάται από τις 2 προηγούμενες τιμές της εισόδου. Τέτοια υποδειγματοληψία όμως δεν υφίσταται στην πραγματικότητα. Εύρεση pitch μέσω συνάρτησης AMDF Μία αρχική εκτίμηση της περιόδου pitch λαμβάνεται από την ελαχιστοποίηση της συνάρτησης: 1 AMDF ( P) N όπου k0 N i k0 1 yi yi P yi: δείγματα στην έξοδο του αντίστροφου φίλτρου 2ης τάξης 36

47 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) P 20, P, με αρίθμηση των δειγμάτων όπως φαίνεται στο σχήμα 5 2 N=156 k0 Η τιμή του P για την οποία η AMDF ( P) παρουσιάζει ολικό ελάχιστο είναι η αρχική εκτίμηση του pitch. Επιπλέον, υπολογίζονται: 1) Η αριθμητική τιμή του ολικού ελαχίστου 2) Η μέγιστη αριθμητική τιμή της AMDF εντός ενός εύρους μισής οκτάβας εκατέρωθεν της θέσης του ολικού ελαχίστου. Οι δύο παραπάνω τιμές αποτελούν παραμέτρους του αλγορίθμου καθορισμού της φωνητικής απόφασης (βλ. παρακάτω). Ανίχνευση onsets Ως onsets ορίζονται οι απότομες αλλαγές στα φασματικά χαρακτηριστικά ενός σήματος ήχου. Κατά τη φώνηση, τα onsets υποδηλώνουν συνήθως την αρχή ή το τέλος κάποιου φθόγγου. Το πρότυπο LPC-10e χρησιμοποιεί τα onsets για την τοποθέτηση του παραθύρου φωνητικής απόφασης. Ο αλγόριθμος ανίχνευσης των onsets είναι ο παρακάτω: 1) Για κάθε δείγμα x(n), που προέρχεται από την έξοδο της προέμφασης, υπολογίζονται τα μεγέθη: x1(n)=x(n)x(n-1) και x2(n)=x(n-1)x(n-1) Τα δύο παραπάνω μεγέθη εισάγονται σε ένα φίλτρο IIR με συνάρτηση b 1 63, όπου b και a μεταφοράς H z 1 1 az και παράγονται οι έξοδοι y1(n) και y2(n) αντίστοιχα. 2) Υπολογίζονται οι ευθείς συντελεστές πρόβλεψης (forward prediction coefficients) ως εξής: y n fpc n 1 y2 n Οι συντελεστές fpc ψαλιδίζονται ώστε να βρίσκονται στο [-1,+1]. Αν y2(n)=0, τότε χρησιμοποιείται ο προηγούμενος συντελεστής fpc. 3) Οι συντελεστές fpc διαφορίζονται με το παρακάτω FIR φίλτρο τάξης 15: H z 1 z 1 z 2... z 7 z 8 z 9... z 15 Οι συντελεστές fpc αποτελούν ένα μέτρο του συνολικού συχνοτικού περιεχομένου του σήματος σε κάθε χρονική στιγμή. Έτσι, η παράγωγος των συντελεστών αυτών θα αυξάνεται κατά απόλυτη τιμή στα σημεία όπου εμφανίζονται onsets. 37

48 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) 4) Στη συνέχεια, ορίζεται ένα κατώφλι για το χαρακτηρισμό μιας θέσης εμφάνισης κάποιου onset. Αν η παράγωγος ενός συντελεστή fpc είναι μεγαλύτερη κατά απόλυτη τιμή από 1.7, τότε καταχωρείται η εμφάνιση ενός onset 9 θέσεις πριν. Αυτό συμβαίνει διότι τα onsets αντιστοιχούν στις θέσεις των πολύ απότομων μεταβολών του ήχου, ενώ η αρχή και το τέλος των φθόγγων εμφανίζονται λίγο νωρίτερα, όπου η μεταβολή είναι αρχικά μικρή. Στην πραγματικότητα, το LPC-10 προσπαθεί να εξάγει τις θέσεις αρχής και τέλους των φθόγγων, ώστε να μπορεί να τοποθετήσει με ακρίβεια το παράθυρο φωνητικής απόφασης. Τέλος, η διάρκεια ενός onset είναι συνήθως μεγαλύτερη από την περίοδο δειγματοληψίας. Για να μην χαρακτηρίζονται διαδοχικές θέσεις δειγμάτων ως θέσεις onsets, ενώ στην πραγματικότητα πρόκειται για το ίδιο onset, ένα onset δεν μπορεί να καταγραφεί αν δεν απέχει περισσότερες από 9 θέσεις από το προηγούμενο. Τοποθέτηση παραθύρου φωνητικής απόφασης Το παράθυρο φωνητικής απόφασης καθορίζει ποια δείγματα ποια δείγματα της εξόδου του φίλτρου προέμφασης θα χρησιμοποιηθούν για να εξαχθούν οι παράμετροι της φωνητικής απόφασης. Σε κάθε κύκλο κωδικοποίησης υπολογίζεται το παράθυρο φωνητικής απόφασης για το frame 2F, στο οποίο μπορεί να συμμετέχουν δείγματα τόσο από το frame 1F όσο και από το 2F. Σε γενικές γραμμές γίνεται προσπάθεια ώστε το παράθυρο φωνητικής απόφασης να τοποθετείται ανάμεσα στα onsets και το μήκος του να μην ξεφεύγει από κάποια όρια. Έτσι μειώνεται η πιθανότητα να ληφθεί φωνητική απόφαση για ένα σύνολο δειγμάτων φωνής, στο οποίο περιέχονται και έμφωνα και άφωνα τμήματα. Η τοποθέτηση γίνεται με βάση τους παρακάτω κανόνες: 1) Ορίζεται το εύρος δειγμάτων, εντός του οποίου μπορεί να τοποθετηθεί το παράθυρο φωνητικής απόφασης. Το εύρος αυτό κυμαίνεται από το τέλος του προηγούμενου παραθύρου μέχρι και το τέλος του 2F (βλ. σχήμα 3-9). Επίσης, ορίζεται το ελάχιστο μήκος του παραθύρου ως 90 δείγματα και το μέγιστο μήκος ως 156 δείγματα. 2) Αν δεν υπάρχουν onsets στο παραπάνω εύρος, τότε το παράθυρο τοποθετείται μεταξύ των δειγμάτων 307 και 462 (pitch window). Αν αυτή η τοποθέτηση δεν βρίσκεται εντός του επιτρεπτού εύρους τοποθέτησης, τότε το παράθυρο τοποθετείται στο αριστερό άκρο του επιτρεπτού εύρους τοποθέτησης. Το μήκος του είναι πάντα 156 δείγματα. 3) Αν το πρώτο onset του παραπάνω εύρους βρίσκεται στο 2F τότε: α) Αν υπάρχει ακόμα ένα onset στο 2F έτσι ώστε το παράθυρο να μπορεί να τοποθετηθεί ανάμεσα στα δύο onsets, τότε τοποθετείται εκεί και το μήκος του είναι το μέγιστο δυνατό. β) Διαφορετικά, αν υπάρχει αρκετός χώρος ώστε το παράθυρο να τοποθετηθεί αμέσως πριν το onset, τότε τοποθετείται εκεί και το μήκος του είναι και πάλι το μέγιστο δυνατό. 38

49 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) 4) Διαφορετικά, το παράθυρο τοποθετείται αμέσως μετά από το onset και το μήκος του είναι το μέγιστο επιτρεπτό έτσι ώστε να μην επικαλύπτει άλλα onsets, αν αυτό είναι δυνατό. Σε κάθε περίπτωση το μήκος δεν μπορεί να είναι μικρότερο από 90. Τέλος, σημειώνεται ότι οι παραπάνω περιπτώσεις 2, 3 και 4 είναι αμοιβαίως αποκλειόμενες. Σχήμα 3-9 Εύρος τοποθέτησης παραθύρου φωνητικής απόφασης Φωνητική απόφαση Προκειμένου να επιτευχθεί μεγαλύτερη πιστότητα στον ανακατασκευασμένο ήχο, λαμβάνεται μία φωνητική απόφαση για κάθε ήμισυ του frame, δηλαδή έχουμε 2 φωνητικές αποφάσεις για κάθε frame. Για να γίνει μια αρχική εκτίμηση της φωνητικής απόφασης κάθε μισού frame, χρησιμοποιούνται 7 χαρακτηριστικά μεγέθη του σήματος (V1-V7), τα οποία εξάγονται βάσει των δειγμάτων του φωνητικού παραθύρου. Αυτά τα μεγέθη (φωνητικές παράμετροι) είναι: LBE 1) V1, όπου max( LBVE,1) α) LBE (Low Band Energy) είναι μια προσέγγιση της ενέργειας της εξόδου του χαμηλοπερατού φίλτρου στα 1000 Hz, ανηγμένης σε μήκος παραθύρου ίσο με 180 και δίνεται από τον τύπο: i LowPassFilteredSpeech(i) 90 LBE voicing window length 4 β) LBVE (Low Band Voiced Energy) είναι μια προσέγγιση της ενέργειας της εξόδου του χαμηλοπερατού φίλτρου 1000 Hz για το τελευταίο ημι-frame που χαρακτηρίστηκε ως έμφωνο. Αποτελεί ένα μέτρο της τρέχουσας ενέργειας που περιέχουν τα έμφωνα frames και υπολογίζεται με ένα φίλτρο σταθμικού μέσου ως εξής: 39

50 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) 63 1 LBVE n LBVE n 1 LBE n Το LBVE ανανεώνεται προφανώς μόνο αφού κάποιο ημι-frame έχει χαρακτηριστεί ως έμφωνο. Το μέγεθος V 1 είναι ενδεικτικό του κατά πόσο κάποιο ημι-frame είναι έμφωνο. 2) V 2 = αριθμός των αλλαγών προσήμου του σήματος (δηλαδή πόσες φορές το σήμα περνάει από το 0). Για να θεωρηθεί ότι το σήμα άλλαξε πολικότητα θα πρέπει να ξεπεράσει μία τιμή αβεβαιότητας εκατέρωθεν του μηδενός. Αυτή η ρύθμιση προστατεύει τον αλγόριθμο φωνητικής απόφασης από τον θόρυβο χαμηλών συχνοτήτων που ενυπάρχει σε πολλά περιβάλλοντα, ο οποίος μπορεί να επηρεάσει τον ρυθμό αλλαγής πολικότητας για σήματα μικρής ισχύος. Η τιμή αβεβαιότητας (dither) δίνεται από τον τύπο: 64 LBVE LBUE dither min max,1, , όπου LBUE (Low Band Unvoiced Energy) είναι μια προσέγγιση της ενέργειας της εξόδου του χαμηλοπερατού φίλτρου 1000 Hz για τα τελευταία άφωνα ημιframes, αντίστοιχη της LBVE. Υπολογίζεται ως εξής: TEMP n LBUE n όπου TEMP n TEMP n 1 min LBE n,3 LBE n και ο δείκτης n αναφέρεται μόνο στα άφωνα ημι-frames. Το μέγεθος V 2 είναι ενδεικτικό του κατά πόσο κάποιο ημι-frame είναι άφωνο. 3) V 3 =1 ος συντελεστής ανάκλασης Ο 1 ος συντελεστής ανάκλασης ορίζεται ως εξής (βλ. και ενότητα «Επίλυση της εξίσωσης RA=Q»): rc 1 R R i x( i) x( i 1) i x( i) 2 40 όπου x(i) : δείγματα ήχου εντός του φωνητικού παραθύρου Το μέγεθος V 3 είναι ενδεικτικό του κατά πόσο κάποιο ημι-frame είναι έμφωνο. 6 db/ oct preemphasized energy 4) V4 full band energy i x( i) x( i 1) 2 x( i) όπου x(i) : δείγματα ήχου εντός του φωνητικού παραθύρου Ο αριθμητής της παραπάνω σχέσης υλοποιεί μία προέμφαση σχεδόν όμοια με αυτήν που εφαρμόζει ο κωδικοποιητής πριν την ανίχνευση των onsets i,

51 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) (σχήμα 6). Εδώ έχουμε συντελεστή 1 ης τάξης ίσο με 1 αντί για , οπότε η συνάρτηση μεταφοράς της δεύτερου αυτού φίλτρου προέμφασης θα μοιάζει με το διάγραμμα του σχήματος 7. Το μέγεθος V 4 είναι ενδεικτικό του κατά πόσο κάποιο ημι-frame είναι άφωνο. 5) V 5 =2 ος συντελεστής ανάκλασης του αντίστροφου φίλτρου 2 ης τάξης Αυτός ο συντελεστής υπολογίστηκε κατά την υλοποίηση του αντίστροφου φίλτρου 2 ης τάξης με βάση την υποδειγματοληπτημένη έξοδο του χαμηλοπερατού φίλτρου 1000 Hz. Το μέγεθος V 5 είναι ενδεικτικό του κατά πόσο κάποιο ημι-frame είναι άφωνο. 6) V lpf i lpf i P lpf i lpf i P lpf i P lpf i i i i i όπου lpf(i): έξοδος χαμηλοπερατού φίλτρου 1000 Hz Το μέγεθος V 6 ονομάζεται γινόμενο μεταξύ του αιτιατού ευθέως κέρδους πρόβλεψης pitch και του αιτιατού αντίστροφου κέρδους πρόβλεψης pitch (product of the causal forward and reverse pitch prediction gains). Το μέγεθος V 6 είναι ενδεικτικό του κατά πόσο κάποιο ημι-frame είναι έμφωνο., 7) V lpf i lpf i P lpf i lpf i P lpf i P lpf i i i i i όπου lpf(i): έξοδος χαμηλοπερατού φίλτρου 1000 Hz Το μέγεθος V 7 ονομάζεται γινόμενο μεταξύ του μη-αιτιατού ευθέως κέρδους πρόβλεψης pitch και του μη-αιτιατού αντίστροφου κέρδους πρόβλεψης pitch (product of the non-causal forward and reverse pitch prediction gains). Το μέγεθος V 7 είναι ενδεικτικό του κατά πόσο κάποιο ημι-frame είναι έμφωνο. Μια αρχική φωνητική απόφαση εξάγεται από τα παραπάνω 7 μεγέθη χρησιμοποιώντας γραμμικό διαχωρισμό (linear discrimination). Θεωρούμε τον 7-7 v, v, v, v, v, v, v και ένα διάστατο χώρο των 7 φωνητικών παραμέτρων, υπερεπίπεδο με εξίσωση 7 aivi c 0 που διχοτομεί το χώρο αυτό. Όσα ημι-frames 1 i έχουν φωνητικές παραμέτρους για τις οποίες ισχύει 7 av i i c 0 χαρακτηρίζονται ως έμφωνα ενώ τα υπόλοιπα χαρακτηρίζονται ως άφωνα (σχήμα 3-10). Αυτός ο i 1 41

52 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) ταξινομητής χαρακτηρίζει ως άφωνο και κάθε ημι-frame που περιέχει μόνο μηδενικά (σιγή). Σχήμα 3-10 Γραμμικός διαχωρισμός στον 7-διάστατο χώρο των φωνητικών παραμέτρων Επιπλέον, ο γραμμικός διαχωριστής είναι προσαρμοζόμενος στο εκάστοτε επίπεδο θορύβου, δηλαδή οι συντελεστές του υπερεπιπέδου, αi και c, μεταβάλλονται ανάλογα με το SNR του τρέχοντος ημι-frame. Κατά αυτόν τον τρόπο επιτυγχάνεται ευρωστία σε περιβάλλοντα θορύβου και καλύτερη διάκριση μεταξύ έμφωνων και άφωνων τμημάτων. Το SNR προσεγγίζεται ως εξής: 63 FBUE FBVE SNR n SNR n 1 64 LBUE FBUE όπου α) FBVE (Full Band Voiced Energy) είναι μια προσέγγιση της ενέργειας της φωνής για το τελευταίο ημι-frame που χαρακτηρίστηκε ως έμφωνο. Αποτελεί ένα μέτρο της τρέχουσας ενέργειας που περιέχουν τα έμφωνα frames και υπολογίζεται με ένα φίλτρο σταθμικού μέσου ως εξής: 63 1 FBVE n FBVE n 1 FBE n όπου FBE (Full Band Energy) είναι μια προσέγγιση της ενέργειας της φωνής, ανηγμένης σε μήκος παραθύρου ίσο με 180 και δίνεται από τον τύπο: i Speech(i) 90 FBE voicing window length 4 β) FBUE (Full Band Unvoiced Energy) είναι μια προσέγγιση της ενέργειας της φωνής για τα τελευταία άφωνα ημι-frames, αντίστοιχη της FBVE. Υπολογίζεται ως εξής: 42

53 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) FBUE n TEMP n TEMP n 1 min FBE n,3 FBE n και ο δείκτης n αναφέρεται μόνο στα άφωνα ημι-frames όπου TEMP n Οι τιμές του SNR ομαδοποιούνται σε 5 διαστήματα και για κάθε διάστημα χρησιμοποιούνται διαφορετικά σετ συντελεστών αi και c. Οι συντελεστές του γραμμικού διαχωριστή για κάθε διάστημα τιμών SNR φαίνονται στον παρακάτω πίνακα: SNR α1 α2 α3 α4 α5 α6 α7 c (, 200] (200,300] (300,450] (450,600] (600, ) Διόρθωση φωνητικής απόφασης και pitch Μια πρώτη εκτίμηση της φωνητικής απόφασης γίνεται σε κάθε κύκλο κωδικοποίησης για το frame 2F. Ωστόσο, δεν αποκλείεται να υπάρξουν λανθασμένες κατηγοριοποιήσεις σε κάποια ημι-frames. Επειδή τα λάθη στις φωνητικές αποφάσεις υποβαθμίζουν σημαντικά την ποιότητα του ανακατασκευασμένου ήχου, επιβάλλεται η ανίχνευση και η διόρθωση όσο το δυνατόν περισσότερων εξ αυτών. Ως εκ τούτου, εφαρμόζεται ένας αλγόριθμος εξομάλυνσης των φωνητικών αποφάσεων των ημι-frames, ο οποίος λαμβάνει υπόψιν τις αποφάσεις των γειτονικών ημι-frames, την ύπαρξη onsets και το κατά πόσο ισχυρά έμφωνο ή άφωνο είναι κάποιο ημι-frame. Ως μέτρο ισχύος της φωνητικής απόφασης χρησιμοποιείται η απόσταση του σημείου (V1, V2,,V7) από το υπερεπίπεδο 7 a v c 0 i 1 i i (βλ. σχήμα 3-10). Οι κανόνες εξομάλυνσης αντιστοιχούν σε ένα κάπως τροποποιημένο φίλτρο μεσαίου (median smoother) και είναι οι εξής: 1) Όταν σε μια ακολουθία φωνητικών αποφάσεων εμφανίζεται κάποιο άφωνο ημι-frame, τότε θα πρέπει να προηγείται ή να έπεται τουλάχιστον άλλο ένα (δηλαδή δεν μπορεί να εμφανίζεται ένα άφωνο ημι-frame ανάμεσα σε 2 έμφωνα). 2) Όταν σε μια ακολουθία φωνητικών αποφάσεων εμφανίζεται κάποιο έμφωνο ημι-frame, τότε είτε θα πρέπει το άλλο ημι-frame του ίδιου frame να είναι και αυτό έμφωνο, είτε θα πρέπει να προηγούνται ή να έπονται άλλα δύο έμφωνα ημι-frames. 43

54 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) 3) Αν εντός ενός frame συντελείται μια μετάβαση από μόνιμη κατάσταση έμφωνου τμήματος σε άφωνο τμήμα ή αντίστροφα και υπάρχει κάποιο onset πριν ή μετά από αυτό το frame, τότε η μετάβαση μεταφέρεται ώστε να συμπίπτει με το onset. Αν εμφανίζονται onsets σε πολλά γειτονικά frames, τότε ως έγκυρο onset για τη μετάβαση θεωρείται το τελευταίο. 4) Αν κατά την εφαρμογή των παραπάνω κανόνων 1 και 2 προκύψουν δύο αποδεκτές λύσεις, τότε θα αλλάξει η φωνητική απόφαση με τη μικρότερη ισχύ (δηλαδή αυτή που έχει τη μικρότερη απόσταση από το υπερεπίπεδο απόφασης). Η εφαρμογή των παραπάνω κανόνων γίνεται στα frames P και 1F. Οι κανόνες εξομάλυνσης παρουσιάζονται γραφικά στον παρακάτω πίνακα, όπου με 0 και 1 συμβολίζονται τα άφωνα και έμφωνα ημι-frames αντίστοιχα και ο αστερίσκος υποδηλώνει πιθανή αλλαγή της φωνητικής απόφασης για το συγκεκριμένο ημι-frame: 1 ο ημι-frame frame P 2 ο ημι-frame 1 ο ημι-frame frame 1F 2 ο ημι-frame Συνθήκες εξομάλυνσης * 1 1 ο ημι-frame του 2F και ύπαρξη onset 0 0 1* 0* 1 ο ημι-frame του 2F και ισχύς φωνητικής απόφασης * 0 0 πάντοτε 0 1* 0* 1 ισχύς φωνητικής απόφασης 0* 1 1 0* frame (P-1), 1 ο ημι-frame του 2F και ισχύς φωνητικής απόφασης 0 1* 1 1 ύπαρξη onset 1 0* 0 0 ύπαρξη onset * 1* 0 ισχύς φωνητικής απόφασης 1 0* 1 1 πάντοτε * 1* 1 ο ημι-frame του 2F και ισχύς φωνητικής απόφασης 1 1 1* 0 1 ο ημι-frame του 2F και ύπαρξη onset Η τιμή του pitch εξομαλύνεται και αυτή από έναν αλγόριθμο δυναμικού προγραμματισμού, ο οποίος χρησιμοποιεί την αρχική εκτίμηση του pitch, τη 44

55 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) συνάρτηση AMDF και τη φωνητική απόφαση του frame 2F για να εξάγει μία βέλτιστη τιμή για το pitch του τρέχοντος frame. Τοποθέτηση παραθύρων ανάλυσης και ενέργειας Το παράθυρο ανάλυσης καθορίζει ποια δείγματα της εξόδου του φίλτρου προέμφασης θα χρησιμοποιηθούν για να εξαχθούν οι συντελεστές πρόβλεψης (predictor coefficients). Σε κάθε κύκλο κωδικοποίησης υπολογίζεται το παράθυρο ανάλυσης για το frame 2F. Γενικά, οι συντελεστές πρόβλεψης πρέπει να εξάγονται από ομάδες δειγμάτων που περιέχουν ένα μόνο φώνημα, όπου αυτό είναι δυνατό. Ακόμη, κατά τη διάρκεια παρατεταμένων έμφωνων χρονικών περιόδων (όπου ο ήχος τείνει να είναι περιοδικός), διαδοχικοί συντελεστές πρόβλεψης πρέπει να εξάγονται από παράθυρα δειγμάτων με την ίδια φάση, ώστε και η αναπαραγωγή του συνθετικού ήχου στο δέκτη να μην παρουσιάζει ασυνέχειες. Το παράθυρο ανάλυσης τοποθετείται με βάση το φωνητικό παράθυρο, τις τελευταίες φωνητικές αποφάσεις, τα onsets και την τιμή του pitch. Η τοποθέτηση γίνεται ως εξής: 1) Συνεχόμενη έμφωνη ομιλία Αν οι τελευταίες 5 φωνητικές αποφάσεις είναι έμφωνες, τότε το παράθυρο με το ανάλυσης τοποθετείται ομοφασικά (phase-synchronously) προηγούμενο παράθυρο ανάλυσης και όσο πιο κοντά γίνεται στο τρέχον φωνητικό παράθυρο. Αν υπάρχει onset σε κάποιο από τα άκρα του φωνητικού παραθύρου, τότε προτιμάται μία ομοφασική τοποθέτηση που δεν επικαλύπτει αυτό το onset. Το μήκος του παραθύρου ανάλυσης είναι πάντα ίσο με 156 δείγματα και τα όριά του σε κάθε περίπτωση πρέπει να είναι εντός του διαστήματος [181,540]. Ο όρος «ομοφασική τοποθέτηση» υποδηλώνει ότι η αρχή του κάθε παραθύρου ανάλυσης πρέπει να απέχει από την αρχή του προηγούμενου παραθύρου κατά ακέραιο πολλαπλάσιο του pitch. Δηλαδή: analysis window start n analysis window start n 1 k pitch, όπου n: δείκτης frame και k 2) Έμφωνη μετάπτωση (voiced transition) Αν τουλάχιστον μία φωνητική απόφαση του frame 2F είναι έμφωνη και δεν υπάρχουν onsets στα άκρα του αντίστοιχου φωνητικού παραθύρου, τότε το παράθυρο ανάλυσης τοποθετείται όπως ακριβώς και στην περίπτωση 1. 3) Άφωνη ομιλία ή ύπαρξη onset σε άκρο του φωνητικού παραθύρου Αν και οι δύο φωνητικές αποφάσεις του frame 2F είναι άφωνες ή υπάρχει onset σε κάποιο άκρο του φωνητικού παραθύρου, τότε το παράθυρο ανάλυσης ταυτίζεται με το φωνητικό παράθυρο. 45

56 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) Το παράθυρο ενέργειας καθορίζει ποια δείγματα ποια δείγματα της εξόδου του φίλτρου προέμφασης θα χρησιμοποιηθούν για να υπολογιστεί η ενέργεια ενός frame. Το παράθυρο ενέργειας βρίσκεται πάντοτε στο εσωτερικό του παραθύρου ανάλυσης και τοποθετείται είτε ομοφασικά με το προηγούμενο παράθυρο ανάλυσης, είτε όσο πιο κοντά γίνεται σε ένα onset. Συγκεκριμένα: 1) Αν και οι δύο φωνητικές αποφάσεις του frame 2F είναι άφωνες τότε το παράθυρο ενέργειας συμπίπτει με το παράθυρο ανάλυσης (και το φωνητικό παράθυρο). 2) Διαφορετικά, αν το παράθυρο ανάλυσης τοποθετήθηκε σύμφωνα με την περίπτωση 3 και το φωνητικό παράθυρο φράσσεται μόνο από ένα onset στο δεξιό άκρο του, τότε: α. Το δεξιό άκρο του παραθύρου ενέργειας συμπίπτει με το δεξιό άκρο του παραθύρου ανάλυσης. β. Το μήκος του παραθύρου ενέργειας ισούται με το μέγιστο δυνατό ακέραιο πολλαπλάσιο του pitch, έτσι ώστε το παράθυρο ενέργειας να περιέχεται στο παράθυρο ανάλυσης. 3) Αν το παράθυρο ανάλυσης τοποθετήθηκε ομοφασικά (περιπτώσεις 1 και 2) ή αν υπάρχει onset στο αριστερό άκρο του φωνητικού παραθύρου, τότε: α. Το αριστερό άκρο του παραθύρου ενέργειας συμπίπτει με το αριστερό άκρο του παραθύρου ανάλυσης (ομοφασική τοποθέτηση). β. Το μήκος του παραθύρου ενέργειας ισούται με το μέγιστο δυνατό ακέραιο πολλαπλάσιο του pitch, έτσι ώστε το παράθυρο ενέργειας να περιέχεται στο παράθυρο ανάλυσης. Αφαίρεση βραχυπρόθεσμης πόλωσης DC Η βραχυπρόθεσμη πόλωση DC ισούται με την μέση τιμή των δειγμάτων του παραθύρου ανάλυσης και εκφράζει το πόσο απέχουν κατά μέσο όρο τα δείγματα από το 0. Για κάθε παράθυρο ανάλυσης υπολογίζεται η βραχυπρόθεσμη πόλωση DC και στη συνέχεια αυτή η πόλωση αφαιρείται από όλα τα δείγματα του παραθύρου. Έτσι, η μέση τιμή των δειγμάτων διατηρείται κοντά στο 0. Υπολογισμός της ενέργειας του frame Η ενέργεια του frame ισούται με το κέρδος του γραμμικού φίλτρου πρόβλεψης. Υπολογίζεται από τα δείγματα του παραθύρου ενέργειας ως εξής: N rms energy G y i 1 N 2 i, όπου yi : δείγματα παραθύρου ενέργειας, μετά από αφαίρεση της πόλωσης Ν: μήκος παραθύρου ενέργειας 46

57 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) Δημιουργία των πινάκων R και Q Οι συντελεστές του φίλτρου γραμμικής πρόβλεψης εξάγονται επιλύοντας το σύστημα εξισώσεων RA Q, όπου: R10 R11 R12 R1M a1 R R a R22 R2 M, A 2 και R 21 Q 20 RM 1 RM 2 RMM am RM 0 και Rij E yn i yn j end n start M 1 yn i yn j, όπου yi : δείγματα εξόδου προέμφασης start: αρχή παραθύρου ανάλυσης end: τέλος παραθύρου ανάλυσης Μ=10 (τάξη προβλέπτη) Τα στοιχεία των πινάκων R και Q θα μπορούσαν να υπολογιστούν απευθείας από τον παραπάνω ορισμό της συμμεταβλητότητας Rij, όμως κάτι τέτοιο μπορεί να είναι χρονοβόρο σε μια υλοποίηση πραγματικού χρόνου. Ένας ταχύτερος τρόπος υπολογισμού είναι: T T - Υπολογίζονται αρχικά τα στοιχεία του διανύσματος Q ' R00 Q R00 R10 RM 0 - Στη συνέχεια, όλα τα υπόλοιπα στοιχεία Rij υπολογίζονται από την αναδρομική σχέση: Rij Ri 1, j 1 yend 1 i yend 1 j ym 1 i ym 1 j, 1 i M 1 j M Επιπλέον, ο πίνακας R είναι συμμετρικός ( Rij R ji ), οπότε αρκεί να υπολογιστούν μόνο τα στοιχεία του κάτω τριγωνικού τμήματος του R. Επίλυση της εξίσωσης RA=Q T Το διάνυσμα των συντελεστών πρόβλεψης A a1 a2 am υπολογίζεται από την επίλυση της εξίσωσης: RA Q 1 ή A R Q Για την αντιστροφή του πίνακα R χρησιμοποιείται η γρήγορη μέθοδος Choleski (Choleski decomposition). Σύμφωνα με τη μέθοδο αυτή, ο συμμετρικός πίνακας R μπορεί να αναλυθεί σε ένα γινόμενο ενός κάτω τριγωνικού πίνακα L και ενός άνω τριγωνικού πίνακα U ως εξής: R L U 47

58 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) L L L R11 R12 R13 R 1 1M L L L L L L R R22 R23 R 2M L21 L L L L R R32 R33 R 3M L31 L32 L33 0 M L RM 1 RM 2 RM 3 R MM LM 1 LM 2 LM 3 L MM όπου οι συντελεστές L ij δίνονται από τις σχέσεις: Li1 Ri1 i 1,2,..., M j 1 LikLjk Lij Rij j 1 L k 1 kk Έχοντας ορίσει τους πίνακες L και U, η σχέση RA Αν επιπλέον ορίσουμε K UA LUA Q M Q γίνεται:, η παραπάνω σχέση καταλήγει στην: LK Q L k1 Q1 L21 L22 0 k 2 Q 2 L L L k Q M1 M 2 MM M M 32 M Τα στοιχεία του διανύσματος Κ ονομάζονται συντελεστές ανάκλασης (reflection coefficients) και υπολογίζονται αναδρομικά από τη σχέση: k 0 k [1, i]: Lkk 0 1 Qi k jlij Lii j 1 i 1 i Αποδεικνύεται ότι η γνώση των συντελεστών ανάκλασης k i είναι αρκετή για να εξαχθούν οι συντελεστές πρόβλεψης α i. Ακόμη, εφόσον οι συντελεστές k i είναι μικρότεροι κατά απόλυτη τιμή από τη μονάδα, οποιαδήποτε σφάλματα κβαντισμού στις τιμές των συντελεστών αυτών δεν θα επηρεάσουν την ευστάθεια του IIR γραμμικού φίλτρου πρόβλεψης στο δέκτη. Για λόγους ευρωστίας λοιπόν, είναι 33 3

59 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) προτιμότερη η αποστολή στο δέκτη των συντελεστών k i και η τοπική εξαγωγή των συντελεστών α i από τους k i. Για να διασφαλιστεί ότι όλοι οι συντελεστές k i θα έχουν απόλυτη τιμή μικρότερη της μονάδας, ο κωδικοποιητής στέλνει στον δέκτη τους συντελεστές ανάκλασης του προηγούμενου frame αν διαπιστωθεί ότι έστω και ένας συντελεστής του τρέχοντος frame είναι μεγαλύτερος ή ίσος κατά απόλυτη τιμή από τη μονάδα. Τέλος, η τάξη του προβλέπτη (δηλαδή ο αριθμός των συντελεστών ανάκλασης) είναι M=10 για έμφωνα frames και M=4 για άφωνα και μεταβατικά frames. Κωδικοποίηση παραμέτρων για μετάδοση i) κβαντισμός Ο κβαντισμός των παραμέτρων γίνεται με απευθείας αντιστοίχιση τιμών σε λέξεις κβαντισμού, οι οποίες είναι προ-αποθηκευμένες σε πίνακες της μνήμης του κωδικοποιητή. Η κωδικοποίηση των παραμέτρων έχει ως εξής: Ενέργεια rms: διαθέσιμα bits: 5 Υφίσταται λογαριθμικό κβαντισμό στο διάστημα [0,511]. Pitch και φωνητική απόφαση: διαθέσιμα bits: 7 Αν το frame έχει χαρακτηριστεί άφωνο τότε αποστέλλεται η λέξη 0 (όλα τα bits είναι 0). Αν το frame έχει χαρακτηριστεί μεταβατικό (voiced-to-unvoiced ή unvoiced-to-voiced) τότε αποστέλλεται η λέξη 127 (όλα τα bits είναι 1). Αν το frame έχει χαρακτηριστεί έμφωνο τότε επιλέγεται μία εκ των 60 πιθανών τιμών του pitch, η οποία κωδικοποιείται σε βάρη Hamming 3 και 4 μιας λέξης 7-bit. Reflection Coefficients: διαθέσιμα bits: 41 k 1 και k 2 : διαθέσιμα bits: Οι συντελεστές k 1 και k 2 κβαντίζονται λογαριθμικά και πολώνονται προς το +1. k 3 -k 10 : διαθέσιμα bits: Οι συντελεστές k 3 -k 10 αρχικά επεκτείνονται σε προσημασμένους αριθμούς 15 bits. Στη συνέχεια αφαιρείται η πόλωση (bias) και γίνεται συρρίκνωση σε προσημασμένους αριθμούς 7 bits. Από αυτούς τους αριθμούς κρατούνται μόνο τα πιο σημαντικά bits που έχουν εκχωρηθεί στον κάθε συντελεστή. Σημείωση: Οι συντελεστές k 5 -k 10 δεν μεταδίδονται για άφωνα ή μεταβατικά frames. Τα bits που αντιστοιχούν σε αυτούς χρησιμοποιούνται για διόρθωση σφαλμάτων. ii) διόρθωση σφαλμάτων μετάδοσης Όταν ένα frame χαρακτηριστεί άφωνο ή μεταβατικό, τα 21 bits που αντιστοιχούν στους συντελεστές k 5 έως k 10 δεν χρειάζονται (διότι οι συντελεστές του φίλτρου είναι 4 σε αυτήν την περίπτωση) και έτσι χρησιμοποιούνται για 49

60 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) Bit διόρθωση σφαλμάτων. Η διόρθωση γίνεται με κώδικες Hamming (8,4) και προστατεύονται τα 4 σημαντικότερα bits των συντελεστών k 1 -k 4 και της ενέργειας rms. Έτσι, απαιτούνται συνολικά 20 bits προστασίας και περισσεύει ένα bit, που μένει αχρησιμοποίητο. iii) συγχρονισμός Διαθέσιμα bits: 1 Ο συγχρονισμός πομπού-δέκτη επιτυγχάνεται με εναλλαγή της τιμής ενός bit μεταξύ 0 και 1 σε κάθε κύκλο κωδικοποίησης. Η δομή του bitstream των 54 bits φαίνεται στον παρακάτω πίνακα: Έμφωνα frames Μη έμφωνα frames Bit Έμφωνα frames Μη έμφωνα frames Bit Έμφωνα frames Μη έμφωνα frames 1 k 1 -bit 0 k 1 -bit 0 19 k 3 -bit 3 k 3 -bit 3 37 k 8 -bit 1 rms-bit 6* 2 k 2 -bit 0 k 2 -bit 0 20 k 4 -bit 2 k 4 -bit 2 38 k 5 -bit 1 k 1 -bit 6* 3 k 3 -bit 0 k 3 -bit 0 21 rms-bit 3 rms-bit 3 39 k 6 -bit 1 k 2 -bit 6* 4 p/v-bit 0 p/v-bit 0 22 k 1 -bit 4 k 1 -bit 4 40 k 7 -bit 2 k 3 -bit 7* 5 rms-bit 0 rms-bit 0 23 k 2 -bit 3 k 2 -bit 3 41 k 9 -bit 0 k 4 -bit 6* 6 k 1 -bit 1 k 1 -bit 1 24 k 3 -bit 4 k 3 -bit 4 42 p/v -bit 5 p/v -bit 5 7 k 2 -bit 1 k 2 -bit 1 25 k 4 -bit 3 k 4 -bit 3 43 k 5 -bit 2 k 1 -bit 7* 8 k 3 -bit 1 k 3 -bit 1 26 rms-bit 4 rms-bit 4 44 k 6 -bit 2 k 2 -bit 7* 9 p/v -bit 1 p/v -bit 1 27 p/v -bit 3 p/v -bit 3 45 k 10 -bit 1-10 rms-bit 1 rms-bit 1 28 k 2 -bit 4 k 2 -bit 4 46 k 8 -bit 2 rms-bit 7* 11 k 1 -bit 2 k 1 -bit 2 29 k 7 -bit 0 k 3 -bit 5* 47 p/v -bit 6 p/v -bit 6 12 k 4 -bit 0 k 4 -bit 0 30 k 8 -bit 0 rms-bit 5* 48 k 9 -bit 1 k 4 -bit 7* 13 k 3 -bit 2 k 3 -bit 2 31 p/v -bit 4 p/v -bit 4 49 k 5 -bit 3 k 1 -bit 8* 14 rms-bit 2 rms-bit 2 32 k 4 -bit 4 k 4 -bit 4 50 k 6 -bit 3 k 2 -bit 8* 15 p/v -bit 2 p/v -bit 2 33 k 5 -bit 0 k 1 -bit 5* 51 k 7 -bit 3 k 3 -bit 8* 16 k 4 -bit 1 k 4 -bit 1 34 k 6 -bit 0 k 2 -bit 5* 52 k 9 -bit 2 k 4 -bit 8* 17 k 1 -bit 3 k 1 -bit 3 35 k 7 -bit 1 k 3 -bit 6* 53 k 8 -bit 3 rms-bit 8* 18 k 2 -bit 2 k 2 -bit 2 36 k 10 -bit 0 k 4 -bit 5* 54 sync sync p/v: pitch και φωνητική απόφαση rms: ενέργεια rms *: bit προστασίας από σφάλματα Τα bit 0 είναι τα λιγότερο σημαντικά bits των δεδομένων Τα bit 5 είναι τα λιγότερο σημαντικά bits προστασίας Η σειρά μετάδοσης είναι από το bit 1 προς το bit Αναλυτική περιγραφή του αποκωδικοποιητή Στο σχήμα 3-11 φαίνεται το αναλυτικό διάγραμμα ενός ολοκληρωμένου συστήματος αποκωδικοποιητή LPC-10e, όπου το σήμα εξόδου είναι αναλογικό και μπορεί να οδηγηθεί απευθείας σε μεγάφωνο. 50

61 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) Σχήμα 3-11 Αναλυτικό διάγραμμα αποκωδικοποιητή LPC-10e 51

62 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) Τα επιμέρους τμήματα του αποκωδικοποιητή περιγράφονται παρακάτω: Ανάκτηση δεδομένων από bitsream και συγχρονισμός Οι σχετικές λειτουργίες εκτελούνται από το υλικό και δεν θα μας απασχολήσουν εδώ. Ο συγχρονισμός σε επίπεδο frame επιτυγχάνεται από το bit συγχρονισμού που διατίθεται για το σκοπό αυτό (bit 54). Ομαδοποίηση σε frames Τα bits του εισερχόμενου ψηφιακού σήματος χωρίζονται σε ομάδες των 54 bits, ώστε κάθε κύκλος αποκωδικοποίησης να αντιστοιχεί σε ένα frame ανάλυσης. Διόρθωση σφαλμάτων μετάδοσης, εξομάλυνση παραμέτρων και αποκβαντισμός Η μετάδοση των παραμέτρων του φωνητικού μοντέλου διαμέσου ενός οποιουδήποτε καναλιού επικοινωνίας μπορεί να επιφέρει αλλοιώσεις στις τιμές τους. Η κωδικοποίηση με γραμμική πρόβλεψη είναι ιδιαίτερα ευαίσθητη σε τέτοιες αλλοιώσεις, καθώς, επιδιώκοντας τη μέγιστη δυνατή συμπίεση, η ποιότητα του συνθετικού ήχου έχει ήδη υποβαθμιστεί συνειδητά στα όρια της καταληπτότητας και περαιτέρω υποβάθμιση μπορεί να οδηγήσει σε μη αποδεκτή ανακατασκευασμένη φωνή. Για το λόγο αυτό, έχει δοθεί ιδιαίτερη έμφαση στην εξάλειψη των σφαλμάτων μετάδοσης. Για την εξάλειψη αυτών των σφαλμάτων απαιτείται η εισαγωγή ενός frame καθυστέρησης. Χρησιμοποιούνται 3 τεχνικές αποσφαλμάτωσης, οι οποίες προσαρμόζονται κάθε φορά στον τρέχοντα ρυθμό εμφάνισης σφαλμάτων. Δηλαδή, καθώς αυξάνονται αναλογικά τα σφάλματα μετάδοσης, μεταβάλλονται και οι κανόνες διόρθωσης και εξομάλυνσης. Οι τεχνικές αποσφαλμάτωσης είναι: 1. Απευθείας διόρθωση πασιφανών σφαλμάτων Η ύπαρξη ορισμένων σφαλμάτων καθίσταται πρόδηλη από τις τιμές των παραμέτρων των γειτονικών frames (πχ ένα μεμονωμένο έμφωνο frame ανάμεσα σε συνεχόμενα άφωνα). Αυτά τα σφάλματα διορθώνονται εύκολα χωρίς να απαιτείται κάποια ειδική διαδικασία. 2. Διόρθωση σφαλμάτων μέσω των κωδίκων προστασίας Hamming Όταν ένα frame είναι άφωνο ή μεταβατικό, τότε 21 bits διατίθενται για την προστασία των 4 σημαντικότερων bits των συντελεστών k 1 -k 4 και της ενέργειας rms, μέσω κωδίκων Hamming (8,4). Οι κώδικες Hamming αποκαθιστούν μία λανθασμένη λέξη με ένα σφάλμα μετάδοσης, ενώ ανιχνεύουν μέχρι 2 σφάλματα μετάδοσης. Έτσι, αν ο κώδικας Hamming (8,4) ανιχνεύσει περισσότερα από ένα σφάλματα μετάδοσης σε κάποια παράμετρο, τότε η τιμή της παραμέτρου αντικαθίσταται από την αντίστοιχη του προηγούμενου frame. 3. Εξομάλυνση παραμέτρων με φίλτρο μεσαίου (median smoother) Οι τιμές του pitch, της ενέργειας rms και των 6 πρώτων συντελεστών ανάκλασης ενδέχεται να εξομαλυνθούν με ένα φίλτρο μεσαίου με εύρος 3 (δηλαδή υπολογίζεται η μεσαία τιμή από 3 αριθμούς). Οι είσοδοι του φίλτρου είναι οι τιμές 52

63 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) των αντίστοιχων παραμέτρων του προηγούμενου, του τρέχοντος και του μελλοντικού frame. Κριτήριο για το αν θα γίνει εξομάλυνση είναι οι αποστάσεις μεταξύ των τιμών των διαδοχικών frames (2 αποστάσεις). Αν και οι 2 αποστάσεις είναι μεγαλύτερες από κάποιες προκαθορισμένες τιμές (κατώφλια, εξαρτώμενα από τον τρέχοντα ρυθμό σφαλμάτων), τότε πραγματοποιείται εξομάλυνση. Μετά τη διόρθωση των σφαλμάτων μετάδοσης ακολουθεί ο αποκβαντισμόςαποκωδικοποίηση των παραμέτρων. Η αποκωδικοποίηση γίνεται με τη χρήση προαποθηκευμένων στη μνήμη του αποκωδικοποιητή πινάκων και ακολουθεί την αντίστροφη διαδικασία από αυτήν που εφαρμόστηκε στον κωδικοποιητή. Τμηματοποίηση ήχου σε εποχές και δημιουργία των επιμέρους μοντέλων των εποχών Ο αποκωδικοποιητής διαθέτει σε κάθε κύκλο αποκωδικοποίησης ένα σετ παραμέτρων του φωνητικού μοντέλου, το οποίο αντιστοιχεί σε ένα frame 180 δειγμάτων. Αυτές οι παράμετροι, όπως είναι λογικό, αποτελούν μία μέση εκτίμηση των πραγματικών παραμέτρων της κάθε θέσης του frame. Οι παράμετροι του φωνητικού μοντέλου στην πραγματικότητα μεταβάλλονται διαρκώς συναρτήσει του χρόνου, ακόμη και κατά την άρθρωση του ίδιου φθόγγου. Για να είναι λοιπόν πιστότερη η αναπαραγωγή του συνθετικού ήχου, το κάθε frame διασπάται σε μικρότερα τμήματα και για κάθε τέτοιο τμήμα υπολογίζεται ένα επιμέρους φωνητικό μοντέλο εφαρμόζοντας παρεμβολή στις αρχικές παραμέτρους που ελήφθησαν από το κανάλι μετάδοσης. Τα τμήματα υποδιαίρεσης του frame ονομάζονται εποχές (epochs) και αντιστοιχούν σε περιόδους pitch (εφόσον το frame είναι έμφωνο). Μία εποχή δεν είναι απαραίτητο να περιορίζεται μόνο εντός ενός frame αλλά μπορεί να περιέχει δείγματα από δύο διαφορετικά γειτονικά frames. Κάθε εποχή χαρακτηρίζεται από το μήκος της εποχής (σε δείγματα), τη φωνητική απόφαση της εποχής, την ενέργεια της εποχής και τους συντελεστές ανάκλασης της εποχής. Τα χαρακτηριστικά αυτά υπολογίζονται ως εξής: Εξετάζονται οι φωνητικές αποφάσεις των τριών τελευταίων ημι-frames. Συμβολίζοντας με 0 και 1 τα άφωνα και έμφωνα ημι-frames αντίστοιχα, διακρίνουμε τρεις περιπτώσεις: 1) «Φωνητική μετάβαση σε κάποιο από τα τελευταία 3 ημι-frames» α. Φωνητική απόφαση εποχών Η φωνητική μετάβαση θεωρείται ότι λαμβάνει χώρα καθυστερημένα κατά μισό ημι-frame. Πχ Aν voicing=110 τότε η μετάβαση από έμφωνο σε άφωνο συμβαίνει στο δείγμα 135 του τρέχοντος frame. Aν voicing=011 τότε η μετάβαση από άφωνο σε έμφωνο συμβαίνει στο δείγμα 45 του τρέχοντος frame. 53

64 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) β. Μήκος εποχών Τα άφωνα τμήματα των φωνητικών μεταβάσεων χωρίζονται σε δύο ισομήκεις εποχές. Το μέγιστο μήκος αυτών των εποχών είναι 90 δείγματα. Τα έμφωνα τμήματα των φωνητικών μεταβάσεων χωρίζονται σε ισομήκεις εποχές, με μήκος εκάστης εποχής ίσο με pitch. Ο αριθμός των εποχών ισούται με το μέγιστο ακέραιο πολλαπλάσιο περιόδων pitch, ώστε να μην προκαλείται υπέρβαση του δεξιού άκρου των τμημάτων αυτών. Τα δείγματα που περισσεύουν εντάσσονται στην πρώτη εποχή του επόμενου τμήματος ή frame. γ. Ενέργεια εποχών Όλες οι άφωνες εποχές του frame έχουν την ίδια ενέργεια. Αν έχουμε μετάβαση από άφωνο σε έμφωνο, η ενέργεια των άφωνων εποχών ισούται με την ενέργεια του προηγούμενου frame. Αν έχουμε μετάβαση από έμφωνο σε άφωνο, η ενέργεια των άφωνων εποχών ισούται με την ενέργεια του τρέχοντος frame. Η ενέργεια των έμφωνων εποχών του frame δίνεται από τον παρακάτω τύπο (λογαριθμική παρεμβολή): ln rms( n 1) a ln rms( n) ln rms( n 1) rms( n) epoch energy e rms( n 1) rms( n 1) όπου rms(n): ενέργεια rms του τρέχοντος frame rms(n-1): ενέργεια rms του προηγούμενου frame a 0,1 frame frame δ. Συντελεστές ανάκλασης εποχών Όλες οι άφωνες εποχές του frame έχουν τους ίδιους συντελεστές ανάκλασης. Επίσης, όλες οι έμφωνες εποχές του frame έχουν τους ίδιους συντελεστές ανάκλασης (αλλά διαφορετικούς από αυτούς των άφωνων). Ο τύπος εποχών που συναντάται πρώτος στο frame λαμβάνει τους συντελεστές ανάκλασης του προηγούμενου frame. Ο τύπος εποχών που συναντάται δεύτερος στο frame λαμβάνει τους συντελεστές ανάκλασης του τρέχοντος frame. 2) «Συνεχόμενος άφωνος ήχος» α. Φωνητική απόφαση εποχών Όλες οι εποχές του frame χαρακτηρίζονται ως άφωνες. β. Μήκος εποχών Όλες οι εποχές έχουν μήκος ίσο με 45 δείγματα. γ. Ενέργεια εποχών Η ενέργεια των εποχών δίνεται από τον παρακάτω τύπο (λογαριθμική παρεμβολή): a 54

65 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) rms( n) rms( n) 8 rms( n 1) 8 epoch energy a rms( n) rms( n 1) rms( n 1) όπου rms(n): ενέργεια rms του τρέχοντος frame rms(n-1): ενέργεια rms του προηγούμενου frame a frame frame δ. Συντελεστές ανάκλασης εποχών Ο κάθε συντελεστής ανάκλασης rc i των εποχών δίνεται από τον παρακάτω τύπο (λογαριθμική παρεμβολή): 1 rc i 1 όπου 1 rci ( n) 1 rci ( n 1) 1 rci ( n 1) 1 rci ( n 1) 1 rci ( n) 1 rci ( n 1) rc i (n): i-οστός συντελεστής ανάκλασης του τρέχοντος frame rc i (n-1): i-οστός συντελεστής ανάκλασης i του προηγούμενου frame a frame frame 3) «Συνεχόμενος έμφωνος ήχος» α. Φωνητική απόφαση εποχών Όλες οι εποχές του frame χαρακτηρίζονται ως έμφωνες. β. Μήκος εποχών Το μήκος της κάθε εποχής του frame υπολογίζεται επαναληπτικά ως εξής: Ι) Σαρώνονται διαδοχικά όλα τα δείγματα που δεν έχουν εκχωρηθεί ακόμη σε κάποια εποχή. ΙI) Για κάθε δείγμα i υπολογίζεται το πιθανό μήκος εποχής από τον παρακάτω τύπο (γραμμική παρεμβολή): epoch length pitch( n 1) a pitch( n) pitch( n 1) όπου pitch(n): περίοδος pitch του τρέχοντος frame, pitch(n-1): περίοδος pitch του προηγούμενου frame, i a frame a 0,1 frame ΙΙΙ) Το παραπάνω μήκος ισούται με το μήκος εποχής αν και μόνο αν ικανοποιείται η σχέση: i epoch length γ. Ενέργεια εποχών Η ενέργεια των εποχών δίνεται από τον παρακάτω τύπο (λογαριθμική παρεμβολή): 0,1 55

66 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) rms (n) epoch energy rms (n 1) rms (n 1) a όπου rms(n): ενέργεια rms του τρέχοντος frame rms(n-1): ενέργεια rms του προηγούμενου frame a frame frame 0,1 δ. Συντελεστές ανάκλασης εποχών Ο κάθε συντελεστής ανάκλασης rci των εποχών δίνεται από τον παρακάτω τύπο (λογαριθμική παρεμβολή): 1 rci 1 1 rci (n 1) 1 rci ( n) 1 rci (n 1) όπου 1 rci (n 1) 1 rci (n) 1 rci (n 1) a rci(n): i-οστός συντελεστής ανάκλασης του τρέχοντος frame rci(n-1): i-οστός συντελεστής ανάκλασης του προηγούμενου frame a frame frame 0,1 Η παραπάνω διαδικασία αναιρεί ως ένα βαθμό τις συνέπειες της ομαδοποίησης των δειγμάτων σε frames και δημιουργεί ένα ικανοποιητικό συνεχές φωνητικό μοντέλο, το οποίο μπορεί πλέον να χρησιμοποιηθεί για την παραγωγή συνθετικού ήχου αποδεκτής ποιότητας. Παραγωγή έμφωνης διέγερσης Η διέγερση των έμφωνων εποχών παράγεται από τον μηχανισμό που φαίνεται στο σχήμα Σχήμα 3-12 Παραγωγή διέγερσης των έμφωνων εποχών Η βασική διέγερση είναι μια ακολουθία 25 δειγμάτων (σχήμα 3-13). Αν το μήκος της εποχής είναι μικρότερο από 25, τότε παραλείπονται κάποια δείγματα από το τέλος της βασικής διέγερσης. Αν το μήκος της εποχής είναι μεγαλύτερο από 25, τότε η βασική διέγερση συμπληρώνεται με μηδενικά. Από το σχήμα

67 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) παρατηρούμε ότι η απόλυτη τιμή της βασικής διέγερσης είναι συμμετρική ως προς το μεσαίο δείγμα (δείγμα 13). Σχήμα 3-13 Βασική έμφωνη διέγερση epoch length και στη συνέχεια φιλτράρεται με ένα χαμηλοπερατό φίλτρο FIR της μορφής: y (n) x (n) 0.75 x( n 1) x (n 2) Η βασική διέγερση κλιμακοποιείται με έναν συντελεστή H LP ( z ) z z 2 Η δεύτερη συνιστώσα της έμφωνης διέγερσης προέρχεται από λευκό θόρυβο, ο οποίος προσεγγίζεται από μία γεννήτρια τυχαίων αριθμών, ομοιόμορφα κατανεμημένων στο διάστημα [-512,511]. Ο λευκός θόρυβος φιλτράρεται με ένα υψηλοπερατό φίλτρο FIR της μορφής: y (n) x( n) 0.25 x( n 1) x(n 2) H HP ( z ) z z 2 Η τελική διέγερση των έμφωνων εποχών είναι το άθροισμα της κλιμακοποιημένης και φιλτραρισμένης βασικής διέγερσης και του φιλτραρισμένου λευκού θορύβου. Τα διαγράμματα πλάτους των συναρτήσεων μεταφοράς του χαμηλοπερατού και υψηλοπερατού φίλτρου φαίνονται στα σχήματα 3-14 και 3-15, αντίστοιχα. 57

68 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) Σχήμα 3-14 Διάγραμμα Bode πλάτους χαμηλοπερατού φίλτρου έμφωνης διέγερσης 0 Bode Diagram Voiced excitation high pass filter magnitude (db) Frequency (Hz) Σχήμα 3-15 Διάγραμμα Bode πλάτους υψηλοπερατού φίλτρου έμφωνης διέγερσης Ο παραπάνω μηχανισμός προσομοιώνει ικανοποιητικά τη λειτουργία των φωνητικών χορδών κατά την παραγωγή έμφωνων φθόγγων, όπου εκτός από τις περιοδικές ταλαντώσεις δημιουργείται πάντα και κάποιος θόρυβος. Παραγωγή λευκού θορύβου Η διέγερση των άφωνων εποχών είναι λευκός θόρυβος, ο οποίος προσεγγίζεται από μία γεννήτρια τυχαίων αριθμών, ομοιόμορφα κατανεμημένων στο διάστημα [-512,511]. Επιπλέον, για κάθε άφωνη εποχή επιλέγεται τυχαία μια 58

69 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) θέση της ακολουθίας διέγερσης, στην οποία προστίθεται ένα ζεύγος διαδοχικών ίσων και αντίθετων ώσεων (impulse doublet). Το μέτρο αυτών των ώσεων είναι: rms(n), 2000 impulse height min 85.5 rms(n 1) 8 όπου rms(n): ενέργεια rms του τρέχοντος frame rms(n-1): ενέργεια rms του προηγούμενου frame Όπως γίνεται αντιληπτό από την παραπάνω σχέση, το μέτρο των ώσεων καθίσταται αξιόλογο όταν τα δύο τελευταία frames κυριαρχούνται από άφωνους φθόγγους και ταυτόχρονα το τρέχον frame έχει σημαντικά μεγαλύτερη ενέργεια από το προηγούμενο. Αυτή είναι η χαρακτηριστική περίπτωση των άφωνων φωνημάτων υψηλής ενέργειας (high energy plosives), κατά τη φώνηση των οποίων εμφανίζονται σύντομες άφωνες συνιστώσες υψηλής ενέργειας ανάμεσα στα συνήθη τμήματα χαμηλής ενέργειας. Τα σύμφωνα κ, τ, π είναι παραδείγματα φωνημάτων που περιέχουν συνιστώσες υψηλής ενέργειας. Στο σχήμα 3-16 φαίνεται μία τυπική άφωνη διέγερση για ένα άφωνο φώνημα υψηλής ενέργειας sample values sample numbers Σχήμα 3-16 Τυπική άφωνη διέγερση για φώνημα υψηλής ενέργειας Ανάκτηση των συντελεστών πρόβλεψης από τους συντελεστές ανάκλασης Η ανάκτηση των συντελεστών πρόβλεψης από τους συντελεστές ανάκλασης γίνεται με έναν αναδρομικό αλγόριθμο Μ-1 επαναλήψεων (Μ=10 ή Μ=4). Σε κάθε επανάληψη i (i=2,3,,m), υπολογίζονται i συντελεστές πρόβλεψης αij, j=1,2,,i με βάση τον συντελεστή ανάκλασης ki και τους συντελεστές πρόβλεψης αi-1,j της προηγούμενης επανάληψης. Οι συντελεστές αmj, που προκύπτουν κατά την τελευταία επανάληψη, είναι οι τελικοί συντελεστές πρόβλεψης της εξεταζόμενης εποχής. Ο εν λόγω αλγόριθμος δίνεται παρακάτω: 59

70 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) - Αρχικά ορίζεται α11=k1 - FOR i=2 TO Μ DO - aij ai 1, j ki ai 1,i j 1 j i 1 - aii ki - END Σύνθεση φωνής με φίλτρο γραμμικής πρόβλεψης Η σύνθεση τη φωνής για κάθε εποχή γίνεται με δύο φίλτρα γραμμικής πρόβλεψης συνδεδεμένα σε σειρά (σχήμα 3-17). Σχήμα 3-17 Σύνθεση φωνής με φίλτρα γραμμικής πρόβλεψης Το πρώτο φίλτρο είναι ένα φίλτρο FIR της μορφής: x(n) 0.7 M M 1 rc( j) pc(i) z(n i) z(n) j 1 2 i 1 όπου z(n): είσοδος φίλτρου (έμφωνη ή άφωνη διέγερση) x(n): έξοδος φίλτρου rc(j): j-οστός συντελεστής ανάκλασης της εποχής pc(i): i-οστός συντελεστής πρόβλεψης της εποχής 10 M 4 Το δεύτερο φίλτρο είναι το γνωστό IIR φίλτρο γραμμικής πρόβλεψης: M y (n) pc(i) y (n i ) x(n) i 1 όπου x(n): είσοδος φίλτρου y(n): έξοδος φίλτρου (συνθετικός ήχος) pc(i): i-οστός συντελεστής πρόβλεψης της εποχής 10 M 4 Για όσα δείγματα εξόδου y(n-i) ανήκουν σε προηγούμενες εποχές και χρησιμοποιούνται στην υλοποίηση του φίλτρου πρόβλεψης, λαμβάνεται μέριμνα ώστε η συνεισφορά τους στην τελική τιμή του δείγματος y(i), μετά και από τη 60

71 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) ρύθμιση κέρδους, να γίνεται με βάση την ενέργεια της προηγούμενης εποχής. Δηλαδή, τα δείγματα αυτά πολλαπλασιάζονται με τον παράγοντα previous epoch rms min,8. current epoch rms Ρύθμιση κέρδους Μετά το τέλος της σύνθεσης της κάθε εποχής, απομένει η ρύθμιση του κέρδους, ώστε ο ανακατασκευασμένος ήχος να περιέχει την επιθυμητή ενέργεια. Το κέρδος της εποχής υπολογίζεται ως εξής: desired epoch energy gain G actual epoch energy rms N y (i) i 1 2 rms 2 N N y (i) 2 i 1 N όπου rms: επιθυμητή ενέργεια της εποχής y(i): δείγματα εποχής Ν: μήκος εποχής Αποέμφαση Η αποέμφαση έχει ως στόχο την αναίρεση των επιπτώσεων της προέμφασης, που εφαρμόστηκε στον κωδικοποιητή. Υλοποιείται με ένα IIR φίλτρο πρώτης τάξης της μορφής: H de emphasis z 1 Το διάγραμμα πλάτους της συνάρτησης μεταφοράς της αποέμφασης φαίνεται στο σχήμα Σχήμα 3-18 Διάγραμμα πλάτους συνάρτησης μεταφοράς του φίλτρου απo-έμφασης 61

72 Κεφάλαιο 3 Το πρότυπο LPC-10e (FS-1015) Υψιπερατό φίλτρο 200 Hz Όπως προαναφέρθηκε, οι συχνότητες που εμφανίζονται στην ανθρώπινη φωνή κυμαίνονται από 30 Hz έως 8000 Hz. Οι σημαντικές όμως συνιστώσες της φωνής εντοπίζονται από τα 200 Hz μέχρι τα 3600 Hz. Έτσι, ο συνθετικός ήχος υφίσταται φιλτράρισμα σε αυτό το εύρος, ώστε να αποκοπούν τυχόν συχνότητες που δεν περιέχουν χρήσιμη πληροφορία. Το φιλτράρισμα των χαμηλών συχνοτήτων (κάτω από 200 Hz) γίνεται από ένα υψηλοπερατό φίλτρο της μορφής z 1 z 2 H HP ( z ) z z 2 με διάγραμμα πλάτους που φαίνεται στο σχήμα Bode Diagram Output high pass filter magnitude (db) 50 0 System: HPF Frequency (Hz): 200 Magnitude (db): Frequency (Hz) Σχήμα 3-19 Υψηλοπερατό φίλτρο εξόδου στα 200 Hz Μετατροπέας D/A Ο μετατροπέας D/A μετατρέπει το συνθετικό ψηφιακό σήμα φωνής σε αναλογικό. Δέχεται ως είσοδο προσημασμένους πραγματικούς αριθμούς των 13 bits με συχνότητα δειγματοληψίας στα 8000 Hz. Αν η υλοποίηση είναι αμιγώς ψηφιακή, αντί του μετατροπέα A/D αρκεί μία κλιμακοποίηση της φωνής στα 13 bits (συνήθως το σήμα εισόδου είναι των 8 ή 16 bits). Χαμηλοπερατό φίλτρο 3600 Hz Για το φιλτράρισμα στα 3600 Hz χρησιμοποιείται αναλογικό χαμηλοπερατό φίλτρο, του οποίου η συνάρτηση μεταφοράς είναι πανομοιότυπη με το χαμηλοπερατό τμήμα του ζωνοδιαβατού φίλτρου εισόδου στον κωδικοποιητή. 62

73 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx ΚΕΦΑΛΑΙΟ 4 Η ΟΙΚΟΓΕΝΕΙΑ VIRTEX-4 ΤΩΝ FPGA ΤΗΣ ΕΤΑΙΡΕΙΑΣ XILINX Ορισμός 4.1. ΕΙΣΑΓΩΓΗ ΣΤΑ FPGA Ο όρος FPGA προέρχεται από τα αρχικά της ονομασίας Field Programmable Gate Array. Όπως υποδηλώνεται από το όνομά τους, τα FPGA είναι προγραμματιζόμενες ψηφιακές συσκευές, οι οποίες μπορούν να προγραμματιστούν από τον τελικό χρήστη. Η δυνατότητα προγραμματισμού από τον τελικό χρήστη διαφοροποιεί τα FPGA από τα κυκλώματα ASIC (Application Specific Integrated Circuit), τα οποία κατασκευάζονται άπαξ για μια συγκεκριμένη εφαρμογή και δεν υπάρχει στο εξής δυνατότητα αλλαγής της λειτουργικότητάς τους. Αντιθέτως, ένα FPGA μπορεί να προγραμματιστεί απεριόριστες φορές και συνεπώς να αλλάζει λειτουργικότητα ανάλογα με τις εκάστοτε απαιτήσεις του χρήστη. Επιπλέον, ο προγραμματισμός ενός FPGA γίνεται σε επίπεδο ψηφιακών εξαρτημάτων και λογικών πυλών, δηλαδή ο προγραμματιστής μπορεί να διαχειρίζεται απευθείας το υλικό του ολοκληρωμένου κυκλώματος. Η πρόσβαση στο υλικό διαφοροποιεί τα FPGA από τους κλασσικούς μικροεπεξεργαστές, όπου παρέχεται ένα επίπεδο αφαίρεσης υλικού από το ίδιο το κύκλωμα (γλώσσα assembly). Έτσι, τα κύρια συγκριτικά πλεονεκτήματα των FPGA έναντι των κυκλωμάτων ASIC και των μικροεπεξεργαστών είναι η ευελιξία τους και η ταχύτητά τους, αντίστοιχα Τυπική εσωτερική δομή Τα FPGA αποτελούνται από έναν αριθμό λογικών μπλοκ και από ένα πλήθος διασυνδέσεων μεταξύ των μπλοκ. Τόσο τα λογικά μπλοκ όσο και οι διασυνδέσεις είναι προγραμματιζόμενα. Έτσι, κάθε λογικό μπλοκ μπορεί να προγραμματιστεί ώστε να εκτελεί μια συγκεκριμένη λειτουργία και πολλά λογικά μπλοκ μπορούν να διασυνδεθούν μεταξύ τους για να διαμορφωθεί το τελικό κύκλωμα. Αν και υπάρχουν πολλές διαφορετικές αρχιτεκτονικές στα FPGA, η επικρατέστερη είναι αυτή που φαίνεται στο σχήμα 4-1. Αυτή η αρχιτεκτονική χρησιμοποιείται και στα FPGA της εταιρείας Xilinx. 63

74 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Σχήμα 4-1 Τυπική αρχιτεκτονική ενός FPGA Όπως φαίνεται παραστατικά στο σχήμα 4-1, το FPGA έχει τη μορφή ενός δισδιάστατου πίνακα λογικών μπλοκ, τα οποία συνδέονται μεταξύ τους μέσω ενός πλέγματος διασυνδέσεων. Ο προγραμματισμός του FPGA καθορίζει τη λογική συμπεριφορά των μπλοκ και τις συνδέσεις που υφίστανται μεταξύ τους. Το βασικότερο και πολυπληθέστερο μπλοκ ενός FPGA ονομάζεται CLB (Configurable Logic Block) και μπορεί να υλοποιήσει ασύγχρονες ή σύγχρονες λογικές συναρτήσεις πολλών εισόδων, μνήμες RAM ή ROM, αθροιστές, shift registers κλπ. Τα πρώτα FPGA αποτελούνταν ως επί το πλείστον από CLB. Σήμερα όμως, οι κατασκευαστές των FPGA ενσωματώνουν και πολλά άλλα λογικά μπλοκ στα προϊόντα τους, τα οποία εκτελούν εξειδικευμένες λειτουργίες, όπως μνήμες RAM, γρήγορους πολλαπλασιαστές, γεννήτριες σημάτων χρονισμού, ακόμα και πλήρεις μικροεπεξεργαστές. Το πλέγμα των διασυνδέσεων περιέχει διασυνδέσεις γενικής χρήσης, οι οποίες ενώνουν οποιαδήποτε λογικά μπλοκ μεταξύ τους, όπως επίσης και διασυνδέσεις εξειδικευμένης λειτουργικότητας. Πχ στις οικογένειες FPGA της Xilinx υπάρχουν ειδικοί δίαυλοι για τη μεταφορά των σημάτων χρονισμού προς όλες τις περιοχές του FPGA, αποκλειστικές διασυνδέσεις υψηλής ταχύτητας μεταξύ γειτονικών μπλοκ μνήμης SRAM κλπ. Η επικοινωνία του FPGA με τον εξωτερικό κόσμο γίνεται συνήθως μέσω ειδικών μπλοκ εισόδου-εξόδου ( Input Output Blocks - IOB). Τα σύγχρονα FPGA διαθέτουν εκατοντάδες θύρες I/O και υποστηρίζουν πολλά διαφορετικά πρότυπα επικοινωνίας. 64

75 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Τεχνολογίες προγραμματισμού του υλικού Οι επικρατέστερες τεχνολογίες προγραμματισμού των FPGA είναι οι παρακάτω: 1) Μέσω κελιών SRAM Ο προγραμματισμός κάθε σύνδεσης γίνεται αποθηκεύοντας ένα bit σε ένα κελί SRAM. Το bit αυτό οδηγεί ένα τρανζίστορ διασύνδεσης σε κατάσταση αγωγιμότητας ή αποκοπής, ενεργοποιώντας ή απενεργοποιώντας αντίστοιχα τη σύνδεση. Ο προγραμματισμός χάνεται μετά από κάθε απώλεια ισχύος, συνεπώς η τεχνική αυτή απαιτεί τη χρήση εξωτερικής μνήμης για την αποθήκευση του bitstream προγραμματισμού. 2) Fuse-antifuse Η μέθοδος αυτή χρησιμοποιεί υψηλή τάση για να μεταβάλλει την αντίσταση των συνδέσεων. Η αντίσταση κάθε σύνδεσης ρυθμίζεται να είναι είτε της τάξης των μερικών GOhms (πρακτικά ανοιχτό κύκλωμα) είτε της τάξης των μερικών Ohms (πρακτικά βραχυκύκλωμα). Το μειονέκτημα αυτής της μεθόδου είναι ότι ο προγραμματισμός είναι μόνιμος και το FPGA δεν μπορεί να επαναχρησιμοποιηθεί. 3) PROM EPROM EEPROM Flash Αυτή η μέθοδος χρησιμοποιεί τις ίδιες τεχνικές προγραμματισμού με τις τεχνολογίες των μνημών PROM EPROM EEPROM Flash και μπορεί να θεωρηθεί ότι βρίσκεται στο μέσο των δύο προηγούμενων τεχνικών. Παρέχει τόσο την ευστάθεια της fuse-antifuse όσο και την ικανότητα επανεγγραφής της SRAM. Από την άλλη, η αντίσταση των διακοπτών δρομολόγησης είναι μεγαλύτερη από αυτήν της fuse-antifuse, ενώ ο προγραμματισμός είναι πιο πολύπλοκος και χρονοβόρος από ότι αυτός της τεχνικής SRAM Ανάπτυξη εφαρμογών στα FPGA Η ανάπτυξη εφαρμογών για τα FPGA γίνεται συνήθως με τη χρήση ειδικών γλωσσών προγραμματισμού, που ονομάζονται Hardware Description Languages (HDL). Mέσω αυτών, ο προγραμματιστής μπορεί να χειριστεί ψηφιακά εξαρτήματα και σήματα. Οι πιο γνωστές γλώσσες είναι οι VHDL και Verilog. Τα τελευταία χρόνια πάντως, εκτός από τις γλώσσες HDL έχουν αναπτυχθεί σχηματικοί συντάκτες και εργαλεία προγραμματισμού υψηλού επιπέδου, τα οποία διευκολύνουν σε μεγάλο βαθμό το έργο των προγραμματιστών. Παράλληλα, διάφορες εταιρείες έχουν αναπτύξει δομές σε γλώσσες HDL, οι οποίες υλοποιούν με βέλτιστο τρόπο πολύπλοκα ψηφιακά κυκλώματα. Αυτές οι δομές λέγονται IP-cores (Intellectual Property Cores) και μπορούν να χρησιμοποιηθούν για τη μείωση του χρόνου ανάπτυξης και του ρίσκου μιας εφαρμογής καθώς και την αύξηση της απόδοσης. 65

76 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx 4.2. ΓΕΝΙΚΗ ΕΠΙΣΚΟΠΗΣΗ ΤΗΣ ΟΙΚΟΓΕΝΕΙΑΣ VIRTEX Τα FPGA της εταιρείας Xilinx Η Xilinx είναι η εταιρεία που κατασκεύασε το πρώτο FPGA στα μέσα της δεκαετίας του 1980 και έκτοτε παραμένει πρωτοπόρος σε αυτόν τον τομέα, διατηρώντας μέχρι σήμερα το μεγαλύτερο μερίδιο της αγοράς. Τα τελευταία χρόνια η Xilinx διατηρεί γραμμή παραγωγής για δύο μεγάλες σειρές οικογενειών FPGA, τη σειρά Spartan και τη σειρά Virtex. Η σειρά Spartan απευθύνεται σε εφαρμογές μικρών απαιτήσεων σε ταχύτητα και όγκο και είναι πιο οικονομική. Η σειρά Virtex από την άλλη απευθύνεται σε απαιτητικές εφαρμογές και διαθέτει γρηγορότερες και πιο εξελιγμένες συσκευές, με περισσότερους και πιο εξειδικευμένους πόρους Οικογένεια Virtex-4 και υπο-οικογένειες Η οικογένεια Virtex-4 παρουσιάστηκε από τη Xilinx το 2004 και είναι βασισμένη στην αρχιτεκτονική ASMBL (Advanced Silicon Modular Block) με χαρακτηριστικά: 1.2V, 90-nm, copper CMOS process technology. Ένα FPGA Virtex-4 έχει εσωτερική δομή δισδιάστατου πίνακα λογικών μπλοκ, όπως αυτή που φαίνεται στο σχήμα 4-1. Εκτός από τις διασυνδέσεις γενικού τύπου, υπάρχουν και αρκετές διασυνδέσεις ειδικού σκοπού, οι οποίες υλοποιούν γρήγορες διαδρομές μεταξύ κρίσιμων πόρων του συστήματος (σήματα clock, γειτονικά μπλοκ μνήμης RAM κλπ). Ο προγραμματισμός των συσκευών Virtex-4 χρησιμοποιεί την τεχνική των κελιών SRAM. Αυτό σημαίνει ότι η συσκευή πρέπει να επαναπρογραμματίζεται μετά από κάθε απώλεια ισχύος. Οι συσκευές Virtex-4 χωρίζονται στις 3 παρακάτω υπο-οικογένειες: 1) Virtex-4 LX Βελτιστοποιημένη για υπολογιστικά απαιτητικές εφαρμογές (processing intensive applications) διαθέτει περισσότερα CLB από τις άλλες υποοικογένειες. 2) Virtex-4 SX Βελτιστοποιημένη για εφαρμογές Ψηφιακής Επεξεργασίας Σήματος (DSP) διαθέτει περισσότερα μπλοκ XtremeDSP από τις άλλες υπο-οικογένειες. 3) Virtex-4 FX Εμπλουτισμένη με πολλά επιπλέον χαρακτηριστικά, προσφέρεται για κάθε είδους εφαρμογές υψηλών απαιτήσεων. Είναι η μόνη που διαθέτει μπλοκ PowerPC, Ethernet MAC και RocketIO Multi-Gigabit Transceiver. Επίσης, διαθέτει περισσότερα μπλοκ RAM και DCM από τις άλλες υποοικογένειες. 66

77 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Γενικά χαρακτηριστικά της οικογένειας Virtex-4 Παρακάτω παρουσιάζονται επιγραμματικά αρχιτεκτονικής της οικογένειας Virtex-4: τα χαρακτηριστικά της Ευέλικτα Configurable Logic Blocks (CLB) - 8 Look Up Tables (LUT) 4 εισόδων - 1 εξόδου ανά CLB - 8 στοιχεία αποθήκευσης ανά CLB, διαμορφώσιμα ως edge-triggered flip flop ή level-sensitive κυκλώματα μανδάλωσης (latches) - Αλυσίδες carry και ειδικές πύλες για την εκτέλεση γρήγορων αριθμητικών πράξεων - Δυνατότητα διαμόρφωσης κάθε LUT ως μνήμη ROM των 16 bit - Δυνατότητα διαμόρφωσης ορισμένων LUT ως κατανεμημένη μνήμη RAM των 16 bit με δυνατότητες dual port - Δυνατότητα διαμόρφωσης ορισμένων LUT ως shift registers των 16 bit - Πολυπλέκτες για τη δημιουργία μεγαλύτερων δομών - Μέγιστος αριθμός CLB μέχρι , μέγιστος αριθμός LUT και καταχωρητών μέχρι (συσκευή XC4VLX200) Ξεχωριστά μπλοκ RAM των 18 kbit - Υποστηρίζονται τα πρότυπα υψηλής ταχύτητας DDR, DDR-2, SDRAM, QDR-II και RLDRAM-II. - Αρχιτεκτονική dual-port. Σε κάθε μπλοκ RAM μπορεί να γίνεται παράλληλα εγγραφή και ανάγνωση δεδομένων από δύο ξεχωριστές θύρες. - Ξεχωριστοί δίαυλοι για μεταφορά bit ισοτιμίας σε είσοδο και έξοδο. - Ευέλικτη διαμόρφωση του μήκους λέξης για κάθε λειτουργία ανάγνωσης ή εγγραφής μιας θύρας, υποστηρίζονται διαμορφώσεις από 16k λέξεις του 1 bit (16Kx1) έως 512 λέξεις των 36 bit (512x36). - Αφιερωμένοι πόροι διασύνδεσης επιτρέπουν τη δημιουργία μπλοκ μνήμης 32k λέξεων του 1 bit χωρίς τη χρήση των διασυνδέσεων γενικής χρήσης. - Προαιρετικοί καταχωρητές εξόδου παρέχουν δυνατότητα pipelining για βελτίωση της απόδοσης. - Δυνατότητα ελέγχου της εγγραφής μεμονωμένων bytes, ώστε να παρέχεται διεπαφή προς τον ενσωματωμένο μικροεπεξεργαστή PowerPC. - Κάθε μπλοκ RAM μπορεί να διαμορφωθεί ως μια δομή ουράς (FIFO First In First Out) χωρίς τη χρήση επιπλέον λογικών πόρων. Το εύρος της FIFO μπορεί να είναι 4Kx4, 2Kx9, 1Kx18 ή 512x36 και η ταχύτητα ανάγνωσης δεδομένων μπορεί να είναι διαφορετική από την ταχύτητα εγγραφής. Επίσης παρέχονται σήματα Full, Empty, Almost Full και Almost Empty. - Συνδυασμός δύο μπλοκ RAM σε διαμόρφωση 512x64 με ενσωματωμένο κώδικα διόρθωσης σφαλμάτων Hamming. - Μέγιστη μνήμη από μπλοκ RAM ίση με 10 Μbits (συσκευή XC4VFX140). 67

78 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Τεχνολογία χρονισμού Xesium - Υποστηρίζονται σήματα clock απλά ή διαφορικά. - Τρία είδη clocks: global clocks (διασχίζουν όλη τη συσκευή), regional clocks (περιορισμένα τοπικά) και I/O clocks (για είσοδο-έξοδο) - Μπλοκ DCM (Digital Clock Manager) - Μπλοκ PMCD (Phase Matched Clock Divider) - Δεν υπάρχει ανεξάρτητος εσωτερικός κρύσταλλος ή ταλαντωτής (εκτός από έναν που διατίθεται για τη διαμόρφωση της συσκευής), συνεπώς ένα τουλάχιστον σήμα χρονισμού πρέπει να παρέχεται εξωτερικά. Εφόσον διατίθεται εξωτερικό σήμα, περισσότερα σήματα μπορούν να παραχθούν από τα μπλοκ DCM και PMCD. Μπλοκ εισόδου-εξόδου (τεχνολογία SelectIO ) - Μεγάλο πλήθος θυρών εισόδου-εξόδου (μέχρι 960), κάθε θύρα δύναται να διαμορφωθεί ως είσοδος, έξοδος ή διπλής κατεύθυνσης - Υποστήριξη για πολλά διαφορετικά πρότυπα εισόδου-εξόδου, απλά (singleended) ή διαφορικά (differential), με τάσεις τροφοδοσίας από 1.5 V ως 3.3 V - Υψηλές ταχύτητες μεταφοράς δεδομένων (μέχρι 600 Mb/s για single-ended πρότυπα, μέχρι 1 Gb/s για differential πρότυπα) - Εσωτερικός τερματισμός κυκλώματος μέσω DCI (Digitally Controlled Impedance) για εξάλειψη τυχόν ανακλάσεων του σήματος - Αφιερωμένα σήματα clock για τους πόρους εισόδου-εξόδου και ειδικές θύρες I/O μικρής χωρητικότητας για αξιόπιστη μεταφορά των σημάτων αυτών - Μεταφορά δεδομένων με ρυθμούς SDR (Single Data Rate) και DDR (Double Data Rate) - Δυνατότητα εισαγωγής μεταβλητής χρονικής καθυστέρησης σε κάθε bit εισόδου, ανεξάρτητα για το κάθε bit - Ενσωματωμένοι serial-to-parallel και parallel-to-serial converters για σειριακή είσοδο-έξοδο λέξεων δεδομένων Αφιερωμένα μπλοκ για ψηφιακή επεξεργασία σήματος (XtremeDSP slices) - Πολλαπλασιαστές προσημασμένων αριθμών 18x18 bits - Αθροιστές τριών εισόδων 48 bits με δυνατότητα πρόσθεσης, αφαίρεσης και συσσώρευσης (accumulation) - Προαιρετική γραμμή διοχέτευσης (pipeline) πολλών σταδίων για αύξηση της απόδοσης - Αφιερωμένες διασυνδέσεις μεταξύ διαδοχικών μπλοκ XtremeDSP για υλοποίηση μεγαλύτερων δομών αυξημένης απόδοσης - Αρχιτεκτονική των μπλοκ επιτρέπει την υλοποίηση γρήγορων αριθμητικών πράξεων και διαδικασιών ψηφιακής επεξεργασίας σήματος, όπως πρόσθεση, αφαίρεση, πολλαπλασιασμό, διαίρεση, πολλαπλασιασμό-συσσώρευση, 68

79 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx εύρεση τετραγωνικής ρίζας, μιγαδικό πολλαπλασιασμό, υλοποίηση FIR φίλτρων κλπ. RocketIO Multi-Gigabit Transceivers (MGT) - Διαθέσιμοι μόνο στην υπο-οικογένεια FX. - Full-duplex αμφίδρομη σειριακή επικοινωνία σε πολύ υψηλές ταχύτητες (ρυθμοί baud από 622 Mbps έως 6.5 Gbps) Ενσωματωμένος μικροεπεξεργαστής PowerPC 405 αρχιτεκτονικής RISC - Διαθέσιμοι μόνο στην υπο-οικογένεια FX. - Λειτουργία μέχρι τα 450 MHz - Μνήμη cache εντολών 16 KB - Μνήμη cache δεδομένων 16 KB - Γραμμή διοχέτευσης δεδομένων 5 σταδίων - Διεπαφή για χρήση των μπλοκ RAM από τον μικρο-επεξεργαστή Tri-Mode Ethernet Media Access Controller (MAC) - Διαθέσιμοι μόνο στην υπο-οικογένεια FX. - Παρέχει πρόσβαση σε δίκτυο Ethernet με ταχύτητες 10, 100 ή 1000 Mbps - Half-duplex ή full-duplex Διαμόρφωση συσκευής (configuration) - Πέντε διαφορετικοί τρόποι προγραμματισμού: 1) Σειριακά, όπου το FPGA παρέχει το ρολόι προγραμματισμού (Master Serial) 2) Σειριακά, όπου το ρολόι προγραμματισμού παρέχεται εξωτερικά (Slave Serial) 3) Παράλληλα με λέξεις των 8 ή 32 bits (SelectMAP), όπου το FPGA παρέχει το ρολόι προγραμματισμού (Master SelectMAP) 4) Παράλληλα με λέξεις των 8 ή 32 bits (SelectMAP), όπου το ρολόι προγραμματισμού παρέχεται εξωτερικά (Slave SelectMAP) 5) Μέσω του προτύπου JTAG (Joint Test Action Group) - Δυνατότητα κρυπτογράφησης του bitstream προγραμματισμού με αλγόριθμο AES των 256 bit, ώστε να αποφευχθεί πιθανή υποκλοπή της σχεδίασης. - Εξελιγμένη ικανότητα ανίχνευσης και διόρθωσης σφαλμάτων στο bitstream προγραμματισμού. - Ανάγνωση των εγγεγραμμένων bits (readback) για επιβεβαίωση της ορθής διαμόρφωσης της συσκευής. 69

80 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Συσκευασίες (Packaging) - Οι συσκευασίες της οικογένειας Virtex-4 είναι της τεχνολογίας flip-chip, καταλαμβάνουν λιγότερο χώρο και εμφανίζουν μικρότερη αυτεπαγωγή, επιτρέποντας έτσι υψηλές ταχύτητες I/O. - Διατίθενται οικολογικές συσκευασίες χωρίς μόλυβδο (Pb-free συσκευασίες). Στο σχήμα 4-2 φαίνονται τα χαρακτηριστικά όλων των συσκευών της οικογένειας Virtex-4. Σχήμα 4-2 Χαρακτηριστικά συσκευών της οικογένειας Virtex Τρόπος παραγγελίας συσκευής Virtex-4 Η παραγγελία μιας συσκευής Virtex-4 σε συγκεκριμένη συσκευασία γίνεται μέσω ενός κωδικού αριθμού, ο οποίος προσδιορίζει τα χαρακτηριστικά που επιθυμεί ο πελάτης. Η σύνταξη του κωδικού αριθμού παραγγελίας φαίνεται στο σχήμα

81 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Σχήμα 4-3 Κωδικός αριθμός παραγγελίας συσκευής Virtex-4 Η επιλογή ορισμένων συσκευασιών μπορεί να περιορίσει το μέγιστο πλήθος Ι/Ο και Multi-Gigabit Transceivers μιας συσκευής (για περισσότερες λεπτομέρειες ανατρέξτε στο datasheet ds112 - Virtex-4 family overview ) ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ VIRTEX Configurable Logic Blocks (CLB) Το CLB είναι το βασικό στοιχείο λογικής, μέσω του οποίου υλοποιούνται συνδυαστικά και ακολουθιακά ψηφιακά κυκλώματα. Η εσωτερική δομή ενός CLB φαίνεται στο σχήμα 4-4. Σχήμα 4-4 Εσωτερική δομή ενός CLB της οικογένειας Virtex-4 71

82 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Κάθε CLB είναι συνδεδεμένο από τα αριστερά με έναν πίνακα διασύνδεσης (switch matrix), ο οποίος επιτρέπει στις εισόδους του να συνδέονται με το γενικό πλέγμα διασυνδέσεων της συσκευής (general routing matrix). Κάθε CLB αποτελείται από 4 μικρότερες δομές, που λέγονται slices. Τα slices ομαδοποιούνται ανά 2 σε στήλες, με κάθε στήλη να περιέχει 2 όμοια slices. Η πρώτη στήλη ονομάζεται SLICEM και μπορεί να εκτελέσει ένα υπερσύνολο των λειτουργιών της δεύτερης στήλης, η οποία ονομάζεται SLICEL. Τέλος, οι έξοδοι του CLB οδηγούνται και πάλι στο γενικό πλέγμα διασυνδέσεων της συσκευής. Κάθε slice περιέχει δύο Look Up Tables (LUT) 4 εισόδων και 1 εξόδου, δύο στοιχεία αποθήκευσης του 1 bit, δύο πολυπλέκτες γενικής χρήσης των 2 εισόδων, ειδικές πύλες για την εκτέλεση γρήγορων αριθμητικών πράξεων και κυκλώματα για επεξεργασία του κρατουμένου από αυτές τις πράξεις (carry chains). Τα LUT οποιουδήποτε slice μπορούν επίσης να διαμορφωθούν ως μια μνήμη ROM 16 λέξεων του 1 bit (16x1). Επιπλέον, τo κάθε LUT των slices της στήλης SLICEM μπορεί να διαμορφωθεί είτε ως μία κατανεμημένη μνήμη RAM των 16 bits είτε ως ένας καταχωρητής ολίσθησης (shift register) των 16 bits. Η διαμόρφωση κάποιου LUT ως ROM, RAM ή shift register υποκαθιστά προφανώς τη φυσιολογική του λειτουργία (υλοποίηση λογικών συναρτήσεων 4 εισόδων). Στο σχήμα 4-5 φαίνεται o αριθμός κάθε είδους εξαρτημάτων που υπάρχουν μέσα σε ένα CLB. Σχήμα 4-5 Στοιχεία που περιέχονται εντός ενός CLB Στο σχήμα 4-6 φαίνεται το διάγραμμα κυκλώματος ενός slice της στήλης SLICEM. 72

83 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Σχήμα 4-6 Διάγραμμα κυκλώματος ενός slice της στήλης SLICEM 73

84 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Η λειτουργία του κάθε στοιχείου ενός CLB περιγράφεται παρακάτω. Look Up Table (LUT) 4 εισόδων-1 εξόδου Τα δύο LUT κάθε slice μπορούν να υλοποιήσουν οποιαδήποτε λογική συνάρτηση 4 εισόδων και 1 εξόδου. Οι είσοδοι όλων των LUT είναι ανεξάρτητες μεταξύ τους ενώ η καθυστέρηση διάδοσης του σήματος διαμέσου ενός LUT είναι πάντα η ίδια ανεξαρτήτως της συνάρτησης που υλοποιείται. Οι έξοδοι ενός LUT μπορούν είτε να εξέρχονται απευθείας από το slice, είτε να οδηγούνται στην είσοδο ενός στοιχείου αποθήκευσης, ενός πολυπλέκτη ή μιας πύλης XOR, είτε να αποτελούν τη γραμμή επιλογής ενός πολυπλέκτη της carry chain. Οι πολλαπλές αυτές επιλογές σύνδεσης δίνουν μεγάλη ευελιξία στη χρησιμοποίηση των LUT. Λογικές συναρτήσεις με περισσότερες από 4 εισόδους μπορούν να υλοποιηθούν συνδυάζοντας περισσότερα του ενός LUT με χρήση πολυπλεκτών. Στοιχεία αποθήκευσης 1 bit Τα δύο στοιχεία αποθήκευσης κάθε slice μπορούν να διαμορφωθούν είτε ως edge-triggered flip-flops τύπου D, είτε ως level-sensitive κυκλώματα μανδάλωσης (latches) και μοιράζονται τα ίδια σήματα clock και clock-enable. Οι είσοδοι των στοιχείων αποθήκευσης μπορεί να προέρχονται από τις εξόδους των LUT ή απευθείας από έξω από το slice, προσδίδοντας ευελιξία στη σχεδίαση. Επιπλέον, για κάθε στοιχείο αποθήκευσης υπάρχει δυνατότητα χρήσης σημάτων set και reset. Η συμπεριφορά των σημάτων αυτών είναι προγραμματιζόμενη και η δράση τους μπορεί να είναι σύγχρονη ή ασύγχρονη με το clock των στοιχείων αποθήκευσης. Πολυπλέκτες γενικής χρήσης 2 εισόδων Η κατασκευή μεγάλων λογικών δομών από τα βασικά στοιχεία που περιέχονται σε ένα slice δεν θα ήταν δυνατή χωρίς τους πολυπλέκτες. Με τη χρήση των πολυπλεκτών γενικής χρήσης ενός CLB μπορούν να δομηθούν συναρτήσεις πολλών εισόδων, μεγάλες μνήμες RAM ή ROM και μεγάλοι shift registers. Το κάθε slice περιέχει δύο πολυπλέκτες γενικής χρήσης των 2 εισόδων που ονομάζονται MUXF5 και MUXFX (βλ. σχήμα 4-6). Με τις κατάλληλες διασυνδέσεις οι πολυπλέκτες αυτοί χρησιμοποιούνται στην κατασκευή σύνθετων λογικών δομών. Τρία παραδείγματα δίνονται στα σχήματα 4-7, 4-8 και 4-9. Στο σχήμα 4-7 φαίνεται η υλοποίηση μιας λογικής συνάρτησης με έως 9 εισόδους χρησιμοποιώντας τα 2 LUT και τον MUXF5 ενός slice. Στο σχήμα 4-8 φαίνεται η υλοποίηση μιας λογικής συνάρτησης με έως 35 εισόδους χρησιμοποιώντας και τα 4 slices ενός CLB (οι MUXF6, MUXF7 και MUXF8 συμπίπτουν με τον MUXFX). Τέλος, στο σχήμα 4-9 δίνεται η υλοποίηση πολυπλεκτών 8 εισόδων και 16 εισόδων. 74

85 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Σχήμα 4-7 Διαμόρφωση ενός slice ως συνάρτηση 9 εισόδων-1 εξόδου Σχήμα 4-8 Διαμόρφωση ενός CLB ως συνάρτηση 35 εισόδων-1 εξόδου 75

86 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Σχήμα 4-9 Υλοποίηση πολυπλεκτών πολλών εισόδων Ειδικές πύλες XOR και AND Κάθε slice περιέχει 2 πύλες XOR και 2 πύλες AND (βλ. σχήμα 4-6). Οι πύλες ΧΟΡ επιτρέπουν τη δημιουργία ενός πλήρους αθροιστή των 2 bit εντός του slice, ενώ οι πύλες AND διευκολύνουν την υλοποίηση πολλαπλασιαστών. Αλυσίδες μεταφοράς κρατουμένων (carry chains) Η ύπαρξη ειδικών πόρων για τη μεταφορά των κρατουμένων από το κάθε slice προς το αμέσως ανώτερό του, επιτρέπει την εκτέλεση γρήγορων αριθμητικών πράξεων. Το κάθε CLB διαθέτει δύο διαφορετικές αλυσίδες μεταφοράς κρατουμένων, καθεμία εκ των οποίων έχει βάθος 2 bit (βλ. σχήμα 4-6). Έτσι, μπορεί να εφαρμοσθεί η τεχνική carry look-ahead για την επιτάχυνση των αριθμητικών πράξεων. Μνήμη ROM Οποιοδήποτε LUT ενός CLB μπορεί να υλοποιήσει μια μνήμη ROM των 16 bits αντικαθιστώντας τη φυσιολογική του λειτουργία. Πολλές τέτοιες μνήμες μπορούν να συνδυαστούν για να δημιουργήσουν δομές ROM με περισσότερες 76

87 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx λέξεις ή/και μεγαλύτερο μήκος λέξης. Τα δεδομένα της μνήμης ROM εισάγονται κατά τον προγραμματισμό της συσκευής. Κατανεμημένη μνήμη RAM Κάθε LUT των slices της στήλης SLICEM ενός CLB μπορεί να υλοποιήσει μια μνήμη RAM των 16 bits αντικαθιστώντας τη φυσιολογική του λειτουργία. Αυτή η μνήμη ονομάζεται κατανεμημένη μνήμη RAM για να διαφοροποιηθεί από τη μνήμη των ειδικών RAM μπλοκ. Πολλές τέτοιες μνήμες μπορούν να συνδυαστούν για να δημιουργήσουν δομές RAM με περισσότερες λέξεις ή/και μεγαλύτερο μήκος λέξης. Οι εγγραφές δεδομένων στη μνήμη είναι σύγχρονες με το ρολόι της μνήμης και γίνονται μέσω σήματος write enable. Οι αναγνώσεις δεδομένων μπορούν να γίνουν ασύγχρονα (διαβάζοντας τις εξόδους των LUT) ή σύγχρονα (με χρήση των flip-flop του slice). Ακόμη, είναι δυνατόν να υλοποιηθούν μνήμες RAM με μερική λειτουργικότητα διπλής θύρας (dual port). Μια μνήμη με δυνατότητα dual port διαθέτει δύο θύρες ανάγνωσης-εγγραφής που δρουν ανεξάρτητα. Έτσι, μπορεί η μία θύρα να εγγράφει δεδομένα σε κάποια διεύθυνση, την ίδια στιγμή που η άλλη θύρα γράφει ή διαβάζει δεδομένα από την ίδια ή κάποια άλλη διεύθυνση. Στην περίπτωση της κατανεμημένης dual port RAM των CLB, διατίθενται δύο θύρες, η μία εκ των οποίων μπορεί να εκτελεί σύγχρονες εγγραφές και σύγχρονες/ασύγχρονες αναγνώσεις δεδομένων, ενώ η άλλη μπορεί να εκτελεί μόνο σύγχρονες/ασύγχρονες αναγνώσεις δεδομένων. Για την υλοποίηση μιας μνήμης διπλής θύρας των 16 bit απαιτείται η χρήση και των δύο LUT ενός slice. Τέλος, τα δεδομένα μιας κατανεμημένης μνήμης RAM δεν επηρεάζονται από το σήμα GSR (Global Set Reset). Στο σχήμα 4-10 φαίνεται ο αριθμός των LUT που απαιτούνται για την υλοποίηση μερικών μεγεθών κατανεμημένης μνήμης RAM (λέξεις του 1 bit). Στo σχήμα 4-11 φαίνεται η υλοποίηση RAM απλής θύρας των 32x1 bits. Στο σχήμα 4-12 φαίνεται η υλοποίηση μνήμης διπλής θύρας των 16x1 bits. Σχήμα 4-10 Απαιτούμενος αριθμός LUT για δομές κατανεμημένης RAM 77

88 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Σχήμα 4-11 Κατανεμημένη μνήμη RAM απλής θύρας 32x1 bits Σχήμα 4-12 Κατανεμημένη μνήμη RAM διπλής θύρας 16x1 bits Καταχωρητές ολίσθησης (shift registers) Κάθε LUT των slices της στήλης SLICEM ενός CLB μπορεί να υλοποιήσει έναν καταχωρητή ολίσθησης 16 ή λιγότερων bits αντικαθιστώντας τη φυσιολογική του λειτουργία. Πολλοί τέτοιοι καταχωρητές ολίσθησης μπορούν να συνδυαστούν σε σειρά μέσω των ακροδεκτών SHIFTIN και SHIFTOUT του slice (βλ. σχήματα 4-4 και 4-6) ώστε να δημιουργήσουν καταχωρητές ολίσθησης οποιουδήποτε μήκους. 78

89 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Οι καταχωρητές ολίσθησης είναι ιδιαίτερα χρήσιμοι σε εφαρμογές όπου χρειάζεται να δημιουργηθούν καθυστερήσεις διάδοσης ενός σήματος (πχ ενός σήματος clock), έτσι ώστε κάποια άλλα δεδομένα να προλάβουν να σταθεροποιηθούν. Το λειτουργικό διάγραμμα ενός καταχωρητή ολίσθησης των 16 bits φαίνεται στο σχήμα Σχήμα 4-13 λειτουργικό διάγραμμα καταχωρητή ολίσθησης των 16 bit Όταν το σήμα WE (write enable) είναι ενεργό, τότε η εμφάνιση μίας ακμής του ρολογιού θα προκαλέσει την ολίσθηση των bits του καταχωρητή προς τα δεξιά και την εγγραφή του DIN στην πρώτη θέση του καταχωρητή (σύγχρονη εγγραφή). Παράλληλα, η διεύθυνση Address επιτρέπει την ανάγνωση οποιασδήποτε θέσης bit εντός του καταχωρητή (ασύγχρονη ανάγνωση). Λαμβάνοντας ως έξοδο το SHIFT_OUT έχουμε έναν shift register των 16 bits, ενώ λαμβάνοντας ως έξοδο το Q έχουμε έναν shift register των Address+1 bits (0 Address 15). Σύγχρονη ανάγνωση του καταχωρητή ολίσθησης μπορεί να επιτευχθεί με χρήση του αντίστοιχου flip-flop του slice ή με τη διατήρηση της διεύθυνσης Address σταθερής. Τέλος, όπως συμβαίνει και με την κατανεμημένη μνήμη RAM, τα δεδομένα των καταχωρητών ολίσθησης δεν μπορούν να μεταβληθούν με σήματα set και reset και δεν επηρεάζονται από το σήμα GSR (Global Set Reset). Στο σχήμα 4-14 φαίνονται δύο παραδείγματα υλοποίησης shift registers μήκους 32 και 64 bits. Και στις δύο περιπτώσεις, παρέχεται η δυνατότητα ασύγχρονης ανάγνωσης οποιασδήποτε θέσης του shift register. 79

90 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Σχήμα 4-14 Shift registers των 32 και 64 bits με δυνατότητα ασύγχρονης ανάγνωσης των περιεχομένων τους RAM blocks Εκτός από την κατανεμημένη μνήμη RAM, που μπορεί να υλοποιηθεί μέσω των CLB, τα FPGA της οικογένειας Virtex-4 διαθέτουν ειδικά μπλοκ μνήμης RAM. Τα μπλοκ αυτά είναι διατεταγμένα σε στήλες εντός της συσκευής και το καθένα έχει χωρητικότητα 18 kbit. Τα περιεχόμενα της μνήμης αρχικοποιούνται από το bitsream προγραμματισμού. Κάθε μπλοκ RAM έχει πλήρη λειτουργικότητα διπλής θύρας (dual port). Δηλαδή, υπάρχουν δύο θύρες για ανάγνωση και εγγραφή στη μνήμη, οι οποίες λειτουργούν ανεξάρτητα μεταξύ τους (με διαφορετικά clock) και μοιράζονται μόνο τα αποθηκευμένα δεδομένα. Έτσι, μπορεί η μία θύρα να εγγράφει δεδομένα σε κάποια 80

91 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx διεύθυνση, την ίδια στιγμή που η άλλη θύρα γράφει ή διαβάζει δεδομένα από την ίδια ή κάποια άλλη διεύθυνση. Αν και οι δύο θύρες επιχειρήσουν να γράψουν δεδομένα στην ίδια διεύθυνση κατά την ίδια χρονική στιγμή, τότε τα δεδομένα που θα εγγραφούν θα είναι αναξιόπιστα, ωστόσο δεν θα προκληθεί καμία φυσική φθορά στο υλικό. Αναξιόπιστα δεδομένα μπορούν να διαβαστούν και από μια θύρα, αν η άλλη θύρα επιχειρεί εκείνη τη στιγμή να εγγράψει δεδομένα στην ίδια διεύθυνση. Υπάρχει πλήρης ανεξαρτησία μεταξύ των θυρών και όσον αφορά στη διαμόρφωση του μήκους λέξης της κάθε θύρας. Η καθεμία θύρα μπορεί να προσπελαύνει το μπλοκ ως μνήμη 16K λέξεων του 1 bit, 8K λέξεων των 2 bits κλπ. Επιπλέον, και εντός της ίδιας θύρας η ανάγνωση των δεδομένων μπορεί να γίνεται με διαφορετική διαμόρφωση από ότι η εγγραφή των δεδομένων. Όλες οι δυνατές διαμορφώσεις φαίνονται στο σχήμα Σχήμα 4-15 Δυνατές διαμορφώσεις μήκους λέξης της μνήμης των μπλοκ RAM Οι αναγνώσεις και οι εγγραφές γίνονται σύγχρονα με το clock της θύρας. Σύγχρονη ανάγνωση επιτυγχάνεται με χρήση κυκλωμάτων μανδάλωσης (latches). Για τη βελτίωση της ταχύτητας της μνήμης μπορούν να χρησιμοποιηθούν pipeline καταχωρητές, οι οποίοι βρίσκονται κοντά στην έξοδο του μπλοκ και ελαχιστοποιούν τις καθυστερήσεις δρομολόγησης των δεδομένων από τη RAM προς τα CLB, με κόστος έναν επιπλέον κύκλο ρολογιού για τη φόρτωσή τους. Στο σχήμα 4-16 φαίνεται το απλοποιημένο διάγραμμα κυκλώματος για μια θύρα ενός μπλοκ RAM. Σχήμα 4-16 Απλοποιημένο διάγραμμα κυκλώματος μιας θύρας ενός μπλοκ RAM Το διάγραμμα ροής δεδομένων ενός μπλοκ RAM και οι δύο θύρες ανεξάρτητης πρόσβασης (Α και Β) φαίνονται στο σχήμα

92 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Σχήμα 4-17 Διάγραμμα ροής δεδομένων ενός μπλοκ RAM Όπως φαίνεται από το σχήμα 4-17, η κάθε θύρα αποτελείται από τα εξής σήματα: 1) Δίαυλο διευθύνσεων μεταβλητού μήκους (ADDR) 2) Δύο διαύλους δεδομένων εισόδου και εξόδου μεταβλητού μήκους (DI και DO). 3) Δύο διαύλους bit ισοτιμίας εισόδου και εξόδου μεταβλητού μήκους (DIP και DOP). Τα bits ισοτιμίας αποθηκεύονται σε ξεχωριστές θέσεις και δεν υπολογίζονται αυτόματα αλλά πρέπει να παρέχονται από το χρήστη. Εναλλακτικά, στις θέσεις των bits ισοτιμίας μπορούν να αποθηκευτούν δεδομένα. 4) Σήματα clock, enable (EN) και write enable (WE) με τη συνηθισμένη λειτουργικότητα. Κάθε ένα από τα 4 σήματα WE αντιστοιχεί σε ένα byte (8 bits + 1 parity bit). Αυτή η διαμόρφωση επιτρέπει στο σετ εντολών του ενσωματωμένου μικροεπεξεργαστή PowerPC να έχει πρόσβαση στα μπλοκ RAM. 5) Ένα σήμα set-reset (SSR), το οποίο δεν επηρεάζει τα περιεχόμενα της μνήμης αλλά τα περιεχόμενα των latches εξόδου (βλ. σχήμα 4-16). Η ενεργοποίηση του SSR φορτώνει τα latches με μια προκαθορισμένη προγραμματιζόμενη τιμή. 6) Ένα σήμα ενεργοποίησης του προαιρετικού καταχωρητή pipeline στην έξοδο (REGCE - βλ. σχήμα 4-16). 7) Δύο pins επέκτασης της μνήμης (CASCADEIN και CASCADEOUT). 82

93 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Δύο γειτονικά μπλοκ RAM μπορούν να συνδεθούν μέσω των ειδικών pins CASCADEIN και CASCADEOUT ώστε να δημιουργήσουν μία μεγαλύτερη μνήμη 32K λέξεων του 1 bit χωρίς απώλεια ταχύτητας ή επιπλέον εξωτερική λογική. Όμως, αυτή η διαμόρφωση δεν υποστηρίζει μεγαλύτερα μήκη λέξεων. Για τη δημιουργία μεγαλύτερων δομών μνήμης υπάρχουν ξεχωριστές ειδικές διασυνδέσεις που ελαχιστοποιούν τις καθυστερήσεις δρομολόγησης μεταξύ των επιμέρους μπλοκ. Αυτές οι αφιερωμένες διασυνδέσεις είναι γρηγορότερες από τις διασυνδέσεις γενικής χρήσης. Τέλος, δύο γειτονικά μπλοκ RAM μπορούν να υλοποιήσουν μία μνήμη μονής θύρας 512 λέξεων των 64 bits με ενσωματωμένο κώδικα διόρθωσης σφαλμάτων Hamming. Το διάγραμμα κυκλώματος της υλοποίησης φαίνεται στο σχήμα Σχήμα 4-18 Διάγραμμα κυκλώματος μνήμης 512x64 με ενσωματωμένο κώδικα διόρθωσης σφαλμάτων Hamming Για την ανίχνευση-διόρθωση σφαλμάτων χρησιμοποιούνται 8 bit ισοτιμίας. Αυτά τα bits παράγονται σε κάθε εγγραφή δεδομένων και χρησιμοποιούνται σε κάθε ανάγνωση δεδομένων για να διορθώσουν οποιοδήποτε απλό σφάλμα και να ανιχνεύσουν (χωρίς να διορθώσουν) οποιοδήποτε διπλό σφάλμα. Τα σήματα STATUS[1:0] αποτελούν μια ένδειξη της ενέργειας που εκτελέστηκε (κανένα σφάλμα, διόρθωση απλού σφάλματος, ανίχνευση διπλού σφάλματος). Η διόρθωση απλού σφάλματος δεν επανεγγράφει τα σωστά δεδομένα στη μνήμη, απλά παρουσιάζει στο χρήστη τα σωστά δεδομένα. Διαμόρφωση μπλοκ RAM ως δομή ουράς (FIFO) Κάθε μπλοκ RAM μπορεί να διαμορφωθεί ως μια δομή ουράς (FIFO First In First Out) χωρίς τη χρήση επιπλέον λογικών πόρων. Ως γνωστόν, σε μια δομή FIFO τα δεδομένα εξέρχονται από τη μνήμη μόνο με τη σειρά που εισέρχονται και δεν είναι δυνατή η τυχαία προσπέλασή τους. Οι επιτρεπόμενες διαμορφώσεις μήκους λέξης της FIFO είναι 4Kx4, 2Kx9, 1Kx18 ή 512x36. Σε μια FIFO η θύρα A του μπλοκ αποτελεί τη θύρα ανάγνωσης 83

94 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx δεδομένων και η θύρα Β του μπλοκ αποτελεί τη θύρα εγγραφής δεδομένων. Οι διασυνδέσεις των σημάτων εισόδου και εξόδου ενός μπλοκ RAM στη διαμόρφωση FIFO φαίνονται στο σχήμα Το διάγραμμα κυκλώματος μιας FIFO φαίνεται στο σχήμα Σχήμα 4-19 Διασυνδέσεις σημάτων RAM για υλοποίηση FIFO Σχήμα 4-20 Διάγραμμα κυκλώματος FIFO υλοποιημένης σε μπλοκ RAM Η ανάγνωση και η εγγραφή δεδομένων γίνονται ασύγχρονα από δύο διαφορετικά ρολόγια. 84

95 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Η FIFO παρέχει στο χρήστη τις σημαίες κατάστασης Full, Empty, Almost Full, Almost Empty, Read Error και Write Error. Η σημαία Full ενεργοποιείται όταν εξαντληθεί ο διαθέσιμος χώρος μνήμης και η σημαία Empty όταν η μνήμη είναι άδεια. Απόπειρα εγγραφής ενόσω η Full είναι ενεργοποιημένη θα προκαλέσει ενεργοποίηση της σημαίας Write Error, χωρίς καμία άλλη αλλαγή στη μνήμη. Αντίστοιχα, απόπειρα ανάγνωσης ενόσω η Empty είναι ενεργοποιημένη θα προκαλέσει ενεργοποίηση της σημαίας Read Error, χωρίς καμία άλλη αλλαγή στη μνήμη. Οι σημαίες Almost Full και Almost Empty είναι προγραμματιζόμενες και μπορούν να ενεργοποιηθούν σε οποιοδήποτε σημείο πληρότητας της ουράς επιθυμεί ο χρήστης. Τέλος, τα σήματα rdcount και wrcount παρέχουν το πλήθος αναγνώσεων και εγγραφών, αντίστοιχα Χρονισμός Ο σωστός χρονισμός των FPGA της οικογένειας Virtex-4 επιτυγχάνεται από αφιερωμένα για το σκοπό αυτό δίκτυα διασυνδέσεων καθώς και από ειδικά εξαρτήματα διαχείρισης των σημάτων clock. Οι συσκευές Virtex-4 δεν διαθέτουν ανεξάρτητους εσωτερικούς ταλαντωτές ή κρυστάλλους για τη δημιουργία σημάτων clock. Έτσι, τουλάχιστον ένα σήμα clock πρέπει να παρέχεται εξωτερικά. Από την άλλη, διαθέτουν πολλά ανεξάρτητα δίκτυα διανομής των σημάτων clock όπως και ειδικά μπλοκ επεξεργασίας των σημάτων αυτών (clock buffers, DCM, PMCD). Τα μπλοκ επεξεργασίας των σημάτων clock είναι διατεταγμένα σε μια στήλη στο κέντρο της συσκευής μαζί με κάποια μπλοκ εισόδου-εξόδου, όπως φαίνεται στο σχήμα Σχήμα 4-21 Η κεντρική στήλη των συσκευών της οικογένειας Virtex-4 85

96 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Για τους σκοπούς του χρονισμού, κάθε συσκευή Virtex-4 χωρίζεται σε περιοχές χρονισμού (clock regions). Το κάθε region έχει ύψος 16 CLB και μήκος ίσο με το μισό του συνολικού μήκους της συσκευής, όπως φαίνεται στο σχήμα Σχήμα 4-22 Clock regions συσκευών Virtex-4 Υπάρχουν δύο είδη σημάτων clock σε κάθε Virtex-4 FPGA, τα global clocks και τα regional clocks. GLOBAL CLOCKS Κάθε συσκευή περιέχει 32 σήματα global clock. Τα δίκτυα διανομής των global clocks διασχίζουν όλο το μήκος και πλάτος της συσκευής. Έτσι, κάθε global clock μπορεί να χρησιμοποιηθεί για το χρονισμό οποιουδήποτε λογικού πόρου (CLB, μπλοκ RAM, μπλοκ I/O κλπ). Επιπλέον, υπάρχει διασύνδεση των global clocks με το γενικό πλέγμα διασυνδέσεων, δηλαδή τα global clocks μπορούν να χρησιμοποιηθούν και ως απλά λογικά σήματα. Ο μοναδικός περιορισμός είναι ότι σε κάθε region μπορούν να εισέλθουν μέχρι 8 global clocks. Το δίκτυο των global clocks αποτελείται από τις εισόδους των global clocks, τους global clock buffers και το δίκτυο διανομής των global clocks. Καθένα από αυτά τα συστατικά στοιχεία περιγράφεται παρακάτω: 1) Είσοδοι global clocks Κάποια pins της συσκευής, τα οποία χρησιμοποιούνται κανονικά για είσοδοέξοδο, μπορούν να διαμορφωθούν ως είσοδοι των global clocks. Οι είσοδοι αυτοί βρίσκονται στην κεντρική στήλη των συσκευών Virtex-4, ώστε να γειτνιάζουν με τους global clock buffers (βλ. σχήμα 4-21). Τα σήματα των global clocks μπορεί να μεταφέρονται εντός του FPGA από έναν αγωγό (απλά single-ended) ή από δύο αγωγούς (διαφορικά - differential). Οι είσοδοι των global clocks είναι 16 στις μικρότερες συσκευές και 32 στις μεγαλύτερες συσκευές, όπως φαίνεται στο σχήμα

97 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Σχήμα 4-23 Πλήθος εισόδων global clocks διαφόρων συσκευών Virtex-4 2) Global clock buffers (BUFGCTRLs) Κάθε Virtex-4 FPGA περιέχει 32 global clock buffers, ισάριθμα κατανεμημένους σε δύο γκρουπ, ένα στο επάνω και ένα στο κάτω μισό της συσκευής (βλ. σχήμα 4-21). Οι είσοδοι των global clock buffers κάθε γκρουπ μπορούν να οδηγούνται από τους εξής πόρους του ίδιου γκρουπ: είσοδοι global clocks, έξοδοι DCM, έξοδοι PMCD, Multi-Gigabit Transceivers, έξοδοι άλλων global clock buffers, δίκτυο διασυνδέσεων γενικής χρήσης. Η έξοδος του κάθε global clock buffer οδηγεί μία από τις 32 γραμμές του δικτύου διανομής των global clocks. Ένας global clock buffer μπορεί να επιτελέσει τις 3 παρακάτω λειτουργίες: - απλή ηλεκτρική ενίσχυση ενός clock για αύξηση του fanout (buffering) - buffering τριών καταστάσεων ενός clock - σύγχρονη ή ασύγχρονη εναλλαγή μεταξύ δύο σημάτων clock 3) Δίκτυο διανομής των global clocks Το δίκτυο διανομής των global clocks είναι ειδικά σχεδιασμένο, ώστε να καταναλώνει λίγη ενέργεια, να προκαλεί μικρή παραμόρφωση του σήματος (jitter), να εισάγει μικρή χρονική καθυστέρηση (skew) και η καθυστέρηση αυτή να είναι η ίδια για όλες τις γραμμές. Οι γραμμές του δικτύου διανομής των global clocks υλοποιούνται με δύο αγωγούς (διαφορικά) και μπορούν να οδηγήσουν όχι μόνο τις θύρες χρονισμού των λογικών πόρων του FPGA, αλλά και άλλες θύρες των πόρων αυτών. REGIONAL CLOCKS Εκτός από τα global clocks, τα οποία έχουν πρόσβαση σε όλη τη συσκευή, τα Virtex-4 FPGA διαθέτουν και σήματα χρονισμού περιορισμένης τοπικής εμβέλειας, τα regional clocks. 87

98 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Τα regional clocks είναι τελείως ανεξάρτητα από τα global clocks. Κάθε regional clock έχει πρόσβαση σε 3 διαδοχικά clock regions. Το δίκτυο των regional clocks αποτελείται από τις εισόδους των regional clocks (clock capable I/Os), τους I/O clock buffers, τους regional clock buffers και το δίκτυο διανομής των regional clocks. Η δομή μίας γραμμής σημάτων regional clock εντός ενός clock region φαίνεται στο σχήμα Κάθε clock region διατρέχεται από δύο τέτοιες γραμμές διανομής των regional clocks και πρόσβαση σε αυτές έχουν τόσο τα regional clock του ίδιου region όσο και αυτά των γειτονικών regions, όπως φαίνεται στο σχήμα Σχήμα 4-24 Γραμμή δικτύου διανομής regional clocks σε ένα clock region 88

99 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Σχήμα 4-25 Γραμμές διανομής regional clocks στα διάφορα regions Όπως φαίνεται από το σχήμα 4-24, σε κάθε clock region υπάρχουν 2 είσοδοι για regional clocks (clock capable Ι/Οs), οι οποίες μπορούν εναλλακτικά να χρησιμοποιηθούν και ως συνηθισμένες θύρες Ι/Ο. Ακόμα, κάθε clock region περιέχει 2 Ι/Ο clock buffers και 2 regional clock buffers. Οι I/O clock buffers οδηγούνται απευθείας από τις εισόδους των regional clocks. Οι regional clock buffers οδηγούνται είτε από τις εξόδους των I/O clock buffers, είτε από το δίκτυο διασυνδέσεων γενικής χρήσης. Κάθε I/O clock buffer παρέχει σήματα clock στα μπλοκ I/O τριών διαδοχικών clock regions, ενώ κάθε regional clock buffer παρέχει σήματα clock τόσο στα μπλοκ I/O όσο και στα υπόλοιπα λογικά μπλοκ τριών διαδοχικών clock region. Επιπλέον, οι regional clock buffers μπορούν να διαιρέσουν τη συχνότητα του σήματος εισόδου με οποιονδήποτε ακέραιο αριθμό από το 1 ως το 8. Τέλος, το δίκτυο διανομής των regional clocks είναι σχεδιασμένο για μικρή κατανάλωση ενέργειας και μικρή χρονική καθυστέρηση (skew). DIGITAL CLOCK MANAGERS (DCM) Τα DCM (Digital Clock Managers) είναι ειδικά μπλοκ επεξεργασίας των σημάτων clock, τα οποία βρίσκονται τοποθετημένα στην κεντρική στήλη των συσκευών Virtex-4 (βλ. σχήμα 4-21). 89

100 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Ένα DCM μπορεί να εκτελέσει τις παρακάτω λειτουργίες: 1) Εξάλειψη χρονικών καθυστερήσεων που εισάγουν τα δίκτυα διανομής των clock Οι πρωταρχικές πηγές όλων των clock, τα οποία χρησιμοποιούνται για να χρονίσουν τα διάφορα μπλοκ ενός Virtex-4 FPGA, βρίσκονται στο εξωτερικό της συσκευής, διότι οι συσκευές Virtex-4 δεν διαθέτουν εσωτερικούς κρυστάλλους χρονισμού ή ταλαντωτές. Έτσι, τα σήματα clock πρέπει να διανύσουν μια αρκετά μεγάλη διαδρομή μέχρι να φτάσουν στα λογικά μπλοκ προορισμού και κατά τη διάρκεια αυτής της διαδρομής εισάγονται χρονικές καθυστερήσεις (skew), οι οποίες γενικά δεν είναι μετρήσιμες. Τα DCM παρέχουν τη δυνατότητα εξάλειψης των χρονικών αυτών καθυστερήσεων (deskew) μέσω ειδικών κυκλωμάτων DLL (Delay Locked Loop). Ένα απλοποιημένο κύκλωμα DLL φαίνεται στο σχήμα Σχήμα 4-26 Απλοποιημένο κύκλωμα DLL (Delay Locked Loop) To clock εισόδου (CLKIN) του DLL αρχικά οδηγεί απευθείας το clock εξόδου (CLKOUT). Το CLKOUT στη συνέχεια διανέμεται και, αφού χρονίσει τα λογικά μπλοκ, επιστρέφει πίσω στο DLL ως σήμα ανάδρασης (CLKFB). Το σήμα CLKFB είναι χρονικά καθυστερημένο ως προς το CLKIN λόγω των καθυστερήσεων του δικτύου διανομής. Υπάρχει ένας ανιχνευτής φάσης (phase detector), ο οποίος εξετάζει αν το CLKIN και το CLKFB έχουν την ίδια φάση. Αν όχι, τότε αυξάνει κατά μία μικρή ποσότητα τη χρονική καθυστέρηση του CLKOUT. Κατά αυτόν τον τρόπο η διαφορά φάσης μεταξύ CLKIN και CLKFB θα αυξάνεται συνεχώς μέχρι να γίνει ίση με 360 ο, ή ισοδύναμα 0 ο, δηλαδή τo σήμα clock που φτάνει στα λογικά μπλοκ έχει μηδενική καθυστέρηση σε σχέση με το σήμα clock εισόδου. Η παραπάνω διαδικασία απαιτεί αρκετούς κύκλους ρολογιού για να ολοκληρωθεί και κατά τη διάρκειά της τα clock εξόδου του DCM μπορεί να είναι αναξιόπιστα.. Η ολοκλήρωσή της σηματοδοτείται από το κλείδωμα (lock) του DLL, οπότε και το DCM είναι έτοιμο για χρήση. Ακόμα, κατά τη λειτουργία του DLL μπορούν να ληφθούν υπόψιν οι χρονικές καθυστερήσεις από τις εισόδους clock του FPGA μέχρι τις εισόδους CLKIN ή CLKFB του DCM. 90

101 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx 2) Γεννήτρια συχνοτήτων Τα DCM μπορούν να συνθέσουν σήματα clock διαφόρων συχνοτήτων με τους παρακάτω τρόπους (όλες οι έξοδοι που αναφέρονται παρακάτω έχουν την ίδια διαφορά φάσης μεταξύ τους): Η έξοδος CLK2X παρέχει ένα clock με διπλάσια συχνότητα του clock εισόδου (CLKIN). H έξοδος CLK2X180 παρέχει επίσης clock διπλάσιας συχνότητας αλλά με διαφορά φάσης 180ο. Το duty cycle των εξόδων αυτών είναι 50/50. Η έξοδος CLKDV παρέχει ένα clock με συχνότητα που είναι κλάσμα του CLKIN. Η συχνότητα του CLKDV ισούται με τη συχνότητα του CLKIN, διαιρεμένη με έναν από τους παρακάτω αριθμούς: 1.5, 2, 2.5, 3, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 9, 10, 11, 12, 13, 14, 15, 16. Το duty cycle της εξόδου αυτής είναι 50/50 όταν το DCM είναι διαμορφωμένο για να λειτουργεί στις χαμηλές συχνότητες. Για διαμόρφωση υψηλών συχνοτήτων μόνο οι ακέραιοι διαιρέτες έχουν duty cycle 50/50. Η έξοδος CLKFX παρέχει ένα clock με συχνότητα που ισούται με M T, όπου το Μ είναι ακέραιος αριθμός μεταξύ του 2 και του 32, το D D είναι ακέραιος αριθμός μεταξύ του 1 και του 32 και Τα είναι η περίοδος του CLKIN. Η έξοδος CLKFX180 παρέχει ένα clock με συχνότητα ίση με αυτή του CLKFX αλλά με διαφορά φάσης 180ο. Το duty cycle της εξόδου αυτής είναι 50/50. 3) Μετατόπιση φάσης σημάτων clock Το DCM μπορεί να μετατοπίσει τις φάσεις των clock εξόδου κατά μεγάλες ή μικρές ποσότητες. Χοντρικές μετατοπίσεις φάσης του clock εισόδου παρέχονται από 3 εξόδους, την CLK90 (διαφορά φάσης 90ο), την CLK180 (διαφορά φάσης 180ο) και την CLK270 (διαφορά φάσης 270ο). Για τις μικρές μετατοπίσεις φάσης των clock εξόδου υπάρχουν τα εξής 4 modes: fixed, variable-positive, variable-center και direct. Το mode fixed μετατοπίζει τη φάση όλων των clock εξόδου κατά μία σταθερή PHASE _ SHIFT T, όπου το PHASE_SHIFT κυμαίνεται μεταξύ -255 ποσότητα 256 και 255 και Τ είναι η περίοδος του CLKIN. Η διαφορά φάσης διατηρείται σταθερή και δεν μπορεί να αλλάξει κατά τη διάρκεια της λειτουργίας του DCM. Το mode variable-center μετατοπίζει τη φάση όλων των clock εξόδου κατά PHASE _ SHIFT T, όπου το PHASE_SHIFT κυμαίνεται μεταξύ του μία ποσότητα και του 255 και Τ είναι η περίοδος του CLKIN. Μετατοπίσεις φάσης μπορούν να λαμβάνουν χώρα κατά τη διάρκεια της λειτουργίας του DCM (κατά 1 T τη φορά). βήματα του

102 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Το mode variable-positive είναι ίδιο με το mode variable-center με μόνη διαφορά ότι το PHASE_SHIFT κυμαίνεται μεταξύ του 0 και του 255. Τέλος, το direct mode μετατοπίζει τη φάση όλων των clock εξόδου κατά μία ποσότητα ίση με PHASE_SHIFT DCM_TAP, όπου το PHASE_SHIFT κυμαίνεται μεταξύ του 0 και του 1023 και το DCM_TAP είναι το μέγεθος ενός στοιχείου καθυστέρησης του DLL (για περισσότερες πληροφορίες ανατρέξτε στα datasheet της οικογένειας Virtex-4). Μετατοπίσεις φάσης μπορούν να λαμβάνουν χώρα κατά τη διάρκεια της λειτουργίας του DCM (κατά βήματα ενός DCM_TAP τη φορά). Οι μετατοπίσεις φάσης που γίνονται κατά τη διάρκεια της λειτουργίας του DCM απαιτούν την ύπαρξη ενός επιπλέον εξωτερικού clock (PSCLK), το οποίο εκτελεί διαδοχικά τις αυξομειώσεις της φάσης. 4) Dynamic reconfiguration Ένα DCM μπορεί να επαναπρογραμματιστεί μεμονωμένα κατά τη διάρκεια λειτουργίας της συσκευής χωρίς να επηρεαστεί η διαμόρφωση των υπόλοιπων τμημάτων του FPGA. Με αυτόν τον τρόπο μπορούν να αλλάξουν οι τιμές Μ και D των εξόδων CLKFX και CLKFX180 και η τιμή PHASE_SHIFT για τη μετατόπιση φάσης. Ο επαναπρογραμματισμός απαιτεί την ύπαρξη ενός επιπλέον εξωτερικού clock (DCLK). Όσον αφορά τη συνδεσιμότητα των εισόδων και εξόδων του DCM έχουμε να παρατηρήσουμε τα εξής: - Οι είσοδοι CLKIN και CLKFB μπορούν να οδηγηθούν από εισόδους global clock, από global clock buffers, από εισόδους γενικής χρήσης και από εξόδους PMCD (Phase Matched Clock Dividers). Όταν χρησιμοποιούνται είσοδοι γενικής χρήσης, τότε κατά την εξάλειψη χρονικών καθυστερήσεων από το DLL (deskew) δεν μπορούν να ληφθούν υπόψιν οι χρονικές καθυστερήσεις από τις εισόδους του FPGA μέχρι τις εισόδους του DCM. - Οι είσοδοι PSCLK και DCLK μπορούν να οδηγηθούν από εισόδους global clock, από global clock buffers, από εισόδους γενικής χρήσης και από το δίκτυο διασυνδέσεων γενικής χρήσης. - Οι έξοδοι ενός DCM μπορούν να οδηγήσουν είτε έναν global clock buffer είτε ένα PMCD. PHASE MATCHED CLOCK DIVIDERS (PMCD) Τα PMCD (Phase Matched Clock Dividers) είναι ειδικά μπλοκ επεξεργασίας των σημάτων clock, τα οποία βρίσκονται τοποθετημένα στην κεντρική στήλη των συσκευών Virtex-4 (βλ. σχήμα 4-21). Συνήθως, τα PMCD χρησιμοποιούνται σε συνδυασμό με τα DCM για τη διαχείριση των σημάτων clock. Ωστόσο, μπορούν να χρησιμοποιηθούν και μόνα τους σε εφαρμογές που δεν χρειάζεται εξάλειψη των χρονικών καθυστερήσεων από τη διάδοση των clock (deskew). 92

103 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Το σχηματικό διάγραμμα εισόδων-εξόδων ενός μπλοκ PMCD φαίνεται στο σχήμα Σχήμα 4-27 Σχηματικό διάγραμμα εισόδων εξόδων ενός PMCD Οι έξοδοι ενός PMCD είναι πάντα χρονικά καθυστερημένες σε σχέση με τις εισόδους του, ωστόσο διατηρούν τη διαφορά φάσης μεταξύ τους (phase matched), δηλαδή σε κάθε έξοδο εισάγεται η ίδια χρονική καθυστέρηση. Ένα PMCD μπορεί να εκτελέσει τις παρακάτω λειτουργίες: 1) Διαίρεση συχνότητας του CLKA Η συχνότητα των εξόδων CLKA1, CLKA1D2, CLKA1D4 και CLKA1D8 ισούται με τη συχνότητα της εισόδου CLKA1, διαιρεμένης με το 1,2,4 και 8, αντίστοιχα. Οι έξοδοι αυτές έχουν την ίδια φάση μεταξύ τους. Το duty cycle της εξόδου CLKA1 είναι το ίδιο με αυτό της εισόδου CLKA, αλλά το duty cycle των υπόλοιπων εξόδων είναι πάντα 50/50. 2) Εισαγωγή ισόποσης χρονικής καθυστέρησης στις εισόδους CLKB, CLKC και CLKD Οι έξοδοι CLKB1, CLKC1 και CLKD1 είναι χρονικά καθυστερημένα κατά την ίδια ποσότητα αντίγραφα των εισόδων CLKB, CLKC και CLKD. Η καθυστέρηση αυτών των σημάτων ισούται με την καθυστέρηση που εισάγεται στο σήμα CLKA. Το duty cycle των εξόδων αυτών είναι ίδιο με το duty cycle των αντίστοιχων εισόδων. Τέλος, τo σήμα RST (reset) μηδενίζει ασύγχρονα τις εξόδους ενώ το σήμα REL (release) ενεργοποιεί τις εξόδους CLKA1 έως CLKA1D8. Οι είσοδοι ενός PMCD μπορούν να οδηγηθούν από εισόδους global clock, από οποιαδήποτε έξοδο DCM, από global clock buffers και από την έξοδο CLKA1D8 ενός και μόνο γειτονικού PMCD. Οι συνδέσεις αυτές είναι πραγματοποιήσιμες όταν και τα δύο συνδεόμενα μπλοκ ανήκουν στο ίδιο επάνω ή κάτω μισό της συσκευής (εκτός από τους global clock buffers). Όλες οι έξοδοι ενός PMCD μπορούν να οδηγήσουν global clock buffers και η έξοδος CLKA1D8 μπορεί να οδηγήσει τις εισόδους ενός και μόνο γειτονικού PMCD 93

104 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx μέσω μιας ειδικής σύνδεσης. Οι συνδέσεις αυτές είναι πραγματοποιήσιμες όταν και τα δύο συνδεόμενα μπλοκ ανήκουν στο ίδιο επάνω ή κάτω μισό της συσκευής. Μεταξύ των DCM και των PMCD, που δύνανται να συνδεθούν, υπάρχουν ειδικές διασυνδέσεις ίσης χρονικής καθυστέρησης Πόροι εισόδου-εξόδου (I/O resources) Οι λειτουργίες εισόδου-εξόδου στις συσκευές Virtex-4 γίνονται από ειδικά λογικά μπλοκ (Ι/Ο Blocks - IOB), τα οποία συνδέονται με αντίστοιχα pins της συσκευασίας. Κάθε IOB μπορεί να λειτουργήσει είτε σαν είσοδος, είτε σαν έξοδος, είτε σαν είσοδος-έξοδος. Ο όρος IOB χρησιμοποιείται στα εγχειρίδια χρήσης της οικογένειας Virtex-4 ενίοτε για να περιγράψει το σύνολο των πόρων που σχετίζονται με μία γραμμή I/O (ηλεκτρικά κυκλώματα εκπομπής-λήψης σημάτων και ψηφιακή λογική) και ενίοτε μόνο για τους πόρους του φυσικού επιπέδου (δηλαδή μόνο για τα ηλεκτρικά κυκλώματα εκπομπής-λήψης σημάτων). Στη συνέχεια, με τον όρο IOB θα εννοούμε το σύνολο των πόρων. Τα σήματα I/O σε ένα Virtex-4 FPGA μπορεί να είναι απλά ή διαφορικά. Για την περίπτωση των διαφορικών σημάτων χρησιμοποιούνται τα pins δύο διαδοχικών IOB, τα οποία απαρτίζουν ένα I/O tile. Η δομή ενός IOB φαίνεται στο σχήμα Σχήμα 4-28 Δομή ενός μπλοκ εισόδου-εξόδου Όπως φαίνεται από το σχήμα 4-28, το εξωτερικό pin της συσκευασίας συνδέεται αρχικά με τους ηλεκτρικούς οδηγούς ή δέκτες της γραμμής, οι οποίοι υλοποιούν τα πρότυπα επικοινωνίας στο φυσικό (ηλεκτρικό) επίπεδο. Έπειτα ακολουθεί η ψηφιακή λογική, η οποία αποτελείται από μπλοκ εισόδου ή εξόδου δεδομένων. Τα δεδομένα μπορεί να είναι είτε μεμονωμένα bits, προερχόμενα από συνδυαστική ή σύγχρονη ακολουθιακή λογική, είτε λέξεις πολλών bits, οπότε χρησιμοποιούνται ειδικοί SERializers-DESerializers (SERDES). Τα IOB ομαδοποιούνται σε I/O banks, καθένα εκ των οποίων περιέχει 64 ΙΟΒ (εκτός των I/O banks της κεντρικής στήλης). Στο σχήμα 4-29 φαίνονται τα I/O banks της συσκευής XC4VLX25. 94

105 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Σχήμα 4-29 Ομαδοποίηση των IOB σε I/O banks (συσκευή XC4VLX25) Στη συνέχεια, θα εξετάσουμε ξεχωριστά τα μπλοκ που απαρτίζουν ένα IOB. Ηλεκτρικοί οδηγοί και δέκτες γραμμής Ο τρόπος διασύνδεσης του FPGA με τον εξωτερικό κόσμο φαίνεται στο σχήμα Σχήμα 4-30 Συνδέσεις drivers και receivers με pad και εσωτερικό του FPGA Κάθε pin εισόδου-εξόδου μπορεί να λειτουργήσει ταυτόχρονα ως είσοδος και έξοδος, ενώ η έξοδος μπορεί να είναι τριών καταστάσεων. Όσον αφορά τα ηλεκτρικά χαρακτηριστικά των σημάτων εισόδου και εξόδου, υποστηρίζονται διάφορα πρότυπα. Τα πρότυπα αυτά έχουν εκδοθεί από διεθνείς οργανισμούς προτυποποίησης ή μεγάλους κατασκευαστές ηλεκτρονικών κυκλωμάτων και χρησιμοποιούνται ευρέως στα ψηφιακά συστήματα. Διαφοροποιούνται μεταξύ τους ως προς την τάση τροφοδοσίας, την ταχύτητα 95

106 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx μετάδοσης, τον αριθμό αγωγών που χρησιμοποιούνται (απλά ή διαφορικά), το είδος του τερματισμού γραμμής κλπ. Τα υποστηριζόμενα πρότυπα από τις συσκευές Virtex-4 δίνονται παρακάτω: - Single-ended: LVTTL, LVCMOS (3.3V, 2.5V, 1.8V, 1.5V), PCI (33 MHz, 66MHz), PCI-X, GTL, GTLP, HSTL (1.5V, 1.8V), SSTL (1.8V, 2.5V) - Differential: LVDS, Extended LVDS, BLVDS, ULVDS, HyperTransport, LVPECL, differential HSTL (1.5V, 1.8V), differential SSTL (1.8V, 2.5V) Σε πολλά από τα παραπάνω πρότυπα υπάρχει η δυνατότητα να εφαρμοστεί εσωτερικός τερματισμός γραμμής μέσα στη συσκευή με την τεχνική impedance matching. Ο τερματισμός γραμμής με impedance matching συνίσταται στην σύνδεση του άκρου μιας γραμμής μετάδοσης με τη γη μέσω μιας σύνθετης αντίστασης, η οποία έχει τιμή ίση με αυτήν της γραμμής. Με αυτόν τον τρόπο αποφεύγονται τυχόν ανακλάσεις και ταλαντώσεις του σήματος στις υψηλές ταχύτητες μετάδοσης και βελτιώνεται η ποιότητα του σήματος στο δέκτη. Ο εσωτερικός τερματισμός γραμμής με την τεχνική impedance matching επιτυγχάνεται μέσω του χαρακτηριστικού DCI (Digitally Controlled Impedance), όπου ο χρήστης παρέχει εξωτερικά μία αντίσταση και το FPGA εισάγει την τιμή αυτής της αντίστασης στον τερματισμό της γραμμής. Ακόμη, μπορεί να ρυθμιστεί το μέγεθος του ρεύματος εξόδου, η ταχύτητα μετάδοσης, η χωρητικότητα εξόδου σε 8 IOB ανά bank (μικρή χωρητικότητα επιτρέπει τη χρήση του IOB για είσοδο σημάτων clock), η χρήση μιας αντίστασης pull-up, pull-down ή ενός κυκλώματος συγκράτησης (keeper) για έξοδο τριών καταστάσεων και η χρήση διαφορικού τερματισμού (differential termination) στα διαφορικά πρότυπα. Η ομαδοποίηση των IOB σε I/O banks εισάγει περιορισμούς στην ταυτόχρονη χρήση μερικών προτύπων εντός του ίδιου bank. Αυτό συμβαίνει διότι οι τάσεις τροφοδοσίας και το είδος του τερματισμού γραμμής πρέπει να είναι ίδια για όλα τα IOB του ίδιου bank. Ωστόσο, πρότυπα που έχουν κοινά τα παραπάνω μπορούν να χρησιμοποιηθούν εντός του ίδιου bank. Ακόμη, η διαμόρφωση ενός IOB ως είσοδος ή έξοδος είναι ανεξάρτητη όλων των άλλων IOB της συσκευής. Για περισσότερες λεπτομέρειες ανατρέξτε στα εγχειρίδια χρήσης της οικογένειας Virtex-4. Ψηφιακή λογική ενός IOB Οι είσοδοι και οι έξοδοι των ηλεκτρικών οδηγών και δεκτών (σχήμα 4-30) συνδέονται απευθείας με την ψηφιακή λογική του IOB. Οι λογικοί πόροι ενός IOB χωρίζονται σε πόρους εισόδου (Input Logic - ILOGIC) και πόρους εξόδου (Output Logic - OLOGIC) και επιτελούν τις παρακάτω λειτουργίες: - Συνδυαστική είσοδος-έξοδος, συνδυαστική έξοδος 3 καταστάσεων - Σύγχρονη είσοδος-έξοδος, σύγχρονη έξοδος 3 καταστάσεων - Ρυθμοί μεταφοράς δεδομένων DDR (Double Data Rate) τόσο σε είσοδο όσο και σε έξοδο (3 καταστάσεων) 96

107 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Προαιρετική εισαγωγή μεταβαλλόμενης χρονικής καθυστέρησης στα σήματα εισόδου Το διάγραμμα κυκλώματος ενός μπλοκ εισόδου ILOGIC φαίνεται στο σχήμα Σχήμα 4-31 Διάγραμμα κυκλώματος ενός μπλοκ εισόδου (ILOGIC) Στο σχήμα 4-31, η είσοδος D προέρχεται από το εξωτερικό του FPGA και μπορεί είτε να προωθηθεί κατευθείαν στην έξοδο Ο προς το εσωτερικό του FPGA (συνδυαστική είσοδος), είτε να οδηγηθεί στο στοιχείο αποθήκευσης IFF1 (καταχωρητής ή κύκλωμα μανδάλωσης) και στη συνέχεια στην έξοδο Q1 (σύγχρονη είσοδος). Τα υπόλοιπα 3 στοιχεία αποθήκευσης χρησιμοποιούνται για το διπλασιασμό του ρυθμού μετάδοσης (DDR). Αυτό επιτυγχάνεται δειγματοληπτώντας τη γραμμή D δύο φορές σε κάθε κύκλο ρολογιού, μία στην ανοδική και μία στην καθοδική ακμή του ρολογιού. Έτσι, παρουσιάζονται 2 bits δεδομένων σε κάθε κύκλο, τα οποία μπορεί να εμφανίζονται συγχρονισμένα μεταξύ τους στις εξόδους Q1 και Q2 ή όχι. Συγχρονισμένη εμφάνιση εισάγει μια επιπλέον χρονική καθυστέρηση ενός κύκλου ρολογιού. Το στοιχείο IDELAY είναι κοινό για τα μπλοκ ILOGIC και ISERDES του ίδιου IOB και μπορεί να εισάγει προγραμματιζόμενη χρονική καθυστέρηση στα δεδομένα εισόδου. Η χρονική καθυστέρηση μπορεί να είναι σταθερή ή να μεταβάλλεται κατά τη διάρκεια της λειτουργίας του FPGA. Η καθυστέρηση αυτή ορίζεται ως ένας 97

108 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx αριθμός από 0 έως 63, ο οποίος πολλαπλασιάζεται με την τιμή ενός στοιχείου καθυστέρησης, ανάλογα με τη συσκευή (για περισσότερες πληροφορίες ανατρέξτε στα datasheet της οικογένειας Virtex-4). Για μεταβαλλόμενη χρονική καθυστέρηση απαιτείται ένα επιπλέον σήμα χρονισμού, βάσει του οποίου θα γίνεται η αυξομείωση της καθυστέρησης. Ακόμα, καθώς το μέγεθος της εισαγόμενης καθυστέρησης μπορεί να επηρεαστεί σημαντικά από μεταβολές της τάσης ή της θερμοκρασίας, κάθε clock region διαθέτει ειδικά μπλοκ μικρο-ρύθμισης των στοιχείων IDELAY, ώστε η τιμή της καθυστέρησης να διατηρείται σταθερή. Το διάγραμμα κυκλώματος ενός μπλοκ εξόδου OLOGIC φαίνεται στο σχήμα Σχήμα 4-32 Διάγραμμα κυκλώματος ενός μπλοκ εξόδου (OLOGIC) 98

109 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Στο σχήμα 4-32, τα κάτω τρία στοιχεία αποθήκευσης χρησιμοποιούνται για τα δεδομένα εξόδου ενώ τα επάνω τρία για έλεγχο τριών καταστάσεων. Οι έξοδοι μπορεί να είναι συνδυαστικές ή σύγχρονες, με χρήση των στοιχείων αποθήκευσης ΤFF1 και OFF1 (καταχωρητές ή κυκλώματα μανδάλωσης). Διπλασιασμός του ρυθμού μετάδοσης (DDR) εφαρμόζεται προαιρετικά και στην έξοδο με χρήση των υπόλοιπων καταχωρητών του σχήματος Για τη λειτουργία DDR, εμφανίζονται δύο bits ανά κύκλο ρολογιού στις εισόδους D1, D2 (ή Τ1, Τ2), τα οποία οδηγούνται διαδοχικά στην έξοδο OQ (ή TQ) εντός του ίδιου κύκλου (το πρώτο στην ανοδική ακμή και το δεύτερο στην καθοδική ακμή του ρολογιού). Η δειγματοληψία των γραμμών D1, D2 (ή Τ1, Τ2) μπορεί να γίνεται συγχρονισμένα ή όχι. Serializers-Deserializers Το κάθε ΙΟΒ μιας συσκευής Virtex-4 διαθέτει έναν serial-to-parallel converter για είσοδο λέξεων δεδομένων καθώς και έναν parallel-to-serial converter για έξοδο λέξεων δεδομένων. Έτσι, με τη χρήση ενός μόνο pin εισόδου-εξόδου, μπορούν να διακινούνται σειριακά λέξεις δεδομένων χωρίς να υλοποιηθούν ειδικά κυκλώματα ελέγχου από τα CLB. Ο serial-to-parallel converter (ή ISERDES) χρησιμοποιείται για είσοδο δεδομένων και μπορεί να λειτουργήσει σε ρυθμούς SDR (Single Data Rate) ή DDR (Double Data Rate). Δέχεται σειριακά δεδομένα από τον εξωτερικό κόσμο και τα ομαδοποιεί σε λέξεις των 2,3,4,5,6,7 ή 8 bits (για SDR) ή 4,6,8, ή 10 bits (για DDR). Για λέξεις άνω των 6 bits χρησιμοποιούνται και οι δύο ISERDES ενός I/O tile. Τα σειριακά δεδομένα εισόδου συγχρονίζονται με ένα σήμα ρολογιού, ενώ τα παράλληλα δεδομένα εξόδου συγχρονίζονται με ένα άλλο σήμα ρολογιού, το οποίο έχει υποπολλαπλάσια συχνότητα του πρώτου. Ακόμα, στην είσοδο ενός ISERDES μπορεί να εισαχθεί χρονική καθυστέρηση με ένα στοιχείο IDELAY, όπως ακριβώς περιγράφηκε παραπάνω. Τέλος, ένα μπλοκ ISERDES διαθέτει έναν ανιχνευτή ορίων λέξεων όταν ο εκπομπός των δεδομένων παρέχει ένα πρότυπο εκπαίδευσης (training pattern). Ένα πρότυπο εκπαίδευσης είναι μία συγκεκριμένη δυαδική λέξη, η οποία αποστέλλεται σειριακά και επαναλαμβανόμενα από τον πομπό στο δέκτη, μέχρις ότου ο δέκτης, αναγνωρίζοντας τη λέξη αυτή, να αντιληφθεί τα όρια των λέξεων για την επικοινωνία που θα ακολουθήσει. Το μπλοκ ISERDES εφαρμόζει διαδοχικές ολισθήσεις στα bits των λέξεων που λαμβάνει από τον πομπό μέχρι να προκύψει στην έξοδό του η λέξη εκπαίδευσης. Τότε η λογική που υποδέχεται τα δεδομένα, αναγνωρίζοντας τη λέξη αυτή, γνωρίζει και τα όρια των επόμενων λέξεων που θα ακολουθήσουν (συγχρονισμός). Ο parallel-to-serial converter (ή OSERDES) χρησιμοποιείται για έξοδο δεδομένων και μπορεί να λειτουργήσει και αυτός σε ρυθμούς SDR (Single Data Rate) ή DDR (Double Data Rate). Δέχεται λέξεις δεδομένων και λέξεις ελέγχου τριών καταστάσεων, τις οποίες και εκπέμπει σειριακά στις εξόδους του, οδηγώντας 99

110 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx τον αντίστοιχο driver τριών καταστάσεων. Οι λέξεις δεδομένων μπορούν να έχουν μήκος 2,3,4,5,6,7 ή 8 bits (για SDR) ή 4,6,8, ή 10 bits (για DDR). Για λέξεις δεδομένων άνω των 6 bits χρησιμοποιούνται και οι δύο OSERDES ενός I/O tile. Οι λέξεις ελέγχου τριών καταστάσεων μπορούν να έχουν μήκος 1 bit (για SDR) ή 2 ή 4 bits (για DDR). Το σχηματικό διάγραμμα ενός OSERDES φαίνεται στο σχήμα Σχήμα 4-32 Σχηματικό διάγραμμα ενός μπλοκ ΟSERDES (χωρίς επέκταση) Μπλοκ ψηφιακής επεξεργασίας σήματος (XtremeDSP blocks) Τα FPGA της οικογένειας Virtex-4 διαθέτουν ειδικά μπλοκ XtremeDSP, τα οποία προσφέρονται για γρήγορες αριθμητικές πράξεις και λειτουργίες ψηφιακής επεξεργασίας σήματος. Αν και οποιαδήποτε λογική συνάρτηση, συμπεριλαμβανομένων αυτών που υλοποιούνται από τα μπλοκ XtremeDSP, μπορεί να κατασκευαστεί εξ ολοκλήρου από τα CLB (λογικά μπλοκ γενικής χρήσης), η χρήση των μπλοκ DSP παρέχει πολύ ταχύτερη υλοποίηση και μεγάλη εξοικονόμηση χώρου. Τα μπλοκ XtremeDSP είναι τοποθετημένα σε στήλες εντός της συσκευής. Ο αριθμός των μπλοκ XtremeDSP αλλά και των στηλών διαφέρει για κάθε συσκευή. Η υπο-οικογένεια SX είναι ειδικά σχεδιασμένη για εφαρμογές DSP και διαθέτει τα περισσότερα μπλοκ (και τις περισσότερες στήλες) από όλες τις άλλες. Δύο διαδοχικά μπλοκ (ή slices) μιας στήλης ομαδοποιούνται σε ένα tile. Τα δύο αυτά slices έχουν μία κοινή είσοδο και αφιερωμένες διασυνδέσεις για μεταφορά δεδομένων εισόδου ή εξόδου από το ένα στο άλλο. Το ύψος ενός tile ισούται με το ύψος τεσσάρων CLB. Η εσωτερική δομή ενός XtremeDSP tile, αποτελούμενου από 2 πανομοιότυπα slices, φαίνεται στο σχήμα

111 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Σχήμα 4-33 Διάγραμμα κυκλώματος ενός XtremeDSP tile (2 XtremeDSP slices) Όπως φαίνεται από το σχήμα 4-33, ένα slice XtremeDSP διαθέτει δύο εισόδους Α και Β των 18 bits, μία είσοδο C των 48 bits, κοινή για τα δύο slices του ίδιου tile, μία έξοδο P των 48 bits καθώς και εισόδους-εξόδους απευθείας διασύνδεσης με τα γειτονικά slices (BCIN/BCOUT, PCIN/PCOUT). Η εσωτερική δομή ενός slice περιλαμβάνει έναν πολλαπλασιαστή προσημασμένων αριθμών 18x18 bits, έναν αθροιστή τριών εισόδων 48 bits, πολυπλέκτες ελέγχου και καταχωρητές διοχέτευσης τόσο στα σήματα δεδομένων όσο και στα σήματα ελέγχου (οι καταχωρητές διοχέτευσης σημάτων ελέγχου δεν φαίνονται στο σχήμα 433). Οι είσοδοι του πολλαπλασιαστή προέρχονται από τις εισόδους Α και Β και η έξοδος του πολλαπλασιαστή συνδέεται σε σειρά με τον αθροιστή. Ο πολλαπλασιαστής παράγει ως έξοδο δύο μερικά αθροίσματα των 36 bits, τα οποία, αθροιζόμενα στη συνέχεια από τον αθροιστή, δίνουν το επιθυμητό 101

112 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx γινόμενο. Ο αθροιστής διαθέτει επιπλέον είσοδο εισερχόμενου κρατουμένου καθώς και δυνατότητα αφαίρεσης. Η έξοδος του αθροιστή δίνεται από την εξίσωση: Adder_Out = Z ± (X+Y+CIN) Η συμπεριφορά ενός slice XtremeDSP καθορίζεται κυρίως από τα σήματα ελέγχου των τριών πολυπλεκτών Χ, Y και Z του σχήματος Οι πολυπλέκτες αυτοί καθορίζουν ποιες θα είναι οι είσοδοι στον αθροιστή των 48 bits και εφαρμόζουν επέκταση προσήμου όταν η είσοδος είναι των 36 bits. Ως είσοδοι στον αθροιστή μπορούν να επιλεγούν οι εξής δίαυλοι: - Μια μηδενική λέξη - Η έξοδος του πολλαπλασιαστή (με χρήση και των 2 πολυπλεκτών Χ και Υ) - Μια λέξη των 36 bits, προερχόμενη από τις εισόδους Α και Β, με την είσοδο Α να αποτελεί το πιο σημαντικό μέρος - Μια λέξη των 48 bits, προερχόμενη από την είσοδο C - Η ανατροφοδοτούμενη έξοδος P - Η ανατροφοδοτούμενη έξοδος P, αφού ολισθήσει δεξιά κατά 17 bits (για διευκόλυνση διαφόρων πράξεων, όπως του πολλαπλασιασμού μεγάλων λέξεων δεδομένων) - Η έξοδος P του κατώτερου slice (είσοδος PCIN) - Η έξοδος P του κατώτερου slice (είσοδος PCIN), αφού ολισθήσει δεξιά κατά 17 bits (για διευκόλυνση διαφόρων πράξεων, όπως του πολλαπλασιασμού μεγάλων λέξεων δεδομένων) Όλες οι παραπάνω επιλογές προσδίδουν μεγάλη ευελιξία στη σχεδίαση γρήγορων αριθμητικών κυκλωμάτων και φίλτρων. Επιπλέον, η λειτουργικότητα ενός XtremeDSP slice δεν είναι στατική αλλά μπορεί να μεταβάλλεται κατά τη διάρκεια της λειτουργίας του FPGA (μέσω μεταβολής των σημάτων ελέγχου των πολυπλεκτών X, Y και Z). Έτσι, ένα μόνο slice μπορεί να εκτελέσει διαδοχικά πολλές διαφορετικές λειτουργίες και να υλοποιήσει πολύπλοκους αλγορίθμους αριθμητικών πράξεων (πχ διαίρεση). Για απαιτητικές εφαρμογές υψηλής ταχύτητας, αλλά και για τον έλεγχο της ροής δεδομένων στο εσωτερικό του slice, διατίθενται προαιρετικοί καταχωρητές διοχέτευσης (pipeline registers), όπως φαίνεται στο σχήμα Οι καταχωρητές αυτοί έχουν κοινό ρολόι και ξεχωριστά σήματα reset και clock enable. Η χρήση τους βελτιώνει την απόδοση (ταχύτητα πράξεων) με κόστος καθυστέρησης μερικών κύκλων ρολογιού. Καταχωρητές διοχέτευσης υπάρχουν ακόμη για τα σήματα ελέγχου (για γρήγορη αλλαγή λειτουργικότητας). Μερικές από τις πιο συνηθισμένες λειτουργίες που επιτελούνται από ένα ή περισσότερα XtremeDSP slices παρατίθενται παρακάτω: - Πολλαπλασιασμοί πραγματικών ή μιγαδικών αριθμών των 18x18 bits, 35x18 bits, 35x35 bits, πολλαπλασιασμός-συσσώρευση (Multiply-Accumulate - MACC), πολλαπλασιασμός-πρόσθεση κλπ - Προσθαφαιρέσεις αριθμών έως 48 bits 102

113 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Διαίρεση Εύρεση τετραγωνικής ρίζας Πολυπλεξία λέξεων δεδομένων Απαριθμητές των 48 bits Συγκριτές (με επιπλέον λογική από CLB) Κυκλική ολίσθηση (barrel shift) λέξεων 18-bit προς τα αριστερά Υλοποίηση FIR φίλτρων (μέσω πολλαπλασιασμού-συσσώρευσης) κ.α. Αρκετές από τις παραπάνω λειτουργίες μπορούν να εκτελεστούν είτε από ένα slice (εξοικονόμηση χώρου) είτε από περισσότερα slices συνδεδεμένα παράλληλα (εξοικονόμηση χρόνου). Για παράδειγμα, στο σχήμα 4-34 φαίνεται η υλοποίηση ενός πολλαπλασιαστή 35x35 bits από ένα slice σε 4 κύκλους ρολογιού, ενώ στο σχήμα 4-35 φαίνεται η υλοποίηση του ίδιου πολλαπλασιαστή από 4 slices σε 1 κύκλο ρολογιού (εφόσον δεν χρησιμοποιηθούν οι προαιρετικοί pipeline registers του σχήματος). - Σχήμα 4-34 Υλοποίηση πολλαπλασιασμού 35x35 bits από ένα slice 103

114 Κεφάλαιο 4 Η οικογένεια Virtex-4 των FPGA της εταιρείας Xilinx Σχήμα 4-35 Υλοποίηση πολλαπλασιασμού 35x35 bits από 4 slices με στάδια διοχέτευσης (pipeline stages) Τέλος, το κρατούμενο CIN του αθροιστή μπορεί να παρέχεται είτε από το εξωτερικό του slice, είτε από ειδική λογική που επιτρέπει την υλοποίηση συμμετρικής στρογγυλοποίησης αριθμών (στρογγυλοποίηση όπου ο μεσαίος αριθμός μεταξύ δύο ορίων στρογγυλοποιείται μακριά από το 0, πχ για στρογγυλοποίηση σε ακέραιο, ο αριθμός 2.5 στρογγυλοποιείται στο 3 και ο -2.5 στο -3). Η συμμετρική στρογγυλοποίηση μπορεί να εφαρμοστεί στην έξοδο του πολλαπλασιαστή, στη λέξη εισόδου A:B, στην ανατροφοδοτούμενη λέξη P ή στην εισερχόμενη λέξη PCIN. Η θέση στρογγυλοποίησης παρέχεται από τη θύρα C. 104

115 Κεφάλαιο 5 Η αναπτυξιακή πλακέτα ML-402 για εφαρμογές Virtex-4 FPGA ΚΕΦΑΛΑΙΟ 5 Η ΑΝΑΠΤΥΞΙΑΚΗ ΠΛΑΚΕΤΑ ML-402 ΓΙΑ ΕΦΑΡΜΟΓΕΣ VIRTEX-4 FPGA 5.1. ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΑΝΑΠΤΥΞΙΑΚΗΣ ΠΛΑΚΕΤΑΣ ML Εισαγωγή στις αναπτυξιακές πλακέτες προγραμματιζόμενων συσκευών Τα σύγχρονα FPGA, όπως και πολλά άλλα προγραμματιζόμενα τσιπ VLSI (μικροεπεξεργαστές, CPLD, κυκλώματα PAL κλπ), παρέχουν τεράστιες δυνατότητες στον τελικό χρήστη, ωστόσο η χρηστικότητά τους είναι περιορισμένη όταν χρησιμοποιούνται αυτόνομα. Εκτός του γεγονότος ότι τα pins των συσκευασιών είναι σχεδόν πάντα πάρα πολλά (άρα και δύσκολα διαχειρίσιμα από ένα ανθρώπινο χέρι), ο προγραμματισμός των συσκευών και η επεξεργασία των σημάτων εισόδουεξόδου μπορεί να απαιτούν τη χρήση εξωτερικών μνημών και εξαρτημάτων. Έτσι, οι εταιρείες κατασκευής προγραμματιζόμενων συσκευών έχουν αναπτύξει ειδικές πλακέτες, οι οποίες διευκολύνουν το χρήστη στην ανάπτυξη εφαρμογών, παρέχοντας επιπλέον εξαρτήματα και τρόπους επικοινωνίας με άλλες ψηφιακές συσκευές. Ανάμεσα στις λειτουργίες των αναπτυξιακών αυτών πλακετών συγκαταλέγονται η διαμόρφωση του κατάλληλου περιβάλλοντος για τη λειτουργία της προγραμματιζόμενης συσκευής (τροφοδοσία, τυχόν απαιτούμενα σήματα χρονισμού κλπ), η δυνατότητα προγραμματισμού των συσκευών από έναν προσωπικό υπολογιστή μέσω ενός ή περισσότερων τρόπων επικοινωνίας (RS-232, JTAG κ.α.), η συνδεσιμότητα με άλλες συσκευές, η εποπτεία της κατάστασης της συσκευής από το χρήστη (μέσω LED κατάστασης) κ.α. Οι αναπτυξιακές πλακέτες χρησιμοποιούνται κατά τη φάση της σχεδίασης μιας εφαρμογής για τον προγραμματισμό, την αποσφαλμάτωση και τον έλεγχο της συσκευής, ενώ μετά την ολοκλήρωση της σχεδίασης η προγραμματισμένη πλέον συσκευή είτε αποσυνδέεται από την πλακέτα και εισάγεται αυτόνομα στο περιβάλλον λειτουργίας (συνήθως πάνω σε κάποιο τυπωμένο κύκλωμα), είτε εισάγεται μαζί με την πλακέτα στο περιβάλλον λειτουργίας (κυρίως σε συστήματα πολύ λίγων παρτίδων παραγωγής). 105

116 Κεφάλαιο 5 Η αναπτυξιακή πλακέτα ML-402 για εφαρμογές Virtex-4 FPGA Γενική επισκόπηση της αναπτυξιακής πλακέτας ML-402 Η αναπτυξιακή πλακέτα ML-402 διατίθεται από τη Xilinx για την ανάπτυξη εφαρμογών με χρήση του Virtex-4 FPGA με κωδικό XC4VSX35-FF Η προτεινόμενη χρήση της πλακέτας ML-402 είναι για εφαρμογές Ψηφιακής Επεξεργασίας Σήματος. Στο σχήμα 5-1 φαίνεται ένα γενικό διάγραμμα της αναπτυξιακής πλακέτας ML-402. Σχήμα 5-1 Γενικό διάγραμμα αναπτυξιακής πλακέτας ML-402 Η πλακέτα ML-402 περιέχει τα παρακάτω εξαρτήματα: FPGA της οικογένειας Virtex-4 με κωδικό XC4VSX35-FF (μέλος υποοικογένειας SX) Μνήμες ROM - Εξωτερική μνήμη CompactFlash (αποθήκευση δεδομένων ή bitstream προγραμματισμού) 106

117 Κεφάλαιο 5 Η αναπτυξιακή πλακέτα ML-402 για εφαρμογές Virtex-4 FPGA - Μνήμη Platform Flash της Xilinx (XCF32P) (αποθήκευση bitstream προγραμματισμού) - Linear Flash 8 MB (αποθήκευση δεδομένων ή bitstream προγραμματισμού) - EEPROM 4 KB για αποθήκευση δεδομένων, συνδεδεμένη μέσω διαύλου IIC (επεκτάσιμου μέσω των expansion headers) Μνήμες RAM - 64 MB DDR SDRAM, δίαυλος δεδομένων 32 bit, ρυθμός μεταφοράς μέχρι 266 MHz - 9 MB σύγχρονη SRAM ZBT (Zero Bus Turnaround), δίαυλος δεδομένων 32 bit και 4 επιπλέον bits ισοτιμίας Βοηθητικά εξαρτήματα για τον προγραμματισμό του FPGA - Ελεγκτής System ACE για προγραμματισμό του FPGA μέσω της μνήμης CompactFlash - CPLD της Xilinx (XC95144XL) για προγραμματισμό του FPGA μέσω της μνήμης Linear Flash Ταλαντωτής κρυστάλλου 100 MHz συν μία επιπλέον υποδοχή για κρύσταλλο στα 3.3 V Ένα διαφορικό σήμα clock εισόδου και ένα διαφορικό σήμα clock εξόδου μέσω συνδέσεων SMA (2 connectors ανά σήμα) Σειριακή θύρα RS-232 Ελεγκτής USB (Cypress CY7C67300) - Mία θύρα host - Δύο θύρες peripheral Θύρα Ethernet τριών ταχυτήτων: 10/100/1000 Δύο θύρες PS/2 για σύνδεση πληκτρολογίου και ποντικιού Θύρα JTAG για διαμόρφωση του FPGA μέσω παράλληλου καλωδίου τύπου III ή τύπου IV (Parallel Cable III Parallel Cable IV) Κωδικοποιητής-αποκωδικοποιητής ήχου AC97 με 4 υποδοχείς - Stereo line-in - Stereo line-out - Stereo 50 mw headphone - Mono microphone (mic-in) Θύρα VGA για έξοδο βίντεο στα 140 MHz και 24 bit Οθόνη LCD ύψους 2 γραμμών και μήκους 16 χαρακτήρων ανά γραμμή με ρύθμιση φωτεινότητας και αντίθεσης I/O γενικής χρήσης (General Purpose I/O - GPIO) - 8 DIP switches - 5 push-buttons - 11 LEDs (2 εκ των οποίων μπορούν εναλλακτικά να χρησιμοποιηθούν ως ενδείξεις σφαλμάτων ή LED γενικής χρήσης) Κεφαλές επέκτασης (expansion headers) για σύνδεση με άλλες ψηφιακές συσκευές 107

118 Κεφάλαιο 5 Η αναπτυξιακή πλακέτα ML-402 για εφαρμογές Virtex-4 FPGA 32 ακίδες για απλή είσοδο-έξοδο (single-ended I/O) 16 ζεύγη ακίδων για διαφορική είσοδο-έξοδο (differential I/O), οι οποίες υποστηρίζουν το πρότυπο LVDS - 14 ακίδες, οι οποίες συνδέονται με τα push-buttons και LEDs γενικής χρήσης - Ακίδες μεταφοράς τροφοδοσίας - Ακίδες επέκτασης της αλυσίδας JTAG - Ακίδες επέκτασης διαύλου IIC Τροφοδοτικά για όλες τις απαραίτητες τάσεις τροφοδοσίας των εξαρτημάτων της πλακέτας Προσαρμογέας AC 15 W (5V 3A) Υποδοχέας μπαταρίας για το κλειδί κρυπτογράφησης του bitstream προγραμματισμού LED ένδειξης τροφοδοσίας, διάφορα LED κατάστασης, push-buttons για reset και προγραμματισμό, επιλογέας πηγής προγραμματισμού (configuration source selector switch Αναλυτική περιγραφή της αναπτυξιακής πλακέτας ML-402 Στα σχήματα 5-2 και 5-3 φαίνονται αντίστοιχα η εμπρόσθια και η οπίσθια όψη της αναπτυξιακής πλακέτας ML-402 (μικρές διαφορές με τη φωτογραφία είναι πιθανές). Σχήμα 5-2 Εμπρόσθια όψη αναπτυξιακής πλακέτας ML

119 Κεφάλαιο 5 Η αναπτυξιακή πλακέτα ML-402 για εφαρμογές Virtex-4 FPGA Σχήμα 5-3 Οπίσθια όψη αναπτυξιακής πλακέτας ML-402 Στη συνέχεια θα περιγράψουμε εξαρτήματα των σχημάτων 5-2 και 5-3. αναλυτικά τα διάφορα αριθμημένα 1. Virtex-4 FPGA Η αναπτυξιακή πλακέτα ML-402 περιέχει το FPGA με κωδικό XC4VSX35FF (υπο-οικογένεια SX). Η διαμόρφωση (προγραμματισμός) του FPGA μπορεί να γίνει με όλους τους υποστηριζόμενους τρόπους (master serial, slave serial, master SelectMAP, slave SelectMAP ή JTAG) και από διάφορες πηγές. Οι πηγές αυτές είναι οι εξής: - Απευθείας με παράλληλο καλώδιο τύπου IV (μέσω JTAG) - Από τον ελεγκτή SystemACE και τη μνήμη CompactFlash (μέσω JTAG) - Από τη μνήμη Platform Flash (μέσω master/slave serial ή master/slave SelectMAP) - Από το CPLD και τη μνήμη Linear Flash (μέσω master/slave serial ή master/slave SelectMAP) Περισσότερες πληροφορίες για τις πηγές προγραμματισμού δίνονται παρακάτω. Το FPGA διαθέτει 11 I/O banks, εκ των οποίων χρησιμοποιούνται μόνο τα 10. Το τελευταίο bank (υπ αριθμόν 11) τροφοδοτείται μεν, αλλά παραμένει ασύνδετο. Στο σχήμα 5-4 φαίνονται οι τάσεις τροφοδοσίας των διαφόρων banks. 109

120 Κεφάλαιο 5 Η αναπτυξιακή πλακέτα ML-402 για εφαρμογές Virtex-4 FPGA Σχήμα 5-4 Τάσεις τροφοδοσίας των banks του FPGA XC4VSX35-FF Για μερικά I/O banks του FPGA υποστηρίζεται τερματισμός γραμμής (μέσω DCI) σύμφωνα με το σχήμα 5-5. Σχήμα 5-5 Υποστήριξη DCI για τα Ι/Ο banks του FPGA XC4VSX35-FF

121 Κεφάλαιο 5 Η αναπτυξιακή πλακέτα ML-402 για εφαρμογές Virtex-4 FPGA 2. DDR SDRAM Η πλακέτα ML-402 διαθέτει συνολικά 64 MB μνήμης DDR SDRAM, η οποία κατανέμεται σε 2 τσιπ. Κάθε τσιπ έχει δίαυλο δεδομένων των 16 bits και η συνολική μνήμη έχει δίαυλο δεδομένων των 32 bits. Η μέγιστη ταχύτητα μεταφοράς δεδομένων είναι 266 MHz. Οι γραμμές όλων των σημάτων της μνήμης DDR SDRAM τερματίζονται μέσω αντιστάσεων 47Ω σε μια τάση αναφοράς 1.25 V. Η πλακέτα μπορεί να υποστηρίξει μέχρι 1 GB συνολικής μνήμης. Το σήμα clock της μνήμης DDR προέρχεται από το FPGA και, μετά το χρονισμό των τσιπ DDR, ανατροφοδοτείται εντός του FPGA, σχηματίζοντας ένα κλειστό βρόχο. Κατά αυτόν τον τρόπο, το FPGA μπορεί να χρησιμοποιήσει ένα DCM για να εξαλειφθεί η χρονική καθυστέρηση των γραμμών (deskew). 3. Διαφορικά σήματα clock εισόδου και εξόδου μέσω σύνδεσης SMA Ένα εξωτερικό διαφορικό σήμα clock μπορεί να εισέλθει στο FPGA μέσω δύο θυρών SMA. Αυτό επιτρέπει την οδήγηση των global clocks του FPGA από εξωτερικές πηγές χρονισμού. Αντίστοιχα, ένα διαφορικό σήμα clock μπορεί να εξέλθει από το FPGA μέσω δύο θυρών SMA, χρονίζοντας άλλες ψηφιακές συσκευές. 4. Υποδοχές ταλαντωτή κρυστάλλου Η πλακέτα ML-402 διαθέτει δύο υποδοχείς ταλαντωτών κρυστάλλου, οι οποίοι μπορούν να δεχθούν ταλαντωτές τύπου LVTTL (Low Voltage TTL) με τροφοδοσία 3.3V. Στον ένα υποδοχέα (X1 SYSCLK) υπάρχει προεγκατεστημένος ένας ταλαντωτής των 100 MHz. 5. Ρύθμιση φωτεινότητας και αντίθεσης οθόνης LCD Το ποτενσιόμετρο R1 ρυθμίζει την αντίθεση της οθόνης LCD. 6. DIP switches Διατίθενται 8 DIP switches γενικής χρήσης (active-high), καθένα εκ των οποίων συνδέεται με ένα pin εισόδου-εξόδου του FPGA. 7. LEDs γενικής χρήσης και ένδειξης σφαλμάτων Συνολικά διατίθενται 11 LEDs γενικής χρήσης (active-high), τα οποία είναι απευθείας ελέγξιμα από το FPGA: - Τέσσερα LEDs πράσινου χρώματος είναι διατεταγμένα σε μια σειρά - Πέντε LEDs πράσινου χρώματος είναι τοποθετημένα πάνω από τα αντίστοιχα push-buttons με διάταξη North-East-South-West-Center (βλ. σχήμα 5-2) 111

122 Κεφάλαιο 5 Η αναπτυξιακή πλακέτα ML-402 για εφαρμογές Virtex-4 FPGA - Δύο LEDs κόκκινου χρώματος προορίζονται για ενδείξεις σφαλμάτων, όπως για παράδειγμα σφάλματα μεταφοράς δεδομένων στους διαύλους. Τα LEDs αυτά μπορούν να χρησιμοποιηθούν και ως LEDs γενικής χρήσης. 8. Push buttons γενικής χρήσης Διατίθενται πέντε push-buttons γενικής χρήσης (active-high), τα οποία είναι τοποθετημένα σε διάταξη Βορρά-Νότου-Ανατολής-Δύσης-Κέντρου (βλ. σχήμα 5-2). 9. CPU reset button Το push-button CPU reset (active-low) προορίζεται για επανεκκίνηση του συστήματος. Συνδέεται απευθείας με ένα pin του FPGA και μπορεί να χρησιμοποιηθεί και ως push-button γενικής χρήσης. 10.Κεφαλές επέκτασης (expansion headers) Η πλακέτα ML-402 διαθέτει ένα σύνολο κεφαλών επέκτασης (expansion headers) για την επέκταση της λειτουργικότητάς της και τη σύνδεση με άλλες συσκευές. Οι διασυνδέσεις των κεφαλών επέκτασης είναι οι εξής: - 16 ζεύγη κεφαλών (32 κεφαλές) του header J5 συνδέονται με διαφορικά σήματα I/O του FPGA. Εναλλακτικά, οι 32 αυτές κεφαλές μπορούν να χρησιμοποιηθούν ως απλά (single-ended) σήματα. Η τάση τροφοδοσίας επιλέγεται είτε στα 2.5 V είτε στα 3.3 V μέσω του jumper J κεφαλές του header J6 συνδέονται με απλά (single-ended) σήματα Ι/Ο του FPGA. Η τάση τροφοδοσίας επιλέγεται είτε στα 2.5 V είτε στα 3.3 V μέσω του jumper J16. - Τα 14 pins των push-buttons γενικής χρήσης και των πράσινων LEDs γενικής χρήσης συνδέονται με ισάριθμες κεφαλές του header J3. Οι συνδέσεις αυτές επιτρέπουν την πρόσβαση εξωτερικών συσκευών σε περισσότερα pin Ι/Ο του FPGA, όταν τα αντίστοιχα push-buttons και LEDs δεν χρησιμοποιούνται. Ακόμη, επιτρέπουν την προσπέλαση των push-buttons και LEDs από τις εξωτερικές συσκευές. - 4 κεφαλές του header J3 επιτρέπουν την επέκταση της αλυσίδας JTAG της πλακέτας προς εξωτερικές συσκευές. Αυτό επιτυγχάνεται με ρύθμιση του jumper J κεφαλές του header J3 επιτρέπουν την επέκταση του διαύλου IIC (δίαυλος μνήμης EEPROM). - Επιπλέον κεφαλές του header J3 διασυνδέουν αγωγούς γείωσης και αγωγούς τροφοδοσίας των 2.5 V, 3.3 V και 5 V με εξωτερικές συσκευές. Η χρήση αυτών των διασυνδέσεων πρέπει να γίνεται με προσοχή, ώστε να διασφαλίζεται ότι η τροφοδοσία της πλακέτας ML-402 μπορεί να παρέχει την απαιτούμενη ισχύ στις εξωτερικές συσκευές. 112

123 Κεφάλαιο 5 Η αναπτυξιακή πλακέτα ML-402 για εφαρμογές Virtex-4 FPGA 11.Κωδικοποιητής-αποκωδικοποιητής ήχου AC97 Η πλακέτα ML-402 διαθέτει έναν κωδικοποιητή-αποκωδικοποιητή ήχου AC97 για επεξεργασία ήχου. Υποστηρίζεται στερεοφωνικός ήχος των 16 bit με συχνότητα δειγματοληψίας μέχρι 48 khz. Η συχνότητα δειγματοληψίας μπορεί να διαφέρει για καταγραφή και αναπαραγωγή ήχου. Διατίθενται 4 θύρες για είσοδο μικροφώνου (mic-in), γραμμή εισόδου (line-in), γραμμή εξόδου (line-out) και έξοδο μεγαφώνου. H έξοδος του μεγαφώνου οδηγείται από έναν εσωτερικό ενισχυτή των 50 mw. Όλες οι θύρες είναι στερεοφωνικές εκτός από τη θύρα μικροφώνου που είναι μονοφωνική. 12.Σειριακή θύρα RS-232 Η πλακέτα ML-402 διαθέτει ένα αρσενικό βύσμα RS-232 για σειριακή επικοινωνία με άλλες συσκευές. Η σειριακή θύρα είναι καλωδιωμένη ως host (DCE). Έτσι, απαιτείται ένα καλώδιο null modem για να συνδεθεί η πλακέτα με έναν προσωπικό υπολογιστή. Ακόμα, το FPGA χρησιμοποιεί μόνο τα σήματα TX και RX, οπότε τα υπόλοιπα σήματα ελέγχου ροής πρέπει να είναι απενεργοποιημένα. Η σειριακή θύρα λειτουργεί σε ρυθμούς μέχρι Baud. 13.Οθόνη LCD 2 γραμμών και 16 χαρακτήρων ανά γραμμή Η πλακέτα ML-402 διαθέτει μία οθόνη LCD (Lumex LCM-S01602DTR/M) 16 χαρακτήρων και 2 γραμμών για απεικόνιση κειμένου. Η αντίθεση της οθόνης ρυθμίζεται από το ποτενσιόμετρο R1. 14.EEPROM 4 KB με δίαυλο IIC Η πλακέτα ML-402 διαθέτει ένα τσιπ μνήμης EEPROM (Microchip Technology 24LC04B-I/ST) χωρητικότητας 4 KB για την αποθήκευση των δεδομένων που πρέπει να διατηρούνται και μετά από διακοπή της τροφοδοσίας. Ο δίαυλος IIC χρησιμοποιεί σήματα των 2.5 V και μπορεί να λειτουργήσει σε ταχύτητες μέχρι 400 khz. Παρέχονται ακόμα αντιστάσεις pull-up πάνω στην πλακέτα. Ο δίαυλος IIC μπορεί να επεκταθεί και σε περιφερειακές συσκευές εκτός της πλακέτας μέσω των κεφαλών επέκτασης. Σε αυτήν την περίπτωση, ο χρήστης πρέπει να παρέχει επιπλέον αντιστάσεις pull-up στην περιφερειακή κάρτα. Η περιφερειακή κάρτα επιτρέπεται να χρησιμοποιεί σήματα μεταξύ 2.5 V και 5 V. 15.Έξοδος βίντεο VGA Η πλακέτα ML-402 διαθέτει μια θύρα VGA για σύνδεση εξωτερικής οθόνης. Η ταχύτητα της θύρας είναι 140 MHz και ο δίαυλος δεδομένων του βίντεο είναι των 24 bit. 113

124 Κεφάλαιο 5 Η αναπτυξιακή πλακέτα ML-402 για εφαρμογές Virtex-4 FPGA 16.Θύρες PS/2 για πληκτρολόγιο και ποντίκι Η πλακέτα ML-402 διαθέτει δύο θύρες PS/2, μία για σύνδεση ποντικιού (J17) και μία για σύνδεση πληκτρολογίου (J18), οι οποίες τροφοδοτούνται από το κύριο τροφοδοτικό 5 V της συσκευής. 17.SystemACE και υποδοχέας μνήμης CompactFlash Ο ελεγκτής προγραμματισμού SystemACE επιτρέπει σε μια μνήμη CompactFlash τύπου I ή II να χρησιμοποιηθεί για τον προγραμματισμό του FPGA μέσω JTAG. Ο SystemACE μπορεί να επιλεχθεί τοποθετώντας το διακόπτη επιλογής της πηγής προγραμματισμού στη θέση SYS ACE και υποστηρίζει τη χρήση μέχρι 8 bitstream προγραμματισμού από μία μνήμη CompactFlash. Τα configuration address DIP switches επιλέγουν ποιο από αυτά τα bitstreams θα χρησιμοποιηθεί. Η διαδικασία προγραμματισμού μέσω SystemACE ξεκινά αυτόματα κάθε φορά που μία κάρτα μνήμης CompactFlash συνδέεται στην υποδοχή της πλακέτας και κάθε φορά που εφαρμόζεται τροφοδοσία στην πλακέτα ενώ υπάρχει συνδεδεμένη μνήμη CompactFlash. Ακόμα, ο χρήστης μπορεί να εκκινήσει τη διαδικασία προγραμματισμού πιέζοντας το push button με την ένδειξη SystemACE RST. Ο ελεγκτής SystemACE διαθέτει μία θύρα MPU, μέσω της οποίας το FPGA μπορεί είτε να προκαλέσει επανα-διαμόρφωση του συστήματος είτε να χρησιμοποιήσει τη μνήμη CompactFlash ως ένα γενικό σύστημα αρχείων FAT. Τέλος, υπάρχει η δυνατότητα να ρυθμιστεί ο ελεγκτής SystemAce ώστε, όταν αποτύχει μία απόπειρα προγραμματισμού του FPGA, να φορτώνεται αυτόματα μία προηγούμενη προκαθορισμένη διαμόρφωση (failsafe mode). Αυτό επιτυγχάνεται εισάγοντας δύο jumpers (J29 και J30). Δύο LEDs σχετίζονται με τη λειτουργία του ελεγκτή SystemACE, το LED σφάλματος (error LED) και το LED κατάστασης (status LED). Η συμπεριφορά αυτών των LEDs είναι η εξής: - Όταν το κόκκινο LED σφάλματος αναβοσβήνει, τότε δεν υπάρχει συνδεδεμένη κάρτα CompactFlash. - Όταν το κόκκινο LED σφάλματος είναι αναμμένο, τότε παρουσιάστηκε κάποιο σφάλμα κατά τη διάρκεια του προγραμματισμού. - Όταν το πράσινο LED κατάστασης αναβοσβήνει, τότε βρίσκεται σε εξέλιξη η διαδικασία του προγραμματισμού. - Όταν το πράσινο LED κατάστασης είναι αναμμένο, τότε έχει ολοκληρωθεί επιτυχώς ο προγραμματισμός του FPGA. 114

125 Κεφάλαιο 5 Η αναπτυξιακή πλακέτα ML-402 για εφαρμογές Virtex-4 FPGA 18.Σύγχρονη SRAM ZBT Η πλακέτα ML-402 διαθέτει 9 MB σύγχρονης μνήμης ZBT (Zero Bus Turnaround) SRAM (τσιπ Cypress CY7C1354B ή παρόμοιο). Η μνήμη αυτή είναι οργανωμένη σε 256 Κ λέξεις των 36 bit. Τα 32 bit είναι bit δεδομένων και τα 4 bit είναι bit ισοτιμίας. Η μνήμη SRAM μοιράζεται τον ίδιο δίαυλο με τη μνήμη Linear Flash. 19.Linear flash Η πλακέτα ML-402 διαθέτει δύο τσιπ μνήμης Linear Flash (Micron MT28F320J3RG-11 ET), τα οποία συνολικά παρέχουν μνήμη των 8 MB. Η μνήμη αυτή μπορεί να χρησιμοποιηθεί για μόνιμη αποθήκευση δεδομένων, bitstream προγραμματισμού ή λογισμικού για τον ενσωματωμένο επεξεργαστή του FPGA. Οι δίαυλοι δεδομένων του κάθε τσιπ έχουν εύρος 16 bit και συνδυάζονται σε έναν συνολικό δίαυλο εύρους 32 bit, ο οποίος είναι κοινός για τις μνήμες Linear Flash και ZBT SRAM. Σε συνδυασμό με ένα CPLD, η μνήμη Linear Flash μπορεί να χρησιμοποιηθεί για τον προγραμματισμό του FPGA. 20.CPLD XC95144XL της Xilinx To CPLD (Xilinx XC95144XL) χρησιμοποιείται για τον προγραμματισμό του FPGA από τη μνήμη Linear Flash. Για να ενεργοποιηθεί αυτός ο τρόπος προγραμματισμού, ο διακόπτης επιλογής της πηγής προγραμματισμού πρέπει να τοποθετηθεί στη θέση CPLD Flash. Στη συνέχεια, το CPLD προγραμματίζει το FPGA κάθε φορά που εφαρμόζεται τροφοδοσία στην πλακέτα και κάθε φορά που ο χρήστης θα πιέσει το push-button με την ένδειξη Prog. Το CPLD υποστηρίζει σειριακή διαμόρφωση (master ή slave) και παράλληλη διαμόρφωση SelectMAP (master ή slave) του FPGA. Υποστηρίζονται μέχρι 4 διευθύνσεις bitstream εντός της μνήμης Linear Flash. Ο προγραμματισμός του ίδιου του CPLD επιτυγχάνεται μέσω της αλυσίδας JTAG της πλακέτας. 21.Θύρα Ethernet τριών ταχυτήτων 10/100/1000 Η πλακέτα ML-402 διαθέτει μία θύρα Ethernet (βύσμα Halo HFJ11-1G01E RJ45), η οποία υποστηρίζει επικοινωνία μέσω τοπικού δικτύου. Η συσκευή του φυσικού επιπέδου (PHY) είναι η Marvell Alaska 88E1111, διαθέτει αφιερωμένο κρύσταλλο των 25 MHz και υποστηρίζει ταχύτητες 10, 100 και 1000 Mbps. Η σύνδεση με το FPGA μπορεί να γίνει με βάση τα πρότυπα MII, GMII και RGMII. 22.Ελεγκτής USB με μία θύρα host και 2 θύρες peripheral Η πλακέτα ML-402 διαθέτει έναν ενσωματωμένο ελεγκτή USB (Cypress CY7C67300) με μία θύρα host και δύο θύρες peripheral. Μπορούν να 115

126 Κεφάλαιο 5 Η αναπτυξιακή πλακέτα ML-402 για εφαρμογές Virtex-4 FPGA χρησιμοποιηθούν ταυτόχρονα είτε οι δύο θύρες peripheral, είτε μία θύρα host και μία peripheral, αλλά όχι και οι τρεις θύρες μαζί. Ο ελεγκτής USB διαθέτει έναν εσωτερικό μικροεπεξεργαστή, ο οποίος επεξεργάζεται τις εντολές USB. Το firmware του επεξεργαστή αυτού αποθηκεύεται σε μια ξεχωριστή ειδική μνήμη IIC EEPROM. Ακόμη, διατίθεται μία ακόμα διεπαφή RS-232 (ανεξάρτητη από την κύρια διεπαφή RS-232 της πλακέτας) για την αποσφαλμάτωση του ελεγκτή USB. 23.Platform flash XCF32P της Xilinx Η μνήμη Platform Flash (Xilinx XCF32P) μπορεί να χρησιμοποιηθεί για τον προγραμματισμό του FPGA. Υποστηρίζει τη χρήση μέχρι 2 bitstreams προγραμματισμού. Τα configuration address DIP switches επιλέγουν ποιο από αυτά τα bitstreams θα χρησιμοποιηθεί. Η μνήμη Platform Flash υποστηρίζει σειριακή διαμόρφωση (master ή slave) και παράλληλη διαμόρφωση SelectMAP (master ή slave) του FPGA. Για να ενεργοποιηθεί αυτός ο τρόπος προγραμματισμού, ο διακόπτης επιλογής της πηγής προγραμματισμού πρέπει να τοποθετηθεί στη θέση Plat Flash. Στη συνέχεια, η μνήμη Platform Flash προγραμματίζει το FPGA κάθε φορά που εφαρμόζεται τροφοδοσία στην πλακέτα και κάθε φορά που ο χρήστης θα πιέσει το push-button με την ένδειξη Prog. Τέλος, η ίδια η μνήμη Platform Flash προγραμματίζεται μέσω της αλυσίδας JTAG της πλακέτας. 24.Θύρα προγραμματισμού JTAG Η θύρα προγραμματισμού JTAG επιτρέπει τον προγραμματισμό και την αποσφαλμάτωση του FPGA, καθώς και μερικών άλλων εξαρτημάτων της πλακέτας. Στη θύρα JTAG μπορεί να συνδεθεί παράλληλο καλώδιο της Xilinx τύπου III ή IV. Οι συσκευές που χρησιμοποιούν JTAG συνδέονται σε μια αλυσίδα, όπως φαίνεται στο σχήμα 5-6. Η αλυσίδα JTAG μπορεί να επεκταθεί και σε εξωτερικές συσκευές μέσω των expansion headers (ρυθμίζοντας κατάλληλα τον jumper J26). Σχήμα 5-6 αλυσίδα JTAG της πλακέτας ML

127 Κεφάλαιο 5 Η αναπτυξιακή πλακέτα ML-402 για εφαρμογές Virtex-4 FPGA 25.Τροφοδοτικά Η πλακέτα ML-402 διαθέτει τροφοδοτικά για όλες τις απαραίτητες τάσεις των εξαρτημάτων. Οι συνεχείς τάσεις στην έξοδο του τροφοδοτικού είναι 1.2V, 1.25V, 1.8V, 2.5V και 3.3V. Το πράσινο LED με την ένδειξη PWR Good ανάβει όταν οι τάσεις των 1.2V, 2.5V και 3.3V έχουν σταθεροποιηθεί. Στο σχήμα 5-7 φαίνεται η αρχιτεκτονική του τροφοδοτικού καθώς και το μέγιστο επιτρεπόμενο ρεύμα κάθε εξόδου. Σχήμα 5-7 διάγραμμα τροφοδοσίας της πλακέτας ML Μετατροπέας AC Για την τροφοδοσία της πλακέτας ML-402 διατίθεται ένας προσαρμογέας AC των 15 W (5V 3A). Η παροχή τροφοδοσίας ελέγχεται από ένα διακόπτη στο επάνω μέρος της πλακέτας. 27.LED ένδειξης τροφοδοσίας Το πράσινο LED με την ένδειξη PWR Good ανάβει όταν οι τάσεις εξόδου του τροφοδοτικού των 1.2V, 2.5V και 3.3V έχουν σταθεροποιηθεί. Αν το LED αυτό είναι σβηστό, αναβοσβήνει ή λάμπει αμυδρά τότε υπάρχει κάποιο πρόβλημα στα κυκλώματα τροφοδοσίας (όπως κάποιο βραχυκύκλωμα ή υπέρταση). 28.LED ένδειξης INIT Το άναμμα του LED με ένδειξη INIT υποδηλώνει ότι το FPGA έχει ολοκληρώσει επιτυχώς την εσωτερική διαδικασία power-up, δηλαδή η τροφοδοσία του έχει σταθεροποιηθεί και μπορεί να ξεκινήσει ο προγραμματισμός του. 29.LED ένδειξης DONE Το άναμμα του LED με ένδειξη DONE υποδηλώνει ότι το FPGA έχει προγραμματιστεί επιτυχώς. 117

128 Κεφάλαιο 5 Η αναπτυξιακή πλακέτα ML-402 για εφαρμογές Virtex-4 FPGA 30.Κουμπί προγραμματισμού Το push-button με την ένδειξη Prog συνδέεται με το pin Prog του FPGA. Όταν πιεστεί, η μνήμη προγραμματισμού του FPGA μηδενίζεται και ξεκινά μια νέα διαδικασία προγραμματισμού. 31.DIP switches για Mode και διεύθυνση προγραμματισμού (configuration address) Αυτά τα 6 DIP switches καθορίζουν τον τρόπο προγραμματισμού και τη διεύθυνση του επιθυμητού bitstream εντός των μνημών ROM. Τα τρία πρώτα DIP switches από αριστερά χρησιμοποιούνται για τον καθορισμό της διεύθυνσης του bitstream. Ο ελεγκτής SystemACE υποστηρίζει 8 διευθύνσεις bitstream εντός της μνήμης CompactFlash. Το CPLD υποστηρίζει 4 διευθύνσεις μνήμης εντός της μνήμης Linear Flash. Τέλος, η μνήμη Platform Flash υποστηρίζει δύο διευθύνσεις bitstream. Τα επόμενα τρία DIP switches (Configuration Mode DIP switches M2,M1,M0) καθορίζουν τον τρόπο προγραμματισμού. Οι διαθέσιμοι τρόποι προγραμματισμού και ο τρόπος επιλογής τους συνοψίζονται στο σχήμα 5-8. Σχήμα 5-8 Επιλογή τρόπου προγραμματισμού από τα Mode DIP switches 32.Υποδοχέας μπαταρίας για το κλειδί κρυπτογράφησης του bitstream προγραμματισμού Η μπαταρία για το κλειδί κρυπτογράφησης του bitstream προγραμματισμού συνδέεται με το pin VBATT του FPGA. Ο υποδοχέας της μπαταρίας δέχεται μπαταρία λιθίου τύπου κέρματος των 12 mm και 3V. 33.Διακόπτης τριών θέσεων για επιλογή της πηγής προγραμματισμού Ο διακόπτης αυτός επιλέγει την πηγή προγραμματισμού του FPGA μεταξύ του ελεγκτή SystemACE, της μνήμης Platform Flash και της μνήμης Linear Flash (με χρήση του CPLD). Το Mode που καθορίζεται από τα αντίστοιχα DIP switches θα πρέπει να είναι συμβατό με τον τρόπο προγραμματισμού που χρησιμοποιείται. Σε κάθε περίπτωση, προγραμματισμός και αποσφαλμάτωση του FPGA μέσω της θύρας JTAG μπορεί πάντα να εκτελεστεί ανεξαρτήτως της θέσης αυτού του διακόπτη. 118

129 Κεφάλαιο 6 Υλοποίηση αποκωδικοποιητή LPC-10e σε γλώσσα VHDL ΚΕΦΑΛΑΙΟ 6 ΥΛΟΠΟΙΗΣΗ ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗ LPC-10e ΣΕ ΓΛΩΣΣΑ VHDL 6.1. ΓΛΩΣΣΑ VHDL ΚΑΙ ΕΠΙΠΕΔΑ ΑΦΑΙΡΕΣΗΣ ΤΗΣ ΣΧΕΔΙΑΣΗΣ Στα πλαίσια της παρούσας διπλωματικής εργασίας έγινε υλοποίηση του αποκωδικοποιητή LPC-10e σε γλώσσα VHDL (Very High Speed Integrated Circuit Hardware Description Language) με στόχο την εισαγωγή του σε FPGA της εταιρείας Xilinx. Η γλώσσα VHDL είναι η πιο διαδεδομένη γλώσσα περιγραφής υλικού, η οποία παρέχει δυνατότητες τόσο για την προσομοίωση όσο και για την υλοποίηση ψηφιακών διατάξεων σε κυκλώματα FPGA. Η περιγραφή ενός κυκλώματος σε γλώσσα VHDL μπορεί να γίνει σε τρία διαφορετικά επίπεδα αφαίρεσης (abstraction layers): - Επίπεδο συμπεριφοράς (behavioral level) Σε αυτό το επίπεδο μοντελοποιούνται συστήματα και αλγόριθμοι υψηλού επιπέδου χωρίς να είναι γνωστή η δομή του ψηφιακού συστήματος που θα υλοποιήσει τελικά τη διάταξη. Το επίπεδο αυτό είναι κοντά στις γλώσσες προγραμματισμού υψηλού επιπέδου και παρέχει πολλές διευκολύνσεις προς τον προγραμματιστή. Δυστυχώς η ανάπτυξη κώδικα VHDL για αυτό το επίπεδο δεν υποστηρίζεται ακόμα πλήρως από τα περισσότερα εργαλεία σύνθεσης. Έτσι, η χρησιμότητα του επιπέδου συμπεριφοράς περιορίζεται στην προσομοίωση των διατάξεων, ενώ για την υλοποίησή τους επιτρέπεται να χρησιμοποιηθούν μόνο συγκεκριμένες υλοποιήσιμες δομές, οι οποίες παραπέμπουν ευθέως στα κατώτερα επίπεδα σχεδίασης και αναιρούν έτσι σε κάποιο βαθμό την ευελιξία σχεδίασης του επιπέδου συμπεριφοράς. - Επίπεδο RTL (Register Transfer Level) Σε αυτό το επίπεδο μοντελοποιούνται συνδυαστικά και ακολουθιακά ψηφιακά κυκλώματα, καθώς και μηχανές FSM (Finite State Machines). Η σχεδίαση εδώ γίνεται σε επίπεδο ψηφιακού συστήματος, όπου τα διάφορα ψηφιακά εξαρτήματα διασυνδέονται μεταξύ τους ώστε να κατασκευαστεί το ολικό κύκλωμα. Η σχεδίαση δεν λαμβάνει υπόψιν την αρχιτεκτονική του FPGA 119

130 Κεφάλαιο 6 Υλοποίηση αποκωδικοποιητή LPC-10e σε γλώσσα VHDL υλοποίησης, αλλά περιγράφει παρόλα αυτά ένα πλήρες ψηφιακό σύστημα, εύκολα μεταφράσιμο σε οποιαδήποτε συγκεκριμένη αρχιτεκτονική. - Επίπεδο λογικών πυλών (logic level) Σε αυτό το πολύ χαμηλό επίπεδο η σχεδίαση γίνεται με λογικές πύλες και στοιχεία αποθήκευσης. Η σχεδίαση αφορά μια συγκεκριμένη αρχιτεκτονική FPGA και πρέπει να ληφθούν υπόψιν παράμετροι όπως το fan-in, το fan-out και οι χρονικές καθυστερήσεις των στοιχείων. Σπάνια γίνεται ανάπτυξη εφαρμογών σε αυτό το επίπεδο, εκτός από ειδικές περιπτώσεις. Τα εργαλεία σύνθεσης αναλαμβάνουν τη μετάφραση του κώδικα VHDL από τα ανώτερα επίπεδα στο επίπεδο λογικών πυλών. - Επίπεδο κυκλωματικής διάταξης (layout) Αυτό το επίπεδο αποτελεί το τελικό ηλεκτρικό κύκλωμα της διάταξης VLSI (στην περίπτωση των FPGA πρόκειται για ένα bitstream καθορισμού διασυνδέσεων). Τα εργαλεία υλοποίησης (implementation tools) μεταφράζουν την έξοδο των εργαλείων σύνθεσης (synthesis tools) από το επίπεδο λογικών πυλών στο επίπεδο κυκλωματικής διάταξης. Αυτό το επίπεδο δεν μοντελοποιείται από τη γλώσσα VHDL ΑΠΟΤΕΛΕΣΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΜΕ ΤΟΝ ISE SIMULATOR 10.1 Στην παρούσα διπλωματική εργασία αναπτύχθηκε ο αποκωδικοποιητής του προτύπου LPC-10e σε επίπεδο συμπεριφοράς στη γλώσσα VHDL. Στη συνέχεια, εκτελέστηκε επιτυχώς η προσομοίωση της διάταξης στον προσομοιωτή του περιβάλλοντος ISE 10.1 (Xilinx ISE Simulator). Για την εξακρίβωση της ορθότητας της υλοποίησης έγινε σύγκριση μεταξύ των αποτελεσμάτων του προσομοιωτή (VHDL) και του κώδικα σε γλώσσα C (εκτέλεση σε PC βλέπε προσάρτημα Β). Στο σχήμα 6-1 φαίνονται μερικά δείγματα εξόδου του αποκωδικοποιητή σε γλώσσα C για τρία διαδοχικά frames ήχου και στο σχήμα 6-2 φαίνονται τα αντίστοιχα δείγματα εξόδου του προσομοιωτή του ISE. 120

131 Κεφάλαιο 6 Υλοποίηση αποκωδικοποιητή LPC-10e σε γλώσσα VHDL Σχήμα 6-1 Τα 21 πρώτα δείγματα εξόδου του αποκωδικοποιητή LPC-10e για 3 διαδοχικά frames (υλοποίηση σε κώδικα C) Σχήμα 6-2 Τα 21 πρώτα δείγματα εξόδου του προσομοιωτή του ISE για 3 διαδοχικά frames (υλοποίηση σε VHDL) 121

132 Κεφάλαιο 6 Υλοποίηση αποκωδικοποιητή LPC-10e σε γλώσσα VHDL Στο σχήμα 6-2, το σήμα χρονισμού outer_clk έχει περίοδο 22.5 msec και η ανοδική του ακμή σηματοδοτεί την έναρξη της αποκωδικοποίησης των 54 bits εισόδου του τρέχοντος frame σε 180 δείγματα συνθετικού ήχου. Παρατηρούμε ότι η προσομοίωση σε VHDL παράγει αποτελέσματα με πολύ καλή ακρίβεια. Στο σχήμα 6-3 φαίνονται αρκετά ενδιάμεσα αποτελέσματα του αποκωδικοποιητή LPC-10e σε γλώσσα C (έξοδοι επιμέρους συναρτήσεων), ενώ στο σχήμα 6-4 φαίνονται τα αντίστοιχα ενδιάμεσα αποτελέσματα του προσομοιωτή του ISE. 122

133 Κεφάλαιο 6 Υλοποίηση αποκωδικοποιητή LPC-10e σε γλώσσα VHDL Σχήμα 6-3 Ενδιάμεσα αποτελέσματα του αποκωδικοποιητή LPC-10e σε γλώσσα C (έξοδοι επιμέρους συναρτήσεων) 123

134 Κεφάλαιο 6 Υλοποίηση αποκωδικοποιητή LPC-10e σε γλώσσα VHDL 124

135 Κεφάλαιο 6 Υλοποίηση αποκωδικοποιητή LPC-10e σε γλώσσα VHDL Σχήμα 6-4 Ενδιάμεσα αποτελέσματα του προσομοιωτή του ISE (έξοδοι επιμέρους components) Τα αποτελέσματα του προσομοιωτή προσεγγίζουν ικανοποιητικά τα αποτελέσματα της υλοποίησης σε γλώσσα C. Οι όποιες διαφορές παρατηρούνται είναι εν γένει μικρές και οφείλονται στην μικρότερη ακρίβεια των αριθμών κινητής υποδιαστολής που χρησιμοποιούνται από τον προσομοιωτή. Το δεκαδικό μέρος των αριθμών κινητής υποδιαστολής του προσομοιωτή αναπαρίσταται από 16 bits και το ακέραιο μέρος από άλλα 16 bits ΥΛΟΠΟΙΗΣΗ ΣΕ VHDL Η υλοποίηση του αποκωδικοποιητή LPC-10e σε VHDL έγινε με στόχο την εισαγωγή του στο FPGA XC4VSX35-FF της αναπτυξιακής πλακέτας ML402. Για το σκοπό αυτό, χρησιμοποιήθηκαν τεχνικές που διευκολύνουν τη σύνθεση του κώδικα από τα αντίστοιχα εργαλεία του ISE. Συγκεκριμένα, οι αριθμοί κινητής υποδιαστολής τύπου REAL δεν υποστηρίζονται από τα εργαλεία σύνθεσης. Έτσι, αντικαταστάθηκαν από αριθμούς fixed-point, οι οποίοι ορίζονται στο πακέτο fixed_pkg. Οι αριθμοί fixed-point είναι διανύσματα από bits, η δεικτοδότηση των οποίων καθορίζει τη θέση της υποδιαστολής. Πράξεις μεταξύ αριθμών fixed-point εκτελούνται από ειδικές συναρτήσεις του πακέτου, οι οποίες χειρίζονται εσωτερικά τα διανύσματα από bits που αναπαριστούν τους τελεστέους. Στην παρούσα υλοποίηση χρησιμοποιήθηκαν 125

Τμήμα Μηχανικών Η/Υ και Πληροφορικής

Τμήμα Μηχανικών Η/Υ και Πληροφορικής Τμήμα Μηχανικών Η/Υ και Πληροφορικής Εργαστήριο Επεξεργασίας Σημάτων και Τηλεπικοινωνιών Κινητά Δίκτυα Επικοινωνιών Μέρος Α: Τηλεπικοινωνιακά Θέματα: Τεχνικές Κωδικοποίησης Πηγής Η Περίπτωση της Φωνής

Διαβάστε περισσότερα

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

Παλμοκωδική Διαμόρφωση. Pulse Code Modulation (PCM) Παλμοκωδική Διαμόρφωση Pulse Code Modulation (PCM) Pulse-code modulation (PCM) Η PCM είναι ένας στοιχειώδης τρόπος διαμόρφωσης που δεν χρησιμοποιεί φέρον! Το μεταδιδόμενο (διαμορφωμένο) σήμα PCM είναι

Διαβάστε περισσότερα

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

Παλμοκωδική Διαμόρφωση. Pulse Code Modulation (PCM) Παλμοκωδική Διαμόρφωση Pulse Code Modulation (PCM) Pulse-code modulation (PCM) Η PCM είναι ένας στοιχειώδης τρόπος διαμόρφωσης που δεν χρησιμοποιεί φέρον! Το μεταδιδόμενο (διαμορφωμένο) σήμα PCM είναι

Διαβάστε περισσότερα

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

Ήχος. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 04-1 Ήχος Χαρακτηριστικά του ήχου Ψηφιοποίηση με μετασχηματισμό Ψηφιοποίηση με δειγματοληψία Κβαντοποίηση δειγμάτων Παλμοκωδική διαμόρφωση Συμβολική αναπαράσταση μουσικής Τεχνολογία Πολυμέσων και Πολυμεσικές

Διαβάστε περισσότερα

Ήχος και φωνή. Τεχνολογία Πολυµέσων 04-1

Ήχος και φωνή. Τεχνολογία Πολυµέσων 04-1 Ήχος και φωνή Φύση του ήχου Ψηφιοποίηση µε µετασχηµατισµό Ψηφιοποίηση µε δειγµατοληψία Παλµοκωδική διαµόρφωση Αναπαράσταση µουσικής Ανάλυση και σύνθεση φωνής Μετάδοση φωνής Τεχνολογία Πολυµέσων 4-1 Φύση

Διαβάστε περισσότερα

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ΗΜΥ 100 Εισαγωγή στην Τεχνολογία Δρ. Στέλιος Τιμοθέου ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΑ ΘΕΜΑΤΑ ΜΑΣ ΣΗΜΕΡΑ Αναλογικά και ψηφιακά συστήματα Μετατροπή

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Διαδικασία Ψηφιοποίησης (1/2)

Διαδικασία Ψηφιοποίησης (1/2) Διαδικασία Ψηφιοποίησης (1/2) Η διαδικασία ψηφιοποίησης περιλαμβάνει: Φιλτράρισμα και δειγματοληψία Κβαντισμό και κωδικοποίηση Φιλτράρισμα και δειγματοληψία Κβαντισμός και κωδικοποίηση Κβαντισμός Τα αναλογικά

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κωδικοποίηση ήχου. Κωδικοποίηση καναλιού φωνής Κωδικοποίηση πηγής φωνής Αντιληπτική κωδικοποίηση Κωδικοποίηση ήχου MPEG

Κωδικοποίηση ήχου. Κωδικοποίηση καναλιού φωνής Κωδικοποίηση πηγής φωνής Αντιληπτική κωδικοποίηση Κωδικοποίηση ήχου MPEG Κωδικοποίηση ήχου Κωδικοποίηση καναλιού φωνής Κωδικοποίηση πηγής φωνής Αντιληπτική κωδικοποίηση Κωδικοποίηση ήχου MPEG Τεχνολογία Πολυµέσων και Πολυµεσικές Επικοινωνίες 10-1 Κωδικοποίηση καναλιού φωνής

Διαβάστε περισσότερα

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

Αναλογικά & Ψηφιακά Κυκλώματα ιαφάνειες Μαθήματος ρ. Μηχ. Μαραβελάκης Εμ. Αναλογικά & Ψηφιακά Κυκλώματα ιαφάνειες Μαθήματος ρ. Μηχ. Μαραβελάκης Εμ. 1 Εισαγωγή Αναλογικό σήμα (analog signal): συνεχής συνάρτηση στην οποία η ανεξάρτητη μεταβλητή και η εξαρτημένη μεταβλητή (π.χ.

Διαβάστε περισσότερα

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

Συστήματα Επικοινωνιών ΙI + Διδάσκων: Δρ. Κ. Δεμέστιχας e-mail: cdemestichas@uowm.gr Συστήματα Επικοινωνιών ΙI Παλμοκωδική διαμόρφωση (PCM) I + Ιστοσελίδα nιστοσελίδα του μαθήματος: n https://eclass.uowm.gr/courses/icte302/ + Περιεχόμενα

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΠΑΛΜΟΚΩΔΙΚΗ ΔΙΑΜΟΡΦΩΣΗ - PCM (ΜΕΡΟΣ Α) ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΠΑΛΜΟΚΩΔΙΚΗ ΔΙΑΜΟΡΦΩΣΗ - PCM (ΜΕΡΟΣ Α) 3.1. ΣΚΟΠΟΣ ΑΣΚΗΣΗΣ Σκοπός της εργαστηριακής αυτής άσκησης είναι η μελέτη της παλμοκωδικής διαμόρφωσης που χρησιμοποιείται στα σύγχρονα τηλεπικοινωνιακά

Διαβάστε περισσότερα

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

Κωδικοποίηση ήχου. Σύστημα ακοής MP3 / MP4 Κωδικοποίηση φωνής Κωδικοποίηση ήχου Σύστημα ακοής MP3 / MP4 Κωδικοποίηση φωνής T. Painter and A. Spanias, Perceptual Coding of Digital Audio, Proceedings of the IEEE, pp. 451-513, April 2000. P. Noll, MPEG digital audio

Διαβάστε περισσότερα

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

ΠΛΗ21 Κεφάλαιο 1. ΠΛΗ21 Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: 1 Εισαγωγή Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: 1 Εισαγωγή Στόχοι του κεφαλαίου είναι να γνωρίσουμε: Τι είναι τα Αναλογικά κ τι τα Ψηφιακά Μεγέθη Τι είναι Σήμα, Αναλογικό Σήμα, Ψηφιακό Σήμα Τι είναι Δυαδικό Σήμα

Διαβάστε περισσότερα

Τηλεπικοινωνίες. Ενότητα 5: Ψηφιακή Μετάδοση Αναλογικών Σημάτων. Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Τηλεπικοινωνίες. Ενότητα 5: Ψηφιακή Μετάδοση Αναλογικών Σημάτων. Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Τηλεπικοινωνίες Ενότητα 5: Ψηφιακή Μετάδοση Αναλογικών Σημάτων Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

ΚΩ ΙΚΟΠΟΙΗΣΗ ΟΜΙΛΙΑΣ. Μικρότερος ρυθµός µετάδοσης Μεγαλύτερη χωρητικότητα. Νοε-06 Γ.Ι.Στεφάνου 1

ΚΩ ΙΚΟΠΟΙΗΣΗ ΟΜΙΛΙΑΣ. Μικρότερος ρυθµός µετάδοσης Μεγαλύτερη χωρητικότητα. Νοε-06 Γ.Ι.Στεφάνου 1 ΚΩ ΙΚΟΠΟΙΗΣΗ ΟΜΙΛΙΑΣ Μικρότερος ρυθµός µετάδοσης Μεγαλύτερη χωρητικότητα Νοε-06 Γ.Ι.Στεφάνου 1 WAVEFORM CODERS Ανεξάρτητοι από το είδος της πηγής Ελάχιστα σύνθετοι Μεγάλοι ρυθµοί ΚΩ ΙΚΟΠΟΙΗΤΕΣ ΟΜΙΛΙΑΣ

Διαβάστε περισσότερα

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

Μετάδοση πληροφορίας - Διαμόρφωση Μετάδοση πληροφορίας - Διαμόρφωση MYE006: ΑΣΥΡΜΑΤΑ ΔΙΚΤΥΑ Ευάγγελος Παπαπέτρου ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΗΧ. Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ Διάρθρωση μαθήματος Μετάδοση Βασικές έννοιες Διαμόρφωση ορισμός είδη

Διαβάστε περισσότερα

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

Μετάδοση πληροφορίας - Διαμόρφωση ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΗΧ. Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ Μετάδοση πληροφορίας - Διαμόρφωση MYE006-ΠΛΕ065: ΑΣΥΡΜΑΤΑ ΔΙΚΤΥΑ Ευάγγελος Παπαπέτρου Διάρθρωση μαθήματος Βασικές έννοιες μετάδοσης Διαμόρφωση ορισμός

Διαβάστε περισσότερα

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

Συστήματα Επικοινωνιών ΙI + Διδάσκων: Δρ. Κ. Δεμέστιχας e-mail: cdemestichas@uowm.gr Συστήματα Επικοινωνιών ΙI Διαφορική Παλμοκωδική Διαμόρφωση + Ιστοσελίδα nιστοσελίδα του μαθήματος: n https://eclass.uowm.gr/courses/icte302/ +

Διαβάστε περισσότερα

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

Τηλεπικοινωνιακά Συστήματα ΙΙ Τηλεπικοινωνιακά Συστήματα ΙΙ Διάλεξη 1: Χωρητικότητα Καναλιών Το θεώρημα Shannon - Hartley Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα 1. Δυαδική σηματοδοσία 2. Μορφές δυαδικής σηματοδοσίας 3.

Διαβάστε περισσότερα

Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω:

Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω: Σημειώσεις Δικτύων Αναλογικά και ψηφιακά σήματα Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω: Χαρακτηριστικά

Διαβάστε περισσότερα

Μοντέλο Επικοινωνίας Δεδομένων. Επικοινωνίες Δεδομένων Μάθημα 6 ο

Μοντέλο Επικοινωνίας Δεδομένων. Επικοινωνίες Δεδομένων Μάθημα 6 ο Μοντέλο Επικοινωνίας Δεδομένων Επικοινωνίες Δεδομένων Μάθημα 6 ο Εισαγωγή Με τη βοήθεια επικοινωνιακού σήματος, κάθε μορφή πληροφορίας (κείμενο, μορφή, εικόνα) είναι δυνατόν να μεταδοθεί σε απόσταση. Ανάλογα

Διαβάστε περισσότερα

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 18 ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 18 14 Νοεµβρίου, 2006 Γεώργιος Έλληνας Επίκουρος Καθηγητής ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

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

ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ. Εισαγωγή στα Σήµατα Εισαγωγή στα Συστήµατα Ανάπτυγµα - Μετασχηµατισµός Fourier Μετασχηµατισµός Z ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ Εισαγωγή στα Σήµατα Εισαγωγή στα Συστήµατα Ανάπτυγµα - Μετασχηµατισµός Fourier Μετασχηµατισµός Laplace Μετασχηµατισµός Z Εφαρµογές Παράδειγµα ενός ηλεκτρικού συστήµατος Σύστηµα Παράδειγµα

Διαβάστε περισσότερα

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

Τηλεπικοινωνιακά Συστήματα Ι Τηλεπικοινωνιακά Συστήματα Ι Διάλεξη 10: Παλμοκωδική Διαμόρφωση, Διαμόρφωση Δέλτα και Πολύπλεξη Διαίρεσης Χρόνου Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Παλμοκωδική Διαμόρφωση (PCM) Παλμοκωδική Διαμόρφωση

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Ψηφιακή Επεξεργασία Σηµμάτων Ψηφιακή Επεξεργασία Σηµμάτων Διάλεξη 3: DSP for Audio ΚΩΔΙΚΟΠΟΙΗΣΗ ΚΑΙ ΣΥΜΠΙΕΣΗ ΗΧΗΤΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΤΟ ΠΡΟΤΥΠΟ ISO/IEC 11172-3 MPEG-1 Δρ. Θωµμάς Ζαρούχας Επιστηµμονικός Συνεργάτης Μεταπτυχιακό Πρόγραµμµμα:

Διαβάστε περισσότερα

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

Συστήματα Επικοινωνιών Συστήματα Επικοινωνιών Ενότητα 9: Παλμοκωδική Διαμόρφωση (PCM) Μιχαήλ Λογοθέτης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σκοποί ενότητας Περιγραφή της μεθόδου παλμοκωδικής

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ

ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ 1 ΕΙΣΑΓΩΓΗ Ο πραγματικός κόσμος είναι ένας αναλογικός κόσμος. Όλα τα μεγέθη παίρνουν τιμές με άπειρη ακρίβεια. Π.χ. το ηλεκτρικό σήμα τάσης όπου κάθε

Διαβάστε περισσότερα

Ψηφιακή Μετάδοση Αναλογικών Σηµάτων

Ψηφιακή Μετάδοση Αναλογικών Σηµάτων Ψηφιακή Μετάδοση Αναλογικών Σηµάτων Τα σύγχρονα συστήµατα επικοινωνίας σε πολύ µεγάλο ποσοστό διαχειρίζονται σήµατα ψηφιακής µορφής, δηλαδή, σήµατα που δηµιουργούνται από ακολουθίες δυαδικών ψηφίων. Τα

Διαβάστε περισσότερα

Συστήµατα Πολυµέσων Ενδιάµεση Εξέταση: Οκτώβριος 2004

Συστήµατα Πολυµέσων Ενδιάµεση Εξέταση: Οκτώβριος 2004 Ενδιάµεση Εξέταση: Οκτώβριος 4 ΜΕΡΟΣ Β: ΑΣΚΗΣΕΙΣ Άσκηση (25 µονάδες): Μια εικόνα αποχρώσεων του γκρι και διαστάσεων 25 x pixel έχει κωδικοποιηθεί κατά PCM µε βάθος χρώµατος 3 bits /pixel. Οι τιµές φωτεινότητας

Διαβάστε περισσότερα

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Τμήμα Φυσικής Εισαγωγή στα Συστήματα Τηλεπικοινωνιών Συστήματα Παλμοκωδικής Διαμόρφωσης

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Τμήμα Φυσικής Εισαγωγή στα Συστήματα Τηλεπικοινωνιών Συστήματα Παλμοκωδικής Διαμόρφωσης Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Τμήμα Φυσικής Εισαγωγή στα Συστήματα Τηλεπικοινωνιών Συστήματα Παλμοκωδικής Διαμόρφωσης Καθηγητής Ι. Τίγκελης itigelis@phys.uoa.gr ΚΒΑΝΤΙΣΗ Διαδικασία με την

Διαβάστε περισσότερα

Πληροφορική Ι. Μάθημα 9 ο Συμπίεση δεδομένων. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Δρ.

Πληροφορική Ι. Μάθημα 9 ο Συμπίεση δεδομένων. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Δρ. Οι διαφάνειες έχουν βασιστεί στο βιβλίο «Εισαγωγή στην επιστήμη των υπολογιστών» του B. Forouzanκαι Firoyz Mosharraf(2 η έκδοση-2010) Εκδόσεις Κλειδάριθμος Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Κ 17 Επικοινωνίες ΙΙ Χειμερινό Εξάμηνο Διάλεξη 8 η Νικόλαος Χ. Σαγιάς Επίκουρος Καθηγητής Webpage: http://eclass.uop.gr/courses/tst15

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Σχολή Θετικών Επιστημών Τεχνολογίας Τηλεπικοινωνιών Τμήμα Επιστήμης και Τεχνολογίας Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΠΙΚΟΙΝΩΝΙΕΣ ΙI Εργαστήριο 9 ο : Δειγματοληψία και Ανασύσταση

Διαβάστε περισσότερα

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

27-Ιαν-2009 ΗΜΥ (ι) Βασική στατιστική (ιι) Μετατροπές: αναλογικό-σεψηφιακό και ψηφιακό-σε-αναλογικό ΗΜΥ 429 2. (ι) Βασική στατιστική (ιι) Μετατροπές: αναλογικό-σεψηφιακό και ψηφιακό-σε-αναλογικό 1 (ιι) Μετατροπές: αναλογικό-σεψηφιακό και ψηφιακό-σε-αναλογικό 2 Βασικά μέρη συστήματος ΨΕΣ Φίλτρο αντι-αναδίπλωσης

Διαβάστε περισσότερα

Περιεχόμενα. 4.1 Χαρακτηριστικά του ήχου... 58 4.2 Ψηφιοποίηση με μετασχηματισμό... 59 4.3 Ψηφιοποίηση με δειγματοληψία... 60. Πρόλογος...

Περιεχόμενα. 4.1 Χαρακτηριστικά του ήχου... 58 4.2 Ψηφιοποίηση με μετασχηματισμό... 59 4.3 Ψηφιοποίηση με δειγματοληψία... 60. Πρόλογος... Περιεχόμενα Πρόλογος...13 1 Εισαγωγή...17 1.1 Χαρακτηριστικά των μέσων... 18 1.2 Ιδιότητες των συστημάτων πολυμέσων... 19 1.3 Δομή των συστημάτων πολυμέσων... 20 1.4 Δικτυακά συστήματα πολυμέσων... 21

Διαβάστε περισσότερα

Περιεχόµενα ΕΠΛ 422: στα Συστήµατα Πολυµέσων. Βιβλιογραφία. ειγµατοληψία. ηµιουργία ψηφιακής µορφής πληροφορίας στα Συστήµατα Πολυµέσων

Περιεχόµενα ΕΠΛ 422: στα Συστήµατα Πολυµέσων. Βιβλιογραφία. ειγµατοληψία. ηµιουργία ψηφιακής µορφής πληροφορίας στα Συστήµατα Πολυµέσων Περιεχόµενα ΕΠΛ 422: Συστήµατα Πολυµέσων Ψηφιακή Αναπαράσταση Σήµατος: ειγµατοληψία Βιβλιογραφία ηµιουργία ψηφιακής µορφής πληροφορίας στα Συστήµατα Πολυµέσων Βασικές Έννοιες Επεξεργασίας Σηµάτων Ψηφιοποίηση

Διαβάστε περισσότερα

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

Αφήγηση Μαρτυρία. Μουσική. Ενίσχυση μηνύματος Μουσική επένδυση Ηχητικά εφέ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΕΙΤΑΙ Ο ΗΧΟΣ ΗΧΗΤΙΚΗ ΕΠΕΝΔΥΣΗ ΕΦΑΡΜΟΓΩΝ ΠΟΛΥΜΕΣΩΝ ΗΧΟΙ ΠΕΡΙΕΧΟΜΕΝΟΥ Αφήγηση Μαρτυρία Εκφώνηση Μουσική ΗΧΟΙ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΗΧΟΙ ΠΕΡΙΒΑΛΛΟΝΤΟΣ Ενίσχυση μηνύματος Μουσική επένδυση Ηχητικά εφέ

Διαβάστε περισσότερα

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

Εισαγωγή στις Τηλεπικοινωνίες ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στις Τηλεπικοινωνίες Ενότητα 3: Δειγματοληψία και Ανακατασκευή Σημάτων Όνομα Καθηγητή: Δρ. Ηρακλής Σίμος Τμήμα: Ηλεκτρονικών

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα 3: Ψηφιοποίηση της Πληροφορίας. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Τεχνολογία Πολυμέσων. Ενότητα 3: Ψηφιοποίηση της Πληροφορίας. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Τεχνολογία Πολυμέσων Ενότητα 3: Ψηφιοποίηση της Πληροφορίας Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Ευρυζωνικά δίκτυα (2) Αγγελική Αλεξίου

Ευρυζωνικά δίκτυα (2) Αγγελική Αλεξίου Ευρυζωνικά δίκτυα (2) Αγγελική Αλεξίου alexiou@unipi.gr 1 Σήματα και πληροφορία Βασικές έννοιες 2 Αναλογικά και Ψηφιακά Σήματα Στις τηλεπικοινωνίες συνήθως χρησιμοποιούμε περιοδικά αναλογικά σήματα και

Διαβάστε περισσότερα

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

Ψηφιακή Επεξεργασία Σημάτων Ψηφιακή Επεξεργασία Σημάτων Ενότητα 7: Μετατροπή Σήματος από Αναλογική Μορφή σε Ψηφιακή Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Μετατροπή Αναλογικού Σήματος σε Ψηφιακό Είδη Δειγματοληψίας: Ιδανική

Διαβάστε περισσότερα

Ημιτονοειδή σήματα Σ.Χ.

Ημιτονοειδή σήματα Σ.Χ. Ημιτονοειδή σήματα Σ.Χ. Αρμονική ταλάντωση και επειδή Ω=2πF Περιοδικό με βασική περίοδο Τ p =1/F Ημιτονοειδή σήματα Σ.Χ. 1 Ημιτονοειδή σήματα Σ.Χ. Σύμφωνα με την ταυτότητα του Euler Το ημιτονοειδές σήμα

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Τηλεπικοινωνιακά Συστήματα ΙΙ Τηλεπικοινωνιακά Συστήματα ΙΙ Διάλεξη 3: Εισαγωγή στην Έννοια της Διαμόρφωσης Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα 1. Η ανάγκη για διαμόρφωση 2. Είδη διαμόρφωσης 3. Διαμόρφωση με ημιτονοειδές

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Σχολή Θετικών Επιστημών Τεχνολογίας Τηλεπικοινωνιών Τμήμα Επιστήμης και Τεχνολογίας Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΠΙΚΟΙΝΩΝΙΕΣ ΙI Εργαστήριο 3 ο : Πολυπλεξία με διαίρεση

Διαβάστε περισσότερα

Μετάδοση σήματος PCM

Μετάδοση σήματος PCM Μετάδοση σήματος PCM Συγχρονισμός ΌπωςσεόλατασυστήματαTDM, απαιτείται συγχρονισμός μεταξύ πομπού και δέκτη Εάν τα ρολόγια στον πομπό και τον δέκτη διαφέρουν, αυτό θα οδηγήσει σε παραμορφώσεις του σήματος

Διαβάστε περισσότερα

Τεχνολογικό Eκπαιδευτικό Ίδρυμα Kρήτης TMHMA MHXANOΛOΓIAΣ. Δρ. Φασουλάς Γιάννης

Τεχνολογικό Eκπαιδευτικό Ίδρυμα Kρήτης TMHMA MHXANOΛOΓIAΣ. Δρ. Φασουλάς Γιάννης Τεχνολογικό Eκπαιδευτικό Ίδρυμα Kρήτης TMHMA MHXANOΛOΓIAΣ Δρ. Φασουλάς Γιάννης jfasoulas@staff.teicrete.gr Θα μάθετε: Έννοιες που σχετίζονται με την μετατροπή μεταξύ αναλογικών και ψηφιακών σημάτων Πώς

Διαβάστε περισσότερα

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

15/3/2009. Ένα ψηφιακό σήμα είναι η κβαντισμένη εκδοχή ενός σήματος διάκριτου. χρόνου. Φλώρος Ανδρέας Επίκ. Καθηγητής 15/3/9 Από το προηγούμενο μάθημα... Ένα ψηφιακό σήμα είναι η κβαντισμένη εκδοχή ενός σήματος διάκριτου Μάθημα: «Ψηφιακή Επεξεργασία Ήχου» Δάλ Διάλεξη 3 η : «Επεξεργαστές Ε ξ έ Δυναμικής Περιοχής» Φλώρος

Διαβάστε περισσότερα

ΕΠΙΚΟΙΝΩΝΙΕΣ, ΔΙΚΤΥΑ & ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΠΙΚΟΙΝΩΝΙΕΣ, ΔΙΚΤΥΑ & ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ ΕΠΙΚΟΙΝΩΝΙΕΣ, ΔΙΚΤΥΑ & ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ ΚΕΦΑΛΑΙΟ 2ο ΑΝΑΛΟΓΙΚΑ - ΨΗΦΙΑΚΑ ΣΗΜΑΤΑ & ΑΡΧΕΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Πληροφορία Επικοινωνία συντελείται με τη μεταβίβαση μηνυμάτων από ένα πομπό σε ένα δέκτη. Μήνυμα

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙςΤΗΜΗς & ΤΕΧΝΟΛΟΓΙΑς ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΜΔΕ Προηγμένα Τηλεπικοινωνιακά Συστήματα και Δίκτυα Διάλεξη 2 η Νικόλαος Χ. Σαγιάς Επίκουρος Καθηγητής Webpage: http://eclass.uop.gr/courses/tst233

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Τεχνών Ήχου και Εικόνας. Ακαδημαϊκό Έτος 2006-2007

Ιόνιο Πανεπιστήμιο Τμήμα Τεχνών Ήχου και Εικόνας. Ακαδημαϊκό Έτος 2006-2007 Ιόνιο Πανεπιστήμιο Τμήμα Τεχνών Ήχου και Εικόνας Ακαδημαϊκό Έτος 2006-2007 ΠΑΡΑΔΟΤΕΟ: Έκθεση Προόδου Υλοποίησης του Μαθήματος Διδάσκων: Φλώρος Ανδρέας Περιεχόμενα 1 Περιγραφή

Διαβάστε περισσότερα

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

Εισαγωγή στα Συστήματα Ψηφιακής Επεξεργασίας Σήματος ΕΣ 08 Επεξεργαστές Ψηφιακών Σημάτων Εισαγωγή στα Συστήματα Ψηφιακής Επεξεργασίας Σήματος Κλήμης Νταλιάνης Λέκτορας Π.Δ.407/80 Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήμιο Πελοποννήσου Αρχιτεκτονική

Διαβάστε περισσότερα

Συμπίεση Πολυμεσικών Δεδομένων

Συμπίεση Πολυμεσικών Δεδομένων Συμπίεση Πολυμεσικών Δεδομένων Εισαγωγή στο πρόβλημα και επιλεγμένες εφαρμογές Κώστας Μπερμπερίδης Εργαστήριο Σημάτων & Τηλεπικοινωνιών Τμήμα Μηχανικών Η/Υ & Πληροφορικής Ψηφιακή Αναπαράσταση Συμπίεση

Διαβάστε περισσότερα

Ο ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ Ζ διακριτές σήματα και συστήματα διακριτού χρόνου χρονοσειρές (time series)

Ο ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ Ζ διακριτές σήματα και συστήματα διακριτού χρόνου χρονοσειρές (time series) Ο ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ Ζ Είναι σύνηθες να μελετάμε διάφορα φαινόμενα σε διακριτές (και όχι συνεχείς) τιμές της μεταβλητής του χρόνου, οπότε, μιλάμε για για σήματα και συστήματα διακριτού χρόνου. Τα σήματα διακριτού

Διαβάστε περισσότερα

ΣΥΓΧΡΟΝΕΣ ΤΕΧΝΙΚΕΣ ΣΥΜΠΙΕΣΗΣ ΦΩΝΗΣ ΚΑΙ ΟΙ ΕΦΑΡΜΟΓΕΣ ΤΟΥΣ

ΣΥΓΧΡΟΝΕΣ ΤΕΧΝΙΚΕΣ ΣΥΜΠΙΕΣΗΣ ΦΩΝΗΣ ΚΑΙ ΟΙ ΕΦΑΡΜΟΓΕΣ ΤΟΥΣ ΤΜΗΜΑ ΤΕΧΝ Ο Λ Ο ΓΙΑ Σ ΠΛΗΡΟ Φ Ο ΡΙΚΗΣ ΚΑ Ι ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΣΥΓΧΡΟΝΕΣ ΤΕΧΝΙΚΕΣ ΣΥΜΠΙΕΣΗΣ ΦΩΝΗΣ ΚΑΙ ΟΙ ΕΦΑΡΜΟΓΕΣ ΤΟΥΣ Σπουδαστές: Σμπρίνης Ανέστης - Χρήστος Στεφανόπουλος Επιβλέπων Καθηγητής:

Διαβάστε περισσότερα

Τεράστιες ανάγκες σε αποθηκευτικό χώρο

Τεράστιες ανάγκες σε αποθηκευτικό χώρο ΣΥΜΠΙΕΣΗ Τεράστιες ανάγκες σε αποθηκευτικό χώρο Παράδειγμα: CD-ROM έχει χωρητικότητα 650MB, χωρά 75 λεπτά ασυμπίεστου στερεοφωνικού ήχου, αλλά 30 sec ασυμπίεστου βίντεο. Μαγνητικοί δίσκοι χωρητικότητας

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Σχολή Οικονομίας Διοίκησης και Πληροφορικής Τμήμα Πληροφορικής και Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Αρχές Τηλ/ων Συστημάτων Εργαστήριο 7 ο : Δειγματοληψία και Ανασύσταση Βασική

Διαβάστε περισσότερα

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

HMY 429: Εισαγωγή στην Επεξεργασία Ψηφιακών HMY 429: Εισαγωγή στην Επεξεργασία Ψηφιακών Σημάτων Διάλεξη 12: Δειγματοληψία και ανακατασκευή (IV) Παρεμβολή (Interpolation) Γενικά υπάρχουν πολλοί τρόποι παρεμβολής, π.χ. κυβική παρεμβολή (cubic spline

Διαβάστε περισσότερα

Σεραφείµ Καραµπογιάς ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ

Σεραφείµ Καραµπογιάς ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ Εισαγωγή στα Σήµατα Εισαγωγή στα Συστήµατα Ανάπτυγµα - Μετασχηµατισµός Fourier Μετασχηµατισµός Laplace Μετασχηµατισµός z Εφαρµογές 1. ΚΕΦΑΛΑΙΟ ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΗΜΑΤΑ Γενική εικόνα τι

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστημάτων

Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστημάτων Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστημάτων Αναλογικές & Ψηφιακές Διατάξεις Τα διάφορα μεγέθη των φυσικών διεργασιών τα μετράμε με αισθητήρες που ουσιαστικά παρέχουν ηλεκτρικά σήματα χαμηλής

Διαβάστε περισσότερα

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

Εισαγωγή στις Τηλεπικοινωνίες / Εργαστήριο ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στις Τηλεπικοινωνίες / Εργαστήριο Εργαστηριακή Άσκηση 7: Κβάντιση και Κωδικοποίηση Σημάτων Προσομοίωση σε Η/Υ Δρ. Ηρακλής

Διαβάστε περισσότερα

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

Εισαγωγή στις Τηλεπικοινωνίες / Εργαστήριο ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στις Τηλεπικοινωνίες / Εργαστήριο Εργαστηριακή Άσκηση 6: Δειγματοληψία - Πειραματική Μελέτη Δρ. Ηρακλής Σίμος Τμήμα:

Διαβάστε περισσότερα

Ψηφιακές Τηλεπικοινωνίες

Ψηφιακές Τηλεπικοινωνίες Ψηφιακές Τηλεπικοινωνίες Κωδικοποίηση Αναλογικής Πηγής: Κβάντιση Εισαγωγή Αναλογική πηγή: μετά από δειγματοληψία γίνεται διακριτού χρόνου άπειρος αριθμός bits/έξοδο για τέλεια αναπαράσταση Θεωρία Ρυθμού-Παραμόρφωσης

Διαβάστε περισσότερα

Από τις τριγωνομετρικές συναρτήσεις στο Mp3

Από τις τριγωνομετρικές συναρτήσεις στο Mp3 Από τις τριγωνομετρικές συναρτήσεις στο Mp3 Εισαγωγή Οι περισσότεροι μαθητές δεν γνωρίζουν πως μία από τις περισσότερο αγαπημένες τους συνήθειες που είναι η ανταλλαγή τραγουδιών στο διαδίκτυο (ή και στο

Διαβάστε περισσότερα

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

Εισαγωγή στην Επεξεργασία Σήματος. Νόκας Γιώργος Εισαγωγή στην Επεξεργασία Σήματος Νόκας Γιώργος Βιβλιογραφία στον εύδοξο 1. Γ. Β. Μουστακίδης, Βασικές Τεχνικές Ψηφιακής Επεξεργασίας Σημάτων και Συστημάτων, εκδόσεις Α. Τζιόλα & Υιοί Ο.Ε., Θεσσαλονίκη,

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Συστήματα Επικοινωνιών ΙI + Διδάσκων: Δρ. Κ. Δεμέστιχας e-mail: cdemestichas@uowm.gr Συστήματα Επικοινωνιών ΙI Ψηφιακή μετάδοση στη βασική ζώνη + Ιστοσελίδα nιστοσελίδα του μαθήματος: n https://eclass.uowm.gr/courses/icte302/ +

Διαβάστε περισσότερα

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

Παλμοκωδική Διαμόρφωση. Pulse Code Modulation (PCM) Παλμοκωδική Διαμόρφωση Pulse Code Modulation (PCM) Pulse-code modulation (PCM) Η PCM είναι ένας στοιχειώδης τρόπος διαμόρφωσης που δεν χρησιμοποιεί φέρον! Το μεταδιδόμενο (διαμορφωμένο) σήμα PCM είναι

Διαβάστε περισσότερα

Περιεχόµενα. ΕΠΛ 422: Συστήµατα Πολυµέσων. Μέθοδοι συµπίεσης ηχητικών. Βιβλιογραφία. Κωδικοποίηση µε βάση την αντίληψη.

Περιεχόµενα. ΕΠΛ 422: Συστήµατα Πολυµέσων. Μέθοδοι συµπίεσης ηχητικών. Βιβλιογραφία. Κωδικοποίηση µε βάση την αντίληψη. Περιεχόµενα ΕΠΛ 422: Συστήµατα Πολυµέσων Συµπίεση Ήχου Μέθοδοι συµπίεσης ηχητικών σηµάτων DPCM Συµπίεση σηµάτων οµιλίας Κωδικοποίηση µε βάση την αντίληψη Χαρακτηριστικά και εφαρµογές Ψυχοακουστική (psychoacoustics)

Διαβάστε περισσότερα

ΘΕΜΑ : ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ DIGITAL ELECTRONICS

ΘΕΜΑ : ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ DIGITAL ELECTRONICS ΘΕΜΑ : ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ DIGITAL ELECTRONICS ΔΙΑΡΚΕΙΑ: 1 περιόδους 16/11/2011 10:31 (31) καθ. Τεχνολογίας ΚΑΤΗΓΟΡΙΕΣ ΜΕΓΕΘΩΝ ΑΝΑΛΟΓΙΚΟ (ANALOGUE) ΨΗΦΙΑΚΟ (DIGITAL) 16/11/2011 10:38 (38) ΕΙΣΑΓΩΓΗ ΣΤΑ

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Ραδιοτηλεοπτικά Συστήματα Ενότητα 5: Ψηφιοποίηση και συμπίεση σημάτων ήχου ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ραδιοτηλεοπτικά Συστήματα Ενότητα 5: Ψηφιοποίηση και συμπίεση σημάτων ήχου Δρ. Νικόλαος- Αλέξανδρος Τάτλας Τμήμα Ηλεκτρονικών

Διαβάστε περισσότερα

Ψηφιακές Τηλεπικοινωνίες. Κωδικοποίηση Κυματομορφής

Ψηφιακές Τηλεπικοινωνίες. Κωδικοποίηση Κυματομορφής Ψηφιακές Τηλεπικοινωνίες Κωδικοποίηση Κυματομορφής Σύνδεση με τα Προηγούμενα Οι τεχνικές κωδικοποίησης αναλογικής πηγής διακρίνονται σε τεχνικές κωδικοποίησης κυματομορφής τεχνικές ανάλυσης σύνθεσης Οι

Διαβάστε περισσότερα

Συστήματα Πολυμέσων και Εικονική Πραγματικότητα Εργασία

Συστήματα Πολυμέσων και Εικονική Πραγματικότητα Εργασία Συστήματα Πολυμέσων και Εικονική Πραγματικότητα Εργασία 2014-15 Α. Ντελόπουλος Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης 4 Δεκεμβρίου 2014 1 Εισαγωγικές

Διαβάστε περισσότερα

Μελέτη και Προσομοίωση n πομπού για ασύρματη πρόσβαση ΦΟΙΤΗΤΗΣ: ΛΑΖΑΡΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΕΥΣΤΑΘΙΟΥ ΔΗΜΗΤΡΙΟΣ

Μελέτη και Προσομοίωση n πομπού για ασύρματη πρόσβαση ΦΟΙΤΗΤΗΣ: ΛΑΖΑΡΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΕΥΣΤΑΘΙΟΥ ΔΗΜΗΤΡΙΟΣ Μελέτη και Προσομοίωση 802.11n πομπού για ασύρματη πρόσβαση ΦΟΙΤΗΤΗΣ: ΛΑΖΑΡΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΕΥΣΤΑΘΙΟΥ ΔΗΜΗΤΡΙΟΣ A) Προσομοίωση του φάσματος του καναλιού του προτύπου για να φανεί

Διαβάστε περισσότερα

Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστηµάτων

Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστηµάτων Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστηµάτων Αναλογικές & Ψηφιακές Διατάξεις Control Systems Laboratory Τα διάφορα μεγέθη των φυσικών διεργασιών τα μετράμε με αισθητήρες που ουσιαστικά παρέχουν

Διαβάστε περισσότερα

Αρχές κωδικοποίησης. Τεχνολογία Πολυµέσων 08-1

Αρχές κωδικοποίησης. Τεχνολογία Πολυµέσων 08-1 Αρχές κωδικοποίησης Απαιτήσεις κωδικοποίησης Είδη κωδικοποίησης Βασικές τεχνικές κωδικοποίησης Κωδικοποίηση Huffman Κωδικοποίηση µετασχηµατισµών Κβαντοποίηση διανυσµάτων ιαφορική κωδικοποίηση Τεχνολογία

Διαβάστε περισσότερα

Εισαγωγή στους Ταλαντωτές Οι ταλαντωτές είναι από τα βασικότερα κυκλώματα στα ηλεκτρονικά. Χρησιμοποιούνται κατά κόρον στα τηλεπικοινωνιακά συστήματα

Εισαγωγή στους Ταλαντωτές Οι ταλαντωτές είναι από τα βασικότερα κυκλώματα στα ηλεκτρονικά. Χρησιμοποιούνται κατά κόρον στα τηλεπικοινωνιακά συστήματα Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Υλοποίηση και Εργαστηριακή Αναφορά Ring και Hartley Ταλαντωτών Φοιτητής: Ζωγραφόπουλος Γιάννης Επιβλέπων Καθηγητής: Πλέσσας Φώτιος

Διαβάστε περισσότερα

Αρχές κωδικοποίησης. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 08-1

Αρχές κωδικοποίησης. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 08-1 Αρχές κωδικοποίησης Απαιτήσεις κωδικοποίησης Είδη κωδικοποίησης Κωδικοποίηση εντροπίας Διαφορική κωδικοποίηση Κωδικοποίηση μετασχηματισμών Στρωματοποιημένη κωδικοποίηση Κβαντοποίηση διανυσμάτων Τεχνολογία

Διαβάστε περισσότερα

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

Εξομοίωση Τηλεπικοινωνιακού Συστήματος Βασικής Ζώνης Πανεπιστήμιο Πατρών Τμήμα Μηχ. Η/Υ & Πληροφορικής Ακαδημαϊκό Έτος 009-010 Ψ Η Φ Ι Α Κ Ε Σ Τ Η Λ Ε Π Ι Κ Ο Ι Ν Ω Ν Ι ΕΣ η Εργαστηριακή Άσκηση: Εξομοίωση Τηλεπικοινωνιακού Συστήματος Βασικής Ζώνης Στην άσκηση

Διαβάστε περισσότερα

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

Επεξεργασία Στοχαστικών Σημάτων Επεξεργασία Στοχαστικών Σημάτων Ψηφιακή Μετάδοση Αναλογικών Σημάτων Σεραφείμ Καραμπογιάς Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ψηφιακή Μετάδοση Αναλογικών Σημάτων Τα σύγχρονα συστήματα

Διαβάστε περισσότερα

Γραφική αναπαράσταση ενός ψηφιακού σήµατος

Γραφική αναπαράσταση ενός ψηφιακού σήµατος γ) Ψηφιακάτα x (n) 3 2 1 1 2 3 n Γραφική αναπαράσταση ενός ψηφιακού σήµατος Αφού δειγµατοληπτηθεί και κβαντιστεί η έξοδος µιας αναλογικής πηγής πληροφορίας, δηµιουργείταιµιαακολουθίααπόκβαντισµένεςτιµές

Διαβάστε περισσότερα

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

Διαβάστε περισσότερα

Παναγιώτης Μαθιόπουλος Ph.D.

Παναγιώτης Μαθιόπουλος Ph.D. ΨΗΦΙΑΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ Παναγιώτης Μαθιόπουλος Ph.D. Καθηγητής Ψηφιακών Επικοινωνιών Τμήμα Πληροφορικής και Τηλεπικοινωνιών ΕΚΠΑ Professor (1989 2003) Department of Electrical and Computer Engineering The

Διαβάστε περισσότερα

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 6 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 6 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ.   url: στους Ηλεκτρονικούς Υπολογιστές 6 ο Μάθημα Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ email: leo@mail.ntua.gr url: http://users.ntua.gr/leo Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Προσομοίωση Συστήματος Επικοινωνίας Software Radio. Καλοχριστιανάκης Μιχάλης Επόπτης: Α. Τραγανίτης

Προσομοίωση Συστήματος Επικοινωνίας Software Radio. Καλοχριστιανάκης Μιχάλης Επόπτης: Α. Τραγανίτης Προσομοίωση Συστήματος Επικοινωνίας Software Radio Καλοχριστιανάκης Μιχάλης Επόπτης: Α. Τραγανίτης 2 Δομή της παρουσίασης - η εξέλιξη των ασύρματων συστημάτων - η τεχνολογία software radio - η βιβλιοθήκη

Διαβάστε περισσότερα

2. ΨΗΦΙΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ

2. ΨΗΦΙΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ 2. ΨΗΦΙΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ Περιγραφή πληροφορίας. Η πληροφορία περιγράφεται σαν μία ή περισσότερες χρονικές ή χωρικές μεταβλητές. Μετατρέπει την φυσική ποσότητα σε ηλεκτρικό σήμα To σήμα αναπαριστά το

Διαβάστε περισσότερα

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΠΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ / ΙΟΥΝΙΟΥ 2014

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΠΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ / ΙΟΥΝΙΟΥ 2014 ΤΕΧΝΙΚΗ ΣΧΟΛΗ ΜΑΚΑΡΙΟΣ Γ ΣΧΟΛΙΚΗ ΧΡΟΝΙΑ: 2013 2014 ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΠΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ / ΙΟΥΝΙΟΥ 2014 Κατεύθυνση: ΠΡΑΚΤΙΚΗ Κλάδος: ΗΛΕΚΤΡΟΛΟΓΙΑ Μάθημα: ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΕΡΓΑΣΤΗΡΙΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Τάξη: A Τμήμα:

Διαβάστε περισσότερα

Ασκήσεις στα Συστήµατα Ηλεκτρονικών Επικοινωνιών Κεφάλαιο 3 ο : ΕΙΣΑΓΩΓΗ στις ΤΗΛΕΠΙΚΟΙΝΩΝΙΕΣ ΗΛΕΚΤΡΟΜΑΓΝΗΤΙΚΟ ΚΥΜΑ και ΤΕΧΝΙΚΕΣ ΙΑΜΟΡΦΩΣΗΣ

Ασκήσεις στα Συστήµατα Ηλεκτρονικών Επικοινωνιών Κεφάλαιο 3 ο : ΕΙΣΑΓΩΓΗ στις ΤΗΛΕΠΙΚΟΙΝΩΝΙΕΣ ΗΛΕΚΤΡΟΜΑΓΝΗΤΙΚΟ ΚΥΜΑ και ΤΕΧΝΙΚΕΣ ΙΑΜΟΡΦΩΣΗΣ Κεφάλαιο 3 ο : ΕΙΣΑΓΩΓΗ στις ΤΗΛΕΠΙΚΟΙΝΩΝΙΕΣ ΗΛΕΚΤΡΟΜΑΓΝΗΤΙΚΟ ΚΥΜΑ και ΤΕΧΝΙΚΕΣ ΙΑΜΟΡΦΩΣΗΣ 1. Ποµπός ΑΜ εκπέµπει σε φέρουσα συχνότητα 1152 ΚΗz, µε ισχύ φέροντος 10KW. Η σύνθετη αντίσταση της κεραίας είναι

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Συστήματα πολυμέσων. Εισαγωγή Υλικό συστημάτων πολυμέσων Λογισμικό συστημάτων πολυμέσων Συστήματα πραγματικού χρόνου Χρονοπρογραμματισμός

Συστήματα πολυμέσων. Εισαγωγή Υλικό συστημάτων πολυμέσων Λογισμικό συστημάτων πολυμέσων Συστήματα πραγματικού χρόνου Χρονοπρογραμματισμός Συστήματα πολυμέσων Εισαγωγή Υλικό συστημάτων πολυμέσων Λογισμικό συστημάτων πολυμέσων Συστήματα πραγματικού χρόνου Χρονοπρογραμματισμός Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 03-1 Εισαγωγή

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Τηλεπικοινωνιακά Συστήματα Ι Τηλεπικοινωνιακά Συστήματα Ι Διάλεξη 12: Βασικές Αρχές και Έννοιες Ψηφιακών Επικοινωνιών Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα 1. Παράγοντες που επηρεάζουν τη σχεδίαση τηλεπικοινωνιακών

Διαβάστε περισσότερα