DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

ChnDurPosNegCalc

All,

 

We have a series of scripts that we are using to analyze data from our testing in order to assess potential human injury resulting from exposure to the tests.  For some of the parameters, injury is deemed to be likely if the subject is exposed to force above a certain level for a given period of time.  We have developed a way to successfully determine the time that a force exceeds a given level, but we are trying to determine if use of the command ChnDurPosCalc or ChnDurPosNegCalc, or one of the related DIAdem commands dealing with injury levels (e.g., ChnDurInjuryCalc) may be a better choice for us in certain cases.

 

For example, we have data like that shown in the DataChannel_Annotated attachment, and need to determine the two times noted on the plot:

 

Using the ChnPosNegCalc command as follows produces the result channel shown in ResultChannel attachment:

 

Call ChnDurPosNegCalc(Data.Root.ChannelGroups(2).Channels("Time axis"), Data.Root.ChannelGroups(2).Channels("507 Upper Neck Fx"), "in one peak",0,"[2]/TimeAboveLevel",0,0,0,0)

 

I am not certain how to interpret this plot (and the x-axis values), specifically relevant to determining the time durations noted in the original data plot. 

 

Any additional information about using the functions for this purpose and in interpreting the result channel(s) would be greatly appreciated.

 

Thanks in advance,

 

Bill Evans

720-988-3436

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

Hi Bill,

 

I'm not sure if you've come across this Help document, but it may contain some new information for you.

 

Cheers,

KyleP
Applications Engineer
National Instruments
0 Kudos
Message 2 of 11
(5,696 Views)

Kyle,

 

Thanks for the reference to the Help document you specified.  It certainly does help with some of my questions.  However, I am still unclear with regard to the axes -in the help document, it shows that the x-axis is time.  However, in the results channel created by calling ChnDurPosNegCalc in our script, the "time above level" is on the y-axis with the x-axis labelled as "index". 

 

Is this what you would expect from use of the ChnDurPosNegCalc command as follows?

 

Call ChnDurPosNegCalc(Data.Root.ChannelGroups(2).Channels("Time axis"), Data.Root.ChannelGroups(2).Channels("507 Upper Neck Fx"), "in one peak",0,"[2]/TimeAboveLevel",0,0,0,0)

 

Thanks,

 

Bill Evans

720-988-3436

 

0 Kudos
Message 3 of 11
(5,677 Views)

Hi Bill,

 

From my understanding, the index is a percentage of the threshold. The time axis in your image is showing how much time a given percentage is sustained in that one peak.

 

Cheers,

KyleP
Applications Engineer
National Instruments
0 Kudos
Message 4 of 11
(5,654 Views)

Kyle (and others),

 

Thanks for the reply and the information.  This makes sense to me, and I have done some additional work on this subject.  I believe I have the understanding and information necessary to effectively use the ChnDurPosCalc command to get what we need (see attached "Use of ChnDurPosCalc for Time at Limit for Positive Signals_120512.PDF" document).

 

However, I am having some difficulties with using the ChnDurPosNegCalc for determining the duration time information (ie, time at limit) for negative-going signals.  Using the following script does not appear to produce the same type of "results" as using ChnDurPosCalc for positive-going signals.  After executing the following script with a channel having negative peaks, the results channels for duration and amplitude for the negative portion of the signal do not appear to produce a duration vs loading (amplitude) curve like the ChnDurPosCalc command does:

 

ChnDurPosNegCalc(Data.Root.ChannelGroups(2).Channels("Time axis"), Data.Root.ChannelGroups(2).Channels("507 Upper Neck Fx"), "in one peak",,,,,"[2]/507NeckFxLoadDurations_NEG","[2]/507NeckFxAmplitudes_NEG")

 

In this case, the duration vs loading plot that is represented in the View module when using the 507NeckFxLoadDurations_NEG and 507NeckFxAmplitudes_NEG channels does not appear to contain any data points (see the attached "Possible Issue with ChnDurPosNegCalc for Time at Limit for Negative Signals_120512.PDF" document). 

 

I suspect the issue may simply be with how I am using the ChnDurPosNegCalc command, but I can't determine what is wrong.  Any thoughts or additional information on the proper use of this command for negative-going signals would be greatly appreciated.

 

Thanks!

 

Bill Evans

720-988-3436

0 Kudos
Message 5 of 11
(5,621 Views)

All,

 

