DSP-Kit: Simulation digitaler Regelstrecken und Signale

Schon länger gibt es in der MAXON-Sonderdisk-Reihe ein DSP-Kit. Neugierig geworden auf das, was es mit diesem Programm auf sich hat, stand mir nun ein Exemplar davon in der aktuellen Version 1.09 zur Verfügung. Die Bezeichnung dieses Programms als DSP-Kit hat (noch) nichts mit dem DSP-56001 des neuen ATAR1-Falcon030-Rechners zu tun. Dieses Programm dient zum Beispiel zur Simulation von digitalen Regelstrecken oder digitaler (Audio-)Signalverarbeitung.

Das Programm läuft GEM-konform in mehreren Fenstern, und obwohl in der Anleitung erwähnt ist, daß nur der monochrome Modus der ATARI-Rechner unterstützt wird, läuft das Programm problemlos in sämtlichen Falcon-Auflösungen bis hin zum Hi-Color-Modus. Das Programm selber arbeitet vollständig objektorientiert. Das bedeutet, daß man kleinere Schaltungen zu einem neuen Objekt zusammenfassen und in einer anderen Schaltungsebene Weiterarbeiten kann, als ob es ein einzelnes Element wäre. In diese neuen Objekte kann man zu jeder Zeit mit einem Doppelklick wieder hineinzoomen. Diese Arbeitsweise erinnert stark an das Zeichenprogramm „Ariadne“ (wen wundert's, stammen beide Programme doch vom selben Autor).

Eine neue Schaltung wird im Baukastenprinzip zusammengestellt. Dafür stehen in einer Dialogbox Grundelemente wie Filler, Addierer, Gleichrichter, Sample&Hold-Stufen, Signal- und Spektraldarstellung (FFT) inkl. Klirrfaktorberechnung, Delay, Integrierer, Differenzierer, Samples und weiteres zur Verfügung.

Die unterstützten Sample-Formate

Das DSP-Kit unterstützt drei verschiedene Sample-Formate. Da wären zum ersten zwei vorzeichenbehaftete 8- bzw. 16-Bit-Integer-Samples. Die Daten liegen dabei ohne Header vor und können von verschiedenen Sample-Programmen wie z.B. DIGIT-II erstellt oder bearbeitet werden. Die 8-Bit-Samples basieren auf dem PD-Sampler SOUNDKIT von der ST-Computer-PD-Diskette 388 und haben eine Abtastrate von 23202Hz. Die 16-Bit-Samples belegen den Wertebereich von +32767 bis -32767 und erreichen damit einen Dynamikumfang von 90.3dB. Wem das noch zu wenig ist, der kann auf das programmeigene 32-Bit Fließkomma-Sample-Format zurückgreifen. Durch einen Wertebereich von ±6.8'8 steht ein Dynamikumfang von 1500dB zur Verfügung, was auch den gehobenen Ansprüchen von Wissenschaftlern genügen sollte. Die Samples können vom DSP-Kit sowohl gelesen und geschrieben als auch hörbar gemacht werden. Zur Tonerzeugung stehen entweder ein einfacher D/A-Wandler am Drucker-Port, der Yamaha-Soundchip oder das Sound-DMA-System des STE/TT/F030 zur Verfügung. Wem das noch nicht reicht, der kann sich auch eigene Soundtreiber schreiben. Treiber für die oben aufgeführten Sounddevices liegen dem DSP-Kit im Sourcecode bei. Listing 1 zeigt ein Beispiel-Listing für einen Soundtreiber.

Die Bedienungsanleitung

Da das DSP-Kit per MAXON-Sonderdisk vertrieben wird, liegt dem Programm kein gedrucktes Handbuch bei. Dafür befindet sich auf der Diskette eine sehr ausführliche Anleitung, die sowohl in die Bedienung des Programms einführt als auch alle Grundelemente der Toolbox ausführlich erklärt. Des weiteren beinhaltet das DSP-Kit auch eine nachladbare Online-Hilfe, die ebenfalls sehr ausführlich den Umgang mit dem Programm sowie alle Grundelemente erklärt.

Die Simulation

Das Programm unterscheidet zwischen drei verschiedenen Arbeitsmodi. Zuerst gibt es den Erstellungsmodus. Hierin können neue Schaltungen zusammengestellt oder bestehende geändert werden. Des weiteren gibt es den Parametrierungsmodus. In ihm können nur die Parameter einer fertigen Schaltung, jedoch nicht die Schaltung selber geändert werden. Und als letztes gibt es noch den Ablaufmodus, in dem keine Änderungen an einer geladenen Schaltung vorgenommen werden können. Er dient nur zur Simulation. Man kann jedoch jederzeit zwischen den drei Arbeitsmodi umschalten. Das DSP-Kit unterstützt bei der Simulation sowohl den Komplettdurchlauf über eine bestimmte Zeit als auch den Single-Step-Modus.

Die Protokolldatei

Alle Ergebnisse der Simulation können in einer Protokolldatei gespeichert oder auf einem Drucker ausgegeben werden. Als Beispiel finden Sie nebenstehend die Protokolldatei der Simulation aus dem Titelbild.

Schlußwort

Das DSP-Kit ist ein sehr schönes und gut durchdachtes Programm. Es ist eigentlich ver wunderlich, solch ein Programm auf einer Sonderdisk vorzufinden. Besonders erfreulich ist, daß das DSP-Kit problemlos auch mit ATARIs neuestem Rechner, dem Falcon030, zusammenarbeitet. Für eine der nächsten Versionen ist sogar speziell für den Falcon eine Sourcecode-Generierung der Simulation für den DSP56001 geplant. Damit wird es dann sehr einfach, selbst komplizierteste DSP-Projekte wie aufwendige Soundeffekte zu realisieren, da man den Effekt grafisch am Bildschirm als Simulation entwerfen und testen kann und das DSP-Kit anschließend selbständig ein DSP56001-Programm daraus erzeugt. Dies ist ein sehr interessanter Aspekt, da es so etwas bisher auf dem ATARI noch nicht gibt. Die 40,- DM für dieses Programm sind auf jeden Fall für jeden gut angelegt, der sich mit digitaler Signalverarbeitung auf dem ATARI auseinandersetzen möchte. Als einzigen Schwachpunkt muß man leider Anmerken, daß das DSP-Kit in der vorliegenden Version noch nicht unter Multi-TOS läuft.

DSP Kit

Positiv:

auflösungsunabhängig
einfache Bedienung
gute Online-Hilfe
offenes Soundtreiberkonzept

Negativ:

läuft nicht unter MultiTOS

Literatur:

Einführung in geschaltete Kapazitätsfilter MAXIM-Engineering-Journal 2. 1990

S.D. Stearns,Digitale Verarbeitung analoger Signale. Oldenbourg 1981

S.A.Azizi, Entwurf und Realisierung digitaler Filter, Oldenbourg 1988

Bezugsquelle:

MAXON Computer GmbH Industriestraße 26 65734 Eschborn

* Assembler - Source für : CENTSIGN. SYS

* (**Autor:** Mattias Schick)
* CENTSING.SYS enthalt nur den CODE-Ausschnitt
* (aua dem .O-Fila)
* (Alle Internen Adressierungsarten müssen PC-relativ sein)
* (Zu erzeugen mit SYSCODER.PRO)
* Assembler muß DR-ASM-kompatiblen Code erzeugen.
* Version für CENTRONICS-Schnittstelle an Wandler mit Vorzeichen
*
* Ein-Kanal-Version (aus SoundKit) für DSP-Kit
* (max 166666.6 Hz !)
* 20.01.92
*
* Prozessor ist im Supervisor-Mode
* Aktuelle Register :
* A0 : POINTER TO ARRAY [0..D0.W] OF (-80H..7FH]
* (Adresse ist gerade)
* D0.w : Anzahl Bytes - 1
* D1.W : Takt-Zyklen für Tuning (ST-Monitor/Centronics-DA)
* D2.L : Sampling-Frequenz in Hz (STE / TT / FALCON)
* (D2 wird in diesem Treiber nicht verwendet)

Listing 1

G:\DSP_KIT\DEMOS.DSP\MOD SPEC.DSP 
Taktfrequenz / Hz  = 1E6 
Mem-Unterabtastung = 1 
Berechnete Takte   = 256 
Prozeß 1 
Beschreibung
DSP-Kit-Demo “Binär-Modulationen":
OOK (on off keying)
FSK (frequency shift keying)
PSK (phase shift keying)
Dargestellt ist jeweils der Extremfall, 
also eine ständig alternierende Folge 
(1010..., PSK:1111...) als Modulationssignal. 
Der Systemtakt spielt hier übrigens keine Rolle.)
M.Schick, Juli 92.
Prozeß 2 OOK 
Zeitfunktion
f(txi)=IF x<0.5 THEN sin(4*pi*x) ELSE 0 
Prozeß 3 In=2 
Byte-Speicher 
unterabtastend
  Speicherzeit   = 256u 
  Speichergröße  = 256
