Merge branch 'master' of https://github.com/FBRDNLMS/NLMSvariants
This commit is contained in:
		
						commit
						c7f491114c
					
				| 
						 | 
				
			
			@ -1,130 +0,0 @@
 | 
			
		|||
# Aufgabenstellung
 | 
			
		||||
 | 
			
		||||
Aus der PDF entnommen mit der Auswahl an PVL-Themen
 | 
			
		||||
 | 
			
		||||
### "Vergleich von linearen Prädiktionsstrategien (NLMSvariants)"
 | 
			
		||||
 | 
			
		||||
Das Voraussagen von Signalwerten ist ein Schlüsselelement in modernen Kompressionssystemen.
 | 
			
		||||
Aber auch in anderen Anwendungsgebieten ist die Prädiktion von Ereignissen erforderlich.
 | 
			
		||||
Aufgabe ist es, ein Matlab/SciLab/Octave/C-Programm zu schreiben, das Varianten eines bestimmten
 | 
			
		||||
Prädiktionsverfahrens miteinander vergleicht.
 | 
			
		||||
Adaptive Prädiktionsfilter passen sich der Charakteristik der Signale an und gehören somit in den
 | 
			
		||||
Bereich des maschinellen Lernens. So genannte Least-Mean-Square-Filter (LMS) sind adaptive
 | 
			
		||||
Filter mit einer vergleichsweisen geringen Komplexität. Im Wesentlichen werden M vorangegangene
 | 
			
		||||
Signalwerte gewichtet überlagert, um einen Schätzwert für die aktuelle Position zu generieren.
 | 
			
		||||
 | 
			
		||||
Xˉ [𝑛] = <20>𝑎𝑗[𝑛] ∙ 𝑥[𝑛 − 𝑗]
 | 
			
		||||
 | 
			
		||||
Der Prädiktionsfehler lautet: e[𝑛] = 𝑥[𝑛] − 𝑥'[𝑛]. Um die Prädiktionsfehlerenergie zu minimieren
 | 
			
		||||
müssen die Filterkoeffizienten nachgeführt (aktualisiert) werden
 | 
			
		||||
 | 
			
		||||
𝑎𝑗[𝑛 + 1] = 𝑎𝑗[𝑛] + 𝜇 * 𝑒[𝑛] * 𝑥[𝑛−𝑗]
 | 
			
		||||
 
 | 
			
		||||
||𝐱[𝑛]||
 | 
			
		||||
2 mit ||𝐱[𝑛]||
 | 
			
		||||
2 = ∑ (𝑥[𝑛 − 𝑗]) 𝑀 2
 | 
			
		||||
𝑗=1
 | 
			
		||||
 | 
			
		||||
während 0 < 𝜇 ≤ 1 die Lernrate ist.
 | 
			
		||||
Leider funktioniert das nur gut, wenn der Mittelwert von x[n] gleich Null ist. Für Bilder und auch
 | 
			
		||||
teilweise für Sprachsignale ist das nicht gegeben. Als Lösung kommen drei Varianten in Frage,
 | 
			
		||||
welche die obigen Formeln leicht abwandeln:
 | 
			
		||||
 | 
			
		||||
1. lokalen Mittelwert abziehen
 | 
			
		||||
 
 | 
			
		||||
 𝑥
 | 
			
		||||
<EFBFBD>[𝑛] = 𝑥̅[𝑛] + ∑ 𝑎𝑗[𝑛] ∙ (𝑥[𝑛 − 𝑗] − 𝑥̅[𝑛]) 𝑀
 | 
			
		||||
𝑗=1 mit 𝑥̅[𝑛] = 1
 | 
			
		||||
𝑀 ∑ 𝑥[𝑛 − 𝑗] 𝑀
 | 
			
		||||
𝑗=1
 | 
			
		||||
und
 | 
			
		||||
 𝑎𝑗[𝑛 + 1] = 𝑎𝑗[𝑛] + 𝜇 ∙ 𝑒[𝑛] ∙
 | 
			
		||||
𝑥[𝑛−𝑗]−𝑥̅[𝑛]
 | 
			
		||||
||𝐱[𝑛]||
 | 
			
		||||
2 mit ||𝐱[𝑛]||
 | 
			
		||||
2 = ∑ (𝑥[𝑛 − 𝑗] − 𝑥<>[𝑛]) 𝑀 2
 | 
			
		||||
𝑗=1
 | 
			
		||||
 | 
			
		||||
2. Bezug auf direkten Vorgänger nehmen
 | 
			
		||||
 | 
			
		||||
𝑥
 | 
			
		||||
<EFBFBD>[𝑛] = 𝑥[𝑛 − 1] + ∑ 𝑎𝑗[𝑛] ∙ (𝑥[𝑛 − 1] − 𝑥[𝑛 − 𝑗 − 1]) 𝑀
 | 
			
		||||
𝑗=1
 | 
			
		||||
und
 | 
			
		||||
𝑎𝑗[𝑛 + 1] = 𝑎𝑗[𝑛] + 𝜇 ∙ 𝑒[𝑛] ∙
 | 
			
		||||
𝑥[𝑛−1]−𝑥[𝑛−𝑗−1]
 | 
			
		||||
||𝐱[𝑛]||
 | 
			
		||||
2 mit ||𝐱[𝑛]||
 | 
			
		||||
2 = ∑ (𝑥[𝑛 − 1] − 𝑥[𝑛 − 𝑗 − 1]) 𝑀 2
 | 
			
		||||
