Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U....
-
Upload
lies-schnetzler -
Category
Documents
-
view
104 -
download
0
Transcript of Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U....
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte1
2.7 Signalprozessoren
Spezielle Mikrorechner-Architekturen für die Verarbeitung analoger Signale in eingebetteten Systemen, z.B. im Audio- oder Video-Bereich
Anwendungsbereiche:•digitale FilterSpektralanalysenSpracherkennungSprach- und BildkompressionSignalaufbereitung (Verbesserung von
Audio- und Videosignalen, Rauschunterdrückung, Nachbildung von Raumakustiken, ...)
Verschlüsselung analoger Signale
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte2
2.7 Signalprozessoren
Die digitale Verarbeitung analoger Signale heißt, Rechenverfahren auf die Signale anzuwenden. Hierbei ist es unerheblich, um welche Signale (Audio, Video, ...) es sich handelt.
Beispiel: digitaler Hall
=> Der Hall-Vorgang muß mit Hilfe der Systemtheorie mathematisch beschrieben werden, ein Signalprozessor kann die so ermittelten
Gleichungen dann berechnen
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte3
2.7 Signalprozessoren
2.7.1 Einiges zur Theorie der digitalen Signalverarbeitung
Systemtheorie: erlaubt eine allgemeingültige Beschreibung von Manipulationen an Signalen
System:
Erzeugt aus Eingangsgrößen Ausgangsgrößen
x(t) y(t)System
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte4
2.7 Signalprozessoren
Beschränkung auf lineare, zeitinvariante Systeme
Zeitinvarianz: das System verändert sein Verhalten über die
Zeit nicht, d.h wenn: x1(t) y1(t) folgt: x1(t-) y1(t-)
Linearität: es gilt das Überlagerungsprinzip (Superpositionsprinzip) wenn: x1(t) y1(t) und: x2(t) y2(t) folgt: ax1(t) + bx2(t) ay1(t) +
by2(t)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte5
2.7 Signalprozessoren
Kassifizierung der möglichen Signale x(t) und y(t):
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte6
2.7 Signalprozessoren
Beschreibung eines Systems:
2 Möglichkeiten:
• im Zeitbereich
• im Frequenzbereich
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte7
2.7 Signalprozessoren
Beschreibung im Zeitbereich
Systeme werden im Zeitbereich i.A. durch ihre Impulsantwort beschrieben
Impulsantwort: Reaktion des Systems auf einenDirac-Impuls (t)
Da die Bedeutung der Impulsantwort bei zeitdiskreten Signale leichter zu verstehen ist als bei zeitkontinuierlichen Signalen, beginnen wir mit der Betrachtung zeitdiskreter Signale
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte8
2.7 Signalprozessoren
Impulsantwort für zeitdiskrete Signale
Definition des Dirac-Impulses (t) für zeitdiskrete Systeme:
einzelner Impuls zum Zeitpunkt t=0, für den gilt
1)(
tt
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte9
2.7 Signalprozessoren
=>
sonst 0
0für t 1)( t
t
1
(t)
0
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte10
2.7 Signalprozessoren
Impulsantwort a(t): Reaktion des Systems auf (t)
(t) a(t)
t
1
x(t) = (t)
0t
y(t) = a(t)
0
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte11
2.7 Signalprozessoren
Jede beliebige Erregung läßt sich als Summe zeitlich verschobener und gewichteter Dirac-Impulse darstellen:
x(2)(t-2)
t
x(t)
0
x(0)(t)
x()(t-) x(3)(t-3)
x ( t )=∑i =-¥
¥
x ()⋅d ( t−¿)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte12
2.7 Signalprozessoren
Da in einem linearen System das Überlagerungsprinzip gilt, kann die Systemantwort auf eine beliebige Erregung als Summe der gewichteten und verschobenen Impulsantworten ermittelt werden:
i
itaixty )()()(
Diese Summe nennt man auch Faltungssumme, die Operation Faltung:
)()()( tatxty
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte13
2.7 Signalprozessoren
Schlußfolgerung:
Die Reaktion eines linearen, zeitdiskreten Systems kann also durch Faltung der Erregung mit der Impulsantwort ermittelt werden
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte14
2.7 Signalprozessoren
Impulsantwort für zeitkontinuierliche Signale
Das Verhalten eines zeitkontinuierlichen Systems kann
aus dem Verhalten eines zeitdiskreten Systems
abgeleitet werden, indem man den Grenzwert für 0
bildet und die Summationen durch Integrationen
ersetzt
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte15
2.7 Signalprozessoren
Definition des Dirac-Impulses (t) für zeitkontinuierliche Systeme:
einzelner Impuls zum Zeitpunkt t=0, für den gilt
1)( -
dtt
für zeitkontinuierliche Systeme ist der Dirac-Impuls ein
Impuls zum Zeitpunkt t=0 mit der Impulsdauer 0, der
Impulsamplitude und der Impulsfläche 1
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte16
2.7 Signalprozessoren
Beliebige zeitkontinuierliche Erregung als Integral über verschobene und gewichtete Dirac-Impulse:
dtxtx )()()(
Systemantwort auf eine beliebige zeitkontinuierliche Erregung:
dtaxty )()()(
Dieses Integral heißt Faltungsintegral
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte17
2.7 Signalprozessoren
sowohl für zeitdiskrete wie zeitkontinuierliche lineare
und zeitinvariante Systeme läßt sich die Systemantwort
auf eine beliebige Erregung im Zeitbereich durch Faltung
der Erregung mit der Impulsantwort des Systems ermitteln
)()()( tatxty
Die Faltung entspricht hierbei für zeitdiskrete Systeme
einer Summation, für zeitkontinuierliche Systeme einer
Integration
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte18
2.7 Signalprozessoren
Beschreibung im Frequenzbereich
Das Verhalten eines linearen zeitinvarianten Systems kann auch im Frequenzbereich beschrieben werden
Das Systemverhalten wird hierbei nicht in Abhängigkeit der Zeit, sondern in Abhängigkeit der Frequenz beschrieben
=> Spektralanalyse
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte19
2.7 Signalprozessoren
Übergang in den Frequenzbereich: Erregung des Systems mit einem Signal komplexer Frequenz s:
: Frequenz : Dämpfung
jsetx st + = mit )(
))sin()(cos(
=
= )(
tjte
ee
e
t
jwtt
tj
t
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte20
2.7 Signalprozessoren
Systemantwort auf diese Erregung:
a(t) von (s)AerteTransformi
Laplace
)(
)(
)()(
L
)(
daee
dae
dtaety
sst
ts
s
*
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte21
2.7 Signalprozessoren
* Kommutativgesetz der Faltung:
ddd
dtdxtx
tdxtx
dtxx
, 1 , )()(
)()(
:onSubstituti )()(
21
21
21
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte22
2.7 Signalprozessoren
Die Laplace-Transformation ist eine Integraltransformation, die eine Funktion vom Zeitbereich t in den komplexen Frequenzbereich s = + j transformiert
Allg. Gleichung der (zweiseitigen) Laplace-Transformation:
dttxesX st )()(
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte23
2.7 Signalprozessoren
Vorteil der Rechnung im Frequenzbereich: die Rechenoperationen vereinfachen sich gegenüber dem Zeitbereich
Aus der Faltung im Zeitbereich wird z.B. eine einfache Multiplikation im Frequenzbereich
)()()(
)()()(
sAsXsY
tatxtyL
Dies bedeutet, die Systemantwort im Frequenzbereich berechnet sich durch Multiplikation der Erregung im Frequenzbereich mit der Impulsantwort im Frequenzbereich
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte24
2.7 Signalprozessoren
Einige weitere Regeln der Laplace-Transformation:
Z e i t b e r e i c h F r e q u e n z b e r e i c h
L i n e a r k o m b i n a t i o n a x t b x t1 2( ) ( ) a X s b X s1 2( ) ( )
F a l t u n g x t x t1 2( ) ( ) X s X s1 2( ) ( )
I n t e g r a t i o n x d
t
( )
1
sX s( )
D i f f e r e n t i a t i o n
d
d tx t( ) s X s x( ) ( ) 0
D ä m p f u n g x t e( ) t X s( )
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte25
2.7 Signalprozessoren
Für stabile Systeme (endliche Erregung endliche Antwort) läßt sich die Transformation vereinfachen:
Erregung mit
=>
0 d.h. )( tjetx
a(t) von )(AerteTransformi
Fourier
)()(
F
daeety jtj
Die Fourier-Transformation ist eine Integraltransformation, die eine Funktion vom Zeitbereich t in den Frequenzbereich transformiert
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte26
2.7 Signalprozessoren
Allg. Gleichung der Fourier-Transformation:
dttxeX tj )()(
Für die Fourier-Transformation ist die Rücktransformation in den Zeitbereich einfacher als für die Laplace-Transformation:
dXetx tj )(2
1)(
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte27
2.7 Signalprozessoren
Ansonsten hat die Fourier-Transformation ähnliche Eigenschaften wie die Laplace-Transformation
Auch hier wird aus der Faltung im Zeitbereich eine Multiplikation im Frequenzbereich, was zu einer ebenso einfachen Berechnung der Systemantwort im Frequenzbereich führt:
)()()(
)()()(
FAXY
tatxty
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte28
2.7 Signalprozessoren
Einige weitere Regeln der Fourier-Transformation:
Z e i t b e r e i c h F r e q u e n z b e r e i c h
L i n e a r k o m b i n a t i o n a x t b x t1 2( ) ( ) a X b X1 2( ) ( )
F a l t u n g x t x t1 2( ) ( ) X X1 2( ) ( )
I n t e g r a t i o n x d
t
( )
1
0j
X X
( ) ( ) ( )
D i f f e r e n t i a t i o n
d
d tx t( ) j X ( )
D ä m p f u n g x t e( ) 0 t X ( ) 0
Die Laplace-Transformation findet meist bei der Systemanalyse VerwendungBei Signalverarbeitung wird i.A. die Fourier-Transformation eingesetzt
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte29
2.7 Signalprozessoren
Beispiel: digitale Realisierung eines einfachen Tiefpaß
Frequenzgang eines einfachen Tiefpaß:
A F ( )
2 0
02 2
0 3/ 0 / 3
2 / 0
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte30
2.7 Signalprozessoren
Durch Rücktransformation aus dem Frequenzbereich (mittels inversem Fourier-Integral, siehe Folie 26) erhalten wir die Impulsantwort des Tiefpaß:
a t e t( ) 0
1
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte31
2.7 Signalprozessoren
Ausgangssignal dieses Tiefpasses auf eine beliebige zeitdiskrete Erregung:
i
iteixty )(0)()(
Setzt man kausales Verhalten voraus (i 0) und beschränkt die Summe als Näherung auf einen endlichen Wert, so läßt sich dieser Tiefpaß mit einem Signalprozessor realisieren, der y(t) aus x(t) nach folgender Gleichung berechnet:
N
i
iteixty0
)(0)()(
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte32
2.7 Signalprozessoren
Das Abtast-Theorem
In wieweit läßt sich nun aus einem abgestasteten Signal wieder das Ursprungs-Signal rekonstruieren?
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte33
2.7 Signalprozessoren
Auch hier hilft die Fourier-Transformation:
dttxeXtx tjTransfFourier
)()()( .
ihe
Fourier
i
ij
i
tj
i
tjA
TransfFourier
iA
eix
dtiteix
dtitixeX
itixtx
Re
.
)(
)()(
)()()(
)()()(
Ursprungs-Signal:
Abgetastetes Signal:
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte34
2.7 Signalprozessoren
Allgemeine Fourier-Reihe einer Funktion f(x):
2/1
2/1
)(2
mit )( dxxfececxs ixji
i
itji
In unserem Fall:
dXedXeixc ijiji
Funktion
eentwickelt
)(1
2)(
2
1)(
XA() entspricht bis auf einen Faktor 1/ der Fourier-
Reihenentwicklung von X()
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte35
2.7 Signalprozessoren
XA() ist die periodische Fortsetzung von X() mit der Fortsetzungs-Periode 1/
. . .
-fmax
X()XA()
1/
-fmax
X()XA()
1/
f (=2)
. . .
fmax
f (=2)
. . .. . .
fmax
a)
b)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte36
2.7 Signalprozessoren
Man sieht: X() kann aus XA() durch einen idealen
Tiefpaß mit der Grenzfrequenz fmax wieder
rekonstruiert werden, wenn die durch
periodische Fortsetzung entstandenen
Seitenspektren sich nicht überlappen (Fall a)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte37
2.7 Signalprozessoren
Diese Überlappung findet nicht statt, wenn folgende Bedingung gilt:
21
maxf
uenzAbtastfreq : 1
Frequenz de vorkommen)(in höchste : :mit max
txf
Diese Bedingung heißt 1. Shannon'sches Abtasttheorem
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte38
2.7 Signalprozessoren
Es besagt, daß ein abgetastetes Signal durch einen idealen Tiefpaß exakt dann wieder rekonstruiert werden kann, wenn die Abtastfrequenz mindestens doppelt so hoch wie die höchste Signalfrequenz ist.
Beispiel: CD-Player, fmax = 20 kHz, 1/ = 44,1kHz
Allgemeiner Ablauf digitaler Signalverarbeitung:
x(t) Tiefpaßfmax
Abtastung1/ 2fmax
AD-Wandlung
n-Bit
digitaleSignalbearbeitung(Signalprozessor)
DA-Wandlung
n-Bit
Tiefpaßfmax
y(t)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte39
2.7 Signalprozessoren
2.7.2 Abgrenzung zu Mikrocontrollern und Mikroprozessoren
Signalprozessor:
Prozessor mit speziell für die Signalverarbeitung ausgelegter Hochleistungsarithmetik und hoher durch den Benutzer direkt kontrollierbarer Parallelität
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte40
2.7 Signalprozessoren
Rechenwerk m
Rechenwerk 1
Multiplizierer ALU
Akkumulator
Peripherie
... ...
Daten-Speicher
1
Daten-Speicher
n
Adresswerk 1
...
Adresswerk n
Programmsteuerwerk
Programm-Speicher
...Steuerleitungen
Eigenschaften vonSignalprozessoren:
konsequente Havard-Architektur hochgradiges Pipelining oft mehrere Datenbusse Hochleistungsarithmetik hohe benutzerkontrollierte Parallelität Peripherie zur Signalver-
arbeitung
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte41
2.7 Signalprozessoren
Wie im vorigen Abschnitt gesehen sind zur Signalverarbeitung insbesondere schnelle Multiplikationen und Summationen (Faltung, Fourier-Transformation, ...) erforderlich
aufwendiges Rechenwerk mit ALU und separatem Muliplizierer (MAC = Multiply and
Accumulate) und mehreren parallelen Datenbussen
In Hochleistungs-Signalprozessoren können mehrere solcher Rechenwerke vorhanden sein
Die Havard-Architektur mit getrennten Programm- und Datenspeicher erlaubt daneben Parallelität zwischen Befehls- und Datenverarbeitung
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte42
2.7 Signalprozessoren
Viele Architekturmerkmale von Signalprozessoren wurden mittlerweile auf moderne Mikroprozessoren und Mikrocontroller übertragen
z.B. Pipelining,Havard-Architektur (zumindest auf Cache-Ebene),
Parallelität bei der Programmverarbeitung, ... Aber: bei Signalprozessoren soll die Parallelität
unter Kontrolle des Benutzers stehen, um optimale problemspezifische Leistung erzielen zu können
Bei (superskalaren) Mikroprozessoren wird hingegen die auf Mikroarchitektur-Ebene vorhandene Parallelität durch die Architektur-Ebene verdeckt
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte43
2.7 Signalprozessoren
Möglichkeiten für Benutzer-kontrollierte Parallelität:
• VLIW (Very Large Instruction Word)
z.B. zur Steuerung mehrere vorhandener Rechenwerke
(wurde in Teil 1 der Vorlesung besprochen)
• Horizontale Mikroprogrammierung
Erlaubt die direkte Kontrolle aller Verarbeitungseinheiten des Signalprozessors auf Mikro-Architekturebene, z.B. ALU, Multipliziere, Adresswerke, ...
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte44
2.7 Signalprozessoren
Horizontale Mikroprogrammierung als Befehlsformat für einen Signalprozessor:
Ein Befehlswort ist hierbei in mehrere Felder unterteilt. Jedes Feld kontrolliert eine Komponente des Signalprozessors Beispiel für vorige Mikroarchitektur:
Programm-Steuerung
ALU-Steuerung
Operanden-Auswahl
Multiplizier-Steuerung
RAM Adress-Steuerung
ROM Adress-Steuerung
Bit 0Bit n
Signalprozessor-Befehlswort
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte45
2.7 Signalprozessoren
die Parallelität ist voll unter Kontrolle des Benutzers,
(und nicht unter Kontrolle des Steuerwerks wie bei konventionellen Mikroprozessoren)
folgende parallelen Tätigkeiten sind möglich:
• Programmzähler aktualisieren
• nächsten Befehl holen
• aktuellen Befehl ausführen: 2 Datentransfers über die Datenbusse 1 Multiplikation 1 ALU-Operation (meist akkumulierende
Addition) Berechnung zweier neuer Datenadressen
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte46
2.7 Signalprozessoren
Signalprozessoren werden sehr maschinen-nah programmiert
Die Kenntniss der Mikroarchitektur ist für eine effiziente
Programmierung unerlässlich
Signalprozessoren abstrahieren nicht von der Mikroarchitektur wie Mikroprozessoren