Ε Ρ Γ Α Σ Τ Η Ρ Ι Α1 Κ Η Α Σ Κ Η Σ Η

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

Download "Ε Ρ Γ Α Σ Τ Η Ρ Ι Α1 Κ Η Α Σ Κ Η Σ Η"

Transcript

1 Ε Ρ Γ Α Σ Τ Η Ρ Ι Α1 Κ Η Α Σ Κ Η Σ Η Υλοποίηση FIR Φίλτρων 1. Εισαγωγή Στα πλαίσια αυτής της άσκησης θα υλοποιηθούν ψηφιακά FIR φίλτρα στην αναπτυξιακή κάρτα TMS320C6711 DSK. Ο σκοπός της άσκησης συνοψίζεται στα ακόλουθα σηµεία : Εξοικείωση µε το περιβάλλον προγραµµατισµού του επεξεργαστή σήµατος κινητής υποδιαστολής TMS320C6711. Εξοικείωση µε τον προγραµµατισµό και το χειρισµό των περιφερειακών συσκευών του. Υλοποίηση FIR φίλτρων σε πραγµατικό χρόνο. 2. H TMS320C6711 DSK Κάρτα και το CCS v Γενικά Χαρακτηριστικά H αναπτυξιακή κάρτα που φαίνεται στο Σχήµα 1, αναπτύχθηκε από την Texas Instruments (TI) µε σκοπό να προσφέρει ένα φιλικό στο χρήστη αναπτυξιακό περιβάλλον χαµηλού κόστους. Τα χαρακτηριστικά υψηλής απόδοσης που διαθέτει εξασφαλίζονται από τις δυνατότητες που παρέχει ο επεξεργαστής στον οποίο βασίζεται και ο οποίος την καθιστά µια από τις πιο αποτελεσµατικές αναπτυξιακές πλατφόρµες. Το DSK αλληλεπιδρά µε τον ξενιστή υπολογιστή µέσω της παράλληλης θύρας επιτρέποντας έτσι την αποδοτική ανάπτυξη και τον εύκολο έλεγχο των εφαρµογών του χρήστη. Παρακάτω παρουσιάζονται, επιγραµµατικά, τα βασικά δοµικά στοιχεία από τα οποία αποτελείται η πλατφόρµα καθώς και βασικά χαρακτηριστικά της : Τον ψηφιακό επεξεργαστή σήµατος TMS320C6711, ικανό να εκτελεί 900 εκατοµµύρια

2 εντολές κινητής υποδιαστολής το δευτερόλεπτο (MFLOPS) Υποστήριξη διπλού σήµατος χρονισµού, ένα για την CPU στα 150 MHz,κι ένα για την προσαρµοστική µονάδα εξωτερικής µνήµης (EMIF) στα 100MHz Ελεγκτή παράλληλης θύρας (PPC) που είναι υπεύθυνος για τον έλεγχο της προσαρµοστικής µονάδας της παράλληλης θύρας του ξενιστή υπολογιστή (host PC) 16M Bytes των 100MHz σύγχρονη δυναµική RAM (SDRAM) 128K Bytes ROM Θύρα εισόδου/εξόδου 8bit (memory mapped) Προσαρµοστική µονάδα ξενιστή (Host Port Interface) που εξασφαλίζει µέσω της παράλληλης θύρας πρόσβαση σε όλα τα είδη µνηµης του επεξεργαστή Κωδικοποιητή/Αποκωδικοποιητή ηχητικών (audio) σηµάτων των 16 bits Έξι (6) φωτεινές ενδεικτικές διόδους (LEDs) για διάφορες λειτουργίες Ο επεξεργαστής διασυνδέεται µε τις παραπάνω περιφερειακές συσκευές µέσω της θύρας memory expansion και των δύο σειριακών θυρών McBSP0 και McBSP1 (Multichannel Buffered Serial Ports). Πάνω στη σειριακή θύρα McBSP0 είναι συνδεδεµένη η περιφερειακή συσκευή AD535, στην οποία υπάρχουν οι µετατροπείς Αναλογικό-σε-Ψηφιακό (Α-Ψ) και Ψηφιακό σε Αναλογικό (Ψ-Α), οι οποίοι βασίζονται στη διαµόρφωση Σίγµα- έλτα (για περισσότερες λεπτοµέρειες δες το Εγχειρίδιο Χρήστη του DSK). Η συσκευή AD535 µπορεί να χρησιµοποιηθεί για είσοδο και έξοδο ακουστικών σηµάτων (mono), χρησιµοποιεί µια σταθερή συχνότητα δειγµατοληψίας 8 KHz και µήκος λέξης 16 bits. Σχήµα 1: Άποψη της Αναπτυξιακής κάρτας DSP Starter Kit (DSK).

3 2.2. Αρχικοποίηση & Έλεγχος Σωστής Λειτουργίας της Κάρτας Για να γίνουν οι σωστές αρχικοποιήσεις (Initialization) του επεξεργαστή και όλων των περιφερειακών συσκευών του χρειάζεται να εκτελέσετε τα ακόλουθα απλά βήµατα : Βήµα 1: Συνδέστε τη κάρτα DSK, µέσω της παράλληλης θύρας, στο host PC και στην τροφοδοσία ρεύµατος. Μετά την τροφοδοσία, τα LEDs θα πρέπει να αναβοσβήνουν επιβεβαιώνοντας έτσι την ορθή λειτουργία της. Βήµα 2: Επιλέγοντας το εικονίδιο CCS 2 (C 6000) στην επιφάνεια εργασίας ενεργοποιείται το Code Composer Studio. Πρόκειται για ένα ολοκληρωµένο περιβάλλον ανάπτυξης λογισµικού για ψηφιακούς επεξεργαστές της εταιρείας Texas Instruments. Επισηµαίνεται ότι αν χρειαστεί να γίνει reset η κάρτα θα πρέπει, ανάλογα µε το αν το CCS είναι ή δεν είναι σε κατάσταση run, να κάνετε µία από τις παρακάτω ενέργειες: Ενέργεια 1: Αν το CCS είναι σε κατάσταση run, επιλέγουµε : Debug > Reset DSP. Ενέργεια 2: Αν το CCS δεν είναι σε κατάσταση run, κλείνουµε το CCS και κάνουµε reset την κάρτα είτε πατώντας το πλήκτρο reset, είτε διακόπτοντας την τροφοδοσία της κάρτας για µερικά δευτερόλεπτα και ενεργοποιώντας στη συνέχεια το CSS. Βήµα 3: Για τον έλεγχο της ορθής λειτουργίας του DSK επιλέγουµε στο CCS περιβάλλον: GEL > Check DSK > QuickTest. Κατά τη διάρκεια αυτού του ελέγχου τα LEDs στην κάρτα θα πρέπει να αναβοσβήνουν κι ο επεξεργαστής βρίσκεται σε κατάσταση self-test ηµιουργία Αρχείου Project Για να δηµιουργήσετε στο περιβάλλον CCS ένα αρχείο project (επέκταση.pjt) θα πρέπει να ακολουθήσετε τα παρακάτω βήµατα: Βήµα 1: ηµιουργείστε ένα νέο project µε την ονοµασία askisi_1.pjt, επιλέγοντας: Project > New και αποθηκεύστε το, µε το όνοµα askisi1, στο directory C:\E_PS_E_S.

4 Σαν Project Type: θέτουµε Executable (.out) ενώ ως Target επιλέγουµε TMS320C67XX. Βήµα 2: Για τη σωστή εκτέλεση της άσκησης, θα πρέπει να αντιγράψετε τα αρχεία που υπάρχουν στον φάκελο C:\E_PS_E_S\yliko1 στο φάκελο C:\E_PS_E_S\askisi1. Βήµα 3: Στη συνέχεια επιλέξτε: Project > Add Files to Project... και στο παράθυρο που ανοίγει πάµε στο directory C:\E_PS_E_S\askisi1. Στο πεδίο Files of type: επιλέγουµε C Source Files (*.c,*.ccc) και στο πεδίο File name: το αρχείο loopback. Βήµα 4: Επαναλάβετε δύο (2) φορές το Βήµα 3 και: 1) τη πρώτη φορά στο πεδίο Files of type: επιλέξτε Asm Source Files (*.a*) και File name: vectors 2) τη δεύτερη, στο πεδίο Files of type: Linker Command File (*.cmd) ενώ στο πεδίο File name: lnk. Βήµα 5: Για να ολοκληρώσετε τη δηµιουργία του αρχείου project, επιλέξτε Project > Scan All Dependencies Οι ιαδικασίες Build, Load και Run Για να κάνουµε Build το project χρειάζονται να εκτελέσουµε τις διαδικασίες compile και link. Για το σκοπό αυτό, επιλέγουµε : Project > Rebuild All. Μόλις το CCS ολοκληρώσει επιτυχώς τα δύο παραπάνω βήµατα, θα δηµιουργηθεί το εκτελέσιµο αρχείο askisi1.out το οποίο αποθηκεύεται στον υποκατάλογο C:\E_PS_E_S\askisi1\Debug. (Ουσιαστικά το αρχείο.out είναι το µεταγλωττισµένο εκτελέσιµο αρχείο σε γλώσσα κατανοητή από τον DSP). Επόµενο βήµα στη διαδικασία για την εκτέλεση του προγράµµατος µας είναι να γίνει Load το εκτελέσιµο πρόγραµµα askisi1.out που δηµιουργήσαµε. Αυτό γίνεται ακολουθώντας τη παρακάτω διαδικασία: Βήµα 1: Επιλέγουµε : File > Load Program... και επιλέγουµε το αρχείο askisi1.out που δηµιουργήσαµε προηγουµένως. Βήµα 2: Τρέχουµε το πρόγραµµα, επιλέγοντας : Debug > Run.

5 Βήµα 3: Η εκτέλεση του προγράµµατος σταµατά επιλέγοντας: Debug > Halt Το πρόγραµµα loopback Το πρώτο πρόγραµµα που θα εκτελέσετε στα πλαίσια της άσκησης αυτής θα υλοποιεί ένα σύστηµα δειγµατοληψίας και ανακατασκευής ενός ακουστικού σήµατος. Για το σκοπό αυτό θα χρησιµοποιηθούν οι µετατροπείς Α-Ψ και Ψ-Α της συσκευής AD535. Είναι προφανές ότι στην περίπτωση αυτή ο DSP δεν θα κάνει καµία επεξεργασία στο σήµα εισόδου και θα περιοριστεί µόνο στο ρόλο του διακοµιστή. Το πρόγραµµα που υλοποιεί το παραπάνω σύστηµα είναι το πρόγραµµα loopback το οποίο και θα σας δοθεί. Στη συνέχεια θα αναλύσουµε τον κώδικα αυτού του προγράµµατος, µε την βοήθεια του οποίου θα γίνουν κατανοητές κάποιες βασικές λειτουργίες της αναπτυξιακής πλατφόρµας επεξεργασίας σήµατος. Πριν γίνει οποιαδήποτε επεξεργασία των δεδοµένων, θα πρέπει να γίνουν κάποιες απαραίτητες αρχικοποιήσεις (θα πρέπει να δοθούν κάποιες συγκεκριµένες τιµές) στους απαραίτητους καταχωρητές µέσω των οποίων καθορίζεται η µετέπειτα λειτουργία, συµπεριφορά και επικοινωνία της κάρτας. Έτσι στο βρόχο της συνάρτησης main( ), αρχικά ορίζεται ένας πίνακας (out) του οποίου οι 16 πρώτες τιµές (οι οποίες και παρατίθενται παρακάτω) θα αποτελέσουν τις τιµές αρχικοποίησης των καταχωρητών ελέγχου της περιφερειακής συσκευής AD535. Οι καταχωρητές αυτοί διαβάζονται ή γράφονται κατά τη δευτερεύουσα σειριακή επικοινωνία και προγραµµατίζουν τόσο τις επιλογές όσο και τις ρυθµίσεις του κυκλώµατος του codec είτε για το κανάλι φωνής, ή για το κανάλι δεδοµένων. Συγκεκριµένα µέσω των τιµών του out[3] = 0x0386 και του out[7] = 0x0306 εγγράφεται ο καταχωρητής ελέγχου 3 (Control Register 3). Ο καταχωρητής ελέγχου 3 καθορίζει κάποιες παραµέτρους αρχικοποίησης για τη µετάδοση και την επικοινωνία στο κανάλι φωνής, καθώς και κάποια τεχνικά χαρακτηριστικά του codec π.χ. επιλέγεται προενίσχυση της εισόδου του µετατροπέα A-Ψ κατά τη χρήση µικροφώνου. Στη συνέχεια µέσω του out[11] = 0x400 εγγράφεται ο καταχωρητής ελέγχου 4 (Control Register 4) από τις τιµές του οποίου καθορίζονται οι παράµετροι για την ADC είσοδο του καναλιού φωνής. Συγκεκριµένα ρυθµίζεται ώστε να µην ενισχύεται καθόλου το σήµα στην ADC είσοδο του συγκεκριµένου καναλιού µέσω του PGA (Programmable Gain Amplifier). Τέλος εγγράφεται, µέσω της τιµής out[15] = 0x0502, ο καταχωρητής ελέγχου 5 (Control Register 5) που καθορίζει τις ρυθµίσεις για την έξοδο του DAC του καναλιού φωνής. 1 Επισηµαίνεται ότι σε περίπτωση τροποποίησης του προγράµµατος σας θα πρέπει να επαναλάβετε τη διαδικασία Build που περιγράφηκε παραπάνω και να ακολουθήσετε την επιλογή: File > Reload Program.

6 Μέσω της συγκεκριµένης τιµής που εγγράφεται, αποφασίζεται να µη γίνει καµία ενίσχυση ούτε στην έξοδο του DAC του συγκεκριµένου καναλιού. out[0] = 0xaa; out[1] = 0; out[2] = 0x1; out[3] = 0x0386; out[4] = 0; out[5] = 0; out[6] = 0x1; out[7] = 0x0306; out[8] = 0; out[9] = 0; out[10] = 0x1; out[11] = 0x0400; out[12] = 0; out[13] = 0; out[14] = 0x1; out[15] = 0x0502; out[16] = 0; Μετά την ανάθεση τιµών σε κάποιες βοηθητικές µεταβλητές, ακολουθούν οι εξής εντολές: CSR=0x100; IER=1; ICR=0xffff; *(unsigned volatile int *)EMIF_GCR = 0x3300; *(unsigned volatile int *)EMIF_CE1 = 0xffffff03; Οι καταχωρητές αυτοί χρησιµοποιούνται για την αρχικοποίηση του ψηφιακού επεξεργαστή σήµατος και των περιφερειακών του. Με χρήση των δύο πρώτων εντολών γίνεται απενεργοποίηση (disabling) όλων των διακοπών (interrupts) εκτός της διακοπής ΝΜΙ. Αυτό επιτυγχάνεται µέσω των τιµών που καταχωρούνται στο Control Status Register (CSR) και στον Interrupt Enable Register (IΕR). Ο Interrupt Clear Register (ICR) επιτρέπει να εκκαθαριστούν όλα τα maskable interrupts. Χρησιµοποιείται αρνητική λογική και εποµένως προκειµένου να καθαριστούν όλα τα maskable interrupts εγγράφεται η τιµή 0xffff. O Global Control Register (GCR) της προσαρµοστικής µονάδας EMIF αποτελεί τον γενικό καταχωρητή ελέγχου που ρυθµίζει κατάλληλα όλες εκείνες τις παραµέτρους που είναι κοινές για όλα τα Chip Enable (CE) της εξωτερικής

7 µνήµης (πχ ROM, SDRAM, SBSRAM). Τέλος, ρυθµίζεται και το Chip Enable 1 µέσω του καταχωρητή Space Control Register. Ο καταχωρητής αυτός αντιπροσωπεύει τον CE1 χώρο µνήµης (από τους 4 που υποστηρίζει η προσαρµοστική µονάδα EMIF). Εδώ παίρνει την τιµή 0xffffff03 και έτσι καθορίζεται µια ασύγχρονη διεπαφή εύρους 8 bit, ως ο τύπος µνήµης για το CE1. Μόλις ληφθεί ένα δείγµα από τη συσκευή AD535, δηλαδή µόλις ο DRR της McBSP0 λάβει και τα 16 bit του δείγµατος, παράγεται το σήµα RINT0. Με παρόµοια διαδικασία µόλις αδειάσει ο DXR και είναι έτοιµος πλέον να δεχθεί το επόµενο δείγµα, παράγεται το σήµα XINT0. Προκειµένου αυτά τα σήµατα να γίνουν αντιληπτά από τη CPU θα πρέπει να συνδεθούν µε κάποια από τα διαθέσιµα interrupts της (INT4 INT15). Αυτό επιτυγχάνεται αρχικοποιώντας κατάλληλα τα πεδία των καταχωρητών IMH και IML: *(unsigned volatile int *)IML = 0x310718A4; *(unsigned volatile int *)IMH = 0x08202DA3; Για τη συγκεκριµένη εφαρµογή έχουν χρησιµοποιηθεί τα interrupts ΙΝΤ9 και ΙΝΤ11. Στη συνέχεια θα πρέπει τα interrupts αυτά να ενεργοποιηθούν. Αυτό επιτυγχάνεται µέσω των ακόλουθων εντολών : ICR = 0xffff; IER = 0xA02; CSR = 1; Κάθε φορά που θα γεννιέται το σήµα XINT0 και RINT0, µέσω των ΙΝΤ9 και ΙΝΤ11 καλούνται οι αντίστοιχες ρουτίνες εξυπηρέτησης της CPU. Για το ΙΝΤ9 δηµιουργήθηκε η ρουτίνα mcbsp0_x_isr() και για το ΙΝΤ11 δηµιουργήθηκε η ρουτίνα mcbsp0_r_isr(). Οι ρουτίνες αυτές δηλώνονται όπως όλες οι συναρτήσεις στη C µε τη µόνη διαφορά ότι χρησιµοποιείται η λέξη κλειδί interrupt στην αρχή των δηλώσεων τους. Ο µεταφραστής (compiler) αναγνωρίζοντας αυτή τη λέξη, δηµιουργεί τον απαραίτητο κώδικα για την αποθήκευση και την ανάκτηση της κατάστασης µηχανής (machine state), κατά την είσοδο και την έξοδο από την ρουτίνα εξυπηρέτησης αντίστοιχα. Η δήλωση για την αντιστοίχηση των ρουτινών εξυπηρέτησης µε τα ΙΝΤ9 και ΙΝΤ11 γίνεται στα αρχεία.asm και.cmd τα οποία δίνονται. Η προτεινόµενη υλοποίηση για τις ρουτίνες εξυπηρέτησης στην περίπτωση µία απλής µεταφοράς ενός δείγµατος από την είσοδο στην έξοδο χωρίς καµία επεξεργασία, δίνεται παρακάτω. Πάνω στο format αυτό ζητείται να γίνει και η υλοποίηση της παρούσας άσκησης φιλτραρίσµατος:

8 interrupt void mcbsp0_x_isr() { if (start_flag==0) out_sample = out[count++]; else out_sample=buffer&0xfffe; *(unsigned volatile int *)McBSP0_DXR = out_sample; } interrupt void mcbsp0_r_isr() { in_sample = *(unsigned volatile int *)McBSP0_DRR; if (start_flag==1) buffer=in_sample; } /* Εδώ θα πρέπει να τοποθετηθεί ο κώδικας φιλτραρίσµατος*/ Η πρώτη ρουτίνα διαβάζει τη τιµή του καταχωρητή McBSP0_DRR και την αποθηκεύει σε µία µεταβλητή, ενώ η δεύτερη γράφει την αποθηκευµένη πλέον τιµή στον καταχωρητή McBSP0_DXR. Ο έλεγχος που γίνεται στις ρουτίνες αυτές οφείλεται στην διαδικασία αρχικοποίησης του µετατροπέα A-Ψ. Μετά την ολοκλήρωση των παραπάνω εντολών, γίνεται αρχικοποίηση του McBSP0 µέσω της συνάρτησης msbsp0_init() που καλείται στη συνάρτηση main(). Ακολουθεί ο κώδικας της συγκεκριµένης συνάρτησης ο οποίος αναλύεται στη συνέχεια: void mcbsp0_init() { *(unsigned volatile int *)McBSP0_SPCR = 0; *(unsigned volatile int *)McBSP0_PCR = 0; *(unsigned volatile int *)McBSP0_RCR = 0x10040; *(unsigned volatile int *)McBSP0_XCR = 0x10040; *(unsigned volatile int *)McBSP0_DXR = 0; *(unsigned volatile int *)McBSP0_SPCR = 0x12001; }

9 Με τις δυο πρώτες εντολές εγγράφεται οι τιµή µηδέν τόσο στον Serial Port Control Register (SPCR) όσο και στον Pin Control Register (PCR). Οι δύο αυτοί καταχωρητές περιέχουν τα bits ελέγχου κατάστασης του McBSP0 στη συγκεκριµένη περίπτωση, και ουσιαστικά οι δυο τους ρυθµίζουν τη σειριακή θύρα. Επιπλέον, ο PCR χρησιµοποιείται για να ορίσει τις ακίδες (pins) της σειριακής θύρας σαν γενικού σκοπού εισόδους ή εξόδους κατά τη διάρκεια της επανεκκίνησης του ποµπού (transmitter) ή / και του δέκτη (receiver). Οι επόµενοι δυο καταχωρητές είναι οι Receive Control Register (RCR) και Transmit Control Register (TCR). Ο πρώτος καταχωρητής ρυθµίζει όλες εκείνες τις παραµέτρους που καθορίζουν τη λειτουργία της λήψης δεδοµένων, ενώ ο δεύτερος καθορίζει τις αντίστοιχες για τη λειτουργία εκποµπής δεδοµένων. Στους δύο αυτούς καταχωρητές εγγράφεται η ίδια τιµή και αυτό γίνεται γιατί επιθυµούµε οι λειτουργίες αποστολής και λήψης δεδοµένων, µέσω του McBSP0, να είναι πανοµοιότυπες και να ακολουθούν την ίδια λογική. Μια από τις βασικές παραµέτρους που προσδιορίζεται µέσω των τιµών που ανατίθενται σε αυτούς είναι πως η λήψη και η αποστολή γίνεται σε frames των 16bits το καθένα. Στη συνέχεια, ο καταχωρητής Data Transmit Register (DXR) αρχικοποιείται µε τη τιµή 0. Στο καταχωρητή DXR εγγράφονται δεδοµένα από τη CPU, προκειµένου αυτά να καταλήξουν στην έξοδο του McBSP0 από όπου µπορεί να τα παραλάβει ο DAC. Στον παραπάνω κώδικα γράφεται η τιµή 0 στον DXR προκειµένου να µην αποσταλεί τιµή στον Ψ-Α. Στην τελευταία εντολή µεταβάλλεται το περιεχόµενο του SPCR λαµβάνοντας την τιµή 0x Με την τιµή αυτή γίνονται οι κατάλληλες ρυθµίσεις στην σειριακή θύρα έτσι ώστε να είναι πλέον έτοιµη τόσο για λήψη όσο και για αποστολή δεδοµένων. Μετά την ολοκλήρωση των παραπάνω αρχικοποιήσεων το πρόγραµµα µπαίνει σε έναν ατέρµονα βρόχο (while( )), κατά τη διάρκεια του οποίου εκτελούνται συνέχεια οι δυο ρουτίνες εξυπηρέτησης διακοπών. Ερώτηµα 1: Υποθέστε ότι επιθυµούµε να επεξεργαστούµε το σήµα εισόδου και ότι η επεξεργασία αυτή θα υλοποιηθεί εντός της ISR συνάρτησης mcbsp0_r_isr ( ), η οποία εξυπηρετεί το σήµα διακοπής RINT0. εδοµένου, ότι έχει ενεργοποιηθεί και η διακοπή XINT0, σε ποια περίπτωση θα υπάρχει σύγκρουση µεταξύ αυτών των δύο και γιατί ;

10 4. FIR Φίλτρα 4.1 Στοιχεία Θεωρίας Η έξοδος ενός FIR φίλτρου µήκους Ν, δίνεται από την ακόλουθη γραµµική συνέλιξη : N [ ] = y n k = 1 0 h[ k] x[ n k] = h[0] x[ n] h[ N 1] x[ n N + 1] Η παραπάνω σχέση µπορεί να γραφεί ισοδύναµα στην ακόλουθη µορφή εσωτερικού γινοµένου όπου τα διανύσµατα h και x n ορίζονται ως ακολούθως: n n (1) y [ n] = h T x (2) [ h[ 0] h[1]... h[ N 1 ] t [ x[ n] x[ n 1]... x[ n N + 1 ] t h = ] x = ] (3) Παρατηρήστε ότι το διάνυσµα x n, τη χρονική στιγµή n περιέχει τα Ν πιο πρόσφατα δείγµατα του σήµατος εισόδου και εποµένως µε κάθε νέο δείγµα του σήµατος θα πρέπει να ενηµερώνεται. Στο Σχήµα 2 φαίνεται η απευθείας υλοποίηση τύπου Ι του παραπάνω φίλτρου. Σχήµα 2: οµή Απευθείας Υλοποίηση Τύπου Ι ενός FIR Φίλτρου. 4.2 Σχεδιασµός FIR Φίλτρων στο περιβάλλον Matlab Ένα φίλτρο χαρακτηρίζεται µοναδικά από την κρουστική του απόκριση ή ισοδύναµα από την απόκριση συχνότητάς του. Για τη σχεδίαση των FIR φίλτρων που επιθυµείτε

11 µπορείτε να χρησιµοποιήσετε µία εκ των συναρτήσεων fir1() ή remez() του υπολογιστικού περιβάλλοντος Matlab. Οι συντελεστές που σας επιστρέφουν στα ορίσµατα εξόδου τους οι παραπάνω συναρτήσεις είναι οι συντελεστές της κρουστικής απόκρισης του επιθυµητού φίλτρου. Οι συντελεστές αυτοί θα χρησιµοποιηθούν παρακάτω στο πρόγραµµά σας για την υλοποίηση των φίλτρων µε τη βοήθεια του CCS. 4.3 Υλοποίηση FIR Φίλτρων στον Ψηφιακό Επεξεργαστή Σηµάτων Από τη Σχέση (1) είναι προφανές ότι ο υπολογισµός της εξόδου του φίλτρου, απαιτεί Ν πολλαπλασιασµούς και (N-1) προσθέσεις. Ισοδύναµα, η υπολογιστική πολυπλοκότητα αυτού του FIR φίλτρου είναι Ν multiply-accumulates (MACs). O TMS320C6711 επεξεργαστής που θα χρησιµοποιηθεί έχει απόδοση MACs/sec. Ερώτηµα 2: Υπολογίστε το πλήθος των MACs/sec που απαιτούνται για τον υπολογισµό της γραµµικής συνέλιξης ενός φίλτρου µήκους 20 και ενός φίλτρου µήκους 100. Θεωρώντας ότι η συχνότητα δειγµατοληψίας που χρησιµοποιεί ο Α-Ψ της συσκευής AD535 είναι τα 8ΚHz, υπολογίστε το µέγιστο µήκος φίλτρου που µπορείτε να χρησιµοποιήσετε ώστε η υλοποίησή του στον TMS320C6711 να λειτουργεί σε πραγµατικό χρόνο. Από τις Σχέσεις (1) και (3) είναι προφανές ότι το παλαιότερο δείγµα εισόδου x [ n ( N 1) ] πολλαπλασιάζεται µε τον συντελεστή h [ N 1] της κρουστικής απόκρισης του φίλτρου και το πιο πρόσφατο δείγµα x [ n] πολλαπλασιάζεται µε τον συντελεστή h [ 0] της κρουστικής απόκρισης. Από πλευράς υλοποίησης, τα αναγκαία Ν δείγµατα του σήµατος εισόδου θα µπορούσαν να αποθηκευθούν σε ένα πίνακα-διάνυσµα στη µνήµη και κάθε φόρα που θα θέλαµε να εισάγουµε ένα νέο δείγµα του σήµατος εισόδου στον πίνακα θα µετατοπίζαµε τα στοιχεία του κατά µία θέση. Ο παραπάνω τρόπος υλοποίησης της γραµµικής συνέλιξης δεν είναι αποδοτικός. Για το λόγο αυτό στην υλοποίηση µας θα χρησιµοποιηθεί ένα σχήµα κυκλικής δεικτοδότησης των στοιχείων ενός διανύσµατος. Επισηµαίνεται, αν και δεν αποτελεί σκοπό αυτής της άσκησης, ότι οι C6000 DSPs διαθέτουν κατάλληλο υλικό που δύναται να προσπελαστεί από εντολές assembly, ώστε να υλοποιηθεί αυτό το κυκλικό σχήµα δεικτοδότησης. Η ιδέα της κυκλικής δεικτοδότησης, φαίνεται στο Σχήµα 3. Οι συντελεστές του φίλτρου και τα δείγµατα του σήµατος εισόδου αποθηκεύονται στα µήκους N διανύσµατα h[] και xcirc[] αντίστοιχα.

12 Ας υποθέσουµε επίσης ότι ο δείκτης newest δείχνει σε εκείνη τη θέση του κυκλικού πίνακα, στην οποία βρίσκεται το πιο πρόσφατο δείγµα εισόδου και oldest τη θέση του κυκλικού πίνακα, στην οποία βρίσκεται το πιο παλαιό δείγµα εισόδου. Όταν, τη χρονική στιγµή n+1 λαµβάνεται ένα νέο δείγµα εισόδου, θα πρέπει να καταχωρείται στη θέση που δείχνει ο δείκτης oldest και οι δείκτες να ενηµερώνονται ως ακολούθως: newest=oldest, και oldest=(oldest 1) modn. Παρατηρήστε ότι, όταν ο δείκτης oldest, αρχικά, έχει την τιµή 0, µετά την ενηµέρωσή του γίνεται Ν-1. Η έξοδος του φίλτρου υπολογίζεται, από τη σχέση : N 1 m= 0 y [ n] = h[ m] xcirc[( newest + m)mod N] (4) όπου, ( newest + m) mod N ακέραιος στο διάστηµα {0,..., Ν-1}. Παρατηρήστε ότι µε το παραπάνω σχήµα δεικτοδότησης ο υπολογισµός της εξόδου του φίλτρου απαιτεί Ν MACs και µια καταχώρηση της τιµής του νέου δείγµατος του σήµατος εισόδου. Θέση ιάνυσµα h[ ] ιάνυσµα xcirc[ ] newest h[0] x[n] 1 h[1] x[n-1] 2 N-2 h[n-2] x[n- 2] Oldest h[n-1] x[n -1] Σχήµα 3: Τα περιεχόµενα των ιανυσµάτων των Συντελεστών της κρουστικής απόκρισης και των δεδοµένων εισόδου Υλοποίηση FIR Φίλτρων σε DSP-Τροποποίηση του προγράµµατος loopback Στο ήδη υπάρχον πρόγραµµα loopback.c, θα πρέπει να προσθέσετε τον κατάλληλο κώδικα που θα εξασφαλίζει την (σωστή) υλοποίηση ενός FIR φίλτρου. 2 2 Σε περίπτωση που θέλετε να υλοποιήσετε το ζητούµενο πρόγραµµα σε διαφορετικό αρχείο, προσθέστε το νέο αρχείο.c στο Project, επιλέγοντας : Project > Add Files to Project.

