LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

applied mahematics (algorithm)

Hallo,

this time I have a more mathematical question. It's a bit complicated, that's why I ask it in german:

Ich muss zwei Messreihen voneinander abziehen (Einmal Pobe mit Halter, einmal nur Halter, Ergebnis Probe = Probe mit halter minus halter). Das Problem ist, dass die die Messreihen experimentell bedingt leicht gegeneinander verschoben sind. Glücklicherweise habe ich aber eine "Null", ein Ausschlag zu Beginn der Messung. Mein Problem ist nun, wie ich diese Null bestimmen kann.

(Beispiel: f1(x) = sin x, f2(x) = sin (x+a). Ich brauche ein Verfahren, um dieses "a" zu bestimmen, um dann f1(x)-f2(x-a) zu berechnen. Die Funktionen sind aber nicht konkret gegeben, sondern physikalische Messdaten.)

Mir geht es hauptsächlich um die
Theorie, aber wer eine praktische Umsetzung für LabVIEW 7 kennt, ist herzlich dazu eingeladen, sie mir zu sagen. Eingebaute Funktionen sind mir am liebsten. Kennt eigentlich jemand von euch eine (deutschsprachige) Quelle, wo ich Details zum Levenberg-Marquardt -- Algorithmus bekommen kann? Google'n hat mich nicht weit genug gebracht.

If possible help me (thanks) or translate it (thanks even more).

Arno
0 Kudos
Message 1 of 4
(2,900 Views)
-----------------Quick translation:--------------
I have two arrays with measurement data and I need to subtract the two. Unfortunately, one of the two data sets contains a time-delay and must be aligned with the other array before processing.
Example f1(x)=sin(x), f2(x)=sin(x+a), where a is not known. Desired result=(f1(x)-f2(x-a)).
Is there a LabVIEW function that allows determination of "a".
--------end of translated question----------------

Is "a" an integer or can it contain fractional units?

In very general terms, it is not possible to determine "a" (e.g. if you are dealing with exponential functions), but it seems you are dealing with periodic functions and the shift is less than one cycle. Is this correct?

Can you tell us a bit more about y
our data? Is it just a phase shift, or do you also need to adjust the amplitude before subtracting.

Couldn't you just fourier transform the two and use the phase difference of the main frequency component to determine the delay?
0 Kudos
Message 2 of 4
(2,900 Views)
Hallo, thanks for translating.

You wanted some comments:

1) "a" may contain fractional units.
2) I am not dealing with periodic functions, I chose Sinus as an example. That's why Fourier-Transformation does not work.
3) Information about the data: The theoretical Data f1(x)-f2(x-a) looks like a Sombrero (that large mexican hat). It is possible to calculate the "a" by looking at a peak at the beginning of the data. By adjusting the amplitude (I don't know yet if this is required, prabably yes) you can overlap the two figures and substract them. I added an Excel-file with the figures, not the data and without the peak.
"Probe(z)" is f1, "Stab(z)" is f2(z-a) and "Kurve(z)" is f1-f2(z-a). I hope this answers all questions.

Arno
0 Kudos
Message 3 of 4
(2,900 Views)
Hi,
As I understand you actually have two (X,Y) data sets, corresponding to two different curves - Yi=F(Xi) and Yj=G(Xj). And Xi is not equal to Xj. To solve your problem you must determine the values of some function (for example F(X)) in the points where the other one (G(X)) is determined. This will allow you to subtract them.
Let each curve will be presented as two arrays where first column correspond to X-coordinate of point and the second column to Y-coordinate. Then let X values in this array increase with their index. Then you can use functions "Interpolate 1D array" and "Threshold 1D array" from array palette to solve your problem.
The example is attached.

Good luck.

Oleg Chutko.
0 Kudos
Message 4 of 4
(2,900 Views)