Lösung für y = sin( x pi / N) / x ?

Neue Frage »

Chris_31415 Auf diesen Beitrag antworten »
Lösung für y = sin( x pi / N) / x ?
Hallo,

ich bin auf der Suche nach einer effizienten Lösungsmethode, die inverse sinc-Funktion zu berechnen - sprich herauszufinden, wie gross x sein muss, um bei bekanntem y und N



zu erfüllen. Mit einer einfachen Umformung scheint es ja nicht getan zu sein.
Kann mir jemand erklären, wie ich mit geringem Berechnungsaufwand zu einem (möglichst genauen) Ergebnis kommen kann?

Ich weiss, dass es Iterative Näherungsverfahren gibt, die hierfür einsetzbar wären, aber wie sähe ein Iterationsschritt aus, der mit möglichst wenig Berechnungsaufwand - gemessen in FLOPs (Floating Point Operations) - einen guten Zuwachs an Genauigkeit liefert?

Grüße,
Chris
HAL 9000 Auf diesen Beitrag antworten »

In der Nähe des Nullpunkts gilt ja gemäß Potenzreihenentwicklung



Und davon brauchst du die Umkehrfunktion, die man natürlich auch in eine Art Potenzreihe entwickeln könnte - keine Ahnung, ob es sowas ist, was du suchst. verwirrt
Kasen75 Auf diesen Beitrag antworten »

@Chris_31415

Wie sind die Definitionsmengen von x, y und N ?
Chris_31415 Auf diesen Beitrag antworten »

Du meinst, wie in diesem Beitrag beschrieben ?

Ja, das wäre sicher eleganter, als sich per Newton o.ä. anzunähern, obwohl wiederholtes Wurzelziehen auch einiges an Rechenzeit kosten kann (ist für eine Echtzeit-Audioanwendung).

Einige Details sind mir aber immer noch unklar:

Wieso nur in der Nähe des Nullpunkts? Sowohl N als auch y sind nach oben nicht begrenzt - daher kann x durchaus größer als 1 werden.. muss ich da vorher irgendwie normieren (also mit x/N substituieren)?

Wie müsste die Taylorreihe lauten, wenn man den Faktor Pi/N im Sinus mit einbezieht?

Wie bestimme ich (zur Laufzeit), welchen "Ast" der Wurzel ich ausrechnen muss?

Könnte es unter Umständen effizienter sein, einen geeigneten Startwert mittels eines (kurzen) Taylor-Polynoms zu generieren und diesen dann durch ein geeignetes Näherungsverfahren präziser zu bestimmen? Für eine erste Näherungslösung könnte hier evtl. auch eine vordefinierte (Lookup-)Tabelle herangezogen werden.

Grüsse,
Chris
HAL 9000 Auf diesen Beitrag antworten »

Zitat:
Original von Chris_31415
Du meinst, wie in diesem Beitrag beschrieben ?

Nein, so meinte ich es nicht.

Einmal Wurzelziehen am Anfang, ja - der Rest aber über Taylorreihe, wo man doch mit Addition/Multiplikation auskommt.
Chris_31415 Auf diesen Beitrag antworten »

@Kasen75

x/N dürfte stets zwischen 0 und 1 liegen, N ist eine natürliche Zahl (i.d.R. eine zweierpotenz), y ist reell. x kann daher wie gesagt auch größer 1 sein. Alternativ kann man das Problem aber auch für z=x/N statt für x formulieren.
 
 
Chris_31415 Auf diesen Beitrag antworten »

@HAL 9000

Okay, aber wie sieht die Taylorreihe der inversen meiner Formel denn nun aus? Und wo kommt dann die Wurzel ins Spiel, wenn nicht beim Auflösen der Taylor-Reihe nach x wie in dem anderen Thread? Tut mir leid, aber das Herleiten von Taylorreihen wurde bei mir in Mathe nicht so im Detail erklärt, schon eher deren Anwendung.
HAL 9000 Auf diesen Beitrag antworten »

Mal ein wenig suchen, da kann ich mir hier die Arbeit sparen: Ich hatte in etwa an sowas gedacht

http://www.dsprelated.com/showmessage/13099/1.php
Chris_31415 Auf diesen Beitrag antworten »

Ja, das sieht ganz danach aus was ich gesucht habe.

Wen ich das richtig lese, bezieht sich der Autor hier auf eine sinc-Funktion, bei der x0, das erste Minimum für x>0 etwa bei 4.4934 liegt. Bei x=pi müsste dann der erste Nulldurchgang zu finden sein, richtig?

In Substituierter Form erhalte ich also ein a zwischen 0 und pi, für das gilt:



und somit nach re-Substitution



, soweit korrekt?
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »