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

Η ψηφιακή επεξεργασία σήματος (ΨΕΣ, αγγλ.: Digital signal processing ή DSP) ασχολείται με την επεξεργασία σημάτων στο πεδίο του χρόνου, του χώρου ή/και της συχνότητας, τα οποία αναπαρίστανται ως ακολουθίες αριθμών ή συμβόλων. Η ψηφιακή και η αναλογική επεξεργασία σήματος συναποτελούν το διεπιστημονικό γνωστικό πεδίο της επεξεργασία σήματος που βασίζονται σε τεχνικές των εφαρμοσμένων μαθηματικών. Κάποιες εφαρμογές της ψηφιακής επεξεργασίας σήματος είναι η επεξεργασία ήχου, η αναγνώριση φωνής, η επεξεργασία σημάτων από σόναρ, ραντάρ και συστοιχίες αισθητήρων, η εκτίμηση φάσματος, η στατιστική επεξεργασία σήματος, η ψηφιακή επεξεργασία εικόνας, η επεξεργασία σήματος στις τηλεπικοινωνίες, ο έλεγχος συστημάτων, η επεξεργασία βιοϊατρικών σημάτων και η επεξεργασία σεισμικών δεδομένων.
Ο σκοπός της ψηφιακής επεξεργασίας σήματος συνήθως είναι η μέτρηση, το φιλτράρισμα ή η συμπίεση συνεχόμενων αναλογικών φυσικών σημάτων. Το πρώτο βήμα συνήθως είναι η μετατροπή του σήματος από αναλογικό σε ψηφιακό, μέσω δειγματοληψίας και κβάντισης σήματος με τη βοήθεια ενός μετατροπέα αναλογικού σήματος σε ψηφιακό (ADC), ο οποίος μετασχηματίζει το αναλογικό σήμα σε μια ακολουθία από αριθμούς. Συχνά όμως το ζητούμενο σήμα εξόδου είναι επίσης αναλογικό παρόλο που η επεξεργασία έχει ψηφιακό χαρακτήρα, επομένως χρειάζεται και ένας μετατροπέας ψηφιακού σήματος σε αναλογικό (DAC). Αν και αυτή η διαδικασία μπορεί να είναι πιο πολύπλοκη σε σχέση με την αναλογική επεξεργασία και έχει διακριτό πεδίο τιμών, η χρήση υπολογιστικής ισχύος στην ψηφιακή επεξεργασία σήματος έχει πολλά πλεονεκτήματα σε σχέση με την αναλογική επεξεργασία σήματος σε πολλές εφαρμογές, όπως ο εντοπισμός και η διόρθωση λαθών στις επικοινωνίες και η συμπίεση δεδομένων.
Οι αλγόριθμοι ΨΕΣ εκτελούνται από παλιά σε υπολογιστές, σε εξειδικευμένους επεξεργαστές που ονομάζονται ψηφιακοί επεξεργαστές σήματος σε υλικό που κατασκευάζεται ειδικά για αυτόν τον σκοπό, όπως τα ολοκληρωμένα κυκλώματα εφαρμογών (Application-Specific Integrated Circuits, ASIC). Σήμερα χρησιμοποιούνται και άλλες τεχνολογίες για την ψηφιακή επεξεργασία σήματος όπως οι ισχυροί μικροεπεξεργαστές γενικής χρήσης, οι συστοιχίες επιτόπια προγραμματιζόμενων πυλών (FPGA), οι ψηφιακοί ελεγκτές σήματος (κυρίως σε εφαρμογές στη βιομηχανία, όπως ο έλεγχος κινητήρων) και οι επεξεργαστές ροής (stream processors).

Πεδία της ψηφιακής επεξεργασίας σήματος

