Signalprozessoren
Signalprozessoren Sind spezielle Rechner, die Analogsignale digital verarbeiten können (Digital-Signal-Processing) DSP). Darunter versteht man die
Eingabe von analogen Signalen in einem Digitalrechner,
Verarbeitung der Signale im Rechenwerk
Ausgabe des modifizierten Analogsignals
Prinzipieller Aufbau: 1. Folie
Analoges Eingangssignal wird periodisch abgetastet.
Jeder Abtastwert à AD à binären Zahlenwert umgewandelt à zum Rechenwerk
à modifiziertes Signal à DA à am Ausgang abnehmen
Signale müssen in Echtzeit bearbeitet werden.
à zeitgleiche Eingabe, Verarbeitung und Ausgabe von Signalen.
Möglichkeiten: Modulation, Mischung, Filterung, Impulsformung, Sprachanalyse usw.
à Programmgesteuert in einem Computer durchführbar
Vorteile: Verstärkung, Bandbreite, Flankensteilheit u. andere Signalparameter per Programm einstellbar.
Echtzeitbedingung mit üblichen µPà nur niederfrequente Signaleà Spezielle µP angepasst an die Forderungen der digitalen Signalaufbereitung
Vorraussetzung für Programmierung: Kenntnis der theoretischen Grundlagen für die zeitdiskrete Bearbeitung analoger Signale, die fundierte mathematische Kenntnisse erfordert.
à Daher nur Grundlagen u. Prinzipien besprochen
Grundlagen der digitalen Signalverarbeitung
Aufbereitung des Signals:
Analoge Signale à Computerbearbeitungà zuvor in digitale Signale umwandeln.
In Echtzeitàz.
B. Spracherkennung, digitale Filter à mit konstantem Intervall abtastenà
Theorem von SHANNON: Abtastfrequenz min. doppelt so
groß wie maximal zu erfassende Signalfrequenz.
Analoge Abtastwert (Sample) à AD à Digitalwert (Dualzahl). Periodische Folge von umgewandelten Abtastwerten (binäre Zahlenfolge) nennt man PCM.
PAM (Puls-Amplitudenmod.
) entsteht beim Abtastenà Multiplikation zweier Signale.
Frequenzspektrum der PAM enthält Signalfrequenzen sowie Frequenzen, die aus Summen- und Differenzbildung mit der Abtastfrequenz gebildet werden.
Enthält die abgetastete Signalschwingung Frequenzen die höher sind als halbe
fT à Frequenzen die im ursprünglichem Signal nicht vorhanden waren.
à Fehlanalyse
z.B. fT = 10kHz fS = 7kHz à PCM-Signal fT - fS =3kHz.
à Aliasing à Frequ. Fallen in genutztes Frequenzband, verursachen starke nichtlineare Verzerrungen.
Vermeidung: vor Abtastschaltung steilflankiges TP-Filter (Antialiasing Filter)
Weitere Qualitätsbeeinflussung durch: Breite des Abtastimpulses, Frequenzkonstanz des Abtastsignals, Auflösung des AD-Wandlers.
Breite des Abtastimpulses beeinflusst die bei der Aufbereitung verfügbare obere Grenzfrequenz.. Änderungen der Signalamplitude können nicht mehr erfasst werden.
Bein AD-Wandlung entsteht in der letzten Stelle Unsicherheit von ½ Bit. Verursacht im Ausgang ein Quantisierungsrauschen.
Verarbeitung des Signals:
Messwerte werden im einem vorgegebenen Zeitraster eingelesen. Weitere Bearbeitung des Wertes muss in der Zwischenzeit erfolgen. à Echtzeit
FIR-Filter (Finite Impulse Response) Audiobereich (20Hz – 20kHz)à Abtastrate 44kHz
Zw. 2 Werten 22µs.
Filter n-ter Ordnung: während dieser Zeit zwei Tabellenà * die n letzten Abtastwerte
* n Filterkoeffizienten
miteinander multiplizieren und die n Produkte addiert werden.
Ältester Wert mit neuem Wert überschrieben
Gesamtergebnis normiert und ausgegeben
Mit 16-Bit Operanden, sonst Rundungsfehler zu Verzerrungen oder sogar Instabilität
z.B. steilflankiges Filter, Ordnung 100 à 22µs à 100 Multiplikationen, 100 Additionen
Stereo à das Doppelte
Allgemeine Formel:
y(n) Ausgangswert zum Zeitpunkt tn
x(n) Einganswert zum Zeitpunkt tn
hK Filterkoeffizient
N Ordnung des Filters (Anzahl der Filterkoeffizienten)
Signalprozessor ADSP 2181 von Analog Devices
Beinhaltet:
interne Programmspeicher (16K x 24 Bit) und Datenspeicher (16K x 16 Bit)
Harvard Architektur, zwei getrennte Busse für Programm Memory (PMD/PMA) und Data Memory (DMD/DMA)
Effektive Adressierung von Tabellen mit 8Zeigern (DAG1 und DAG2)
Zusätzlich zur ALU (Arithmetic Logic Unit) noch spezielle Rechenwerke zum Multiplizieren mit anschließender Summenbildung (MAC) und zum Schieben (Shifter)
Schnelle serielle Ports zur schnellen Übertragung von Abtastwerten und Ergebnissen (SPORT0 und SPORT1)
Besitzt schon einige Eigenschaften von RISC Architekturà Hammerl
PMA: Program Memory Adrdess Bus
PMD: Program Memory Data Bus
DMA: Data Memory Address Bus
DMD: Data Memory Data Bus
Befehlsstruktur
Benötigt Quarz 16,67 MHzà durch interne Phase-locked-loop-Schaltung verdoppelt;
Interne Taktperiode ist 30ns lang, in 4 Phasen unterteiltà TAFELBILD
Alle Befehle gleich lang (24 Bit)
Jeder Befehl wird in einem Zyklus durchgeführt (30ns)
z.B. fS = 44kHz à 22,7µs.
à 1 Befehl 30ns à ca. 757 Befehle in 22,7µs
zum Vergleich: FIR-Filterà n=100 Koeff.à Berechnung eines Ausgangswertes ca. 106 Befehle bzw. 212 bei Stereo.
Interner Programm- und Datenspeicher
Interner Zugriff wesentlich schneller als externe Speicher über Systembus.
Anwenderprogramm à EPROM mit 8 Bit Datenbreite à autom. Nach jedem Reset in den internen Programmspeicher geladen
Harvard-Architektur
Alle Rechenwerke durch zwei unabhängige Bussysteme mit internen Programm- und Datenspeicher verbunden.
Im Programmspeicher auch z.B. Filterkoeffizienten abgelegt werden könnenà
In einem Maschinenzyklus einen Operanden über DMD und einen anderen über PMD in Multipliziereinheit.
DAG (Data Address Generator)
Zwei Sätze mit 8 Zeigern à DAG1 und DAG2 à schnelle Bearbeitung von Tabellen
Jeder der 8 Zeiger besteht aus drei Teilen à (TAFELBILD)
I0.
..I7 Index- oder Zeigerregister enthält aktuelle Adresse eines Tabellenplatzes
L0..L7 Längenregister enthält die Lage der Tabelle
M0..
M7 Moduloregister gibt an, um wie viel die Tabellenadresse nach Zugriff erhöht/erniedrigt wird
Die Multipliziereinheit (MAC Multiplier-Accumulator)
Parallel zur ALU auch MAC
16-Bit-Operatoren und 40 Bit langes Ergebnisregister MR. à(FOLIE MAC)
Da MR auf Addiereinheit zurückgeführt ist, können Befehle, wie sie zur Berechnung von Integralen benötigt werden, in einem Maschinenzyklus (30ns) ausgeführt werden.
MR = MR + MX0*MY0 (SS); neuer Wert von MR ergibt sich aus altem Wert von MR plus Produkt der Werte in Registern MX0 und MY0 (SS: signed-signed; Zahlenformat)
ALU, MAC und Shifter à zusätzlicher Datenbus (R-Bus, Result-Bus) à Ergebnisse ohne zusätzliche Ladeoperation stehen in anderen Einheiten zur Verfügung
MR = AR*MY0; ARà Ergebnisregister der ALU
AR = MR1 + AY1; MR0à Ergebnisregister der MAC
Multifunktionsanweisungen
Durchgeführt in einem Maschinenzyklus (30ns). Auch 24 Bit lang!!
Zwei Befehle in verschiedene Einheiten der CPU!!!
Beispiele:
AR = AX0 + AY0, AX0 = MR1
Zuerst Summe berechnen, anschließend AX0 mit Ergebnis aus MR1 geladen.
AR = AX0 + AY0, AX0 = DM (I0,M0);
Zuerst Summe, danach AX0 aus Data Memory laden, I0 um den Wert von M0 erhöhen
Signalprozessor TMS 32010 von Texas Instruments
Ebenfalls Harvard-Struktur
Anmerkungen: |
| impressum | datenschutz
© Copyright Artikelpedia.com