Signalprozessoren
Sind spezielle Rechner, die Analogsignale digital verarbeiten können (Digital-Signal-Processing) DSP). Darunter versteht man die
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
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.. Anderungen 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.
Altester 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)
Beinhaltet:
PMA: Program Memory Adrdess Bus
PMD: Program Memory Data Bus
DMA: Data Memory Address Bus
DMD: Data Memory Data Bus
Benötigt Quarz 16,67 MHz durch interne Phase-locked-loop-Schaltung verdoppelt;
Interne Taktperiode ist 30ns lang, in 4 Phasen unterteilt TAFELBILD
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 Zugriff wesentlich schneller als externe Speicher über Systembus.
Anwenderprogramm EPROM mit 8 Bit Datenbreite autom. Nach jedem Reset in den internen Programmspeicher geladen
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)
I0I7 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
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
Haupt | Fügen Sie Referat | Kontakt | Impressum | Nutzungsbedingungen