LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Force time trace select point to analyze from

Hi there,

I'm in the process of analysing some isometric force data looking at the rate of force development, mean EMG over the middle 3 seconds of a 5 second contraction when starting from a flat baseline. However the timing of the baseline isn't always exactly the same so the current analysis is sometimes out. I was just wondering if there was a way to select where to begin the analysis from on the force time trace, or if there is a way to work with this varying baseline.

Any help is appreciated
0 Kudos
Message 1 of 20
(3,277 Views)

Hi,

 

Could you please clarify what you are trying to do. What software are you using to do this? Is this just data analysis and no data acquistion? Providing clarity to your question should allow the community to better assist you.

Matt P.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 20
(3,233 Views)
Apologies for the lack of clarity. This is for data analysis.

Here is an overview of what we have with our data acquisition:

We collect torque from a dynamometer during maximum contractions and look at the strength and EMG produce during a 5 second maximum contraction. The main variables we want from the analysis are:

- maximum force
- mean EMG produced during the middle three seconds
-peak EMG produced during the middle three seconds
- rate of force and EMG development over 30,50,100 and 200ms.

Criteria for the rate of force development are that the contraction is defined as having begun when the force trace deviates 4nm away from baseline.

What I have at the moment is Labview averages the force baseline over the first 3 seconds of passiveness and then from there it searches for when the force time trace deviates 4nm away from baseline. From here the rate of force development is determined.

The issue I am having is the baseline is not the same time always and is not the same number between trials. For instance when you're looking to determine a 4nm deviation away from baseline, the baseline could be 24nm in one person and the next it could be 80. So setting constants isn't possible because of this variability. I have used other programs before (labchart) which allow you to select the point you want to determine as baseline, run a macro which you have written which determines the 4nm deviation and the assocaited other variables I want to get. But I was just wondering what the best way to approach it would be in Labview.

Cheers
0 Kudos
Message 3 of 20
(3,225 Views)

I am still not 100% sure on what you are doing as you seem to be changing between referring to the baseline in multiple different units (time,nm) It sounds like the baseline is something you are measuring and you are wanting to change it dynamically.

 

In LabVIEW I might try using a boolean with a case structure. In the case structure you can reset the baseline when the user clicks a button. When the user is not clicking a button you can pass the same baseline straight through the case structure. 

 

Another architecture you might try is some form of sequencing using a state machine or sequence structure where the beginning of the program takes the measurements and determines the baseline. The next sequence looks for the 4nm deviation. The preferred architecture is up to you but these are things I might try.

Matt P.
Applications Engineer
National Instruments
0 Kudos
Message 4 of 20
(3,189 Views)

Thanks for that Matt.

 

Please find attached the VI that I am using to collect and analyse the data and an couple example data sets.

 

Main issue I have is that the baseline time and value is not the same for every one. Therefore I need to be able to select a point where to analyse from. At the moment the data is searching for 4Nm below baseline, however the time and value of the baseline varies.

 

Apologies if I am confusing. It is confusing me after staring at it for so long.

0 Kudos
Message 5 of 20
(3,168 Views)

rtimm5,

 

Please add comments to your code to identify where you are currently setting the baseline value and time. Also if you could describe to me where this takes place it will help me find the issue.

Matt P.
Applications Engineer
National Instruments
0 Kudos
Message 6 of 20
(3,140 Views)

Hi Matt,

 

I have attached the VI again. I added some comments in it, however as you follow the wiring across, there is a Sub VI where I put "RTD VI" above it. Its inside this VI that baseline is determined.

 

Thanks again

0 Kudos
Message 7 of 20
(3,110 Views)

Is it possible that you could also include the RTD VI. so that I can see how you are setting the baseline?

Matt P.
Applications Engineer
National Instruments
0 Kudos
Message 8 of 20
(3,097 Views)

Apologies Matt. I thought I uploaded it. Here it is.

0 Kudos
Message 9 of 20
(3,051 Views)

Thank you, looking at your main VI as well as your subVI it appears that the only variables controlling the baseline are the "milliseconds to start after baseline" and the "millisec to sample". Based on your earlier descriptions where you currently have constants wired in you now need to change your inputs for every unique case. Is this correct? or is this subVI a previous attempt to change the baseline and thats what you are doing by averaging the data? Would you be opposed to requiring the user to input the baseline when running this analysis, or having the user input parameters and the analysis not completing until the parameters are entered. This would allow you to change your baseline based on user inputs.

Matt P.
Applications Engineer
National Instruments
0 Kudos
Message 10 of 20
(3,045 Views)