WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Frequenz / Phasen Bestimmung von Zwei Signalen

 

MOGNew
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 15.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.03.2009, 23:37     Titel: Frequenz / Phasen Bestimmung von Zwei Signalen
  Antworten mit Zitat      
Hallo liebe User des Forums ,

ich habe ein paar Fragen auf die ich bis dato keine Lösung gefunden habe.

Ich habe zwei Signale
U1, I1;

mit

Code:

U1_I1 = xcorr(U1,I1);
Phasespec = unwrap(angle(U1_I1));
freqspec = abs(fft(U1,1024));

Umax = ?
freq = ?
phase = ?

 

Wie komme ich an die fehlenden Werte um den Betrag
U Spitze zu bestimmen ?
Die Frequenz von U1 Spitze ?
und die Phase zwischen U1 und I1 ?

Vielen Dank im Voraus

Gruß

MogNew
Private Nachricht senden Benutzer-Profile anzeigen


Dave86
Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 31.07.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.07.2009, 14:31     Titel: Phase zwischen zwei Signalen die 2.
  Antworten mit Zitat      
Hallo zusammen,

ich stehe gerade vor dem gleichen Problem wie MOGNew. Ich habe zwei Signale, z.B. Sinus und Cosinus und möchte die Phase zwischen beiden bestimmen. Ums mal vorweg zu nehmen: im Idealfall beträgt die Phase zu jedem Zeitpunkt 90°.

Mir liegen aber zwei reale Signale vor, d.h. die Phasenlage beträgt NICHT zu jedem Zeitpunkt 90°!

Gibt es eine Möglichkeit die Phase zweier Signale zu bestimmen?

Vielen Dank!

Gruß

Dave
Private Nachricht senden Benutzer-Profile anzeigen
 
Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 11.07.2009, 23:33     Titel:
  Antworten mit Zitat      
Hallo Dave,

ausgehend von diesem Link http://www.wer-weiss-was.de/theme59/article2190281.html (Quadraturdemodulator) hab ich mal etwas ausbaufähiges zusammengewürfelt. Vom Prinzip her müsste jetzt nur das Abschneiden der doppelten Frequenzautomatisiert werden.


Code:
close all  
clear all  

f=1;  
t=0:0.0001:10;
a=sin(2*pi*f*t); % Signal 1
b=cos(2*pi*f*t); % 90° verschobenes Signal 1
sig=sin(2*pi*f*t+0.3); % Signal 2

a2=a.*sig;
b2=b.*sig;

% Herausfiltern der doppelten Frequenz,
% Bestimmung der DC-Anteile

x=fft(a2);
x=abs(ifft(x(1:15))); % Peak bei Element 20, also nur die ersten 15 Elemente nutzen
y=fft(b2);
y=abs(ifft(y(1:15)));

figure(1)
plot(x)
hold on
plot(y)

phase=atan(y./x);

figure(2)
plot(phase)


Hoffe dies hilft ein wenig. Smile
_________________

>> why
The computer did it.
Private Nachricht senden Benutzer-Profile anzeigen
 
Dave86
Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 31.07.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2009, 14:51     Titel:
  Antworten mit Zitat      
Hallo Maddy,

vielen Dank für deinen post! Ich habe (wahrscheinlich) eine andere Möglichkeit gefunden, die Phasenverschiebung zu berechnen (ohne Verwendung der "FFT")!
Wenn ich meine Lösung ins *.m- file gepackt habe, werde ich diese posten!

Gruß

Dave
Private Nachricht senden Benutzer-Profile anzeigen
 
vincentvega
Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 18.08.09
Wohnort: berlin
Version: ---
     Beitrag Verfasst am: 27.08.2009, 12:29     Titel:
  Antworten mit Zitat      
Hallo MOGNew,

ich würd in dem erzeugten FFT-Array nach dem Maximum und dem entsprechenden Index des suchen

Code:


anschließend kannst du in dem zum FFT-Array korrespondierenden Freq-Array dir mittels des Index 'I' die Frequenz des Maximums ausgeben lassen. Das funktionert da die beiden Arrays FFT und Freq die gleiche Dimension haben müssen.


Die Phase könnte man dann an der entsprechenden Stelle durch integration bestimmen.

Gruß,

vinc
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.