Ein digitaler Signalprozessor (DSP oder DSP-Mikro) ist ein spezialisierter Mikroprozessor, der speziell für die digitale Signalverarbeitung entwickelt wurde und im Allgemeinen in der Echtzeitverarbeitung eingesetzt wird.

Digitale Signalverarbeitungsalgorithmen erfordern eine große Anzahl von mathematischen Operationen, die schnell auf einem Datensatz ausgeführt werden müssen. Signale werden von analog zu digital umgewandelt, digital manipuliert und dann wieder in digital zu analog umgewandelt, wie in der Abbildung gezeigt. Viele Anwendungen der digitalen Signalverarbeitung haben Echtzeitbeschränkungen, d.h. damit das System funktioniert, muss die DSP-Operation innerhalb einer bestimmten Zeitspanne abgeschlossen sein.

Die Mikroarchitektur eines digitalen Signalprozessors ist speziell für Anwendungen der digitalen Signalverarbeitung optimiert.

Einsatzgebiete

  • Audio- und Sprachverarbeitung: Echtzeit-Filterung, Rauschunterdrückung, Kompression (z. B. MP3, AAC), Echo-Unterdrückung und Sprachcodierung.
  • Telekommunikation: Modulation/Demodulation, Kanalcodierung, Equalizer, Fehlerkorrektur und Basisbandverarbeitung in Mobilfunk-, Festnetz- und Satellitensystemen.
  • Bild- und Videoverarbeitung: Echtzeit-Encoding/Decoding (z. B. H.264/HEVC), Bildfilter, Objektverfolgung und Kameraverarbeitungsaufgaben.
  • Radar, Sonar und Sensorik: Signalaufbereitung, Pulsverarbeitung, Doppler-Analyse und Datenfusion.
  • Medizintechnik: Ultraschall-, EEG- und EKG-Signalverarbeitung sowie bildgebende Verfahren.
  • Industrielle Steuerung und Automotive: Motorregelung, Sensorfusion, Fahrassistenzsysteme und Predictive Maintenance.
  • Edge- und IoT-Geräte: Lokale Analyse und Vorverarbeitung von Sensordaten zur Reduktion von Latenz und Datenvolumen.

Wesentliche Architekturmerkmale

  • Multiply–Accumulate (MAC): Hardware-MAC-Einheiten ermöglichen schnelle Multiplikationen mit anschließender Akkumulation – zentral für Filter, Faltungen und FFTs.
  • Harvard-Architektur: Trennung von Instruktions- und Datenspeicher für parallelen Zugriff und höhere Bandbreite.
  • SIMD-/VLIW-Unterstützung: Parallelverarbeitung mehrerer Daten in einer Instruktion (z. B. SIMD) oder mehrere parallele Operationsfelder (VLIW) für hohen Datendurchsatz.
  • Spezielle Adressierungsmodi: Zirkuläre Puffer (circular buffers), bit-reversed addressing und automatische Adress-Post-Inkremente erleichtern Algorithmen wie FIR-Filter und FFT.
  • Barrel Shifter und Skalierung: Schnelles Shiften und normierte Skalierung sind wichtig bei Fixed-Point-Berechnungen.
  • DMA-Controller und Peripherie: Direkter Speicherzugriff (DMA) für schnellen, CPU-armen Datentransport zwischen Peripherie und Speicher.
  • Deterministische Interrupt- und Echtzeit-Funktionen: Hardware-Looping und geringe Interrupt-Latenzen sind typisch.
  • Fixed-Point vs. Floating-Point: Fixed-Point-DSPs sind energie- und kostenoptimiert; Floating-Point-DSPs bieten größeren Dynamikbereich und vereinfachen Entwicklung komplexer Algorithmen.

Typische Operationen und Leistungskennzahlen

DSPs führen häufig diese Rechenoperationen aus:

  • FIR- und IIR-Filter (Faltung, Koeffizientenmultiplikation)
  • FFT und inverse FFT für Frequenzanalyse
  • Korrelations- und Autokorrelationsberechnungen
  • Matrixoperationen, digitale Filterdesigns und Adaptivalgorithmen (z. B. LMS)

Leistungskennzahlen umfassen MIPS, MFLOPS/GFLOPS, MACs pro Takt, Latenz pro Sample und Speicherbandbreite. Bei Echtzeitanforderungen ist nicht nur Durchsatz, sondern vor allem deterministische Ausführungszeit wichtig.

Programmierung und Entwicklungswerkzeuge

  • Programmiersprachen: C ist der Standard für DSP-Entwicklung; kritische Schleifen werden oft in Assembler oder mit speziellen Intrinsics optimiert.
  • Bibliotheken und IP-Cores: Optimierte Bibliotheken für FFT, Filter, lineare Algebra und Signaltransformationen verkürzen Entwicklungszeit und verbessern Performance.
  • Debugging und Profiling: Simulatoren, In-Circuit-Debugger und Profiler helfen bei der Analyse von Laufzeitverhalten und Ressourcenverbrauch.
  • Fixed-Point-Tools: Werkzeuge zur Analyse von Quantisierungsfehlern und automatischer Skalierung (Q-Formate) sind wichtig bei Fixed-Point-Implementierungen.
  • RTOS und Hardware‑in‑the‑Loop: Für komplexe Echtzeitsysteme werden Echtzeitbetriebssysteme und HIL-Tests eingesetzt, um deterministisches Verhalten sicherzustellen.

Integration, Alternativen und Trends

Moderne Systeme nutzen häufig heterogene Architekturen: DSP-Kerne sind heute oft Teil eines SoC zusammen mit Arm‑Cores, GPUs, NPU/AI‑Beschleunigern und FPGAs. Für sehr hohe Datenraten oder spezielle Algorithmen kommen FPGAs oder dedizierte ASICs zum Einsatz. Parallel dazu verschieben sich manche Signalverarbeitungsaufgaben auf spezialisierte KI-Beschleuniger, besonders wenn Lernverfahren (ML/DL) integriert werden.

Auswahlkriterien

  • Geforderte Rechenleistung (MACs/OPS) und Latenzanforderungen
  • Unterstützte Datentypen (Fixed-Point vs. Floating-Point)
  • Speicherbandbreite und -größe sowie verfügbare Peripherie (ADC/DAC, PCIe, Ethernet)
  • Energieverbrauch und thermische Anforderungen
  • Entwicklungs-Toolchain, verfügbare Bibliotheken und Herstellerunterstützung
  • Kosten und Integrationsaufwand (Standalone-DSP vs. SoC-Integration)

Zusammenfassend sind digitale Signalprozessoren spezialisierte Rechenkerne, die für datenintensive, zeitkritische Signalverarbeitungsaufgaben optimiert sind. Ihre Architektur und Befehlssätze sind auf typische DSP-Operationen abgestimmt, wodurch sie in vielen Echtzeitanwendungen effizienter sind als allgemeine Mikroprozessoren.