Hallo zusammen! Ich habe ein Sinusignal bekannter Frequenz aber unbekannter Phase und Amplitude, das ich vermessen möchte. Als Phasenreferenz habe ich ein Signal gleicher Frequenz, dass jeweils bei phi = 0°,90°,180° und 270° einen ADC triggert der mir die momentane Amplitude a(phi) des zu messenden Signals zurück gibt (1/Messzeit << Frequenz). Bisher habe ich Amplitude: A = sqrt( (a(0°)-a(180°))² + (a(90°)-a(270°))² ) Das klappt soweit schon ganz gut, jetzt fehlt mir also noch die Phase. Mein Ansatz soweit: P = atan2( a(90°)-a(270°), a(0°)-a(180°) ) Müsste eigentlich soweit ok sein, wenn ich jetz die Werte für ein Signal gleicher Amplitude (A=2) aber mit 45° Phasenverschiebung einsetze: P = atan2( 0,707 - -0.707, -0,707 - 0.707 ) = atan2(1,414 , -1,414) = atan2( sqrt(2), -sqrt(2) ) = 135° Ok, hier noch Pi/2 bzw 90° subtrahieren und schon passt es (stimmt das???). Jetzt geht das Problem los sobald ich richtige Messwerte nehme: Als Referenz: a(0°)=-73,73, a(90°)=-7,26, a(180°)=-59,3, a(270°)=6,63 Dazu orthogonal bzw. 90° verschoben sollte sein (mit dem Scope bestätigt): a(0°)=-13,13, a(90°)=-56,04, a(180°)=17,2, a(270°)=-25,35 Wie man sieht haben die Signale einen offset und nicht unbedingt die gleiche Amplitude, aber sicher die gleiche Frequenz, daher sollte doch die atan2-Methode funktionieren, oder? Für die Referenz bekommen ich mit den Werten: atan2(-13,89, -14,43) = -136,1° Für die 90° verschobenen Werte: atan2(-30,69, -30,33) = -134,7° Irgendwie bekomme ich bei allen Messwerten irgendwas um 135° raus. Hat jemand eine Idee was ich falsch mache? Stimmt die Formel für die Phase so? Bin ratlos und freue mich über jede Hilfe! Vielen Dank! Jan
Jan schrieb: > Bisher habe ich Amplitude: > > A = sqrt( (a(0°)-a(180°))² + (a(90°)-a(270°))² ) Nein - das ist die doppelte Amplitude. > Das klappt soweit schon ganz gut, jetzt fehlt mir also noch > die Phase. Mein Ansatz soweit: > > P = atan2( a(90°)-a(270°), a(0°)-a(180°) ) Ja. > Müsste eigentlich soweit ok sein, wenn ich jetz die Werte > für ein Signal gleicher Amplitude (A=2) aber mit 45° > Phasenverschiebung einsetze: Nein. Du hast die Amplituden für 135° eingesetzt. > > P = atan2( 0,707 - -0.707, -0,707 - 0.707 ) > = atan2(1,414 , -1,414) > = atan2( sqrt(2), -sqrt(2) ) = 135° Kommt hier auch heraus. > Ok, hier noch Pi/2 bzw 90° subtrahieren und schon passt es > (stimmt das???). Nein. > Jetzt geht das Problem los sobald ich richtige Messwerte nehme: > Als Referenz: > a(0°)=-73,73, a(90°)=-7,26, a(180°)=-59,3, a(270°)=6,63 Das ist meiner Meinung nach Schwachsinn. Für 0°/180° sollte kein anderer Offset herauskommen als für 90°/270°. > Dazu orthogonal bzw. 90° verschoben sollte sein (mit dem Scope > bestätigt): > a(0°)=-13,13, a(90°)=-56,04, a(180°)=17,2, a(270°)=-25,35 Siehe oben. > Wie man sieht haben die Signale einen offset Das macht nix, weil sich das durch die Differenzbildung aufhebt. Äußerst verdächtig finde ich aber, dass der Offset bei X und Y unterschiedlich ist. > und nicht unbedingt die gleiche Amplitude, Das macht auch nix; das ist dem atan2 egal. > aber sicher die gleiche Frequenz, daher sollte doch > die atan2-Methode funktionieren, oder? > > Für die Referenz bekommen ich mit den Werten: > atan2(-13,89, -14,43) = -136,1° Y und X negativ --> 3. Quadrant. Haut hin. > Für die 90° verschobenen Werte: > atan2(-30,69, -30,33) = -134,7° Dasselbe wie oben. Kommt hin. > Irgendwie bekomme ich bei allen Messwerten irgendwas um 135° > raus. Hat jemand eine Idee was ich falsch mache? Meiner Meinung nach sind Deine Messwerte Quatsch. Lies doch mal am Oszi die vier Werte ab und rechne von Hand. Da muss es richtig herauskommen. > Stimmt die Formel für die Phase so? Denke schon, ja.
So ganz nebenbei .. eg gibt fuer eine feste Frequenz keine 4 orthogonalen Amplituden. Orthogonalitaet bedeutet, multiplizieren, ueber eine Periode integrieren, dividieren durch die Periodenlaenge. Und so gibt es nur 2 orthogonale amplituden, genannt Sinus und Cosinus.
Ok, habe verstanden :-) Gesagt haben wollte ich, dass die Messzeiten jeweils 90° auseinander liegen. Muss da nochmal mit dem scope ran und messen. Ist leider auch nicht ein unverzerrter Sinus, schön wäre es. Evtl. bastele ich mir eine Funktion in Scilab die einen Sinus an die vier Punkte anpasst und dann auch den Fehler zurück gibt. Komplexe Materie...
Du moechtest die Phase ? Dann multipliziere dein signal einmal mit dem sinus, und einmal mit dem Kosinus. Die Phase kommt aus der Beziehung von sinus-anteil zu kosinus-anteil, resp Ankathete zu Gegenkathete. Wie multipliziert man? Mit einem Multiplizierer. Da wir nun keine Ahnung zur Frequenz haben, kann man auch nichts vorschlagen. was soll das Ganze ueberhaupt ?
Weg mit dem Troll. schrieb: > Orthogonalitaet bedeutet, multiplizieren, ueber eine > Periode integrieren, dividieren durch die Periodenlaenge. Nee. Orthogonalität bedeutet erstmal nur "Rechtwinkligkeit". Orthogonale Vektoren erkennt man daran, dass das Skalarprodukt Null wird. Man kann das auf Funktionen verallgemeinern, dann wird aus der Summe im Skalarprodukt ein Integral. (Deswegen sind Sinus und Cosinus orthogonal - weil das Integral sin(x)*cos(x) gleich Null ist.) Was Du oben beschreibst, ist eine Faltung, die für tau=0 ausgewertet wird. Dort kommen i.d.R. Werte ungleich Null heraus.
Jan schrieb: > Ist leider auch nicht ein unverzerrter Sinus Meine Güte. Schon wieder jemand, der die Leute verarschen will. Ich hätte es ahnen müssen...
Siebzehn mal Fuenfzehn schrieb: > Du moechtest die Phase ? Dann multipliziere dein signal > einmal mit dem sinus, und einmal mit dem Kosinus. Die > Phase kommt aus der Beziehung von sinus-anteil zu > kosinus-anteil, resp Ankathete zu Gegenkathete. Ja - allerdings liefert das die Phase der Grundwelle . Ich übersehe auf die Schnelle nicht, ob das bei Signalen mit komplizierterem Spektrum immer das ist, was man intuitiv erwartet.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.