Lehrstuhl für
Multimediakommunikation und Signalverarbeitung
Prof. Dr.-Ing. André Kaup

Realisierung digitaler Systeme zur Signalverarbeitung

Gekürzte Fassung eines Beitrags von Prof. H. W. Schüßler zu einem Bericht "25 Jahre Lehrstuhl für Nachrichtentechnik 1966 - 1991", Erlangen, 1991

Die ersten von uns realisierten Systeme zur Signalverarbeitung waren zwar zeitdiskret, verwendeten aber analoge Bausteine. Mit Abtast-Halte-Gliedern haben wir die ersten speziell rekursiven Filter aufgebaut. 1969 begannen wir mit dem Bau von digitalen Filtern mit Festkomma-Arithmetik, wobei einer der ersten Schritte der Bau eines Serien-Parallel-Multiplizierers in der siebten am Lehrstuhl angefertigten Diplomarbeit war. Der Bau von Geräten zur Signalverarbeitung verlief dann entsprechend dem technologischen Fortschritt in den folgenden Stufen:

Entwicklung von Systemen festgelegter Struktur:

Zunächst wurden mehrere digitale Filter aus diskreten Elementen gebaut, wobei bis zu 5 Multiplizierer zur Realisierung eines Blocks 2. Grades verwendet wurden. An den Arbeiten waren insbesondere die Herren Winkelnkemper, Eckhardt und Heute beteiligt. Die Geräte wurden für den Gebrauch im Labor konzipiert. Sie haben eine weitgehend festgelegte Struktur, gestatten aber gewisse Variationen bezüglich der Arithmetik (Runden, Abschneiden oder Zufallsrunden der Produkte) und waren natürlich bezüglich der Koeffizienten im Rahmen der verwendeten Wortlänge beliebig einstellbar. Diese Flexibilität gestattete die Untersuchung der verschiedenen, durch die Wortlängenbegrenzung auftretenden Effekte, erlaubte aber außerdem die Anwendung bei Demonstrationsversuchen zur Vorlesung und im Praktikum "Digitale Signalverarbeitung". Im einzelnen entstanden:

FFT-Prozessor

Neben der Filterung ist die diskrete Fourier-Transformation die vielleicht wichtigste Aufgabe der digitalen Signalverarbeitung. In einem von der DFG geförderten Vorhaben wurde unter Leitung von Herrn Heute ein schneller Fourier-Prozessor gebaut, der mit Radix 4 und "decimation in time" arbeitet, die erforderliche komplexe Multiplikation in modifizierter verteilter Arithmetik ausführt und z.B. bei einer Segmentlänge von 512 Werten eine Folge reeller Werte mit einer Taktfrequenz von 100 kHz in Echtzeit zu verarbeiten gestattet.

Die Mikrosignalprozessoren

Der wesentliche Nachteil der im letzten Abschnitt beschriebenen festverdrahteten Geräte ist ihre geringe Flexibilität. Hinzu kommt der sehr hohe Zeitaufwand für ihre Entwicklung. Die schnelle Einführung der Mikroprozessoren führte zu neuen Möglichkeiten, die wir weitgehend erprobten. Der vergleichsweise hohen Geschwindigkeit wegen haben wir dann längere Zeit mit Bit-Slice-Prozessoren gearbeitet, mit denen eine Reihe von "Mikrosignalprozessoren" in den Jahren 1976 bis 1982 entstand, die zur Beschleunigung der arithmetischen Operationen einen zusätzlichen akkumulierenden Parallel-Multiplizierer enthielten. Mit dem MSP 82 hatten wir dann ein Gerät zur Verfügung, das mehrfach aufgebaut wurde und bis Ende der 80er Jahre für viele Forschungsaufgaben des Lehrstuhls aber auch für Vorlesungsdemonstrationen und im DSV-Praktikum eingesetzt wurde. Die Arbeiten wurden von Herrn Schloß begonnen und dann unter der Leitung von Herrn Kolb in den folgenden Jahren mit einer Vielzahl von Studenten zum Abschluss gebracht. An dem Bau der Geräte war die Werkstatt des Lehrstuhls, besonders Herr Zimmermann in starkem Maße beteiligt, an der Erstellung der erforderlichen Software außerdem Herr Weith.
1984 hat Herr Gündel noch eine schnelle Version des MSP, den MSP 82/S gebaut. Er enthielt als zusätzliche Einheit einen so genannten Fourier-Vektorprozessor, der zunächst in Hinblick auf die FFT konzipiert wurde, aber auch die üblichen Vektoroperationen ausführen kann.

Der "Nano-Signalprozessor"

