Mit dem Falcon hatte die Firma ATARI 1992 einen Rechner auf dem Markt gebracht, der zur damaligen Zeit durch seine Grafik- und Soundfähigkeiten für Multimedia-Anwendungen prädestiniert war.
Der DSP und das Audio-Subsystem sind jedoch nicht nur den Kreativen unter uns Vorbehalten, sondern machen den Falcon auch heute noch für Techniker interessant. Mit geeigneter Software läßt sich der Rechner durchaus in der Meßdatenverarbeitung einsetzen.
So nutzt die kürzlich erschiene Anwendung NFMP von Axel Steffens die Hardware des Falcons für die Signalverarbeitung und die Analyse von Systemen. Die Anwendungsmöglichkeiten für diese Art Software sind unzählbar: Messung der Impulsantwort und Berechnung der Übertragungsfunktion von aktiven bzw. passiven Filtern, von Digital-Filtern, die mit dem DSP realisiert sind, Optimierung des Equalizers der heimischen HIFI-Anlage usw. Prinzipiell läßt sich sogar jedes System, dessen Signale mit Spannungen repräsentiert werden können, mit NFMP untersuchen.
Grundlage für die Untersuchung von System bzw. Signalen ist die Systemtheorie: Bei bekanntem Ein- und Ausgangssignal läßt sich ein System mathematisch beschreiben. Üblicherweise werden lineare, zeitinvariante Systeme mit ihrer Impulsantwort im Zeitbereich bzw. mit ihrer (komplexen) Übertragungsfunktion im Spektralbereich - die Fourier-Transformation der Impulsantwort - charakterisiert.
In der Theorie erhält man die Impulsantwort eines Systems durch Anlegen einen Diracimpuls an den Eingang des Systems. Ein Diracimpuls ist ein Signalsprung von 0 auf den Maximalwert und sofortige Rückkehr auf 0; in der digitalen Signalverarbeitung ist ein Diracimpuls eine Folge, deren erster Wert 1 ist und alle folgenden auf 0 gesetzt werden. Die Übertragungsfunktion wird üblicherweise in Amplituden- und Phasen-Frequenzgang aufgeteilt. Der erste gibt an, mit welchem Faktor die Amplitude einer bestimmten Frequenz multipliziert wird. Der zweite, welche Änderung die Phase einer bestimmten Frequenz beim Durchgang durch das System erfährt. Normalerweise benötigt man für die Signalverarbeitung und die Analyse von Systemen viele Meßgeräte und Hilfsmittel:
Funktionsgeneratoren, Zweikanal-Oszilloskop, Frequenzzähler, Meßgerät für die Effektivspannung beliebiger Signale, Rechner für die Aufnahme von Signalen und für die Fourier-Transformation usw. Oder man verfügt über einen Rechner mit geeigneter Wandler-Hardware und entsprechender Software, die die Meßgeräte und Hilfsmittel ersetzen.
NFMP bildet nicht einfach einen der üblichen Arbeitsplätze für NF-Messungen nach, sondern orientiert sich am Aufbau des Audio-Subsystem des Falcons. Daher verfügt NFMP über ein Fenster für Funktionsgeneratoren, eines für die möglichen Empfänger und zwei für die Einstellungen des Audio-Subsystems. Die jeweiligen Funktionsgeneratoren und Empfänger werden durch Icons repräsentiert. Der NFMP-eigene Arbeitsplatz umfaßt einen Desktop, der optional auch in ein Fenster gelegt werden kann. Auf dem Desktop befindet sich neben der Funktionstasten leiste ein Papierkorb, mit dem man Funktionsgeneratoren und Empfänger deaktivieren kann, indem man schlicht das jeweilige Icon auf den Papierkorb zieht.
Die Signalwege innerhalb des Falcons werden mit in dem Fenster _Sound-subsystem 1‘ festgelegt, das einfach die Soundmatrix repräsentiert. Zusätzlich ist die Dämpfung der zwei Ausgänge und die Verstärkung der zwei Eingänge mit vier Reglern einstellbar. Im Fenster _Soundsubsystem 2‘ sind weitere Parameter des Audio-Subsystem, beispielsweise die Sample Rate und das Sample Format, zugänglich.
NFMP kann Signale mit bis zu drei Funktionsgeneratoren generieren. Die Signalformen werden vom DSP berechnet. Zur Verfügung stehen Sinus, Dreieck, Rechteck und Sägezahn. Frei einstellbar ist der Pegel, getrennt für linken und rechten Kanal, und die Frequenz. Optional kann NFMP den Pegel des Summensignals automatisch begrenzen, um eine Übersteuerung zu vermeiden.
Jede Menge weiterer Anwendungen eröffnet NFMP mit der Möglichkeit, externe DSP-Programme zu laden und zu starten. Kompatibel zu dem Harddiskrecorder WinRec von Andreas Bin-ner können sogar Parameter für diese eigenen DSP-Programme in NFMP eingestellt werden. Den WinRec-Archiven liegen übrigens auch einige DSP-Programme bei, die für erste Versuche mit NFMP genutzt werden können.
Als Empfänger stehen drei Echtzeitanzeigen zur Verfügung: Effektivwert-Anzeige, Oszilloskop und Stereo-Korrelator. Echtzeit bedeutet, daß NFMP die gemessenen Signale unmittelbar verarbeitet und darstellt. Gleichzeitig können jeweils nur zwei der drei Echtzeitanzeigen genutzt werden.
Für die Effektivwert-Anzeige übernimmt der DSP die Berechnung und wendet eine Methode an, die unabhängig von Frequenz und Signalform den korrekten Effektivwert berechnet (Integration der quadrierten Eingangwerte).
Das Oszilloskop ist einem der üblichen Zweikanal-Ausführungen nachempfunden. Neben dem Triggerpegel und -flanke läßt sich die Zeitbasis in mageren zwei Schritten einstellen. Der Stereo-Korrelator kann zur einfachen Untersuchung von Signalen auf ihre Mono- und Stereo-Eigenschaften eingesetzt werden.
Für die genauere Untersuchung der Signale am Empfänger können diese aufgezeichnet werden. NFMP zeichnet die empfangenen Signale in einem Ringspeicher auf, dessen Größe durch den Anwender mit der Aufzeichnungsdauer vorgegeben wird. Während der laufenden Aufzeichnung wird der Ringspeicher immer wieder im Kreis mit den empfangenen Daten gefüllt, d.h. wenn der Speicher voll ist, wird wieder von Anfang begonnen, und die alten Werte werden überschrieben.
Tritt ein festgelegtes Triggerereignis auf, wird die Aufzeichnung beendet und der Inhalt des Ringspeichers in einem Fenster getrennt für linken und rechten Kanal graphisch dargestellt. Wählbar ist die Aufzeichnungsdauer des Ringspeichers, der Triggerzeitpunkt (Anfang, Mitte und Ende) und das Triggerereignis. Ein mögliches Triggerereignis ist entweder ein Tastendruck oder ein Wert am DSP-Eingang, dessen Betrag größer als 0.5 ist.
Nachdem die Aufzeichnung durch das Triggerereignis beendet wurde, zeigt NFMP den Inhalt des Ringspeichers im Aufzeichnungsfenster an. Der Zeitmaßstab läßt sich in von NFMP vorgegebenen Schritten ändern. Getrennt für jeden Kanal läßt sich ein Ausschnitt mit der Maus oder über das Fenster-Menü markieren. Mit einer Auswerte-Funktion erhält man nähere Angaben zu den markierten Bereichen, wie etwa Mittel- und Maximalwert. Die Ausschnitte können in einem NFMP-eigenen Format und im RAW- oder DVS-Format abgespeichert werden. Gespeicherte Aufzeichnungen können natürlich wieder in dieses Fenster geladen werden.
Normalerweise ist nicht nur der Zeitbereich des aufgezeichneten Signals von Interesse, sondern insbesondere auch die spektrale Zusammensetzung. Folglich kann NFMP von dem aufgezeichneten Signal über eine diskrete Fourier-Transformation, die als FFT (Fast Fourier-Transformation) implementiert ist, das Spektrum für den linken und rechten Kanal getrennt oder gemeinsam für beide Kanäle berechnen. Die berechnete diskrete Fourier-Transformierte wird wiederum in einem Fenster dargestellt, dessen Funktionalität der des Aufzeichnungsfensters entspricht und zusätzlich bereits gespeicherte Fourier-Transformationen gleichzeitig darstellen kann.
Natürlich bietet NFMP neben dem Rechteck-Fenster noch weitere Fensterfunktionen (Bartlet, Blackman, Hanning, Hamming und cos2), um die Fehler, die sich durch Anwendung der diskreten Fourier-Transformation auf im allgemeinen nichtperiodische Signale ergeben, zu minimieren. Leider kann man keine Fenster-Funktionen frei definieren. Das Spektrum wird als Amplituden-/Phasen-Frequenzgang dargestellt. Die in der Informationstechnik zwar nicht sehr übliche, aber gerade für die Programmierung des DSPs äußerst nützliche Darstellung des Spektrums mit Real- und Imaginärteil, bietet NFMP nicht an.
Wie eingangs bereits erwähnt, benötigt man zur vollständigen Charakterisierung eines beliebigen linearen, zeit-invarianten Systems die Impulsantwort. Bei einem diskreten System, etwa einem Digital-Filter für den DSP, ist die Ermittlung der Impulsantwort mittels eines Diracimpulses nicht kritisch. Problematisch wird es, sobald man analoge Systeme untersucht, also spätestens, wenn Signale über den AD- bzw. DA-Umsetzer laufen. Die Energie des Diracimpuls konvergiert gegen null (stimmt für die Umsetzung des digitalen Signals in ein analoges Signal nur näherungsweise) und damit ebenfalls der Signalstörabstand. Jedes Rauschen und jede Störung verfälscht somit bei der Aufnahme der Impulsantwort das Ergebnis erheblich.
NFMP gewinnt die Impulsantwort folgerichtig mit einem anderen Verfahren namens MLS (Maximum Length Sequence). Statt einen Diracimpuls an den Eingang des Systems zu legen, verwendet MLS ein Signal, das weißem Rauschen sehr ähnlich ist und gleichzeitig bestimmte Eigenschaften für die MLS-Analyse erfüllt. Aus der Antwort des Systems auf ein MLS-Signal läßt sich die Impulsantwort berechnen.
Es lassen sich zwei Parameter für die MLS-Analyse in NFMP ändern. Über die Länge der zu untersuchenden Folge läßt sich der Signalstörabstand, der mit der Länge der Folge größer wird, beeinflussen (maximale Länge: 16384 Werte). Mit Mehrfachmessungen und anschließender Mittelwertbil-dung kann der Einfluß von Rauschen auf die MLS-Analyse verkleinert werden.
Da sich die Signalwege für die MLS-Analyse über das Fenster Soundsubsystem 1 beeinflussen lassen, können die untersuchenden Systeme durch externe DSP-Programme oder richtige Schaltungen, die an den AD-und DA-Umsetzern bzw. am DSP-Connector angeschlossen werden, realisiert sein.
Nach Durchführung der MLS-Analyse wird die ermittelte Impulsantwort in einem Fenster dargestellt. Die Funktionalität dieses Fensters entspricht der des für die Fourier-Transformation. Den Amplituden- und Phasen-Frequenzgang des Systems erhält man, indem man die diskrete Fourier-Transformation auf die berechnete Impulsantwort anwendet.
Wie nicht anders zu erwarten - der Autor räumt das auch ein - genügt das Soundsubsystem des Falcons mit seinen Wandlern und Verstärkern nicht den Ansprüchen für genaue Messungen. Deswegen sieht NFMP auch die Nutzung von externen Wandlern und Verstärkern vor, die über den DSP-Connector angeschlossen werden. In NFMP selbst kann dann stets zwischen Extern und Intern gewählt werden.
Natürlich will der Anwender - zumindest derjenige, der selbstentwickelte Hardware mit NFMP untersucht -nicht nur mit dimensionslosen Zahlenwerten, sondern mit Spannungswerten arbeiten. NFMP ermöglicht daher, die Eingänge linear zu kalibrieren, jeweils für die interne und externe Wandler.
Abgerundet wird die beschriebene Funktionalität von NFMP mit einer On-line-Hilfe, die in gewohnter Weise mit ST-Guide kontextabhängig realisiert ist. In ihr geht der Autor nicht nur auf die Funktionen der Anwendung ein, sondern erläutert auch Grundlagen der Systemtheorie und der Signalverarbeitung. An interessanten Beispielen -haben Sie schon mal das Spektrum des Tastaturklicks gesehen? - erklärt der Entwickler, wie NFMP und das Audio-Subsystem des Falcons für verschiedene Anwendungen zu konfigurieren sind.
NFMP bietet in der hier besprochenen Normalversion beinahe alles, was der ambitionierte Techniker für die Signalverarbeitung benötigt. Sehr flexibel kann NFMP mit Hilfe von externen Wandlern und DSP-Programmen an die eigenen Bedürfnisse angepaßt werden. Lediglich die fehlende Möglichkeit, die Zeitbasen der einzelnen grafischen Anzeigen frei zu wählen, muß als Einschränkung gewertet werden. Für die Pro-Version, die mit Erscheinen dieser Ausgabe fertig sein dürfte, stellt der Autor eine Echtzeit-Spektroanalyse, Druckfunktionen für die grafischen Darstellungen und eine MLS-Analyse mit bis zu 65536 Werten in Aussicht.
Bleibt die Frage offen, warum der Entwickler trotz aller vorhandenen Meßgeräte NFMP programmierte: Dann hat aber doch der Spieltrieb gesiegt -vielmehr die Neugier! Denn es ist schon interessant, ob auch hier gilt, daß sich eine ganze Menge Hardware durch geschickte Programmierung einsparen läßt. Das hat Axel Steffens ohne Zweifel mit NFMP für den Falcon bewiesen.
Preise:
Normalversion: DM 79,-
Pro-Version: DM 149,-
Bezugsquelle:
Axel Steffens Postfach 75 13015 Berlin
Positiv:
Negativ: