Digitale Signalverarbeitung in Multimedia-Anwendungen DSP-optimierte FPGAs und dedizierte Universal-DSPs im Vergleich
Die allgemeine Verwendung von Video und Standbildern sowie die wachsende Nachfrage nach rekonfigurierbaren Systemen wie Software Defined Radio treiben die Verbreitung von DSP-Applikationen voran. Wie erhält man dabei das beste Preis-/Leistungsverhältnis? Anhand herkömmlicher Universal-DSPs oder durch die Implementierung von DSP-Funktionen in programmierbare Logikbausteine?
Anbieter zum Thema
Bei vielen Mulitmedia-Applikationen verbindet sich der Bedarf an intensiver Digitalsignalverarbeitung mit Kostensensitivität. Das führt zur Nachfrage nach leistungsfähigen und dabei doch niedrigpreisigen DSP-Lösungen. In den beiden gebräuchlichsten Ansätzen zur Implementation von DSP-Funktionen kommen DSP-Universalchips bzw. FPGAs zum Einsatz. Jeder Ansatz hat seine Vorteile, und die optimale Methode hängt von den Anforderungen an die Applikation ab.
Viele DSP-Funktionen wer-den kundenspezifisch implementiert, doch einige Funktionen wie nichtrekursive Filter (Finite Impulse Response – FIR), rekursive Filter (Infinite Impulse Response – IIR), schnelle Fouriertransformationen (FFT) und Mischglieder sind vielen Applikationen gemeinsam. Alle erfordern eine Verbindung aus Multiplizierelementen mit Addition, Subtraktion und Akkumulation.

Das nichtrekursive Filter (Bild 1) speichert eine Serie von n Datenelementen, von denen jedes mit einem zusätzlichen Zyklus verzögert wird. Jedes Datenelement wird mit einem Koeffizienten multipliziert. Die aufsummierten Resultate ergeben den Output. Einige Implementierungen führen alle Multiplikationen parallel aus. Allgemeiner ausgedrückt, wird die Implementierung in N Stufen aufgeteilt, wobei ein Akkumulator die Teilergebnisse von einer Stufe zur nächsten weitergibt. Diese handelt Geschwindigkeit gegen funktionale Ressourcen ein: Es gibt N Berechnungsstufen, die aber nur n/N Multiplika-toren benötigen. Abhängig vom Aufbau der Koeffizientenwerte und davon, ob die Koeffizienten statisch oder dynamisch sind, sind allgemein etliche weitere Designoptimierungen üblich.
Schnelle FFTs

Für viele Applikationen – von der Bildkomprimierung bis zur Bestimmung des Spektralgehalts einer Datenabtastung – werden schnelle FFTs verwendet. Dafür gibt es mehrere Methoden: Üblich ist die Cooley-Tukey-Dezimation, bei der die FFT in mehrere kleinere FFTs aufgeteilt wird. In der einfachsten Implementierung wird ein als Radix-2-Schmetterling bezeichnetes Element benutzt, das von den Input-Daten mehrere Mal durchlaufen werden muss (Bild 2). Laut der linken Seite des Diagramms ist die Berechnung einfach. Da alle Multiplikationen und Additionen jedoch mit komplexen Zahlen erfolgen, stellt die tatsächlich erforderliche Anzahl von Multiplikationen und Additionen doch eine größere Herausforderung dar, wie die rechte Seite des Diagramms zeigt.

Das rekursive Filter (IIR) ist dem FIR-Filter ähnlich, außer dass Feedback-Pfade hinzukommen. Design und Analyse von IIR-Filtern werden damit komplexer als bei FIR-Filtern. Andererseits kann der IIR-Ansatz auf gleicher Chipfläche zu einem leistungsfähigeren Filter führen. Zwar gibt es verschiedene IIR-Architekturen, doch ein gemeinsamer Ansatz besteht darin, IIR-Filter aus Bi-Quads zweiter Ordnung aufzubauen (Bild 3).
(ID:207530)