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!
ich messe mit meiner Hardware u.a. den Phasenunterschied zweier Signale. Mein Detektor-IC kann nur den Betrag der Phase liefern.
Da ich weiß, dass die Phase monoton abnimmt, könnte ich nun den richtigen Phasenverlauf ermitteln. Ich sehe mir den vorherigen Arraywert an und vergleiche ihn mit dem jetzigen.
Das Bild zeigt den Phasenverlauf im Bereich von 100 kHz bis 100 MHz. Im letzten Drittel steigt die Phase an. In Wirklichkeit fällt sie aber weiter ab. Dies möchte ich also ausbessern.
Wie könnte ich so etwas implementieren? In C wäre es nicht sonderlich schwierig aber LabVIEW bereitet mir dabei noch Probleme.
Gruß,
Klausi
Anzeige
11.07.2009, 18:49 (Dieser Beitrag wurde zuletzt bearbeitet: 12.07.2009 08:07 von Lucki.)
Gegen die üblichen 2PI-Sprünge im Phasenverlauf hilft das VI
Signalverarbeitung --> Signaloperation --> "2PI Sprünge entfernen"
Hier handelt es sich aber um etwas anderes. es geht darum, das richtige Vorzeichen des Phasenverlaufs in jedem Darstellungsbereich zu erraten.
Wenn Du schreibst, daß Du den erforderlichen Algorithmus in C beherrschst, dann poste das doch einfach. Die Übersetzung nach LabVIEW wird Dir hier im Forum auf jeden Fall besorgt.
Formatierung hab ich nicht besser hinbekommen.
Ein neues Array wird gebildet. Bei z.B. 1000 Messwerten sind 999 Durchläufe und Vergleiche notwendig.
Ist bei zwei aufeinanderfolgenden Werten der zweite größer, wird das Vorzeichen getauscht und im neuen Array gespeichert.
Mir ist nicht klar, wie ich in LabVIEW auf die einzelnen Werte bei verschiedenen Indizes zugreifen kann.
Wie in dieser Zeile z.B. if(Array[i+1] > Array[i])
Vermutlich ist die Lösung recht einfach aber ich kriegs nicht hin.
Ein herzliches Dankeschön an alle, die sich Mühe gemacht haben. Ich mußte das VI noch ein bißchen umbauen, da mein C-Code auch nicht ganz korrekt war, aber das konnte ich nun alleine.