* Größe wie «berechnete Takte»
Prozeß 4 In=3 OOK 
Signalanzeige
Makro/Zoom-Faktor = 1 Zoom 
Zeichen-Intervall = 256 
Prozeß 5 In=2 OOK 
Spektralanzeige 
FFT 256
Amplitude log / dB 
Klirrfaktoranzeige aus 
max = 0 
min = -100 
Breitenfaktor = 1 
Höhe / Pixel  = 60 
Prozeß 6 FSK 
Zeitfunktion
f(txi)=IF x<0.5 THEN sin(4*pi*x) ELSE sin(8*pi*x) 
Prozeß 7 In=6 
Byte-Speicher 
unterabtastend
  Speicherzeit   = 256u 
  Speichergröße  = 256
* Größe wie «berechnete Takte»
Prozeß 8 In=7 FSK 
Signalanzeige
Makro/Zoom-Faktor = 1 Zoom 
Zeichen-Intervall = 256 
Prozeß 9 In=6 PSK 
Spektralanzeige
FFT 256
Amplitude log / dB 
Klirrfaktoranzeige aus 
max = 0 
min = -100 
Breitenfaktor = 1 
Höhe / Pixel  = 60 
Prozeß 10 PSK 
Zeitfunktion
f(txi)= s:=sin(4*pi*x), IF x<0.5 THEN s ELSE -s 
Prozeß 11 In=10
Byte-Speicher 
unterabtastend
  Speicherzeit   = 256u 
  Speichergröße  = 256 
* Größe wie «berechnete Takte»
Prozeß 12 In=11 PSK
Signalanzeige
Makro/Zoom-Faktor = 1 Zoom 
Zeichen-Intervall = 256 
Prozeß 13 In=10 PSK
Spektralanzeige 
FFT 256
Amplitude log / dB 
Klirrfaktaranzeige aus 
max = 0 
min = -100 
Breitenfaktor = 1 
Höhe / Pixel  = 60
Die Online-Hilfe
Das Tool-Menü

Peter Hilbring
Aus: ST-Computer 02 / 1994, Seite 12

Links

Copyright-Bestimmungen: siehe Über diese Seite