Summierung von Phasenverläufen in Diagrammen

OP #5692532
Servus!

Ich bin dabei für mein Programm "Pulseaudio Crossover Rack" 
Unterstützung für Frequenzgangs-Dateien (.FRD) zu implementieren.

Ziel ist es, einzelne Frequenzgangsverläufe von Lautsprechern zu messen, 
Filter darauf anzuwenden und die Verläufe danach aufzusummieren um einen 
Gesamtverlauf zu bekommen bzw. diesen dann zu optimieren. Ein Beispiel 
mit einem Tieftöner und einem Mitteltöner hab ich als Bilder mal 
angehängt, damit wird's vielleicht etwas klarer.

Nun, das Aufsummieren der Magnituden ist ja trivial, was ich noch 
implementieren muss ist der Phasenverlauf der Summenkurve und da setzt's 
bei mir schon wieder mal aus mit der Mathematik. Hat jemand einen Tipp 
für mich, wie man das anstellt?

Vielen Dank schon mal im Voraus und VG,
Jürgen
Angehängte Dateien:
OP #5693022
Ja äh, das will ich :)

Sorry, ich bin immer noch ein DSP-noob und absolut 100%ig aus der Übung 
was die Mathematik angeht, is schließlich >20y her.

Aber dank solcher stichwortartigen Inputs wie von Dir und etwas googeln 
komm ich dann schon auf die richtigen Lösungen ;)

Danke und VG,
Jürgen
#5693037
Moin,

Axo. Da nimmste deine ganzen zu summierenden Amplituden jeweils mal dem 
cosinus ihres Winkels:

X=A1*cos(phi1)+A2*cos(phi2)+...

und das ganze nochmal mit dem sinus:

Y=A1*sin(phi1)+A2*sin(phi2)+...

Dann ist die Summe der einzelnen Ampliduden:
A=sqrt(A1²+A2²+...)
und der dazugehoerige Winkel
phi=atan2(Y/X) (mit den entsprechenden Vorsichtsmassnahmen, wenn X=0 ;-) 
)

https://en.wikipedia.org/wiki/Atan2

Gruss
WK
OP #5693081
Danke nochmal, in Python gehts tatsächlich noch einfacher. Umwandeln in 
komplexe Zahl:

C = magnitude  * math.exp(1j * phi)

magnitude als Faktor, phi als Winkel in rad

Aufsummieren ist ja tatsächlich trivial auch für komplexe Zahlen.

Das konvertieren zurück geht auch ganz einfach:

magnitude, phi = cmath.polar(C)

VG Jürgen

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.