Στην ψηφιακή επεξεργασία σήματος οι μηχανικοί συνήθως μελετούν ψηφιακά σήματα σε ένα από τα παρακάτω πεδία: στον χρόνο (σήματα μιας διάστασης), στον χώρο (πολυδιάστατα σήματα), και στα πεδία της συχνότητας (frequency domain), της αυτοσυσχέτισης (autocorrelation), και των κυματιδίων (wavelet domains). Επιλέγουν το πεδίο στο οποίο θα γίνει η επεξεργασία του σήματος με βάση ποιο πεδίο αναπαριστά καλύτερα τα βασικά χαρακτηριστικά του σήματος. Μια ακολουθία από δείγματα από μια συσκευή μετρήσεων έχει σαν αποτέλεσμα μια αναπαράσταση στον χρόνο ή στον χώρο, ενώ ένας διακριτός μετασχηματισμός Φουριέ παράγει πληροφορία στο πεδίο της συχνότητας, το φάσμα συχνοτήτων. Η αυτοσυσχέτιση ορίζεται σαν η συσχέτιση μεταξύ του σήματος και του εαυτού του ανά μεταβαλλόμενα χωρικά ή χρονικά διαστήματα.

Συχνότητα

Τα σήματα μετατρέπονται από το πεδίο του χρόνου ή του χώρου στο πεδίο της συχνότητας μέσω του μετασχηματισμού Φουριέ. Ο μετασχηματισμός Φουριέ μετατρέπει την πληροφορία του σήματος σε δύο στοιχεία ανά συχνότητα, το μέγεθος και την φάση. Συχνά ο μετασχηματισμός Φουριέ μετατρέπεται στο πεδίο της ισχύος, που είναι το μέγεθος κάθε συχνότητας υψωμένο στο τετράγωνο.
Ο πιο συχνός σκοπός της ανάλυσης σημάτων στο πεδίο της συχνότητας είναι η ανάλυση ιδιοτήτων του σήματος. Ο μηχανικός μπορεί να μελετήσει το φάσμα των συχνοτήτων για να εντοπίσει ποιες συχνότητες υπάρχουν στο σήμα εισόδου.
Εκτός από την πληροφορία της συχνότητας συχνά χρειάζεται και η πληροφορία της φάσης. Αυτή μπορεί να δοθεί από τν μετασχηματισμό Φουριέ και το πώς μεταβάλλεται μαζί με την συχνότητα μπορεί να είναι σημαντικό σε πολλές εφαρμογές.
Το φιλτράρισμα μπορεί να γίνει με τον μετασχηματισμό στο πεδίο της συχνότητας, εφαρμογή του φίλτρου και μετασχηματισμό πίσω στο πεδίο του χρόνου. Αυτή είναι μια γρήγορο λειτουργία με πολυπλοκότητα O(n log n) και μπορεί στην πράξη να αποδώσει όλα τα φίλτρα.
Υπάρχουν κάποιοι μετασχηματισμοί στο πεδίο της συχνότητας που χρησιμοποιούνται συχνά. Για παράδειγμα, το κέπστρουμ (cepstrum) μετατρέπει ένα σήμα στο πεδίο της συχνότητας μέσω του μετασχηματισμού Φουριέ, παίρνει τον λογάριθμο και στη συνέχεια εφαρμόζει άλλον έναν μετασχηματισμό Φουριέ. Αυτό δίνει έμφαση στις συχνότητες με μικρότερο μέγεθος ενώ διατηρεί τη διάταξη των μεγεθών σε όλες τις συχνότητες.
Η ανάλυση στο πεδίο της συχνότητας αποκαλείται επίσης ανάλυση φάσματος (spectrum analysis, spectral analysis).

Εφαρμογές

