ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Pulse oximeter that read data from datasheet(.csv)

I realize that English is not your first language, however, data was posted and not your algorithm.   I have read your assignment and now see that your instructor's goal is to have you implement an algorithm in LABVIEW.  This is why I asked for the algorithm.  Use Google to search for Pulse oximeter Beer's Law.  Ask your instructor to help you with calculating the SAO2 and PULSE RATE by hand (no computer).

 

I have a few observations and suggestions to improve with your LONG-TERM learning (this will not help you with your assignment):

 

1) Labview = Data-Acquisition.   I suggest that you use measure an analog oximeter signal (http://tinyurl.com/oximeter1) to learn how Labview can be quickly used measure signals.  The video shows an Nellcor N600X analog pleth signal collected with MATLAB using an Arduine Due: the concept is the same.   

 

2) MATLAB = Signal Analysis.   A mathematics package like MATLAB is the place to prototype the algorithm.  The upper plot shows your red data:

 

Selection_115.png

 

 

I think that because of the order in which the data is stored, the data is 'backwards': the MATLAB command fliplr() was used to create the lower graph which (from experience) depicts a more realistic pleth waveform.  I discarded the first data point and first column.    Although this is a NI board and NI has made significant progress in the last 20 years regarding signal processing, MATLAB or NumPY would be my first choice.

 

3) Finally, I would suggest that you focus on either the algorithm OR the data-acquisition: NOT both.  The algorithm involves Beer's law and it would be helpful (maybe necessary) to have an undergraduate EE degree.  If you are an undergraduate or in highschool I suggest using wiring a Nonin iPod 3150 oximeter to a PL2303HX Converter USB To RS232 TTL USB To COM to demonstrate that you can wire up a device correctly and read a signal.  I have mentored students serial communications and have 2 devices remaining that are 'plug and play.

Message 11 of 19
(1,984 Views)

Hi gatorback.
Thank you for your suggestion. I relized that yesterday after the comment from GerdW. I started doing everything from the start and manage to get Sp02 rate. For heart rate I will take the time between to peaks and 1/T is the heart rate.

 

0 Kudos
Message 12 of 19
(1,959 Views)

Guys, How can I detect two adjacent peaks from array? And show their value and index?
Thanks

 

P.S. I am sending you the .csv file from which I have to detect peaks.

0 Kudos
Message 13 of 19
(1,938 Views)

Hi Gajo,

 

How can I detect two adjacent peaks from array? And show their value and index?

Simple algorithm:

- search first peak and show its value/index

- then search the second peak starting and index of first one +1…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 14 of 19
(1,933 Views)

Search it with which function?

0 Kudos
Message 15 of 19
(1,929 Views)

Hi Gajo,

 

LabVIEW comes with a lot of signal processing functions, including "Peak Detection"…

 

What have you tried so far?

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 16 of 19
(1,927 Views)

I tried array min and max, but that only returns one value, and peak detect but I cannot connect my array with that vi.

0 Kudos
Message 17 of 19
(1,926 Views)

Hi Gajo,

 

peak detect but I cannot connect my array with that vi.

Attach your current VI with your tries to use PeakDetection…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 18 of 19
(1,922 Views)

Here is the .vi

0 Kudos
Message 19 of 19
(1,920 Views)