LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem of Noise during Phase Unwrapping

Hello!
I am using VISION based system to measure phase in a displacemnt measuring interferometer.My phase algorithm gives a wrapped phase as expected saw tooth wave profile whose unwrapped value I am taking with help of a loop which counts each jump from -pi to +pi or vice versa. Problem is that even after using filter noise is not possible to be eliminated practically and if data capturing becomes slow near this edge i.e.where -pi or +pi is aproaching due to noise large number of false count results. To solve this I thought using two different algorithm which gives slightly offset curves so that when pi point is approaching in original one second one is still away from that point and any false jump can be eliminated by comparison.The total phase value can be compared from earlier value in both window and any increase or decrease should agree in each algorithm. this will avoid this practical problem.Can any one suggest me how to go about this problem in LabVIEW or any other solution.
Thanking you,
Ajay Shankar
Ajay Shankar
0 Kudos
Message 1 of 10
(3,694 Views)
Can you provide a little example data so I can see the problem? This is a 1D set of data, right?
Randall Pursley
0 Kudos
Message 2 of 10
(3,694 Views)
Yes it it is a 1D data of arctangent values generated from two quadrant values from a interferometer.I am enclosing the screen output from this which shows a false jump in unreapped value although there was no movement to generate actual change in data.Due to noise component it makes false transition where arctan value passes pi or -pi.
Ajay Shankar
0 Kudos
Message 3 of 10
(3,675 Views)
Hello Randall,
I would like to attach the vi itself through which I am capturing a straight fringe pattern whose width matches to 4 pixels and therefore I am able to generate 4 phase quadrant values which changes sinusoidally if pattern itself moves. Therefore by measuring this phase which is function of these quadrant value I am finding amount of movement. I am using 4-point phase algorithm (arctan I4-I2/I1-I3).Only thing is that this data is not generated at constant rate it depends on movement of system which can be fast slow or it can be idle and problem comes if it is idle at point where this arctan value is giving value nearly pi or -pi and noise makes it to fluctuate near this.Hope this will make things more clear.You can notice I am still working on it to find how to add the jumps on decreasing case. Althogh this VI works in case of increasing i.e. positive increment change.Hope you can suggest on this also.
Ajay
Ajay Shankar
0 Kudos
Message 4 of 10
(3,671 Views)
How much if at all do you filter your quadrature signals before getting the phase? Are they supposed to be sinusoids, some other shaped waveform or can they be pretty much anything?
Randall Pursley
0 Kudos
Message 5 of 10
(3,672 Views)
I am using simply low pass filter on this.As I am using a CCD camera which generete noise upto 5% of peak value and some other noise source also. Ii is supposed to be sinusoidal then the values between pi and -pi varies very nearly linearly and interpolation becomes better. My target is that if detector noise is less It can be interpolated al least 100 part or better.
Ajay Shankar
Ajay Shankar
0 Kudos
Message 6 of 10
(3,667 Views)
I am trying to attach VI
Ajay Shankar
0 Kudos
Message 7 of 10
(3,665 Views)
The attached VI will take care of phase jumps in either direction. I developed this for another project and it may need modification for your application.

Have you tried a smoothing filter or sliding window averager to get rid of your noise? These often work better than a simple lowpass filter.

When the system is moving slowly or stopped recalling the last valid position and allowing only small adjustments to it may prevent the big jumps. In other words, if you can't beat the noise, ignore it. This can be easy to talk about but is not always so easy to implement.

Lynn
0 Kudos
Message 8 of 10
(3,655 Views)
Hello Lynn
Thanks for your response. I am unable to open this as it is 7.1.1 version and I have 7.0. Please convert to 7.0 or lower version and resend.with its help I will modify my vi to take care in either direction case. In the mean time I am trying to use suggested filter to see effect on noise.Thanks once again.
Ajay Shankar
Ajay Shankar
0 Kudos
Message 9 of 10
(3,644 Views)
Here is a 7.0 version.

Lynn
Message 10 of 10
(3,602 Views)