13 4.5 Οι Συντελεστές του Φίλτρου Στο ζητούµενο αρχείο.c τοποθετούµε στο τµήµα των καθολικών δηλώσεων τους συντελεστές του προς υλοποίηση FIR φίλτρου. (Άλλος τρόπος είναι η δηµιουργία ενός header αρχείου που θα γίνεται include και θα περιέχει τον αντίστοιχο κώδικα των δηλώσεων). Αυτό επιτυγχάνεται, για παράδειγµα, ως ακολούθως : #define FilterLength 3 float x[filterlength]; float h[filterlength] = {0.5, 0.5, 0.5 } 4.3 Συνάρτηση Υλοποίησης FIR Φίλτρου Ερώτηµα 4: Υλοποιείστε το FIR φίλτρο εντός της ISR συνάρτησης mcbsp0_r_isr (). Επισηµαίνεται ότι ο πίνακας µε τα δείγµατα εισόδου θα πρέπει να αρχικοποιηθεί µε µηδενικά στην αρχή της συνάρτησης main( ). Ερώτηµα 5: Συνδέστε στην είσοδο της κάρτας ένα ακουστικό σήµα και στην έξοδο τα ηχεία. Χρησιµοποιώντας τα φίλτρα που θα σας υποδειχθούν στο εργαστήριο, συγκρίνατε τον ήχο του αρχικού και του τελικού σήµατος κι εξηγήστε την επίδραση των δύο FIR φίλτρων. Ερώτηµα 6: Συνδέστε ένα ηµιτονικό σήµα στο jack εισόδου µε πλάτος µικρότερο από ±1 V, χωρίς DC offset. Οδηγήστε στον παλµογράφο την αρχική και την τελική κυµατοµορφή και µετρήστε το gain του φίλτρου για ένα επαρκές σύνολο συχνοτήτων. Επίσης, επιβεβαιώστε τις αποκρίσεις συχνότητας των φίλτρων από τις παραπάνω διαθέσιµες κυµατοµορφές. 5. Βιβλιογραφία [1] TMS320C6711 Digital Signal Processor Data Sheet (Literature Number SPRS088),Texas Instruments, Dallas, TX, [2] TMS320C6000 Peripherals Guide (Literature Number SPRU190), Texas Instruments, Dallas, TX, [3] TLC320AD535C/I Data Manual Dual Channel Voice/Data Codec, (Literature Number SLAS202), Texas Instruments, Dallas, TX, [4] Code Composer Studio Getting Started Guide (Literature Number SPRU509), Texas Instruments, Dallas, TX, [5] Γ. Β. Μουστακίδης, "Βασικές Τεχνικές Ψηφιακής Επεξεργασίας Σηµάτων,", Εκδόσεις Τζιόλα [6] Sanjit K. Mitra, "Digital Signal Processing, A Computer-Based Approach," McGraw-Hill, [7] Vinay K. Ingle and John G. Proakis, "Digital Signal Processing Using MATLAB," PWS Publishing Company, [8] Steven A. Tretter, Communication System Design Using DSP Algorithms. With Laboratory Experiments for the TMS320C6701 and TMS320C6711, Kluwer Academic / Plenum Publishers, New York 2003.

14 Ε Ρ Γ Α Σ Τ Η Ρ Ι Α2 Κ Η Α Σ Κ Η Σ Η 1. Εισαγωγή Υλοποίηση Προσαρµοστικών Φίλτρων Στα πλαίσια αυτής της άσκησης θα υλοποιηθούν στην αναπτυξιακή κάρτα TMS320C6711 DSK προσαρµοστικά φίλτρα FIR που βασίζονται στον αλγόριθµο Least Mean Squares (LMS). Τα προσαρµοστικά φίλτρα θα χρησιµοποιηθούν για την υλοποίηση συστηµάτων που άπτονται των παρακάτω βασικών εφαρµογών: Βελτίωση φασµατικής γραµµής. Iσοστάθµιση τηλεπικοινωνιακού καναλιού. 2. Περιγραφή Συστηµάτων- ιαδικασία 2.1 Βελτίωση Φασµατικής Γραµµής Το σχηµατικό διάγραµµα του συστήµατος που θα πρέπει να υλόποιηθεί στα πλαίσια της πρώτης εφαρµογής φαίνεται στο Σχήµα 1. Υποθέτοντας ότι το σήµα εισόδου x (n) είναι η υπέρθεση ενός ηµιτονικού σήµατος s(n) και λευκού Γκαουσιανού (Gaussian) θορύβου w (n), δηλαδή: x ( n) = s( n) + w( n) η έξοδος y (n) του προσαρµοστικού FIR φίλτρου, εδοµένου ότι τα δείγµατα του θορύβου είναι µεταξύ τους ασυσχέτιστα, το προσαρµοστικό φίλτρο µοντελοποιεί το ηµιτονικό σήµα. Εποµένως, στην έξοδο του προσαρµοστικού φίλτρου παίρνουµε µια εκτίµηση sˆ ( n) του ηµιτονικού σήµατος (θα µπορούσατε να αντικαταστήσετε το

15 ηµιτονικό σήµα µε οποιοδήποτε σήµα στενής φασµατικής ζώνης, όπως και τον Γκαουσιανό θόρυβο µε οποιοδήποτε σήµα ευρείας φασµατικής ζώνης). ( n ) x e( n) k z Προσαρµοστικό Φίλτρο y( n) Σχήµα 1: Προσαρµοστικό Σύστηµα. Ελέγξτε την κυµατοµορφή που εµφανίζεται στην έξοδο του προσαρµοστικού φίλτρου. Χρησιµοποιώντας ως βάση τα όσα σας δόθηκαν και κάνατε στη πρώτη άσκηση, υλοποιείστε την παραπάνω διάτάξη. Για την πρώτη υλοποίηση χρησιµοποιήστε ως είσοδο το αρχείο voice_sin.wav που βρίσκεται στη διεύθυνση C:\E_PS_E_S\yliko2 και ως έξοδο αρχικά το σήµα e(n) του Σχήµατος 1 και στη συνέχεια το σήµα y(n). Καταγράψτε τι παρατηρείτε. ηµιουργήστε, στο Matlab, ένα δικό σας σήµα εισόδου που θα είναι η υπέρθεση ενός ηµιτόνου και λευκού Γκαουσιανού θορύβου. Πειραµατιστείτε για τιµές του λόγου σήµατος προς θόρυβο (SNR) στο διάστηµα [-25 0] µε βήµα 2dB. Ερώτηµα 1: Από ποιο SNR και πάνω έχουµε ικανοποιητική (ακουστικά) λειτουργία του αλγορίθµου. Ερώτηµα 2: Υπολογίστε στη MATLAB, µε βάση τις ιδιοτιµές του πίνακα αυτοσυσχέτισης της ακολουθίας εισόδου, το θεωρητικό άνω φράγµα για το µέγεθος του βήµατος (step-size) του αλγορίθµου LMS. Ερώτηµα 3: Εκτελέστε τον αλγόριθµο για διαφορετικό αριθµό συντελεστών φίλτρου. Πόσοι συντελεστές τουλάχιστον απαιτούνται για να αποδίδει το φίλτρο ικανοποιητικά; Αιτιολογήστε τις απαντήσεις σας.

16 Ερώτηµα 4: Εκτελέστε τον αλγόριθµο για διαφορετικές τιµές της καθυστέρησης k και δικαιολογείστε την τιµή που επιλέξατε να χρησιµοποιήσετε τελικά. Ερώτηµα 5: Για την βέλτιστη τιµή της τάξης φίλτρου που επιλέξατε: πειραµατιστείτε για τέσσερις διαφορετικές τιµές του βήµατος και καταγράψτε τις παρατηρήσεις σας για τη σύγκλιση του αλγορίθµου. Καταγράψτε τα συµπεράσµατά σας. Για τον υπολογισµό του ΜSΕ, χρησιµοποιήστε την ακόλουθη αναδροµική σχέση: 2 nmse( n 1) + e ( n) MSE ( n) =, MSE(0) = e n + 1 Πόσο απέχει από τη θεωρητική τιµή, η τιµή του βήµατος που τελικά χρησιµοποιήσατε; Που οφείλεται κατά τη γνώµη σας αυτή η διαφορά; 2 (0) 2.2 Ισοστάθµιση Τηλεπικοινωνιακού Καναλιού Στα πλαίσια της δεύτερης εφαρµογής, θα πρέπει να υλοποιηθούν τα συστήµατα που φαίνονται στο Σχήµα 2. Η βασική λειτουργία ενός τηλεπικοινωνιακού συστήµατος µπορεί να περιγραφεί ως ακολούθως. Αs υποθέσουµε ότι d(n) είναι µια ακολουθία από 1 ή -1 την οποία θέλουµε να µεταδώσουµε µέσω ενός τηλεπικοινωνιακού καναλιού. Τότε η ακολουθία αυτή οδηγείται στην είσοδο µιας γεννήτριας παλµών η οποία ανάλογα µε την τιµή της ακολουθίας d(n) παράγει στην έξοδό της ένα παλµό πλάτους Α αν d(n)=1 ή ένα παλµό πλάτους Α αν d(n)=-1. Η δηµιουργούµενη ακολουθία παλµών αφού διαµορφωθεί µεταδίδεται µέσω του τηλεπικοινωνιακού καναλιού στον αποµακρυσµένο δέκτη. Ο δέκτης αφού αποδιαµορφώσει, δειγµατοληπτεί την ληφθείσα κυµατοµορφή δηµιουργώντας έτσι ένα διακριτού χρόνου σήµα x(n). Αν και στην ιδανική περίπτωση το διακριτού χρόνου σήµα x(n) θα πρέπει να είναι ίσο µε την αρχική ακολουθία d(n), εξαιτίας των µη γραµµικών χαρακτηριστικών της απόκρισης φάσης του καναλιού που έχει σαν αποτέλεσµα το φαινόµενο της διασυµβολικής παρεµβολής (ΙSI), και του προσθετικού θορύβου το σήµα x(n) απέχει από το ιδανικό. Υποθέτοντας ότι το τηλεπικοινωνιακό κανάλι είναι γραµµικό µε κρουστική απόκριση h(n), ένα µοντέλο του διακριτού χρόνου σήµατος x(n) θα είναι το ακόλουθο: n x ( n) = d( m) h( n m) + v( n) m= όπου v(n) ο προσθετικός θόρυβος. Έχοντας στη διάθεσή του ο δέκτης το σήµα x(n) καλείται να αποφασίσει αν τη χρονική στιγµή n του εστάλη 1 ή 1. Για την απόφασή αυτή χρησιµοποιείται συνήθως η ακόλουθη συνάρτηση κατωφλίου: 1, αν x( n) 0 dˆ( n) = 0, αν x( n) < 0

17 Ο δέκτης χρησιµοποιεί συνήθως έναν ισοσταθµιστή για την µείωση των επιδράσεων του τηλεπικοινωνιακού καναλιού και εποµένως την ελαχιστοποίηση της πιθανότητας σφάλµατος. Τυπικά ο ισοσταθµιστής αυτός εξαιτίας του ότι η κρουστική απόκριση του καναλιού είναι άγνωστη και πολλές φορές και χρονικά µεταβαλλόµενη, είναι ένα προσαρµοστικό φίλτρο και το οποίο καλείστε να υλοποιήσετε στα πλαίσια της άσκησης αυτής. (Περίοδος Εκπαίδευσης) d (n) + x(n) - Ποµπός Κανάλι + Ισοσταθµιστής d ˆ( n ) (α) v (n) e(n) x(n) Ισοσταθµιστής e(n) y (n) + 1 ˆ( n ) -1 d - + (β) Σχήµα 2: Σύστηµα Ισοστάθµισης καναλιού. Κατά την διάρκεια που ποµπός και δέκτης δηµιουργούν µια σύνδεση, ο ποµπός στέλνει µια ακολουθία ψευδοτυχαίων ψηφίων τα οποία είναι γνωστά στο δέκτη. Γνωρίζοντας ο δέκτης την ακολουθία d(n) και χρησιµοποιώντας κατάλληλα την δηµιουργούµενη ακολουθία σφαλµάτων (Σχήµα 2.(α)), αρχικοποιεί κατάλληλα τα βάρη του προσαρµοστικού φίλτρου. Μετά το πέρας της περιόδου εκπαίδευσης, ο ισοσταθµιστής µεταβαίνει σε κατάσταση κανονικής λειτουργίας όπως φαίνεται στο Σχήµα 2.(β). Υλοποιήστε τα συστήµατα του Σχήµατος 2 κάνοντας τις παρακάτω παραδοχές: Π1: Η ακολουθία d(n) είναι µια ακολουθία ασυσχέτιστων τυχαίων µεταβλητών µε d ( n) = ± 1 και ίση πιθανότητα εµφάνισης. Π2: Η κρουστική απόκριση του τηλεπικοινωνιακού καναλιού είναι η ακόλουθη: 1 1 2π ( n 2) + cos( )1, n = 1, 2,3 h( n) = 2 2 W 0, διαφορετικά

18 όπου W παράµετρος. 2 Π3: Ο προσθετικός θόρυβος είναι λευκός Γκαουσιανός διασποράς σ v και ασυσχέτιστος µε την ακολουθία d(n). Π4: Χρησιµοποιείστε τουλάχιστον 500 σύµβολα κατά τη φάση της εκπαίδευσης. Ερώτηµα 6: Εξηγήστε την επίδραση της παραµέτρου W στην µορφή της κρουστικής απόκρισης του καναλιού και στις ιδιοτιµές του µητρώου αυτοσυσχέτισης του στοχαστικού σήµατος διακριτού χρόνου x(n). Ερώτηµα 7: Τι σχέση περιµένετε να έχει ο λόγος της µέγιστης προς την ελάχιστη ιδιοτιµή του µητρώου αυτοσυσχέτισης του στοχαστικού σήµατος διακριτού χρόνου x(n), µε τη µορφή της συνέλιξης της κρουστικής απόκρισης του καναλιού µε τον ισοσταθµιστή κατά το τέλος της περιόδου εκπαίδευσης; Επιβεβαιώστε πειραµατικά και κάντε τις απαραίτητες γραφικές παραστάσεις για τέσσερις τουλάχιστον τιµές του µήκους του προσαρµοστικού φίλτρου, πέντε (5) διαφορετικές τιµές της παραµέτρου W και διαφορετικές τιµές της διασποράς του προσθετικού θορύβου. Καταχωρήστε τα αποτελέσµατά σας σε πίνακα. Ερώτηµα 8: Βαθµονοµήστε την απόδοση του ισοσταθµιστή κατά τη φάση κανονικής λειτουργίας, υπολογίζοντας τα σφάλµατα και το ΜSE του δέκτη κατά την αποστολή συµβόλων, για τέσσερις τουλάχιστον τιµές του µήκους του προσαρµοστικού φίλτρου, για πέντε (5) διαφορετικές τιµές της παραµέτρου W και διαφορετικές τιµές της διασποράς του προσθετικού θορύβου. Καταχωρήστε τα αποτελέσµατά σας σε πίνακα. 3. Βιβλιογραφία [1] TMS320C6711 Digital Signal Processor Data Sheet (Literature Number SPRS088), Texas Instruments, Dallas, TX, [2] TMS320C6000 Peripherals Guide (Literature Number SPRU190), Texas Instruments, Dallas, TX, [3] TLC320AD535C/I Data Manual Dual Channel Voice/Data Codec, (Literature Number SLAS202), Texas Instruments, Dallas, TX, [4] Code Composer Studio Getting Started Guide (Literature Number SPRU509), Texas Instruments, Dallas, TX, [5] Sanjit K. Mitra, "Digital Signal Processing, A Computer-Based Approach," McGraw-Hill, [6] Vinay K. Ingle and John G. Proakis, "Digital Signal Processing Using MATLAB," PWS Publishing Company, [7] Steven A. Tretter, Communication System Design Using DSP Algorithms. With Laboratory Experiments for the TMS320C6701 and TMS320C6711, Kluwer Academic / Plenum Publishers, New York [8] M. H. Hayes, Statistical Digital Signal Processing and Modeling, John Wiley & Sons, Inc, [9] J. G. Proakis και Masoud Salemi, Συστήµατα Τηλεπικοινωνιών, Εθνικό και Καποδιαστριακό Πανεπιστήµιο Αθηνών, Αθήνα 2002 (Μετάφραση Κ. Καρούµπαλος). [10] Β. Κεκάτος και Κ. Μπερπερίδης, Σηµειώσεις στο µάθηµα Προχωρηµένα Θέµατα Τηλεπικοινωνιών, Πάτρα 2002.

19 Ε Ρ Γ Α Σ Τ Η Ρ Ι Α3 Κ Η Α Σ Κ Η Σ Η 1. Εισαγωγή Σύστηµα Σηµατοδότησης Dual Tone Multi Frequency Στα πλαίσια αυτής της άσκησης θα υλοποιηθεί στην αναπτυξιακή κάρτα TMS320C6711 DSK το σύστηµα σηµατοδότησης Dual Tone Multi Frequency. 2. Το σύστηµα σηµατοδότησης Dual Tone Multi Frequency Το συγκεκριµένο σύστηµα σηµατοδότησης χρησιµοποιείται ευρέως στα συστήµατα τηλεφωνικής κλήσης. Το πάτηµα ενός πλήκτρου µίας τηλεφωνικής συσκευής έχει σαν αποτέλεσµα την δηµιουργία ενός DTMF (Dual Tone Multi Frequency) σήµατος σύµφωνα µε τον παρακάτω πίνακα. DTMF Kωδικοποίηση 1336 Hz Συχνότητα 1209 Hz 1477 Hz 697 Hz Hz Hz Hz * 0 # Πίνακας 1. Οι συχνότητες που περιέχονται στον Πίνακα 1 είναι επιλεγµένες έτσι ώστε καµιά από αυτές να µην είναι πολλαπλάσιο κάποιας άλλης καθώς επίσης το άθροισµα και η διαφορά οποιωνδήποτε από τις παραπάνω συχνότητες να µην παράγει κάποια από τις άλλες συχνότητες που εµφανίζονται στον παραπάνω πίνακα.

20 Στο Σχηµατικό διάγραµµα που ακολουθεί φαίνεται το συνολικό σύστηµα το οποίο θα πρέπει να υλοποιηθεί στα πλαίσια αυτής της εργασίας. Παρατηρήστε ότι αρχικά το τηλεπικοινωνιακό κανάλι θεωρούµε ότι είναι ιδανικό δηλαδή η απόκριση συχνότητάς του έχει µέτρο ίσο µε την µονάδα και δεν υπάρχει παρουσία θορύβου. Αυτό βέβαια στην πραγµατικότητα δεν ισχύει γι αυτό και σε επόµενη ενότητα θα πειραµατιστείτε και για κανάλι µε παρουσία προσθετικού Γκαουσιανού θορύβου. Σχήµα 1. Κατά την φάση της δηµιουργίας ενός DTMF σήµατος, καλούµαστε να βρούµε ένα σύστηµα το οποίο σε κάθε πάτηµα ενός ψηφίου ή συµβόλου της τηλεφωνικής συσκευής, θα δηµιουργεί στην έξοδό του ένα σήµα συγκεκριµένης χρονικής διάρκειας το οποίο θα προκύπτει από την υπέρθεση δύο σηµάτων των οποίων οι συχνότητες αντιστοιχούν στο συγκεκριµένο ψηφίο (σύµφωνα µε τον Πίνακα 1) της τηλεφωνικής συσκευής που πατήσαµε. Αν δηλαδή για παράδειγµα πατήσουµε το πλήκτρο µε το ψηφίο 2 τότε το σύστηµα θα πρέπει να δηµιουργήσει στην έξοδό του το ακόλουθο σήµα x(t)=cos(2π697t) + cos(2π1336t) Σηµειώνεται ότι για να είναι εφικτή η σωστή αποκωδικοποίηση ενός DTMF σήµατος, στα χρησιµοποιούµενα τηλεφωνικά συστήµατα παρεµβάλλεται ένα σήµα «σιωπής» (x(t)=0). Ερώτηµα 1: Καλείστε να υλοποιήσετε µια γεννήτρια η οποία να παράγει τα DTMF σήµατα που αντιστοιχούν στα ψηφία της τηλεφωνικής συσκευής. Η διάρκεια κάθε ψηφίου θα πρέπει να είναι ανάµεσα στα 40-44msec. Θεωρήστε ότι κάθε ψηφίο θα συνοδεύεται από σήµα «σιωπής» (x(t)=0), διάρκειας 20msec. Ως συχνότητα δειγµατοληψίας θεωρήστε την τιµή fs = 8000Hz. Κατά την φάση της αποκωδικοποίησης (decoding) ενός DTMF σήµατος το τηλεφωνικό κέντρο καλείται να αποφασίσει σε ποιο ψηφίο ή σύµβολο αντιστοιχεί το DTMF σήµα το οποίο έλαβε. Έχουν προταθεί στην βιβλιογραφία αρκετοί τρόποι για την υλοποίηση του αποκωδικοποιητή. Στην εργασία αυτή ζητείται η υλοποίηση των παρακάτω δύο (2) διαφορετικών τρόπων. Υπολογίζοντας τον ιακριτό Μετασχηµατισµό Fourier (DFT) του DTMF σήµατος. Η ιδέα είναι απλή, αφού το DTMF σήµα συντίθεται από δύο ηµιτονικά σήµατα περιµένουµε το ενεργειακό του περιεχόµενό του να είναι

21 συγκεντρωµένο γύρω από δύο συγκεκριµένες συχνότητες. Για τον υπολογισµό του DFT µπορούµε να χρησιµοποιήσουµε είτε FFT είτε τον αλγόριθµο του Goertzel. Χρησιµοποιώντας Συστοιχία Φίλτρων (Filter Bank). Ένας άλλος τρόπος µε τον οποίο µπορούµε να υλοποιήσουµε τον αποκωδικοποιητή είναι να περάσουµε το DTMF σήµα µέσα από µία συστοιχία φίλτρων (Filter Bank) όπως αυτή που φαίνεται στο Σχήµα 2. Σχήµα 2. Παρατηρήστε ότι κάθε φίλτρο πρέπει να σχεδιαστεί έτσι ώστε να περνάει µόνο µία συχνότητα από τις επτά που υπάρχουν στον Πίνακα 1. Αν για παράδειγµα υποθέσουµε ότι το πρώτο φίλτρο της συστοιχίας επιτρέπει την διέλευση της µικρότερης συχνότητας (697 Hz), που εµφανίζεται στον Πίνακα 1, και το έβδοµο φίλτρο της συστοιχίας επιτρέπει την διέλευση της µεγαλύτερης συχνότητας (1477 Hz), που εµφανίζεται στον ίδιο πίνακα, η απόκριση συχνότητας του πέµπτου φίλτρου της συστοιχίας Η 5 (ω) θα πρέπει να προσεγγίζει την ιδανική απόκριση συχνότητας που φαίνεται στο παρακάτω σχήµα. Για να αποφασίσουµε τέλος το ψηφίο ή το σύµβολο που αντιστοιχεί στο DTMF σήµα που οδηγήσαµε στην είσοδο της συστοιχίας φίλτρων, υπολογίζουµε την ενέργεια των σηµάτων y i (n) i=1,2,..,7 των εξόδων της συστοιχίας φίλτρων και αποµονώνουµε τις δύο εκείνες εξόδους που έχουν την µεγαλύτερη ενέργεια.

22 Σχήµα 3: Ιδανική απόκριση συχνότητας του πέµπτου φίλτρου της συστοιχίας. Για την προσέγγιση των ιδανικών προδιαγραφών που φαίνονται στο Σχήµα 3, µπορούµε να χρησιµοποιήσουµε είτε: Κ1 Ζωνοδιαβατό (Bandpass) FIR φίλτρο (προαιρετικό) Κ2 FIR φίλτρο Εγκοπής (προαιρετικό) Κ3 ΙIR φίλτρο Εγκοπής 3. Το πρόγραµµα codec_edma.c Ακολουθώντας την πρακτική της πρώτης άσκησης, σας δίνεται ένα πρόγραµµα που υλοποιεί ένα σύστηµα δειγµατοληψίας και ανακατασκευής ενός ακουστικού σήµατος. Η βασική διαφορά του προγράµµατος αυτού µε το loopback.c έγκειται στο ότι, πλέον, η επεξεργασία των δεδοµένων γίνεται ανά µπλοκ κι όχι ανά δείγµα. Για το σκοπό αυτό θα χρησιµοποιηθεί ο ελεγκτής της µονάδας EDMA. Παρακάτω θα αναλυθούν τα τµήµατα κώδικα του codec_edma.c που το διαφοροποιούν από το loopback.c και στην ουσία αρχικοποιούν κατάλληλα τον ελεγκτή της µονάδας EDMA. Μόλις ληφθεί ένα δείγµα από τη συσκευή AD535, δηλαδή µόλις ο DRR της McBSP0 λάβει και τα 16 bit δείγµατος, παράγεται το σήµα RINT0. Με παρόµοια διαδικασία µόλις αδειάσει ο DXR και είναι έτοιµος, πλέον, να γεµίσει µε το επόµενο δείγµα, παράγεται το σήµα XINT0. Στη συγκεκριµένη υλοποίηση, δε θέλουµε τα σήµατα αυτά να γίνουν αντιληπτά από τη CPU, όπως στις δύο πρώτες ασκήσεις, αλλά να χρησιµοποιηθούν ως γεγονότα συγχρονισµού για τις EDMA µεταφορές, ενεργοποιώντας τα αντίστοιχα κανάλια. Κάθε φορά που θα γεννιέται το σήµα RINT0, ο ελεγκτής EDMA θα αναλαµβάνει τη µεταφορά του δείγµατος από το DRR σε µια προκαθορισµένη θέση µνήµης, αντιστοίχως όταν γεννιέται το XINT0, ο ελεγκτής EDMA θα αναλαµβάνει τη µεταφορά του δείγµατος από µια προκαθορισµένη θέση µνήµης στο DXR. Tα χαρακτηριστικά των EDMA µεταφορών καθορίζονται από το χρήστη µέσω των πεδίων της PaRAM κι αναλύονται παρακάτω. Μόλις πραγµατοποιηθεί το καθορισµένο, από τα πεδία της PaRAM, πλήθος µεταφορών, ο ελεγκτής της EDMA παράγει το σήµα διακοπής EDMA_INT προς στη CPU, έτσι ώστε να εκτελεστεί η αντίστοιχη ρουτίνα εξυπηρέτησης διακοπής (ISR). Όπως, γίνεται αντιληπτό, η

23 CPU ειδοποιείται, µέσω αυτού του σήµατος διακοπής, ανά µπλοκ δειγµάτων κι όχι ανά δείγµα, όπως συνέβαινε στις δύο πρώτες ασκήσεις. Το σήµα διακοπής EDMA_INT είναι by default συνδεδεµένο µε το INT8 της CPU. Επισηµαίνεται ότι για το λόγο αυτό δε χρειάζεται να αρχικοποιηθούν τα πεδία των καταχωρητών IMH και IML. Το ΙΝΤ8 ενεργοποιείται µέσω των ακόλουθων εντολών : ICR = 0xffff; IER = 0x102; CSR = 1; Στη συνέχεια καλείται η συνάρτηση αρχικοποίησης της EDMA edma_init(). Στις πρώτες γραµµές της συνάρτησης, προσδιορίζονται οι τιµές των παρακάτω τεσσάρων καταχωρητών: *(unsigned volatile int *)ECR = 0xffff; *(unsigned volatile int *)EER = 0x3000; *(unsigned volatile int *)CIPR = 0xffff; *(unsigned volatile int *)CIER = 0x100; Ο Enable Clear Register (ECR) παίρνει την τιµή 0xffff. Έτσι «καθαρίζονται» και τα 16 events, όπου το κάθε bit αποκτώντας την τιµή 1 καθαρίζει και το αντίστοιχο event που τυχόν να ήταν ενεργό στον αντίστοιχο καταχωρητή γεγονότων (Event Register ER). Η CPU χρησιµοποιεί τον ECR για να αποφύγει τις όποιες λανθασµένες συνθήκες µπορεί να προκύψουν κατά την αρχικοποίηση γύρω από την κατάσταση κάποιου event. Μέσω του Event Enable Register (EER) ο EDMA controller επιτρέπει στο χρήστη να επιλέξει ποια events θα ενεργοποιηθούν. Στη προκειµένη περίπτωση µε την τιµή 0x3000 ενεργοποιούνται τα events 12 και 13, αφού τα αντίστοιχα bits στο καταχωρητή αυτό λαµβάνουν τη τιµή 1. Τα γεγονότα αυτά έχουν ακρωνύµια XEVT0 και REVT0 και αποτελούν σήµατα αποστολής και λήψης (XINT0 και RINT0 αντίστοιχα) που προέρχονται από το McBSP0. Ο Channel Interrupt Pending Register (CIPR) µε την τιµή 0xffff καθαρίζει και τα 16 interrupts. Κάθε φορά η νέα τιµή που θα αποκτήσει ο CIPR, καθορίζεται από την προγραµµατιζόµενη τιµή που έχει το Transfer Complete Code (TCC) πεδίο της παραµέτρου OPT ενός γεγονότος, και τη λαµβάνει µετά την ολοκλήρωση µιας µεταφοράς δεδοµένων στο αντίστοιχο κανάλι του γεγονότος αυτού. Καθένα από τα interrupts αυτά τα χρησιµοποιεί ο EDMA controller για να παράγει ένα γενικό EDMA_INT προς τη CPU, εφόσον βέβαια έχει ολοκληρωθεί, όπως αναφέρθηκε, µία µεταφορά δεδοµένων. Για να παραχθεί όµως το EDMA_INT, θα πρέπει επιπλέον να έχει τεθεί το αντίστοιχο bit ενεργοποίησης διακοπής στον Channel Interrupt Enable Register (CIΕR). Γι αυτό και στη

24 συνέχεια ο CIΕR παίρνει την τιµή 0x100, έτσι ώστε τελικά να διατηρείται ενεργοποιηµένο το Channel Interrupt Enable 8 (CIE8) και να µπορεί να συνδυαστεί στη συνέχεια µε την αντίστοιχη τιµή του interrupt στον CIPR (CIP8) για την παραγωγή του EDMA_INT. Έτσι, το EDMA_INT που στέλνεται κάθε φορά από τον EDMA controller στη CPU θα επιτρέψει τελικά στην τελευταία να εκτελέσει µία συγκεκριµένη interrupt service ρουτίνα (ISR). Στη ρουτίνα αυτή θα πρέπει να καθαριστεί αρχικά το αντίστοιχο bit στον CIPR έτσι ώστε να µπορεί η CPU να αναγνωρίσει και άλλες επιπλέον διακοπές. Αυτή η ενέργεια της CPU θα περιγραφεί περισσότερο κατά την ανάλυση της ISR που θα δοθεί παρακάτω. Επόµενο βήµα στον κώδικα, αποτελεί ο προσδιορισµός των παραµέτρων για τα γεγονότα C (12) και D (13) του ελεγκτή της EDMA: *(unsigned volatile int *)(EVENTC_PARAMS+OPT) = 0x ; *(unsigned volatile int *)(EVENTC_PARAMS+SRC) = pcm_out; *(unsigned volatile int *)(EVENTC_PARAMS+CNT) = BLOCK_SIZE; *(unsigned volatile int *)(EVENTC_PARAMS+DST) = McBSP0_DXR; *(unsigned volatile int *)(EVENTC_PARAMS+IDX) = 0; *(unsigned volatile int *)(EVENTC_PARAMS+LNK) = EVENTN_PARAMS; *(unsigned volatile int *)(EVENTD_PARAMS+OPT) = 0x ; *(unsigned volatile int *)(EVENTD_PARAMS+SRC) = McBSP0_DRR; *(unsigned volatile int *)(EVENTD_PARAMS+CNT) = BLOCK_SIZE; *(unsigned volatile int *)(EVENTD_PARAMS+DST) = pcm_in; *(unsigned volatile int *)(EVENTD_PARAMS+IDX) = 0; *(unsigned volatile int *)(EVENTD_PARAMS+LNK) = EVENTO_PARAMS; Εδώ καθορίζονται οι παραµέτροι για τα συγκεκριµένα events του EDMA. Συγκεκριµένα, καθορίζεται η τιµή των πεδίων Options, SRC Address, Array/Frame Count Element Count, DST Address, Array/Frame Index Element Index και Element Count Reload Link Address. Οι πρώτες έξι εντολές καθορίζουν τις παραµέτρους για το κανάλι 12. Στη πρώτη εντολή εγγράφεται στη παράµετρο Options η τιµή 0x µε την οποία τα πεδία της λαµβάνουν τις ακόλουθες τιµές: Πεδίο FS = 0 LINK = 1 TCC = 0000 Περιγραφή Το κανάλι συγχρονίζεται κατά element/array Ενεργοποιείται η διαδικασία linking για τις παραµέτρους του event. Όταν το παρόν σύνολο των παραµέτρων εξαντλείται, οι εγγραφές για το συγκεκριµένο κανάλι επαναπροσδιορίζονται µε βάση τις παραµέτρους που καθορίζονται από τη link διεύθυνση Ο κωδικός αυτός ολοκλήρωσης µεταφοράς θέτει το αντίστοιχο bit στον CIPR

