LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Deconvolution and PtbyPt vs AALpro

Hello.

 

I am trying to implement a deconvolution operation into my program where I deconvolute an array of size ~29k against another array of the same size. 

 

I have tried the two deconvolution blocks available on labview: Deconvolution PtByPt.vi and Deconvolution.vi. 

 

The PtByPt takes forever (maybe 30minutes) to go through the 29k values but returns an array that looks to be correct. The deconvolution.vi is not returning anything for some reason...

 

I'm sure I dont need to use the point by point program. I dont even understand what it is doing and why it takes so long... Why is my deconvolution.vi not returning anything?

 

Figures of my problem and input functions included. I dont include VI because it is filled with other things and figures present the problem well enough.

Download All
0 Kudos
Message 1 of 5
(1,505 Views)

Hi Akuaku,

 


@Akuaku wrote:

I have tried the two deconvolution blocks available on labview: Deconvolution PtByPt.vi and Deconvolution.vi. 

The PtByPt takes forever (maybe 30minutes) to go through the 29k values but returns an array that looks to be correct. The deconvolution.vi is not returning anything for some reason...

Why is my deconvolution.vi not returning anything?

 

Figures of my problem and input functions included. I dont include VI because it is filled with other things and figures present the problem well enough.


We cannot debug images using LabVIEW.

Please attach a VI, containing the two methods you already tried together with two array constants containing your "29k values" used for this operation… (No need to present the full VI, just the data and the functions you want to employ!)

 

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 5
(1,476 Views)

Hello Gerd!

 

I dont know how to import arrays from another vi so this VI reads the values from an XLS and generates other array in situ. Just download the xls and open it from the dialog box when running. The xls is lighter version of what I have been using but the problem remains that the deconvolution.vi is not working.

 

The interesting parts here are inside the case structures. I made them separate so I could disable them while testing. 

Download All
0 Kudos
Message 3 of 5
(1,455 Views)

Hi Akuaku,

 

the subVIs are missing.

And your "XLS" file is a plain text file (or "delimited spreadsheet file"), so don't call and label it as file.xls!

 


@Akuaku wrote:

I dont know how to import arrays from another vi so this VI reads the values from an XLS and generates other array in situ.


Run your VI, then choose "set current values as default" from edit menu. Then save the VI again - it now contains all values in those "X" and "Y" indicators!

Attach this new VI with embedded data again…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 4 of 5
(1,451 Views)

We don't have any of your subVIs, so we cannot run your VI. Please attach main VI (saved with typical defaults in all controls!), all subVIs, a properly named datafile, and put everything in one zip file.

 

Mathematically, deconvolution is often numerically unstable (as the help already explains). Your Y array contains many zeroes and almost no high frequencies, resulting in an FFT that is very close to zero for many elements. A division by zero is not a good thing and will result in values that are close to infinity, drowning out all interesting parts!

 

Can you explain the experiment, what the data represents, and what you are trying to get out if it?

 

Have you tried with smaller simulated datasets that contain noise where you first do a convolution, then a deconvolution of that result, to see how well you can reverse the convolution?

0 Kudos
Message 5 of 5
(1,412 Views)