Aufbau, Evaluierung und Programmierung einer Sigma

Transcription

Aufbau, Evaluierung und Programmierung einer Sigma
Aufbau, Evaluierung und Programmierung einer
Sigma-DSP Testplatine
Bachelorarbeit
durchgeführt von
Martin Finsterer
Institut für Signalverarbeitung und Sprachkommunikation
der Technischen Universität Graz
Leiter: Univ.-Prof. Dipl.-Ing. Dr.techn. Gernot Kubin
Betreuer/in: Dipl.-Ing. Dr. Werner Magnes
Graz, im März 2016
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Zusammenfassung
Am Beginn der Bachelorarbeit wurde eine Marktrecherche durchgeführt, um einen Überblick
über kostengünstige Testaufbauten digitaler Signalprozessoren für Audioanwendungen zu
erhalten. Die Suche endete durch den Fund eines Artikels in der Elektronik-Fachzeitschrift
Elektor, in welchem einen passender Bausatz vorgestellt wird, basierend auf dem
Referenzdesign des Analog Devices DSP „ADAU1701“. Nach der Beschaffung der
benötigten Bauteile erfolgte der Aufbau sowie die Inbetriebnahme der Schaltung. Es war
erforderlich sich mit der dazugehörigen Programmierumgebung Sigma Studio dabei näher
auseinanderzusetzen. Mit Hilfe von PC-Software und eines geeigneten Messaufbaus gelang es
schließlich die Leistungs-Eigenschaften der DSP-Platine zu evaluieren und Vergleiche mit
dem Datenblatt des DSPs anzustellen. Durch das anschließende Implementieren von gängigen
Audio-Effekten wurde das Wissen rund um die Handhabung mit der Programmierumgebung
Sigma Studio vertieft.
Abstract
At the beginning of the Bachelor thesis a market research has been done, to get an overview of
cost-effective digital signal processors for audio applications. In an article of the electronics
magazine Elektor a proper assembly kit has been found, which is designed around the Analog
Devices' DSP „ADAU1701“. After the acquisition of the required components the circuitry
has been set up and put into operation. Therefore it was necessary to get familiar with the
proprietery programming environment Sigma Studio. With the help of PC software and a
proper measurement setup the performance characteristics of the DSP-board have been
evaluated and compared with the datasheet of the DSP. By implementing several popular
audio-effects the knowledge about the handling of Sigma Studio has been enhanced.
Institut für Signalverarbeitung und Sprachkommunikation
2
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Inhaltsverzeichnis
1 Einleitung................................................................................................................................8
1.1 Motivation...............................................................................................................8
1.2 Ziele.........................................................................................................................9
1.3 DSP-Familien von Analog Devices.......................................................................10
2 DSP-Hardware.....................................................................................................................11
2.1 Sigma-DSP ADAU1701........................................................................................11
2.2 Elektor Schaltung...................................................................................................12
2.3 Materialliste...........................................................................................................13
3 Programmier-Software........................................................................................................14
3.1 Programmierung mit Sigma Studio.......................................................................14
3.1.1 Neues Projekt...............................................................................................14
3.1.2 Einfügen von Auxiliary Inputs.....................................................................17
3.2 Programmieren des E2PROMs..............................................................................18
3.2.1 Serielle Schnittstelle.....................................................................................18
3.2.2 Arduino Uno.................................................................................................19
3.2.3 E2PROM Programmierer.............................................................................20
3.3 Diskussion weiterer Programmierumgebungen.....................................................21
4 Vermessung der wichtigsten Performance-Parameter.....................................................23
4.1 Messequipment und Aufbau..................................................................................23
4.2 Messung der Frequenzgänge.................................................................................24
4.2.1 Abweichung des zweiten Kanals..................................................................26
4.2.2 Generelle Dämpfung....................................................................................27
4.2.3 Tiefpassverhalten.........................................................................................27
4.2.4 Hochpassverhalten.......................................................................................27
4.2.5 Messung nach Umbau..................................................................................28
4.3 Signalrauschabstand..............................................................................................29
5 Implementierungen von Audioeffekten.............................................................................33
5.1 Entwurf eines Bandpassfilters...............................................................................34
5.2 Implementierung eines Phaser-Effekts..................................................................41
5.3 Implementierung eines Tongenerators...................................................................48
5.4 Implementierung eines Delay-Effekts...................................................................49
5.5 Implementierung eines State-Var-Filters...............................................................51
Institut für Signalverarbeitung und Sprachkommunikation
3
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
6 Literaturverzeichnis.............................................................................................................53
7 Abbkürzungsverzeichnis.....................................................................................................56
8 Anhang..................................................................................................................................57
Institut für Signalverarbeitung und Sprachkommunikation
4
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Abbildungsverzeichnis
Abb. 1: Das fertig bestückte Audio-DSP-Board von Elektor................................................9
Abb. 2: Block Diagramm des ADAU1701 [ADAU1]............................................................11
Abb. 3: Das Schaltungsdesign von Elektor [ELEKTOR2].................................................12
Abb. 4: Definieren der Hardware-Baugruppen...................................................................15
Abb. 5: Talkthrough-Schaltung.............................................................................................15
Abb. 6: Kompilieren des Programms....................................................................................16
Abb. 7: HEX-File-Konversion................................................................................................16
Abb. 8: Hardware-Konfiguration der Auxiliary Inputs.....................................................17
Abb. 9: Blockschaltbild des Programmieraufbaus..............................................................18
Abb. 10: „Sigma Studio for SHARC“...................................................................................21
Abb. 11: Blockschaltbild des Messaufbaus [ARTA1]..........................................................24
Abb. 12: Frequenzgang im Talkthrough-Modus.................................................................25
Abb. 13: Auszug aus dem Datenblatt: Performance [ADAU4]..........................................26
Abb. 14: Auszug des Schaltungsdesigns von Elektor [ELEKTOR1].................................27
Abb. 15: Frequenzgang bei Talkthrough-Betrieb mit überbrückten Kondensatoren am
Eingang....................................................................................................................................28
Abb. 16: Frequenzgang bei Talkthrough ohne Ein- und Ausgangsfilter..........................28
Abb. 17: FFT-Analyse mit einem 1 kHz Sinus als Eingangssignal.....................................29
Abb. 18: FFT-Analyse ohne Eingangssignal.........................................................................30
Abb. 19: FFT-Analyse mit einem 1 kHz Sinus als Eingangssignal.....................................31
Institut für Signalverarbeitung und Sprachkommunikation
5
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Abb. 20: FFT-Analyse ohne Eingangssignal.........................................................................32
Abb. 21: IIR-Filter: Direktform 1 [STANFORD1]..............................................................34
Abb. 22: IIR-Filter: Direktform 2 [STANFORD2]..............................................................34
Abb. 23: IIR-Filter: Transponierte Form 1 [STANFORD3]..............................................34
Abb. 24: IIR-Filter Hauptprogramm....................................................................................35
Abb. 25: IIR-Filter Unterprogramm Direkt Form 1...........................................................36
Abb. 26: IIR-Filter Unterprogramm Direkt Form 2...........................................................36
Abb. 27: IIR-Filter Unterprogramm Transponierte Form 1..............................................37
Abb. 28: IIR-Filter: Transponierte Form 2 [STANFORD3]..............................................38
Abb. 29: FFT-Analyse einer Talkthrough-Schaltung .........................................................38
Abb. 30: FFT-Analyse der DF1..............................................................................................39
Abb. 31: FFT-Analyse der DF2..............................................................................................39
Abb. 32: FFT-Analyse der TF1..............................................................................................40
Abb. 33: Hauptprogramm des Stereo-Phasers.....................................................................42
Abb. 34: Blockschaltbild eines Allpass-Filters.....................................................................43
Abb. 35: Unterprogramm zur Frequenzmodulation...........................................................44
Abb. 36: Unterprogramm eines Allpass-Filters...................................................................45
Abb. 37: Amplitudengang der Phaser-Schaltung................................................................46
Abb. 38: Variable Delay-Line................................................................................................49
Abb. 39: Typische Richtwerte für den Delay-Effekt...........................................................49
Abb. 40: Realisierung des Delay-Effekts...............................................................................50
Abb. 41: Digitales State-Var-Filter........................................................................................51
Institut für Signalverarbeitung und Sprachkommunikation
6
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Abb. 42: Realisierung des State-Var-Filters.........................................................................52
Abb. 43: Hauptprogramm des Tongenerators.....................................................................58
Abb. 44: Unterprogramm zur Dreiecksberechnung............................................................59
Abb. 45: Unterprogramm zur Rechtecksberechnung.........................................................60
Abb. 46: Unterprogramm zur Sägezahnberechnung..........................................................61
Institut für Signalverarbeitung und Sprachkommunikation
7
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
1 Einleitung
1.1 Motivation
Nach der Laborübung Digitale Audiotechnik wollte ich mein Wissen rund um das Thema
Digital Signal Processing (DSP) weiter vertiefen und machte mich auf die Suche nach
sogenannten Evaluation Boards. Solche Testplatinen haben einen offenen Aufbau und werden
in der Regel von Firmen angefordert, die das Produkt auf dessen Funktionen überprüfen
möchte, um es gegebenenfalls im weiteren Verlauf in deren eigenen Systeme einbetten zu
können.
Nach kurzer Recherche bei den üblichen Herstellern wie Analog Devices, Freescale oder
Texas Instruments wurde mir schnell klar, dass mein Vorhaben nur durch Investition mehrerer
hundert Euro zu bewerkstelligen ist, da die Testplatinen keine Massenware sind.
Durch Zufall bin ich auf die Elektronik-Fachzeitschrift Elektor gestoßen, welches in
Bastlerkreisen durch regelmäßige Schaltungs-Bauvorschläge bekannt ist. In der Ausgabe
Jänner/Februar 2014 [ELEKTOR1] wurde ein Design für ein DSP-Board vorgestellt, welches
einem Digitalen Signalprozessor von Analog Devices, nämlich dem ADAU1701,
zugrundeliegt.
Dieser Prozessor wird als energiesparender DSP vermarktet und findet Verwendung im
Automotive-, Portable Audio- und auch im Home Cinema-Bereich.
Die Platine samt vorbestücktem Prozessor ist bei Elektor im Online-Shop für rund 72,95€
erhältlich. Im Preis inbegriffen sind auch die restlichen bedrahteten Bauteile, die noch manuell
verlötet werden müssen.
Das originale Analog Devices Evaluation Board mit dem gleichen Chip ist im Vergleich dazu
für den Einzelstückpreis von 195,00 US Dollar exkl. Versand direkt bei Analog Devices zu
beziehen.
Institut für Signalverarbeitung und Sprachkommunikation
8
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
1.2 Ziele
Im Zuge der Arbeit soll überprüft werden, wie eine kostengünstige DSP-Lösung, wie der
ADAU1701, im Vergleich mit den teureren Vertretern abschneidet. Da seitens des Herstellers
nicht öffentlich eindeutig klargestellt wird, mit welchen Methoden sich der DSP
programmieren lässt, sollte dies herausgefunden werden. Es wird überprüft, ob Sigma-DSPs
im Allgemeinen nur mit der Sigma Studio Software programmiert werden können, oder ob es
auch noch Alternativen gibt, wie zum Beispiel VisualDSP++ oder CrossCore, den anderen
beiden Programmierumgebungen von Analog Devices.
Die Sigma DSPs werden damit beworben, dass bereits einige fertige Algorithmen fix
implementiert wurden, die unter anderem heißen: Surround & 3D Audio, Dynamic Bass,
Loudness, Automatic Volume Control, Automatic EQ, Beam Forming.
Mit dem Audio Precision Messgerät soll zu allerletzt eine Charakterisierung der AnalogDigital-Wandler (ADC) und Digital-Analog-Wandler (DAC) durchgeführt werden.
Abb. 1: Das fertig bestückte Audio-DSP-Board von Elektor
Institut für Signalverarbeitung und Sprachkommunikation
9
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
1.3 DSP-Familien von Analog Devices
Analog Devices ist ein amerikanischer Hersteller von Halbleitern-Bauteilen, der sich auf die
Bereiche analoge und digitale Schaltungselektronik, Datenkonvertierung und
Signalverarbeitung spezialisiert hat. Die wichtigsten Marktsegmente, die von Analog Devices
bedient werden sind Medizintechnik, Automotive, Industrie und der Consumer-Bereich.
Die digitalen Signalprozessoren die im Audio- und Video-Bereich verwendet werden, fallen
unter den Überbegriff Consumer. Da es sehr unterschiedliche anwendungsbezogene
Anforderungen von Audio-DSPs gibt, werden im Folgenden die verschiedenen
Produktfamilien vorgestellt. Innerhalb dieser Familien gibt es, anhand der Artikelbezeichnung
erkennbare, verschiedene Varianten, die sich wiederrum in den Spezifikationsdetails wie zum
Beispiel DSP-Taktraten, Speichergröße und der Anzahl von Ein-/Ausgängen unterscheiden.
Eine genaue Übersicht ist auf der Homepage von Analog Devices zu finden. [AD1]
Da die allgemeinen Beschreibungen der Produkte nicht besonders aussagekräftig sind, wurde
versucht zumindest die wichtigsten Einsatzgebiete hervorzuheben und die DSPs anhand der
wichtigsten Eckdaten zu vergleichen.
Die Prozessoren der ADSP-21xxx Familie kommen mit sehr kleinen Taktraten, wenig
Speicher und ohne externes Speicherinterface aus. Laut Analog Devices ist deren häufigstes
Einsatzgebiet Sprachverarbeitung, Voice-Band Modems und Echtzeitsteuerung.
Blackfin-Prozessoren sind die aktuellste DSP-Entwicklung von Analog Devices. Es handelt
sich dabei um 16- oder 32-Bit Festkomma-Prozessoren, die bereits zu kleinen Preisen mit
recht guten Eckdaten aufwarten. Von der Performance reihen sie sich knapp hinter den
SHARC-Prozessoren ein. Besonders auffällig ist, dass Blackfin Prozessoren aufgrund der
Aktualität unter anderem ein Flash-Speicherinterface aufweisen. Analog Devices empfiehlt als
Anwendungsgebiete Multiformat Audio-, Video-, Sprach- und Bildverarbeitung.
Das Flagschiff der Gleitkomma DSPs stellt die Familie der SHARC Prozessoren dar, da sie
höchste CPU- und Speicherspezifikationen im 32-Bit DSP Segment aufweisen. Neuerdings
werden auch SHARC Abkömmlinge entwickelt, die sich an energieffiziente Anwendungen
oder Anwendungen für zweikernige Prozessoren richten (ADSP-SC58x und ADSP-2158x).
SHARC Prozessoren bieten aufgrund ihrer ursprünglichen Ausrichtung Schnittstellen zur
Parallelverarbeitung von Mehrprozessorsystemen. Dieses Aufgabenfeld wird jedoch nun von
der Folgeentwicklung TigerSHARC abgedeckt, die im Stande sind über eine Milliarde
Gleitkomma-Operationen pro Sekunde auszuführen. TigerSHARC DSPs sind die teuersten
DSPs von Analog Devices und weisen auch die allerhöchsten Spezifikationen auf.
Auf dieser Seite seien hauptsächlich die hardwareseitigen Merkmale der DSP Familien
aufgeführt. Eine große Besonderheit an den Produktfamilien von Analog Devices ist aber,
dass sie sich mit unterschiedlichen Programmierumgebungen programmieren lassen.
Sigma-DSPs und im Speziellen der ADAU1701 werden in den folgenden Kapiteln näher
beschrieben.
Institut für Signalverarbeitung und Sprachkommunikation
10
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
2 DSP-Hardware
2.1 Sigma-DSP ADAU1701
Der ADAU1701 arbeitet mit einer Abtastrate von wahlweise 44.1 oder 48 kHz. Je nach
Programmierung werden die Daten prozessor-intern mit 28 Bit oder mit 56 Bit Bandbreite
verarbeitet (Single/Double Precision).
Zum Einlesen von Audio-Daten stehen zwei ADCs, zum Ausgeben vier DAC-Kanäle zur
Verfügung.
Abb. 2: Block Diagramm des ADAU1701 [ADAU1]
Neben den Audiodaten bietet der ADAU1701 noch Hilfssignale in Form von 12 GPIOs, die
mittels Sigma Studio konfiguriert werden können als, jeweils 4 digitale Eingänge, 4 digitale
Ausgänge und 4 Auxilliary ADC Ports.
Institut für Signalverarbeitung und Sprachkommunikation
11
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
2.2 Elektor Schaltung
Abb. 3: Das Schaltungsdesign von Elektor [ELEKTOR2]
Das Schaltungsdesign von Elektor baut auf das elektronische Referenzdesign von Analog
Devices auf. Als sinnvolle Erweiterung wurde der Schaltung ein linearer 4-fach Verstärker
(IC2) spendiert.
Der ADAU1701 wird im Self-Boot Mode betrieben, was bedeutet, dass beim Power-Up
Vorgang das Programm aus dem E2PROM in den DSP geladen wird. Dieser Umstand wird
durch die Beschaltung bestimmt. Alternativ würde es auch noch den I²C- oder den SPI- Mode
geben, welche im Endeffekt nur den Bus zur externen Speicherquelle des Programms für den
DSP bekannt gibt.
Institut für Signalverarbeitung und Sprachkommunikation
12
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
2.3 Materialliste
In Tabelle 1 und 2 wird eine Liste angeführt, in der das gekaufte Material aufgezählt wird.
Benötigtes Werkzeug oder Gebrauchsgut, wie beispielsweise Kabel werden nicht
berücksichtigt.
Neben der DSP-Platine wird noch eine externe Gleichspannungsquelle von 5...12V benötigt,
um das Board zu versorgen. Der Spannungsregler liefert dann eine Boardspannung von 3V3
an die restlichen Bauteile.
Als endgültige Programmiermethode für das E2PROM fiel die Entscheidung auf Arduino, da
diese Methode die zuverlässigste ist.
Elektor DSP-Board [ELEKTOR3]
€ 72,95
Netzteil Voltcraft universal [AMAZON1]
€ 16,99
Arduino Uno [CONRAD1]
€ 31,99
Total
€ 121,93
Tabelle 1: Materialliste Elektor DSP-Board
Zum Vergleich werden unten noch die Preise bei Analog Devices für das hauseigene
ADAU1701 Evaluation Board „EVAL-ADAU1701MINIZ“ angeführt. Diese Platine
beinhaltet auch Schaltungsteile wie ein internes Netzteil oder eine Verstärkerschaltung für die
Ausgangssignale. Zur Kommunikation mit dem PC und dem Programmieren wird das USBInterface „EVAL-ADUSB2EBZ“ verwendet.
EVAL-ADAU1701MINIZ [ADAU2]
EVAL-ADUSB2EBZ [ADAU3]
Total
$ 195,00
$ 80,00
$ 285,00
Tabelle 2: Materialliste Evaluation Board Analog Devices
Institut für Signalverarbeitung und Sprachkommunikation
13
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
3 Programmier-Software
Analog Devices bietet mehrere Produktfamilien von Audio-DSPs an: ADSP, SHARC,
SigmaDSP oder Blackfin, um nur einige davon zu nennen. Auf diese wird später noch näher
eingegangen. Jedes dieser Produkte ist für unterschiedliche Anwendungsbereiche konzipiert.
Darüber hinaus können diese Prozessoren je nach Type mit unterschiedlichen
Entwicklungsumgebungen programmiert werden. Es bedarf also einiges an Recherche, um
genaue Auskunft über die Funktionalität eines DSPs zu bekommen. In den folgenden Kapiteln
wird das Programmieren des ADAU1701 näher beleuchtet.
3.1 Programmierung mit Sigma Studio
In der Vergangenheit wurden DSPs ausschließlich
programmiert. Sigma Studio verfolgt einen ganz anderen
eine graphische Benutzeroberfläche gesteuert wird und
Blöcke ersetzt wird. Somit ermöglicht Sigma Studio das
anschaulich und schnell.
über assembler-ähnlichen Code
Ansatz, da es ausschließlich über
der Programm Code durch GUI
Implementieren von Programmen
3.1.1 Neues Projekt
Die Programmierbarkeit wird am Beispiel einer einfachen Talkthrough-Schaltung und der
nachfolgenden E2PROM-Programmierung demonstriert, damit ein ganzer Ablauf einmal
genau erläutert wird. Die simple Talkthrough-Schaltung dient zur weiteren Messung in
Kapitel 4. Umfangreichere Implementierungen folgen in Kapitel 5.
Nach dem Öffnen von Sigma Studio erstellt man ein neues Projekt über den Programmaufruf:
File > New Project
Institut für Signalverarbeitung und Sprachkommunikation
14
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Zum Einstellen der Geräte werden aus der Tree Toolbox die drei Elemente E2Prom,
ADAU1701 und USBi per Drag-and-Drop in das Hardware Configuration Fenster nach
rechts hinübergezogen und miteinander verbunden (siehe Abb.4).
Abb. 4: Definieren der Hardware-Baugruppen
Schaltet man im Hauptfenster auf die Registerkarte Schematic, lässt sich das eigentliche
Programm erstellen. Es werden nun folgende Elemente von der Tree Toolbox in das
Schematics Fenster nach rechts gezogen.
1x Input (ADAU1701 > IO > Input)
2x T Connection (Schematic Design)
4x Output (ADAU1701 > IO > Output)
Abb. 5: Talkthrough-Schaltung
Die Baugruppen werden über die Eingänge (grün) und Ausgänge (blau) der grafischen Blöcke
verbunden, wie in der obenstehenden Abbildung zu sehen ist.
Institut für Signalverarbeitung und Sprachkommunikation
15
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Kompiliert wird das Programm durch das Menü: Action > Link Compile Download oder
direkt per Druck auf F7.
Abb. 6: Kompilieren des Programms
Nach dem Kompilieren wechselt man auf die Registerkarte Hardware Configuration zurück.
Durch einen Rechtsklick auf ADAU1701 > Write Latest Compilation to E2PROM wird das
kompilierte Programm nun in das Hex-File-Format geschrieben, damit es in das E2PROM
geladen werden kann. Die Datei E2Prom.hex befindet sich nun im Projekt-Unterordner IC2.
Abb. 7: HEX-File-Konversion
Nach jeder Veränderung des Programms in Sigma Studio ist es erforderlich das Projekt zu
speichern, zu kompilieren, ins Hex-File-Format zu konvertieren und ins E2PROM zu
schreiben (siehe Kapitel 3.2).
Institut für Signalverarbeitung und Sprachkommunikation
16
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
3.1.2 Einfügen von Auxiliary Inputs
Um die Potentiometer vom Elektor-Board ins Programm einzubinden, müssen Auxiliary
Inputs in das Schematic eingefügt werden. (ADAU1701 > IO > GPIO > Input > Auxiliary
ADC Input)
Die ADCs müssen zusätzlich noch im Hardware Configuration Register (oben), IC1 –
170x/140x Register Control (unten) konfiguriert werden. (MP2, MP3, MP8, MP9)
Abb. 8: Hardware-Konfiguration der Auxiliary Inputs
Dieser Punkt wird noch genauer anhand einer bebilderten Implementierung in Kapitel 5.2
erläutert.
Institut für Signalverarbeitung und Sprachkommunikation
17
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
3.2 Programmieren des E2PROMs
Das Programm des ADAU1701 wird in ein Onboard - E2PROM gespeichert, welches mittels
verschiedener Methoden beschrieben werden kann, die in den folgenden Kaptieln 3.2.1, 3.2.2
und 3.2.3 näher erläutert werden. An dieser Stelle sei das Download-Archiv erwähnt, welches
alle zur Programmierung notwendige Software-Tools beinhaltet [ELEKTOR4].
Abb. 9: Blockschaltbild des Programmieraufbaus
3.2.1 Serielle Schnittstelle
Um eine serielle Verbindung zwischen dem DSP und einem PC herzustellen, müssen die
Leitungen DTR, RTS und GND der seriellen Schnittstelle mit den gleichnamigen Leitungen
am Stecker K12 am Elektor Board verbunden werden. Dabei kann es sich um einen native
serielle Schnittstelle oder einen USB-to-RS232 Konverter handeln.
Weiters wird das Elektor Sigma Studio Serial I²C E2PROM-Programmer Utillity
[ELEKTOR4] aus dem Download-Archiv benötigt, um das Hex-File aus Sigma Studio ins
E2PROM zu laden.
Bevor das E2PROM programmiert werden kann, benötigt das Board Versorgungsspannung
und der Jumper JP1 muss gesetzt sein. Dieser zieht das CLATCH/WP (Write Protect) auf
LOW-Pegel. Bei jeder Aktion auf dem I2C Bus, wie beispielsweise das Beschreiben des
E2PROMS, muss der Jumper gesetzt werden.
Institut für Signalverarbeitung und Sprachkommunikation
18
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Mit "Program E2PROM" wird nun der Programmiervorgang gestartet, welcher einige
Minuten in Anspruch nehmen kann. Wurde der Programmiervorgang abgeschlossen, so kann
mit "Read E2PROM" und anschließendem "Verify" der Inhalt des E2PROMs zurückgelesen
und mit dem Hex-File am Host-PC verglichen werden.
Nach erfolgreichem Programmieren ist der Jumper JP1 wieder zu entfernen, um den
ADAU1701 wieder in den Self-Boot Mode zu versetzen.
Als Schlussfazit ist anzumerken, dass beim Programmieren über eine serielle Verbindung der
Vorgang gut 10 Minuten dauert und sich sehr fehleranfällig gestaltet. Das heißt, das Board
lieferte in einigen Fällen sporadisch gar keinen Output.
3.2.2 Arduino Uno
Der Arduino Uno ist eine eigenständige Platine, auf dem sich ein Mikrocontroller und einige
digitale und analoge Ein- und Ausgäge befinden. Die Programmierung des Mikrocontrollers
erfolgt in C oder C++ und das fertige Programm wird als Sketch bezeichnet.
Zur Programmierung des E2PROMs müssen die digitalen Ausgänge des Arduino mit dem
Stecker K9 auf dem Elektor Board verbunden werden (siehe Tabelle 3 und Abb. 9)
ADAU1701_K9
Arduino
SDA
10
SCL
11
WP
12
Reset
13
GND
GND
Tabelle 3: Pinbelegung des I2C Ports
Im Download-Archiv [ELEKTOR4] befindet sich ein Arduino Sketch zum Programmieren
des E2PROM.
Arduino kommuniziert mit dem PC-Host über USB. Man öffnet die Arduino-Applikation und
ruft folgende Datei aus dem ZIP-Archiv auf:
\130232-11\Arduino\i2c_E2PROM2\i2c_E2PROM2.ino
Es müssen über den Programmaufruf Sketch > Library importieren... > Add Library... noch
die
benötigten
Bibliotheken
hinzugefügt
werden:
\130232-11\Arduino\libraries\I2C\
Institut für Signalverarbeitung und Sprachkommunikation
19
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Damit der Arduino vom PC über die richtige Schnittstelle angesprochen wird, muss diese
mittels dem Programmaufruf „Tools > Serieller Port > COM Port wählen“ zuerst definiert
werden.
Wenn der COM Port nicht bekannt ist, der von Arduino emuliert wird, muss dieser zuerst im
Gerätemanager von Windows ausfindig gemacht werden:
„Windows+ Taste R > devmgmt.msc > Anschlüsse COM & LPT“
Dann wird der Sketch auf den Arduino geladen mittels dem Pfeil-Button "Upload".
Der Jumper JP1 am DSP-Board muss gesetzt sein, damit das Write-Protect-Signal des
ADAU1701 auf Ground gezogen wird und der I2C-Port frei zur Programmierung steht.
Nun kann mit einem Terminal Emulator (z.B. TeraTerm) das E2Prom.hex File in das
E2PROM transferiert werden.
Setup > Serial Port ... > Baudrate 19.200 baud
File > Send File > E2Prom.hex
Es empfiehlt sich, die Konfiguration des TeraTerm abzuspeichern, da dieser beim Neustart
immer die zuletzt verwendete Konfiguration lädt. Nach der Übertragung muss der Jumper
JP1 wieder entfernt und der Reset-Taster betätigt werden, um den DSP wieder in den
Self-Boot Mode zu bringen.
3.2.3 E2PROM Programmierer
Es besteht auch die Möglichkeit das E2PROM mit einem Programmiergerät zu brennen,
allerdings ist diese die kostenintensivste Variante, da ein E2PROM-Programmiergerät
mehrere Hundert Euro kostet.
Das E2PROM befindet sich nicht in einem steckbaren Sockel, sondern wurde fix auf dem
Elektor Board verlötet. Das Verwenden eines E2PROM Programmers würde weitere UmbauMaßnahmen nach sich ziehen und trotzdem bei jedem erneuten Programmiervorgang das
Umstecken der Hardware bedeuten. Somit sprechen mehrere Gründe gegen einen
Programmer.
Institut für Signalverarbeitung und Sprachkommunikation
20
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
3.3 Diskussion weiterer Programmierumgebungen
Analog Devices bietet für die Programmierung derer DSPs verschiedene
Programmieroberflächen mit teilweise sehr unterschiedlichen Ansätzen der Programmierung
an. Teil der Recherche war es herauszufinden, welche Möglichkeiten der Programmierung
beim ADAU1701 zur Verfügung stehen.
Visual DSP ist die Software Umgebung, welche von Analog Devices DSP Familien, wie
Blackfin, SHARC oder TigerSHARC genutzt werden kann. Die Programme werden in einem
maschinenähnlichen Code geschrieben und von einem C/C++ Compiler herausgerechnet.
CrossCore Embedded stellt die Weiterentwicklung von VisualDSP++ dar. Das Migrieren
von altem VisualDSP++ - Code in die CrossCore Umgebung ist vom Hersteller aus möglich.
Die wohl interessanteste Alternative stellen die SHARC DSPs der Reihen ADSP-2136x,
ADSP-2146x, ADSP-2147x und ADSP-2148x dar. Sie unterstützen sowohl VisualDSP++
und CrossCore Embedded. Für ausgewählte Prozessoren der Blackfin und der SHARC-Reihe
bietet Analog Devices eine zusätzliche Erweiterung „Sigma Studio for SHARC“ an, womit
die grapische Benutzeroberfläche von Sigma Studio in die Entwicklungsumgebung von
CrossCore eingebettet wird. Genauer gesagt lassen sich also diese Produkte sowohl über
Code als auch mit graphischem Interface programmieren. In „Sigma Studio for SHARC“
stehen auch speziell für die jeweilige DSP-Architektur entwickelte Algorithmen zur
Verfügung [AD2].
Abb. 10: Programmierung von SHARC-DSPs über
„Sigma Studio for SHARC“
Dokumentation über den MATLAB Support von Sigma Studio ist leider rar gesät. Trotzdem
gibt es in der Engineer Zone von Analog Devices Informationen, wie es möglich ist,
MATLAB als Server mit Sigma Studio als Client kommunizieren zu lassen. Dazu ist
allerdings eine permanente USB-Verbindung vom Board zu Sigma Studio notwendig. Soeine
direkte Verbindung zwischen ADAU1701 und PC-Host wurde auf dem ELEKTOR Board
nicht realisiert.
Institut für Signalverarbeitung und Sprachkommunikation
21
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Es mangelt bei Analog Devices allgemein an öffentlich zugänglicher Dokumentation. Eine
transparente Übersicht (siehe Kapitel 3.3) scheint in der Dokumentation von Analog Devices
nicht auf. Auch wenn es um die Dokumentation von der Programmieroberfläche Sigma Studio
geht, wurden nur Tutorials von sehr rudimentären Implementierungen verfasst. Da Sigma
Studio aber doch teilweise sehr eigene Konventionen einführt, kann es bei aufwendigeren
Algorithmen schnell zu Verständnis-Problemen kommen, zu denen es eben keine
Hilfestellung in dokumentierter Form gibt.
Abhilfe schafft hier lediglich die sogenannte Engineer Zone von Analog Devices. Dies
entspricht dem Technischen Forum des Herstellers, in dem viele Gleichgesinnte und auch
hauseigene Ingenieure tätig sind und prompt Lösungen parat haben. Um Zugang zu erreichen
ist allerdings eine manuelle Freischaltung notwendig. Für die Bachelor-Arbeit konnten die
Anfragen aber im Namen der Forschung getätigt werden und es musste Analog Devices keine
konkrete Produktplanung vorgelegt werden, wie es sonst in der Industrie üblich wäre.
Institut für Signalverarbeitung und Sprachkommunikation
22
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
4 Vermessung der wichtigsten
Performance-Parameter
In den nachfolgenden Kapiteln soll das Verhalten des ADAU1701 durch Messungen
charakterisiert werden. Es wird dabei auch näher auf die benötigte Testumgebung und
notwendige Umbaumaßnahmen eingegangen.
4.1 Messequipment und Aufbau
Zu Beginn der Messungen, wurden diese im Regieraum RP1 des SPSC-Instituts mit Hilfe des
Audio Precision Messgerätes durchgeführt. Da das Studio nur begrenzt zur Verfügung steht
und diverse Umbauarbeiten am DSP-Board durchgeführt wurden bzw. erst bei den Messungen
klar wurde, dass diese sogar zwingend notwendig sind, erschien es sinnvoll auf eine
unabhängige Lösung umzusteigen.
Die Entscheidung fiel auf das kostenfreie Software Paket namens ARTA. Dabei handelt es
sich um eine, unter Windows lauffähige, Programmsammlung, welche ursprünglich zur
Vermessung von raumakustischen Gütekriterien entwickelt wurde. Das Programmpaket ist
grundsätzlich kostenfrei erhältlich, zum Speichern/Laden der Einstellungen und der Plots
muss allerdings eine kostenpflichtige Version erworben werden.
Die Software verwendet die, im PC eingebaute Soundkarte als Signalgenerator und prinzipiell
ist dies mit jeder ASIO-tauglichen Soundkarte realisierbar. ASIO ist ein mehrkanaliges,
latenzarmes Transferprotokoll von Audiodaten. Es empfiehlt sich jedoch eine professionelle
Soundkarte zur Vermessung von Audiogeräten zu verwenden, um die Messfehleranfälligkeit
zu senken und die Messgenauigkeit zu erhöhen.
Die Messungen wurden mit der Soundkarte E-MU PCI 1616m durchgeführt. Die für die
Tests benötigten Kabel wurden eigens gefertigt. Die ADC-Eingänge, sowie die DACAusgänge wurden in Form von Cinch-Buchsen realisiert. Folglich handelt es sich um eine
asymmetrische Übertragung. Das Blockschaltbild des Messaufbaus ist in Abb. 10 zu finden.
Institut für Signalverarbeitung und Sprachkommunikation
23
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Abb. 11: Blockschaltbild des Messaufbaus [ARTA1]
Dabei handelt es sich um die 2-Kanal-Messmethode. Die Besonderheit besteht darin, dass das
von der Soundkarte generierte Signal, einerseits das zu testende Gerät speist, andererseits
direkt wieder in die Soundkarte zurückgeführt wird. Aus den gemessenen Signalen kann
ARTA mittels einer FFT-Analyse Frequenzgänge und Impuls-Antworten berechnen.
Um eine Übersteuerung des generierten Signals und folglich eine Verfälschung des
Messergebnisses zu vermeiden, ist es sehr wichtig den ausgegebenen Pegel der Soundkarte an
das zu testende Gerät anzupassen. Darum ist vor dem Messvorgang eine Kalibrierung
notwendig. Unter der Vorkenntnis, mit welchen Spannungspegeln die Soundkarte bzw. das zu
testende Gerät arbeiten, kann der Kalibrationsvorgang mit ARTA selbst durchgeführt werden
(Setup > Calibrate Devices...). Dabei wird ein 400 Hz Sinus Ton von der Soundkarte generiert
und mithilfe eines Voltmeters am Soundkartenausgang gemessen. Mit den gemessenen
Werten können nun die Pegel der ASIO Ausgänge bzw. Soundkarten Eingänge richtig justiert
werden, sodass sich der zu verarbeitende Spannungspegel innerhalb der Spezifikationen
befindet.
Institut für Signalverarbeitung und Sprachkommunikation
24
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
4.2 Messung der Frequenzgänge
Mithilfe des Programmaufrufs 2 Channel Frequency Response des ARTA Programms, lassen
sich Frequenzgänge darstellen. Der ADAU1701 befindet sich im Talkthrough Betrieb.
Genauer gesagt, bedeutet dies, dass die beiden zur Verfügung stehenden ADC-Eingänge ohne
zusätzlich Klangbearbeitung auf die DAC-Ausgänge durchgeschalten werden. Als Messsignal
wird von ARTA ein periodisches, rosa Rauschen erzeugt.
Abb. 12: Frequenzgang im Talkthrough-Modus
Anhand der ersten Messung sind bereits einige Besonderheiten zu erkennen, die im weiteren
Verlauf näher erläutert werden. In Abbildung 12 werden nun die Frequenzgänge der beiden
ADC-Kanäle dargestellt. Am zweiten Kanal ist eine Dämpfung von 0.2 dB zu erkennen.
Weiters ist im weitgehend linearen Übertragungsbereich eine generelle Dämpfung von -8 dB
vorhanden. Zu guter Letzt sind auch noch frequenzabhängige Dämpfungen im tieffrequenten,
sowie im hochfrequenten Bereich zu erkennen.
Institut für Signalverarbeitung und Sprachkommunikation
25
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Um das Verhalten des ADAU1701 zu verifizieren, wurde ein Vergleich der ersten Messung
mit dem Datenblatt von Analog Devices durchgeführt.
Abb. 13: Auszug aus dem Datenblatt: Performance [ADAU4]
Die Frequenzgänge aus dem Datenblatt weisen nur eine geringe Welligkeit von 0.01 bis 0.02
dB über den gesamten Frequenzbereich auf.
4.2.1 Abweichung des zweiten Kanals
Die Dämpfung des zweiten ADC-Kanals ist im Datenblatt als Interchannel Gain Mismatch
mit 25 – 250 mdB gegeben [ADAU5]. Die gemessene Abweichung (Abb. 12) liegt also
innerhalb der Spezifikation. In Sigma Studio könnte die Differenz mittels Dämpfung des
ersten Kanals bzw. Verstärkung des zweiten Kanals kompensiert werden.
Institut für Signalverarbeitung und Sprachkommunikation
26
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
4.2.2 Generelle Dämpfung
Die über den gesamten Bereich auftretende Dämpfung ist auf die äußere Beschaltung des
ADAU1701 zurückzuführen. Wie in der Schaltung unten zu sehen, sind den Anschlüssen
ADC0 / ADC1 jeweils ein 18 kΩ Widerstand vorgeschalten. Laut Spezifikation [ADAU5] ist
der Innenwiderstand dieser Anschlüsse jeweils 2 kΩ und darf mit einem Strom von 100
µArms betrieben werden. Folglich lässt sich der zur Verfügung stehende Spannungsbereich
durch den Außenwiderstand R19 / R20 verändern. Der ADC-Eingang kann also mit 2 Vrms
gespeist werden. Der DAC-Ausgang stellt höchstens 0.9 Vrms zu Verfügung.
Abb. 14: Auszug des Schaltungsdesigns von Elektor [ELEKTOR1]
Die Dämpfung berechnet sich somit folgendermaßen:
20∗log (
0.9 Vrms
)=−6.93 dB
2.0 Vrms
Werden R19 und R20 jeweils durch einen 7 kΩ Widerstand ersetzt, wird der
Spannungsbereich am Eingang auf 0.9 Vrms herabgesetzt.
4.2.3 Tiefpassverhalten
Die Koppelkondensatoren C21 und C22 sollen den Chip für Gleichspannungen entkoppeln.
Dennoch verursachen genau diese Kondensatoren den -3 dB Knick bei 88 Hz. Da die
Kondensatoren im Referenzdesign von Analog Devices nicht vorgesehen sind, wurden sie für
nachfolgende Messungen überbrückt.
4.2.4 Hochpassverhalten
Die RC-Filter an den Ausgängen sorgen für die Rauschunterdrückung außerhalb des
Frequenzbandes bei 50 kHz. Die Dämpfung macht sich jedoch auch schon ab 5 kHz
bemerkbar, wie in Abbildung 12 zu sehen. Da die Ausgangsfilter im Referenzdesign von
Analog Devices enthalten sind, wurden sie für nachfolgende Messungen so belassen.
Institut für Signalverarbeitung und Sprachkommunikation
27
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
4.2.5 Messung nach Umbau
Die nachfolgende
Koppelkondensator
Frequenzcharakteristik wurde
am
Eingang
aufgenommen, nachdem der
kurzgeschlossen
wurde.
Abb. 15: Frequenzgang bei Talkthrough-Betrieb mit überbrückten Kondensatoren am Eingang
Versuchsweise wurde auch das RC-Filter am Ausgang überbrückt, für die weiteren
Messungen aber wieder in den Urzustand gebracht.
Abb. 16: Frequenzgang bei Talkthrough ohne Ein- und Ausgangsfilter
Institut für Signalverarbeitung und Sprachkommunikation
28
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
4.3 Signalrauschabstand
Mithilfe des ARTA-Programmaufrufs Spectrum Analyzer ist es möglich, ein parametrierbares
Sinus Signal an das zu testende Gerät zu schicken und das Signal am Ende der Messkette
grafisch darzustellen. Hierbei wurde in das System mit einem Sinus-Signal bei 1 kHz
angeregt. Aus den Messergebnissen lässt sich sowohl der Signalrauschabstand als auch der
Klirrfaktor bestimmen.
Abb. 17: FFT-Analyse mit einem 1 kHz Sinus als Eingangssignal
Gemessene Werte:
RMS = -29.6 dBV
THD = 0.0040%
THD + N = 0.025%
Der Wert für THD + N ist im Datenblatt mit -83 dB angegeben und lässt sich in aus den
Messungen wie folgt berechnen:
20∗log (
0.025
)=−72.04 dB
100
Somit bietet das Messergebnis mit rund 11 dB Differenz noch Verbesserungspotential.
Institut für Signalverarbeitung und Sprachkommunikation
29
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Zur Bestimmung des Signalrauschabstandes wurde auch noch das Übertragungsverhalten der
Talkthrough Schaltung gemessen, wenn kein externes Signal anliegt. Es soll also nur der reine
Rauschanteil des DSP-Boards ermittelt werden.
Abb. 18: FFT-Analyse ohne Eingangssignal
Gemessener Wert:
RMS = -101.2 dBV
Zusätzlich wurde mit dem Voltmeter am DAC Ausgang bei einem voll ausgesteuertem Sinus
bei 1 kHz gemessen: 502 mVrms.
Somit errechnet sich der Signalrauschabstand wie folgt:
101.2 dBV +20∗log(502 mVrms)=95.21 dB
Analog
Devices
gibt
im
Datenblatt
eine
SNR
von
100
dB
an.
Im nachfolgenden Kapitel wird untersucht, ob die THD+N, sowie die SNR-Werte noch
verbessert werden können. Bei näherem Betrachten von Abbildung 15 und 16 wird
ersichtlich, dass in der Messkette wohl Störspitzen verursacht werden, die unabhängig von der
Systemanregung entstehen.
Institut für Signalverarbeitung und Sprachkommunikation
30
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Als erste Fehlerurssache konnte der externe Mikrocontroller Arduino UNO identifiziert
werden. Zur einfacheren Handhabung war dieser bei den vorigen Messungen immer über die
I2C-Datenleitung an das DSP Board angeschlossen und wurde über einen USB-Port des PCs
versorgt. Bei den Messungen mit ARTA werden beide Leitungen für zukünftige Messungen
abgeklemmt.
Zusätzlich konnte der Signalrauschabstand nachweislich verbessert werden, indem der Pegel
des Signalgenerators von -9 dB FS auf 0 dB FS angehoben wurde.
Abb. 19: FFT-Analyse mit einem 1 kHz Sinus als Eingangssignal
Gemessene Werte:
RMS = -20.7 dBV
THD = 0.0031%
THD + N = 0.0088%
Der neue Wert für THD + N lässt sich wie folgt berechnen:
20∗log (
0.0088
)=−81.11 dB
100
Damit liegt der THD + N Wert schon sehr nahe an den -83 dB aus dem Datenblatt.
Institut für Signalverarbeitung und Sprachkommunikation
31
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Abb. 20: FFT-Analyse ohne Eingangssignal
Gemessener Wert:
RMS = -102.1 dBV
Zusätzlich wurde wieder mit dem Voltmeter am DAC Ausgang bei einem voll ausgesteuertem
Sinus bei 1 kHz gemessen: 704 mVrms.
Somit errechnet sich der Signalrauschabstand wie folgt:
102.1 dBV +20∗log(704 mVrms)=99.05 dB
Also hat sich auch der Signalrauschabstand knapp auf die Datenblattangabe von 100 dB
angenähert. In Abbildung 17 und 18 ist sehr gut ersichtlich, dass die Störspitzen, die durch
das Arduino Board verursacht wurden, nun verschwunden sind.
Institut für Signalverarbeitung und Sprachkommunikation
32
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
5 Implementierungen von Audioeffekten
Im diesem Kapitel soll anhand von Filtern und Effekten gezeigt werden, wie Sigma Studio
praxisnahe eingesetzt werden kann und die Ergebnisse in Form von Messungen verifiziert
werden können.
Prinzipiell ist es in Sigma Studio möglich z.B. gesamte Klangregelungen zur Ansteuerung von
Aktiv-Lautsprechern oder auch Multieffektgeräte für Instrumente zu entwerfen. Allerdings
gibt es je nach Produktausprägung des DSPs hardwareseitig gewisse Limitierungen. So
wurden beim ADAU1701 z.B. nur 4 Auxiliary ADCs integriert, die am Elektor-Board durch
Potentiometer angesteuert werden. Dadurch ist man beim Einwirken auf das intern ablaufende
Programm von außen eingeschränkt.
Eine weitere Begrenzung stellt der kleine Daten-RAM des ADAU1701 dar, der mit insgesamt
2048 Datenwörter bemessen ist. Bei einer Abtastrate von 48 kHz ermöglicht dies eine
theoretische, gesamte Delay-Dauer von nur ca. 43 ms.
Das auszuführende Programm wird in den Speicher des 256 Kilobit großen, externen
E2PROM geladen. Für die Praxis bedeutet dies, dass man beim Verwenden von Variablen,
Ein- und Ausgabebaugruppen, sowie Rechenfunktionen auch begrenzt wird. Der ADAU1701
besitzt weiters kein integriertes Speicherinterface, sodass man den DSP etwa durch
zusätzlichen externen Speicher erweitern könnte.
Als Gesamtfazit bedeutet dies, dass der ADAU1701 speziell für komplexe Programme
ungeeignet ist. Da das Programmieren in Sigma Studio allerdings sehr anschaulich ist, stellt
der ADAU1701 gerade wegen des Preisvorteils eine sehr interessante Alternative für
Evaluierungszwecke der kostenfreien Programmierumgebung Sigma Studio dar. Innerhalb der
ADAU170x DSP-Familie gibt es auch teurere Chip-Varianten, die mit mehr Eingängen,
Ausgängen und größerem Speicher ausgestattet sind.
Institut für Signalverarbeitung und Sprachkommunikation
33
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
5.1 Entwurf eines Bandpassfilters
In der Literatur werden IIR-Filter und deren Implementierungsformen inklusive deren Vorund Nachteile ausführlich diskutiert [SPT1, DAFX4]. Das Ziel des Versuches ist es, die
Grundstrukturen von IIR-Filtern (siehe Abb. 21 bis 23) mithilfe des DSP-Boards zu
implementieren und deren unterschiedlichen Merkmale in Form von Messungen zu
veranschaulichen.
Zuallererst musste also der Filterentwurf am Blatt durchgeführt werden. Dazu wurden die
Formeln von Robert Bristow-Johnson [BRISTOW1] herangezogen. Es sollte ein
Bandpassfilter dimensioniert werden mit den Parametern fc = 3000 Hz, Q = 1. Die erwähnten
Formeln für den Bandpassentwurf lauten wie folgt:
α=
sin (ω0 )
2Q
b0 =
sin (ω0 )
2
b1=0
Abb. 21: IIR-Filter: Direktform 1 [STANFORD1]
b 2=−b 0
a 0=1+α
a 1=−2 cos (ω0 )
a 2=1−α
Abb. 22: IIR-Filter: Direktform 2 [STANFORD2]
Abb. 23: IIR-Filter: Transponierte Form 1 [STANFORD3]
Institut für Signalverarbeitung und Sprachkommunikation
34
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Zu guter Letzt werden die Filterkoeffizienten noch auf a0 normiert. Die zu verwendenden
Filterkoeffizienten lauten für die gegebene Dimensionierung:
b0 = 0.167993, b1 = 0, b2 = -0.167993
a0 = 1, a1 = -1.62228, a2 = 0.75594
Die Differenzengleichungen für die drei Strukturen (Abb. 21 bis 23) lauten:
Direktform 1 (DF1):
y DF1 ( n)=b0 x (n)+b1 x( n−1)+b 2 x (n−2)−a 1 y (n−1)−a 2 x(n−2)
Direktform 2 (DF2):
v DF2 (n)=x (n)−a 1 v(n−1)−a 2 v(n−2)
y DF2 ( n)=b0 v (n)+b1 v (n−1)+b2 v ( n−2)
Transponierte Form 1 (TF1):
s2.TF1 (n)=−a 2 x(n−1)
s1.TF1 ( n)=s 2.TF1 (n−1)−a 1 x (n−1)
v TF1 (n)=s 1.TF1 (n)+ x( n)
s4.TF1 ( n)=b 2 v (n−1)
s3.TF1 ( n)=s4.TF1 (n−1)+b 1 v (n−1)
y TF1 (n)=s 3.TF1 (n)+b 0 v( n)
Die Filterkoeffizienten können nun direkt in die IIR-Filter Grundformen Direkt-Form 1,
Direkt-Form 2 und Transponierte Form übertragen werden [WIKIPEDIA1].
Damit sich die Übertragungscharakteristika rasch an den DAC-Ausgängen messen lassen
können, wurden alle drei Filtertypen in einem Programm implementiert. Das Hauptprogramm
speist das Eingangssignal an die drei Filter-Unterprogramme und verteilt das gefilterte Signal
an die jeweiligen Ausgänge.
Abb. 24: IIR-Filter Hauptprogramm
Institut für Signalverarbeitung und Sprachkommunikation
35
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Die nun folgenden Bilder zeigen die Unterprogramme, in denen die jeweiligen Filtertypen
implementiert wurden.
Abb. 25: IIR-Filter Unterprogramm Direkt Form 1
Abb. 26: IIR-Filter Unterprogramm Direkt Form 2
Institut für Signalverarbeitung und Sprachkommunikation
36
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Abb. 27: IIR-Filter Unterprogramm Transponierte Form 1
Beim Unterprogramm der Transponierten Form 1 wurde versucht das Layout des
Blockschaltbildes (Abb. 23) beizubehalten. Da die grafischen Blöcke in Sigma Studio jedoch
einen Signalfluss von links nach rechts besitzen, ist dieser in der Implementierung etwas
schwerer zu verstehen.
Die zur Implementierung benötigten grafischen Bausteine befinden sich in der Tool Treebox:
Linear Gain (ADAU1701 > Basic DSP > Adjustable Gain > Single/Multiple Controls > No
Slew > Linear Gain)
Signal Add (ADAU1701 > Basic DSP > Arithmetic Operations > Signal Add)
Delay (ADAU1701 > Basic DSP > DSP Functions > Delay > Delay)
Feedback (ADAU1701 > Basic DSP > DSP Functions > Feedback)
T Connection (Schematic Design > T Connection)
Hierarchy Board (Schematic Design > Hierarchy Board)
Hierarchy Input (Schematic Design > Hierarchy Input)
Hierarchy Output (Schematic Design > Hierarchy Output)
Institut für Signalverarbeitung und Sprachkommunikation
37
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Der Vollständigkeit halber sei an dieser Stelle auch noch die Transponierte Form 2 erwähnt.
Dieser Filtertyp führt eine Addition von mit- und rückgekoppelten Signalen durch und
verzögert diese gemeinsam. Leider ist es in Sigma Studio nicht möglich soeinen Algorithmus
zu entwickeln, da die oben genannte Rechenoperation beim Kompilieren als unzulässig
interpretiert
wird.
Abb. 28: IIR-Filter: Transponierte Form 2 [STANFORD3]
Die Übertragungsfunktionen der drei Filtertypen (DF1, DF2, TF1) wurden nach
abgeschlossener Implementierung mit dem Softwarepaket ARTA gemessen (siehe Abb. 30 bis
32). Um die Messergebnise im Anschluss zu diskutieren, wurde als Messreferenz eine
Talkthrough-Schaltung mit einem 3 kHz Sinus gespeist (siehe Abb. 29).
Abb. 29: FFT-Analyse einer Talkthrough-Schaltung
Institut für Signalverarbeitung und Sprachkommunikation
38
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Abb. 30: FFT-Analyse der DF1
Abb. 31: FFT-Analyse der DF2
Institut für Signalverarbeitung und Sprachkommunikation
39
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Abb. 32: FFT-Analyse der TF1
Im direkten Vergleich zur Talkthrough-Messung (Abb. 29) ist bei den drei IIR-Filtern (Abb.
30 bis 32) die Übertragungscharakteristik des Bandpasses an dessen Mittenfrequenz bei 3 kHz
sehr gut sichtbar. Da beim Messvorgang eine zeitliche Mittelung stattfindet, ist nicht jede
Messung exakt gleich. Der Rauschteppich entsteht zufällig und daher variiert dieser bei jedem
Messdurchlauf. Dies hat auch zur Folge, dass die THD+N-Werte zumindest an der vierten
Nachkommastelle um ±0.0002% schwanken. Es ist aber trotz dieser Messunsicherheit
erkennbar, dass die DF1 tendenziell höhere THD und THD+N-Werte als DF2 und TF1
anzeigt. Dies ist auch in den Harmonischen des 3 kHz zu sehen.
Eigentlich wurde erwartet, dass DF1 in Bezug auf die SNR-Werte besser abschneidet. Es ist
anzunehmen, dass das Grundrauschen der verwendeten Komponenten das Gesamtrauschen
deutlich beeinflusst.
Institut für Signalverarbeitung und Sprachkommunikation
40
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
5.2 Implementierung eines Phaser-Effekts
Phaser sind in der Musik ein übliches Stilmittel zur Klanggestaltung von elektronischen
Tasteninstrumenten und Gitarren. Durch einen sich zeitlichen ändernden Filter-Effekt erhält
das veränderte Signal einen rythmischen Klangfärbung.
Ziel der Implementierung soll es sein, ein eingespeistes Stereo-Signal durch Filtergruppen mit
einem Phasereffekt auszugeben, wie er in klassischen Phaser-Geräten zum Einsatz kommt.
Üblicherweise wird dies durch eine Kaskadierung von Allpass-Filtern realisiert. Durch die
Dimensionierung der Allpass-Filter werden die Frequenzen bestimmt, an denen das
Summensignal dämpft bzw. verstärkt wird. Damit der Effekt nicht statisch bleibt, sondern
sich über die Zeit verändert, werden die Filterkoeffizienten über einen spannungsgesteuerten
Oszillator moduliert. Ein typisches Blockschaltbild [DAFX1] sieht wie folgt aus.
Illustration 1: Phaser mit dynamischen Allpass-Filtern [DAFX1]
Der Signalfluss des Blockschaltbilds wird im Hauptprogramm aufgebaut, der Allpass und die
Frequenzmodulation in Unterprogrammen. Unterprogramme lassen sich durch sogenannte
Hierarchy Boards in der Tool Treebox von Sigma Studio in das Hauptprogramm einfügen.
Innerhalb der Hierarchy Boards werden die Ein- und Ausgänge durch Hierarchy Inputs bzw.
Hierarchy Outputs definiert.
Ein Screenshot des Hauptprogramms befindet sich auf der nächsten Seite in und wird auf der
Folgeseite genau besprochen. An der unteren Kante der Screenshots ist an den Registerkarten
ersichtlich in welchem Teil des Programms gerade gearbeitet wird.
Institut für Signalverarbeitung und Sprachkommunikation
41
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Abb. 33: Hauptprogramm des Stereo-Phasers
Institut für Signalverarbeitung und Sprachkommunikation
42
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Über einen Multiplexer kann das Eingangssignal des Programms ausgewählt werden. Zur
Verfügung stehen die ADC-Eingänge 0 und 1, sowie ein intern generiertes weißes Rauschen.
Damit der Phaser in Stereo arbeitet, gleicht der obige dem unteren Signalzweig. Die durch die
AUX ADCs veränderbaren Parameter beeinflussen beide Zweige in gleichem Maße.
Die Werte für die jeweiligen Eingangsverstärkungen für den Original-Signalpfad bzw. den
veränderten Signalpfad wurden durch Experimentieren für passend befunden. Durch
AUX_ADC_0 wird das Ausmaß der Rückkopplung gesteuert. AUX_ADC_1 verändert den
Pegel des verzögerten Signals, das zum Originalsignal hinzuaddiert wird.
Die Unterprogramme werden im Signalflussgraph durch weiße Kästchen dargestellt. Beim
Erstellen des Programmes hat sich herausgestellt, dass der Phasing Effekt am besten hörbar
wird, wenn 5 Allpass-Filter hintereinander kaskadiert werden. Die Koeffizienten für die
Allpass-Filter werden durch das Unterprogramm „Mod“ an jedes der Allpass-Filter
ausgegeben.
Der konkrete Aufbau eines statischen Allpass-Filters wird wie in Abb. 30 realisiert.
Abb. 34: Blockschaltbild eines Allpass-Filters
Die Übertragungsfunktion eines Allpass-Filters erster Ordnung ist gegeben durch:
H (z )=
b0+b1 z −1
1+a1 z −1
Die Koeffizienten des Allpass-Filters werden wie folgt berechnet:
a 1=e
(
2Π f 0
)
Fs
, b0 =−a 1 , b1=1
Über f0 lässt sich die frequenzabhängige Phasenverzögerung einstellen. Fs bezeichnet die
Abtastrate. Um die Phasenverzögerung nun mittels eines Sinus-Signals zu modulieren, muss
zuerst der relevante Frequenzbereich ermittelt werden. Als untere Frequenzgrenze wurden fU
= 100 Hz und als obere Frequenzgrenze f O = 9000 Hz festgelegt. Die Abtastrate beträgt 48
kHz. Nun werden die variablen Funktionswerte für a1 mit der obigen Formel berechnet,
zwischen denen das Sinus-Signal hin- und hermoduliert.
a1U = 0.98, a1O = 0.3
Institut für Signalverarbeitung und Sprachkommunikation
43
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Um die Frequenz des Sinus-Signals einstellbar zu machen, muss eine VCO-Instanz im Sigma
Studio Programm implementiert werden. Dieser VCO-Block nimmt einen dezimalen
Zahlenwert von 0.0 bis 1.0 auf, um eine Sinusschwingung mit einer Frequenz von 0 bis F s/2
auszugeben. Möchte man diese Sinusschwingung nun variabel gestalten, so muss der VCO
über einen AUX ADC Input angesteuert werden. Die integrierten AUX ADCs liefern eine
Spannung von 0 bis 3.0 VDC und geben innerhalb dieses Spannungsbereichs einen
Dezimalwert von 0.0 bis 1.0 in Sigma Studio aus. Der ADAU1701 verarbeitet sowohl AudioDaten als auch Programm-Daten im sogenannten Binärformat „5.23“. Somit muss der
gelieferte Datenwert vom AUX ADC nicht ins Integer-Zahlenformat konvertiert werden, wie
es oft bei anderen DSPs üblich ist. Der vom AUX ADC eingelesene Zahlenwert muss also mit
der gewünschten, maximalen Sinus-Frequenz multipliziert und durch die halbe Abtastrate
geteilt
werden,
damit
der
VCO
die
gewünschte
Schwingung
ausgibt.
Möchte man mit dem VCO eine Sinus-Schwingung von 10 Hz ausgeben. Damit ergibt dies
einen Zahlenwert von 10/24000 = 0.000416.
Abb. 35: Unterprogramm zur Frequenzmodulation
Mittels AUX_ADC_2 wird also die ausgegebene Frequenz des VCOs von 0 bis 10 Hz
eingestellt. AUX_ADC_3 verändert die Amplitude des Sinus-Signals und somit die Intensität
des Effektes.
Institut für Signalverarbeitung und Sprachkommunikation
44
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Das Blockschaltbild aus Abb. 32 wurde nun im Unterprogramm „AllPassFilter“ realisiert.
Abb. 36: Unterprogramm eines Allpass-Filters
Auch hier wurde festgestellt, dass der Phasing Effekt am besten zur Geltung kommt, wenn das
Signal anstatt von 1 Samples um 2 Samples verzögert wird.
Im Hauptprogramm können die Unterprogramme kopiert werden und werden durch einen
Unterstrich und eine Nummerierung gekennzeichnet. Die Unterprogramme werden also als
eigenständige Instanzen eingeführt. Diese Unterprogramme unterscheiden sich also deutlich
vom klassischen Programmieren, bei dem zum Sparen des Speichers immer nur ein
Unterprogramm aufgerufen werden soll.
Institut für Signalverarbeitung und Sprachkommunikation
45
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Beim Einspeisen von Audiomaterial in das fertige Programm wurde festgestellt, dass der
Pegel des Summensignals rein subjektiv enorm ansteigt, wenn die Verstärkung des AllpassKaskadenzweigs erhöht wird. Um der Ursache auf den Grund zu gehen, wurde der PhaserEffekt mit dem Softwarepaket ARTA durchgemessen. In einer ersten Messung wurde das
Summensignal bei voll ausgesteuerter Allpasskaskaden-Verstärkung in Form eines
Amplitudenganges dargestellt.
Abb. 37: Amplitudengang der Phaser-Schaltung
Institut für Signalverarbeitung und Sprachkommunikation
46
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Um das Verhalten jeder einzelnen Allpass-Stufe zu untersuchen, wurde ein eigenes Programm
erstellt, um den Ausgang jedes Allpass-Filters abzugreifen und als Amplitudengang
darzustellen. Die Kurven aller Allpässe wurden nun in einem Diagramm überlagert.
Abb. 38: Übertragungsfunktionen der einzelnen Allpass-Stufen
Aus dem Messergebnis lässt sich ablesen, dass durch die Allpass-Kaskadierung ein sehr
ausgeprägter Höcker zwischen 1000 Hz und 15000 Hz zustandekommt. Jedes Allpass-Filter
addiert bei 5000 Hz 4 bis 5 dB hinzu.
Durch das Summieren des Signals aus der Allpass-Kaskade mit dem Original-Signal entsteht
die Übertragungscharakteristik aus Abbildung 37. Es bestätigte sich also der Eindruck, dass
der Pegel des Summensignals durch das Hinzuaddieren des Allpass-gefilterten Signals zu den
hohen Frequenzen hin sehr stark ansteigt.
Institut für Signalverarbeitung und Sprachkommunikation
47
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
5.3 Implementierung eines Tongenerators
Um aus einer Sinus-Schwingung Rechteck-, Dreieck- sowie Sägezahn-Schwingungen zu
berechnen, können Fourierreihen verwendet werden. Um die Funktionsweise dieser zu
veranschaulichen und in weiterer Folge hörbar zu machen, sollte ein Tongenerator entworfen
werden. Die mathematischen Formeln, die der Berechnung zugrunde liegen, lauten wie folgt:
Dreieckfunktion
3
sin ((2k−1)ω t)
8h
f (t)=
(−1)(k−1)
∑
Π ² k=1
(2k−1)²
Rechteckfunktion
3
sin((2k−1)ω t)
4h
f (t)= Π ∑ (
)
2k−1
k=1
Sägezahnfunktion
3
f (t)=
sin (k ω t)
−2h
(−1)(k −1)
∑
Π k=1
k
Die Variable h ist Platzhalter für die gewünschte Amplitude und wurde der Einfachheit halber
eins gesetzt. Da Sigma Studio nicht im Stande ist Reihen zu berechnen, müssen die einzelnen
Glieder separat berechnet werden. Zur Berechnung der Funktionsterme sind weiters nur
einfache mathematische Operatoren notwendig. Die Sinus-Schwingung wird mithilfe von
VCOs realisiert.
Da der Speicherbedarf mit der Ordnung der Reihen zunimmt, stellte sich am Ende des
Programmierens heraus, dass die Ordnungszahl auf 3 begrenzt werden muss, damit das
Programm in den Speicher des E2PROMs hineinpasst. Es mussten auch teilweise die
mathematischen Operatoren weggelassen, am Papier berechnet und als fixe Konstanten in das
Programm eingebaut werden. Darum wirkt der Signalfluss im Programm teilweise etwas
abstrakt.
Die Funktionen zur Berechnung der Fourierreihen-Signale werden als Unterprogramme
ausgeführt. AUX_ADC_0 steuert die Frequenz des VCO-generierten Sinus-Signals von 0 bis
1000 Hz. Mittels AUX_ADC_1, AUX_ADC_2 und AUX_ADC_3 wird der Pegel gesteuert, mit
dem der jeweilige Signalpfad zum Sinus-Signal hinzuaddiert wird.
Aufgrund der Bildgröße befinden sich die Screenshots des Hauptprogramms, sowie der drei
Unterprogramme im Anhang auf den Seiten 57 bis 60.
Institut für Signalverarbeitung und Sprachkommunikation
48
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
5.4 Implementierung eines Delay-Effekts
Wie der Name schon sagt, verursachen Delay-Effekte eine zeitliche Verzögerung des
Eingangssignals. Werden verzögerte Signale zum Originalsignal hinzugefügt, treten
Dämpfungen sowie Verstärkungen in gewissen Frequenzbereichen des Summensignals auf.
Der hier besprochenen Implementierung liegt ein Algorithmus zugrunde, der von Jon Dattoro
[DAFX2] entwickelt wurde. Das Herzstück des Blockschaltbildes stellt ein
Verzögerungsglied dar, dessen Verzögerungswert einen maßgeblichen Einfluss auf das
ausgegebene Signal hat.
Abb. 39: Variable Delay-Line
Die einzelnen Signalpfade lassen sich durch veränderbare Parameter variieren. Der
Multiplikator Blend (BL) gibt Auskunft über den Anteil des hinzuaddierten Originalsignals,
Feed Forward (FF) steuert den Anteil des verzögerten Signals. Rückgekoppelt wird das
verzögerte Signal über den Multiplikator Feedback (FB). In der obrigen Schaltung wird ein
Fractional Delay verwendet, welches es ermöglicht das Signal um Bruchteile eines Samples
zu verzögern. Der Einfachheit halber, wurde in der Implementierung darauf verzichtet und nur
eine Verzögerung von ganzzahligen Samples verwendet. Beim Entwurf des obigen Modells
wurde von Dattoro eine Tabelle entwickelt, in der Richtwerte für die gegebenen Parameter
angeführt
sind.
Abb. 40: Typische Richtwerte für den Delay-Effekt
Institut für Signalverarbeitung und Sprachkommunikation
49
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Die Schaltung wurde so realisiert, dass ein stufenloses Verändern zwischen einem Vibratound einem Flanger-Effekt möglich ist. Wie auch beim Implementieren des Stereo-Phasers in
Kapitel 5.3, wird zur Steuerung des Verzögerungsgliedes ein über AUX ADC variabler VCO
verwendet. Falls ein Chorus- bzw. Doubling-Effekt gewünscht wäre, müsste die Verzögerung
mittels einem tiefpassgefilterten, weißen Rauschen gesteuert werden.
Abb. 41: Realisierung des Delay-Effekts
Institut für Signalverarbeitung und Sprachkommunikation
50
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
5.5 Implementierung eines State-Var-Filters
Bei State-Var Filtern handelt es sich um mehrfach rückgekoppelte Filter, die alle 3
Übertragungsfunktionen liefern: Hochpass, Bandpass und Tiefpass. Die Signale werden an
den jeweiligen Klemmenpunkten in den Signalpfaden abgegriffen. Die gemeinsamen,
einstellbaren Parameter sind die Knickfrequenz fc sowie die Filtergüte Qc.
Die hier besprochene Implementierung liegt dem Filterentwurf von Hal Chamberlin zugrunde
[MAFM1].
Abb. 42: Digitales State-Var-Filter
F C =2 sin (π
fC
1
) , QC =
fS
Q
Der Funktionswert für FC muss für die Implementierung als Variable berechnet werden. Als
Wert für fC wurde 10 kHz gewählt. Da FC über ein AUX ADC Potentiometer angesteuert wird,
ergibt sich somit ein maximaler Wert von 0.0228. Damit lässt sich die variable Knickfrequenz
des State-Var Filters von 0 bis 1 kHz variieren. Die Filtergüte Q ist das Dämpfungsmaß für
die Bandbreite an der Knickfrequenz. Gerade im Audio-Bereich ist ein einstelliger Zahlenwert
für den Q-Faktor üblich. Gewählt wurde ein Wert von 3 und ergibt somit 1/3 für QC.
Die Abbildung der State-Var-Filter Implementierung befindet sich auf der nächsten Seite.
Über einen Multiplexer wählt man das Eingangssignal aus einem Mono-Signal oder einem
intern generierten, weißen Rauschen. Die 3 Filtertypen können an den Ausgängen DAC0,
DAC1 und DAC2 abgehört werden.
Institut für Signalverarbeitung und Sprachkommunikation
51
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Abb. 43: Realisierung des State-Var-Filters
Institut für Signalverarbeitung und Sprachkommunikation
52
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
6 Literaturverzeichnis
[AD1] DSP Übersicht: http://www.analog.com/en/products/processors-dsp.html
Letzter Zugriff 17.01.2015
Direktlinks zu den Produktfamilien:
ADSP-21xx: http://www.analog.com/en/products/processors-dsp/adsp-21xx-processors.html
Blackfin: http://www.analog.com/en/products/processors-dsp/blackfin.html
SHARC: http://www.analog.com/en/products/processors-dsp/sharc.html
TigerSHARC: http://www.analog.com/en/products/processors-dsp/tigersharc-processors.html
SigmaDSP: http://www.analog.com/en/products/processors-dsp/sigmadsp-audioprocessors.html
Letzter Zugriff: 02.02.2016
[AD2] Sigma Studio for SHARC Produktübersicht: http://www.analog.com/en/designcenter/processors-and-dsp/evaluation-and-development-software/sh_sigst_00.html#dsprelatedsoftware
Letzter Zugriff: 02.02.2016
[ADAU1] Datasheet, Seite 5: http://www.analog.com/media/en/technicaldocumentation/data-sheets/ADAU1701.pdf
Letzter Zugriff. 01.10.2015
[ADAU2] http://www.analog.com/en/design-center/evaluation-hardware-andsoftware/evaluation-boards-kits/EVAL-ADAU1701.html#eb-buy
Letzter Zugriff: 01.10.2015
[ADAU3] http://www.analog.com/en/design-center/evaluation-hardware-andsoftware/evaluation-boards-kits/eval-adusb2ebz.html#eb-buy
Letzter Zugriff: 01.10.2015
[ADAU4] Datasheet, Seite 15: http://www.analog.com/media/en/technicaldocumentation/data-sheets/ADAU1701.pdf
Letzter Zugriff. 01.10.2015
[ADAU4] Datasheet, Seite 6: http://www.analog.com/media/en/technicaldocumentation/data-sheets/ADAU1701.pdf
Letzter Zugriff. 01.10.2015
Institut für Signalverarbeitung und Sprachkommunikation
53
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
[ELEKTOR1] ELEKTOR Jänner/Februar 2014: „Universelles Audio-DSP-Board“
Elektor-Verlag GmbH, Aachen, 2014
[ELEKTOR2] ELEKTOR Jänner/Februar 2014: Seite 13
[ELEKTOR3] http://www.elektor.de/adau1701-universal-audio-dsp-board-130232-71
Letzter Zugriff: 01.10.2015
[ELEKTOR4] Elektor File-Archiv zugehörig zu [ELEKTOR1] http://www.elektormagazine.com/index.php?
eID=tx_nawsecuredl&u=0&g=0&t=1422102021&hash=66d26795a1bbb169c33ef4812f8a63f
3fae5e6f1&file=fileadmin/user_upload/2014/dolo/130232-11.zip
Letzter Zugriff: 01.10.2015
[AMAZON1] http://www.amazon.de/ANSMANN-5111253-StromversorgungElektrokleinger%C3%A4te-einsetzbar/dp/B002TQ2204/ref=sr_1_1?s=cede&ie=UTF8&qid=1443977034&sr=1-1&keywords=ANSMANN+5111253
Letzter Zugriff: 01.10.2015
[CONRAD1] https://www.conrad.at/de/arduino-uno-platine-65139-191789.html
Letzter Zugriff. 01.10.2015
[ARTA1] http://www.artalabs.hr/download/ARTA-user-manual.pdf
Seite 8, Abbildung 1.4
Letzter Zugriff: 03.10.2015
[BRISTOW1] BRISTOW-JOHNSON Robert: „Audio EQ Cookbook“
http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt
Letzter Zugriff: 01.10.2015
[STANFORD1] Julius O. Smith: „Introduction to Digital Filters with Audio Application“
Online-Paper, Direktform 1: https://ccrma.stanford.edu/~jos/fp/Direct_Form_I.html
Letzter Zugriff: 02.02.2016
[STANFORD2] Julius O. Smith: „Introduction to Digital Filters with Audio Application“
Online-Paper, Direktform 2: https://ccrma.stanford.edu/~jos/fp/Direct_Form_II.html
Letzter Zugriff: 02.02.2016
[STANFORD3] Julius O. Smith: „Introduction to Digital Filters with Audio Application“
Online-Paper, Transponierte Form 1:
https://ccrma.stanford.edu/~jos/fp/Transposed_Direct_Forms.html
Letzter Zugriff: 02.02.2016
[WIKIPEDIA1] Wikipedia.org: „Digital biquad filter“
http://en.wikipedia.org/wiki/Digital_biquad_filter
Letzter Zugriff: 01.10.2015
[DAFX1] ZÖLZER Udo: „DAFX : Digital Audio Effects 2nd Edition“, Seite 68/69
[DAFX2] ZÖLZER Udo: „DAFX : Digital Audio Effects 2nd Edition“, Seite 77/78
Institut für Signalverarbeitung und Sprachkommunikation
54
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
[DAFX3] ZÖLZER Udo: „DAFX : Digital Audio Effects 2nd Edition“, Seite 50/51
[DAFX4] ZÖLZER Udo: „DAFX : Digital Audio Effects 2nd Edition“, Kapitel 2: Filters and
Delays
[SPT1] MAGNES, Werner, Dipl.-Ing Dr. techn.: Signalprozessortechnik
Vorlesungsunterlagen Seite 32 bis 39
[MAFM] CHAMBERLIN Hal: „Musical Applications for Microprocessors“, ab Seite 489/490
Institut für Signalverarbeitung und Sprachkommunikation
55
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
7 Abbkürzungsverzeichnis
DSP
ADC
DAC
GPIO
E2PROM
I²C
SPI
USB
ASIO
D.U.T.
AUX
IIR
DF1
DF2
TF1
SNR
AP
VCO
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
Digital Signal Processor
Analog-Digital-Converter
Digital-Analog-Converter
General Purpose Input / Output
Electrically erasable programmable Read-Only-Memory
Inter integrated circuit
Serial Peripheral Interface
Universal Serial Bus
Audio Stream Input / Output
Device under test
Auxiliary
Infinite Impulse Response
Direktform 1
Direktform 2
Transponierte Form 1
Signal-to-Noise Ratio
Allpass
Voltage controlled oscillator
Institut für Signalverarbeitung und Sprachkommunikation
56
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
8 Anhang
Institut für Signalverarbeitung und Sprachkommunikation
57
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Abb. 44: Hauptprogramm des Tongenerators
Institut für Signalverarbeitung und Sprachkommunikation
58
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Abb. 45: Unterprogramm zur Dreiecksberechnung
Institut für Signalverarbeitung und Sprachkommunikation
59
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Abb. 46: Unterprogramm zur Rechtecksberechnung
Institut für Signalverarbeitung und Sprachkommunikation
60
Bachelorarbeit
Evaluierung einer Sigma-DSP Testplatine
Abb. 47: Unterprogramm zur Sägezahnberechnung
Institut für Signalverarbeitung und Sprachkommunikation
61