𝑗=1
 | 
			
		||||
 | 
			
		||||
3. differentiellen Bezug auf Vorgänger nehmen
 | 
			
		||||
 | 
			
		||||
𝑥
 | 
			
		||||
<EFBFBD>[𝑛] = 𝑥[𝑛 − 1] + ∑ 𝑎𝑗[𝑛] ∙ (𝑥[𝑛 − 𝑗] − 𝑥[𝑛 − 𝑗 − 1]) 𝑀
 | 
			
		||||
𝑗=1
 | 
			
		||||
und
 | 
			
		||||
𝑎𝑗[𝑛 + 1] = 𝑎𝑗[𝑛] + 𝜇 ∙ 𝑒[𝑛] ∙
 | 
			
		||||
𝑥[𝑛−𝑗]−𝑥[𝑛−𝑗−1]
 | 
			
		||||
||𝐱[𝑛]||
 | 
			
		||||
2 mit ||𝐱[𝑛]||
 | 
			
		||||
2 = ∑ (𝑥[𝑛 − 𝑗] − 𝑥[𝑛 − 𝑗 − 1]) 𝑀 2
 | 
			
		||||
𝑗=1
 | 
			
		||||
 | 
			
		||||
Das originale Verfahren und die drei Varianten sind zu implementieren und mit verschiedenen
 | 
			
		||||
Testsignalen (synthetisierte und reale, N>= 500) und verschiedene M zu prüfen. Als Gütekriterium
 | 
			
		||||
ist die mittlere Energie des Schätzfehlers 𝐸 = 1
 | 
			
		||||
𝑁
 | 
			
		||||
 | 
			
		||||
<EFBFBD> ∑ (𝑒[𝑛]) 𝑁 2 𝑛=1 heranzuziehen. Bei selbstgenerierten
 | 
			
		||||
Signalen könnte auch die Konvergenz der Filterkoeffizienten zu den richtigen Werten
 | 
			
		||||
untersucht werden.
 | 
			
		||||
 | 
			
		||||
Weitere Unterstützung wird bei Bedarf gegeben. Alle Untersuchungen sind schriftlich zu dokumentieren.
 | 
			
		||||
Neben der schriftlichen Arbeit sind alle Quellen (Programmcode, Texte, Testsignale)
 | 
			
		||||
und Tools abzugeben, damit eine Reproduktion der Ergebnisse möglich ist.
 | 
			
		||||
 | 
			
		||||
Teilaufgaben:
 | 
			
		||||
* Koordination
 | 
			
		||||
* Recherche
 | 
			
		||||
* Programmierung
 | 
			
		||||
* Dokumentation (Grundlagen, Methode, Änderungen am Quellcode, Kompressionsergebnisse)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## E-Mail Ergänzung zur Aufgabenstellung:
 | 
			
		||||
 | 
			
		||||
Sehr geehrte Studierende,
 | 
			
		||||
 | 
			
		||||
danke für die Wahl des Themas.
 | 
			
		||||
 | 
			
		||||
Zur Themenstellung möchte ich Folgendes ergänzen:
 | 
			
		||||
Die drei Varianten sind jeweils in einer Schleife über alle 
 | 
			
		||||
verfügbaren Signalwerte abzuarbeiten, wobei typischer Weise mit 
 | 
			
		||||
Filterkoeffizienten a_j = 0 angefangen wird.
 | 
			
		||||
Abweichend davon ist es evtl. sinnvoll, a_1=1 zusetzen.
 | 
			
		||||
 | 
			
		||||
Testsignale können Sie sich selbst generieren, wobei wir uns 
 | 
			
		||||
hierüber noch abstimmen sollten.
 | 
			
		||||
Man könnte verschiedene Zeilen aus verschiedenen Bildern nehmen, 
 | 
			
		||||
Sprachsignale aufzeichnen oder Signale synthetisch generieren:
 | 
			
		||||
 | 
			
		||||
z.B.
 | 
			
		||||
x[0] = x[1] = x[2] =..= x[M] = 100;
 | 
			
		||||
for n = M+1: N-1
 | 
			
		||||
   x[n] = a_1 * x[n-1] + a_2 * x[n-2] + ..+ a_M *x[n-M] + 
 | 
			
		||||
randn(1,1)*5;
 | 
			
		||||
end     
 | 
			
		||||
 | 
			
		||||
Die Koeffizienten des LMS-Filters müssten dann gegen die bei der 
 | 
			
		||||
Synthese verwendeten Koeffizienten konvergieren
 | 
			
		||||
Achtung: bei Matlab beginnt das Indizieren mit 1 (statt 0).
 | 
			
		||||
 | 
			
		||||
Bitte fangen Sie zeitnah an.
 | 
			
		||||
Falls es Unklarheiten zum Ablauf oder der Verfahrensweise gibt, 
 | 
			
		||||
bitte per Email bei mir melden.
 | 
			
		||||
Da es gewisse Freiheitsgrade in der Bearbeitung gibt, wäre es sehr 
 | 
			
		||||
sinnvoll, wenn Sie mir regelmäßig über den Stand der PVL berichten 
 | 
			
		||||
und wir uns ggf. austauschen können.
 | 
			
		||||
 | 
			
		||||
Mit freundlichen Grüßen
 | 
			
		||||
T.Strutz
 | 
			
		||||
		Loading…
	
		Reference in New Issue