https://websites.fraunhofer.de/Openadaptronik/index.php?title=Digitale_Regelung&feed=atom&action=historyDigitale Regelung - Versionsgeschichte2024-03-28T12:37:02ZVersionsgeschichte dieser Seite in OpenadaptronikMediaWiki 1.32.2https://websites.fraunhofer.de/Openadaptronik/index.php?title=Digitale_Regelung&diff=206&oldid=prevFabio am 7. Januar 2019 um 10:16 Uhr2019-01-07T10:16:22Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de-x-formal">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Version vom 7. Januar 2019, 10:16 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l91" >Zeile 91:</td>
<td colspan="2" class="diff-lineno">Zeile 91:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>KUO, S. und Morgan, D. (1996): Active Noise Control Systems – Algorithms and DSp Implementations. John Wiley &Sons Inc., New York</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>KUO, S. und Morgan, D. (1996): Active Noise Control Systems – Algorithms and DSp Implementations. John Wiley &Sons Inc., New York</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Hauptseite|Zurück zur Hauptseite]]</ins></div></td></tr>
</table>Fabiohttps://websites.fraunhofer.de/Openadaptronik/index.php?title=Digitale_Regelung&diff=142&oldid=prevFabio am 7. Juni 2018 um 07:13 Uhr2018-06-07T07:13:23Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de-x-formal">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Version vom 7. Juni 2018, 07:13 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Zeile 1:</td>
<td colspan="2" class="diff-lineno">Zeile 1:</td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Bei der Regelung handelt es sich um einen weiteren Baustein der [https://de.wikipedia.org/wiki/Adaptronik Adaptronik]. Im [https://de.wikipedia.org/wiki/Regelungstechnik Regler] werden die Zustände eines physikalischen Systems mit Hilfe von Sensoren erfasst und ein Ausgangssignal berechnet. Das Ausgangssignal wird dann zur Ansteuerung einer oder mehrerer Aktoren genutzt. Die Berechnung der Ausgangssignale geschieht dabei mit Hilfe von bestimmten Regelgesetzen. Während einfache Regelgesetze wie der aus zahlreichen technischen Anwendungen bekannte [https://de.wikipedia.org/wiki/Regler PID-Regler] über elektronische Schaltungen auf Basis von [http://rn-wissen.de/wiki/index.php/Regelungstechnik Operationsverstärkern] realisiert werden können, werden komplexere [[Digitale Regelung|Digitale Regelungen]] mit Hilfe [https://de.wikipedia.org/wiki/Digitaler_Signalprozessor digitalen Signalprozessoren] umgesetzt. </ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Beim Entwurf von Regelungen muss das Verhalten der Regelstrecke (d.h. das Übertragungsverhalten des Aktors bis zum Sensor) berücksichtigt werden. Hierfür wird das Verhalten der Regelstrecke meist im Rahmen einer [https://de.wikipedia.org/wiki/Systemidentifikation Systemidentifikation] ermittelt und fließt dann in die Berechnung der Regelgesetzte mit ein.</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Digitale Regelung ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Digitale Regelung ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
</table>Fabiohttps://websites.fraunhofer.de/Openadaptronik/index.php?title=Digitale_Regelung&diff=109&oldid=prevFabio am 17. April 2018 um 08:20 Uhr2018-04-17T08:20:37Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de-x-formal">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Version vom 17. April 2018, 08:20 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l83" >Zeile 83:</td>
<td colspan="2" class="diff-lineno">Zeile 83:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In OpenAdaptronik wurde diese Variante am Quadrocopter implementiert. Dort wurde ein Hochpassfilter(https://de.wikipedia.org/wiki/Hochpass ) für C(z) verwendet um die Eigenfrequenz der Starrkörpermode (https://de.wikipedia.org/wiki/Moden ) aus den Signale x‘(n) und e(n) zu entfernen.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In OpenAdaptronik wurde diese Variante am Quadrocopter implementiert. Dort wurde ein Hochpassfilter(https://de.wikipedia.org/wiki/Hochpass ) für C(z) verwendet um die Eigenfrequenz der Starrkörpermode (https://de.wikipedia.org/wiki/Moden ) aus den Signale x‘(n) und e(n) zu entfernen.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">== Quellen ==</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Meyer, M. (2006): Signalverarbeitung. Springer Vieweg, Wiesbaden, 4. Auflg.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Meyer, M. (2006): Signalverarbeitung. Springer Vieweg, Wiesbaden, 4. Auflg.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>KUO, S. und Morgan, D. (1996): Active Noise Control Systems – Algorithms and DSp Implementations. John Wiley &Sons Inc., New York</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>KUO, S. und Morgan, D. (1996): Active Noise Control Systems – Algorithms and DSp Implementations. John Wiley &Sons Inc., New York</div></td></tr>
</table>Fabiohttps://websites.fraunhofer.de/Openadaptronik/index.php?title=Digitale_Regelung&diff=108&oldid=prevFabio am 17. April 2018 um 08:20 Uhr2018-04-17T08:20:16Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de-x-formal">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Version vom 17. April 2018, 08:20 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l83" >Zeile 83:</td>
<td colspan="2" class="diff-lineno">Zeile 83:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In OpenAdaptronik wurde diese Variante am Quadrocopter implementiert. Dort wurde ein Hochpassfilter(https://de.wikipedia.org/wiki/Hochpass ) für C(z) verwendet um die Eigenfrequenz der Starrkörpermode (https://de.wikipedia.org/wiki/Moden ) aus den Signale x‘(n) und e(n) zu entfernen.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In OpenAdaptronik wurde diese Variante am Quadrocopter implementiert. Dort wurde ein Hochpassfilter(https://de.wikipedia.org/wiki/Hochpass ) für C(z) verwendet um die Eigenfrequenz der Starrkörpermode (https://de.wikipedia.org/wiki/Moden ) aus den Signale x‘(n) und e(n) zu entfernen.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline"><ref></del>Meyer, M. (2006): Signalverarbeitung. Springer Vieweg, Wiesbaden, 4. Auflg.</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Meyer, M. (2006): Signalverarbeitung. Springer Vieweg, Wiesbaden, 4. Auflg.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>KUO, S. und Morgan, D. (1996): Active Noise Control Systems – Algorithms and DSp Implementations. John Wiley &Sons Inc., New York<del class="diffchange diffchange-inline"></ref></del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>KUO, S. und Morgan, D. (1996): Active Noise Control Systems – Algorithms and DSp Implementations. John Wiley &Sons Inc., New York</div></td></tr>
</table>Fabiohttps://websites.fraunhofer.de/Openadaptronik/index.php?title=Digitale_Regelung&diff=107&oldid=prevFabio am 17. April 2018 um 08:19 Uhr2018-04-17T08:19:58Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de-x-formal">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Version vom 17. April 2018, 08:19 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l45" >Zeile 45:</td>
<td colspan="2" class="diff-lineno">Zeile 45:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:Matrix_1.PNG|400px]]</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:Matrix_1.PNG|400px]]</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Nach Inversenbildung erhält man folgenden Zusammenhang um das optimal identifizierte Filter zu berechnen:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Nach Inversenbildung erhält man folgenden Zusammenhang um das optimal identifizierte Filter zu berechnen:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l59" >Zeile 59:</td>
<td colspan="2" class="diff-lineno">Zeile 60:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der Normalized LMS-Algorithmus optimiert die Konvergenzgeschwindigkeit in Abhängigkeit von der aktuellen Leistung des Referenzsignals, sodass die Performance des Reglers auch bei Veränderungen der Anregung konstant bleibt. Dazu wird die Schrittweite des LMS-Algorithmus folgendermaßen berechnet:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der Normalized LMS-Algorithmus optimiert die Konvergenzgeschwindigkeit in Abhängigkeit von der aktuellen Leistung des Referenzsignals, sodass die Performance des Reglers auch bei Veränderungen der Anregung konstant bleibt. Dazu wird die Schrittweite des LMS-Algorithmus folgendermaßen berechnet:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:my.PNG|100px]]</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:my.PNG|100px]]</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>mit der normierten Schrittweite α (in der Implementierung festgelegt), der Filterordnung N von W(z) und der Schätzung der Leistung des Referenzsignals P̂x(n) zum Zeitpunkt n. Die Leistungsschätzung kann anhand folgender Methode mit einem exponentiellen Zeitfenster berechnet werden:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>mit der normierten Schrittweite α (in der Implementierung festgelegt), der Filterordnung N von W(z) und der Schätzung der Leistung des Referenzsignals P̂x(n) zum Zeitpunkt n. Die Leistungsschätzung kann anhand folgender Methode mit einem exponentiellen Zeitfenster berechnet werden:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>𝑃̂𝑥(𝑛)=(1−𝛽)∙𝑃̂𝑥(𝑛−1)+𝛽∙𝑥²(𝑛)</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>𝑃̂𝑥(𝑛)=(1−𝛽)∙𝑃̂𝑥(𝑛−1)+𝛽∙𝑥²(𝑛)</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>mit dem Glättungsparameter β, der als die entsprechende Zeitfensterlänge des exponentiellen Zeitfensters(https://de.wikipedia.org/wiki/Fensterfunktion) Mnorm=1/ β interpretiert werden kann. Das Zeitfenster wird über die vergangenen Werte des Signals x zur Schätzung der Leistung gelegt. Diese wird in der Implementierung festgelegt und hat folgenden Einfluss: Wenn Mnorm lang ist, erfolgt die Schätzung der mittleren Leistung über einen längeren Zeitraum und somit genauer, aber das Filter kann nicht auf schnelle Veränderungen der Leistung des Referenzsignals reagieren. Somit wird die Fensterlänge abhängig von der Art der Anregung gewählt (stationär oder instationär). Die Anfangsbedingung P̂x(0) muss definiert werden, sie hat dennoch keinen großen Einfluss auf die Funktionsweise des Reglers.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>mit dem Glättungsparameter β, der als die entsprechende Zeitfensterlänge des exponentiellen Zeitfensters(https://de.wikipedia.org/wiki/Fensterfunktion) Mnorm=1/ β interpretiert werden kann. Das Zeitfenster wird über die vergangenen Werte des Signals x zur Schätzung der Leistung gelegt. Diese wird in der Implementierung festgelegt und hat folgenden Einfluss: Wenn Mnorm lang ist, erfolgt die Schätzung der mittleren Leistung über einen längeren Zeitraum und somit genauer, aber das Filter kann nicht auf schnelle Veränderungen der Leistung des Referenzsignals reagieren. Somit wird die Fensterlänge abhängig von der Art der Anregung gewählt (stationär oder instationär). Die Anfangsbedingung P̂x(0) muss definiert werden, sie hat dennoch keinen großen Einfluss auf die Funktionsweise des Reglers.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l67" >Zeile 67:</td>
<td colspan="2" class="diff-lineno">Zeile 70:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>𝒘(𝑛+1)=𝜈∙𝒘(𝑛)+𝜇∙𝒙′(𝑛)∙𝑒(𝑛)</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>𝒘(𝑛+1)=𝜈∙𝒘(𝑛)+𝜇∙𝒙′(𝑛)∙𝑒(𝑛)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Durch den Leakage-Faktor ν ist der Regler robuster: bei stochastisch leistungsstarkem Referenzsignal beispielsweise, wird die Regelung nicht unbegrenzt hochgefahren, sondern „vergisst“ mit den Iterationen schneller die stochastisch hohe Anregung, da die in w(n) enthaltene Information über vergangene Zustände mit der Gewichtung ν<1 in die Berechnung der neuen Filterkoeffizienten einfließt. Allerdings wird die erreichbare Performance des Reglers verschlechtert: wenn die optimalen Koeffizienten erreicht werden, sollte im nächsten Schritt keine Adaption stattfinden. e(n) ist dann null und somit auch der rechte Teil der Addition in der Adaptionsgleichung. Durch den Leakage-Faktor werden die Filterkoeffizienten jedoch verändert und das aktive System selbst führt einen Fehler ins System ein. Somit bewegen sich die Filterkoeffizienten in einem Bereich um den optimalen Filter aber erreichen es nie langfristig.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Durch den Leakage-Faktor ν ist der Regler robuster: bei stochastisch leistungsstarkem Referenzsignal beispielsweise, wird die Regelung nicht unbegrenzt hochgefahren, sondern „vergisst“ mit den Iterationen schneller die stochastisch hohe Anregung, da die in w(n) enthaltene Information über vergangene Zustände mit der Gewichtung ν<1 in die Berechnung der neuen Filterkoeffizienten einfließt. Allerdings wird die erreichbare Performance des Reglers verschlechtert: wenn die optimalen Koeffizienten erreicht werden, sollte im nächsten Schritt keine Adaption stattfinden. e(n) ist dann null und somit auch der rechte Teil der Addition in der Adaptionsgleichung. Durch den Leakage-Faktor werden die Filterkoeffizienten jedoch verändert und das aktive System selbst führt einen Fehler ins System ein. Somit bewegen sich die Filterkoeffizienten in einem Bereich um den optimalen Filter aber erreichen es nie langfristig.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der Leakage-Faktor wird mit dem Gewichtungsfaktor γ∈[0;1] berechnet:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der Leakage-Faktor wird mit dem Gewichtungsfaktor γ∈[0;1] berechnet:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>𝜈=1−𝜇∙𝛾</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>𝜈=1−𝜇∙𝛾</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Somit wird der Leakage-Faktor zusätzlich an die Leistung des Referenzsignals (in der Schrittweite enthalten beim Normalized-Algorithmus) angepasst, um die oben genannte Einführung von Fehlern durch das aktive System zu reduzieren.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Somit wird der Leakage-Faktor zusätzlich an die Leistung des Referenzsignals (in der Schrittweite enthalten beim Normalized-Algorithmus) angepasst, um die oben genannte Einführung von Fehlern durch das aktive System zu reduzieren.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
</table>Fabiohttps://websites.fraunhofer.de/Openadaptronik/index.php?title=Digitale_Regelung&diff=106&oldid=prevFabio am 17. April 2018 um 08:19 Uhr2018-04-17T08:19:18Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de-x-formal">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Version vom 17. April 2018, 08:19 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l15" >Zeile 15:</td>
<td colspan="2" class="diff-lineno">Zeile 15:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:Digitaler Regler.png|400px]]</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:Digitaler Regler.png|400px]]</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Abbildung: Blockschaltbild der klassischen digitalen Signalverarbeitung</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Abbildung: Blockschaltbild der klassischen digitalen Signalverarbeitung</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l32" >Zeile 32:</td>
<td colspan="2" class="diff-lineno">Zeile 33:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:LMS_Blockschaltbild.png|400px]]</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:LMS_Blockschaltbild.png|400px]]</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Abbildung: Blockschaltbild eines aktiven Schwingungsminderungssystems mit Feedforward-FxLMS-Regelung</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Abbildung: Blockschaltbild eines aktiven Schwingungsminderungssystems mit Feedforward-FxLMS-Regelung</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l76" >Zeile 76:</td>
<td colspan="2" class="diff-lineno">Zeile 78:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In OpenAdaptronik wurde diese Variante am Quadrocopter implementiert. Dort wurde ein Hochpassfilter(https://de.wikipedia.org/wiki/Hochpass ) für C(z) verwendet um die Eigenfrequenz der Starrkörpermode (https://de.wikipedia.org/wiki/Moden ) aus den Signale x‘(n) und e(n) zu entfernen.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In OpenAdaptronik wurde diese Variante am Quadrocopter implementiert. Dort wurde ein Hochpassfilter(https://de.wikipedia.org/wiki/Hochpass ) für C(z) verwendet um die Eigenfrequenz der Starrkörpermode (https://de.wikipedia.org/wiki/Moden ) aus den Signale x‘(n) und e(n) zu entfernen.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><ref>Meyer, M. (2006): Signalverarbeitung. Springer Vieweg, Wiesbaden, 4. Auflg.<del class="diffchange diffchange-inline"></ref></del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ref>Meyer, M. (2006): Signalverarbeitung. Springer Vieweg, Wiesbaden, 4. Auflg.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline"><ref></del>KUO, S. und Morgan, D. (1996): Active Noise Control Systems – Algorithms and DSp Implementations. John Wiley &Sons Inc., New York</ref></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>KUO, S. und Morgan, D. (1996): Active Noise Control Systems – Algorithms and DSp Implementations. John Wiley &Sons Inc., New York</ref></div></td></tr>
</table>Fabiohttps://websites.fraunhofer.de/Openadaptronik/index.php?title=Digitale_Regelung&diff=105&oldid=prevFabio: Die Seite wurde neu angelegt: „== Digitale Regelung == Anders als bei analogen Reglern wird bei einer digitalen Regelung das Eingangssignal digitalisiert (https://de.wikipedia.org/wiki/Digi…“2018-04-17T08:18:14Z<p>Die Seite wurde neu angelegt: „== Digitale Regelung == Anders als bei analogen Reglern wird bei einer digitalen Regelung das Eingangssignal digitalisiert (https://de.wikipedia.org/wiki/Digi…“</p>
<p><b>Neue Seite</b></p><div>== Digitale Regelung ==<br />
<br />
Anders als bei analogen Reglern wird bei einer digitalen Regelung das Eingangssignal digitalisiert (https://de.wikipedia.org/wiki/Digitalisierung ), d.h. zu diskreten Zeitpunkten abgetastet(https://de.wikipedia.org/wiki/Abtastung_(Signalverarbeitung) ), quantisiert und verarbeitet. Das Signal wird anschließend als Digitalsignal (https://de.wikipedia.org/wiki/Digitalsignal ) ausgegeben. Der Vorteil einer digitalen Regelung gegenüber einer analogen ist, dass, sofern die Rechenkapazität ausreicht, die Parameter oder das Regelgesetz geändert werden können ohne die Hardwarekomponenten verändern zu müssen. Weiterhin ist die Entwicklung von analoger Hardware bei komplexen Regelgesetzen mit hohem Aufwand verbunden. Dafür sind analoge Regler in den meisten Fällen schneller und vermeiden die parasitären Effekte der digitalen Signalverarbeitung.<br />
<br />
== Hardwarekomponenten der Signalverarbeitung ==<br />
<br />
Um eine digitale Regelung zu realisieren sind bestimmte Hardwarekomponenten notwendig.<br />
Das analoge Eingangssignal wird zunächst mit einem analogen Anti-aliasing-Filter (AAF) (https://de.wikipedia.org/wiki/Antialiasing_(Signalverarbeitung) ) bearbeitet. Um mit dem digitalen Signal eine eindeutige Abbildung des kontinuierlichen Eingangssignals (https://de.wikipedia.org/wiki/Analogsignal ) zu realisieren, muss das Nyquist-Shannon-Theorem(https://de.wikipedia.org/wiki/Nyquist-Shannon-Abtasttheorem ) erfüllt sein, d.h. dass die Abtastfrequenz(https://de.wikipedia.org/wiki/Abtastrate ) mindestens zweimal so groß wie die größte auftretende Frequenz im Eingangssignal sein muss. Mit dem Anti-aliasing-Filter wird das Eingangssignal tiefpassgefiltert (https://de.wikipedia.org/wiki/Tiefpass) um hochfrequente Störungen oberhalb der größten auftretenden Frequenz zu entfernen.<br />
Das Signal wird anschließend über einen Analog-Digital-Wandler (A/D-Wandler)( https://de.wikipedia.org/wiki/Analog-Digital-Umsetzer ) in ein digitales Signal umgewandelt. Dort wird das Signal zu diskreten Zeitpunkten abgetastet und quantisiert. Die Quantisierung (https://de.wikipedia.org/wiki/Quantisierung_(Signalverarbeitung) ) entspricht der Aufteilung einer analogen Spannung in Abschnitte, entsprechend der Bit-Auflösung (https://de.wikipedia.org/wiki/Auflösung_(Digitaltechnik ) ) und des Eingangsspannungsbereichs des A/D-Wandlers. Am Ausgang des A/D-Wandlers ist das Signal digital vorhanden und kann auf dem digitalen Signalprozessor (DSP)( https://de.wikipedia.org/wiki/Digitaler_Signalprozessor) verarbeitet werden.<br />
Auf dem DSP werden das Regelgesetz und die entsprechenden Rechenschritte durchgeführt. Im Rahmen von OpenAdaptronik-Projekten wurden einige Modelle verwendet wie das Arduino due, das Adafruit Feather M0 Adalogger oder das BeaglBone Black. Bei diesen Modellen sind A/D-Wandler und Digital-Analog-Wandler (D/A-Wandler)( https://de.wikipedia.org/wiki/Digital-Analog-Umsetzer ) schon auf dem DSP-Brett enthalten.<br />
Der D/A-Wandler wandelt das geregelte Signal in ein kontinuierliches Signal um, in dem die diskreten Ausgangswerte konstant über eine Abtastperiode am Ausgang gehalten werden.<br />
Das erhaltene kontinuierliche Signal wird abschließend mit einem Rekonstruktionsfilter (RKF) (https://de.wikipedia.org/wiki/Rekonstruktionsfilter) gefiltert, um die hochfrequenten Artefakte der Digital-Analog-Wandlung aus dem Signal zu entfernen. Das Rekonstruktionsfilter ist ein analoges Tiefpassfilter mit den gleichen Eigenschaften wie das Anti-aliasing-Filter.<br />
<br />
<br />
<br />
[[File:Digitaler Regler.png|400px]]<br />
Abbildung: Blockschaltbild der klassischen digitalen Signalverarbeitung<br />
<br />
<br />
<br />
Beim Entwurf einer digitalen Regelung ist weiterhin auf mögliche parasitäre Effekte zu achten. Die Abtastfrequenz sowie die Eckfrequenz der Filter muss mit Bedacht gewählt werden um Aliasing-Fehler zu vermeiden. Zusätzlich muss die Auflösung des A/D-Wandlers in Bezug auf die Charakteristiken des Eingangssignals ebenfalls mit Bedacht gewählt werden. Durch die Quantisierung im A/D-Wandler entsteht ein Rundungsfehler (https://de.wikipedia.org/wiki/Quantisierungsfehler), dessen Fehlersignal mit einem Rauschsignal vergleichbar ist und sich negativ auf die Regelung auswirkt. Zu guter Letzt muss der DSP auf Echtzeitfähigkeit getestet werden. Echtzeitfähigkeit (https://de.wikipedia.org/wiki/Echtzeit) bedeutet, dass der Reglerausgangswert innerhalb eines Abtastschritts rechtzeitig berechnet wird und für den Ausgang bereit steht.<br />
<br />
== Reglerarten/Prinzipien ==<br />
<br />
Analoge Regelgesetze, die oben eingeführt wurden, können prinzipiell auch digital implementiert werden. Somit sind Isolationsansätze mit verschiedenen Rückführungsgrößen sowie Neutralisation und Tilgung mit digitalen Reglern realisierbar.<br />
Zusätzlich gibt es noch zahlreiche weitere Regelgesetze. Sie werden oft anhand wichtiger Charakteristiken eingeteilt, beispielsweise modellbasierte oder nicht-modellbasierte Regler, adaptive oder nicht adaptive Regler. Nachfolgend werden zwei Regler vorgestellt, die oft für aktive Schwingungsminderungssysteme verwendet werden, und die in Projekten von OpenAdaptronik am Quadrocopter verwendet worden sind.<br />
<br />
=== Broadband Feedforward FxLMS-Regelung ===<br />
<br />
Der Feedforward FxLMS-Regler ermöglicht die aktive Unterdrückung der Anregungsauswirkung basierend auf dem Prinzip der destruktiven Interferenz (siehe Teil Regelungsarten)( https://de.wikipedia.org/wiki/Interferenz_(Physik)). Er ist ein modellbasierter, adaptiver Regler (https://de.wikipedia.org/wiki/Adaptive_Regelung ) und wird für Schwingungsminderungsanwendungen, aber auch für akustische Minderungsanwendungen eingesetzt.<br />
<br />
<br />
[[File:LMS_Blockschaltbild.png|400px]]<br />
Abbildung: Blockschaltbild eines aktiven Schwingungsminderungssystems mit Feedforward-FxLMS-Regelung<br />
<br />
<br />
Die Adaption erzielt mit dem Filter Ŝ(z) die Annäherung ŷ(n) an das Signal y(n) zu generieren, indem der Ausgangsfehler e(n) bei breitbandiger Rauschanregung des digitalen Filters und des sekundären Pfads minimiert wird. Somit kann im Betrieb des oben dargestellten Kreises eine Konvergenz der Filterkoeffizienten gegen das optimale Filter beobachtet werden. Das erhaltene Filter bildet das dynamische Verhalten des sekundären Pfads nach.<br />
Ansonsten kann angelehnt an die Wiener-Filter-Theorie(https://de.wikipedia.org/wiki/Wiener-Filter) für den LMS-Algorithmus eine Berechnung des optimalen Filters zur Nachbildung des sekundären Pfads hergeleitet werden. Wenn das optimale Filter mit der Adaption erreicht wird, kann angenommen werden, dass y(n)= ŷ(n) gilt. Und somit kann in der Matrixschreibweise folgende Gleichung für die Anregung x und das digitale Filter Ŝ(z) aufgestellt werden:<br />
<br />
y=X*ŝ<br />
<br />
Mit folgenden Vektoren und der Matrix X für ein Filter der Ordnung N und ein Anregungssignal x der Länge n:<br />
<br />
[[File:Matrix_1.PNG|400px]]<br />
Nach Inversenbildung erhält man folgenden Zusammenhang um das optimal identifizierte Filter zu berechnen:<br />
<br />
𝒔̂=(𝑿𝑻∙𝑿)−1∙𝑿𝑇∙𝒚<br />
<br />
Somit werden die Messung des Ausgangsignals y und die Messung des Anregungssignals x für die Berechnung benötigt.<br />
<br />
=== LMS-Algorithmus-Erweiterung für den Feedforward FxLMs und den Internal model Control ===<br />
<br />
Um die Adaption durch den LMS-Algorithmus zu verbessern oder zu stabilisieren gibt es Erweiterungen die zusätzlich implementiert werden können. Nachfolgend werden drei Varianten eingeführt, die oft eingesetzt werden.<br />
<br />
====Schrittweitensteuerung (Normalized-algorithm)====<br />
<br />
Der Normalized LMS-Algorithmus optimiert die Konvergenzgeschwindigkeit in Abhängigkeit von der aktuellen Leistung des Referenzsignals, sodass die Performance des Reglers auch bei Veränderungen der Anregung konstant bleibt. Dazu wird die Schrittweite des LMS-Algorithmus folgendermaßen berechnet:<br />
[[File:my.PNG|100px]]<br />
mit der normierten Schrittweite α (in der Implementierung festgelegt), der Filterordnung N von W(z) und der Schätzung der Leistung des Referenzsignals P̂x(n) zum Zeitpunkt n. Die Leistungsschätzung kann anhand folgender Methode mit einem exponentiellen Zeitfenster berechnet werden:<br />
𝑃̂𝑥(𝑛)=(1−𝛽)∙𝑃̂𝑥(𝑛−1)+𝛽∙𝑥²(𝑛)<br />
mit dem Glättungsparameter β, der als die entsprechende Zeitfensterlänge des exponentiellen Zeitfensters(https://de.wikipedia.org/wiki/Fensterfunktion) Mnorm=1/ β interpretiert werden kann. Das Zeitfenster wird über die vergangenen Werte des Signals x zur Schätzung der Leistung gelegt. Diese wird in der Implementierung festgelegt und hat folgenden Einfluss: Wenn Mnorm lang ist, erfolgt die Schätzung der mittleren Leistung über einen längeren Zeitraum und somit genauer, aber das Filter kann nicht auf schnelle Veränderungen der Leistung des Referenzsignals reagieren. Somit wird die Fensterlänge abhängig von der Art der Anregung gewählt (stationär oder instationär). Die Anfangsbedingung P̂x(0) muss definiert werden, sie hat dennoch keinen großen Einfluss auf die Funktionsweise des Reglers.<br />
<br />
==== Begrenzung der Ausgangsenergie ====<br />
Die Leaky-Variante verbessert die Stabilität indem die langfristige Divergenz der Filterkoeffizienten verhindert wird. Mit dieser Variante wird ein zusätzlicher Leakage-Faktor ν ∈ ]0;1] in die Adaptionsgleichung eingeführt:<br />
𝒘(𝑛+1)=𝜈∙𝒘(𝑛)+𝜇∙𝒙′(𝑛)∙𝑒(𝑛)<br />
Durch den Leakage-Faktor ν ist der Regler robuster: bei stochastisch leistungsstarkem Referenzsignal beispielsweise, wird die Regelung nicht unbegrenzt hochgefahren, sondern „vergisst“ mit den Iterationen schneller die stochastisch hohe Anregung, da die in w(n) enthaltene Information über vergangene Zustände mit der Gewichtung ν<1 in die Berechnung der neuen Filterkoeffizienten einfließt. Allerdings wird die erreichbare Performance des Reglers verschlechtert: wenn die optimalen Koeffizienten erreicht werden, sollte im nächsten Schritt keine Adaption stattfinden. e(n) ist dann null und somit auch der rechte Teil der Addition in der Adaptionsgleichung. Durch den Leakage-Faktor werden die Filterkoeffizienten jedoch verändert und das aktive System selbst führt einen Fehler ins System ein. Somit bewegen sich die Filterkoeffizienten in einem Bereich um den optimalen Filter aber erreichen es nie langfristig.<br />
Der Leakage-Faktor wird mit dem Gewichtungsfaktor γ∈[0;1] berechnet:<br />
𝜈=1−𝜇∙𝛾<br />
Somit wird der Leakage-Faktor zusätzlich an die Leistung des Referenzsignals (in der Schrittweite enthalten beim Normalized-Algorithmus) angepasst, um die oben genannte Einführung von Fehlern durch das aktive System zu reduzieren.<br />
<br />
==== Fehlersignal-Gestaltung ====<br />
In manchen Anwendungsfällen kann es von Nutzen sein, das Frequenzspektrum (https://de.wikipedia.org/wiki/Frequenzspektrum ) des Fehlersignals und des Referenzsignals gestalten zu können. Dafür werden beide Signale mit einer Gestaltungsfunktion C(z) gefiltert, bevor sie zur Adaption verwendet werden.<br />
<br />
[[File:Fehlersignalgestaltungserweiterung Feedforward Blockschaltbild.PNG|400px]]<br />
<br />
In OpenAdaptronik wurde diese Variante am Quadrocopter implementiert. Dort wurde ein Hochpassfilter(https://de.wikipedia.org/wiki/Hochpass ) für C(z) verwendet um die Eigenfrequenz der Starrkörpermode (https://de.wikipedia.org/wiki/Moden ) aus den Signale x‘(n) und e(n) zu entfernen.<br />
<br />
<ref>Meyer, M. (2006): Signalverarbeitung. Springer Vieweg, Wiesbaden, 4. Auflg.</ref><br />
<ref>KUO, S. und Morgan, D. (1996): Active Noise Control Systems – Algorithms and DSp Implementations. John Wiley &Sons Inc., New York</ref></div>Fabio