LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Plz help...

Alright, it's a very difficult thing and i'm stuck now for 2 days.. I just can't fix it!
 
I'll try to explain it as good as i can...
 
I've collected an EMG signal from 3 muscles. I have to multiply that signal with a previous diffined signal. This is the way to do it:
 
EMG: I have to substract 1024 points, delete the first and last 256 data points. The main 512 Data points have to be multiplied with the signal that has been diffined before.
          The half of the 512 points have to been added with the last 256 points and been added to the main signal (remaining part after substracting the 1024 points)
          I'll have to do that untill every point is multiplied with the main signal. It should give around 63.000 data points.
 
The problem is that I can't get all the multiplications (so the 63000 points) out the while loop to put it in a LVM wirter. I only can store 1024 because it always overwrites the previous data. I can't use a big collector because it is to slow so the computer gets stuck.
 
I tried to make a buffer and store it in that way (as you can see in the VI) but that won't work either..
 
Can someone help me plz? That would really be great! It would mean a lot to me! Even if you could just give me hints or maybe even try to fix it... but hints would be good enough!
0 Kudos
Message 1 of 2
(2,155 Views)
Your VI resembles the Augean Stables and I am not Hercules! 🙂
 
There is no way to debug this VI without major cleanup. Too many overlapping wires, backwards wires, and overlapping structures. It's a mess.
 
Some things that stand out.
  • There is no reason to use transpose matrix and convert everything to a matrix data type, just to slice out 1D subsets later. Use transpose array.
  • To get a 1D slice, don't use "delete from array", just use index array. It is resizeable, so you can do everything with one single node. (See image insert for a quick cleanup attempt of your upper left code)
  • I don't see a reason for the big sequence structure, execution order is entirely determined by dataflow anyway.
  • You seem to have all code in triplicate, can't you re-use one instance in a FOR loop?
  • Why all the storage VIs? 63000 points should easily fit in memory.

Sorry. 🙂

Message Edited by altenbach on 05-25-2006 12:01 AM

Message 2 of 2
(2,142 Views)