Unter Verwendung eines akkumulierenden Multiplizierers entstand 1980 weiterhin die - sehr schnelle - Minimalversion eines Signalprozessors, der "Nano-SP". Er ist mikroprogrammierbar und in der Lage, einen Ausgangswert des oben erwähnten nichtrekursiven Filters 64. Grades in 14 µsec zu berechnen.

Der DSP

In einem von der DFG geförderten Forschungsvorhaben hat Herr Schloß einen schnellen, auf Assemblerebene programmierbaren Signalprozessor - den DSP - entwickelt und aufgebaut, der viele Jahre für Aufgaben der Sprach- und Bildverarbeitung eingesetzt wurde. Das Gerät verfügt neben der CPU über eine arithmetische Einheit, die die Bildung des inneren Produktes zweier Vektoren der Länge 6 mit Hilfe der verteilten Arithmetik gestattet. Die Struktur dieses Gerätes weist einige Besonderheiten für die damalige Zeit auf. Neben der erwähnten speziellen arithmetischen Einheit ist bemerkenswert, dass ein eigener Adressrechner, mehrere Speichermodule, so wie vier Busse vorgesehen waren. Alle Befehle waren schaltungstechnisch realisiert, das Programm war in einem eigenem Programmspeicher abgelegt, seine Ausführung erfolgte in einer mehrfachen Pipeline-Technik.

Der Multiprozessor MUPSI

In Zusammenarbeit mit dem Lehrstuhl für Betriebssysteme (Prof. F. Hofmann) entstand in den Jahren 1980 - 1984 ein Multiprozessorsystem, in dem mehrere schnelle Prozessoren über einen Ringbus miteinander verbunden sind. Bei dem Gerät haben wir erstmalig mit einer 32bit Gleitkomma-Arithmetik gearbeitet; das zugehörige Rechenwerk musste mit den zu Beginn der 80er Jahre zur Verfügung stehenden Bausteinen aufgebaut werden. Z.B. wurden für die Ausführung einer Parallel-Multiplikation der 24bit breiten Mantissen jeweils 9 integrierte 8bit Multiplizierer verwendet, Der einzelne Prozessor hatte eine maximale Rechenleistung von 16 MFlops.
An der Konzeption des Gerätes waren vom Lehrstuhl zunächst noch die Herren Schloß und Kolb beteiligt. Die wesentlichen Arbeiten bezüglich der Hardware und der rechnernahen Software haben die Herren Polzer und Wackersreuther geleistet.

Integrierte Signalprozessoren

1983 haben wir begonnen, uns mit integrierten Signalprozessoren zu beschäftigen. Nachdem zunächst mit dem NEC 7720 experimentiert wurde, haben wir mehrere Jahre mit dem TMS 32010 von Texas Instruments gearbeitet. Hierfür hat Herr Gluth eine Karte mit Speichern und dem nötigen Interface entwickelt, die in Verbindung mit dem ebenfalls am Lehrstuhl entstandenen PC "PRINZ" vielfach eingesetzt worden ist. Sie fand auch Verwendung in dem Gerät zur Simulation des Mobilfunkkanals, das wir für die Deutsche Bundespost gebaut haben. Als nächstes wurde der integrierte Signalprozessor PCB 5011 der Firma Valvo eingesetzt. Auch dafür entstand eine Prozessorkarte, die in einem handelsüblichen, AT-kompatiblen PC eingesetzt werden kann.

Ausblick

Der Bau dieser unterschiedlichen Geräte erfolgte aus mehreren Gründen. Zunächst war die Entwicklung dieser Systeme mit ihren meist neuen Strukturen an sich eine sehr reizvolle Aufgabe. Darüber hinaus konnten mit diesen Geräten die Einflüsse einer Wortlängenverkürzung bei den arithmetischen Operationen in Abhängigkeit von den verwendeten Filterstrukturen wesentlich schneller untersucht werden, als mit Rechnersimulationen. Wichtig ist aber vor allem, dass mit diesen Prozessoren Probleme der Sprachkodierung in Realzeit behandelt werden konnten, zu einer Zeit, als die Erprobung von Kodierungsverfahren am Rechner etwa die 100fache Zeit benötigte. Auch Probleme der Bildverarbeitung ließen sich wesentlich schneller bearbeiten.
Die Entwicklung eigener Signalprozessoren war sinnvoll und notwendig, solange es keine entsprechenden käuflichen Geräte gab. Seit die integrierten Signalprozessoren in schneller Folge mit jeweils gesteigerter Leistungsfähigkeit erschienen und auch brauchbare Prozessorkarten für den Einschub in übliche PCs erhältlich sind, entfällt diese Aufgabe. Wir beschäftigen uns stattdessen jetzt mit einer vergleichenden Untersuchung verschiedener Signalprozessoren und Algorithmen für die möglichst schnelle und genaue Ausführung von wichtigen Algorithmen der Signalverarbeitung.