Seite 2 von 2

Re: OSZILLATOREN [3] WAVETABLES

Verfasst: 29. August 2012, 14:41
von herw
Rampensau hat geschrieben:Die Temperierungsformel,.. nein... Der Temperierungssatz wäre ein schönes erstes Thema für das Mathe-Board. :D
[...]
ja, das habe ich schon in der letzten Woche auf die TO-DO-Liste gesetzt.
::nikolaus::

Re: OSZILLATOREN [3] WAVETABLES

Verfasst: 29. August 2012, 14:47
von Rampensau
herw hat geschrieben:ja, das habe ich schon in der letzten Woche auf die TO-DO-Liste gesetzt.
Schön. Das eilt ja nicht. Das Forum wächst ja über die Zeit und nicht über die Frequenz.. :mrgreen:

Re: OSZILLATOREN [3] WAVETABLES

Verfasst: 31. August 2012, 16:12
von Rampensau
gerade.jpg
Wie schon erwähnt, löst die gesuchte Geradengleichung ein einfaches lineares 2x2 Gleichungssystem. Stellt man die Forderung, dass die zwei gegebenen Punkte dieselbe Geradengleichung erfüllen müssen, also P1 und P2 sich auf der selben Geraden befinden, so erhält man das Gleichungssystem, wenn man jeweils die Punkte in die allgemeine Form einsetzt, also:
2x2GS.jpg
(2) ist nun einfach mittels Einsetzmethode oder
Cramerscher Regel zu lösen. Nach Umformung erhält man in jedem Fall die 2-Punkte-Form der Geradengleichung (3), welche sehr einfach zu programmieren ist, wie wir sehen werden:
2-Punkte-Form.jpg
Wer nun auf diese Weise durch mehrere Punkte interpolieren möchte, muss höhere Gleichungssysteme lösen, was nicht mehr ganz so einfach ist.

Re: OSZILLATOREN [3] WAVETABLES

Verfasst: 2. September 2012, 22:48
von Rampensau
Um die Interpolation nun zu implementieren, müssen nur noch die Unbekannten in Reaktor identifiziert werden. Die y-Werte sind die Datenpunkte, welchen an den x-Stellen dem Array entnommen werden. Da zwei Punkte gleichzeitig in die Interpolation eingehen, werden auch zwei Read-Makros benötigt.
read.jpg
Die y_i-Werte werden jeweils an ganzzahligen x_i-Stellen entnommen. Die Stelle x1 folgt direkt auf x0. Die Differenz ergibt also immer 1. Die Interpolierende y liegt an einer Stelle x zwischen den x_i-Stellen. Die Geradengleichung ist also einfach zu programmieren.
read 2p.jpg
Zur Erinnerung: Die Modulo-Adressierung verhindert, dass der Index ungültig wird, sich also außerhalb von 0 bis N-1 befindet.
Wavetable Interpolated.ens