Synchronisierung - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Synchronisierung (/Thread-Synchronisierung) |
Synchronisierung - cfreund - 20.07.2012 11:28 Hallo, ich bin totaler Neuling in LabVIEW und finde keine Lösung für folgendes Problem: Ich habe 2 analoge Signale, die ich über den DAQ-Assistenten einlese. Eines der Signale muss stark gefiltert werden, was jedoch zu einer Verzögerung in der Datenaufzeichnung führt. Für meine Auswertung benötige ich jedoch synchron abgerufene Signale. Die Funktionen unter dem Punkt "Synchronisierung" konnte ich leider nicht nutzen, da sich diese auf die synchrone Ausführung von Schleifen beziehen und ich in meinem Programm nur eine Schleife verwende. Es wäre total super, wenn mir jemand weiterhelfen könnte! Vielen Dank! RE: Synchronisierung - GerdW - 20.07.2012 13:03 Hallo ctfreund, Wie stellst du dir die Filterung eines Signals vor, wenn dieser Vorgang keine Zeit benötigen darf? Zitat:was jedoch zu einer Verzögerung in der Datenaufzeichnung führtWas hat die Filterung mit der Datenaufzeichnung zu tun? Wieso wird das Speichern der Daten dadurch verzögert? Kannst du diese Fragen alle beantworten - und vielleicht auch mal dein VI anhängen? RE: Synchronisierung - Lucki - 20.07.2012 13:45 Man muss hier unterscheiden zwischen Filterung online (in Echtzeit) und offline. In beiden Fällen gibt es Mögkichkeiten zur Synchronisation. Online: Du müsstest dann das nicht gefilterte Signal ebenso verzögern wie es das Filter macht. (= einfaches FIR-Filter) Offline: Außer der obigen Möglichkeit hat man noch zwei andere Möglichkeiten: - TP-Filterung mt Fourier: Fouriertransformatien, die hohen Frquenzen abschneiden und wieder rücktansformieren - 2 mal filtern: 1 mal normal, 1 mal rückwärts (Man beachte aber: 2 mal z.B. mit Butterworth gefiltert ist keine reine Butterworth-Filterung mehr) RE: Synchronisierung - cfreund - 23.07.2012 06:09 Hallo, vielen Dank für die schnellen Reaktionen! Mir ist bewusst, dass die Filterung Zeit benötigt, jedoch ist das Problem, dass ich bei dem ersten Signal eine Eckfrequenz von 20 Hz und bei dem zweiten Signal eine Eckfrequenz von 100 Hz brauche. Die Messwerterfassung erfolgt dann nach der Filterung. Durch die unterschiedliche Filterung kann ich die beiden Signale dann zeitlich nicht mehr in einem Diagramm darstellen. Deswegen würde ich gerne die Datenerfassung nach den Filtern synchronisieren. Ich hab mein Programm mal angehängt. RE: Synchronisierung - Lucki - 23.07.2012 07:23 Das Problem ließe sich hier ganz einfach lösen. Mit höher werdender Ordnung eines TP-Filters wird die Filtercharakteristik idealer, vor allem aber nimmt die Verzögerungszeit stark zu. Gegenwärtig hast Du: Filter 1: Butterworth 3. Ordnung 20Hz Filter 2: Bessel 2. Ordnung 100 Hz Einfach die Ordnung des 2. Filters so erhöhen (also z.B. auf 15), dass die beiden Verzögerungszeiten gleich werden. Es gibt auch eine Formel, wie man aus nur 2 Filterkoeffizienten die Verzögerungszeit berechnet. Da müßte ich nachschauen. Die Verzögerungszeit ist dabei mathematisch definiert als "Schwerpunkt der Gewichtsfunktion". (Gewichtsfunktion = Antwort auf Einheitsimpuls). Das ist ungefähr dasselbe wie die übliche Definition: wenn die Übergangsfunktion den Wert 50% hat. Die letztgenannte Definition ist rein messteschnisch besser, aber mathematisch kann man damit nicht viel anfangen. Das Verfahren geht allerdings nicht uneingeschränkt. Ich glaube, bei den LV-Filtern kann man etwa bis Ordnung 20 vorgeben. Mehr geht nicht. Notfalls müsstest Du den 20Hz Filter in der Ordnung reduzieren, also z.B auf 2 statt 3. Edit: Ich hatte oben geschrieben: Einfach die Ordnung des 2. Filters so erhöhen (also z.B. auf 15) Habe es nachgeprüft: Leicht daneben, mit Ordnung 13 stimmen die Verzögerungen genau überein. |