Having received no response to my recent post, I thought I would ask my question(s) another way:

 

Our intent for using the ChnDurPosCalc and (presumably) the ChnDurPosNegCalc commands is to produce time-history plots of selected channels on the same graph with published Injury tolerance curves.

 

For example, the recorded signal for the Upper Neck Fz sensor channel is shown in the attached file ("Representative Signal and Associated Injury Parameters.jpg"), with related injury parameters listed. Based on the applicable reference standard (AEP55 in this case), the maximum peak value for this channel represents the maximum Neck Axial Tension level while the minimum peak value represents the Neck Axial Compression level.

 

As one of the methods of reporting results from our tests, we need to determine the “time at level” using the ChnDurPosCalc and ChnDurPosNegCalc commands respectively for the positive portion of the curve and the negative portion of the curve (or perhaps the ChnDurPosNegCalc for both).  The channels resulting from this would then be used to programmatically generate injury curves for BOTH the tension and compression parameters (ie, for both the positive and negative parts of the signal).  These curves would have the format as shown in the attached file ("Representative Injury Curve.jpg"). 

 

In order to accomplish this, it is necessary to determine the “time at level” for both the positive and negative portions of selected curves.  Should the ChnDurPosNegCalc command be able to produce the “time at level” results for both positive and negative portions of the measured curve for use in the Injury Curve graphs such as that shown above?  If so, I apparently am using the commend incorrectly since my script using the ChnDurPosNegCalc command produces no results for the negative portions of the curves I've tried it on (see my previous post on this topic).

 

Any thoughts or assistance on this would be greatly appreciated.

 

Regards,

 

Bill Evans

720-988-3436

 

0 Kudos
Message 6 of 11
(5,563 Views)

Hi Bill,

 

I'm wondering if you're limiting your results by selecting "in one peak". Have you tried using "in multiple peaks" to see what data you get back?

 

Cheers,

KyleP
Applications Engineer
National Instruments
0 Kudos
Message 7 of 11
(5,531 Views)

Kyle,

 

I appreciate your feedback.  However, we are constrained by several regulatory reference standards which require calculation of time above level values based on the longest duration above reference levels any single peak in the signal. 

 

I have found the command ChnDurInjuryCalc which I have been able to use (instead of the ChnDurPosNegCalc command) to calculate the time at level for both positive-going and negative-going portions of our measured signals.  Although this command seems to provide what we need for this aspect of our application, we still need to understand how to properly use the ChnDurPosNegCalc command for another part of our application.  Is there anything else I can provide to assist your evaluation of the issues we seem to be having with the ChnDurPosNegCalc command?

 

Regards,

 

Bill Evans

720-988-3436

 

0 Kudos
Message 8 of 11
(5,495 Views)

Hi Bill,

 

Earlier you asked:

 

Should the ChnDurPosNegCalc command be able to produce the “time at level” results for both positive and negative portions of the measured curve for use in the Injury Curve graphs such as that shown above?

 


Yes, it should. From the DIAdem Help:

 

“Specifies the time-at-level for positive and for negative values. The time at level describes the maximum continuous time interval in which the amplitude of a signal exceeds a specific lower threshold.”

 

Have you been able to use the function on other data sets? Would it be possible for you to try using example data provided in DIAdem? You could try loading the Crash.tdm file from the Crash Analysis example.

 

Cheers,

KyleP
Applications Engineer
National Instruments
0 Kudos
Message 9 of 11
(5,469 Views)

Kyle,

 

I can reproduce the "problematical behavior" for the ChnDurPosNegCalc command/script call in a number of our own datasets - I've tried 4 different datasets and the ChnDurPosNegCalc script (in the format I'm using) fails to produce a meaningful graph for the negative portions or each curve I've tried it on.

 

Per your suggested, I loaded the "Crash.tdm" data set from the DIAdem examples, changed the channel name in the ChnDurPosNegCalc command I used on our other data sets, and ran the script.  For the "Crash.tdm" example data set, the scripted command still produced "No Value" results and a meaningless graph for the negative portions of the curve (see attached "ChnDurPosNegCalc Results Comparison_121712.pdf" document). 

 

Is there any special directive (or a specific data format) that needs to be used with the ChnDurPosNegCalc command that perhaps is missing from the Help documentation?

 

Regards,

 

Bill Evans

720-988-3436

0 Kudos
Message 10 of 11
(5,454 Views)