25 TCINT = 0 DUM = 00 2DD = 0 SUM = 01 2DS = 0 ESIZE = 01 PRI = 010 όταν το TCINT = 1 και το παρόν σύνολο παραµέτρων έχει εξαντληθεί Είναι απενεργοποιηµένη η ένδειξη ολοκλήρωσης µεταφοράς Σταθερή διεύθυνση προορισµού Μονοδιάστατος προορισµός Η αύξηση της διεύθυνσης πηγής εξαρτάται από τα πεδία 2DS και FS Μονοδιάστατη πηγή Το µέγεθος του element είναι 16-bit half-word Χαµηλή προτεραιότητα για τις EDMA µεταφορές Πίνακας 2. Η επόµενη παράµετρος που προσδιορίζεται είναι η SRC Address στην οποία αποθηκεύεται η αρχική διεύθυνση του buffer στον οποίο θα µεταφερθεί το block δεδοµένων, και που ουσιαστικά στη περίπτωση µας αποτελεί τη πρώτη θέση του πίνακα στον οποίον αποθηκεύονται τα δεδοµένα που θέλουµε να οδηγηθούν στην έξοδο της κάρτας. Ακολούθως προσδιορίζεται η τιµή του Element Count ώστε αυτή να είναι ίση µε τη τιµή της σταθεράς BLOCK_SIZE. ηλαδή το µέγεθος του κάθε block µετάδοσης είναι BLOCK_SIZE τιµές των 16-bit. Στη παράµετρο DST Address δίνεται η διεύθυνση του Data Transmit Register (DXR) για το McBSP0, όπου και θέλουµε να καταλήξουν τα δεδοµένα που πάρθηκαν από την SRC διεύθυνση. Στη συνέχεια αποθηκεύεται η τιµή 0 στη παράµετρο Element Index θέτοντας offset 0, προκειµένου να µεταφερθούν δεδοµένα που βρίσκονται σε διαδοχικές θέσεις µνήµης. Τελευταία ενέργεια στο προσδιορισµό των παραµέτρων για το event C, είναι η αποθήκευση της διεύθυνσης EVENTN_PARAMS από όπου θα γίνεται η επαναφόρτωση (reload) των παραµέτρων για τις επόµενες µεταφορές του καναλιού (εφόσον έχουµε LINK = 1). Παρακάτω πρόκειται να ακολουθηθεί αντίστοιχη διαδικασία ανάλυσης επεξήγησης για το event D. Έτσι έχουµε για τη παράµετρο Options του γεγονότος αυτού: Πεδίο FS = 0 LINK = 1 TCC = 1000 TCINT = 1 DUM = 00 2DD = 0 SUM = 01 Περιγραφή Το κανάλι συγχρονίζεται κατά element/array Ενεργοποιείται η διαδικασία linking για τις παραµέτρους του event. Όταν το παρόν σύνολο των παραµέτρων εξαντλείται, οι εγγραφές για το συγκεκριµένο κανάλι επαναπροσδιορίζονται µε βάση τις παραµέτρους που καθορίζονται από τη link διεύθυνση Ο κωδικός αυτός ολοκλήρωσης µεταφοράς θέτει το αντίστοιχο bit στον CIPR όταν το TCINT = 1 και το παρόν σύνολο παραµέτρων έχει εξαντληθεί. Εδώ τίθεται το bit 8 στον CIPR όταν εξαντλείται το σύνολο παραµέτρων Το bit 8 του CIPR τίθεται µετά την ολοκλήρωση µεταφοράς στο κανάλι. Η αύξηση της διεύθυνσης προορισµού εξαρτάται από τα πεδία 2DS και FS Μονοδιάστατος προορισµός Σταθερή διεύθυνση πηγής

26 2DS = 0 ESIZE = 01 PRI = 010 Μονοδιάστατη πηγή Το µέγεθος του element είναι 16-bit half-word Χαµηλή προτεραιότητα για τις EDMA µεταφορές Πίνακας 3. Η παράµετρος SRC Address για το event 13, είναι η διεύθυνση του καταχωρητή Data Receive Register (DRR) από τον οποίο διαβάζει τα δεδοµένα εισόδου ο EDMA Controller. Οι παράµετροι Element Count και Element Index παραµένουν ίδιες όπως και στο event 12 και είναι ίσες µε BLOCK_SIZE και 0 αντίστοιχα. Στη παράµετρο DST Address αποθηκεύεται η διεύθυνση της πρώτης θέση του πίνακα στον οποίον αποθηκεύονται τα δεδοµένα εισόδου της κάρτας. Τέλος, αφού έχουµε πάλι LINK = 1, η επαναφόρτωση (reload) των παραµέτρων για τις επόµενες µεταφορές του καναλιού θα γίνεται από τη διεύθυνση EVENTO_ PARAMS. Οι παράµετροι επαναφόρτωσης (reload parameters) για το κανάλι C είναι: *(unsigned volatile int *)(EVENTN_PARAMS+OPT) = 0x ; *(unsigned volatile int *)(EVENTN_PARAMS+SRC) = src; *(unsigned volatile int *)(EVENTN_PARAMS+CNT) = BLOCK_SIZE; *(unsigned volatile int *)(EVENTN_PARAMS+DST) = McBSP0_DXR; *(unsigned volatile int *)(EVENTN_PARAMS+IDX) = 0; *(unsigned volatile int *)(EVENTN_PARAMS+LNK) = EVENTN_PARAMS; και για το κανάλι D είναι: *(unsigned volatile int *)(EVENTO_PARAMS+OPT) = 0x ; *(unsigned volatile int *)(EVENTO_PARAMS+SRC) = McBSP0_DRR; *(unsigned volatile int *)(EVENTO_PARAMS+CNT) = BLOCK_SIZE; *(unsigned volatile int *)(EVENTO_PARAMS+DST) = dst; *(unsigned volatile int *)(EVENTO_PARAMS+IDX) = 0; *(unsigned volatile int *)(EVENTO_PARAMS+LNK) = EVENTO_PARAMS; Επισηµαίνεται ότι στη σύνδεση των µεταφορών, οι παράµετροι όλων των µεταφορών εκτός από τη πρώτη καθορίζονται από τις παραµέτρους επαναφόρτωσης του αντίστοιχου καναλιού. Συγκεκριµένα, για το κανάλι 12 (C) η µεταφορά του πρώτου µπλοκ θα γίνει µε βάση τις παραµέτρους που ξεκινάνε στη διεύθυνση EVENTC_ PARAMS ενώ όλες οι άλλες µεταφορές καθορίζονται από τις παραµέτρους επαναφόρτωσης που ξεκινούν από τη διεύθυνση EVENTN_ PARAMS. Βλέπουµε ότι η µόνη διαφορά έγκειται στην τιµή της παραµέτρου SRC Ως αποτέλεσµα έχει, η αρχική διεύθυνση του πρώτου µπλοκ δεδοµένων που θα σταλεί στον DXR να καθορίζεται από την pcm_out, ενώ οι αρχικές διευθύνσεις όλων

27 των υπολοίπων µπλοκ να καθορίζονται από την τιµή της µεταβλητής src, που ανανεώνεται κάθε φορά που εκτελείται η ISR. Η ίδια ακριβώς λογική ακολουθείται και για το κανάλι 13 (D). Ακολούθως θα αναφερθούµε στην ISR, που όπως ειπώθηκε πιο πάνω καλείται όταν ο EDMA controller παράγει ένα γενικό EDMA_INT προς τη CPU κατά την ολοκλήρωση µίας µεταφοράς δεδοµένων. Ειδικότερα όταν γεµίζει ένα µπλοκ τότε παράγει ο EDMA controller το κατάλληλο interrupt στη CPU. Η CPU εξυπηρετεί τη συγκεκριµένη διακοπή ενώ ο EDMA συνεχίζει να γεµίζει το επόµενο µπλοκ µε νέες τιµές που λαµβάνει από τον A/D. Για το λόγο αυτό, το µέγεθος των πινάκων in, out είναι NUM_OF_BLOCKS*BLOCK_SIZE όπου NUM_OF_BLOCKS > 2. Όταν ο EDMA ολοκληρώσει τη συµπλήρωση του τελευταίου στη σειρά µπλοκ, ξεκινά και πάλι να συµπληρώνει το πρώτο µπλοκ µε δεδοµένα. Αυτή η κυκλική διαδικασία συνεχίζεται για όσο διάστηµα µεταφέρονται τιµές από και προς τον A/D. Ο κώδικας που υλοποιεί αυτή την κυκλική ανανέωση παρατίθεται εδώ: if ( dma_index == NUM_OF_BLOCKS -1) { dma_index =0; dst = pcm_in; src = pcm_out; } else { dma_index++; src += BLOCK_SIZE*DATA_SIZE; dst += BLOCK_SIZE*DATA_SIZE; } Στο παραπάνω κώδικα το νέο µπλοκ δεδοµένων που θα διαβάσει ο EDMA controller καθορίζεται από τις νέες τιµές που παίρνουν οι διευθύνσεις src και dst. Στη συνέχεια θα πρέπει να καθαριστεί και το αντίστοιχο bit στον CIPR, όπως αναφέρθηκε. Ύστερα, επαναπροσδιορίζονται οι αρχικές διευθύνσεις για τις παραµέτρους του καναλιού 12 και 13. Αυτές παίρνουν ως τιµές τις νέες διευθύνσεις των src και dst. Έτσι, στο πεδίο SRC Address των παραµέτρων επαναφόρτωσης του καναλιού 12 αποθηκεύεται η αρχική διεύθυνση για το επόµενο block δεδοµένων που πρόκειται να οδηγηθεί στην έξοδο της κάρτας και στο πεδίο DST Address των παραµέτρων επαναφόρτωσης του καναλιού 13 αποθηκεύεται η αρχική διεύθυνση για το επόµενο block δεδοµένων εισόδου στην κάρτα: *(unsigned volatile int *)CIPR = 0x10; *(unsigned volatile int *)(EVENTN_PARAMS+SRC) = src; *(unsigned volatile int *)(EVENTO_PARAMS+DST) = dst; Με τις παρακάτω γραµµές κώδικα ελέγχουµε πότε έχουµε φτάσει στο τελευταίο µπλοκ των πινάκων, έτσι ώστε οι επόµενες µεταφορές να ξεκινήσουν πάλι από την αρχή.

28 temp = (int)in_ptr - pcm_in - NUM_OF_BLOCKS*BLOCK_SIZE*DATA_SIZE; if (temp >= 0) { in_ptr = (short *)pcm_in; } temp = (int)out_ptr - pcm_out - NUM_OF_BLOCKS*BLOCK_SIZE*DATA_SIZE; if (temp >= 0) { out_ptr = (short *)pcm_out; } Ερώτηµα 2: Με βάση το πρόγραµµα codec_edma.c που σας δίνεται καλείστε να δηµιουργήσετε στο Code Composer Studio ένα πρόγραµµα αποκωδικοποίησης ενός DTMF σήµατος που θα βασίζεται στον υπολογισµό του ιακριτού Μετασχηµατισµού Fourier (DFT) του DTMF σήµατος, χρησιµοποιώντας τον αλγόριθµο του Goertzel. Σχολιάστε τον αλγόριθµο Goertzel και περιγράψτε τον ακριβή τρόπο υλοποίησης που κάνατε. Ερώτηµα 3: Επαναλάβετε το προηγούµενο ερώτηµα χρησιµοποιώντας για την αποκωδικοποίηση του DTMF σήµατος την ιδέα της συστοιχίας φίλτρων (Filter Bank). Ερώτηµα 4: Υπολογίστε την πολυπλοκότητα των δυο τεχνικών αποκωδικοποίησης του DTMF σήµατος που υλοποιήσατε στα δύο προηγούµενα ερωτήµατα, και συµπεράνετε ποια είναι πιο οικονοµική. 4. Συµπεριφορά του συστήµατος παρουσία AWG θορύβου Θεωρήστε τώρα ότι το τηλεπικοινωνιακό κανάλι δεν είναι ιδανικό αλλά είναι όπως παρουσιάζεται στο Σχήµα 4. Στην περίπτωση αυτή το σήµα που φθάνει στην είσοδο του αποκωδικοποιητή προκύπτει από την υπέρθεση του σήµατος DTMF και του σήµατος θορύβου w(n) ο οποίος θα θεωρήσουµε ότι είναι λευκός και Γκαουσιανός. Σχήµα 4

29 Ερώτηµα 5: Επαναλάβετε τη διαδικασία της αποκωδικοποίησης όπως στο Ερώτηµα 2 και 3 έχοντας όµως προσθέσει στο σύστηµα θόρυβο. Πειραµατιστείτε για τιµές του SNR στο διάστηµα [-25 0] µε βήµα 2 db, και δείτε ποια είναι η κατώτερη τιµή για την οποία τα συστήµατά σας λειτουργούν ικανοποιητικά (σχετικά µικρό SER). Καταχωρήστε τα αποτελέσµατά σας σε πίνακα. Ερώτηµα 6: Προσπαθήστε να αιτιολογήσετε θεωρητικά τα αποτελέσµατά σας. 5. Βιβλιογραφία [1] TMS320C6711 Digital Signal Processor Data Sheet (Literature Number SPRS088), Texas Instruments, Dallas, TX, [2] TMS320C6000 Peripherals Guide (Literature Number SPRU190), Texas Instruments, Dallas, TX, [3] TLC320AD535C/I Data Manual Dual Channel Voice/Data Codec, (Literature Number SLAS202), Texas Instruments, Dallas, TX, [4] Code Composer Studio Getting Started Guide (Literature Number SPRU509), Texas Instruments, Dallas, TX, [5] Γ. Β. Μουστακίδης, "Βασικές Τεχνικές Ψηφιακής Επεξεργασίας Σηµάτων,", Εκδόσεις Τζιόλα [6] Sanjit K. Mitra, "Digital Signal Processing, A Computer-Based Approach," McGraw-Hill, [7] Vinay K. Ingle and John G. Proakis, "Digital Signal Processing Using MATLAB," PWS Publishing Company, [8] Steven A. Tretter, Communication System Design Using DSP Algorithms. With Laboratory Experiments for the TMS320C6701 and TMS320C6711, Kluwer Academic / Plenum Publishers, New York [9] Brian L. Evans, A Low-Cmplexity ITU-Compliant Dual Tone Multiple Frequency Detector, IEEE Trnasaction on Signal Procesing, Oct. 1999, [10] Matthew D. Felder, James C. Mason, and Brian L. Evans, Efficient Dual-Tone Multifrequency Detection Using the Nonuniform Discrete Fourier Transform, IEEE Signal Processing Letters, Vol. 5, No. 7, pp , July 1998.

30 Ε Ρ Γ Α Σ Τ Η Ρ Ι A4 Κ Η Α Σ Κ Η Σ Η Τεχνικές Εκτίµησης Συχνοτικού Περιεχοµένου Σηµάτων 1. Εισαγωγή Στα πλαίσια αυτής της άσκησης θα εξεταστούν τεχνικές εκτίµησης του συχνοτικού περιεχοµένου ντετερµινιστικών και στοχαστικών σηµάτων διακριτού χρόνου πεπερασµένης χρονικής διάρκειας και θα υλοποιηθούν στην αναπτυξιακή κάρτα DSK TMS320C6711. Συγκεκριµένα, οι τεχνικές που θα εξεταστούν και θα υλοποιηθούν θα βασίζονται στον Ταχύ Μετασχηµατισµό Fourier (FFT). Σκοπός της άσκησης είναι η φασµατική ανάλυση σηµάτων σε πραγµατικό χρόνο και η διερεύνηση θεµάτων, όπως η παραθύρωση και η κατάτµηση του σήµατος. Τέλος υλοποιείται η τεχνική της φασµατικής αφαίρεσης, µε σκοπό τη βελτίωση της ποιότητας σηµάτων οµιλίας σε πραγµατικό χρόνο. 2. Εκτίµηση συχνοτικού περιεχοµένου Σήµατος µε Χρήση ιακριτού Χρόνου Μετασχηµατισµού Fourier Γνωρίζουµε ότι ο ιακριτού Χρόνου Μετασχηµατισµός Fourier είναι το µαθηµατικό εργαλείο που µας µεταφέρει από το πεδίο του διακριτού χρόνου στο πεδίο της ψηφιακής συχνότητας. Και ορίζεται από τη σχέση: jω X( e ) = xne n= jnω

31 όπου x n είναι ένα σήµα διακριτού χρόνου. Από τον ορισµό του Μετασχηµατισµού Fourier είναι φανερό ότι για να υπολογίσουµε το συχνοτικό περιεχόµενο ενός σήµατος είναι απαραίτητο να γνωρίζουµε ολόκληρο το σήµα Στη πράξη βέβαια µας διατίθεται ένα πεπερασµένο σύνολο δειγµάτων, µε το οποίο καλούµαστε να εκτιµήσουµε το συχνοτικό περιεχόµενο ολόκληρου του σήµατος x n. x n. ίχως απώλεια της γενικότητας θα θεωρήσουµε ότι διαθέτουµε τα N δείγµατα x0, x1,, xn 1 µε τα οποία θα j επιχειρήσουµε να εκτιµήσουµε το συχνοτικό περιεχόµενο X ( e ω ) του σήµατος x n. Εάν πέρα των N δειγµάτων δεν υπάρχει καµία επιπλέον πληροφορία για το σήµα x n, τότε ένας προφανής j τρόπος εκτίµησης του X ( e ω ) είναι η αντικατάσταση του απείρου αθροίσµατος στην παραπάνω σχέση µε το πεπερασµένο άθροισµα που αναφέρεται στα διαθέσιµα δείγµατα, δηλαδή: N 1 jω X( e ) = xne n= 0 j Η προσέγγιση X ( e ω ) αποτελεί το ιακριτού Χρόνου Μετασχηµατισµό Fourier της ακολουθίας x ˆ = w x (ο οποίος µπορεί να υπολογιστεί µε πολύ µικρό υπολογιστικό κόστος µε χρήση FFT), n n όπου το n jnω w n, είναι η ακολουθία τετραγωνικού παραθύρου: w n 1, 0 n N 1 = 0, αλλού Η εκτίµηση του συχνοτικού περιεχοµένου µπορεί να βελτιωθεί εαν χρησιµοποιήσουµε εναλλακτικά παράθυρα στη θέση του τετραγωνικού. Τα παράθυρα αυτά επιχειρούν να εξοµαλύνουν τις ασυνέχειες που εµφανίζει το τετραγωνικό παράθυρο, δίνοντας έτσι µικρό βάρος σε δείγµατα που συνορεύουν µε τις χρονικές στιγµές 0 και N -1. Ερώτηµα 1: Εκτιµήστε 1 το συχνοτικό περιεχόµενο ενός ηµιτονικού σήµατος χρησιµοποιώντας: 1. τετραγωνικό παράθυρο, 2. παράθυρο Hamming και 3. παράθυρο Kaiser. Σχολιάστε τα αποτελέσµατά σας. Χρησιµοποιήστε µπλοκ δεδοµένων 32 N Στο Μatlab.

32 3. Εκτίµηση φάσµατος µε χρήση περιοδογράµµατος Στη συνέχεια θα αναφερθούµε σε µια τεχνική εκτίµησης συχνοτικού περιεχοµένου ενός στοχαστικού σήµατος. Η τεχνική αυτή ονοµάζεται περιοδόγραµµα και εφαρµόζεται σε ενθόρυβα σήµατα της µορφής: y [ n] = s[ n] + w[ n] Το περιοδόγραµµα για µια ακολουθία y[ n ], Ν σηµείων ορίζεται ως: 1 2 I N ( ω) = Υ( ω) N όπου Y ( ω ) = N 1 n= 0 y[ n] e jω nt είναι ο ιακριτού Χρόνου Μετασχηµατισµός Fourier του σήµατος y[ n ]. Με µια πρώτη µατιά είναι φυσικό να υποθέσουµε ότι όσο το Ν αυξάνεται, το περιοδόγραµµα γίνεται µια καλύτερη εκτίµηση της πυκνότητας φάσµατος ισχύος για µια στάσιµη τυχαία διαδικασία. Παρόλα αυτά κατι τέτοιο δε συµβαίνει. Στη πραγµατικότητα η µέση τιµή του περιοδογράµµατος συγκλίνει στην πραγµατική πυκνότητα φάσµατος, αλλά η διασπορά του παραµένει µεγάλη. Όσο το Ν αυξάνεται το περιοδόγραµµα έχει τη τάση να ταλαντώνεται ολοένα και πιο γρήγορα. Μια λύση στο πρόβληµα αυτό είναι να υπολογιστεί η µέση τιµή του περιοδογράµµατος Ν σηµείων της ακολουθίας δεδοµένων που µελετάται. Έστω x[ n ] η ακολουθία αυτή µε διάρκεια M = L N. ηµιουργούµε L υποακολουθίες Ν σηµείων ως εξής: y k h[ n] x[ kn + n], [ n] = 0, n = 0,1,, N 1 αλλού, k = 0,1,, L 1 µε χρήση του επιθυµητού παραθύρου h n, και στη συνέχεια ο υπολογίζεται ο ιακριτού Χρόνου Μετασχηµατισµός Fourier των υποακολουθιών y k [n] ως, Y ( ω ) = k N 1 n= 0 y [ n] e k jω nt Τότε το περιοδόγραµµα του αρχικού σήµατος θα δίνεται από τη σχέση:

33 I Nk, L 1 1 ( ω) = Υk( ω) L k = 0 2 Η επιλογή των παραµέτρων L και N, δηλαδή το πλήθος και το µέγεθος των υποακολουθιών, επηρεάζει τη διακριτική ικανότητα του περιοδογράµµατος και εποµένως και την εκτίµηση του συχνοτικού περιεχοµένου της ενθόρυβης ακολουθίας της οποίας το φασµατικό περιεχόµενο θέλουµε να εκτιµήσουµε. Όταν οι υποακολουθίες είναι στατιστικά ανεξάρτητες, παίρνοντας το µέσο όρο L υποακολουθιών µειώνεται η διασπορά κατά ένα συντελεστή L (γιατί;). Με χρήση επικαλυπτόµενων υποακολουθιών µπορούµε να πετύχουµε ακόµη µεγαλύτερη µείωση της διασποράς. Ερώτηµα 2 2 : Υπολογίστε το περιοδόγραµµα ενος ενθόρυβου ηµιτόνου χωρίς τµηµατοποίηση της αρχικής ακολουθίας (µπλοκ δεδοµένων Ν =128). Ερώτηµα 3: Χρησιµοποιώντας µπλοκ δεδοµένων µήκους Μ=128 πειραµατιστείτε µε τις τιµές των L, N, χωρίς επικαλυπτόµενες υποακολουθίες, και σχολιάστε τα αποτελέσµατά σας. Τι παρατηρείτε; Συγκρίνετε τα αποτελέσµατα που πήρατε µε αυτά του Ερωτήµατος 2. Ερώτηµα 4: Επαναλάβατε τη διαδικασία του Ερωτήµατος 3 µε χρήση επικαλυπτόµενων υποακολουθιών (επικάλυψη 50%). Συγκρίνετε τα αποτελέσµατά σας. 4. Υλοποίηση Αλγορίθµου Εκτίµησης Συχνοτικού Περιεχοµένου στο DSK Μελετήστε το αρχείο FFT_Decimation_in_time.c στο οποίο υλοποιείται ο µιγαδικός Ταχύς Μετασχηµατισµός Fourier µε αποδεκατισµό στο χρόνο. Ερώτηµα 5: Χρησιµοποιώντας το αρχείο αυτό γράψτε πρόγραµµα για την αναπτυξιακή κάρτα που θα κάνει τα ακόλουθα: 1. θα γεµίζει ένα µιγαδικό πίνακα µε τις τιµές του ακόλουθου σήµατος: x( n) = sin(2π 1000n / 8000), n = 0,1, θα υπολογίζει και θα αποθηκεύει σε πίνακα τα µέτρα των µιγαδικών τιµών του FFT του παραπάνω σήµατος. 3. Χρησιµοποιώντας το περιβάλλον CCS: επιβεβαιώστε την σωστή λειτουργία του προγράµµατος σας κάνοντας γραφική παράσταση των µέτρων των τιµών του FFT που υπολογίσατε. 2 Απαντήστε στα ερωτήµατα 2-4 χρησιµοποιώντας το Matlab.

34 Βρείτε το χρόνο που απαιτεί ο υπολογισµός του (χρησιµοποιείστε το κατάλληλο εργαλείο του CCS). Επαναλάβετε την παραπάνω διαδικασία χρησιµοποιώντας: παράθυρο Hamming και παράθυρο Kaiser. Σχολιάστε αν τα αποτελέσµατά σας είναι τα αναµενόµενα. Ερώτηµα 6: Αλλάξτε το σήµα εισόδου µε το ακόλουθο: x( n) = sin(2π ( /1024) n / 8000), n = 0,1, 511 και επαναλάβετε αυτά που αναφέρθηκαν στο ερώτηµα 5. Εξηγείστε τα αποτελέσµατά σας. 5. Υλοποίηση Αλγορίθµου Εκτίµησης Φάσµατος Ισχύος στο DSK Στη συνέχεια θα υλοποιήσουµε ένα στοιχειώδη φασµατικό αναλυτή. Το DSK θα χρησιµοποιηθεί για την συλλογή σήµατος εισόδου και τον υπολογισµό σε πραγµατικό χρόνο του περιοδογράµµατος του σήµατος. Το περιβάλλον CCS που αναφέρθηκε στην προηγούµενη παράγραφο θα χρησιµοποιηθεί για την απεικόνιση του περιοδογράµµατος σε πραγµατικό χρόνο. Για το σκοπό αυτό: 1. Αρχικοποιήστε, ακολουθώντας την διαδικασία και το πρόγραµµα της προηγούµενης εργαστηριακής άσκησης, την µονάδα EDMA. 2. Αρχικοποιήστε δύο array (π.χ. block1 block2) µεγέθους 2Χ512 το καθένα, µε σκοπό στο ένα να συλλέγετε δείγµατα του σήµατος εισόδου µε την βοήθεια της µονάδας EDMA και στο άλλο, ταυτόχρονα, να υπολογίζεται το περιοδόγραµµα του σήµατος. 3. Άπαξ και ο FFT του τρέχοντος τµήµατος δεδοµένων υπολογιστεί, και στο άλλο array έχουν συλλεχθεί 2Χ512 νέα δείγµατα, οι ρόλοι των δύο array θα πρέπει να εναλλαχθούν. 4. Αρχικοποιείστε ένα array (π.χ. Spectrum) µεγέθους 256 (γιατί;) στο οποίο θα πρέπει να αποθηκεύονται οι τιµές του φάσµατος. 5. Το πρόγραµµά σας θα πρέπει: να υπολογίζει το φάσµα από τη µέση τιµή των FFT τουλάχιστον 8 µπλοκ µεγέθους 2Χ512 και να παρέχει τη δυνατότητα χρήσης διαφορετικών παραθύρων. Αφού υλοποιήσετε το πρόγραµµά σας, χρησιµοποιώντας τα ερωτήµατα της προηγούµενης παραγράφου, ελέγξτε τη σωστή λειτουργία του, και καταγράψτε τα αποτελέσµατά σας. Χρησιµοποιείστε εκτός από ηµιτονικά, τετραγωνικό παλµό, και σήµα οµιλίας µε και χωρίς προσθετικό Γκαουσιανό θόρυβο.

35 6. Βελτίωση Ποιότητας Σήµατος Οµιλίας σε Πραγµατικό Χρόνο Η εφαρµογή που θα παρουσιαστεί στη συνέχεια ονοµάζεται φασµατική αφαίρεση (spectral subtraction) και αποτελεί µια από τις πολλές λύσεις που έχουν προταθεί για τη βελτίωση της ποιότητας των σηµάτων οµιλίας. Η τεχνική αυτή πραγµατοποιείται στο πεδίο της συχνότήτας και βασίζεται στην υπόθεση ότι το φάσµα του σήµατος εισόδου είναι η υπέρθεση του φάσµατος του σήµατος οµιλίας και του φάσµατος του θορύβου. Το σχηµατικό διάγραµµα του συστήµατος που πρόκειται να υλοποιηθεί φαίνεται στο σχήµα που ακολουθεί: Σχήµα 1: Σχηµατικό διάγραµµα συστήµατος βελτίωσης σήµατος οµιλίας. Θεωρήστε ότι η συχνότητα δειγµατοληψίας είναι 8ΚHz και υπολογίζεται ένας FFT 256 σηµείων κάθε 64 δείγµατα του σήµατος εισόδου (8ms). 6.1 Τεχνική Επικάλυψης και Πρόσθεσης Για να πραγµατοποιηθεί η επεξεργασία στο πεδίο της συχνότητας, είναι απαραίτητο να διασπάσουµε το σήµα εισόδου σε επικαλυπτόµενα µπλοκ που θα ονοµάζουµε πλαίσια. Αφού γίνει η επεξεργασία τους, τα πλαίσια αθροίζονται ξανά ώστε να δηµιουργήσουµε το σήµα εξόδου. Η παραθύρωση των πλαισίων πριν υπολογιστεί ο FFT και µετά την εφαρµογή του αντίστροφου µετασχηµατισµού FFT, όπως και στον υπολογισµό του φάσµατος, είναι απαραίτητη (γιατί;) Όπως φαίνεται στο Σχήµα 2, κάθε πλαίσιο έχει επικάλυψη µε το προηγούµενο του 50%. Αν και αυτό το ποσοστό επικάλυψης δίνει αποδεκτά αποτελέσµατα, είναι πιο σύνηθες να χρησιµοποιείται επικάλυψη 75%. Σε αυτήν την περίπτωση, κάθε δείγµα εξόδου θα προκύπτει από το άθροισµα τεσσάρων συνεχόµενων πλαισίων. 6.2 Αφαίρεση του Φάσµατος Θορύβου Η βασική ιδέα της τεχνικής είναι πολύ απλή. Ουσιαστικά εκµεταλλευόµενη τις παύσεις που υπάρχουν κατά τακτά διαστήµατα σε ένα σήµα οµιλίας, προσπαθεί να εκτιµήσει το φάσµα του θορύβου και στην συνέχεια να το αφαιρέσει από αυτό του σήµατος εισόδου:

