OSZILLATOREN [1] BASISWELLEN
Moderator: herw
- Rampensau
- meister
- Beiträge: 192
- Registriert: 6. Dezember 2009, 20:32
Hintergründe:Taylor-Formel
Mittels Taylor-Formel lassen sich also Funktionen annähern. Um das zu tun, müssen wir aber noch ein paar Aussagen über unsere anzunähernde Funktion treffen.
Schauen wir uns zunächst die Taylor-Formel an. Darin erkennen wir, worüber Aussagen zu treffen sind.
Die Funktion f(x) setzt sich zusammen aus dem Taylorpolynom T(x) und einem Fehler- bzw. Restglied [R(x)].
Das Taylorploynom lässt sich also beschreiben als Summenfolge der ersten n Ableitungen in der Entwicklungstelle x_0 durch einen Ausdruck k! geteilt und mit einem Ausdruck (x-x_0)^k multipliziert und dann zu der n+1-ten Ableitung and der Stelle c durch einen Ausdruck (n+1)! geteilt und mit einem Ausdruck (x-x_0)^(n+1) multipliziert
f^(k)(x) bezeichnet die k. Ableitung der Funktion f(x)
Der Ausdruck k! bezeichnet die Fakultät von k. Das heißt eine Zahl die mit all ihren ganzzahligen Vorgängern multipliziert wird. Z.B. 5!=1*2*3*4*5=120
Ein Sonderfall ist die 0.
Hier gilt: 0!=1
(x-x_0)^k ist der Abstand von der Entwicklungsstelle x_0 zu der Variablen x(die Phase) mit dem Exponenten k.
Je weiter der Abstand zur Entwicklungsstelle, desto größer ist die Abweichung. Daher spricht man von einer Annäherung in einer lokalen Umgebung um die Stelle x_0.
Je größer n desto höher ist die Genauigkeit der Annäherung, und desto kleiner ist das Restglied.
Das Restglied setzt sich genau so zusammen wie das Taylorpolynom, jedoch wird an der Stelle c abgeleitet.
Außerdem wird dieser Term nicht mit in die Summenformel geschrieben.
Die Stelle c existiert zwischen x und x_0 mindestens ein Mal. Die Steigung der Tangente an der Stelle f(c) ist gleich der Steigung der Sekante durch f(x) und f(x_0). Für die Annäherung interessiert uns aber nur das Taylorpolynom. Das Fehlerglied zeigt nur, dass ein gewisser Fehler da ist und das Taylorpolynom zu der Funktion f(x) ergänzt.
Es gilt also : Aber das sind nur ein paar Hintergründe. Um anzunähern benötigen wir zunächst die Funktionswerte der Ableitungen in einer frei gewählten Entwicklungsstelle x_0.
Schauen wir uns zunächst die Taylor-Formel an. Darin erkennen wir, worüber Aussagen zu treffen sind.
Die Funktion f(x) setzt sich zusammen aus dem Taylorpolynom T(x) und einem Fehler- bzw. Restglied [R(x)].
Das Taylorploynom lässt sich also beschreiben als Summenfolge der ersten n Ableitungen in der Entwicklungstelle x_0 durch einen Ausdruck k! geteilt und mit einem Ausdruck (x-x_0)^k multipliziert und dann zu der n+1-ten Ableitung and der Stelle c durch einen Ausdruck (n+1)! geteilt und mit einem Ausdruck (x-x_0)^(n+1) multipliziert
f^(k)(x) bezeichnet die k. Ableitung der Funktion f(x)
Der Ausdruck k! bezeichnet die Fakultät von k. Das heißt eine Zahl die mit all ihren ganzzahligen Vorgängern multipliziert wird. Z.B. 5!=1*2*3*4*5=120
Ein Sonderfall ist die 0.
Hier gilt: 0!=1
(x-x_0)^k ist der Abstand von der Entwicklungsstelle x_0 zu der Variablen x(die Phase) mit dem Exponenten k.
Je weiter der Abstand zur Entwicklungsstelle, desto größer ist die Abweichung. Daher spricht man von einer Annäherung in einer lokalen Umgebung um die Stelle x_0.
Je größer n desto höher ist die Genauigkeit der Annäherung, und desto kleiner ist das Restglied.
Das Restglied setzt sich genau so zusammen wie das Taylorpolynom, jedoch wird an der Stelle c abgeleitet.
Außerdem wird dieser Term nicht mit in die Summenformel geschrieben.
Die Stelle c existiert zwischen x und x_0 mindestens ein Mal. Die Steigung der Tangente an der Stelle f(c) ist gleich der Steigung der Sekante durch f(x) und f(x_0). Für die Annäherung interessiert uns aber nur das Taylorpolynom. Das Fehlerglied zeigt nur, dass ein gewisser Fehler da ist und das Taylorpolynom zu der Funktion f(x) ergänzt.
Es gilt also : Aber das sind nur ein paar Hintergründe. Um anzunähern benötigen wir zunächst die Funktionswerte der Ableitungen in einer frei gewählten Entwicklungsstelle x_0.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Rampensau am 25. Februar 2011, 13:29, insgesamt 6-mal geändert.
Einstieg und Weiterführendes in Core:
OSZILLATOREN [1] BASISWELLEN, OSZILLATOREN [2] ALIASING, OSZILLATOREN [3] WAVETABLES
OSZILLATOREN [1] BASISWELLEN, OSZILLATOREN [2] ALIASING, OSZILLATOREN [3] WAVETABLES
- Rampensau
- meister
- Beiträge: 192
- Registriert: 6. Dezember 2009, 20:32
Linearisierung
Beispiel [n=1]: Linearisierung(Oft in der Technik)
Die erste Ableitung des Sinus ist der Cosinus. Wenn wir 0 als Entwicklungsstelle wählen, können wir genau sagen, welchen Wert beide Funktionen in der Stelle haben: Eingesetzt in die Taylorformel erhält man eine Geradengleichung, die dieselbe Steigung hat, wie f(x) in der Stelle x_0. Hier sieht man: Die Steigung von T1(x)=x ist: T1'(x)=1
Die Steigung von f(x)=sin x in x=0 ist: f '(0)= cos 0 = 1
Das ist ein Taylorpolynom ersten Grades bzw eine lineare Annäherung an f(x).
Für die Verwendung als "Waveshaper" für unsere Phase ist das zu ungenau. Also werden wir den Grad einfach mal erhöhen.
Rechnen wir unser Beispiel einfach mal durch mit n=11...
Für die Linearisierung benötigen wir also nur f(x) selbst und die erste Ableitung.Die erste Ableitung des Sinus ist der Cosinus. Wenn wir 0 als Entwicklungsstelle wählen, können wir genau sagen, welchen Wert beide Funktionen in der Stelle haben: Eingesetzt in die Taylorformel erhält man eine Geradengleichung, die dieselbe Steigung hat, wie f(x) in der Stelle x_0. Hier sieht man: Die Steigung von T1(x)=x ist: T1'(x)=1
Die Steigung von f(x)=sin x in x=0 ist: f '(0)= cos 0 = 1
Das ist ein Taylorpolynom ersten Grades bzw eine lineare Annäherung an f(x).
Für die Verwendung als "Waveshaper" für unsere Phase ist das zu ungenau. Also werden wir den Grad einfach mal erhöhen.
Rechnen wir unser Beispiel einfach mal durch mit n=11...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Rampensau am 25. Februar 2011, 04:00, insgesamt 6-mal geändert.
Einstieg und Weiterführendes in Core:
OSZILLATOREN [1] BASISWELLEN, OSZILLATOREN [2] ALIASING, OSZILLATOREN [3] WAVETABLES
OSZILLATOREN [1] BASISWELLEN, OSZILLATOREN [2] ALIASING, OSZILLATOREN [3] WAVETABLES
- Rampensau
- meister
- Beiträge: 192
- Registriert: 6. Dezember 2009, 20:32
Berechnungsvorschrift
Berechnen wir einmal die ersten Ableitungen an einer Entwicklungsstelle x_0.
Wir wählen x_0 = 0: Wie man sieht, wiederholen sich die Ableitungen periodisch. Hier kann man sehen, dass in dem Polynom nur Glieder mit ungeraden Exponenten auftreten. Weil für [n gerade] jeweils [+-sin 0 = 0] berechnet wird.
Setzen wir in die Taylorformel ein: so sehen wir, dass die Koeffizienten der geraden Exponenten immer 0 sind.
Streichen wir die Terme mit den Nullen, so erkennt man eine Berechnungsvorschrift: Man beachte, dass der Index dieser Berechnungsvorschrift nicht mehr dem Grad des Taylorpolynoms entspricht. Der Index [n] verschiebt sich um [2n+1].
Wir wählen x_0 = 0: Wie man sieht, wiederholen sich die Ableitungen periodisch. Hier kann man sehen, dass in dem Polynom nur Glieder mit ungeraden Exponenten auftreten. Weil für [n gerade] jeweils [+-sin 0 = 0] berechnet wird.
Setzen wir in die Taylorformel ein: so sehen wir, dass die Koeffizienten der geraden Exponenten immer 0 sind.
Streichen wir die Terme mit den Nullen, so erkennt man eine Berechnungsvorschrift: Man beachte, dass der Index dieser Berechnungsvorschrift nicht mehr dem Grad des Taylorpolynoms entspricht. Der Index [n] verschiebt sich um [2n+1].
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Einstieg und Weiterführendes in Core:
OSZILLATOREN [1] BASISWELLEN, OSZILLATOREN [2] ALIASING, OSZILLATOREN [3] WAVETABLES
OSZILLATOREN [1] BASISWELLEN, OSZILLATOREN [2] ALIASING, OSZILLATOREN [3] WAVETABLES
- herw
- moderator
- Beiträge: 3123
- Registriert: 13. März 2006, 18:28
- Wohnort: Dortmund
Re: Berechnungsvorschrift
Der Grad bleibt aber gleich, da 2·5+1=11, und das ist das wichtige.Rampensau hat geschrieben:[...]
Streichen wir die Terme mit den Nullen, so erkennt man eine Berechnungsvorschrift: Man beachte, dass der Index dieser Berechnungsvorschrift nicht mehr dem Grad des Taylorpolynoms entspricht. Der Index [n] verschiebt sich um [2n+1].
Das entspricht ja dann wohl der obigen Abbildung in post http://www.reaktor.approx.de/phpbb3/dow ... hp?id=1699
- Rampensau
- meister
- Beiträge: 192
- Registriert: 6. Dezember 2009, 20:32
Re: Berechnungsvorschrift
jupp.herw hat geschrieben: Der Grad bleibt aber gleich, da 2·5+1=11, und das ist das wichtige.
exakt. Nur meine Koeffizienten bei n>5 weichen etwas ab.herw hat geschrieben: Das entspricht ja dann wohl der obigen Abbildung in post http://www.reaktor.approx.de/phpbb3/dow ... hp?id=1699
Ich will aber noch ergänzend wiederholen, dass es sich um eine lokale Annäherung handelt. Je höher der Grad, desto mehr erhöht sich die Genauigkeit in der lokalen Umgebung. Eine Annäherung vom 11.Grad reicht, um eine ganze Periode abzudecken und unseren Ohren im Intervall [-Pi...Pi] einen Sinus vorzugaukeln.
Da unsere Entwicklungsstelle, der Mittelwert dieser lokalen Umgebung ist und eine Sinusperiode 2*Pi umfasst, nähert sich das Taylorpolynom in dem Bereich [-Pi...Pi] an den Sinusgraphen. Daher muss das Phasensignal x noch auf den nötigen Bereich [-Pi...Pi] skaliert werden. Dazu wird es einfach mit Pi multipliziert.
Kurz:
Will man eine (in x_0 stetige, differenzierbare) Funktion f(x) mittels Taylorformel annähern, benötigt man die Funktionswerte von n Ableitungen der Funktion in x_0 f^(n)(x_0) und setzt diese in die Taylorformel Tn(x) ein.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Einstieg und Weiterführendes in Core:
OSZILLATOREN [1] BASISWELLEN, OSZILLATOREN [2] ALIASING, OSZILLATOREN [3] WAVETABLES
OSZILLATOREN [1] BASISWELLEN, OSZILLATOREN [2] ALIASING, OSZILLATOREN [3] WAVETABLES
- Triton
- synthesist
- Beiträge: 58
- Registriert: 1. August 2010, 17:22
- Wohnort: Gießen
- Kontaktdaten:
Re: OSZILLATOREN
Für ein breiteres Intervall kann man dann auch eine Tschebyscheff-Approximation statt Taylor nehmen. Der Vorteil davon ist, dass sich der Fehler über das Intervall verteilt (und nicht an einem Punkt minimal ist und von da weggehend zunimmt). (Hab mal einen Core Cell Beitrag zu eröffnet).
- Rampensau
- meister
- Beiträge: 192
- Registriert: 6. Dezember 2009, 20:32
Re: OSZILLATOREN
Cool danke. Schau ich mir mal genauer an.Triton hat geschrieben:Hab mal einen Core Cell Beitrag zu eröffnet.
Einstieg und Weiterführendes in Core:
OSZILLATOREN [1] BASISWELLEN, OSZILLATOREN [2] ALIASING, OSZILLATOREN [3] WAVETABLES
OSZILLATOREN [1] BASISWELLEN, OSZILLATOREN [2] ALIASING, OSZILLATOREN [3] WAVETABLES
- herw
- moderator
- Beiträge: 3123
- Registriert: 13. März 2006, 18:28
- Wohnort: Dortmund
Re: Berechnungsvorschrift
Da die Sinusfunktion sich auch schon komplett durch eine Viertelperiode beschreiben lässt, kommt man für weniger anspruchsvolle Approximationen sogar mit noch weniger Polynomen aus (das ist dann der Parabel-Oszillator).
- Rampensau
- meister
- Beiträge: 192
- Registriert: 6. Dezember 2009, 20:32
Re: OSZILLATOREN
Die Parabel hört sich aber doof an. Wie man hier ganz schön sehen kann.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Einstieg und Weiterführendes in Core:
OSZILLATOREN [1] BASISWELLEN, OSZILLATOREN [2] ALIASING, OSZILLATOREN [3] WAVETABLES
OSZILLATOREN [1] BASISWELLEN, OSZILLATOREN [2] ALIASING, OSZILLATOREN [3] WAVETABLES
- herw
- moderator
- Beiträge: 3123
- Registriert: 13. März 2006, 18:28
- Wohnort: Dortmund
Re: OSZILLATOREN
... „weniger anspruchsvolle Approximationen” ... meint zum Beispiel beim LFO.Rampensau hat geschrieben:Die Parabel hört sich aber doof an. Wie man hier ganz schön sehen kann.
Aber natürlich hast du Recht; der Vergleich der beiden Frequenzanalysen ist interessant. Kannst Du mal einen Vergleich für relativ niedrige Frequenzen liefern (100Hz, 10Hz)?
BTW: doofe Klänge gibt's nicht
ciao herw
- Rampensau
- meister
- Beiträge: 192
- Registriert: 6. Dezember 2009, 20:32
Re: OSZILLATOREN
Ich schätze, bei so niedrigen Frequenzen macht die FFT nicht mehr mit.herw hat geschrieben:Kannst Du mal einen Vergleich für relativ niedrige Frequenzen liefern (100Hz, 10Hz)?
Aber um sich das mal selbst anzuschauen, lad ich mal das Testgelände hoch.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Einstieg und Weiterführendes in Core:
OSZILLATOREN [1] BASISWELLEN, OSZILLATOREN [2] ALIASING, OSZILLATOREN [3] WAVETABLES
OSZILLATOREN [1] BASISWELLEN, OSZILLATOREN [2] ALIASING, OSZILLATOREN [3] WAVETABLES
- Rampensau
- meister
- Beiträge: 192
- Registriert: 6. Dezember 2009, 20:32
Bandbeschränktheit
Es gibt viele Techniken, die dazu dienen, diese Störgeräusche vor oder nach der Messung (dem Sampling) zu unterbinden.Manchmal ist es nämlich gar nicht nötig, zu antialisieren.
In den Fällen hat man meist dafür gesorgt, dass das Signal bereits bandbeschränkt ist, d.h. keine Anteile mit höheren Frequenzen als der halben Samplerate im Signal vorhanden sind.
Das ist für die digitale Weiterverarbeitung der Optimalfall.
Nun könnte man ja behaupten, dass man bei der Generierung eines Signals, gar nicht erst in die Bedrängnis kommt, ein unbeschränktes Signal abtasten zu müssen. Das ist auch vollkommen richtig.
In der Tat generieren wir bereits bandbeschränkte Signale mit den disktutierten Oszillatoren. Nur in diesem Band sind die heruntergespiegelten Alias-Anteile bereits vorhanden. Ohne jede Möglichkeit das Signal vorher bandzubeschränken.
Um diese aliasierenden Bestandteile nachträglich herauszufiltern gibt es abermals eine Vielzahl von Ansätzen, wie Oversampling, FFT-Filter, ... Es gibt auch Verfahren, die bereits bandbeschränkte, störfreie Signale erzeugen.
Wenn man dann nicht nur statische Wellenformen, sondern auch dynamische Klänge entstören will, wird das irgendwann sehr akademisch und im Netz gibt es leider nicht viel Infos dazu.
Der zu wählende Ansatz und der damit verbundene Rechenaufwand muss dann auch dem Nutzen angemessen sein.
Die hier diskutierten Schwinger liegen nun in ihrer simpelsten Form vor und erzeugen einfach nur statische bandbeschränkte aliasbehaftete Wellenformen.
Einen universellen Algorithmus zur Entstörung habe ich bisher nicht gefunden. Ich werde auch noch nicht allzu viel dazu schreiben können, also beschränke ich es im Folgenden auf wenige Beispiele.
[...]
In den Fällen hat man meist dafür gesorgt, dass das Signal bereits bandbeschränkt ist, d.h. keine Anteile mit höheren Frequenzen als der halben Samplerate im Signal vorhanden sind.
Das ist für die digitale Weiterverarbeitung der Optimalfall.
Nun könnte man ja behaupten, dass man bei der Generierung eines Signals, gar nicht erst in die Bedrängnis kommt, ein unbeschränktes Signal abtasten zu müssen. Das ist auch vollkommen richtig.
In der Tat generieren wir bereits bandbeschränkte Signale mit den disktutierten Oszillatoren. Nur in diesem Band sind die heruntergespiegelten Alias-Anteile bereits vorhanden. Ohne jede Möglichkeit das Signal vorher bandzubeschränken.
Um diese aliasierenden Bestandteile nachträglich herauszufiltern gibt es abermals eine Vielzahl von Ansätzen, wie Oversampling, FFT-Filter, ... Es gibt auch Verfahren, die bereits bandbeschränkte, störfreie Signale erzeugen.
Wenn man dann nicht nur statische Wellenformen, sondern auch dynamische Klänge entstören will, wird das irgendwann sehr akademisch und im Netz gibt es leider nicht viel Infos dazu.
Der zu wählende Ansatz und der damit verbundene Rechenaufwand muss dann auch dem Nutzen angemessen sein.
Die hier diskutierten Schwinger liegen nun in ihrer simpelsten Form vor und erzeugen einfach nur statische bandbeschränkte aliasbehaftete Wellenformen.
Einen universellen Algorithmus zur Entstörung habe ich bisher nicht gefunden. Ich werde auch noch nicht allzu viel dazu schreiben können, also beschränke ich es im Folgenden auf wenige Beispiele.
[...]
Einstieg und Weiterführendes in Core:
OSZILLATOREN [1] BASISWELLEN, OSZILLATOREN [2] ALIASING, OSZILLATOREN [3] WAVETABLES
OSZILLATOREN [1] BASISWELLEN, OSZILLATOREN [2] ALIASING, OSZILLATOREN [3] WAVETABLES
- herw
- moderator
- Beiträge: 3123
- Registriert: 13. März 2006, 18:28
- Wohnort: Dortmund
Re: Bandbeschränktheit
Wegen des Umfangs wurde das Thema von mir auftgetrennt.
Hier geht's weiter:
OSZILLATOREN [2] ALIASING
Hier geht's weiter:
OSZILLATOREN [2] ALIASING