HMY 429: Εισαγωγή στην Επεξεργασία Ψηφιακών Σημάτων Διάλεξη 12: Δειγματοληψία και ανακατασκευή (IV)
Παρεμβολή (Interpolation) Γενικά υπάρχουν πολλοί τρόποι παρεμβολής, π.χ. κυβική παρεμβολή (cubic spline interpolation) 2
Επαναδειγματοληψία με μη ακέραιο παράγοντα Συνδυασμός αποδεκατισμού (deciation) και παρεμβολής (interpolation) 3
Πρακτική δειγματοληψία 4 Πως υλοποιείται η μετατροπή πρακτικά? Γενικά δεν θέλουμε να χρησιμοποιήσουμε υψηλότερη συχνότητα δειγματοληψίας απ ότι χρειάζεται (π.χ. ομιλία, 3 4 KHz) αποθήκευση, υπολογιστική πολυπλοκότητα κλπ. π 1, Ω <Ω c < Haa ( jω ) Φίλτρο αντιαναδίπλωσης = T 0, Ω Ωc Στην πραγματικότητα έχουμε φίλτρο που προσεγγίζει αυτή την απόκριση, οπότε η απόκριση συχνοτήτων του συνολικού συστήματος είναι: Η απόκριση του φίλτρου αντιαναδίπλωσης μπορεί να ισοσταθμιστεί από την απόκριση συχνοτήτων του συστήματος διακριτού χρόνου (Η(e jωτ )) Τα αναλογικά φίλτρα που προσεγγίζουν την ιδεατή απόκριση μπορεί να είναι αρκετά ακριβά/δύσκολα στην υλοποίηση Επίσης η υλοποίηση φίλτρου με γραμμική φάση είναι πιο δύσκολη με αναλογικά φίλτρα Χρήση απλού φίλτρου στην είσοδο, δειγματοληψία με υψηλή συχνότητα fs (πχ 2ΜΩ Ν ) και κατόπιν αποδεκατισμός με παράγοντα Μ
Πρακτική δειγματοληψία Φίλτρο αντιαναδίπλωσης παράδειγμα 5
Πρακτική δειγματοληψία Μετατροπή Α/Δ (A/D conversion) Πρακτικά έχουμε πεπερασμένη ακρίβεια και προσέγγιση της κρουστικής Τυπικά: saple and hold x () t = x[ n] h ( t nt) o n = 1, 0 < t < T ho () t = 0, otherwise o xo () t = ho()* t xa ( nt ) δ ( t nt ) n= Θέλουμε ένα κύκλωμα το οποίο να δειγματοληπτεί όσο πιο «στιγμιαία» γίνεται και να κρατάει την τιμή όσο πιο σταθερή γίνεται Έχουμε παραμόρφωση του φάσματος με έναν όρο της μορφής sinc (MF του h0), η οποία μπορεί όμως να ισοσταθμιστεί στον DAC 6
Κβαντοποίηση (quantization) Ο κβαντιστής (quantizer) μετασχηματίζει το σήμα εισόδου του ως εξής: xn ˆ[ ] = Qxn ( [ ]) Συνήθως Ομοιόμορφη μετατροπή Άρτιος αριθμός επιπέδων κβαντοποίησης (quantization levels) ίσος με δύναμη του 2 8 επίπεδα: 3 bits. Γενικά 2 Β+11 επίπεδα: Β+1 bits Η κωδικοποίηση δεν είναι μοναδική, π.χ. offset binary code η πιο αρνητική τιμή αντιστοιχεί στο 000, two s copleent code 1 ο bit: sign bit Βήμα κβαντοποίησης 2X X Δ= = B+ 1 B 2 2 2X : εύρος ψηφιοποίησης (digitization range) 7
Κβαντοποίηση (quantization) Παράδειγμα 8
Κβαντοποίηση (quantization) Σφάλμα κβαντοποίησης (quantization error) en [ ] = xn ˆ[ ] xn [ ] Δ Δ Δ Δ < < < en [ ] < 2 2 2 2 Αν X x [ n ] X τότε, ειδάλλως μπορεί να έχουμε μεγαλύτερο σφάλμα (clipping) Στατιστικό μοντέλο του σφάλματος e[n] Στάσιμη τυχαία διαδικασία,, ασυσχέτιστη με το σήμα Λευκή διαδικασία (ανεξάρτητα δείγματα) Ομοιόμορφη κατανομή πιθανότητας Αρκετά ρεαλιστικό μοντέλο, περισσότερο για πολύπλοκα σήματα 9
Κβαντοποίηση (quantization) Παράδειγμα: Ημιτονοειδές σήμα xn [ ] = 0.99cos[ n/10] X = 1 B + 1= 3 B + 1= 8 10
Για στρογγυλοποίηση: Truncation: Μέση τιμή 0 Κβαντοποίηση (quantization) Δ Δ < en [ ] < 2 2 Δ< en [ ] < 0 Για το προηγούμενο στατιστικό μοντέλο, η διασπορά είναι: Δ/2 2 2B 2 2 1 2 Δ 2 X e = ede= = σ Δ 12 12 Δ/2 2 Συνάρτηση αυτοσυσχέτισης: ϕee[ ] = σeδ[ ] j 2 Φάσμα ισχύος: P [ e ω ] = σ, ω π ee e 11
Κβαντοποίηση (quantization) Παράδειγμα: 101000 δείγματα της προηγούμενης ημιτονοειδούς ακολουθίας 12
Κβαντοποίηση (quantization) Λόγος σήματος προς θόρυβο (signal to noise ratio SNR). Για τον ομοιόμορφο κβαντιστή Β+1 επιπέδων: 2 2 2 σ 12 2 B x σ x X B 2 2 σ e X σ x SNR = 10log = 10log = 6.02 + 10.8 20log X SNR 20log σ x Αύξηση 6 db για κάθε επιπρόσθετο bit Παράδειγμα: Για μικρές τιμές του λόγου X /σ x (κοντά στο 1) έχουμε μεγάλη πτώση του SNR. Για ένα ημιτονοειδές σήμα πλάτους Α ισχύει σ x =0.707Α οπότε αν X =1 και Α>1 έχουμε αποκοπή (clipping) των περισσότερων τιμών του σήματος 13
Κβαντοποίηση (quantization) Παράδειγμα: Αν το πλάτος ενός σήματος ακολουθεί κανονική κατανομή γύρω από το μηδέν μόνο 0.064% των δειγμάτων έχουν πλάτος απολύτως μεγαλύτερο του 4σ x. Άρα μπορούμε να σχεδιάσουμε τον μετατροπέα και τον κβαντιστή ώστε σ x =X /4 και: SNR = 6.02B 1.25 db Για SNR = 90 96 db π.χ. για αναπαραγωγή μουσικής χρειαζόμαστε 16 bits. 14
Πρακτική ανακατασκευή (D/A conversion) Ιδανική ανακατασκευή (μετατροπέας D/C): ή στο πεδίο της συχνότητας: Πρακτικά έχουμε το ακόλουθο σύστημα (μετατροπέας D/A) : Το σύστημα αυτό παράγει το ακόλουθο σήμα εξόδου: x ( t) = X xˆ [ n] h ( t nt) = xˆ[ n] h ( t nt) = x[ n] h ( t nt) + e[ n] h ( t nt) DA B o o o o n = n = n = n = 1, 0 < t < T ho () t = 0, otherwise x () t e () t o o 15
Πρακτική ανακατασκευή (D/A conversion) Στο πεδίο της συχνότητας: Μπορούμε να ορίσουμε ένα φίλτρο της μορφής στην έξοδο του μετατροπέα D/A: για να ισοσταθμίσουμε. Απόκριση συχνοτήτων του zero and hold: άρα τελικά: 16