36 ( ) ( ) ( ) Y X N ω ω ω = Ωστόσο, επειδή δε γνωρίζουµε τη σωστή φάση του φάσµατος του θορύβου αφαιρούµε το µέτρο του αφού το πολλαπλασιάσουµε µε τη φάση του Μετασχηµατισµού Χ(ω)του σήµατος οµιλίας, δηλαδή: Σχήµα 2: ιαδικασίες που υλοποιούνται από το σύστηµα βελτίωσης ποιότητας σήµατος οµιλίας. ) ( ) ( ) ( ) ( 1 ) ( ) ( ) ( ) ( ) ( ) ( ω ω ω ω ω ω ω ω ω ω g X X N X X N X X Y = = = όπου βέβαια η συνάρτηση g(ω) ορίζεται από τη σχέση: ) ( ) ( 1 ) ( ω ω ω X N g = και µπορούµε να τη θεωρήσουµε ως ένα παράγοντα κέρδους εξαρτώµενο από τη συχνότητα, και εποµένως η παραπάνω σχέση εκφράζει γραµµικό φιλτράρισµα (γιατί;). Παρατηρήστε επίσης ότι η συνάρτηση κέρδους g(ω) µπορεί να πάρει και αρνητικές τιµές (πότε θα συµβεί αυτό;). Για να αποφευχθεί αυτό, για τον ορισµό της χρησιµοποιούµε την ακόλουθη σχέση: ( ) ( ) max,1 ( ) N g ω ω λ ω = Χ όπου η λ µια σταθερά στο διάστηµα [0.01, 0.1].

37 6.3 Εκτίµηση του Φάσµατος Θορύβου Όταν κάποιος µιλάει, θα πρέπει αναπόφευκτα να κάνει παύσεις για να αναπνεύσει. Όπως ήδη αναφέραµε, µπορούµε να χρησιµοποιήσουµε αυτές τις παύσεις που υπάρχουν στο σήµα οµιλίας για να εκτιµήσουµε χαρακτηριστικά του θορύβου. Για το σκοπό αυτό, για κάθε συχνότητα που υπολογίζουµε τον Ταχύ µετασχηµατισµό Fourier του σήµατος εισόδου, προσδιορίζουµε το ελάχιστο πλάτος που έχει υπάρξει σε οποιοδήποτε πλαίσιο για µια περίοδο τουλάχιστον 10 δευτερολέπτων. Με την προϋπόθεση ότι κανένας άνθρωπος δε µιλάει περισσότερο από 10 δευτερόλεπτα χωρίς παύση, αυτή η ελάχιστη τιµή του φάσµατος θα αντιστοιχεί στο ελάχιστο πλάτος του θορύβου, που εµφανίστηκε κατα τη διάρκεια των διαστηµάτων παύσης οµιλίας. Επείδή η εκτίµηση αυτή δεν είναι πάντα κοντά τη µέση τιµή του µέτρου θορύβου θα πρέπει, πριν τη χρησιµοποιήσουµε να πολλαπλασιαστεί µε ένα συντελεστή αντιστάθµισης,. Ο καθορισµός της µικρότερης τιµής του φάσµατος στα τελευταία 10 δευτερόλεπτα απαιτεί να αποθηκευτεί ολόκληρο το φάσµα συχνοτήτων, κάτι που έχει πολύ µεγάλο κόστος σε απαιτήσεις µνήµης. Μπορούµε να καθορίσουµε µια προσέγγιση της ελάχιστης τιµής που αναζητούµε µε πολύ µικρότερο κόστος σε µνήµη αν ακολουθήσουµε την παρακάτω διαδικασία: Αποθηκεύουµε τέσσερις (4) εκτιµήσεις της ελάχιστης τιµής του φάσµατος M i ( ω ), i = 1, 2, 3, 4 σε τέσσερις θέσεις µνήµης. Για κάθε πλαίσιο ανανεώνουµε το M 1 ως εξής : ( ) M ( ω) = min X( ω), M ( ω) 1 1 Κάθε 2.5 δευτερόλεπτα (χρόνος που αντιστοιχεί στην επεξεργασία 312 πλαισίων) µεταφέρουµε την τιµή του φάσµατος M i ( ω ) στο M ( ) i+ 1 ω και ενηµερώνουµε το Μ 1 (ω) σύµφωνα µε από την παραπάνω σχέση. Μπορούµε λοιπόν να εκτιµήσουµε το φάσµα θορύβου µε την ακόλουθη σχέση: N( ω) = αmin( M ( ω)) i= 1..4 όπου ο συντελεστής α, όπως ήδη αναφέραµε, αντισταθµίζει το σφάλµα της εκτίµησής µας. Ο συντελεστής αυτός µπορεί να πάρει τιµές στο διάστηµα [2, 20]. Στη συνέχεια αναλύεται η παραπάνω διαδικασία µε τη βοήθεια του καταστατικού διαγράµµατος που φαίνεται στο σχήµα που ακολουθεί. i

38 Σχήµα 3: Στιγµιότυπα στα οποία φαίνονται τα περιεχόµενα των θέσεων µνήµης που χρησιµοποιούµε για τον εντοπισµό της ελάχιστης τιµής του φάσµατος. Στο παραπάνω διάγραµµα φαίνεται το περιεχόµενο των τεσσάρων θέσεων µνήµης τις χρονικές στιγµές των 11, 12 και 13 δευτερολέπτων µετά την εκκίνηση του συστήµατος. Στην πρώτη γραµµή του παραπάνω διαγράµµατος, 11 δευτερόλεπτα µετά την εκκίνηση του συστήµατος, τα Μ4, Μ3 και Μ2 είναι οι ελάχιστες τιµές φάσµατος που προέκυψαν στα τρία χρονικά διαστήµατα διάρκειας 2.5 δευτερολέπτων καθένα (2.5-5, και ) και το Μ1 είναι η ελάχιστη τιµή του φάσµατος που προέκυψε στο χρονικό διάστηµα από το 10 - το ως το 11-τό δευτερόλεπτο. Παίρνοντας τώρα το ελάχιστο µεταξύ αυτών των τεσσάρων τιµών έχουµε βρει στην ουσία την ελάχιστη τιµή φάσµατος που έχει προκύψει σε διάστηµα 8.5 δευτερολέπτων, από το 2.5 µέχρι το 11 δευτερόλεπτο. Στην δεύτερη γραµµή του παραπάνω διαγράµµατος, τα Μ4, Μ3 και Μ2 παραµένουν αµετάβλητα όµως τώρα το Μ1 περιέχει την ελάχιστη τιµή του φάσµατος για το διάστηµα 10-το ως 12-το δευτερόλεπτο και έτσι βρίσκοντας το ελάχιστο µεταξύ αυτών των τεσσάρων τιµών υπολογίζουµε την ελάχιστη τιµή φάσµατος που έχει προκύψει στο διάστηµα των 9.5 δευτερολέπτων, από το 2.5 µέχρι το 12 δευτερόλεπτο. Σύµφωνα µε τα όσα αναφέραµε παραπάνω, τη χρονική στιγµή 12.5, µεταφέρουµε το Μ3 στο Μ4, το Μ2 στο Μ3 και το Μ1 στο Μ2, οπότε σε αυτή την περίπτωση η ελάχιστη τιµή δίνει την ελάχιστη τιµή του φάσµατος για το διάστηµα των 8 δευτερολέπτων, από το 5-ο µέχρι και το 13-ο δευτερόλεπτο.

39 7. Υλοποίηση Αλγορίθµου στο DSK Σκοπός είναι η σταδιακή υλοποίηση στην αναπτυξιακή κάρτα των διαδικασιών που φαίνονται στο Σχήµα 2. Σαν πρώτο βήµα για την επίτευξη του σκοπού αυτού, τροποποιήστε το πρόγραµµα της Ενότητας 5 ώστε να υλοποιεί την τρίτη και την πέµπτη διαδικασία του Σχήµατος 2. Για το σκοπό αυτό θα πρέπει να χρησιµοποιείται τον FFT και στον υπολογισµό του IFFT. Αφού βεβαιωθείτε για την σωστή λειτουργία του προγράµµατός σας (χρησιµοποιώντας τα κατάλληλα εργαλεία του CCS), προσθέστε τον απαραίτητο κώδικα που θα υλοποιεί τις διαδικασίες της παραθύρωσης των δεδοµένων. οκιµάστε το πρόγραµµά σας χρησιµοποιώντας: παράθυρο Hamming και παράθυρο Kaiser. Υλοποιείστε στη συνέχεια την τεχνική επικάλυψης και πρόσθεσης πλαισίων της Παραγράφου 6.1. Υλοποιείστε στη συνέχεια τον αλγόριθµο εκτίµησης του φάσµατος θορύβου που περιγράφηκε στην Παράγραφο 6.3. Για τον έλεγχο της σωστής λειτουργίας του χρησιµοποιείστε ενθόρυβα ηµιτονικά σήµατα. οκιµάστε για διαφορετικές τιµές του SNR και δείτε αν η µορφή της συνάρτησης g(ω) (Παράγραφος 6.2) είναι η αναµενόµενη. Πειραµατιστείτε µε διαφορετικές τιµές της παραµέτρου αντιστάθµισης α και καταγράψτε τα αποτελέσµατά σας. Ενσωµατώστε τα επιµέρους προγράµµατα σε ένα ενιαίο πρόγραµµα. Για τον έλεγχο σωστής λειτουργίας του προγράµµατός σας χρησιµοποιείστε το αρχείο noisy_speech που περιέχει ένα ενθόρυβο σήµα οµιλίας. 5. Βιβλιογραφία [1] TMS320C6711 Digital Signal Processor Data Sheet (Literature Number SPRS088), Texas Instruments, Dallas, TX, [2] TMS320C6000 Peripherals Guide (Literature Number SPRU190), Texas Instruments, Dallas, TX, [3] TLC320AD535C/I Data Manual Dual Channel Voice/Data Codec, (Literature Number SLAS202), Texas Instruments, Dallas, TX, [4] Code Composer Studio Getting Started Guide (Literature Number SPRU509), Texas Instruments, Dallas, TX, [5] Γ. Β. Μουστακίδης, "Βασικές Τεχνικές Ψηφιακής Επεξεργασίας Σηµάτων,", Εκδόσεις Τζιόλα [6] Sanjit K. Mitra, "Digital Signal Processing, A Computer-Based Approach," McGraw-Hill, [7] Steven A. Tretter, Communication System Design Using DSP Algorithms. With Laboratory Experiments for the TMS320C6701 and TMS320C6711, Kluwer Academic / Plenum Publishers, New York [8] Martin, R., "Spectral Subtraction Based on Minimum Statistics", Signal Processing VII:Theories and Applications, pp , Holt, M., Cowan, C., Grant, P. and Sandham, W.(Eds.), 1994

40 Ε Ρ Γ Α Σ Τ Η Ρ Ι Α5 Κ Η Α Σ Κ Η Σ Η Αυτόµατη Αναγνώριση Οµιλητή 1. Εισαγωγή Με τον όρο «αυτόµατη αναγνώριση οµιλητή» (automatic speaker recognition) εννοούµε την αυτόµατη διαδικασία αναγνώρισης του προσώπου που µιλάει χρησιµοποιώντας την ιδιαίτερη πληροφορία που κρύβεται στην κυµατοµορφή της οµιλίας του. Με την τεχνική αυτή µπορούµε να χρησιµοποιήσουµε την φωνή προκειµένου να εξακριβώσουµε ή να επιβεβαιώσουµε την ταυτότητά ενός οµιλητή, και εποµένως να του παρέχουµε πρόσβαση σε διάφορες υπηρεσίες, όπως για παράδειγµα πρόσβαση εισόδου σε χώρους ασφαλείας, παροχή υπηρεσιών µέσω διαδικτύου (web-banking), αποµακρυσµένη πρόσβαση σε υπολογιστές κ.α.. Στόχος της συγκεκριµένης άσκησης είναι να δηµιουργήσουµε ένα απλό αλλά ωστόσο αντιπροσωπευτικό σύστηµα αυτόµατης αναγνώρισης οµιλητή. 2. Αναγνώριση Οµιλητή Η αναγνώριση οµιλητή (speaker recognition) µπορεί να διακριθεί σε εξακρίβωση οµιλητή (speaker identification) και επιβεβαίωση οµιλητή (speaker verification) [1], [2]. Κατά την εξακρίβωση οµιλητή, στόχος είναι να αναγνωρίσουµε ποιος οµιλητής έχει προφέρει µια φράση. Κατά την πιστοποίηση, ο οµιλητής προφέρει µια φράση και ταυτόχρονα δηλώνει την ταυτότητά του, ενώ στόχος του συστήµατος είναι να εξακριβώσει αν πραγµατικά είναι αυτός που δηλώνει. Στο Σχήµα 1 φαίνεται η βασική δοµή των δύο συστηµάτων. Η αναγνώριση οµιλητή µπορεί επίσης να διακριθεί σε µεθόδους εξαρτηµένες και ανεξάρτητες από κείµενο (text dependent/ independent). Σε ένα σύστηµα ανεξάρτητο από κείµενο, το µοντέλο οµιλητή περιλαµβάνει χαρακτηριστικά του οµιλητή που εµφανίζονται ανεξάρτητα από τις φράσεις που προφέρει. Αντίθετα, σε ένα σύστηµα εξαρτηµένο από κείµενο, η αναγνώριση του οµιλητή βασίζεται σε συγκεκριµένες φράσεις που καλείται να προφέρει ο οµιλητής, όπως passwords, αριθµούς, PINs, κ.λ.π. Γενικά, κάθε σύστηµα αναγνώρισης οµιλητή περιλαµβάνει δύο βασικά τµήµατα: την εξαγωγή χαρακτηριστικών (feature extraction), και την ταυτοποίηση χαρακτηριστικών (feature matching). Εξαγωγή χαρακτηριστικών είναι η διαδικασία κατά την οποία εξάγεται περιορισµένη πληροφορία από το σήµα φωνής, η οποία όµως είναι ικανή να αναπαραστήσει κάθε οµιλητή.

41 Ταίριασµα Σήµα Φωνής Εξαγωγή Χαρακτηριστικών Μοντέλο Οµιλητή #1... Επιλογή Μεγίστου #Οµιλητή Ταίριασµα Μοντέλο Οµιλητή #Ν (α) Εξακρίβωση Οµιλητή (Speaker Identification) Σήµα Φωνής Εξαγωγή Χαρακτηριστικών Ταίριασµα Απόφαση Αποδοχή - Απόρριψη #Οµιλητή Μ Μοντέλο Οµιλητή #Μ Κατώφλι (β) Επιβεβαίωση Οµιλητή (Speaker Verification) Σχήµα 1: Συστήµατα Αναγνώρισης Οµιλητή. Η ταυτοποίηση των χαρακτηριστικών είναι ουσιαστικά η διαδικασία αναγνώρισης ενός άγνωστου οµιλητή συγκρίνοντας τα φωνητικά χαρακτηριστικά του µε αυτά όλων των οµιλητών. Κάθε σύστηµα αναγνώρισης οµιλητή λειτουργεί σε δύο φάσεις. Η πρώτη είναι η φάση της εγγραφής ή φάση εκπαίδευσης (enrolment/ training phase), και η δεύτερη είναι η φάση της λειτουργίας ή ελέγχου (operation / testing phase). Κατά την εγγραφή, κάθε χρήστης του συστήµατος παρέχει έναν αριθµό δειγµάτων ηχητικού σήµατος, µε τα οποία το σύστηµα θα δηµιουργήσει εκπαιδεύσει το µοντέλο αναφοράς του συγκεκριµένου οµιλητή. Κατά τη διαδικασία λειτουργίας, το ηχητικό σήµα εισόδου αντιστοιχίζεται σε ένα από τα υπάρχοντα µοντέλα οµιλητή και πραγµατοποιείται η αναγνώριση. Η αναγνώριση οµιλητή είναι ένας δύσκολος στόχος και αποτελεί ένα ανοιχτό ερευνητικό πεδίο. Η λειτουργία ενός τέτοιου συστήµατος βασίζεται στην ιδέα ότι το φωνητικό σήµα διαθέτει χαρακτηριστικά που είναι διακριτικά για κάθε οµιλητή. Κάτι τέτοιο ωστόσο δεν είναι εύκολο να ισχύει πάντοτε λόγω της τυχαιότητας των φωνητικών σηµάτων. Τα φωνητικά σήµατα κατά την φάση εκπαίδευσης και λειτουργίας µπορούν να διαφέρουν σηµαντικά επειδή η φωνή ενός χρήστη µπορεί να αλλάξει µε το χρόνο, τις συνθήκες υγείας, το ρυθµό οµιλίας, τη συναισθηµατική κατάσταση, κ.ά. Επίσης, παράγοντες όπως ο διαφορετικός εξοπλισµός (π.χ. µικρόφωνα), το περιβάλλον ηχογράφησης, και η ύπαρξη ακουστικού θορύβου, µπορούν να επηρεάσουν σηµαντικά την απόδοση ενός συστήµατος αναγνώρισης οµιλητή.

42 3. Εξαγωγή Φωνητικών Χαρακτηριστικών 3.1. Εισαγωγή Σκοπός του τµήµατος αυτού είναι η µετατροπή της φωνητικής κυµατοµορφής σε κάποιο παραµετρικό τύπο αναπαράστασης µε σηµαντικά χαµηλότερο ρυθµό πληροφορίας για περαιτέρω ανάλυση και επεξεργασία. Το σήµα φωνής µεταβάλλεται χρονικά µε αργό τρόπο, και για αυτό χαρακτηρίζεται ως σχεδόνστάσιµο (quasi-stationary). Ένα παράδειγµα ηχητικού σήµατος φαίνεται στο Σχήµα 2. Στο Σχήµα 2.(α), ένας οµιλητής προφέρει στα αγγλικά την ακολουθία αριθµών « » µέσα σε 6sec. Παρατηρούµε ότι το ηχητικό σήµα αλλάζει ταχύτατα (περίπου ανά 1/5sec), εφόσον αντιστοιχεί στους διαφορετικούς ήχους που προφέρονται. Στο Σχήµα 2.(β) επικεντρώνουµε το γράφηµα σε µια περιοχή 0,25sec (αντιστοιχεί στην έναρξη της λέξης «nine»). Εκεί, διαπιστώνουµε ότι σε µικρά χρονικά τµήµατα της τάξης των 5-100msec, τα χαρακτηριστικά του σήµατος είναι περίπου σταθερά. Εποµένως, ένας αποδοτικός τρόπος αναπαράστασης του φωνητικού σήµατος είναι η φασµατική ανάλυση περιορισµένου χρόνου (short-time spectral analysis) [3]. Σχήµα 2: Σήµα οµιλίας. Υπάρχει µια µεγάλη ποικιλία χαρακτηριστικών και µεθόδων που µπορούν να χρησιµοποιηθούν προκειµένου να αναπαραστήσουµε παραµετρικά το σήµα φωνής για αναγνώριση οµιλητή: όπως οι συντελεστές γραµµικής πρόβλεψης (Linear Prediction Coefficients, LPC), οι συντελεστές συχνότητας Cepstrum του Mel (Mel-Frequency Cepstrum Coefficients, MFCC), και άλλοι [2], [4], [5]. Οι συντελεστές MFCC είναι ίσως οι πιο γνωστές παράµετροι για αναγνώριση οµιλητή, και αυτές θα χρησιµοποιήσουµε στην παρούσα άσκηση. Βασίζονται στο φασµατικό περιεχόµενο του φωνητικού σήµατος, αλλά όπως αυτό αναγνωρίζεται από την ανθρώπινη ακοή. Συγκεκριµένα, εφαρµόζουµε τριγωνικά φίλτρα των οποίων οι κεντρικές συχνότητες ισαπέχουν στις χαµηλές συχνότητες και λογαριθµικά τοποθετηµένα στις υψηλότερες συχνότητες. Η διαδικασία αυτή ορίζει την κλίµακα Mel, και ορίζει γραµµικές αποστάσεις κάτω από τα 1000Hz, και λογαριθµικές αποστάσεις πάνω από τα 1000Hz. Στην επόµενη παράγραφο περιγράφεται η διαδικασία εξαγωγής των συντελεστών MFCC Εξαγωγή Συντελεστών MFCC Στο επόµενο σχήµα περιγράφεται η διαδικασία εξαγωγής των MFCC. Αρχικά, το ηχητικό σήµα ηχογραφείται µε ρυθµό δειγµατοληψίας πάνω από 8KHz. Το δειγµατοληπτηµένο σήµα περιέχει

43 συχνότητες µέχρι τα 4KHz, οι οποίες καλύπτουν τη µεγαλύτερη ενέργεια των ήχων που παράγονται από τους ανθρώπους. Όπως αναφέρθηκε παραπάνω, κατά την εξαγωγή των MFCC προσπαθούµε να µιµηθούµε την ανθρώπινη ακοή. Οι συντελεστές MFCC, σε αντίθεση µε το ίδιο το ηχητικό σήµα, είναι λιγότερο ευαίσθητοι στις διακυµάνσεις που αναφέραµε. Σήµα Φωνής Πλαισίωση Πλαίσιο Παραθύρωση FFT Φάσµα Mel Cepstrum Cepstrum Φάσµα Mel Τύλιγµα Συχνότητας Mel Σχήµα 3: ιαδικασία Εξαγωγής Συντελεστών MFCC. Στα πλαίσια της άσκησης, θα εργαστείτε µε ηχητικά σήµατα που έχουν ήδη ηχογραφηθεί (δειγµατοληπτηθεί και κβαντιστεί) και σας δίνονται υπό τη µορφή αρχείων wav. 1 Πλαισίωση (Framing) Στο βήµα αυτό, η συνεχής ροή δειγµάτων ηχητικού σήµατος διαιρείται σε πλαίσια των Ν δειγµάτων, ενώ τα διαδοχικά πλαίσια απέχουν µεταξύ τους κατά Μ δείγµατα (Μ<Ν). Στην άσκηση αυτή, θα χρησιµοποιήσουµε Ν=256 και Μ=100. Αν το ηχητικό σήµα έχει δειγµατοληπτηθεί µε f s =8KHz, τότε η περίοδος δείγµατος είναι T s =1/f s =0,125msec. Έτσι, το σήµα διαιρείται σε πλαίσια διάρκειας NT s =32msec, τα οποία απέχουν κατά MT s =12,5msec. Αυτό σηµαίνει ότι εξάγεται ένα πλαίσιο κάθε 12,5msec, και ότι τα πλαίσια είναι επικαλυπτόµενα. Σε κώδικα MATLAB, αν n είναι ο δείκτης κάθε πλαισίου, τότε το πλαίσιο περιλαµβάνει τα δείγµατα του σήµατος (n-1)*m+1:(n-1)*m+n. Έτσι, ο αριθµός των πλαισίων που θα T N προκύψουν από ένα σήµα T δειγµάτων θα είναι B = + 1 M, υποθέτοντας ότι «πετάµε» τελευταία δείγµατα του σήµατος. Παραθύρωση Το επόµενο βήµα είναι η εφαρµογή ενός παραθύρου σε κάθε πλαίσιο προκειµένου να ελαχιστοποιήσουµε τις ασυνέχειες του σήµατος στην αρχή και το τέλος του πλαισίου. Η βασική ιδέα είναι επιβάλλουµε ένα «σβήσιµο» του σήµατος στα άκρα του κάθε πλαισίου. Εάν ορίσουµε ένα παράθυρο ως w(n), n=0:n-1, όπου Ν είναι ο αριθµός δειγµάτων ανά πλαίσιο, τότε η παραθύρωση του πλαισίου l δίνει το σήµα l ( ) = ( ) ( ), 0 1. y n x n w n n N Συνήθως, χρησιµοποιείται το παράθυρο Hamming που ορίζεται ως: l 2π n wn ( ) = cos, 0 n N 1. N 1 1 Για να διαβάσετε ένα αρχείο wav εκτελείται στο Μatlab την εντολή [x,fs,nbits] = wavread( filename.wav ), όπου x είναι το ηχητικό σήµα µήκους Μ δειγµάτων, δειγµατοληπτηµένο µε συχνότητα fs και κβαντισµένο µε Νbits. Σηµειώστε ότι οι τιµές του σήµατος x σε ένα αρχείο wav έχουν δυναµική περιοχή [-1:1]. Τα αρχεία που σας δίνονται χρησιµοποιούν 16 bits, και έχουν δειγµατοληπτηθεί µε fs=8khz, άρα είναι διάρκειας Μ*0,125msecs.

44 Fast Fourier Transform (FFT) Το επόµενο βήµα επεξεργασίας είναι ο FFT, που δέχεται ένα πλαίσιο Ν δειγµάτων και το µεταφέρει από το πεδίο του χρόνου στο πεδίο της συχνότητας. Ο αλγόριθµος FFT είναι ένας αποδοτικός αλγόριθµος για την υλοποίηση του ιακριτού Μετασχηµατισµού Fourier (DFT). Αν σε ένα πλαίσιο που βρίσκεται αποθηκευµένο στο διάνυσµα x, εφαρµόσω FFT xf=fft(x); τότε προκύπτουν Ν µιγαδικοί αριθµοί που ερµηνεύονται ως εξής: το xf(1) αντιστοιχεί στη µηδενική συχνότητα (DC), οι θετικές συχνότητες 0<f<f s /2 αντιστοιχούν στις τιµές για n=[2:n/2], οι αρνητικές συχνότητες f s /2<f<0 προκύπτουν για n=[n/2+1:n]. Το τετράγωνο του µέτρου του xf καλείται «φάσµα του σήµατος» ή «περιοδόγραµµα». εδοµένης της συµµετρίας του φάσµατος στις αρνητικές και θετικές συχνότητες, αρκεί να περιοριστούµε στις θετικές συχνότητες. Άρα, το φάσµα ενός πλαισίου δίνεται ως sp = abs(xf(1:n/2+1)).^2; Τύλιγµα Συχνότητας Mel (Mel-frequency Wrapping) Ψυχοακουστικές έρευνες έχουν δείξει ότι η ανθρώπινη αντίληψη για τις συχνότητες ενός φωνητικού σήµατος δεν ακολουθεί γραµµική κλίµακα. Έτσι, για κάθε τόνο µε πραγµατική συχνότητα f µετρούµενη σε Hz, υπάρχει ένας υποκειµενικός τόνος στην κλίµακα mel. Η κλίµακα συχνοτήτων mel είναι γραµµική µέχρι το 1KHz, και λογαριθµική στις υψηλότερες συχνότητες. Ως σηµείο αναφοράς, ο τόνος των 1KHz (40dB πάνω από το κατώφλι ακουστότητας) ορίζεται ως 1000 mels. Εποµένως, µπορούµε να χρησιµοποιήσουµε την ακόλουθη προσεγγιστική σχέση για να υπολογίσουµε σε mels µια συχνότητα f που δίνεται σε Hz: mel f = 2595log ( f ) 10 Μια προσέγγιση για να προσοµοιώσουµε το υποκειµενικό φάσµα είναι να χρησιµοποιήσουµε µια διάταξη φίλτρων: ένα φίλτρο για κάθε επιθυµητή µελ-συχνότητα, όπως φαίνεται στο παρακάτω σχήµα. Αυτή η διάταξη των φίλτρων έχει τριγωνική ζωνοδιαβατή απόκριση συχνότητας, και η απόσταση καθώς και το εύρος ζώνης κάθε φίλτρου καθορίζεται από ένα σταθερό διάστηµα µελ-συχνότητας. Το τροποποιηµένο φάσµα του S(ω), έστω S m (ω), αποτελείται πλέον από την ισχύ του σήµατος στην έξοδο κάθε φίλτρου αν στην είσοδό του εφαρµοστεί το S(ω). Ο αριθµός των µελ συντελεστών φάσµατος συνήθως επιλέγεται Κ=20. Σχήµα 4: ιάταξη Φίλτρων τοποθετηµένων κατά την κλίµακα του Mel.

45 Παρατηρήστε ότι η διάταξη των φίλτρων εφαρµόζεται απευθείας στο πεδίο της συχνότητας. Εποµένως, για να πάρουµε το φάσµα Mel, αρκεί να πολλαπλασιάσουµε τα τριγωνικά παράθυρα µε το φάσµα του σήµατος οµιλιας. Ο σχεδιασµός των τριγωνικών παραθύρων δίνεται έτοιµος ως ένας πίνακας MEL, διάστασης 20x129 τιµών. Κάθε γραµµή του πίνακα αντιστοιχεί σε ένα τριγωνικό παράθυρο. Προκειµένου να απεικονίσετε τα παράθυρα, εκτελείται: load mel.mat plot(linspace(0, 4000, 129), MEL ); Για να υπολογίσετε το φάσµα ενός πλαισίου σε κλίµακα Mel, αρκεί να εκτελέσετε: msp=mel*sp; οπότε το διάνυσµα msp περιλαµβάνει 20 συντελεστές του µελ φάσµατος του πλαισίου. Cepstrum 2 Το τελικό βήµα εξαγωγής των χαρακτηριστικών φωνής είναι ο υπολογισµός του Μελ- Cepstrum. Συγκεκριµένα, υπολογίζουµε το φυσικό λογάριθµο του µελ φάσµατος, και κατόπιν το επιστρέφουµε στο πεδίο του χρόνου. Το αποτέλεσµα της διαδικασίας αυτής είναι οι συντελεστές MFCC. Η αναπαράσταση του φασµατικού περιεχοµένου ενός σήµατος µέσω του cepstrum δίνει µια καλή περιγραφή των φασµατικών ιδιοτήτων του σήµατος σε ένα περιορισµένο χρονικά παράθυρο ανάλυσης. Επειδή οι συντελεστές µελ φάσµατος (και ο λογάριθµός τους) είναι πραγµατικοί αριθµοί, µπορούµε να τους γυρίσουµε στο πεδίο του χρόνου χρησιµοποιώντας το ιακριτό Μετασχηµατισµό Συνηµιτόνου (Discrete Cosine Transform, DCT): K 1 π c( n) = ln ( Sm ( k) ) cos n k, n= 1,..., K k = 1 2 K Άρα, οι συντελεστές MFCC για ένα πλαίσιο φωνητικού σήµατος δίνονται ως mfcc=dct(log(msp)); Σηµειώστε ότι συνήθως εξαιρείται ο πρώτος συντελεστής MFCC, c 0, από το αποτέλεσµα του DCT. Ο συντελεστής αυτός ουσιαστικά αναπαριστά τη µέση τιµή του σήµατος εισόδου και άρα δε φέρει σηµαντική πληροφορία. Μέσω της διαδικασίας που περιγράφηκε παραπάνω, κάθε πλαίσιο του φωνητικού σήµατος εισόδου Ν=256 δειγµάτων (32msec) µετατρέπεται σε ένα διάνυσµα Κ-1=19 συντελεστών MFCC, που αποτελεί µια συνοπτική και περιεκτική αναπαράσταση του συχνοτικού περιεχοµένου του πλαισίου. Τα διανύσµατα των MFCC λέγονται και ακουστικά διανύσµατα και στην άσκηση αυτή εξάγονται µε ρυθµό 1/12,5msec. Στο τέλος της διαδικασίας εξαγωγής χαρακτηριστικών, το φωνητικό σήµα ενός οµιλητή έχει µετατραπεί σε µια ακολουθία ακουστικών διανυσµάτων. Στην επόµενη ενότητα θα δούµε πώς χρησιµοποιούνται τα ακουστικά διανύσµατα για την αναγνώριση οµιλητή. Ερώτηµα 1: Ακολουθώντας τις οδηγίες που περιγράφηκαν στην ενότητα αυτή, υλοποιήστε µια συνάρτηση στη MATLAB που να υλοποιεί το τµήµα εξαγωγής των συντελεστών MFCC. Η συνάρτηση θα περιγράφεται ως mfcc = mfcc_extractor(x); όπου το διάνυσµα x θα περιλαµβάνει το φωνητικό σήµα µιας ηχογράφησης, διάρκειας Τ δειγµάτων, και ο πίνακας mfcc, διάστασης (Κ-1)xB, περιλαµβάνει την ακολουθία των ακουστικών διανυσµάτων. Συγκεκριµένα, στην b στήλη του περιλαµβάνεται το (Κ-1)x1 διάνυσµα των MFCC του b-οστού πλαισίου. 2 Η λέξη Cepstrum είναι αναγραµµατισµός του Spectrum.

46 4. Αντιστοίχιση Χαρακτηριστικών (Feature Matching) 4.1. Εισαγωγή Το πρόβληµα της αναγνώρισης οµιλητή ανήκει σε µια ευρύτερη επιστηµονική περιοχή που καλείται αναγνώριση προτύπων (pattern recognition). Στόχος της αναγνώρισης προτύπων είναι η ταξινόµηση αντικειµένων σε µία από περισσότερες κατηγορίες. Τα αντικείµενα που θέλουµε να ταξινοµήσουµε λέγονται πρότυπα (patterns). Στην περίπτωσή µας, οι ακολουθίες των ακουστικών διανυσµάτων αποτελούν τα πρότυπα, ενώ οι οµιλητές αποτελούν τις κατηγορίες. Επειδή η διαδικασία ταξινόµησης εφαρµόζεται σε εξαγόµενα χαρακτηριστικά, µπορεί να ονοµαστεί και ταίριασµα χαρακτηριστικών (feature matching). Στην περίπτωση που διαθέτουµε κάποια πρότυπα και γνωρίζουµε την κατηγορία που ανήκει το καθένα, τότε µιλάµε για επιβλεπόµενη αναγνώριση προτύπων. Ουσιαστικά αυτό γίνεται κατά τη φάση της εκπαίδευσης του συστήµατος αναγνώρισης οµιλητή: διαθέτουµε τα ακουστικά διανύσµατα και γνωρίζουµε ότι εξάχθηκαν από συγκεκριµένο οµιλητή. Τα πρότυπα αυτά αποτελούν το σύνολο εκπαίδευσης. Τα υπόλοιπα πρότυπα χρησιµοποιούνται για να ελέγξουν τον αλγόριθµο ταξινόµησης, και αποκαλούνται σύνολο ελέγχου. Εάν κατά τη φάση του ελέγχου, γνωρίζουµε τις κλάσεις των προτύπων ελέγχου, τότε µπορούµε να εκτιµήσουµε την απόδοση του συστήµατος. Οι τεχνικές ταυτοποίησης χαρακτηριστικών που χρησιµοποιούνται σε εφαρµογές αναγνώρισης οµιλητή είναι οι Dynamic Time Warping (DTW), Hidden Markov Models (HMM), και Vector Quantization (VQ) [1], [2]. Στα πλαίσια της άσκησης, θα υλοποιήσουµε τη µέθοδο της διανυσµατικής κβάντισης (VQ), λόγω της απλότητας και της σχετικά καλής ακρίβειας που προσφέρει ιανυσµατική Κβάντιση (VQ) Η διαδικασία της διανυσµατικής κβάντισης έχει ποικίλες εφαρµογές πέρα από την αναγνώριση προτύπων. Είναι ουσιαστικά µια γενίκευση της διαδικασίας της µη οµοιόµορφης κβάντισης από βαθµωτούς αριθµούς σε διανύσµατα. Ένας διανυσµατικός κβαντιστής δέχεται ως είσοδο διανύσµατα µεγέθους Κx1 που έχουν διάφορες τιµές, και επιστρέφει κωδικές λέξεις (codewords) µεγέθους Kx1, οι οποίες έχουν συγκεκριµένες τιµές. Το σύνολο των κωδικών λέξεων λέγεται βιβλίο κωδικών λέξεων (codebook), και έχει πεπερασµένο µέγεθος C. Τα διανύσµατα εισόδου του κβαντιστή ανήκουν σε ένα Κx1 διανυσµατικό χώρο, τον οποίο ο διανυσµατικός κβαντιστής αναπαριστά µέσω C περιοχών (clusters). Κάθε περιοχή αναπαρίσταται από το κέντρο µάζας της (centroid) που είναι η αντίστοιχη κωδική λέξη. Έστω ότι έχουµε το βιβλίο των C κωδικών λέξεων, και θέλουµε να κβαντίσουµε ένα διάνυσµα x. Ο διανυσµατικός κβαντιστής υπολογίζει την απόσταση ανάµεσα στο διάνυσµα εισόδου και κάθε κωδική λέξη, c n, n=1,,c. Η κωδική λέξη που θα έχει τη µικρότερη απόσταση, είναι και η λέξη στην οποία θα κβαντιστεί το διάνυσµα εισόδου: ( x c ) xˆ = arg min d, cn Μέχρι στιγµής δεν έχουµε ορίσει την έννοια της απόστασης d. Η παράµετρος αυτή εξαρτάται από την εφαρµογή, και υπάρχουν διάφορες επιλογές. Στην περίπτωσή µας, επιλέγουµε να χρησιµοποιήσουµε την πιο εύκολη µετρική που είναι το τετράγωνο της ευκλείδειας απόστασης των δύο διανυσµάτων [1]: ( ) d xc = x c, n n που στο Matlab αντιστοιχεί στην εντολή norm(x-cn)^2. n 2

47 Κατά τη διαδικασία σχεδιασµού του κβαντιστή, θέλουµε να προσδιορίσουµε τις κωδικές λέξεις του βιβλίου, ώστε να ελαχιστοποιήσουν την παραµόρφωση ανάµεσα στην είσοδο και την κβαντισµένη τιµή της. Αυτό σηµαίνει ότι κάθε κωδική λέξη θα πρέπει να είναι το κέντρο µάζας της αντίστοιχης συστάδας. Εφόσον χρησιµοποιούµε την ευκλείδεια απόσταση, το κέντρο µάζας ισοδυναµεί µε το µέσο όρο. Άρα, αν γνωρίζουµε ότι ένα υποσύνολο των διανυσµάτων εισόδου ανήκει σε µία συστάδα, τότε η κωδική λέξη που έχει την ελάχιστη απόσταση από όλα τα διανύσµατα της συστάδας ορίζεται ως ο µέσος όρος των διανυσµάτων. Όµως, κατά τη φάση σχεδιασµού του διανυσµατικού κβαντιστή συνήθως δε γνωρίζουµε την κατανοµή των διανυσµάτων εισόδου, και άρα την κατηγοριοποίηση τους σε συστάδες. Έτσι, η εύρεση των περιοχών κβάντισης και άρα των κωδικών λέξεων γίνεται µε µια επαναληπτική διαδικασία που θα περιγράψουµε παρακάτω ιανυσµατική Κβάντιση για Αναγνώριση Οµιλητή Στην περίπτωσή µας, τα διανύσµατα εισόδου του διανυσµατικού κβαντιστή είναι τα ακουστικά διανύσµατα και ανήκουν σε ένα διανυσµατικό χώρο διάστασης Κ=19. Τα διανύσµατα αυτά θέλουµε να τα κβαντίσουµε σε C κωδικές λέξεις, και να προκύψει ένα βιβλίο C κωδικών για κάθε οµιλητή. Στην άσκηση αυτή, θα επιλέξουµε C=4, 8 και 16. Αφού σχεδιάσουµε ένα διανυσµατικό κβαντιστή (στην ουσία ένα βιβλίο κωδικών) για κάθε οµιλητή, µπορούµε να αναγνωρίσουµε ποιος οµιλητής πρόφερε µια συγκεκριµένη φράση: αρκεί να κβαντίσουµε τη φράση αυτή χρησιµοποιώντας κάθε κβαντιστή και να υπολογίσουµε την παραµόρφωση που προκύπτει για τον καθένα. Ο οµιλητής που θα έχει τη µικρότερη παραµόρφωση θα είναι και ο σωστός. Στο επόµενο διάγραµµα περιγράφεται αφαιρετικά η διαδικασία αναγνώρισης. Στο σχήµα περιλαµβάνονται µόνο δύο οµιλητές, υποθέτουµε ότι τα ακουστικά διανύσµατα έχουν µόνο δύο συντελεστές και χρησιµοποιούµε C=4 κωδικές λέξεις. Οι κύκλοι αναφέρονται στα ακουστικά διανύσµατα του οµιλητή 1, ενώ τα τρίγωνα στον οµιλητή 2. Στη φάση εκπαίδευσης, δηµιουργούµε ένα βιβλίο κωδικών λέξεων για κάθε οµιλητή οµαδοποιώντας κατάλληλα τα ακουστικά του διανύσµατα. Οι κωδικές λέξεις που προκύπτουν απεικονίζονται στο σχήµα µε µαύρους κύκλους και µαύρα τρίγωνα, για τον οµιλητή 1 και 2, αντίστοιχα. Η απόσταση ενός διανύσµατος από την κοντινότερη κωδική λέξη λέγεται παραµόρφωση VQ (VQ-distortion). Σχήµα 5: ηµιουργία Κωδικών Λέξεων του ιανυσµατικού Κβαντιστή.

48 4.4. Κατηγοριοποίηση των ιανυσµάτων Εκπαίδευσης Κατά τη φάση της εγγραφής, τα ακουστικά διανύσµατα αποτελούν το σύνολο διανυσµάτων εκπαίδευσης, µε τα οποία καλούµαστε να σχεδιάσουµε το διανυσµατικό κβαντιστή (βιβλίο κωδικών) για κάθε οµιλητή. Για να παράγουµε ένα σύνολο C κωδικών λέξεων (codewords) χρησιµοποιώντας Β διανύσµατα εκπαίδευσης µπορούµε να χρησιµοποιήσουµε τον αλγόριθµο LBG (Linde, Buzo, Gray). Ο αλγόριθµος αυτός αποτελεί µια τροποποίηση του περισσότερο γνωστού αλγόριθµου Lloyd ή K-means [1], και υλοποιείται µε την ακόλουθη επαναληπτική διαδικασία: Βήµα 1: Βήµα 2: Αλγόριθµος LBG ηµιούργησε ένα βιβλίο µε µία κωδική λέξη. Αυτή παράγεται ως ο µέσος όρος των διανυσµάτων εκπαίδευσης. ιπλασίασε το µέγεθος του τρέχοντος βιβλίου διαιρώντας κάθε κωδική λέξη σε δύο: + cwn = cwn( 1+ ε ) + cw = cw 1 ε n n ( ) όπου το n κυµαίνεται από 1 έως το µέγεθος του τρέχοντος βιβλίου, και ε είναι µια παράµετρος διαίρεσης (επιλέγουµε ε=0.01). Βήµα 3: Αναζήτηση Κοντινότερου Γείτονα. Για κάθε διάνυσµα εκπαίδευσης, βρες την κωδική λέξη του τρέχοντος βιβλίου στην οποία είναι πιο κοντά, και ανάθεσε το διάνυσµα εκπαίδευσης στη συγκεκριµένη κωδική λέξη. Βήµα 4: Ανανέωση των Μέσων. Ανανέωσε τα κέντρα κάθε κωδικής λέξης χρησιµοποιώντας το µέσο όρο των διανυσµάτων εκπαίδευσης που ανατέθηκαν σε αυτήν την περιοχή. Βήµα 5: Επανέλαβε τα βήµατα 3 και 4 µέχρι η µέση απόσταση να είναι κάτω από ένα προκαθορισµένο κατώφλι. Βήµα 6: Επανέλαβε τα βήµατα 2, 3 και 4, µέχρι το µέγεθος του βιβλίου να γίνει C. Ο αλγόριθµος LBG δηµιουργεί ένα βιβλίο C κωδικών λέξεων σε επίπεδα. Ξεκινά µε µία κωδική λέξη, και διαιρώντας τις κωδικές λέξεις αρχικοποιεί την αναζήτηση για το βιβλίο των 2 κωδικών λέξεων, κ.ο.κ. Στο παρακάτω σχήµα φαίνεται ένα διάγραµµα ροής του αλγορίθµου LBG. Ερώτηµα 2: Υλοποιήστε τον παραπάνω αλγόριθµο δηµιουργίας βιβλίου κωδικών λέξεων. Συγκεκριµένα, υλοποιήστε µια ρουτίνα στη MATLAB µε τα εξής χαρακτηριστικά: Book = make_codebook(features,c); όπου Features θα είναι ένας πίνακας KxB και κάθε στήλη του περιέχει τους συντελεστές MFCC για ένα πλαίσιο οµιλίας ενός οµιλητή. C είναι ο αριθµός των κωδικών λέξεων που θα χρησιµοποιήσουµε. Book είναι ένας πίνακας KxC, και περιέχει τις C κωδικές λέξεις διάστασης Κx1 του οµιλητή αποθηκευµένες κατά στήλες. Παρατηρήστε ότι η µέθοδος αναγνώρισης οµιλητή VQ δεν εµπεριέχει την έννοια της χρονικής ακολουθίας των πλαισίων. Έτσι, αν έχουµε υπολογίσει τους συντελεστές MFCC ενός οµιλητή από δύο φράσεις και τους έχουµε αποθηκεύσει στους πίνακες Features1, Features2, τότε ο κοινός κβαντιστής των δύο φράσεων του οµιλητή µπορεί να υπολογιστεί αν δώσουµε στην παραπάνω συνάρτηση Features = [Features1 Features2]; Η συνάρτηση make_codebook θα πρέπει να καλεί τη συνάρτηση: [Score,Distance,Index] = compute_distance(features,codes);

49 Εύρεση Πρώτης Κωδικής Λέξης ιαίρεση Κωδικών Λέξεων (m=2*m) D' = 0 ΝΑΙ m<c ΟΧΙ ΤΕΛΟΣ Ταξινόµηση ιανυσµάτων σε Κωδικές Λέξεις Εύρεση Νέων Κέντρων (Codewords) ΝΑΙ D' = D Υπολογισµός Παραµόρφωσης D OXI (D'-D)/D<ε Σχήµα 6: ιάγραµµα Ροής Αλγορίθµου LBG [1]. που δέχεται ως είσοδο τα ακουστικά διανύσµατα υπό τη µορφή του πίνακα Features (ΚxB), καθώς και τους κωδικούς του τρέχοντος βιβλίου στον πίνακα Codes (KxC i ). Παρατηρήστε ότι το µέγεθος του βιβλίου δεν είναι εξαρχής C, αλλά ξεκινά από 1 και διπλασιάζεται σε κάθε εξωτερικό βρόγχο του αλγορίθµου. Οι έξοδοι της συνάρτησης είναι ο αριθµός Score, και τα Bx1 διανύσµατα Distance και Index. Η συνάρτηση αυτή υπολογίζει την απόσταση κάθε ακουστικού διανύσµατος από κάθε κωδική λέξη του βιβλίου. Στη συνέχεια, για κάθε ακουστικό διάνυσµα επιλέγει τη µικρότερη απόσταση, την τοποθετεί στο διάνυσµα Distance, και αποθηκεύει το νούµερο της αντίστοιχης κωδικής λέξης στο διάνυσµα Index. Άρα, αν το 100-οστό ακουστικό διάνυσµα, Features(:,100), κβαντίζεται στην κωδική λέξη Codes(:,4) και έχει απόσταση από αυτήν 5,5, τότε αποθηκεύουµε Distance(100)=5.5, και Index(100)=4. Ο αριθµός Score περιέχει το µέσο όρο των αποστάσεων για όλα τα διανύσµατα εισόδου: Score = mean(distance); Σηµειώστε ότι η συνάρτηση compute_distance καλείται δύο φορές σε κάθε εσωτερικό βρόγχο του αλγορίθµου LBG: µια φορά για να ταξινοµήσει τα ακουστικά διανύσµατα στις περιοχές και να µας δώσει το Index προκειµένου να ανανεώσουµε τα κέντρα, και µια δεύτερη φορά, για να υπολογίσει την απόσταση των διανυσµάτων από τα ανανεωµένα κέντρα.

50 5. Ηχητικά εδοµένα της Εφαρµογής Για το σκοπό της άσκησης, δίνονται 32 αρχεία wav, διάρκειας 1sec (8000 δείγµατα) το καθένα. Τα αρχεία αυτά περιλαµβάνουν ηχογραφήσεις από 8 άντρες οµιλητές που προφέρουν τη λέξη «one», τέσσερεις φορές ο καθένας. Τα αρχεία φέρουν το όνοµα: xy.wav όπου το x αναφέρεται στον κωδικό του οµιλητή (x=1:8), και το y αναφέρεται στον αριθµό ηχογράφησης του συγκεκριµένου οµιλητή (y=1:4). Έτσι, το 62.wav περιέχει την δεύτερη ηχογράφηση του έκτου οµιλητή. Οι ηχογραφήσεις µε αριθµούς 1-2 θα χρησιµοποιηθούν για την εκπαίδευση του συστήµατος, ενώ οι ηχογραφήσεις 3-4 θα χρησιµοποιηθούν για τον έλεγχο του συστήµατος. 6. Εκπαίδευση του Συστήµατος Ερώτηµα 3: ηµιουργήστε µια συνάρτηση train, η οποία για κάθε οµιλητή θα εκτελεί τα παρακάτω: άνοιγµα αρχείων x1.wav, x2.wav, υπολογισµός των MFCC συντελεστών για κάθε ηχογράφηση µε χρήση της mfcc_extractor, συνένωση των MFCC συντελεστών από τις δύο ηχογραφήσεις, δηµιουργία βιβλίου κωδικών για το συγκεκριµένο οµιλητή µε χρήση της make_codebook, αποθήκευση του βιβλίου ως Bookx. Επιλέξτε δύο συντελεστές MFCC, π.χ. δεύτερο και τρίτο, για δύο οµιλητές και σχεδιάστε τους στο ίδιο γράφηµα µε διαφορετικό χρώµα για κάθε οµιλητή. Εµφανίζονται κατά συστάδες; Μπορούν να διαχωριστούν οι συστάδες των δύο οµιλητών; 7. Έλεγχος του Συστήµατος Ερώτηµα 4: Υλοποιήστε µια συνάρτηση test, η οποία για κάθε ηχογράφηση ελέγχου (x3.wav, x4.wav), να εκτελεί τα παρακάτω: άνοιγµα ηχογράφησης, υπολογισµός των MFCC συντελεστών µε χρήση της mfcc_extractor, υπολογισµός της παραµόρφωσης που επιτυγχάνεται χρησιµοποιώντας το βιβλίο κάθε οµιλητή µε χρήση της συνάρτησης compute_distance, και του αριθµού Score, για την τρέχουσα ηχογράφηση, επιλέγεται ο οµιλητής µε το µικρότερο Score. Αφού εκτελέσετε την παραπάνω συνάρτηση, αναλύστε τα αποτελέσµατα της αναγνώρισης. Ποιο είναι το ποσοστό της λανθασµένης ταξινόµησης; Τα λάθη εντοπίζονται µεταξύ συγκεκριµένων οµιλητών; Αν ναι, προσπαθήστε να τα δικαιολογήσετε µέσω της κατανοµής των MFCC των προβληµατικών οµιλητών. Ερώτηµα 5: Επαναλάβετε το προηγούµενο ερώτηµα για C=4, 8 και 16 κωδικές λέξεις. Επίσης, δοκιµάστε να εκπαιδεύσετε το σύστηµα χρησιµοποιώντας µόνο τις ηχογραφήσεις x1.wav, και ελέγξτε το µε βάση τις υπόλοιπες (x2, x3, x4). Συµπληρώστε τον παρακάτω πίνακα ποσοστού σφαλµάτων, και εκτιµήστε πώς επηρεάζει η αύξηση των κωδικών λέξεων C, και το µέγεθος των δεδοµένων εκπαίδευσης την απόδοση του συστήµατος. Ποια νοµίζετε ότι θα ήταν η απόδοση του συστήµατος εάν µειώναµε το πλήθος των συντελεστών MFCC;

51 Είναι λογικό να χρησιµοποιούµε όσο το δυνατόν µεγαλύτερο πλήθος παραµέτρων για να βελτιώσουµε την απόδοση ενός συστήµατος αναγνώρισης οµιλητή; Απόδοση Συστήµατος σε Ποσοστό Εσφαλµένων Αναγνωρίσεων (%) Πλήθος Κωδικών Λέξεων (C) Εκπαίδευση/Έλεγχος Βιβλιογραφία [1] L.R. Rabiner, B.H. Juang, Fundamentals of Speech Recognition, Prentice-Hall, Englewood Cliffs, N.J., [2] J.P Campbell, Speaker Recognition: A Tutorial, Proceedings of the IEEE, vol 85, No 9, September [3] J.R. Deller, J.G.Proakis, J.H.L.Hansen, Discrete-Time Processing of Speech Signals, Macmillan [4] R. Mammone, X. Zhang, R. Ramachandran, Robust Speaker Recognition a feature based approach, IEEE Signal Processing Magazine, vol 13, no 5, [5] S. Furui, Cepstral Analysis technique for automatic speaker verification, IEEE Transactions on Acoustics, Speech and Signal Processing, vol. ASSP-29, [6] Mike Brooks, VOICEBOX: Speech Processing Toolbox for MATLAB, Imperial College, available online:

52 1 Εισαγωγή Μια εικόνα είναι ένα σήµα δύο διαστάσεων ή µε άλλα λόγια µια συνάρτηση δύο µεταβλητών f(x, y). Η τιµή της συνάρτησης αυτής για ένα συγκεκριµένο ζεύγος τιµών (x 0,y 0 )µdορείναείναιέναχρώµα,ανdρόκειταιγιαµιαέγχρωµηεικόνα,ήµιατιµή φωτεινότητας εαν dρόκειται για µια εικόνα αdοχρώσεων του γκρί. Στα εdόµενα θα θεωρήσουµε µόνο εικόνες αdοχρώσεων του γκρί. Ακριβώς όµοια µε την dερίdτωση όdου ένα αναλογικό σήµα µιας διάστασης(d.χ. ήχος) δειγµατοληdτείται µε σκοdό την εdεξεργασία ή την αdοθήκευσή του αdό ένα ψηφιακό σύστηµα, έτσι και µια εικόνα µdορεί να δειγµατοληdτηθεί στο χώρο και να dροκύψει έτσι µια ψηφιακή εκδοχή της f d (k,n) = f(k dx,n dy) k,n = 0, ±1, ±2,... όdου dx και dy είναι σταθερές οι οdοίες αντιστοιχούν στην dεριόδο δειγµατοληψίας T στην dερίdτωση της δειγµατοληψίας ενός σήµατος µιας διάστασης. Το σηµείο (k, n) ονοµάζεται εικονοστοιχείο(picture element, pixel) της εικόνας. Γιατηναdοθήκευσητωντιµών f d (k,n)αdόέναψηφιακόσύστηµαθαdρέdεινα εdιλέξουµε µια κατάλληλη αριθµητική αναdαράσταση τους. Η αναdαράσταση αυτή θα έχει dεdερασµένη αριθµητική ακρίβεια. Μια συνήθης αναdαράσταση για τις εικόνες διαβαθµίσεων του γκρί είναι να χρησιµοdοιούµε έναν ακέραιο αριθµό µε την τιµή µηδέν νααντιστοιχείστοµαύροχρώµακαιτηντιµή 2 k στολευκό,όdου kείναιτοdλήθοςτων δυαδικών ψηφίων τα οdοία έχουµε στη διάθεσή µας για την αdοθήκευση της τιµής της φωτεινότητας για κάθε εικονοστοιχείο. Η τιµή k ονοµάζεται συνήθως βάθος χρώµατος της εικόνας. Η αναdαράσταση αυτή της εικόνας ονοµάζεται Pulse Code Modulation (PCM)[1]. Το µέγεθος το οdοίο καταλαµβάνει µια εικόνα σε ένα ψηφιακό µέσο αdοθήκευσης µdορεί να είναι ασύµφορα µεγάλο. Για dαράδειγµα, µια εικόνα µε εικονοστοιχεία και 16 bit βάθος χρώµατος θα αdαιτούσε αdοθηκευτικό χώρο bytesή1,5μβ.οχώροςαυτόςµdορείναµειωθείκατάdολύανεφαρµόσουµεκάdοια

53 f(k,n) g(k, n) Αλγόριθµος Συµdίεσης Αλγόριθµος Αdοσυµdίεσης Αdοθηκευτικό Μέσο Σχήµα 1: ιαδικασία συµdίεσης και αdοσυµdίεσης εικόνας τεχνική συµdίεσης των δεδοµένων της εικόνας. Οι τεχνικές αυτές µdορούν να είναι είτε αdωλεστικές(lossy) είτε µη-αdωλεστικές(lossless) ανάλογα µε το αν διατηρούν µέρος της dληροφορίας της εικόνας ή όλη την dληροφορία χωρίς υdοβάθµιση της dοιότητάς της. Για dαράδειγµα, οι εικόνες τύdου JPEG[1] χρησιµοdοιούν έναν αλγόριθµο αdωλεστικής συµdίεσης ενώ οι εικόνες τύdου GIF χρησιµοdοιούν τον µη-αdωλεστικό αλγόριθµο Ziv-Lempel[3]. Οι αλγόριθµοι συµdίεσης εικόνων διαφέρουν αdό τους αλγορίθµους συµdίεσης οdοιονδήdοτε δεδοµένων(d.χ. αρχεία ZIP). Οι δεύτεροι αλγόριθµοι δεν εκµεταλλεύονται το γεγονός dως τα εικονοστοιχεία µιας εικόνας τα οdοία βρίσκονται σε κοντινές θέσεις dαρουσιάζονται συσχετισµένα, ότι δηλαδή µια εικόνα συνήθως αdοτελείται αdό αρκετές οµοιογενείς dεριοχές. Αντίθετα, οι αλγόριθµοι οι οdοίοι εξειδικεύονται σε συµdίεση δεδοµένων εικόνας dροσdαθούν να εκµεταλλευτούν όσο µdορούν αυτήν την ιδιότητα. Αντικείµενο της άσκησης αυτής είναι η υλοdοίηση και η αξιολόγηση ορισµένων αλγορίθµων αdωλεστικής συµdίεσης εικόνων. 2 Κριτήρια Ποιότητας Συµ ίεσης Ας θεωρήσουµε dως µια εικόνα f(k, n) κωδικοdοιείται µε χρήση κάdοιου αλγορίθ- µου αdωλεστικής συµdίεσης και στη συνέχεια η έξοδος του αλγορίθµου κωδικοdοίησης τροφοδοτείται στον αντίστοιχο αλγόριθµο αdοκωδικοdοίησης δίνοντας έτσι την ανακατασκευασµένη εικόνα g(k, n) όdως dαρουσιάζεται στο Σχήµα 1. Εφόσον χρησιµοdοιούµε έναν αdωλεστικό αλγόριθµο κωδικοdοίησης της αρχικής εικόνας, η τελική εικόνα g(k, n) θα dαρουσιάζει διαφορές σε σχέση µε την αρχική. Για να dοσοτικοdοιήσουµε τις διαφορές αυτές και να µετρήσουµε έτσι την υdοβάθµιση την οdοία εισήγαγε η διαδικασία της κωδικοdοίησης θα dρέdει να ορίσουµε κάdοιο µέτρο αdόστασης ανάµεσα στις δύο εικόνες. Συνηθισµένα µέτρα αdόστασης είναι τα ακόλουθα[1]: Το κανονικο οιηµένο µέσο τετραγωνικό σφάλµα (Normalized Mean Square Error, NMSE)ανάµεσασεδύοεικόνες f(k,n)και g(k,n)ορίζεταιως: NMSE = 100 V ar[f(k,n) g(k,n)] % V ar[f(k,n)] όdου V ar[ ] είναι ο τελεστής υdολογισµού της διασdοράς µιας εικόνας. Ολόγοςσήµατος ροςθόρυβοόdουωςσήµαθεωρούµετηναρχικήεικόναf(k,n)καιώς θόρυβο θεωρούµε τη διαφορά ανάµεσα στην αρχική εικόνα και την ανακατασκευασµένη

54 εκδοχήτηςορίζεταιµεχρήσητουnmseως SNR = 10log 10 ( NMSE 100 ) 1 db Τα δύο dροηγούµενα µέτρα της dοιότητας ανακατασκευής µιας συµdιεσµένης εικόνας δεν καταφέρνουν dάντα να αdοτυdώσουν την αίσθηση της dοιότητας έτσι όdως την αντιλαµβάνεται το ανθρώdινο οdτικό σύστηµα. Ένα άλλο µέτρο το οdοίο καταφέρνει καλύτερα να αdοτυdώσει την dοιότητα µιας συµdιεσµένης εικόνας ονοµάζεται ανε ηρέαστο α ό αλλαγή κλίµακας κανονικο οιηµένο µέσο τετραγωνικό σφάλµα(scale-invariant Normalized Mean Square Error, SINMSE) και ορίζεται ως SINMSE = 100 V ar[f(k,n) a g(k,n)] % V ar[f(k,n)] όdου aείναιεκείνηησταθεράγιατηνοdοίατοdαραdάνωµέτρολαµβάνειτηνελάχιστη τιµήτου,καιηοdοίαδίνεταιαdότοντύdο a = E[f(k,n)g(k,n)] E[f(k,n)]E[g(k,n)] V ar[g(k,n)] όdου E[ ] είναι ο τελεστής της αναµενόµενης τιµής µιας εικόνας. 3 Kωδικο οίηση έλτα Στην αναdαράσταση PCM µιας εικόνας διαβαθµίσεων του γκρί για κάθε εικονοστοιχείο αdοθηκεύουµε µια κβαντισµένη τιµή της φωτεινότητάς του. Με τον τρόdο αυτό, δεν εκµεταλλευόµαστε καθόλου το γεγονός dως εικονοστοιχεία τα οdοία βρίσκονται σε κοντινές θέσεις dαρουσιάζονται συσχετισµένα ή µε άλλα λόγια οι τιµές της φωτεινότητάς τους είναι dαρόµοιες. Ένας τρόdος να εκµεταλλευτούµε την ιδιότητα αυτή είναι να χρησιµοdοιήσουµε την κωδικοdοίηση δέλτα. Στην κωδικοdοίηση δέλτα, κωδικοdοιούµε τη διαφορά ανάµεσα στις τιµές φωτεινότητας γειτονικών εικονοστοιχείων της εικόνας χρησιµοdοιώντας έναν κβαντιστή του ενός bit o οdοίος dροσφέρει 2 εdίdεδα. Με τον τρόdο αυτό, αdοθηκεύουµε το δυαδικό ψηφίο 0 αν το εdόµενο εικονοστοιχείο dαρουσιάζει χαµηλότερη φωτεινότητα και το δυαδικό ψηφίο 1 αν η φωτεινότητά του είναι υψηλότερη dάντα σε σχέση µε τη φωτεινότητα του τρέχοντος εικονοστοιχείου. Αν καιγενικάηdράξητηςαφαίρεσηςδύοdοσοτήτωνοδηγείσεµιανέαdοσότηταηοdοία έχει τη διdλάσια δυναµική dεριοχή(και άρα θα θέλαµε dερισσότερα δυαδικά ψηφία για να την dεριγράψουµε) η συσχέτιση ανάµεσα σε γειτονικά εικονοστοιχεία της εικόνας είναι τέτοια έτσι ώστε η διασdορά του σήµατος διαφοράς είναι dολύ µικρή. Στην κωδικοdοίηση δέλτα, θεωρούµε αρχικά dως η εικόνα dρος κωδικοdοίηση f(k, n) µετατρέdεται σε ένα ισοδύναµο µονοδιάστατο σήµα, αdλά µε το να θεωρήσουµε ένα σταθερό τρόdο σάρωσης σύµφωνα µε τον οdοίο διατρέχουµε τα εικονοστοιχεία της εικόνας f(k,n) k = 1..K,n = 1..N f(i) i = 1..K N Ορισµένοι τρόdοι µε τους οdοίους µdορούµε να σαρώσουµε τα εικονοστοιχεία µιας εικόνας και να µετασχηµατίσουµε έτσι το δύο διαστάσεων σήµα f(k,n) στο µονοδιάστατο σήµα f(n) dαρουσιάζονται στο Σχήµα 2. Είναι φανερό ότι το dόσο καλά

55 (α) (β) (γ) (δ) Σχήµα 2: ιάφοροι τρόdοι σάρωσης των εικονοστοιχείων µιας εικόνας εκµεταλλευόµαστε τη συσχέτιση η οdοία υdάρχει ανάµεσα σε γειτονικά εικονοστοιχεία εξαρτάται άµεσα και αdό τον τρόdο σάρωσης τον οdοίο χρησιµοdοιούµε. Για dαράδειγµα, η σάρωση του Σχήµατος 2(β) αναµένουµε να εκµεταλλεύεται καλύτερα την ιδιότητα της συσχέτισης σε σχέση µε τον τρόdο σάρωσης του Σχήµατος 2(α) στην οdοία dαρατηρούµε dως κάθε φορά dου αλλάζουµε γραµµή µεταβαίνουµε σε ένα εικονοστοιχείοτοοdοίοδενείναιγειτονικόµετοdροηγούµενότουκαιεdοµένωςηdιθανότηταοι τιµές των εικονοστοιχίων να είναι ασυσχέτιστες είναι µεγάλη. Στο Σχήµα 3 dαρουσιάζουµε ένα σύστηµα κωδικοdοίησης - αdοκωδικοdοίησης δέλτα.στοσχήµααυτό,µε ˆf(n)έχουµεσυµβολίσειτηνανακατασκευήdουdετυχαίνει η µέθοδος κωδικοdοίησης για το αρχικό σήµα f(n). Για να κωδικοdοιήσουµε τη φωτεινότητα του τρέχοντος εικονοστοιχείου f(n), το dλέον dρόσφατα κωδικοdοιηµένο δείγµα ˆf(n 1)αφαιρείταιαdότο f(n).τοσήµασφάλµατος, e(n) = f(n) ˆf(n) το οdοίο δηµιουργείται έτσι, κβαντίζεται στην τιµή /2 αν το e(n) είναι θετικό ή στην τιµή /2 αν το e(n) είναι αρνητικό, όdου µια κατάλληλα εdιλεγµένη σταθερά την οdοία θα µελετήσουµε και στη συνέχεια. Το κβαντισµένο σε 2 εdίdεδα σήµα σφάλµατος ê(n) αdοστέλλεται στο δέκτη. Εdισηµαίνουµε dως αρκεί µόνο ένα δυαδικό ψηφίο ανά δείγµα για να µεταδοθεί το κβαντισµένο σήµα σφάλµατος αν λάβουµε υdόψην dως ο δέκτης γνωρίζει την τιµή της σταθεράς και εdοµένως είναι σε θέση να ανακατασκευάσει

56 f(n) e(n) Κβαντιστής ê(n) = ± 2 + 1BIT + ˆf(n) + ˆf(n 1) z 1 ˆf(n 1) z 1 ˆf(n) Σχήµα 3: οµή του κωδικοdοdοιητή και του αdοκωδικοdοιητή δέλτα dλήρως το σήµα ê(n). Στοδέκτη,τοσήµα ê(n)dροστίθεταιστοσήµα ˆf(n 1)έτσιώστεναυdολογιστεί τοσήµα ˆf(n). ΠαρατηρούµεαdότοΣχήµα3dωςµετονίδιοτρόdοκαιοδέκτης κατασκευάζειτοσήµα ˆf(n)γιατίθατοχρησιµοdοιήσειστηνκωδικοdοίησητουf(n+1). Οι εξισώσεις οι οdοίες dεριγράφουν τη λειτουργία ενός συστήµατος κωδικοdοίησης δέλτα είναι οι ακόλουθες e(n) = f(n) ˆf(n 1) ê(n) = 2 e(n) > 0 2 e(n) 0 ˆf(n) = ˆf(n 1) + ê(n) καιοθόρυβοςεξαιτίαςτηςκβάντισηςθαδίνεταιέτσιαdότησχέση e Q (n) = ˆf(n) f(n) = ê(n) e(n) Παρατηρούµε dως σε ένα σύστηµα κωδικοdοίησης δέλτα, το σήµα σφάλµατος e(n) dαράγεταιωςηδιαφοράανάµεσαστοσήµα f(n)καιτοσήµα ˆf(n 1).Θαdερίµενε κάdοιοςdωςανχρησιµοdοιούσαµετοσήµα f(n 1)αντίτουσήµατος ˆf(n 1)γιανα δηµιουργήσουµε το σήµα σφάλµατος τότε αφενός δεν θα χρειαζόταν ο κωδικοdοιητής να υdολογίζειτοσήµα ˆf(n 1)καιαφετέρουτοσήµασφάλµατοςθαέdαιρνεκατάαdόλυτο τιµή µικρότερες τιµές και εdοµένως θα ήταν σωστότερο. Ωστόσο, στην dερίdτωση αυτή, οαdοκωδικοdοιητήςοοdοίοςδενµdορείναέχειστηδιάθεσήτουτοσήµα f(n 1) θα ακολουθούσε µια διαδικασία ανακατασκευής του σήµατος στην οdοία το σφάλµα θα συσσωρευόταν[1].αντίθετα,ανοκωδικοdοιητήςχρησιµοdοιείτοσήµα ˆf(n 1),τότε η διαδικασία αdοκωδικοdοίησης ακολουθεί ακριβώς την ίδια dορεία dου ακολούθησε και η διαδικασία κωδικοdοίησης και έτσι το σφάλµα ανακατασκευής δεν συσσωρεύεται [1]. Μια σηµαντική dαράµετρος του συστήµατος κωδικοdοίησης/ αdοκωδικοdοίησης δέλτα είναι η σταθερά. Ας θεωρήσουµε την ανακατασκευή ενός σήµατος όdως dαρουσιάζεται στο Σχήµα 4. Αdό το Σχήµα αυτό dαρατηρούµε dως όταν το σήµα

57 Σχήµα 4: Υdερφόρτωση κλίσης και κοκκώδης θόρυβος f(n) (συνεχής γραµµή) µεταβάλλεται αdότοµα, το ανακατασκευασµένο σήµα ˆf(n) (διακεκοµµένη γραµµή) αργεί αρκετά να το ακολουθήσει και το φτάνει µετά αdό αρκετές χρονικές στιγµές. Το φαινόµενο αυτό ονοµάζεται υ ερφόρτωση κλίσης και υdαγορεύει τη χρήση µιας σταθεράς αρκετά µεγάλης έτσι ώστε ο κωδικοdοιητής να µdορεί να να dαρακολουθεί τις αdότοµες µεταβάσεις του σήµατος. Αντίθετα, στις dεριοχές όdου το σήµα f(n)είναισχετικάαµετάβλητο,dαρατηρούµεdωςτοσήµα ˆf(n)"ταλαντώνεται" ανάµεσα σε 2 στάθµες dου dεριβάλλουν το σήµα f(n). Το φαινόµενο αυτό εισάγει ένα θόρυβο ο οdοίος ονοµάζεται κοκκώδης θόρυβος και υdαγορεύει τη χρήση µιας µικρής σταθεράς. Παρατηρούµε dως οι δύο υdοβαθµίσεις αυτές τις οdοίες εισάγει η κωδικοdοιήσηδέλταέχουναντικρουόµενεςαdαιτήσειςσχετικάµετησταθερά Περισσότερα δυαδικά ψηφία ανά εικονοστοιχείο Προκειµένου να dετύχουµε καλή dοιότητα ανακατασκευής χρησιµοdοιώντας κωδικοdοίηση δέλτα, συνήθως αdαιτείται να χρησιµοdοιήσουµε dερισσότερα του ενός δυαδικά ψηφία για κάθε ένα αdό τα εικονοστοιχεία της εικόνας. Κάτι τέτοιο εdιτυγχάνεται µε το να υdερδειγµατοληdτήσουµε το αρχικό αναλογικό δυδιάστατο σήµα f(x, y) χρησιµοdοιώντας µικρότερες τιµές για τις σταθερές δειγµατοληψίας dx και dy. Με τον τρόdο αυτό, µειώνονται οι αdότοµες µεταβάσεις του ψηφιακού σήµατος f(n) dου dροκύdτει και µdορούµε να χρησιµοdοιήσουµε µια µικρότερη σταθερά χωρίς να ενισχύεται το φαινόµενο της υdερφόρτωσης κλίσης. Ταυτόχρονα µειώνεται και η ενέργεια του κοκκώδους θορύβου. Στην(dρακτική) dερίdτωση όdου δεν έχουµε στην διάθεσή µας το αρχικό αναλογικό σήµα f(x,y)αλλάµόνοτηνψηφιακήεκδοχήτου f(k,n)καιεdιθυµούµενακωδικοdοιήσουµε την εικόνα αυτή χρησιµοdοιώντας k δυαδικά ψηφία ανά εικονοστοιχείο, τότε µdορούµε να κάνουµε µια εκτίµηση για την υdερδειγµατοληdτηµένη εικόνα χρησιµοdοιώντας κάdοια τεχνική dαρεµβολής. Για dαράδειγµα, έστω dως έχουµε στη διάθεσή µαςµιαεικόνα f(k,n), k = 1... Kκαι n = 1... Nκαιθέλουµενατηνκωδικοdοιήσουµε µε δυο δυαδικά ψηφία ανά εικονοστοιχείο. Στην dερίdτωση αυτή, σε dρώτη φάση 1 Γιατολόγοαυτό,εdιλέγουµεσυνήθωςµιασταθερά έτσιώστεναdετυχαίνουµεκάdοιοδιακανονισµό ανάµεσα στις δυο αυτές υdοβαθµίσεις ή χρησιµοdοιούµε κάdοιο αυτοdροσαρµοζόµενο σύστηµα για την εκτίµησηενόςχρονικάµεταβαλλόµενου n

58 θα dρέdει µε κάdοια τεχνική dαρεµβολής να εκτιµήσουµε την υdερδειγµατοληdτηµένη εικόνα h(k,n )ως f(k,n),k = 1... K,n = 1... N h(k,n ),k = 1... K,n = N όdουdαρατηρούµεdωςηεικόνα h(k,n )έχειδιdλάσιοαριθµόεικονοστοιχείων.στην dερίdτωση όdου έχουµε εdιλέξει τον τρόdο σάρωσης του Σχήµατος 2(α), η εικόνα h(k,n ) θα dρέdει να dεριέχει στις dεριττές στήλες της τις τιµές φωτεινότητας της αρχικής εικόνας ενώ στις άρτιες στήλες της τις τιµές dου dροέκυψαν αdό τη διαδικασία dαρεµβολής. Στη συνέχεια κωδικοdοιώντας την εικόνα h(k,n ) µε κωδικοdοίηση δέλτα, έχουµε εdιτύχει να κωδικοdοιήσουµε την εικόνα f(k, n) χρησιµοdοιώντας 2 δυαδικά ψηφία ανά εικονοστοιχείο. Η διαδικασία ανακατασκευής τότε θα dεριλαµβάνει έναεdιdλέονβήµακατάτοοdοίοηανακατασκευασµένηεικόνα ĥ(k,n )θαdρέdεινα υdοδειγµατοληdτηθεί κατά τον οριζόντιο άξονα, ή µε άλλα λόγια να κρατηθούν µόνο οι dεριττές στήλες της. Εdισηµαίνουµε στο σηµείο αυτό dως σηµαντικό ρόλο στη διαδικασία dαρεµβολής dαίζει η τάξη και το είδος των dολυωνύµων dαρεµβολής dου θα χρησιµοdοιηθούν καθώς και η dεριοχή γύρω αdό την οdοία θα υdολογιστεί η διαδικασία dαρεµβολής. Ένα αdλό dαράδειγµα διαφοροdοίησης είναι το αν η dαρεµβολή θα υdολογιστεί στη µία ή στις δύο διαστάσεις. 4 Κωδικο οίηση CVSD Η κωδικοdοίηση CVSD(Continuously Variable Slope Delta Modulation) αdοτελεί µια τροdοdοίηση της κωδικοdοίησης δέλτα dου έχει σκοdό να αντιµετωdίσει τα dροβλήµατα της υdερφόρτωσης κλίσης και του κοκκώδους θορύβου τα οdοία dεριγράψαµε στα dροηγούµενα. Τα dροβλήµατα αυτά, είδαµε dως σχετίζονται άµεσα µε τη σταθερά την οdοία χρησιµοdοιεί το σύστηµα κωδικοdοίησης/αdόκωδικοdοίησης. Στηνκωδικοdοίηση CVSDχρησιµοdοιούµε ένα χρονικάµεταβαλλόµενο n το οdοίο εξαρτάται αdό τις dροηγούµενες δύο τιµές της εξόδου του κωδικοdοιητή. Πιο συγκεκριµένα,ηdαράµετρος n δίνεταιαdότησχέση 2 β n 1 + D 2 αν ˆf(n) = ˆf(n 1) + ˆf(n 2) n = β n 1 + D 1 σεόλεςτιςάλλεςdεριdτώσεις όdου 0 < β < 1 και D 2 >> D 1 > 0. Οι τιµές των dαραµέτρων D 1,D 2 καθώς καιησταθεράλήθης β σχετίζονταιµετηµέγιστηκαιτηνελάχιστηεdιτρεdτήτιµήτης dαραµέτρου n σύµφωναµετιςσχέσεις max = D 2 1 β 2 Στηνdραγµατικότηταdρόκειταιγιαδύοµορφέςενός"ακολουθιακού"εκτιµητή,τηςγενικήςµοφής a n = βa n 1 +a,όdουκάθεφοράηdροηγούµενηεκτίµηση a n 1ανανεώνεταισύµφωναµεµιατρέχουσα νέαεκτίµηση a.στηνdερίdτωσήµας,ηδεύτερηεξίσωσηανανέωσηςσυνεχώςµειώνειτησταθερά nκαι εκτελείται κάθε φορά όdου δεν σηµειώθηκε"υdερφόρτωση κλίσης". Αντίθετα, κάθε φορά dου σηµειώνεται τοφαινόµενοτηςυdερφόρτωσηςκλίσης,ηdρώτηεξίσωσηανανέωσηςαυξάνειτησταθερά n.

59 Σχήµα 5: Μετριασµός της υdερφόρτωσης κλίσης και του κοκκώδους θορύβου min = D 1 1 β Οι τιµές αυτών των τριών dαραµέτρων dρέdει να εdιλεγούν dροσεκτικά ώστε να βεβαιωθούµε dως ο κωδικοdοιητής CVSD θα µdορεί να dαρακολουθεί τις µεταβολές του σήµατος εισόδου και dροκύdτουν αdό τις στατιστικές ιδιότητες του σήµατος εισόδου. Στο Σχήµα 5 έχουµε σχεδιάσει τη διαδικασία κωδικοdοίησης ενός σήµατος µε χρήση της κωδικοdοίησης CVSD. Αν συγκρίνουµε το Σχήµα αυτό µε το Σχήµα 4 dαρατηρούµε dως τα φαινόµενα της υdερφόρτωσης κλίσης και του κοκκώδους θορύβου µετριάζονταιµετηχρήσητηςχρονικάµεταβαλλόµενηςdαραµέτρου n. 5 Ερωτήµατα Για την ολοκλήρωση της άσκησης καλείστε να αdαντήσετε στα ακόλουθα ερωτήµατα: 1. Να αdοδείξετε dως η τιµή της σταθεράς a η οdοία ελαχιστοdοιεί το µέτρο SINMSEτοοdοίοορίσαµεστηνΠαράγραφο2δίνεταιαdότησχέση a = E[f(k,n)g(k,n)] E[f(k,n)]E[g(k,n)] V ar[g(k,n)] και να εξηγήσετε γιατί το συγκεκριµένο µέτρο το χαρακτηρίζουµε ως"ανεdηρέαστο αdό αλλαγή κλίµακας". 2. Χρησιµοdοιώντας το MATLAB(ή οdοιοδήdοτε άλλο εργαλείο ή γλώσσα dρογραµµατισµού εdιθυµείται) να υλοdοιήσετε τις συναρτήσεις οι οdοίες δέχονται ως dαραµέτρους την αρχική και την αdοσυµdιεσµένη εικόνα και υdολογίζουν τα τρία µέτρα dοιότητας τα οdοία ορίσαµε στην Παράγραφο Σε ένα σύστηµα κωδικοdοίησης δέλτα, dαρατηρούµε dως για την κωδικοdοίηση του εικονοστοιχείου f(n) θα dρέdει να έχουµε στη διάθεσή µας την εκτίµηση ˆf(n 1).Ωστόσο,γιατοdρώτοεικονοστοιχείο f(1)dουθακωδικοdοιήσουµε, δενµdορούµεναέχουµετηνεκτίµηση ˆf(0).Γιαναλύσουµετοdρόβληµααυτό, µdορούµε να αρχικοdοιήσουµε την αdοθηκευµένη τιµή στο στοιχείο µνήµης τόσο του κωδικοdοιητή όσο και του αdοκωδικοdοιητή σε µια γνωστή τιµή έτσι ώστε

60 καιοιδύοναλειτουργούνσεσυµφωνία.ανηδυναµικήdεριοχήτωνεικόνωνdου θέλουµε να κωδικοdοιεί ένα σύστηµα κωδικοdοίησης δέλτα είναι αdό 0(µάυρο) έως1(λευκό),dοιαθαήτανηκαλύτερηεdιλογήαρχικοdοίησηςγιατο ˆf(0); 4. Να υλοdοιήσετε τις συναρτήσεις εκείνες οι οdοίες δέχονται ώς είσοδο µια εικόνα f(k,n)(dίνακας)καιεdιστρέφουνωςέξοδοτοµονοδιάστατοσήµα f(n),για κάθε έναν αdό τους τρόdουςσαρώσης τουσχήµατος 2(α), 2(β)και 2(δ). Να υλοdοιήσετε εdίσης τις αντίστροφες συναρτήσεις για κάθε µια dερίdτωση. 5. Χρησιµοdοιώντας και τις συναρτήσεις dου υλοdοιήσατε στα dροηγούµενα ερωτή- µατα, να υλοdοιήσετε ένα σύστηµα κωδικοdοίησης/ αdοκωδικοdοίησης δέλτα. Η συνάρτησήσαςθαdρέdειναδέχεταιωςdαράµετροτηντιµήτηςσταθεράς (και την εικόνα εισόδου) και να χρησιµοdοιεί 1 δυαδικό ψηφίο ανά εικονοστοιχείο. Χρησιµοdοιείστε την υλοdοίησή σας για να κωδικοdοιήσετε µια εικόνα θέτοντας τησταθερά αρχικάστο8%καιµετάστο15%τηςδυναµικήςdεριοχήςτης εικόνας εισόδου. Εξετάστε τις dεριdτώσεις των τριών τρόdων σάρωσης dου έχετε υλοdοιήσει. Για κάθε αdοτέλεσµα δώστε τις αντίστοιχες τιµές για κάθε µέτρο dοιότητας συµdίεσης. 6. Να εdαναλάβετε τις µετρήσεις του dροηγούµενου ερωτήµατος για ένα σύστηµα κωδικοdοίησης δέλτα το οdοίο χρησιµοdοιεί k δυαδικά ψηφία ανά εικονοστοιχείο, αλλά µόνο για την dερίdτωση του τρόdου σάρωσης dου φαίνεται στο Σχήµα 2(α). Η τιµή k να δίνεται ως dαράµετρος στη συνάρτηση κωδικοdοίησης / αdοκωδικοdοίησης. Εξηγήστε dεριληdτικά dως θα έdρεdε να εκτελέσουµε τη διαδικασία dαρεµβολής, αν ακολουθούσαµε κάdοιο άλλο τρόdο σάρωσης αdό αυτούς dου φαίνονται στο Σχήµα Να υλοdοιήσετε ένα σύστηµα κωδικοdοίησης / αdόκωδικοdοίησης δέλτα, το οdοίο να χρησιµοdοιεί k δυαδικά ψηφία ανά εικονοστοιχείο και στο οdοίο η διαδικασία dαρεµβολής αdοτελείται αdό ένα σύστηµα"παρεµβολής- Υdερδειγ- µατοληψίας"[2]. Η διαδικασία αυτή, να γίνεται αφού τα δεδοµένα της εικόνας έχουν dροηγουµένως µετατραdεί στα ισοδύναµα µονοδιάστατα δεδοµένα µε χρήση κάdοιου τρόdου σάρωσης όdως αυτούς του Σχήµατος Να υλοdοιήσετε τη διαδικασία κωδικοdοίησης και αdοκωδικοdοίησης CVSD. Εξηγήστε στην dερίdτωση αυτή τι ακριβώς dρέdει να λάβουµε υdόψην µας ώστε ο κωδικοdοιητής και ο αdοκωδικοdοιητής να λειτουργούν σε συµφωνία. 9. Να συγκρίνετε την κωδικοdοίηση δέλτα µε την κωδικοdοίηση CVSD για κάθε ένα αdό τα µέτρα dοιότητας συµdίεσης dου ορίστηκαν και για µια σειρά αdό εικόνες εισόδου. Βιβλιογραφία [1] Craig Marven and Gillian Ewers,''A Simple Approach to Digital Signal Processing'', Wiley-Interscience Publications, 1996

61 [2] Γεώργιος Μουστακίδης,''Βασικές Τεχνικές Ψηφιακής Ε εξεργασίας Σηµάτων'', Εκδόσεις Τζιόλα, [3] J. Ziv and A. Lempel, ''A Universal Algorithm for Sequential Data Compression'', IEEE Transactions on Information Theory, Vol. 23, pp , 1977.

62 1 Εισαγωγή Η κωδικοdοίηση DPCM (Differential Pulse Code Modulation) µdορεί να θεωρηθεί ως µια γενίκευση της κωδικοdοίησης δέλτα την οdοία εξετάσαµε σε dροηγούµενη εργαστηριακή άσκηση. Στην κωδικοdοίηση δέλτα, το σήµα λάθους e(n) = f(n) ˆf(n 1) κβαντίζεται και αdοστέλλεται στο δέκτη. Το dλέον dρόσφατα κωδικοdοιηµένο δείγµατηςεικόνας ˆf(n 1)καιτοσήµαλάθους e(n)µdορούνναειδωθούνωςµια dρόβλεψη του σήµατος f(n) και ως το λάθος της dρόβλεψης αυτής αντίστοιχα. Στην κωδικοdοίηση DPCM, υdολογίζουµε αρχικά µια dρόβλεψη για τη φωτεινότητα του τρέχοντος εικονοστοιχείου µε βάση τις φωτεινότητες των γειτονικών εικονοστοιχείων τα οdοία έχουν ήδη κωδικοdοιηθεί και στη συνέχεια υdολογίζουµε το λάθος της dρόβλεψης αυτής. Το σήµα λάθους στη συνέχεια κωδικοdοιήται χρησιµοdοιώντας όχι αdαραίτητα ένα µόνο δυαδικό ψηφίο ανά εικονοστοιχείο, αλλά dιθανώς και µε dερισσότερα. 2 Κωδικο οίηση DPCM Ο κωδικοdοιητής και ο αdοκωδικοdοιητής ενός συστήµατος DPCM dαρουσιάζονται στο Σχήµα 1. Προκειµένου να κωδικοdοιήσουµε τη φωτεινότητα του τρέχοντος εικονοστοιχείου f(n, k), υdολογίζουµε αρχικά µια dρόβλεψη για τη φωτεινότητά του βασιζόµενοι σε dροηγούµενες κωδικοdοιηµένες τιµές φωτεινότητας των γειτονικών του εικονοστοιχείων. Ηdρόβλεψη τουσήµατος f(n,k) συµβολίζεταιως f (n,k). Στο Σχήµα dαρατηρούµε µια διάταξη µνήµης (τόσο στον dοµdό όσο και στο δέκτη) η οdοία κρατάει αdοθηκευµένες τις ανακατασκευασµένες τιµές των dροηγούµενων εικονοστοιχείων µε βάση τις οdοίες θα υdολογιστεί η dρόβλεψη της φωτεινότητας του τρέχοντος εικονοστοιχείου. Σκοdός µας είναι να ελαχιστοdοιήσουµε τη διασdορά του σήµατος λάθους e(n,k) = f(n,k) f (n,k) έτσι ώστε αυτό να dαρουσιάζει µικρή δυναµική dεριοχή και να µdορεί να dεριγραφεί ικανοdοιητικά αdό µικρό αριθµό δυαδικών ψηφίων. Η διαδικασία της κβάντισης του σήµατος e(n, k) οδηγεί στο σήµα ê(n, k) το οdοίο και αdοστέλλεται στο δέκτη.

63 f(n,k) e(n,k) ê(n,k) ˆf(n,k) + ΚΒΑΝΤΙΣΗ + - f (n,k) + ΠΡΟΒΛΕΨΗ f (n,k) ΠΡΟΒΛΕΨΗ MNHMH MNHMH ˆf(n,k) Σχήµα 1: Κωδικοdοιητής και αdοκωδικοdοιητής ενός συστήµατος DPCM Στοδέκτη,τοσήµα ê(n,k)συνδυάζεταιµετοσήµα f (n,k)(τηνdρόβλεψητου f(n, k)). εδοµένου dως οι dροηγούµενα ανακατασκευασµένες τιµές φωτεινότητας καθώς και η µέθοδος dρόβλεψης dου χρησιµοdοιεί ο dοµdός είναι γνωστές στο δέκτη, dοµdόςκαιδέκτηςυdολογίζουνακριβώςτιςίδιεςτιµέςγιατηνdρόβλεψη f (n,k).όdως και στην dερίdτωση της κωδικοdοίησης δέλτα, και εδώ ο dοµdός συµdεριλαµβάνει ως τµήµατουτηδιάταξητουδέκτηηοdοίαυdολογίζειτηνανακατασκευή ˆf(n,k).Τιςτιµές αυτές ο dοµdός τις χρησιµοdοιεί για να υdολογίσει την dρόβλεψη, και όχι τις dραγµατικές τιµές f(n,k),µεσκοdόναµιµηθείdλήρωςτηδιάταξητουδέκτηηοdοίαφυσικάδεν γνωρίζει τις dραγµατικές τιµές. Χρησιµοdοιώντας τις ανακατασκευασµένες τιµές για τον υdολογισµό της dρόβλεψης και στη συνέχεια του σφάλµατος dρόβλεψης, εξασφαλίζουµε (όdως στην dερίdτωση της κωδικοdοίησης δέλτα) dως δεν έχουµε συσσώρευση του σφάλµατος κβάντισης. Οι εξισώσεις οι οdοίες dεριγράφουν τη λειτουργία του συστήµατος DPCM του Σχήµατος 1 είναι οι ακόλουθες: e(n,k) = f(n,k) f (n,k) ê(n,k) = Q(e(n,k)) ˆf(n,k) = f (n,k) + ê(n,k) όdου Q( ) είναι η συνάρτηση εισόδου εξόδου του κβαντιστή dου χρησιµοdοιείται. Αdό τις dαραdάνω σχέσεις λαµβάνουµε για το σφάλµα κβάντισης την έκφραση: e Q (n,k) = ˆf(n,k) f(n,k) = ê(n,k) e(n,k) Παρατηρούµε dως αν στις dαραdάνω εξισώσεις θέσουµε f (n,k) = 0, δηλαδή ένα σύστηµα DPCM το οdοίο δεν χρησιµοdοιεί dρόβλεψη, τότε το σύστηµα αυτό είναι ισοδύναµο µε ένα αdλό PCM σύστηµα κωδικοdοίησης.

64 (α) (β) Σχήµα 2: Παραδείγµατα dεριοχών dρόβλεψης 3 Υ ολογισµός του Φίλτρου Πρόβλεψης ΣεένασύστηµαDPCM,ηdρόβλεψητουσήµατος f(n,k)δίνεταιωςέναςγραµµικός συνδυασµόςdροηγουµένωντιµών ˆf(n n i,k k i )οιοdοίεςέχουνήδηκωδικοdοιηθεί και στη συνέχεια έχουν ανακατασκευαστεί, δηλαδή: f (n,k) = (n i,k i ) R nk a(n i,k i ) ˆf(n n i,k k i ) όdου R nk είναιµιαdεριοχήγύρωαdότοεικονοστοιχείο (n,k)ηοdοίαdεριλαµβάνει µόνο τα εικονοστοιχεία τα οdοία έχουν ήδη κωδικοdοιηθεί. Για dαράδειγµα, στο Σχήµα 2 dαρουσιάζουµε δύο dαραδείγµατα dεριοχών γύρω αdό το κεντρικό εικονοστοιχείο θεωρώντας dως η κωδικοdοίηση γίνεται κατά γραµµές και αdό αριστερά dρος τα δεξιά. Σκοdός µας είναι να υdολογίσουµε τους συντελεστές a(n i,k i ) οι οdοίοι γιαµια συγκεκριµένη εικόνα θα δίνουν καλές dροβλέψεις του εdόµενου εικονοστοιχείου σε σχέση µε τις τιµές φωτεινότητας των εικονοστοιχείων της γύρω dεριοχής. Ένα καλό κριτήριο dρος ελαχιστοdοίηση είναι η ελαχιστοdοίηση του µέσου τετραγωνικού σφάλµατος ανάµεσα στην εικόνα και την dρόβλεψή της: [ ( ) ] 2 MSE = E[e 2 (n,k)] = E f(n,k) a(n i,k i ) ˆf(n n i,k k i ) (n i,k i ) R nk Το dαραdάνω κριτήριο ωστόσο, είναι δύσκολο να ελαχιστοdοιηθεί αφού το σήµα ˆf(n,k) εξαρτάται αdό τους συντελεστές a(n i,k i ) αλλά και αdό τον κβαντιστή dου χρησιµοdοιούµε. Εdοµένως, αdοτελεί ένα µη-γραµµικό dρόβληµα ελαχιστοdοίησης. Για να ξεφύγουµε αdό αυτή τη δυσκολία, αντικαθιστούµε στην dαραdάνω σχέση το σήµα f(n,k) στη θέση του ˆf(n,k) θεωρώντας dως αφού το δεύτερο αdοτελεί την κβαντισµένη εκδοχή του dρώτου δεν κάνουµε µεγάλο σφάλµα. Έτσι, µdορούµε να ελαχιστοdοιήσουµε την έκφραση: ˆ MSE = E [ ( f(n,k) (n i,k i ) R nk a(n i,k i )f(n n i,k k i ) ) 2 ]

65 Ηdαραdάνωέκφρασηείναιδευτέρουβαθµούωςdροςτουςσυντελεστές a(n i,k i )καιη ελαχιστοdοίησή της, όdως θα δούµε, µdορεί να γίνει αρκετά εύκολα. Γιανατοδούµεαυτό,αρχικάγράφουµετηδιdλήάθροισητηςdαραdάνωσχέσηςσε µορφή εσωτερικού γινοµένου (n i,k i ) R nk a(n i,k i )f(n n i,k k i ) = f T n,k a n,k όdου f n,k είναιέναδιάνυσµατοοdοίοdεριλαµβάνειτιςτιµέςτηςεικόναςστηνdεριοχή R n,k και a n,k είναιέναδιάνυσµατοοdοίοdεριλαµβάνειτουςαντίστοιχουςσυντελεστές του φίλτρου ρόβλεψης. Με τη χρήση της dαραdάνω σχέσης θα έχουµε: [ ( ) ] 2 MSE ˆ = E f(n,k) a(n i,k i )f(n n i,k k i ) (n i,k i ) R nk [ (f(n,k) ) = E f T 2 ] n,k a n,k = E [ f 2 (n,k) + a T n,k f n,kfn,k T a n,k 2f(n,k)fn,k T a ] n,k = E[f 2 (n,k)] + a T n,k E [ f n,k f T n,k] an,k 2E [ f(n,k)f T n,k] an,k = E[f 2 (n,k)] + a T n,k Ra n,k 2p T a n,k [ ] [ ] όdου R = E f n,k fn,k T και p = E f(n,k)fn,k T είναι ο dίνακας αυτοσυσχέτισης των διανυσµάτων f n,k και το διάνυσµα έτεροσυσχέτισης του βαθµωτού f(n,k) µε το διάνυσµα f n,k αντίστοιχα. Το σηµείο a o το οdοίο ελαχιστοdοιεί την dαραdάνω συνάρτηση θα dρέdει σύµφωνα µε το θεώρηµα του Fermat να αναζητηθεί ανάµεσα στα στάσιµα σηµεία της συνάρτησης. Στην dερίdτωσή µας, το µοναδικό στάσιµο σηµείο θα δίνεται ως λύση της εξίσωσης: ϑmse ˆ = 0 ϑa o η οdοία γίνεται ϑmse ˆ = 0 ϑa o 2Ra o 2p = 0 a o = R 1 p δηλαδή ως λύση ενός γραµµικού συστήµατος εξισώσεων. Εdιdρόσθετα, για να αντιστοιχεί αυτότοστάσιµοσηµείοσεελάχιστοτηςσυνάρτησηςαρκείοdίνακας Rναείναιθετικά ορισµένος. Οι στοχαστικές dοσότητες dου εµφανίζονται στην dαραdάνω έκφραση µdορούν να εκτιµηθούν στατιστικά για µια εικόνα εισόδου f(n, k) διαστάσεων N K µε βάση τις σχέσεις: R = E [ f n,k fn,k T ] 1 N K f n,k fn,k T N K n=1 k=1

66 και p = E [ f(n,k)fn,k T ] 1 N K N n=1 k=1 K f(n,k)fn,k T Ο υdολογισµός του φίλτρου dρόβλεψης γίνεται στο dοµdό, και στη συνέχεια οι συντελεστές του φίλτρου dρόβλεψης κβαντίζονται και αdοστέλλονται στον δέκτη. Στο σηµείο αυτό αξίζει να σηµειώσουµε dως και ο dοµdός θα dρέdει να χρησιµοdοιεί τις κβαντισµένες τιµές των συντελεστών του φίλτρου dρόβλεψης έτσι ώστε dοµdός και δέκτης να λειτουργούν σε συµφωνία. 4 Κωδικο οίηση ADPCM Η αdόδοση της κωδικοdοίησης DPCM dου εξετάσαµε στα dροηγούµενα, βασίζεται σε µεγάλο βαθµό στο dόσο καλή dρόβλεψη µdορούµε να κάνουµε για το τρέχον εικονοστοιχείο αν γνωρίζουµε τις τιµές των dροηγούµενων εικονοστοιχείων της εικόνας. Η χρήση ενός χρονικά σταθερού φίλτρου dρόβλεψης ωστόσο, υdονοεί dως η εικόνα θα dρέdεινα dαρουσιάζειdαρόµοιαστατιστικάχαρακτηριστικάσεόλητηςτηνέκταση 1 έτσι ώστε η εκτίµηση dου γίνεται αdό το φίλτρο dρόβλεψης να είναι ακριβής σε όλη την έκταση της εικόνας. Οι εικόνες οι οdοίες συναντώνται στην dράξη ωστόσο δεν dαρουσιάζουν dαρόµοια στατιστικά χαρακτηριστικά σε όλη τους την έκταση, µε αdοτέλεσµα σε ορισµένες dεριοχές της εικόνας να dετυχαίνουµε καλή dρόβλεψη ενώ σε άλλες dεριοχές το σήµα λάθους να dαρουσιάζει µεγάλη δυναµική dεριοχή, δηλαδή να έχουµε µια λιγότερο ικανοdοιητική dρόβλεψη. Το dρόβληµα αυτό dροσdαθεί να αντιµετωdίσει η τεχνική ADPCM(Adaptive Differential Pulse Coded Modulation) η οdοία dαρουσιάζει κάdοιας µορφής dροσαρµοστικότητα καθώς κωδικοdοιεί µια εικόνα εισόδου. Η dροσαρµοστικότητα αυτή γενικά µdορεί να έχει τις ακόλουθες δύο µορφές: (α) Προσαρµογή του κβαντιστή: Στη διαδικασία αυτή το φίλτρο dρόβλεψης dαραµένει σταθερό µε αdοτέλεσµα το σήµα λάθους να dαρουσιάζει µικρή δυναµική dεριοχή σε ορισµένες dεριοχές (καλή dρόβλεψη) ενώ σε άλλες dεριοχές µεγαλύτερη δυναµική dεριοχή (µη ικανοdοιητική dρόβλεψη). Έτσι, το σύστηµα κωδικοdοίησης dαρακολουθεί τη δυναµική dεριοχή του σήµατος λάθους και χρησιµοdοιεί έναν κβαντιστή µε dερισσότερες στάθµες(dερισσότερα δυαδικά ψηφία ανά εικονοστοιχείο) για τις dεριοχές της εικόνας µε µεγάλη δυναµική dεριοχή για το σήµα λάθους και αντίστοιχα έναν κβαντιστή µε λιγότερες στάθµες για τις dεριοχές µε µικρή δυναµική dεριοχή για το σήµα λάθους. Για να γνωρίζει ο δέκτης το είδος του κβαντιστή το οdοίο χρησιµοdοιεί ο dοµdός σε κάθε χρονική στιγµή, είναι αdαραίτητη η αdοστολή κάdοιας εdιdλέον dληροφορίας. (β) Προσαρµογή του φίλτρου dρόβλεψης: Στη διαδικασία αυτή, ο κβαντιστής dου χρησιµοdοιείται dαραµένει σταθερός ενώ το φίλτρο dρόβλεψης µεταβάλλεται έτσι ώστε να αντικατοdτρίζει τα τοdικά στατιστικά χαρακτηριστικά των διαφόρων dεριοχών της εικόνας. Σκοdός της µεθόδου είναι να διατηρείται η δυναµική dεριοχή 1 Στηνdραγµατικότηταηιδιότητααυτήµdορείναdεριγραφείµαθηµατικάκαιονοµάζεταιστασιµότητα. Τα στοχαστικά σήµατα τα οdοία την υdακούουν ονοµάζονται στάσιµα σήµατα. Ωστόσο, στάσιµα σήµατα συναντώνται σdάνια στην φύση.

67 του σήµατος λάθους σε χαµηλά εdίdεδα για όλο το εύρος της εικόνας και να µdορεί να χρησιµοdοιηθεί έτσι ένας κβαντιστής µε µικρό dλήθος δυαδικών ψηφίων ανά εικονοστοιχείο. Στην εdόµενη dαράγραφο θα εξετάσουµε αναλυτικότερα την τεχνική αυτή. 4.1 Προσαρµογή του φίλτρου ρόβλεψης Στα dροηγούµενα, όταν αναφερθήκαµε στον υdολογισµό του φίλτρου dρόβλεψης είδαµε dως ο υdολογισµός του ισοδυναµεί µε την εdίλυση ενός συστήµατος γραµµικών εξισώσεων. Υdάρχει ωστόσο µια εναλλακτική µέθοδος ελαχιστοdοίησης η οdοία ξεκινάει αdό µια αρχική εκτίµηση του σηµείου στο οdοίο η συνάρτηση dαρουσιάζει ελάχιστο, και την οdοία εκτίµηση dροοδευτικά βελτιώνει. Μάλιστα, για ορισµένα ήδη συναρτήσεων οι οdοίες δεν dαρουσιάζουν το ικά ελάχιστα, η µέθοδος αυτή καταλήγει εγγυηµένα σε µια ακολουθία λύσεων οι οdοίες βρίσκονται dολύ κοντά στην εdιθυµητή. Αςυdοθέσουµεdωςέχουµεστηδιάθεσήµαςένασηµείο a i τοοdοίοαντιστοιχείσε ένα µέσο τετραγωνικό σφάλµα: ˆ MSE(a i ) = E[f 2 (n,k)] + a T i Ra i 2pa i Τότε, σύµφωνα µε τη µέθοδο της λέον α ότοµης καθόδου(steepest descend) το σηµείο το οdοίοdροκύdτειαναdότοτρέχονσηµείοa i µετακινηθούµεdροςτηναντίθετηδιεύθυνση τηνοdοίαµαςυdοδεικνύειηdαράγωγοςτηςσυνάρτησηςστοσηµείο a i κατάέναµικρό βήµα µ,είναιένανέοσηµείο a i+1 στοοdοίοησυνάρτησηdαρουσιάζειµικρότερητιµή: a i+1 = a i µ ϑ MSE ˆ, MSE(a ˆ i+1 ) MSE(a ϑa ˆ i ) i και στην dερίdτωσή µας θα έχουµε a i+1 = a i 2µ (Ra i p) Αdότηντελευταίασχέση,dαρατηρούµεdωςτόσοοdίνακας Rόσοκαιτοδιάνυσµα p θα dρέdει να υdολογιστούν dριν αdό την εφαρµογή της µεθόδου. Μια εναλλακτική αdλοdοιηµένη εκδοχή της µεθόδου είναι ο αλγόριθµος LMS (Least Mean Squares), σύµφωναµετονοdοίοοιστοχαστικέςdοσότητες Rκαι pτίθενταιίσεςµετιςτρέχουσες εκτιµήσεις και δεν εκτιµώνται αdό στατιστικούς µέσους όρους: και R i = f n,k f T n,k p i = f(n,k)f n,k όdου η εdανάληψη i του αλγορίθµου συµdίdτει µε την εdεξεργασία του δείγµατος f(n, k). Έτσι, αντικαθιστώντας τις σχέσεις αυτές στον αναδροµικό αλγόριθµο βρίσκουµε: a i+1 = a i 2µ ( f n,k f T n,k a i f(n,k)f n,k ) a i+1 a i+1 = a i 2µ ( f T n,k a i f(n,k) ) f n,k = a i 2µ ( f (n,k) f(n,k) ) f n,k

68 και τελικά a i+1 = a i + 2µ e(n,k) f n,k Η τελευταία σχέση θα µdορούσε να χρησιµοdοιηθεί στο σύστηµα ADPCM αν και ο δέκτηςεκτόςαdότονdοµdόείχεστηδιάθεσήτουτοσήµαλάθους e(n,k)έτσιώστε και οι δυο διατάξεις να dροσαρµόζουν τα φίλτρα dρόβλεψης dου χρησιµοdοιούν µε τον ίδιο ακριβώς τρόdο. Εναλλακτικά, αντί του σήµατος e(n, k) µdορεί να χρησιµοdοιηθεί τοσήµα ê(n,k)τοοdοίοείναιδιαθέσιµοτόσοστονdοµdόόσοκαιστονδέκτηκαιτο οdοίοαναµένουµεναείναιµιακαλήεκτίµησηγιατοσήµα e(n,k),αφούαdοτελείτην κβαντισµένη εκδοχή του. Η αρχική εκτίµηση του φίλτρου dρόβλεψης a 0 µdορεί να είναι είτε το σταθερό φίλτρο dρόβλεψης του DPCM είτε µια εκδοχή του υdολογισµένη µε στατιστικές dου οφείλονται σε µια αρχική υdοdεριοχή της εικόνας dρος κωδικοdοίηση, έτσι ώστε αυτό να ανταdοκρίνεται καλύτερα στις στατιστικές ιδιότητες της αρχής της εικόνας. Στη συνέχεια, µετά την κωδικοdοίηση κάθε εικονοστοιχείου εκτελείτε µια διαδικασία ανανέωσης του φίλτρου dρόβλεψης έτσι ώστε να dαρακολουθούνται οι στατιστικές ιδιότητες της εικόνας στις διάφορες dεριοχές της. Σε γενικές γραµµές, η τιµή της θετικής σταθεράς µ καθορίζει το dόσο γρήγορα ο αλγόριθµος dροσαρµόζεται στις νέες στατιστικές ιδιότητες τηςεικόνας. Ωστόσο,έχειαdοδειχθείdωςητιµήτηςδενθαdρέdειναυdερβαίνειµια συγκεκριµένητιµή 2 γιατίστηνdερίdτωσηαυτήοαλγόριθµοςlmsδενσυγκλίνειακόµα και στην dερίdτωση όdου η συνάρτηση dρος ελαχιστοdοίηση δεν dαρουσιάζει τοdικά ακρότατα. 5 Ερωτήµατα Για την ολοκλήρωση της άσκησης καλείστε να αdαντήσετε στα ακόλουθα ερωτήµατα: 1. Να υλοdοιήσετε ένα σύστηµα κωδικοdοίησης/ αdοκωδικοdοίησης DPCM και να αξιολογήσετε την αdόδοσή του τόσο ώς dρος το µέγεθος της dεριοχής υdολογισµού της dρόβλεψης R n,k όσο και ώς dρος το dλήθος των δυαδικών ψηφίων τα οdοία χρησιµοdοιούνται για την κωδικοdοίηση του σήµατος λάθους. 2. Να αdεικονίσετε το σήµα λάθους e(n,k) το οdοίο dροκύdτει κατάτηνκωδικοdοίηση µιας εικόνας εισόδου. Τι dαρατηρήτε; Σε dοιές dεριοχές το σύστηµα dετυχαίνει καλή dρόβλεψη και σε dοιές dεριοχές της εικόνας όχι; Εξηγήστε τις dαρατηρήσεις σας. 3. Να υλοdοιήσετε ένα σύστηµα κωδικοdοίησης / αdοκωδικοdοίησης ADPCM καινααξιολογήσετετηναdόδοσήτουτόσοώςdροςτοµέγεθοςτηςdεριοχής υdολογισµούτηςdρόβλεψης R n,k όσοκαιώςdροςτηντιµήτηςσταθεράς µη οdοία χρησιµοdοιείται στην διαδικασία ανανέωσης του φίλτρου dρόβλεψης. 4. Να συγκρίνετε την αdόδοση του συστήµατος κωδικοdοίησης/ αdοκωδικοdοίησης ADPCM ώς dρος το αν ο dροσαρµοστικός αλγόριθµος LMS χρησιµοdοιεί το dραγµατικό σήµα λάθους e(n,k) ή την κβαντισµένη εκδοχή του ê(n,k). 2 Σεγενικέςγραµµές,οιεdιτρεdτέςτιµέςdουµdορείναλάβειησταθεράµαθησης µκαθορίζονταιαdότις ιδιοτιµές του dίνακα R

69 Εdίσηςναµελετηθείηεdίδρασηdουέχειηαρχικήεκτίµηση a 0 στηνdοιότητα της κωδικοdοίησης. Εξετάστε τις dεριdτώσεις (α) της τυχαίας αρχικοdοίησης, (β) της αρχικοdοίησης µε το φίλτρο dρόβλεψης της τεχνικής DPCM και (γ) της αρχικοdοίησης µε ένα φίλτρο dρόβλεψης το οdοίο έχει υdολογιστεί σε µια υdοdεριοχή της εικόνας dρος κωδικοdοίηση. Και στις τρείς dεριdτώσεις αdεικονίστε το σήµα λάθους e(n, k). Βιβλιογραφία [1] Craig Marven and Gillian Ewers,''A Simple Approach to Digital Signal Processing'', Wiley-Interscience Publications, 1996 [2] S. Haykin,''Adaptive Filter Theory'', 4th Ed. Upper Saddle River, NJ: Prentice Hall, 2002.

70 1 Εισαγωγή Στην εργασία αυτή ασχολούµαστε µε µια τεχνική η οdοία χρησιµοdοιείται ευρέως σε dεριdτώσεις όdου ένα ψηφιακά αdοθηκευµένο σήµα dρέdει να µετατραdεί ξανά σε αναλογικό. Η dερίdτωση αυτή συναντάται για dαράδειγµα όταν ένα µουσικό κοµµάτι το οdοίο βρίσκεται αdοθηκευµένο σε έναν ψηφιακό δίσκο, χρειάζεται να µετατραdεί σε αναλογικό µε σκοdό την αναdαραγωγή του. Στην dερίdτωση αυτή, το αdοθηκευµένο µουσικό κοµµάτι θα dρέdει αρχικά να µετατραdεί σε αναλογικό µε τη χρήση ενός µετατροdέα ψηφιακού σε αναλογικό (Digital to Analog Converter, DAC), και στη συνέχεια το αναλογικό σήµα να dεράσει αdό ένα αναλογικό φίλτρο ανακατασκευής[2]. Η διαδικασία αυτή ωστόσο, αdαιτεί τη χρήση ενός DAC µε ακρίβεια 16 δυαδικών ψηφίων ανά δείγµα, εdειδή το dρότυdο του ψηφιακού δίσκου υdαγορεύει τη χρήση αυτής της ακρίβειας αναdαράστασης, ο οdοίος µάλιστα θα dρέdει να λειτουργεί στη συχνότητα των 44.1 khz. Στην dράξη, ένα ολοκληρωµένο κύκλωµα µε αυτές τις dροδιαγραφές είναι dολύ ακριβό να κατασκευαστεί. Αντίθετα, µετατροdείς ψηφιακού σε αναλογικό µε χαµηλότερη ακρίβεια αναdαράστασης είναι φθηνότερο να κατασκευαστούν ακόµα και στην dερίdτωση όdου αυτοί αdαιτείται να λειτουργούν σε συχνότητες ρολογιού dολλαdλάσιες των 44.1 khz. Στα εdόµενα, θα εξετάσουµε µια τεχνική µε βάση την οdοία είναι δυνατόν να dετύχουµε την εdιθυµητή ανακατασκευή του αναλογικού σήµατος χρησιµοdοιώντας έναν µετατροdέα αναλογικού σε ψηφιακό, αριθµητικής ακρίβειας µόλις ενός δυαδικού ψηφίου, χωρίς υdοβάθµιση της dοιότητας dου αdαιτείται για την αναdαραγωγή ενός ψηφιακού δίσκου. 2 Η Κωδικο οίηση Σίγµα- έλτα Όdως dεριγράψαµε και dαραdάνω, το ζητούµενο της άσκησης αυτής είναι η ανακατασκευή ενός αναλογικού σήµατος µε αφετηρία το ψηφιακά αdοθηκευµένο σήµα, κάνοντας χρήση ενός DAC µε χαµηλή ακρίβεια αναdαράστασης. Σε dροηγούµενη εργαστηριακή άσκηση ασχοληθήκαµε µε την κωδικοdοίηση δέλτα, όdου για την κωδικοdοίηση ενός σήµατος δηµιουργείται αρχικά µια εκτίµηση ˆf(n 1) του αρχικού σήµατος f(n)

71 καιστησυνέχειακωδικοdοιείταιτοσήµαλάθους e(n) = f(n) ˆf(n 1)τοοdοίο αdοτελεί µια εκτίµηση της διαφοράς των γειτονικών δειγµάτων του αρχικού σήµατος. Την ιδιότητα αυτή, ότι δηλαδή γειτονικά δείγµατα ενός συνεχούς σήµατος έχουν dερίdου την ίδια τιµή, θα εκµεταλλευτούµε και εδώ. Για να τονίσουµε την ιδιότητα αυτή, στο σύστηµα dου θα εξετάσουµε εδώ, το αρχικό ψηφιακό σήµα f(n) dερνάει αdό ένα σύστηµα ψηφιακής dαρεµβολής[2], το οdοίο αdοτελείται αdό έναν υdερδειγµατολήdτη τάξης M καιαdόέναγραµµικόfirφίλτροµήκους 2M 1. Γειτονικάδείγµατατου νέου ψηφιακού σήµατος f(k) το οdοίο dροκύdτει αdό τη διαδικασία αυτή, dαρουσιάζουν dολύ µεγαλύτερη οµοιότητα. Στο Σχήµα 1 dαρουσιάζεται η δοµή ενός συστήµατος κωδικοdοίησης και αdοκωδικοdοίησης δέλτα. Με αφετηρία το σύστηµα αυτό, και µε κατάλληλους µετασχηµατισµούς θα dροκύψει το σύστηµα της κωδικοdοίησης Σίγµα- έλτα. Αρχικά, διαdιστώνουµε dως η διάταξη του αdοκωδικοdοιητή είναι ένα σύστηµα ψηφιακής ολοκλήρωσης το οdοίο dαρουσιάζεται στο Σχήµα 2. Παρατηρούµε ακόµα dως το υdοσύστηµα αυτό dαρουσιάζεται και στη δοµή του κωδικοdοιητή δέλτα, και dιο συγκεκριµένα αdοτελεί το βρόχο ανάδρασής του. Χρησιµοdοιώντας τώρα µια ιδιότητα των γραµµικών συστηµάτων η οdοία αναφέρει dως είναι δυνατό να εναλλάξουµε τη σειρά δύο οdοιονδήdοτε γραµµικών και χρονικά αµετάβλητων συστηµάτων χωρίς να µεταβληθεί η αdόκριση του συνολικού συστήµατος,καταλήγουµεστοσύστηµατουσχήµατος3. 1 ΣτοΣχήµααυτό,ηβαθµίδα ψηφιακής ολοκλήρωσης έχει αdεικονισθεί µε το σύµβολο Σ. Χρησιµοdοιώντας τώρα την ακόλουθη ταυτότητα l l f(k) k= n= l ˆf(k) = (f(k) ˆf(k)) n= το σύστηµα του Σχήµατος 3 µετατρέdεται στο ισοδύναµο σύστηµα του Σχήµατος 4. Το τελευταίο σύστηµα αdοτελεί τον κωδικοdοιητή Σίγµα- έλτα. Στην έξοδο του συστήµατος αυτού, µdορούµε να dροσθέσουµε έναν µετατροdέα αναλογικού σε ψηφιακό αριθµητικής ακρίβειας ενός δυαδικού ψηφίου, και στη συνέχεια ένα αναλογικό φίλτρο ανακατασκευής. Το dαραdάνω σύστηµα ανακατασκευής χρησιµοdοιείται ευρέως σε dολλά εµdορικά συστήµατα αναdαραγωγής µουσικής. Το όνοµα της τεχνικής σίγµα-δέλτα dροκύdτει ακριβώς εdειδή χρησιµοdοιείται ένας αθροιστής και στη συνέχεια ένα σύστηµα κωδικοdοίησης δέλτα(σχήµα 4). Ο θόρυβος κβάντισης ο οdοίος εισάγεται αdό τον κωδικοdοιητή αυτό dαρουσιάζει διαφορετική ισχύ ως dρος τη συχνότητα, dρόκειται δηλαδή για "χρωµατισµένο" θόρυβο. Πιό συγκεκριµένα, ο βρόχος ανάδρασης εdιδρά ως κατωdερατό φίλτρο στο σήµα εισόδου και ως ανωdερατό φίλτρο στο σήµα του θορύβου κβάντισης. Η ιδιότητα αυτή είναι ιδιαίτερα εdιθυµητή σε εφαρµογές αναdαραγωγής µουσικών κοµµατιών. 1 Στηνdεριdτωσήµας,ηεναλλαγήτωνυdοσυστηµάτωνκωδικοdοίησηςκαιαdοκωδικοdοίησηςκαταλήγει σε ένα σύστηµα το οdοίο δεν είναι αυστηρά ισοδύναµο µε το αρχικό. Αυτό συµβαίνει διότι το υdοσύστηµα του κωδικοdοιητή dεριέχει τη διάταξη του κβαντιστή ο οdοίος είναι ένα µη γραµµικό στοιχείο και καθιστά το υdοσύστηµα αυτό µη γραµµικό. Ωστόσο, εάν το σήµα λάθους λαµβάνει τιµές κοντά στις τιµές /2 και /2, τότε το στοιχείο αυτό µdορεί να θεωρηθεί ως σχεδόν γραµµικό

72 f(k) e(k) Κβαντιστής ê(k) = ± 2 + 1BIT + ˆf(k) + ˆf(k 1) z 1 ˆf(k 1) z 1 ˆf(k) Σχήµα 1: οµή του κωδικοdοdοιητή και του αdοκωδικοdοιητή δέλτα Eίσοδος + Έξοδος z 1 Σχήµα 2: οµή ενός ψηφιακού ολοκληρωτή 3 Ερωτήµατα 1. Χρησιµοdοιώντας το dεριβάλλον MATLAB δηµιουργήστε ένα σήµα dεdερασµένου εύρους ζώνης ώς άθροισµα 10 ηµιτονικών σηµάτων. Στη συνέχεια δειγµατοληdτήστε το σήµα αυτό αλλά µε συχνότητα 10 φορές µεγαλύτερη αdό το όριο Nyquist. Στη συνέχεια υdοδειγµατοληdτήστε το σήµα αυτό κατά έναν dαράγοντα Υλοdοιείστε ένα σύστηµα ψηφιακής dαρεµβολής. Χρησιµοdοιήστε βαθµό υdερδειγµατοληψίας M = 5 καθώς και(α) τετραγωνικό(β) τριγωνικό και(γ) Kaiser dαράθυρο για το φίλτρο dαρεµβολής. Εφαρµόστε το σύστηµα dαρεµβολής στο υdοδειγµατοληdτηµένο σήµα του dροηγούµενου ερωτήµατος και υdολογίστε το µέσο τετραγωνικό σφάλµα ανάµεσα στην έξοδο του συστήµατος dαρεµβολής και στο αρχικό σήµα του dροηγούµενου ερωτήµατος, για κάθε ένα τα dαράθυρα dου αναφέραµε. 3. Εdαναλάβετε τη διαδικασία του dροηγούµενου ερωτήµατος όταν το σήµα εισόδου στο σύστηµα dαρεµβολής έχει dρώτα υdοστεί κβάντιση σε 256 στάθµες. 4. Υλοdοιήστε το σύστηµα της κωδικοdοίησης Σίγµα- έλτα και µαζί µε το σύστηµα dαρεµβολής dου υλοdοιήσατε, δηµιουργείστε µια ανακατασκευή του αρχικού σήµατος. Υdολογίστε το µέσο τετραγωνικό σφάλµα ανάµεσα στο αρχικό και το ανακατασκευασµένο σήµα.

73 f(k) Σ + Κβαντιστής 1BIT ˆf(k) Σ Σχήµα 3: Εναλλαγή των βαθµίδων κωδικοdοίησης και αdοκωδικοdοίησης f(k) + Σ Κβαντιστής 1BIT ˆf(k) Σχήµα 4: οµή του κωδικοdοιητή Σίγµα- έλτα Βιβλιογραφία [1] Craig Marven and Gillian Ewers,''A Simple Approach to Digital Signal Processing'', Wiley-Interscience Publications, 1996 [2] Γεώργιος Μουστακίδης,''Βασικές Τεχνικές Ψηφιακής Ε εξεργασίας Σηµάτων'', Εκδόσεις Τζιόλα, [3] J. Proakis, Digital Communications, 3rd ed. New York: McGraw-Hill, 1995.

74 Ε Ρ Γ Α Σ Τ Η Ρ Ι Α9 Κ Η Α Σ Κ Η Σ Η Επεξεργασία Σήµατος VIDEO σε Πραγµατικό Χρόνο 1. Εισαγωγή Σκοπός της άσκησης αυτής είναι η υλοποίηση-επίδειξη αλγορίθµων επεξεργασίας σηµάτων video σε πραγµατικό χρόνο χρησιµοποιώντας το Simulink. Είναι προφανές ότι εξαιτίας της απαίτησης επεξεργασίας σε πραγµατικό χρόνο τίθενται εύλογοι περιορισµοί σχετικά µε την ανάλυση του σήµατος εισόδου. Για την συγκεκριµένη άσκηση χρησιµοποιούµε στη θέση του αισθητήρα όρασης, µια τυπική ψηφιακή βιντεοκάµερα, που διατίθεται στο εργαστήριο. 2. Επεξεργασία µοντέλων στο SIMULINK Εφόσον ανοίξετε το περιβάλλον του MatLab, µπορείτε να πληκτρολογήσετε στη γραµµή εντολών την εντολή «simulink ή κάνωντας κλικ στο κατάλληλο εικονίδιο οπότε εισέρχεστε στο περιβάλλον του Simulink. Στο Α µέρος της άσκησης θα δηµιουργήσετε δικά σας µοντέλα και θα πειραµατιστείτε µε αυτά. Στο Β µέρος θα χρησιµοποιήσετε έτοιµα µοντέλα στα οποία µπορείτε στην είσοδο να δίνετε είτε ένα video της αρεσκείας σας, είτε σε πλήρως πραγµατικό χρόνο το σήµα που καταγράφει η κάµερα εκέινη τη στιγµή Μέρος Α Καταγραφή και απεικόνιση σήµατος ηµιουργήστε ένα νέο µοντέλο στο οποίο θα πειραµατιστείτε µε την εφαρµογή φίλτρων στο σήµα εισόδου. Τοποθετήστε το πρώτο block στο νέο µοντέλο που θα αποτελεί την πηγή εισόδου. Από την βιβλιοθήκη Image Acquisition Blockset σύρετε (drag n drop) το block video input µέσα στο πεδίο του µοντέλου. Κάνοντας διπλό κλικ στο block αυτό µπορείτε να επιλέξετε την ανάλυση του σήµατος εισόδου, το frame rate καθώς και το format του διακριτού σήµατος που θα παράγει. Στο Input Format επιλέξτε RGB24. Στο Device Name βλέπετε το όνοµα της κάρτας video που είναι εγκατεστηµένη στον υπολογιστή σας. Για να

75 µετατρέψετε το RGB σε σήµα έντασης φωτεινότητας χρησιµοποιήστε από την βιβλιοθήκη Video and Image Processing Blockset και τον κατάλογο Conversions το block µε το όνοµα Color Space Conversion. Συνδέστε τις εξόδους του πρώτου µε τις εισόδους του δευτέρου και πλέον έχετε ένα σήµα φωτεινότητας. Για να δούµε αποτελέσµατα σε πλήρως πραγµατικό χρόνο, πολλές φορές πρέπει να περιοριστούµε σε χαµηλότερη ανάλυση από αυτήν που µας προσφέρεται. Για να µειώσουµε την ανάλυση του σήµατος µπορούµε να κάνουµε υποδειγµατοληψία στις γραµµές και στις στήλες τις εικόνας χρησιµοποιώντας το block Multiport Selector από τον κατάλογο Signal Processing Blockset/Signal Management/Indexing. Χρησιµοποιήστε δύο τέτοια block στη σειρά για να επιλέξετε γραµµές και στήλες αντίστοιχα. (αν π.χ. το σήµα εισόδου είναι 480x480 και εσείς θέλετε να το κάνετε 120x160, τότε στην επιλογή των γραµµών στο πεδίο indices to output επιλέγετε 1:4:480, ενώ στην επιλογή των στηλών στο ίδιο πεδίο 1:3:480). Αρχικά συνδέστε το σήµα έντασης σε έναν Video viewer, τον οποίο θα βρείτε στον κατάλογο Video and Image Processing Blockset/Sinks. Πριν επιβεβαιώσετε τη λήψη και απεικόνιση του σήµατος προσοµοιώνοντας το µοντέλο, δηλώστε κατάλληλα τις αναγκαίες παραµέτρους. Από το µενού επιλέξτε Simulation Configuration parameters και στην καρτέλα Solver επιλέξτε τη διάρκεια προσοµοίωσης αφήνοντας το Start Time ίσο µε 0. Στο Stop Time µπορείτε να επιλέξετε και inf αν θέλετε η προσοµοίωση να µη σταµατάει ποτέ. Στα Solver Options επιλέξτε τις τιµές που φαίνονται παρακάτω: Τις παραπάνω ρυθµίσεις τις κάνετε για οποιοδήποτε από τα µοντέλα χρησιµοποιήσετε στη συνέχεια. Για την έναρξη της προσοµοίωσης επιλέγουµε από το µενού Simulation Start ή κάνετε κλικ στο κατάλληλο εικονίδιο (play). Στον Video Viewer στέλνετε σήµα στο format uint8. Αν στο τέλος οποιασδήποτε επεξεργασίας το σήµα είναι σε άλλη µορφή, το µετατρέπετε σε uint8 κάνοντας χρήση του block Data Type Conversion από τον κατάλογο Simulink/Commonly Used Blocks. Για το προς επεξεργασία σήµα που σας παρέχει το Video Input επιλέξτε το format single.

Στα πλαίσια αυτής της άσκησης θα υλοποιηθούν στην αναπτυξιακή κάρτα TMS320C6711. Iσοστάθμιση τηλεπικοινωνιακού καναλιού.

Στα πλαίσια αυτής της άσκησης θα υλοποιηθούν στην αναπτυξιακή κάρτα TMS320C6711. Iσοστάθμιση τηλεπικοινωνιακού καναλιού. Ε Ρ Γ Α Σ Τ Η Ρ Ι Α Κ Η Α Σ Κ Η Σ Η 1. Εισαγωγή Υλοποίηση Προσαρμοστικών Φίλτρων Στα πλαίσια αυτής της άσκησης θα υλοποιηθούν στην αναπτυξιακή κάρτα TMS30C6711 DSK προσαρμοστικά φίλτρα FIR που βασίζονται

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

1. Switches 2. LEDs 3. Expansion Peripheral Interface 4. Expansion Memory Interface 5. Συσκευή AD535

1. Switches 2. LEDs 3. Expansion Peripheral Interface 4. Expansion Memory Interface 5. Συσκευή AD535 Εργαστηριακή Άσκηση 1 Υλοποίηση FIR Φίλτρων 1. Εισαγωγή Στα πλαίσια αυτής της άσκησης θα υλοποιηθούν ψηφιακά FIR φίλτρα στην αναπτυξιακή κάρτα TMS320C6711 DSK. Ο σκοπός της άσκησης συνοψίζεται στα ακόλουθα

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

Α Σ Κ Η Σ Η Ε Ρ Γ Α Σ Τ Η Ρ Ι Α3 Κ Η

Α Σ Κ Η Σ Η Ε Ρ Γ Α Σ Τ Η Ρ Ι Α3 Κ Η Ε Ρ Γ Α Σ Τ Η Ρ Ι Α3 Κ Η Α Σ Κ Η Σ Η 1. Εισαγωγή Σύστημα Σηματοδότησης Dual Tone Multi Frequency Στα πλαίσια αυτής της άσκησης θα υλοποιηθεί στην αναπτυξιακή κάρτα TMS320C6711 DSK το σύστημα σηματοδότησης

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

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

ΕΦΑΡΜΟΓΕΣ ΤΗΣ ΨΗΦΙΑΚΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ ΣΗΜΑΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΕΦΑΡΜΟΓΕΣ ΤΗΣ ΨΗΦΙΑΚΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ ΣΗΜΑΤΩΝ ΠΑΤΡΑ 2007 Ε Ρ Γ Α Σ Τ Η Ρ Ι Α1 Κ Η Α Σ Κ Η Σ Η Υλοποίηση FIR Φίλτρων

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ Πάτρα 2005 ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ Εργαστήριο Επεξεργασίας Σηµάτων Τηλεπικοινωνιών & ικτύων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ Πάτρα 2005 ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ Εργαστήριο Επεξεργασίας Σηµάτων Τηλεπικοινωνιών & ικτύων 2.5 0.5 0-0.5 - -.5-2 0 50 00 50 200 250 300 350 400 450 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ Πάτρα 2005 ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ Εργαστήριο Επεξεργασίας Σηµάτων Τηλεπικοινωνιών & ικτύων ΕΡΓΑΣΙΑ ΣΤΟ ΜΑΘΗΜΑ

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

ΣΤΟΧΑΣΤΙΚΑ ΣΗΜΑΤΑ ΚΑΙ ΕΦΑΡΜΟΓΕΣ

ΣΤΟΧΑΣΤΙΚΑ ΣΗΜΑΤΑ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΣΤΟΧΑΣΤΙΚΑ ΣΗΜΑΤΑ ΚΑΙ ΕΦΑΡΜΟΓΕΣ Ακαδηµαϊκό Έτος 007-008 ιδάσκων: Ν. Παπανδρέου (Π.. 407/80) Πανεπιστήµιο Πατρών Τµήµα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής 1η Εργαστηριακή Άσκηση Αναγνώριση

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

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

Ολοκληρωµένο Περιβάλλον Σχεδιασµού Και Επίδειξης Φίλτρων Ψηφιακή Επεξεργασία Σηµάτων 20 Ολοκληρωµένο Περιβάλλον Σχεδιασµού Και Επίδειξης Φίλτρων Α. Εγκατάσταση Αφού κατεβάσετε το συµπιεσµένο αρχείο µε το πρόγραµµα επίδειξης, αποσυµπιέστε το σε ένα κατάλογο µέσα

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

EΦΑΡΜΟΓΕΣ ΤΗΣ ΨΗΦΙΑΚΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ ΣΗΜΑΤΩΝ Εισαγωγή. Εµµανουήλ Ζ. Ψαράκης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής

EΦΑΡΜΟΓΕΣ ΤΗΣ ΨΗΦΙΑΚΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ ΣΗΜΑΤΩΝ Εισαγωγή. Εµµανουήλ Ζ. Ψαράκης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής EΦΑΡΜΟΓΕΣ ΤΗΣ ΨΗΦΙΑΚΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ ΣΗΜΑΤΩΝ Εισαγωγή Εµµανουήλ Ζ. Ψαράκης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής Ε Ρ Γ Α Σ Τ Η Ρ Ι ΑΚ Η Α Σ Κ Η Σ Η 1 Υλοποίηση FIR Φίλτρων Στα πλαίσια αυτής

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

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

Ακαδηµαϊκό Έτος , Εαρινό Εξάµηνο ιδάσκων Καθ.: Νίκος Τσαπατσούλης ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ, ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΒΕΣ 6: ΠΡΟΣΑΡΜΟΣΤΙΚΑ ΣΥΣΤΗΜΑΤΑ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΕΣ Ακαδηµαϊκό Έτος 26 27, Εαρινό Εξάµηνο Καθ.: Νίκος Τσαπατσούλης ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΕΠΑΝΑΛΗΨΗ Το

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

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

Ε Ρ Γ Α Σ Τ Η Ρ Ι A4 Κ Η Α Σ Κ Η Σ Η. 1. Εισαγωγή. Xexe ωω = () jjn n

Ε Ρ Γ Α Σ Τ Η Ρ Ι A4 Κ Η Α Σ Κ Η Σ Η. 1. Εισαγωγή. Xexe ωω = () jjn n Ε Ρ Γ Α Σ Τ Η Ρ Ι A4 Κ Η Α Σ Κ Η Σ Η Τεχνικές Εκτίμησης Συχνοτικού Περιεχομένου Σημάτν. Εισαγγή Στα πλαίσια αυτής της άσκησης θα εξεταστούν τεχνικές εκτίμησης του συχνοτικού περιεχομένου ντετερμινιστικών

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

ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων. Βιβλιογραφία Ενότητας

ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων. Βιβλιογραφία Ενότητας ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Βελτιστοποίηση κώδικα σε επεξεργαστές ΨΕΣ Τµήµα Επιστήµη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήµιο Πελοποννήσου Βιβλιογραφία Ενότητας Kehtarnavaz [2005]: Chapter

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

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: Σελίδα 1 από 11 Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: την επικοινωνία, µε τα υπόλοιπα ολοκληρωµένα κυκλώµατα του υπολογιστικού συστήµατος. την παροχή τροφοδοσίας

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

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

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

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

Εφαρµογες Της Ψηφιακης Επεξεργασιας Σηµατων. Εκτιµηση Συχνοτητων Με ΙδιοΑναλυση του Μητρωου ΑυτοΣυσχετισης

Εφαρµογες Της Ψηφιακης Επεξεργασιας Σηµατων. Εκτιµηση Συχνοτητων Με ΙδιοΑναλυση του Μητρωου ΑυτοΣυσχετισης ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΣΗΜΑΤΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Εφαρµογες Της Ψηφιακης Επεξεργασιας Σηµατων Εκτιµηση Συχνοτητων Με ΙδιοΑναλυση του Μητρωου ΑυτοΣυσχετισης

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

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ» Περιεχόμενα Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»... 2 Καταχωρητές... 3 Αριθμητική-λογική μονάδα... 3 Μονάδα μνήμης... 4 Μονάδα Εισόδου - Εξόδου... 5 Μονάδα ελέγχου... 5 Ρεπερτόριο Εντολών «ΑΒΑΚΑ»... 6 Φάση

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

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μελετώντας το μάθημα θα μπορείς να ξέρεις τη λειτουργία του Polling να ξέρεις

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

ΛΥΣΕΙΣ ΑΣΚΗΣΕΩΝ ΕΞΕΤΑΣΤΙΚΗΣ ΠΕΡΙΟ ΟΥ ΙΟΥΝΙΟΥ 2004., η οποία όµως µπορεί να γραφεί µε την παρακάτω µορφή: 1 e

ΛΥΣΕΙΣ ΑΣΚΗΣΕΩΝ ΕΞΕΤΑΣΤΙΚΗΣ ΠΕΡΙΟ ΟΥ ΙΟΥΝΙΟΥ 2004., η οποία όµως µπορεί να γραφεί µε την παρακάτω µορφή: 1 e ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΥΣΗΣ ΗΛΕΚΤΡΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ ΜΑΘΗΜΑ: ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΩΝ ΛΥΣΕΙΣ ΑΣΚΗΣΕΩΝ ΕΞΕΤΑΣΤΙΚΗΣ ΠΕΡΙΟ ΟΥ ΙΟΥΝΙΟΥ 4 AΣΚΗΣΗ () [ ] (.5)

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

Αρχιτεκτονική Μνήµης

Αρχιτεκτονική Μνήµης ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Μνήµης Τµήµα Επιστήµη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήµιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapters 3 & 4 Lapsley [2002]: Chapter

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

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ Βιβλιογραφία Ενότητας Kehtarnavaz [2005]: Chapter 3 Kuo [2005]: Chapters 1 & 4-5 Lapsley [2002]: Chapter 4 Hayes [2000]: Κεφάλαιo 8

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

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή Εισαγωγή Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ Σκοπός του εργαστηρίου είναι να γνωρίσουµε την εσωτερική δοµή και αρχιτεκτονική της κεντρικής µονάδας επεξεργασίας, να κατανοήσουµε τον τρόπο µε τον οποίο λειτουργεί

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

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

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

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

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

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

Είναι το πρωτόκολλο RS232 που χρησιμοποιείται στις σειριακές θύρες COM με τη διαφορά ότι εκτελείται σε επίπεδο τάσεων TTL. 2

Είναι το πρωτόκολλο RS232 που χρησιμοποιείται στις σειριακές θύρες COM με τη διαφορά ότι εκτελείται σε επίπεδο τάσεων TTL. 2 16. USART Οι AVR διαθέτουν ενσωματωμένη διάταξη για υποστήριξη σειριακής επικοινωνίας USART 1 (Universal Synchronous and Asynchronous serial Receiver and Transmitter). Η ενσωματωμένη διάταξη μας εξυπηρετεί

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

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

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

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

Καλαντζόπουλος Αθανάσιος

Καλαντζόπουλος Αθανάσιος Σχεδίαση και Υλοποίηση Ολοκληρωµένου Συστήµατος µε DSPs για Λήψη, Επεξεργασία και ιαχείριση Εικόνας Ειδική Επιστηµονική Εργασία Καλαντζόπουλος Αθανάσιος Αντικείµενο µελέτης Οσχεδιασµός και η υλοποίηση

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

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Πληροφορικής Ενότητα 8η: Συσκευές Ε/Ε - Αρτηρίες Άσκηση 1: Υπολογίστε το µέσο χρόνο ανάγνωσης ενός τµήµατος των 512 bytes σε µια µονάδα σκληρού δίσκου µε ταχύτητα περιστροφής

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

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή 8.1 Τακτική σάρωση (Polling) Ας υποθέσουμε ότι έχουμε ένα πληκτρολόγιο συνδεδεμένο σε ένα υπολογιστικό σύστημα. Το πληκτρολόγιο είναι μια μονάδα εισόδου.

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

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων 2.1 Αρχιτεκτονική Υπολογιστών 2.1 Αρχιτεκτονική Υπολογιστών 2.2 Γλώσσα Μηχανής 2.3 Εκτέλεση προγράµµατος 2.4 Αριθµητικές και λογικές εντολές 2.5 Επικοινωνία µε άλλες συσκευές

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

ΗΜΥ 213. Εργαστήριο Οργάνωσης Η.Y. και Μικροεπεξεργαστών week 5. Διδάσκων: Δρ. Γιώργος Ζάγγουλος

ΗΜΥ 213. Εργαστήριο Οργάνωσης Η.Y. και Μικροεπεξεργαστών week 5. Διδάσκων: Δρ. Γιώργος Ζάγγουλος ΗΜΥ 213 Εργαστήριο Οργάνωσης Η.Y. και Μικροεπεξεργαστών week 5 Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Περίληψη Κλήση Συνάρτησης και επιστροφή

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

Περιεχόµενα διαλέξεων 2ης εβδοµάδας

Περιεχόµενα διαλέξεων 2ης εβδοµάδας Εισαγωγή οµή και πόροι τηλεπικοινωνιακού συστήµατος Σήµατα Περιεχόµενα διαλέξεων 1ης εβδοµάδας Εισαγωγή Η έννοια της επικοινωνιας Ιστορική αναδροµή οµή και πόροι τηλεπικοινωνιακού συστήµατος οµή τηλεπικοινωνιακού

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

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

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

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

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

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

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

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή 6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή Εισαγωγή Η σχεδίαση ενός ψηφιακού συστήµατος ως ακολουθιακή µηχανή είναι εξαιρετικά δύσκολη Τµηµατοποίηση σε υποσυστήµατα µε δοµικές µονάδες:

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

ΑΣΚΗΣΗ 5 η Η σειριακή επικοινωνία ΙΙ 1.1 ΣΚΟΠΟΣ Σκοπός της άσκησης αυτής είναι η κατανόηση σε βάθος των λειτουργιών που παρέχονται από το περιβάλλον LabView για τον χειρισµό της σειριακής επικοινωνίας

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

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

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

ΜΑΘΗΜΑ: ΜΙΚΡΟΕΛΕΓΚΤΕΣ

ΜΑΘΗΜΑ: ΜΙΚΡΟΕΛΕΓΚΤΕΣ ΜΑΘΗΜΑ: ΜΙΚΡΟΕΛΕΓΚΤΕΣ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑΤΩΝ ΕΞΕΤΑΣΕΩΝ ΙΑΝΟΥΑΡΙΟΥ 2011 Καθηγητής: Νικολαΐδης Νικ. Ημ/νία εξέτασης: 28-1-2011 ΘΕΜΑ 1 Να σχεδιαστεί μία μνήμη ROM που να περιέχει το κείμενο "MICRO". Ο ASCII κωδικός

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

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοινωνία. Σειριακή Επικοινωνία USB Σύνδεση / Πρωτόκολλο Σκοπός Εντολή επιλογής (if) Εντολή Επανάληψης (while) Πίνακες 1 Μέρος Α : Σκοπός

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

Οργάνωση Υπολογιστών (IΙI)

Οργάνωση Υπολογιστών (IΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (IΙI) (συσκευές εισόδου-εξόδου) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

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

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

ΤΕΙ Κρήτης, Παράρτηµα Χανίων ΠΣΕ, Τµήµα Τηλεπικοινωνιών & ικτύων Η/Υ Εργαστήριο ιαδίκτυα & Ενδοδίκτυα Η/Υ ( ηµιουργία συστήµατος µε ροint-tο-ροint σύνδεση) ρ Θεοδώρου Παύλος Χανιά 2003 Περιεχόµενα 1 ΕΙΣΑΓΩΓΗ...2 2 ΤΟ ΚΑΝΑΛΙ PΟINT-TΟ-PΟINT...2

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

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 3 : Μια άποψη του κορυφαίου επιπέδου λειτουργίας και διασύνδεσης του υπολογιστή Καρβούνης Ευάγγελος Η έννοια

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

δ[n kp ], k Z (1) 1 cos πn, N 1 n N 1 + N 2 2N

δ[n kp ], k Z (1) 1 cos πn, N 1 n N 1 + N 2 2N ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών HY-370: Ψηφιακή Επεξεργασία Σήµατος Χειµερινό Εξάµηνο 2015 ιδάσκοντες : Γ. Στυλιανού - Γ. Καφεντζής Τέταρτο Εργαστήριο - Ηµεροµηνία : 27/11/2015 Σηµείωση

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

Αρχιτεκτονική Μνήμης

Αρχιτεκτονική Μνήμης ΕΣ 08 Επεξεργαστές Ψηφιακών Σημάτων Αρχιτεκτονική Μνήμης Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήμιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapters 3 & 4 Lapsley [2002]: Chapter

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

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

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

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

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Παρακάτω δίνονται μερικοί από τους ακροδέκτες που συναντάμε στην πλειοψηφία των μικροεπεξεργαστών. Φτιάξτε έναν πίνακα που να

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

Συστήµατα και Αλγόριθµοι Πολυµέσων

Συστήµατα και Αλγόριθµοι Πολυµέσων Συστήµατα και Αλγόριθµοι Πολυµέσων Ιωάννης Χαρ. Κατσαβουνίδης Οµιλία #3: Αρχές Επεξεργασίας Σηµάτων Πολυµέσων 10 Οκτωβρίου 005 Επανάλειψη (1) ειγµατοληψία επανα-δειγµατοληψία Τεχνικές φίλτρων (συνέλειξη)

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

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής) ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α Γενικού Λυκείου (Μάθημα Επιλογής) Σύγχρονα Υπολογιστικά Συστήματα τους υπερυπολογιστές (supercomputers) που χρησιμοποιούν ερευνητικά εργαστήρια τα μεγάλα συστήματα (mainframes)

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

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

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

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

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

Ψηφιακή Επεξεργασία Σήματος ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ψηφιακή Επεξεργασία Σήματος Ενότητα Ζ: Σύνθεση τόνων για τηλεφωνικές συσκευές Dual Tone Multiple Frequency (DTMF) Όνομα Καθηγητή:

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

Εισαγωγή. Προχωρημένα Θέματα Τηλεπικοινωνιών. Ανάκτηση Χρονισμού. Τρόποι Συγχρονισμού Συμβόλων. Συγχρονισμός Συμβόλων. t mt

Εισαγωγή. Προχωρημένα Θέματα Τηλεπικοινωνιών. Ανάκτηση Χρονισμού. Τρόποι Συγχρονισμού Συμβόλων. Συγχρονισμός Συμβόλων. t mt Προχωρημένα Θέματα Τηλεπικοινωνιών Συγχρονισμός Συμβόλων Εισαγωγή Σε ένα ψηφιακό τηλεπικοινωνιακό σύστημα, η έξοδος του φίλτρου λήψης είναι μια κυματομορφή συνεχούς χρόνου y( an x( t n ) n( n x( είναι

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

Επαναληπτικές Ασκήσεις για το µάθηµα Ψηφιακή Επεξεργασία Σηµάτων

Επαναληπτικές Ασκήσεις για το µάθηµα Ψηφιακή Επεξεργασία Σηµάτων Άσκηση η α) Πώς θα µετρήσετε πρακτικά πόσο κοντά είναι ένα σήµα σε λευκό θόρυβο; Αναφέρατε 3 διαφορετικές µεθόδους (κριτήρια) για την απόφαση: "Ναι, πρόκειται για σήµα που είναι πολύ κοντά σε λευκό θόρυβο"

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ. Ασκήσεις 1-2 Εισαγωγή

Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ. Ασκήσεις 1-2 Εισαγωγή Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΒΙΟΜΗΧΑΝΙΚΟΙ ΑΥΤΟΜΑΤΙΣΜΟΙ Εφαρµογές Προγραµµατιζόµενων Λογικών Ελεγκτών-Εργαστήριο Εργαστηριακός Συνεργάτης: Βέλλος Κων/νος Ασκήσεις 1-2 Εισαγωγή

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

Εισαγωγή στα Προσαρµοστικά Συστήµατα

Εισαγωγή στα Προσαρµοστικά Συστήµατα ΒΕΣ 06 Προσαρµοστικά Συστήµατα στις Τηλεπικοινωνίες Εισαγωγή στα Προσαρµοστικά Συστήµατα Νικόλας Τσαπατσούλης Επίκουρος Καθηγητής Π..407/80 Τµήµα Επιστήµη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήµιο Πελοποννήσου

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

ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ

ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Πλατφόρμες ενσωματωμένων συστημάτων Διδάσκων: Παναγιώτης Καρκαζής Περίγραμμα - Δίαυλοι επικοινωνίας - Μνήμες -Συσκευές Ι/Ο Timers Counters keyboards Leds 7 segment display

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

ΕΝΟΤΗΤΑ 3 ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ

ΕΝΟΤΗΤΑ 3 ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ ΕΝΟΤΗΤΑ 3 ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ Σκοπός και περίγραμμα της Ενότητας 3 Σκοπός της παρουσίασης Να δούμε πιο προσεκτικά τις μεταβλητές, τις σταθερές και τις εκφράσεις γενικότερα. Να σας παρουσιάσουμε

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

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

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

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

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

ΥΠΗΡΕΣΙΑ ΕΙΚΟΝΙΚΟΥ ΕΡΓΑΣΤΗΡΙΟΥ ΣΧΕ ΙΑΣΜΟΥ ΠΑΡΑ ΟΤΕΟ (ΠE.3.4.1.3) ΓΙΑ ΤΟ ΥΠΟΕΡΓΟ 2 «ΑΝΑΠΤΥΞΗ ΥΠΗΡΕΣΙΩΝ ΠΡΟΣΤΙΘΕΜΕΝΗΣ ΑΞΙΑΣ ΕΙΚΟΝΙΚΩΝ ΕΡΓΑΣΤΗΡΙΩΝ» ΤΟΥ ΕΡΓΟΥ «ΥΠΗΡΕΣΙΕΣ ΕΙΚΟΝΙΚΩΝ ΕΡΓΑΣΤΗΡΙΩΝ ΤΟΥ ΤΕΙ ΑΘΗΝΑΣ» (MIS 304191) ΥΠΗΡΕΣΙΑ ΕΙΚΟΝΙΚΟΥ ΕΡΓΑΣΤΗΡΙΟΥ

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 121 ΕΡΓΑΣΤΗΡΙΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΝΗΜΗ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΗ ΛΟΓΙΚΗ ΥΠΕΥΘΥΝΟΣ ΕΡΓΑΣΤΗΡΙΩΝ: ΧΡΥΣΟΣΤΟΜΟΣ ΧΡΥΣΟΣΤΟΜΟΥ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2001 ΕΠΛ 121 ΕΡΓΑΣΤΗΡΙΑ ΨΗΦΙΑΚΩΝ

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 201 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

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

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

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

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

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

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

Εφαρµογές Προσαρµοστικών Συστηµάτων: Καταστολή ηχούς, Ισοστάθµιση καναλιού και ανίχνευση συµβόλων

Εφαρµογές Προσαρµοστικών Συστηµάτων: Καταστολή ηχούς, Ισοστάθµιση καναλιού και ανίχνευση συµβόλων ΒΕΣ 6: Προσαρµοστικά Συστήµατα στις Τηλεπικοινωνίες ΒΕΣ 6 Προσαρµοστικά Συστήµατα στις Τηλεπικοινωνίες Εφαρµογές Προσαρµοστικών Συστηµάτων: Καταστολή ηχούς, Ισοστάθµιση καναλιού και ανίχνευση συµβόλων

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

Παραλληλισµός Εντολών (Pipelining)

Παραλληλισµός Εντολών (Pipelining) ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Παραλληλισµός Εντολών (Pipelining) Τµήµα Επιστήµη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήµιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapter 3: Section 3.4,

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

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 5: Εξωτερικές διακοπές του 8051

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 5: Εξωτερικές διακοπές του 8051 Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών Βοήθημα εκτέλεσης εργαστηριακής άσκησης 5: Εξωτερικές διακοπές του 8051 Ο κώδικας για την παρούσα εργαστηριακή άσκηση σας δίδεται κατά το μεγαλύτερο μέρος

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

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

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

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

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Τι εννοούμε με τον όρο υπολογιστικό σύστημα και τι με τον όρο μικροϋπολογιστικό σύστημα; Υπολογιστικό

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΥΠΟΛΟΓΙΣΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο ΦΕΒΡΟΥΑΡΙΟΣ 2006 ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ

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

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

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

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

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

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

Εξεταστική Ιανουαρίου 2007 Μάθηµα: «Σήµατα και Συστήµατα»

Εξεταστική Ιανουαρίου 2007 Μάθηµα: «Σήµατα και Συστήµατα» Εξεταστική Ιανουαρίου 27 Μάθηµα: «Σήµατα και Συστήµατα» Θέµα 1 ο (3%) Έστω δύο διακριτά σήµατα: x(n) = {1,,, -1} και h(n) = {1,, 1} µε το πρώτο δείγµα να αντιστοιχεί σε n= και για τα δύο. Υπολογίστε τα

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

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Α Γενικού Λυκείου Κεφάλαιο 1 1.1 Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Ιδιαίτερη θέση έχουν οι Υπολογιστικές συσκευές. Μηχανισμός

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

8.1 Θεωρητική εισαγωγή

8.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 8 ΣΤΟΙΧΕΙΑ ΜΝΗΜΗΣ ΚΑΤΑΧΩΡΗΤΕΣ Σκοπός: Η µελέτη της λειτουργίας των καταχωρητών. Θα υλοποιηθεί ένας απλός στατικός καταχωρητής 4-bit µε Flip-Flop τύπου D και θα µελετηθεί

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

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή στην Πληροφορική 1 Γενικές πληροφορίες Εισαγωγή στην Πληροφορική ιδασκαλία: Παναγιώτης Χατζηδούκας Email:

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

1 η ΣΕΙΡΑ ΑΣΚΗΣΕΩΝ. / 2. Οι όροι Eb. και Ec

1 η ΣΕΙΡΑ ΑΣΚΗΣΕΩΝ. / 2. Οι όροι Eb. και Ec Τµήµα Μηχανικών Υπολογιστών, Τηλεπικοινωνιών και ικτύων ΗΥ 44: Ασύρµατες Επικοινωνίες Εαρινό Εξάµηνο -3 ιδάσκων: Λέανδρος Τασιούλας η ΣΕΙΡΑ ΑΣΚΗΣΕΩΝ. Θεωρήστε ένα κυψελωτό σύστηµα, στο οποίο ισχύει το

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

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

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

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

DFT ιακριτός µετ/σµός Fourier Discrete Fourier Transform

DFT ιακριτός µετ/σµός Fourier Discrete Fourier Transform DFT ιακριτός µετ/σµός Fourier Discrete Fourier Transform Νοέµβριος 5 ΨΕΣ Ορισµοί O διακριτός µετασχηµατισµός Fourier DFT, αναφέρεται σε µία πεπερασµένου µήκους ακολουθία σηµείων και ορίζεται ως εξής: X(

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

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ.

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ. Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (IΙI) (συσκευές εισόδου-εξόδου) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

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

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

1) Να σχεδιαστούν στο matlab οι γραφικές παραστάσεις των παρακάτω ακολουθιών στο διάστημα, χρησιμοποιώντας τις συναρτήσεις delta και step. 1) Να σχεδιαστούν στο matlab οι γραφικές παραστάσεις των παρακάτω ακολουθιών στο διάστημα, χρησιμοποιώντας τις συναρτήσεις delta και step. Α) Β) Ε) F) G) H) Ι) 2) Αν το διακριτό σήμα x(n) είναι όπως στην

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

