LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Real time epoching

Dear all,

                How to do real time epoching in labview. If continous data is coming in an array then how we can split that data into small fragments in real time.

 

I am fairly new in advanced signal processing.

 

Thanks 🙂

 

Regards

AG

 

 

 

0 Kudos
Message 1 of 9
(3,607 Views)

Hi AG,

 

- what do you mean by "epoching"?

- What has "real time" to do with splitting array data? Btw. you would use SplitArray or ArraySubset or Decimate1DArray to receive array subsets…

- How is "splitting arrays" related to advanced signal processing?

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 9
(3,563 Views)

Thank you for your reply, I meant that if I am acquiring EEG signal in real time (in an array format) with sample rate of 512 Hz. Futhermore, for example, if I am acquiring a 10s signal what I need now is to split it in 2s small epochs and applying FFT on these epochs. Can I do this continously as data is acquired by the hardware.

 

What I want to do may be similar to this http://forums.ni.com/t5/LabVIEW/Decimate-1D-Array/td-p/1579272 but I am not sure if I can do this with acquisition on.

 

Thanks.

 

Regards

 

AG

0 Kudos
Message 3 of 9
(3,549 Views)

Hi AG,

 

you get data with 512S/s over a period of 10s so you have 5120 samples. You want to split into 2s intervals so you need to get array subsets of 1024 samples each.

 

Sounds like you would use a FOR loop and an ArraySubset function…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 4 of 9
(3,545 Views)

Yes,  but before that I am trying to collect my data in a single column array (appending new data continously) like 51 samples + 51 samples ... and so on. For this I am using build array and shift register which is basically  updating the array size but waveform chart shows that something is wrong. Can't get it. 😕 

 

Thanks 

Regards

AG

0 Kudos
Message 5 of 9
(3,515 Views)

Hi AG,

 

you do a lot in your VI, but nothing of the mentioned tasks…

 

- Why do you build a 2D array from your data and then only index the first row?

- Why do you run the FOR loop with the while loop iterator as loop count?

 

Please attach a real VI instead of just pictures…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 6 of 9
(3,507 Views)

Okay so basically here I am just supposing (because my data will be acquirred in the form of 2D arrays from hardware) that I have two channels and I am picking row # 01 from that 2D array so I can further plot it, epochs analysis and etc. The for loop on the top is plotting data continously while in the down one, I am trying to append continous data into array so I can further use it for epochs and frequency analysis. 

 

 

 

Thanks

 

Regards

 

AG

0 Kudos
Message 7 of 9
(3,499 Views)

Hi AG,

 

see attachment.

 

Keep in mind collecting a lot of data in shift registers will lead to "out of memory" problems sooner or later!

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 8 of 9
(3,490 Views)

Thanks its good, you're right I have to collect huge amount of data. So, what would be the alternative in that case. Can we do something without shift register Smiley Frustrated

 

Regards 

 

AG

0 Kudos
Message 9 of 9
(3,477 Views)