Gegeben zwei Signale:Matlab: Wie Größe und Phase eines Sinussignals erhalten
x1 = A1*exp(j*2*pi*f1*t + Phi1);
x2 = A1*exp(j*2*pi*f1*t + Phi1) + A2*exp(j*2*pi*f2*t + Phi2);
Matlab sollten Betrag und Phase zu berechnen in der Lage:
abs(x1) = A1;
angle(x1) = Phi1;
abs(x2) = A1+A2;
angle(x2) = Phi1+Phi2;
Ist das richtig? Ich bin mir über x2 wirklich nicht sicher. Nun, ich bin ein Sinussignal gegeben:
x3 = A3*cos(2*pi*f3*t + Phi3);
x4 = A3*cos(2*pi*f3*t + Phi3) + A4*cos(2*pi*f4*t + Phi4);
Was abs()/Winkel() dieser Signale ergeben?
A1*exp(j*2*pi*(f1-f2)/2 t + Phi1) + A2*exp(j*2*pi*(f2-f1)/2 t + Phi2)
unter der Annahme einer Trägerfrequenz, die zwischen f1 und f2 ist:
Die komplexe Einhüllende x2 ist gegeben durch. Die Amplitude und auch die Phase der komplexen Hüllkurve sollte etwas dem ursprünglichen Signal entsprechen. Jetzt frage ich mich, oder?
Der Kosinus ist keine lineare Funktion. Daher ist die Größe der Summe der Kosinuswerte nicht die Summe der Kosinusgrößen. Es wird auch nicht die Phase sein. Die Phase macht eigentlich keinen Sinn, da Ihre Frequenzen unterschiedlich sind (beachten Sie, dass sich der Winkel von xi mit der Zeit ändert!). Das Problem, das Sie zu lösen versuchen, heißt harmonische Suche (Schätzung A_i, f_i und Phi_i aus einer abgetasteten Summe von Oberschwingungen). Sie können es durch Fourier-Analyse (DFT) oder hochauflösende Algorithmen wie MUSIC oder ESPRIT lösen. Schau dir diese an. Wie auch immer, es ist nicht so einfach wie Winkel (x) zu nehmen, glaub mir. – Florian
Danke, Florian! Darf ich Sie das auch fragen: Sie sagen, Phase macht bei verschiedenen Frequenzen keinen Sinn. Aber können Sie mir die Phase von x2 sagen, vorausgesetzt, dass f1 = -f2? Ist es nur Phi1 + Phi2? –
Nein, was lässt dich das denken? Phasen werden nur hinzugefügt, wenn Sie Signale multiplizieren, nicht wenn Sie sie hinzufügen. – Florian