3. Informationsverarbeitung in Objekten 1
3.1. Abtastung von Signalen an der Schnittstelle 2
Falls System an einen Rechner angeschlossen ist wert- und zeit-diskrete Signale x * (t k ) = abstrakte Zahlen TASK führt zeitdiskret Algorithmus aus stellt y * (t k ) als Ergebnis bereit Rechner TASK y * [t k ] = f(x * [t k ],q * [t k ]) Steuerwertausgabe System 3
t [s] 4
t [s] schnelle Abtastperiode T AS 5
t [s] schnelle Abtastperiode T AS 6
t [s] langsame Abtastperiode T AL 7
???? t [s] langsame Abtastperiode T AL 8
???? t [s] langsame Abtastperiode T AL 9
Wie sieht das im Frequenzbereich aus? (zunächst für die schnelle Abtastung T AS ) t [s] schnelle Abtastperiode T AS 10
X(f) Abtastung vonmesswerten (von Sensoren, Audio...) Originalspektrum (vor der Abtastung) X(f) Spektrum nach der schnellen Abtastung mit T AS -f g +f g 0 1 2 T AS T AS 11
X(f) Abtastung vonmesswerten (von Sensoren, Audio...) Originalspektrum (vor der Abtastung) X(f) Spektrum nach der schnellen Abtastung mit T AS -f g +f g -f 0 g +f g -f g 1 +f g -f g 2 +f g T AS T AS f a 2f a Satz: Faltungs-, Aliasing-, Stroboskop-Effekt: Wird ein cosinusförmiges Signal der Frequenz f einer Abtastung mit der Abtastperiode T A =1/f a unterzogen, so werden weitere Cosinus-Signale mit folgenden Alias-Frequenzen f al erzeugt: f al = n * f a + f 12
X(f) Abtastung vonmesswerten (von Sensoren, Audio...) Originalspektrum (vor der Abtastung) X(f) Spektrum nach der schnellen Abtastung mit T AS -f g +f g f -f 0 g +f g -f g 1 +f g -f g 2 +f g T AS T AS f a 2f a Satz: Faltungs-, Aliasing-, Stroboskop-Effekt: Wird ein cosinusförmiges Signal der Frequenz f einer Abtastung mit der Abtastperiode T A =1/f a unterzogen, so werden weitere Cosinus-Signale mit folgenden Alias-Frequenzen f al erzeugt: f al = n * f a + f 13
X(f) Abtastung vonmesswerten (von Sensoren, Audio...) Originalspektrum (vor der Abtastung) X(f) Spektrum nach der schnellen Abtastung mit T AS -f g +f g -f 0 g +f g -f g 1 +f g -f g 2 +f g T AS T AS x(t) ohne Beweis: m(t) = y(t) X(f) * M(f) = 14
x(t) t [s] x(t) ohne Beweis: m(t) = y(t) X(f) M(f) = 15
x(t) t [s] m(t) T AS t [s] x(t) ohne Beweis: m(t) = y(t) X(f) M(f) = 16
x(t) t [s] m(t) T AS t [s] x(t) ohne Beweis: m(t) = y(t) y(t) X(f) M(f) = t [s] T AS 17
x(t) t [s] m(t) T AS t [s] x(t) ohne Beweis: m(t) = y(t) y(t) X(f) M(f) = t [s] T AS 18
X(f) -f g +f g x(t) ohne Beweis: m(t) = y(t) X(f) M(f) = 19
X(f) -f g +f g M(f) 1 T AS f [Hz] x(t) ohne Beweis: m(t) = y(t) X(f) M(f) = 20
X(f) -f g +f g M(f) 1 T AS f [Hz] Spektrum nach der schnellen Abtastung mit T AS x(t) ohne Beweis: m(t) = y(t) X(f) M(f) = 0 -f g +f g -f g 1 +f g -f g 2 +f g T AS T AS 21
X(f) Abtastung vonmesswerten (von Sensoren, Audio...) Originalspektrum (vor der Abtastung) X(f) Spektrum nach der schnellen Abtastung mit T AS -f g +f g -f 0 g +f g -f g 1 +f g -f g 2 +f g T AS T AS Frage: Welche Signalverarbeitungs-Funktion müsste man auf das Spektrum anwenden, wenn man die Folgen der Abtastung rückgängig machen will? 22
X(f) Tiefpassfilter Abtastung vonmesswerten (von Sensoren, Audio...) Originalspektrum (vor der Abtastung) X(f) Spektrum nach der schnellen Abtastung mit T AS Tiefpass-Filter -f g +f g -f 0 g +f g -f g 1 +f g -f g 2 +f g T AS T AS Frage: Welche Signalverarbeitungs-Funktion müsste man auf das Spektrum anwenden, wenn man die Folgen der Abtastung rückgängig machen will? 23
X(f) Tiefpassfilter Abtastung vonmesswerten (von Sensoren, Audio...) Originalspektrum (vor der Abtastung) X(f) Spektrum nach der schnellen Abtastung mit T AS Tiefpass-Filter -f g +f g -f 0 g +f g -f g 1 +f g -f g 2 +f g T AS T AS Frage: Welche Signalverarbeitungs-Funktion müsste man auf das Spektrum anwenden, wenn man die Folgen der Abtastung rückgängig machen will? 24
x(t) t [s] Tiefpassfilter X(f) Tiefpass wirkt im Zeitbereich wie ein Hellseher! y(t) T AS 25 t [s]
Wie sieht das im Frequenzbereich aus? (jetzt für die langsame Abtastung T AL )???? t [s] langsame Abtastperiode T AL 26
X(f) Tiefpassfilter Abtastung vonmesswerten (von Sensoren, Audio...) Originalspektrum (vor der Abtastung) X(f) Spektrum nach der schnellen Abtastung mit T AS Tiefpass-Filter -f g +f g -f 0 g +f g -f g 1 +f g -f g 2 +f g T AS T AS Originalspektrum (vor der Abtastung) X(f) Spektrum nach der langsamen Abtastung mit T AL -f g +f g 1 2 T AL T AL 27
X(f) Tiefpassfilter Abtastung vonmesswerten (von Sensoren, Audio...) Originalspektrum (vor der Abtastung) X(f) Spektrum nach der schnellen Abtastung mit T AS Tiefpass-Filter -f g +f g -f 0 g +f g -f g 1 +f g -f g 2 +f g T AS T AS Originalspektrum (vor der Abtastung) X(f) -f g +f g... Spektrum nach der langsamen Abtastung mit T AL 1 2 T AL T AL...... 28
X(f) Tiefpassfilter Abtastung vonmesswerten (von Sensoren, Audio...) Originalspektrum (vor der Abtastung) X(f) Spektrum nach der schnellen Abtastung mit T AS Tiefpass-Filter -f g +f g -f 0 g +f g -f g 1 +f g -f g 2 +f g T AS T AS Originalspektrum (vor der Abtastung) X(f) -f g +f g... Spektrum nach der langsamen Abtastung mit T AL 1 2 T AL T AL...... hat der Tiefpass eine Chance? 29
X(f) Tiefpassfilter Abtastung vonmesswerten (von Sensoren, Audio...) Originalspektrum (vor der Abtastung) X(f) Spektrum nach der schnellen Abtastung mit T AS Tiefpass-Filter -f g +f g -f 0 g +f g -f g 1 +f g -f g 2 +f g T AS T AS Originalspektrum (vor der Abtastung) X(f) -f g +f g... Spektrum nach der langsamen Abtastung mit T AL 1 2 T AL T AL...... hat der Tiefpass eine Chance? 30
X(f) Tiefpassfilter Abtastung vonmesswerten (von Sensoren, Audio...) Originalspektrum (vor der Abtastung) X(f) Spektrum nach der schnellen Abtastung mit T AS Tiefpass-Filter -f g +f g -f 0 g +f g -f g 1 +f g -f g 2 +f g T AS T AS Originalspektrum (vor der Abtastung) X(f) -f g +f g... Spektrum nach der langsamen Abtastung mit T AL 1 2 T AL T AL hat der Tiefpass eine Chance? Welche Forderung müsste erfüllt sein? 31
X(f) Tiefpassfilter Abtastung vonmesswerten (von Sensoren, Audio...) Satz: Abtasttheorem: Wird ein cosinusförmiger Signalverlauf der Frequenz f mit einer Periodendauer T abgetastet (Abtastfrequenz f a =1/T), so ist im Ergebnis der Originalverlauf weder eindeutig erkennbar noch durch Tiefpassmethoden wieder rekonstruierbar, sobald f die halbe Abtastfrequenz f a /2 übersteigt. Informationsverluste dieser Art sind somit nur vermeidbar, solange f folgende Bedingung erfüllt: f < 1 f a 2 Originalspektrum (vor der Abtastung) X(f) -f g +f g... Spektrum nach der langsamen Abtastung mit T AL 1 2 T AL T AL...... 32
Beispiel Videofilm (fahrende Kutsche) 33
Originalspektrum (vor der Abtastung) X(f) Spektrum nach Abtastung mit der Bildfrequenz 1/T A = 24 Bilder/s = 24Hertz Tiefpass-Filter -f g +f g -f 0 g +f g -f g 1 +f g -f g 2 +f g T A T A 34
Originalspektrum (vor der Abtastung) X(f) Spektrum nach Abtastung mit der Bildfrequenz 1/T A = 24 Bilder/s = 24Hertz Tiefpass-Filter -f g +f g X(f) -f 0 g +f g -f g 1 +f g -f g 2 +f g T A T A -f g +f g -f 0 g +f g -f g 1 +f g -f g 2 T A T A 35
Originalspektrum (vor der Abtastung) X(f) Spektrum nach Abtastung mit der Bildfrequenz 1/T A = 24 Bilder/s = 24Hertz Tiefpass-Filter - f g +f g X(f) - 0 +f g - 1 +f g - 2 +f g f g f g T A f g T A - f g Rad wird scheinbar langsamer: -fg +f g - 0 +f g - 1 +f g - 2 f g f g T A f g -f 0 g -f g +f g 1 -f g +f g 2 T A T A T A 36
Originalspektrum (vor der Abtastung) X(f) Spektrum nach Abtastung mit der Bildfrequenz 1/T A = 24 Bilder/s = 24Hertz Tiefpass-Filter - f g +f g X(f) - 0 +f g - 1 +f g - 2 +f g f g f g T A f g T A - f g Rad wird scheinbar langsamer: -fg Rad bleibt scheinbar stehen: -fg +f g - 0 +f g - 1 +f g - 2 f g f g T A f g - 0 - +f g 1 - +f g 2 f g T A f g f g T A T A -f 0 g -f g +f g 1 -f g +f g 2 T A T A 37
Originalspektrum (vor der Abtastung) X(f) Spektrum nach Abtastung mit der Bildfrequenz 1/T A = 24 Bilder/s = 24Hertz Tiefpass-Filter - f g +f g X(f) - 0 +f g - 1 +f g - 2 +f g f g f g T A f g T A - f g Rad wird scheinbar langsamer: -fg Rad bleibt scheinbar stehen: -fg +f g - 0 +f g - 1 +f g - 2 f g f g T A f g - 0 - +f g 1 - +f g 2 f g T A f g f g T A T A - 0 - +f g 1 - +f g 2 f g f g T A f g Rad dreht sich scheinbar rückwärts: -fg T A -f -f 0 g g 1 +f g -f g +f g 2 T A T A 38
3.2. Primärverarbeitung der Signale 39
3.3. Filteralgorithmen 40
X x x lineares System y Y y t Dt t -X -x -Y -y Hervorragende Eigenschaft linearer Systeme: Am Ausgang kommen immer cos-signale gleicher Frequenz heraus! Ein- und Ausgangssignal unterscheiden sich nur durch zwei Merkmale: 1. unterschiedliche Amplituden X und Y 2. Zeitverschiebung um Dt (bei dynamischen Systemen) 41
y Y X x x lineares System y t Dt t -X -x Übertragungsfaktor für Zeiger (Vektoren) rechts X(f) rechts -Y -y G(f) = = Y e j2pf(t-dt) X e j2pft Y e j2pft j2pfdt) G(f) = = X e j2pft Y e j2pft. e -j2pfdt) X e j2pft G(f) Y X = e j2pfdt) = G(f) e ja Betrag Phase 42
G(f) heißt auch Übertragungsfunktion des Systems! G(f) Y X = e j2pfdt) = G(f) e ja Betrag Phase (bei dynamischen Systemen) 43
Betrachtung im Zeitbereich 44
Die Implementierung des Simulationsmodells erfolgt i.allg. auf einem Rechner, der aufgrund seiner getakteten Arbeitsweise kontinuierliche Vorgänge nur näherungsweise nachbilden kann. Es besteht die Notwendigkeit, die T umzuformen. mathematisch analytischen Modelle des kontinuierlichen Systems in numerisch algorithmische Modelle 45
mathematisch analytische Modelle des kontinuierlichen Systems numerisch algorithmische Modelle Rechner können nur zeitdiskret arbeiten, d.h. die in den Differentialgleichungen enthaltenen Terme: Es besteht die Notwendigkeit, die umzuformen. dy dt 2 d y dt ; 2 ;... xdt können in dieser Form nicht berechnet werden. Differentiale in Differenzen 46
Grenzwertübergang rückgängig machen Dy y( t) y( t Dt) lim Dt Dt 0 Dt y( t) y( t Dt) Dy dy Dt Dt dt dy dt T y y(t-dt) y(t) Abtastsystem: falls Dt = const = T : y(t i ), y(t i -T), y(t i -2T),y(t i -3T), Dt t y[i], y[i-1], y[i-2], y[i-3],. y i, y i-1, y i-2, y i-3,. t t i-2 t i-1 t i 47
Diskretisierung Differentialgleichung Differenzengleichung allgemein gilt für das numerisch algorithmische Modell: a* n y[i-n]+...+a* 2 y[i-2]+a* 1 y[i-1]+a 0 y[i] = b * 0x[i] + b * 1x[i-1] + b * 2x[i-2] + + b * mx[i-m] allgemeines lineares Abtastsystem Differenzengleichung y[i] = b 0 x[i] + b 1 x[i-1] + b 2 x[i-2] + + b m x[i-m] + a 1 y[i-1] + a 2 y [i-2] + +a n y[i-n] m < n : für techn.systeme 48
Im speziellen Falle der Filter nennt man ein solches System auch allgemeines lineares Digitalfilter y[i] = b 0 x[i] + b 1 x[i-1] + b 2 x[i-2] + + b m x[i-m] + a 1 y[i-1] + a 2 y [i-2] + +a n y[i-n] m < n : für techn.systeme 49
b 0 x(i) ADD ADD y(i) b 1 a 1 x(i-1) ADD ADD y(i-1) b 2 a 2 x(i-2) ADD ADD y(i-2) b m a n x(i-m) y(i-n) Datenflussgraph eines allgemeinen linearen Digitalfilters 50
b 0 x(i) ADD ADD y(i) b 1 a 1 x(i-1) ADD ADD y(i-1) b 2 a 2 x(i-2) ADD ADD y(i-2) b m a n x(i-m) y(i-n) mit: x(i) = v e ; y = p Datenflussgraph eines speziellen Filters 51
Beispiel für ein MA = FIR = nichtrekursives Filter (z. B. für Sprache / Musik = Audiotechnik) 52
x Filter y x,y Abtastwerte x T 2T 4T 6T 8T 10T 12T t i=6 Differenzengleichung eines Tiefpassfilters (Mittelwertberechnung): y(i) = 1/4x(i) + 1/4x(i-1) + 1/4x(i-2) + 1/4x(i-3) 53
x(t) = Sinus 0,25 Hz Filter y(t) =? y -y Dt t Bei einer Abtastzeitperiode T = 1 Sekunde y=0! Signale mit dieser Frequenz werden nicht durchgelassen: Bandsperre Differenzengleichung eines Tiefpassfilters (Mittelwertberechnung): y(i) = 1/4x(i) + 1/4x(i-1) + 1/4x(i-2) + 1/4x(i-3) 54
vor der Filterung X(f) nach der Filterung Nutzsignal Nutzsignal x 1 (t) y 1 (t) + Störsignal x 2 (t) t + Störsignal y 2 (t) t t t = Gesamtsignal (Summe) = Gesamtsignal (Summe) x(t) y(t) t t 55
Erinnerung an die Methode: Berechnung durch Zerlegen in einfach berechenbare Teile (Superposition) x(t) = x 1 (t)+x 2 (t)+x 3 (t)+.. y(t) = y 1 (t)+y 2 (t)+y 3 (t)+.. zerlegen x? y überlagern x 1 (t) y 1 (t) x 2 (t) y 2 (t) x 3 (t).... y 3 (t) einzeln berechnen 56
= Gesamtsignal (Summe) x(t) = Gesamtsignal (Summe) y(t) x(t) = x 1 (t)+x 2 (t)+x 3 (t)+.. t y(t) = y 1 (t)+y 2 (t)+y 3 (t)+.. t zerlegen x? y überlagern x 1 (t) Nutzsignal x 1 (t) Nutzsignal y 1 (t) y 1 (t) x 2 (t) + Störsignal x 2 (t) t einzeln berechnen + Störsignal y 2 (t) t y 2 (t) t t.. 57
Beispiele für AR = IIR = rekursive Filter 58
T 1 -System als Tiefpassfilter y(i) = (1-a) x(i) + a y(i-1) für a ~ 0 y(i) ~ x(i) aktueller Eingangswert x(i) dominiert Störungen kaum gedämpft, Nutzsignal unverändert für a ~ 1 y(i) ~ y(i-1) Störungen stark gedämpft, Nutzsignal ebenfalls verändert vorhergehender Ausgangswert y(i-1) dominiert 59
Modifiziertes D-System als Hochpassfilter y(i) = a y(i-1) + x(i) - x(i-1) für a ~ 0 y(i) ~ Dx reines Differenzierglied hohe Frequenzen passieren für a ~ 1 y(i) ~ y(i-1) + Dx ~ x(i) Eingangssignal kaum verändert 60
Nichtrekursives Filter in der Bildverarbeitung 61
altes Bild (vor der Bearbeitung) neues Bild (nach der Bearbeitung) y alt y neu 62
altes Bild (vor der Bearbeitung) neues Bild (nach der Bearbeitung) y 1 y 2 y 3 y 4 y 5 y 6 y neu y 7 y 8 y 9 y neu = 1/9y 1 + 1/9y 2 + 1/9y 3 + 1/9y 4 + 1/9y 5 + 1/9y 6 + 1/9y 7 + 1/9y 8 + 1/9y 9 63
Synthese der Koeffizienten eines FIR-Filters 64
x(t) g(t) y(t) d(t) Fläche = 1 * u 0 F=2f g = u 0 F=2f g 0 t 1 1 t 1 1 t 2f g 0 2 3 F=2f g 2f g 2f g 2f g 0 2 3 F=2f g 2f g 2f g ohne Beweis! X(f) G(f) u 0 =1 1 = u 0 =1 0 f -f g 0 f g f -f g 0 f g f 65
x(t) g(t) y(t) d(t) Fläche = 1 u 0 F=2f g * = u 0 F=2f g 0 t 1 1 t 1 1 t Stoß 2f g 0 2 3 F=2f g 2f g 2f g ohne Beweis! 2f g 0 2 3 F=2f g 2f g 2f g Stoßantwort G(f) 1 gegeben: Übertragungsfunktion -f g 0 f g f 66
g(t) u 0 F=2f g gesucht: Stoßantwort 1 2f g 0 1 2 3 F=2f g 2f g 2f g t ohne Beweis! G(f) 1 gegeben: Übertragungsfunktion -f g 0 f g f 67
Im speziellen Falle der Filter nennt man ein solches System auch allgemeines lineares Digitalfilter y[i] = b 0 x[i] + b 1 x[i-1] + b 2 x[i-2] + + b m x[i-m] + a 1 y[i-1] + a 2 y [i-2] + +a n y[i-n] m < n : für techn.systeme 68
b 0 x(i) ADD ADD y(i) b 1 a 1 x(i-1) ADD ADD y(i-1) b 2 a 2 x(i-2) ADD ADD y(i-2) b m a n x(i-m) y(i-n) Datenflußgraph eines allgemeinen linearen Digitalfilters 69
y[i] = b 0 x[i] + b 1 x[i-1] + b 2 x[i-2] + + b m x[i-m] + a 1 y[i-1] + a 2 y [i-2] + +a n y[i-n] allgemeiner Fall b 0 x(i) ADD ADD y(i) b 1 a 1 x(i-1) ADD ADD y(i-1) b 2 a 2 x(i-2) ADD ADD y(i-2) b m a n x(i-m) y(i-n) 70
y[i] = b 0 x[i] + b 1 x[i-1] + b 2 x[i-2] + + b m x[i-m] für ein FIR-Filter Spezialfall FIR-Filter b 0 x(i) ADD y(i) b 1 x(i-1) ADD b 2 x(i-2) ADD b m x(i-m) 71
y[i] = b 0 x[i] + b 1 x[i-1] + b 2 x[i-2] + + b m x[i-m] für ein FIR-Filter 1 x x FIR y y b 0 b 1 b 2 b 3 b m... t b 0 Stoßantwort t x(i) ADD y(i) b 1 x(i-1) ADD b 2 x(i-2) ADD b m x(i-m) 72
y[i] = b 0 x[i] + b 1 x[i-1] + b 2 x[i-2] + + b m x[i-m] für ein FIR-Filter 1 x x FIR y y b 0 b 1 b 2 b 3 b m... t b 0 Stoßantwort t x(i) ADD y(i) x(i-1) b 1 b 2 ADD Die Gewichtsfunktion (Stoßantwort) eines (zeitdiskreten) FIR-Digital-Filters besteht aus einer Folge von Stößen in der Größe der Koeffizienten b 0 bis b m. x(i-2) ADD b m Wenn die Gewichtsfunktion vorgegeben ist, lässt sich dieses FIR-Filter leicht dimensionieren (programmieren) x(i-m) Aber was tun wir, wenn G(f) vorgegeben ist? 73
theoretisch erwünsche Übertragungsfunktion G(f) u 0 G(f) g(t) theoretisch erwünsche Gewichtsfunktion bzw. Stoßantwort g(t) u 0 F F 2 F 2 f 1 F 0 1 F 2 F 3 F t Wo liegen die Probleme? 74
theoretisch erwünschte Übertragungsfunktion G(f) u 0 G(f) g(t) theoretisch erwünschte Gewichtsfunktion bzw. Stoßantwort g(t) u 0 F F 2 F 2 f 1 F 0 1 F 2 F 3 F t theoretisches g(t) ist praktisch nicht realisierbar Warum? 75
theoretisch erwünschte Übertragungsfunktion G(f) u 0 G(f) g(t) theoretisch erwünschte Gewichtsfunktion bzw. Stoßantwort g(t) u 0 F F 2 F 2 f 1 F 0 1 F 2 F 3 F t theoretisches g(t) ist praktisch nicht realisierbar 1. nicht kausal! 2. unendlich! 3. zeitkontinuierlich! 76
Insofern sich die Sätze der Mathematik auf die Wirklichkeit beziehen, sind sie nicht sicher, und sofern sie sicher sind, beziehen sie sich nicht auf die Wirklichkeit (Albert Einstein) Für Praktiker gilt: Nicht das Erzählte reicht, sondern das Erreichte zählt 77
theoretisch erwünschte Übertragungsfunktion G(f) u 0 G(f) g(t) theoretisch erwünschte Gewichtsfunktion bzw. Stoßantwort g(t) u 0 F F 2 F 2 f 1 F 0 1 F 2 F 3 F t theoretisches g(t) ist praktisch nicht realisierbar 1. nicht kausal! 2. unendlich! 3. zeitkontinuierlich! 78
theoretisch erwünsche Übertragungsfunktion G(f) u 0 G(f) g(t) theoretisch erwünsche Gewichtsfunktion bzw. Stoßantwort g(t) u 0 F F 2 F 2 f 1 F 0 1 F 2 F 3 F t theoretisches g(t) ist praktisch nicht realisierbar, deshalb praktische Modifikationen 1. nicht kausal verschieben! 2. unendlich abschneiden! g(t) u 0 F 3. zeitkontinuierlich diskretisieren! 1 F 1 2 3 0 t F F F 79
Wenn unser Filter für sehr hochfrequente Signale geeignet sein soll: Was müssen wir bezüglich der Abtastzeitperiode fordern? Welche Konsequenzen hat das für den Rechner / Mikroprozessoren? Lösung: Akustische Oberflächenwellen-Chips (surface acoustic wave SAW) 1. nicht kausal verschieben! 2. unendlich abschneiden! g(t) u 0 F 3. zeitkontinuierlich diskretisieren! 1 F 1 2 3 0 t F F F 80
3.4. Signalprozessoren 81
y[i] = b 0 x[i] + b 1 x[i-1] + b 2 x[i-2] + + b m x[i-m] für ein FIR-Filter 1 x x FIR y y b 0 b 1 b 2 b 3 b m... t b 0 =0,7 Stoßantwort t x(i) ADD y(i) b 1 =-0,24 x(i-1) ADD b 2 =0,82 x(i-2) ADD =-0,63 b m =2,6 x(i-m) 82
y[i] = b 0 x[i] + b 1 x[i-1] + b 2 x[i-2] + + b m x[i-m] für ein FIR-Filter 1 x x FIR y y b 0 b 1 b 2 b 3 b m... =-0,65 x(i) t b 0 =0,7 ADD Stoßantwort y(i) t b 1 =-0,24 =0,5 x(i-1) ADD b 2 =0,82 =1,54 x(i-2) ADD =-0,63 b m =2,6 =-1,48 x(i-m) 83
y[i] = b 0 x[i] + b 1 x[i-1] + b 2 x[i-2] + + b m x[i-m] für ein FIR-Filter Code zur Berechnung einer Differenzengleichung (Skalarprodukt der Vektoren b und x), z. B. zur Signalverarbeitung (Filterung) y := b[0] * x[i] + 0 ; die Werte b 0, b 1, b 2 usw. sind im Vektor b gespeichert y := b[1] * x[i-1] + y ; die abgetasteten Eingangswerte x liegen im Vektor x y := b[2] * x[i-2] + y ;........... y := b[m] * x[i-m] + y ; Arbeitsschritte des Prozessors für eine Zeile Code des Skalarprodukts: 1. Befehl holen 2. b[m] holen 3. x[i-m] holen 4. Multiplikation * 5. y alt holen 6. Addition + 7. y neu speichern 84
y[i] = b 0 x[i] + b 1 x[i-1] + b 2 x[i-2] + + b m x[i-m] für ein FIR-Filter Code zur Berechnung einer Differenzengleichung (Skalarprodukt der Vektoren b und x), z. B. zur Signalverarbeitung (Filterung) y := b[0] * x[i] + 0 ; die Werte b 0, b 1, b 2 usw. sind im Vektor b gespeichert y := b[1] * x[i-1] + y ; die abgetasteten Eingangswerte x liegen im Vektor x y := b[2] * x[i-2] + y ;........... y := b[m] * x[i-m] + y ; Arbeitsschritte des Prozessors für eine Zeile Code des Skalarprodukts: 1. Befehl holen 2. b[m] holen 3. x[i-m] holen 4. Multiplikation * 5. y alt holen 6. Addition + 7. y neu speichern Beschleunigen der Schritte 4 bis 7: Prozessor besitzt einen speziellen Maschinenbefehl für eine Codezeile: y := b[m] * x[i-m] + y ; Benötigt nur einen Maschinentakt 85
Merkmale eines Signalprozessors: 1. spezieller Maschinenbefehl für y neu := b[m] * x[i-m] + y alt ; 2. erweiterte Harvard-Architektur (3 Speicher, 3 Busse) 3. RAM on Chip 86
87