Οι βασικές εφαρμογές της ψηφιακής επεξεργασίας σήματος είναι η επεξεργασία ηχητικών σημάτων, η συμπίεση ήχου, η ψηφιακή επεξεργασία εικόνας, η συμπίεση βίντεο, η επεξεργασία φωνής, η αναγνώριση φωνής, οι ψηφιακές τηλεπικοινωνίες, τα ραντάρ, τα σόναρ, η σεισμολογία και η βιοϊατρική. Κάποια πιο συγκεκριμένα παραδείγματα είναι η συμπίεση φωνής και η μετάδοση σε ψηφιακά κινητά τηλέφωνα, η ψηφιακή διόρθωση δωματίου (digital room correction) του ήχου στα ηχοσυστήματα και σε εφαρμογές ενίσχυσης ήχου (sound reinforcement), η πρόγνωση καιρού, οι οικονομικές προβλέψεις, η επεξεργασία δεδομένων από σεισμούς, η ανάλυση και ο έλεγχος βιομηχανικών διεργασιών, η ιατρική απεικόνιση (medical imaging) όπως οι αξονικές και οι μαγνητικές τομογραφίες, η συμπίεση MP3, τα γραφικά υπολογιστών, η επεξεργασία εικόνας, τα φίλτρα crossover και οι ισοσταθμιστές (equalizers) των ηχείων hi-fi, και τα ηχητικά εφέ που χρησιμοποιούνται μαζί με τους ενισχυτές ηλεκτρικής κιθάρας.

Υλοποίηση

Ανάλογα με τις απαιτήσεις της εφαρμογής, οι λειτουργίες της ψηφιακής επεξεργασίας σήματος μπορούν να υλοποιηθούν σε υπολογιστές γενικής χρήσης (όπως οι υπερυπολογιστές ή οι προσωπικοί υπολογιστές) ή με ενσωματωμένους επεξεργαστές που κάποιες φορές περιέχουν εξειδικευμένους μικροεπεξεργαστές που ονομάζονται ψηφιακοί επεξεργαστές σήματος (digital signal processors).
Συχνά, όταν η επεξεργασία δεν χρειάζεται να γίνεται σε πραγματικό χρόνο, μπορεί να γίνει για λόγους οικονομίας με κάποιον υπολογιστή γενικής χρήσης και με τα σήματα εισόδου/εξόδου να βρίσκονται σε αρχεία, κάτι που δε διαφέρει πολύ από άλλες εφαρμογές επεξεργασίας δεδομένων. Χρησιμοποιούνται μαθηματικές τεχνικές ψηφιακής επεξεργασίας σήματος (όπως ο γρήγορος μετασχηματισμός Φουριέ ή FFT) και τα δείγματα-δεδομένα θεωρείται ότι είναι κατανεμημένα ομοιόμορφα στον χρόνο και στον χώρο. Ένα τέτοιο παράδειγμα είναι η επεξεργασία ψηφιακών φωτογραφιών με λογισμικό όπως το Photoshop.
Όταν όμως η εφαρμογή απαιτεί απόκριση σε πραγματικό χρόνο, η ψηφιακή επεξεργασία σήματος συνήθως υλοποιείται χρησιμοποιώντας εξειδικευμένους επεξεργαστές όπως ο DSP56000, ο TMS320 ή ο SHARC. Αυτοί συνήθως επεξεργάζονται τα δεδομένα χρησιμοποιώντας αριθμητική σταθερής υποδιαστολής (fixed-point arithmetic), αν και κάποιες εκδόσεις τους μπορούν να χρησιμοποιήσουν αριθμητική κινητής υποδιαστολής (floating point arithmetic) και είναι πιο ισχυροί. Για πιο γρήγορες εφαρμογές μπορούν να χρησιμοποιηθούν FPGA.
Από το 2007 έχουν αρχίσει να εμφανίζονται πολυπύρηνες υλοποιήσεις ψηφιακών επεξεργαστών σήματος, από εταιρείες όπως η Freescale και η Stream Processors. Για ακόμα πιο γρήγορες εφαρμογές με πάρα πολλούς χρήστες μπορούν να σχεδιαστούν ολοκληρωμένα κυκλώματα εφαρμογών (ASIC) κατά περίπτωση. Για πιο αργές εφαρμογές, μπορεί να αρκεί ένας πιο αργός επεξεργαστής, όπως ένας μικροελεγκτής. Πολλές εφαρμογές ψηφιακής επεξεργασίας σήματος υλοποιούνται σε ενσωματωμένα συστήματα χρησιμοποιώντας ισχυρούς προσωπικούς υπολογιστές με πολυπύρηνους επεξεργαστές.