Page 1 of 1

Problems with edge delay function

PostPosted: Sun Jul 19, 2009 8:07 am
by injectordynamics
I am using the edge delay function to qualify lambda data. The goal is to ignore any data during rapid throttle movement, and for 1.5 secs after the throttle has stabilized.

I am using 2 calculations.

1. Throttle Pos ROC = abs(derivative('Throttle Pos' [%]))
2. Edge Delay Test = edge_delay('Throttle Pos ROC'<12,1.5,rise)

This works fine if the driver comes on the throttle, or lifts off the throttle cleanly, but if there is a lot of on/off throttle movement in a short period of time the output of formula 2 is unpredictable.

I have attached a log with local math channels. Could someone give this a look and tell me what might be happening?

20081009-2004703.ldx
(1.19 KiB) Downloaded 1132 times

Re: Problems with edge delay function

PostPosted: Sun Jul 19, 2009 8:25 am
by injectordynamics
Oops. Wrong File.

20081009-2004703_2.ld
(464.77 KiB) Downloaded 1176 times

20081009-2004703_2.ldx
(1.14 KiB) Downloaded 1257 times

Re: Problems with edge delay function

PostPosted: Wed Feb 10, 2010 2:07 am
by Fermin
injectordynamics wrote:I am using the edge delay function to qualify lambda data. The goal is to ignore any data during rapid throttle movement, and for 1.5 secs after the throttle has stabilized.

I am using 2 calculations.

1. Throttle Pos ROC = abs(derivative('Throttle Pos' [%]))
2. Edge Delay Test = edge_delay('Throttle Pos ROC'<12,1.5,rise)

This works fine if the driver comes on the throttle, or lifts off the throttle cleanly, but if there is a lot of on/off throttle movement in a short period of time the output of formula 2 is unpredictable.

I have attached a log with local math channels. Could someone give this a look and tell me what might be happening?

20081009-2004703.ldx


If I understand you, I think that the formulas are this:

1. Throttle Pos ROC = abs(derivative('Throttle Pos' [%]))
2. Edge Delay Test = (edge_delay('Throttle Pos ROC'>12,1.5,rise))*(-1)+1
[Rate:1000Hz]

Re: Problems with edge delay function

PostPosted: Tue Mar 09, 2010 5:19 pm
by David Ferguson
I know this is an old post. But I think what you want to use is the time_valid() function.

I went ahead and used it with your original Edge Delay Test like this:

Qualified Lambda = choose(time_valid('Edge Delay Test', 1.5), 'Lambd1' [LA], invalid())

This gives you exactly Lambda values when the throttle rate of change is low for at least 1.5 seconds, and ends as soon at the rate exceeds that limit. You can then use this channel to generate reports with statistics on the qualified lambda data.