Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Sorry, dass ich das Forum im Moment mit meinen Anfragen bombardiere, aber ich weiss nicht mehr weiter:
Ich habe zwei Sinus-Eingangsignale (Frequenz: 1 bis 40 kHz), die ich über eine Datenerfassungskarte NI PCI 6035E aufnehme. Ich möchte ganz einfach die Phasenverschiebung zwischen den beiden Signalen messen. Wie mache ich das?
Wenn ich die beiden Eingangssignale simuliere, kriege ich es hin, die Phasenverschiebung zu berechnen, aber mit den realen Eingangsspannungen geht es gar nicht...
Sorry, dass ich das Forum im Moment mit meinen Anfragen bombardiere, aber ich weiss nicht mehr weiter:
Ich habe zwei Sinus-Eingangsignale (Frequenz: 1 bis 40 kHz), die ich über eine Datenerfassungskarte NI PCI 6035E aufnehme. Ich möchte ganz einfach die Phasenverschiebung zwischen den beiden Signalen messen. Wie mache ich das?
Wenn ich die beiden Eingangssignale simuliere, kriege ich es hin, die Phasenverschiebung zu berechnen, aber mit den realen Eingangsspannungen geht es gar nicht...
Wie berechnest Du denn die Phasenverschiebung? Nulldurchgänge erkennen und zeitliche Differenz bestimmen?
Kann dann ja gut möglich sein, das Deine Signale nicht so sauber sind wie der ideale Sinus, der simuliert wird.
Gruß, Rob
Bitte Beachten:
Die obenstehenden Texteile können unter Umständen Sarkasmus und Ironie enthalten, für nicht erkannten Sarkasmus oder nicht erkannte Ironie wird keine Haftung übernommen.
N.B.: "Multiple exclamation marks, " he went on, shaking his head, "are a sure sign of a deseased mind." - Terry Pratchett
02.09.2007, 11:02 (Dieser Beitrag wurde zuletzt bearbeitet: 02.09.2007 11:23 von mario_pyr.)
Also zur Messung der Phase der simulierten Spannungen benutze ich ein VI mit dem das ganz gut geht. Trotzdem würde ich gerne Deine Variante ausprobieren; leider habe ich jedoch keine Stopp-Uhr-Funktion gefunden, mit der ich die zeitliche Differenz messen kann. Wie geht das?
Wenn ich die Phasenverschiebung der echten Signale mit diesen VIs berechne, werden falsche Werte erzeugt. Auf was muss ich hinsichtlich der Geräte-Konfiguration beachten (z.B. Abtastrate = 2*Signalfrequenz usw.)?
Die Eingangssignale kommen von einem Funktionsgenerator und das Oszilloskop zeigt mir sehr schöne Sinuskurven an. Daher sollten die Signale eigentlich sauber und gut zu analysieren sein.
Also zur Messung der Phase der simulierten Spannungen benutze ich ein VI mit dem das ganz gut geht. Trotzdem würde ich gerne Deine Variante ausprobieren; leider habe ich jedoch keine Stopp-Uhr-Funktion gefunden, mit der ich die zeitliche Differenz messen kann. Wie geht das?
Wenn ich die Phasenverschiebung der echten Signale mit diesen VIs berechne, werden falsche Werte erzeugt. Auf was muss ich hinsichtlich der Geräte-Konfiguration beachten (z.B. Abtastrate = 2*Signalfrequenz usw.)?
Die Eingangssignale kommen von einem Funktionsgenerator und das Oszilloskop zeigt mir sehr schöne Sinuskurven an. Daher sollten die Signale eigentlich sauber und gut zu analysieren sein.
Ich gehe mal davon aus das Deine Sample-Rate konstant ist und dem Nyquist-Kriterium genügt.
Wenn Du weisst das zwischen dem Nulldurchgang vom ersten Signal und dem Nulldurchgang des zweiten Signals z.B. 815 Samples liegen, kannste das doch ausrechnen. (die Periodendauer sollte man natürlich auch noch mitbestimmen)
Gruß und schönen Sonntag noch,
Rob
Bitte Beachten:
Die obenstehenden Texteile können unter Umständen Sarkasmus und Ironie enthalten, für nicht erkannten Sarkasmus oder nicht erkannte Ironie wird keine Haftung übernommen.
N.B.: "Multiple exclamation marks, " he went on, shaking his head, "are a sure sign of a deseased mind." - Terry Pratchett
' schrieb:Ne, ich weiss nicht, wie man die Anzahl der Samples oder die Zeit zwischen den Nulldurchgängen misst. Wärst Du so nett und erklärst es mir kurz?
Ich gehe mal davon aus, das Deine Signale aus Array vorliegen, dann brauchst Du doch nur das Array nach Maximum/Minimum/Nulldurchgängen durchsuchen.
Und wenn der Abstand zwischen zwei Maxima bekannt ist, kann man doch aus der Anzahl der Werte zwischen den Maxima und dem auch bekannten zeitlichen Abstand zwischen zwei Werten (T=1/f_sample) die Periode und auch die Frequenz des Signals bestimmen.
Schönen Abend,
Gruß,
Rob
Bitte Beachten:
Die obenstehenden Texteile können unter Umständen Sarkasmus und Ironie enthalten, für nicht erkannten Sarkasmus oder nicht erkannte Ironie wird keine Haftung übernommen.
N.B.: "Multiple exclamation marks, " he went on, shaking his head, "are a sure sign of a deseased mind." - Terry Pratchett
Ich taste eine 20 kHz-Sinusschwingung mit einer Abtastrate von 180 kHz ab und nehme dabei 10000 Abtastwerte auf, die in einem Array gespeichert werden. Um die Phasenverschiebung zu messen, benötigt man die Nulldurchgänge oder Maxima-Werte. Bei der Ermittlung der Array-Maxima-Werte handelt es sich aber nur um willkürliche Abtastwerte und nicht um die exakten Maxima-Werte.
Kann man die Werte eines Arrays interpolieren, um eine durchgängige Sinus-Spannung zu erhalten, mit der man dann die tatsächlichen Maxima-Werte ermitteln kann?
Gibt es sonst noch eine Möglichkeit, die Phasenverschiebung zu messen? Denn die willkürlichen Array-Maxima-Werte helfen mir anscheinend nicht weiter.
28.09.2007, 22:31 (Dieser Beitrag wurde zuletzt bearbeitet: 28.09.2007 22:52 von Lucki.)
' schrieb:Bei der Ermittlung der Array-Maxima-Werte handelt es sich aber nur um willkürliche Abtastwerte und nicht um die exakten Maxima-Werte.
Da hast Du natürlich recht, und hinzu kommt noch, dass reale Signale immer Störkomponenten enthalten, wobei geringe Störungen schon einen unverhältnismäßigen großen Fehler hervorrufen können. Ganz schlimm wird es, wenn die beiden Verläufe unterschiedliche Oberwellenanteile enthalten.
Die Nulldurchgangs- oder Maximumsmethode ist deshalb mehr als Beispiel für die Schule tauglich, weil das anschaulich ist und gut in ein Schülergehirn reingeht. Aber nichts für das reale Leben.
.
Man muss es mit Fourieranalyse machen: Beide Verläufe analysieren, und von Grundwellen die Phasen nehmen und voneinander subtrahieren.
Klingt kompliziert, aber zum Glück gibt es das fertige Express-VI "Messung von Frequenzkomponenten", das würde ich einfach nehmen. Da solltest aber mindesten 10 Schwingungen verwenden, je mehr, desto genauer (Die Schwingungen müssen mit einer Fensterfunktion behandelt werden, damit sie sanft an- und ausklingen. Ein abruptes Ende der Schwingung würde das Spektrum verfälschen). Aber darum musst Du dich überhaupt nicht kümmern, das macht alles das Express-VI.
Es ist aber nicht erforderlich, sehr viele Abtastpunkte pro Periode zu haben. Schon ab 4 Punkten pro Periode erhält man präzise Resultate - mit der Nulldurchgangsmethode würde man da nur noch dumm dastehen.
Das VI, das Du da nennst, habe ich auch schon ausprobiert. Damit habe ich die Phasenlage beider Signale ermittelt und voneinander subtrahiert. Leider sind bei steigender Frequenz der beiden Signale die Ergebnisse falsch. Nur bei (relativ) geringen Frequenzen (<1000 kHz) ist das Ergebnis korrekt. Zudem ist die Differenz der Phasen beider Grundwellen bei einer Frequenz von f=20kHz immer null, obwohl das Oszilloskop definitiv noch eine Phasenverschiebung anzeigt. Das hört sich also so an, als ob etwas Grundlegendes falsch ist.
Aber ich weiss nicht, was falsch sein soll.
Ich bin nun seit mehren Monaten mit diesem Problem beschäftigt und weiss nicht, wie ich das Problem beheben kann. Es muss doch möglich sein, die Phasenverschiebung von zwei Signalen mit einer Frequenz von f>40kHz mit Hilfe von LabVIEW zu messen?!?!
Anbei die Hardware-Konfiguration als Anhang in Form einer PDF. Evtl. hat die Hardware etwas damit zu tun (wovon ich inzwischen ausgehe)...
' schrieb:Nur bei (relativ) geringen Frequenzen (<1000 kHz) ist das Ergebnis korrekt. Zudem ist die Differenz der Phasen beider Grundwellen bei einer Frequenz von f=20kHz immer null, obwohl das Oszilloskop definitiv noch eine Phasenverschiebung anzeigt. Das hört sich also so an, als ob etwas Grundlegendes falsch ist.
Frequenzen kleiner 1MHz? oder ist das kHz hier falsch?
Welche Abtastrate hast Du denn?
Zitat:Ich bin nun seit mehren Monaten mit diesem Problem beschäftigt und weiss nicht, wie ich das Problem beheben kann. Es muss doch möglich sein, die Phasenverschiebung von zwei Signalen mit einer Frequenz von f>40kHz mit Hilfe von LabVIEW zu messen?!?!
Anderer Ansatz: Signale in Rechteck wandeln und mit einem Phasen-Comperator in Hardware auswerten lassen, dann das Ausgangssignal des Phasenkomperators abtasten und in LV auswerten.
Zitat:Anbei die Hardware-Konfiguration als Anhang in Form einer PDF. Evtl. hat die Hardware etwas damit zu tun (wovon ich inzwischen ausgehe)...
Was mich etwas verwundert ist, dass es so scheint als hätten deine Signale unterschiedliche Pegel. Hast Du im MAX eine unterschiedliche Skalierung gewählt, so dass die Signale in LV dann normiert vorliegen?
Schönes WE,
Gruß,
Rob
Bitte Beachten:
Die obenstehenden Texteile können unter Umständen Sarkasmus und Ironie enthalten, für nicht erkannten Sarkasmus oder nicht erkannte Ironie wird keine Haftung übernommen.
N.B.: "Multiple exclamation marks, " he went on, shaking his head, "are a sure sign of a deseased mind." - Terry Pratchett