Διαδικασία Ψηφιοποίησης (1/2) Η διαδικασία ψηφιοποίησης περιλαμβάνει: Φιλτράρισμα και δειγματοληψία Κβαντισμό και κωδικοποίηση Φιλτράρισμα και δειγματοληψία Κβαντισμός και κωδικοποίηση
Κβαντισμός Τα αναλογικά δείγματα έχουν συνεχείς τιμές και χρειάζεται άπειρος αριθμός bits για την παράσταση τους. Κβαντισμός (Quantization): η διαδικασία αντιστοίχισης των συνεχών δειγμάτων σε πεπερασμένο πλήθος (κβαντισμένων) τιμών. O κβαντισμός εισάγει παραμόρφωση. Εάν τα επίπεδα κβαντισμού είναι ίσα, ο κβαντιστής ονομάζεται ομοιόμορφος
Γραφική παράσταση
Συμβολισμοί Το πλήθος των επιπέδων κβαντισμού Μ συνδέεται με το πλήθος των bits που αφιερώνεται για την κωδικοποίηση (περιγραφή) τους ως εξής: Μ=2 N Για παράδειγμα για 3 bits θα έχουμε 2 3 =8 επίπεδα κβαντισμού Εξετάστε πώς θα γίνει η κβαντοποίηση του διαστήματος [-4, 4] με ομοιόμορφο κβαντιστή 3 bits (σε 8 δηλαδή διαστήματα)
Υποσυστήματα του Κβαντιστή Ο αναλογικός /ψηφιακός μετατροπέας (ADC Analog to Digital Converter) προσεγγίζει το δείγμα στην είσοδο του με ένα από τα Μ επίπεδα κβαντισμού. Το κύκλωμα κωδικοποίησης μετατρέπει την κβαντισμένη τιμή σε ακολουθία από bits. Είτε κάθε τιμή ανεξάρτητα από την προηγούμενη Είτε λαμβάνοντας υπόψη τυχόν συσχετίσεις
Θόρυβος Κβαντισμού- Quantization Noise Εμφανίζεται αφού έχουμε προσέγγιση της τιμής του δείγματος με την πλησιέστερη διακριτή τιμή Το σφάλμα κβαντισμού δεν μπορεί να υπερβαίνει το μισό του μήκους του επιπέδου κβαντισμού
Λόγος Σήματος Σφάλματος Κβαντισμού Signal to Quantization Noise Error SQNR = 20log V sig Vqn (db) Δείξτε ότι κάθε επιπλέον bit για τη δημιουργία επιπέδων κβαντισμού συνεπάγεται αύξηση κατά 6db στην σηματοθορυβική σχέση του ομοιόμορφου κβαντιστή (θεωρώντας ότι τα σήματα εισόδου έχουν ομοιόμορφη συνάρτηση πυκνότητας πιθανότητας)
Υπολογισμός SQNR Για ακρίβεια κβαντισμού N bits ανά δείγμα Μέγιστη θετική τιμή σήματος 2 N 1 1 (~2 N 1 ) και ελάχιστη αρνητική 2 N 1 Το SQNR υπολογίζεται: Κάθε πρόσθετο bit (= διπλασιασμός επιπέδων) αυξάνει το QSNR κατά 6 db (=τετραπλασιασμός SNR)
Παλμοκωδικη Διαμορφωση (PCM) Ο ομοιόμορφος κβαντισμός αναφέρεται και ως παλμοκωδική διαμόρφωση (Pulse Code Modulation) Η PCM δίνει ένα σήμα βασικής ζώνης το οποίο αποτελείται από σειρά παλμών από τη σειριακή έξοδο ενός κβαντιστή Ερώτηση Για ρυθμό δειγματοληψίας fs και n bits για κωδικοποίηση, υπολογίστε το ρυθμό bps και το εύρος ζώνης μετάδοσης του σήματος
Ρυθμός και Φάσμα Μετάδοσης Σημάτων PCM Ο ρυθμός παραγωγής δυαδικών συμβόλων, δηλαδή ο ρυθμός κωδικοποίησης στην έξοδο του κβαντιστή, είναι f s log 2 M = f s n bits/sec. To ελάχιστο απαιτούμενο φάσμα για τη μετάδοση του σήματος είναι: f s n/2 Hz.
Παραδείγματα Πόσα bits χρειαζόμαστε για 50 s για ένα στερεοφωνικό ηχητικό σήμα με συχνότητα δειγματοληψία εκάστου καναλιού 44.1 khz, και χρήση 16 bits ανά δείγμα; Ποια είναι η μέγιστη συχνότητα του αναλογικού σήματος που λαμβάνεται υπόψη Εάν θέλουμε να αποθηκεύσουμε 40 ώρες αυτού του ηχητικού σήματος σε ένα δίσκο 4.7 GB, ποιος είναι ο απαιτούμενος ρυθμός συμπίεσης;
Παράδειγμα Προβλημα: Έστω σήμα με φάσμα 15 khz. Ποιος είναι ο ρυθμός μετάδοσης σε bps με PCM και με μέση παραμόρφωση λόγω κβαντισμού μικρότερη από 60db. Συχνότητα δειγματοληψίας f s 2B = 30.000 Hz. 20 log 10 2 n 60db n 10 bits/sample Ελάχιστος ρυθμός παραγωγής δεδομένων R = f s n 300.000 b/s
Μη ομοιομορφος κβαντιστης Μη ομοιόμορφη κατανομή των επιπέδων κβαντισμού στις περιοχές που έχουμε μεγαλύτερη πυκνότητα δειγμάτων θα ήταν πιο αποτελεσματική από άποψη αντιμετώπισης του θορύβου κβαντισμού
Μη ομοιόμορφος κβαντιστης Στον ομοιόμορφο κβαντιστή τα επίπεδα έχουν ίσες αποστάσεις μεταξύ τους. Εάν στοχεύουμε στη μείωση της μέσης παραμόρφωσης λόγω κβαντισμού (MSE): ( x ~ x ) 2 f ( x) dx Το σφάλμα πρέπει να είναι μικρό εκεί όπου τα δείγματα είναι πυκνά και να αποδεχτούμε μια μεγαλύτερη τιμή εκεί που είναι αραιά.
Αλγοριθμος Lloyd-Max Για δεδομένο σύνολο επιπέδων κβαντισμού, ποια είναι τα βέλτιστα όρια των επιπέδων κβαντισμού; Ποιες είναι οι κβαντισμένες τιμές; Στα ερωτήματα αυτά απαντάει ο αλγόριθμος Lloyd- Max με αναδρομικό τρόπο Επιτρέπει τη σχεδίαση βέλτιστου κβαντιστή για οποιοδήποτε αριθμό επιπέδων ωστόσο εμπλέκει μαθηματικά δύσκολη επεξεργασία Μια πιο απλή (από μαθηματικής άποψης) προσέγγιση είναι ο μη γραμμικός κβαντισμός με την βοήθεια της λογαρίθμησης
Μη γραμμικός Κβαντισμός Ο νόμος του Weber λέει ότι οι διαφορές στις τιμές ενός μεγέθους γίνονται αντιληπτές με τον ίδιο τρόπο όταν έχουν ίδια αναλογία προς την απόλυτη τιμή του μεγέθους Εισάγοντας μια σταθερά αναλογίας k, προκύπτει: Με ολοκλήρωση
Μη Γραμμικός Κβαντισμός Στο μη γραμμικό κβαντισμό το αρχικό σήμα (s) λογαριθμίζεται (εισάγεται μη γραμμικότητα), ακολουθεί ομοιόμορφος κβαντισμός και στο δέκτη γίνεται η αντίστροφή διαδικασία H μη-γραμμικότητα αναιρείται με την εισαγωγή της αντίστροφης μη-γραμμικότητας κατά την μετατροπή σε αναλογικό Η διαδικασία αυτή ονομάζεται συστολοδιαστολή του δυναμικού εύρους του σήματος companding (dynamic range compressing & expanding)
Τυπικοί μη Γραμμικοί κβαντιστές: μ- law (Αμερική) και a-law (Ευρώπη) Η παράμετρος μ τίθεται στο μ= 255 ή 100 Η παράμετρος Α τίθεται στο A = 87.6
μ/a- law
64 kbit/sec PCM για ψηφιακή τηλεφωνία Χρησιμοποιείται companding με μ = 255 (Β. Αμερικη) και Α=87.6 (Ευρώπη). Γίνεται δειγματοληψία της φωνής με 8.000 δείγματα/sec. Κάθε δείγμα κωδικοποιείται με 8 bits (ο κβαντιστής είναι 256 επιπέδων). Ο ρυθμός μετάδοσης δεδομένων είναι 8x8.000 = 64 kbits/sec
Κωδικοποίηση Η κωδικοποίηση αφορά στην αναπαράσταση των κβαντισμένων τιμών σε ακολουθίες δυαδικών συμβόλων Η πιο απλή μορφή κωδικοποίησης είναι η ομοιόμορφη όπου οι δυνατοί συνδυασμοί δυαδικών συμβόλων ανατίθενται με τη σειρά στις κβαντισμένες τιμές Άλλες κωδικοποιήσεις κάνουν χρήση των χαρακτηριστικών του κάθε σήματος. Ενδεικτικά αναφέρουμε Στατιστικές ιδιότητες (σύμβολα που εμφανίζονται συχνά να έχουν περιορισμένες σε μήκος κωδικοποιήσεις) Αλληλουχία τιμών (κάποιες τιμές μπορεί να περιγράφονται με τη βοήθεια των προηγούμενων εκμετάλλευση χρονικού πλεονασμού)
Βασικές Τεχνικές Κωδικοποίησης PCM: Pulse Code Modulation Lossless Predictive Coding DPCM: Differential PCM DM: Delta Modulation ADPCM: Adaptive DPCM Κωδικοποίηση με χρήση των διαφορών των δειγμάτων
Διαφορική Κωδικοποίηση Το σήμα που προκύπτει από τη διαφορά των δειγμάτων έχει τιμές κοντύτερα στο μηδέν (ιστόγραμμα με πιο έντονη κορυφή)
Μη Απωλεστική Κωδικοποίηση Πρόβλεψης Προβλέπουμε το επόμενο δείγμα Αποστέλλουμε τη διαφορά μεταξύ του προηγούμενου και του επόμενου δείγματος Ο αποκωδικοποιητής θα δημιουργήσει τις ίδιες τιμές
Παράδειγμα Η προβλεπόμενη τιμή είναι ίδια με την τρέχουσα
Γραμμική Πρόβλεψη Η πρόβλεψη βασίζεται στις προηγούμενες τιμές, f n 1, f n 2, f n 3,... Συνάρτηση πρόβλεψης: Πώς θα σχεδιάζαμε ένα τέτοιο σύστημα πρόβλεψης;
Σχηματικά Διαγράμματα
Παράδειγμα Τιμές: f 1, f 2, f 3, f 4, f 5 = 21, 22, 27, 25, 22 Πρόβλεψη: Έστω αρχική τιμή f 0 =21 και αποστέλλουμε επίσης f 1 =21 ως έχει Δείξτε τι συμβαίνει στον αποκωδικοποιητή
Πρόβλεψη με Απώλειες Προβλεπτική κωδικοποίηση με κβαντισμό, άρα και απώλειες Αρχικό, προβλεπόμενο και κβαντισμένο σήμα Έστω τα σύμβολα: Αρχικό σήμα: Προβλεπόμενο: Κβαντισμένο:
DPCM : Διαφορική (Differential) PCM Η πρόβλεψη υπολογίζεται ως συνάρτηση των κβαντισμένων τιμών Το σφάλμα υπολογίζεται ως η διαφορά της προβλεπόμενης τιμής από το πραγματικό σήμα Το σφάλμα κβαντίζεται και μεταδίδεται η κβαντισμένη τιμή Ανασκευάζεται η κβαντισμένη τιμή
Αποκωδικοποιητής Ο αποκωδικοποιητής ανασκευάζει τα κβαντισμένα σήματα Η αλλοίωση είναι το μέσο τετραγωνικό σφάλμα Ο κβαντιστής Lloyd-Max επιτρέπει μικρότερη παραμόρφωση σε σχέση με την ομοιόμορφη, ελαχιστοποιώντας το παραπάνω σφάλμα
Σχηματικό Διάγραμμα DPCM
Παράδειγμα 1 x(n) σήμα x p (n) = x q (n-1) προβλεπόμενη τιμή e(n)=x(n)-x p (n) e q (n)=q(e(n)) x q (n)=x p (n)+e q (n)
predictor = [0 1]; % y(k)=x(k-1) partition = [-1:.2:.9]; codebook = [-1:.2:1]; t = [0:pi/20:2*pi];x = sawtooth(3*t); % Original signal % Quantize x using DPCM. [encodedx,encodedv] = dpcmenco(x,codebook,partition,predictor); % Try to recover x from the modulated signal. decodedx = dpcmdeco(encodedx,codebook,predictor); plot(t,x,t,decodedx,'--');legend('original signal','decoded signal','location','northoutside'); distor = sum((x-decodedx).^2)/length(x) % Mean square error
Παράδειγμα 2 Προβλέπτης: Σχήμα κβνατισμού: Το σφάλμα είναι στο διάστημα 255:255 Έχει 511 πιθανές τιμές Ο κβαντιστής ομαδοποιεί τις τιμές σε 32 ομάδες των 16 περίπου επιπέδων Θέτει την ανασκευασμένη τιμή στο μέσω κάθε ομάδας των 16 επιπέδων
Κβαντισμός Σφάλματος
Αριθμητικό Παράδειγμα Στον αποκωδικοποιητή λαμβάνεται το κβαντισμένο σφάλμα Οι ανακατασκευασμένες τιμές του σφάλματος είναι αντίστοιχες του κωδικοποιητή, αφού χρησιμοποιείται ο ίδιος μηχανισμός
Κωδικοποίηση Δέλτα Αλγόριθμος κωδικοποίηση δέλτα: Χρήση μιας συγκεκριμένης κβαντισμένης τιμής, θετικά και αρνητικά. Για κωδικοποιητή 1 bit έχουμε προσέγγιση σκάλας
Παράδειγμα Βήμα=4 Η κωδικοποίηση δέλτα δεν συμπεριφέρεται καλά αν το σήμα αλλάζει συχνά. Στην περίπτωση αυτή μπορεί να αυξηθεί η συχνότητα δειγματοληψίας
Προσαρμοστικός DPCM Ο προσαρμοστικός DPCM προσαρμόζει για ελαχιστοποίηση του σφάλματος Τον κβαντιστή Τον προβλέπτη Χρησιμοποιείται στους αλγορίθμους G.721, G.723, G.726 και G.727 Διαφοροποιούνται στο πλήθος των bits ανά δείγμα (3-5 bits) Δίνουν ρυθμούς 16 kbps, 24 kbps, 32 kbps και 40 kbps στα 8 khz Είσοδος στον αλγόριθμο: a-law PCM με 16-bit ανά δείγμα
Συγκριση μεθοδων κωδικοποιησης φωνης Τυπος Ρυθμος (kb/s) Πολυπλοκοτητα(MIPS) Καθυστερηση (ms) Ποιοτητα PCM 64 0.01 0 υψηλη ADPCM 32 0.1 0 υψηλη Delta Mod. 16 0.1 0 υψηλη Sub-Band 16 1 25 υψηλη VSELP 8 ~100 35 Καλη Θεωρια 1???? υψηλη