Βασικές Έννοιες της Πληροφορικής

Βασικές Έννοιες της Πληροφορικής Βασικές Έννοιες της Πληροφορικής Ηλεκτρονικός Υπολογιστής Αυτόματη ηλεκτρονική μηχανή που δέχεται, φυλάσσει, επαναφέρει, επεξεργάζεται και παρουσιάζει πληροφορίες σύμφωνα με προκαθορισμένες εντολές. Δεδομένα

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

ΚΕΦΑΛΑΙΟ Web Services

ΚΕΦΑΛΑΙΟ Web Services ΚΕΦΑΛΑΙΟ Web Services Προϋποθέσεις εγκατάστασης Web Services για το Κεφάλαιο 4.50 1. Κεφάλαιο έκδοση 4.51e build 458 ή νεότερο 2. Internet Information Server (IIS) version 6 ή νεότερος 3. Σε κάποιον υπολογιστή

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

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

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

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

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

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

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

2. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΤΩΝ ΘΥΡΩΝ ΕΙΣΟ ΟΥ/ΕΞΟ ΟΥ ΤΟΥ PIC16F877-ΑΡΙΘΜΗΤΙΚΕΣ ΕΝΤΟΛΕΣ

2. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΤΩΝ ΘΥΡΩΝ ΕΙΣΟ ΟΥ/ΕΞΟ ΟΥ ΤΟΥ PIC16F877-ΑΡΙΘΜΗΤΙΚΕΣ ΕΝΤΟΛΕΣ 1 2. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΤΩΝ ΘΥΡΩΝ ΕΙΣΟ ΟΥ/ΕΞΟ ΟΥ ΤΟΥ PIC16F877-ΑΡΙΘΜΗΤΙΚΕΣ ΕΝΤΟΛΕΣ Σκοπός της άσκησης: εξοικείωση µε τις θύρες εισόδου/εξόδου ενός µικροελεγκτή 2. Θεωρητικό Μέρος 2.1.1 Θύρες εισόδου / εξόδου

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

Εργασία στο µάθηµα Ανάλυση εδοµένων

Εργασία στο µάθηµα Ανάλυση εδοµένων Μεταπτυχιακό Υπολογιστικής Φυσικής Εργασία στο µάθηµα Ανάλυση εδοµένων ηµήτρης Κουγιουµτζής E-mail: dkugiu@auth.gr 30 Ιανουαρίου 2018 Οδηγίες : Σχετικά µε την παράδοση της εργασίας ϑα πρέπει : Το κείµενο

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

Υλοποιήσεις Ψηφιακών Φίλτρων

Υλοποιήσεις Ψηφιακών Φίλτρων Ψηφιακή Επεξεργασία Σηµάτων 10 Υλοποιήσεις Ψηφιακών Φίλτρων Α. Εισαγωγή Οποιοδήποτε γραµµικό χρονικά αµετάβλητο σύστηµα διακριτού χρόνου χαρακτηρίζεται πλήρως από τη συνάρτηση µεταφοράς του η οποία έχει

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

Μνήμη και Προγραμματίσιμη Λογική

Μνήμη και Προγραμματίσιμη Λογική Μνήμη και Προγραμματίσιμη Λογική Η μονάδα μνήμης είναι ένα στοιχείο κυκλώματος στο οποίο μεταφέρονται ψηφιακές πληροφορίες προς αποθήκευση και από το οποίο μπορούμε να εξάγουμε αποθηκευμένες πληροφορίες

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

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

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

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

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

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

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

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

ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΩΝ Εισαγωγή. Εµµανουήλ Ζ. Ψαράκης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής

ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΩΝ Εισαγωγή. Εµµανουήλ Ζ. Ψαράκης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΩΝ Εισαγωγή Εµµανουήλ Ζ. Ψαράκης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής Εφαρµογές της Ψηφιακής Επεξεργασίας Σηµάτων Ακουστικά Σήµατα ü Αναγνώριση, Ανάλυση, Σύνθεση,

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ CD-PLUS/4+N

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ CD-PLUS/4+N ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ CD-PLUS/4+N ΜΕΘΟΔΟΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ : Με ΙΤ-4Ν Με τηλέφωνο συνδεδεμένο στις εξόδους τηλεφωνικής γραμμής του ΙΤ-4Ν. Μπείτε στο μενού προγραμματισμού. Αν έχετε μπουτονιέρα στο σύστημα, τοποθετείστε

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

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (

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

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

Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ ΠΑΡΑΡΤΗΜΑ ΚΑΣΤΟΡΙΑΣ ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΦΩΤΙΑ ΗΣ Α. ΗΜΗΤΡΗΣ M.Sc. ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. ΠΑΡΑΡΤΗΜΑ ΚΑΣΤΟΡΙΑΣ ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ ΙΑΚΟΠΕΣ (INTERRUPTS) ΟΙ ΙΑΚΟΠΕΣ ΕΙΝΑΙ «ΣΥΜΒΑΝΤΑ», ΕΣΩΤΕΡΙΚΑ

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

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

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

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

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 12 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Μαθηµα 2 ηµήτρης Λιούπης 1 Intel SA-1110 µc StrongARM core. System-on-Chip. Εξέλιξη των SA-110 και SA-1100. 2 ARM cores ARM: IP (intellectual

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