Bei der Berechnung des Winkels komplexer Zahlen, also arctan(Imaginärteil/Realteil) gibt es bei 90° jeweils einen Sprung. Warum ist klar! Wie kann man nun die Berechnungen so modifizieren, dass der Winkel über die 90 Grad bzw. über 180 Grad usw. kontinuierlich weiter läuft, ohne das er zwischen Plus und Minus hin und her springt und ohne wenn/dann-Abfragen zu verwenden? Beispiel Filterberechnung; bei einem Hochpass 4. Ordnung verläuft der Phasenwinkel von +360° bis 0° von niedrigen zu hohen Frequenzen hin. Mit der Standard-Filterberechnung s.o. erhalte ich unschöne Sprünge im Graphen. Gibt es eine rein mathematische Lösung für dieses Problem? Ich würde mich sehr darüber freuen!
Hi
Ich weiss nicht ob ich dein Problem richtig versteh deshalb schreib ich einfach mal was ich dazu denke. Hast du denn den Betrag, sodass du den Cosinus oder Sinus verwenden kannst?
sry wenn du Antwort nicht passt
gruß pedr01988
Hi pedr01988,
mit dem sin uns cos habe ich natürlich auch schon gerechnet. Der Betrag ist ja leicht zu errechnen. Doch spätestens bei 180° gibt es auch hier wieder einen Sprung, weil auch der sin dort einen Nulldurchgang hat und die weiteren Werte nicht mehr eindeutig sind, bzw wieder zwischen 0 - 180° liegen. Bisher habe ich mit wenn/dann-Abfragen gearbeitet und dann entsprechend mit ±180° korrigiert. Ist aber recht umständlich uns wenn Du Hoch- und Tiefpässe vom 1. bis sagen wir mal 10. Grad darstellen willst ist das schon sehr aufwendig. Vielleicht gibt es ja eine elegantere Lösung?
Gruß Antonius51
Bei einem Hochpass 4.
Ordnung verläuft der Phasenwinkel von +360° bis 0° von
niedrigen zu hohen Frequenzen hin. Mit der
Standard-Filterberechnung s.o. erhalte ich unschöne Sprünge im
Graphen. Gibt es eine rein mathematische Lösung für dieses
Problem? Ich würde mich sehr darüber freuen!
Hi Antonius,
zum Berechnen des Winkels einer komplexen Zahl z≠0 mit Realteil x und Imaginärteil y eignet sich folgende Formel ganz gut.
\varphi(z)=\begin{cases}\pi & \text{falls }y=0\text{ und }x
Dabei ist sgn die Signum- oder auch Vorzeichen-Funktion, also
\text{sgn}(y)=\begin{cases}1 & \text{falls }y>0\0 & \text{falls }y=0\-1 & \text{falls }y
Wenn ich dich richtig verstanden habe, willst du die ganzen Fallunterscheidungen mit dem Vorzeichen von y mathematisch in einer einzigen Formel ausrücken und außerdem nur positive Winkel haben. Ich denke allerdings um die Abfrage ob y gleich 0 ist wirst du nicht herumkommen. Diese eine Abfrage reicht allerdings. Mein Vorschlag wäre folgender.
Zuerst fragst du ab ob y gleich 0 ist. Wenn ja, dann ist φ=sgn(x)π.
Wenn y≠0, dann kannst du das Vorzeichen von y auch so berechnen.
\text{sgn}(y)=\frac{y}{\vert y\vert}=\frac{y}{\sqrt{y^2}}
Dazu braucht man also keine Abfrage mehr. Bis jetzt ergibt das
\varphi(z)=\begin{cases}\frac{x}{\sqrt{x^2}}\pi & \text{falls }y=0\\frac{y}{\sqrt{y^2}}\arccos\left(\frac{x}{\sqrt{x^2+y^2}}\right) & \text{sonst}\end{cases}
Du solltest nur sicher stellen, dass z≠0, denn sonst wären sowohl x als auch y 0 und dann würde im ersten Fall durch 0 geteilt.
Jetzt willst du ja noch, dass statt eines negativen Winkels ein Winkel zwischen 180° und 360° herauskommt. Das könnte man so hinkriegen.
\varphi(z)=\begin{cases}\frac{x}{\sqrt{x^2}}\pi & \text{falls }y=0\\frac{y}{\sqrt{y^2}}\arccos\left(\frac{x}{\sqrt{x^2+y^2}}\right)+\frac{1}{2}\left(1-\frac{y}{\sqrt{y^2}}\right)360^{\circ} & \text{sonst}\end{cases}
Wenn y>0, dann kommt in der Klammer im zweiten Summanden 0 raus und für φ ergibt sich der normale positive Winkel zwischen 0° und 180°. Für y\varphi(z)=\begin{cases}\frac{x}{\sqrt{x^2}}\pi & \text{falls }y=0\\frac{y}{\sqrt{y^2}}\left(\arccos\left(\frac{x}{\sqrt{x^2+y^2}}\right)-180^{\circ}\right)+180^{\circ} & \text{sonst}\end{cases}
Ich hoffe, das ist etwa das was du gesucht hast.
Gruß
hendrik
Hi Hendrik,
zunächst einmal vielen Dank das Du Dich mit dem Problem befasst hast! Deine Ausführungen sehen sehr viel versprechend aus! Ich muss das jetzt erst mal verarbeiten. Leider bleibt mir vor Weihnachten nicht mehr viel Zeit. Melde mich danach. Ich wünsche Dir frohe Weihnachten.
Gruß
Antonius
Ich wünsche Dir frohe Weihnachten.
Das wünsche ich dir auch.
Gruß
hendrik