Page 5 of 10 FirstFirst 123456789 ... LastLast
Results 81 to 100 of 194

Thread: What is dynamic airflow

  1. #81
    Senior Tuner
    Join Date
    Mar 2022
    Location
    Indiana
    Posts
    2,981
    I hope post processing isn't required. I'd like this to be accessible and simple to implement for everyone.

    The formula is extremely simple.

  2. #82
    Senior Tuner
    Join Date
    Mar 2022
    Location
    Indiana
    Posts
    2,981
    Why couldn't it be:

    slope(MAF) <= 10 & slope(VVE) <= 10

    The user defines the slope function. Set to Percent with Period being something like 125ms (k timestep)? Do this for each airflow parameter.
    slope.png

    Someone translate that to a complete formula please. What would that look like?

    Thing is slope can't be determined for a point. Maybe the slope function does some sort of evaluation in a piece-wise interpolation/extrapolation fashion around a point. If slope requires 3 data points to evaluate for just one (slope of middle point) then that might be problematic.
    Last edited by SiriusC1024; 08-20-2023 at 09:29 PM.

  3. #83
    Senior Tuner
    Join Date
    Mar 2022
    Location
    Indiana
    Posts
    2,981
    Something like this I think. Haven't tested it.
    filter.png

  4. #84
    Senior Tuner
    Join Date
    Mar 2022
    Location
    Indiana
    Posts
    2,981
    Well. It's filtering something. Looks like it works.
    filtered_dynair.png

    The graphs for DynAir_UMAF, DynAir_UMAP, DynAir_SS are operating in a Boolean fashion. Conditions met = TRUE = 1. Kinda cool. It's showing where steady state is for UMAF then for UMAP, and when both are TRUE it's shown at DynAir_SS

    What I want is to plot the actual DynAir value when the condition is true, but I haven't figured that out yet. If anyone can tell me that part (or how to even do a fucking <= in scanner) I'd be happy. See the expression? I tried [Dynamic Air] IF <expression>, but that didn't work at all.

    This is all preliminary stuff. Still have to verify that the slope filter is functioning the same way as what I plotted before. I'd have to take the log, python it, VCM Scanner it, run checks. I have to attend to other things right now.
    Last edited by SiriusC1024; 08-20-2023 at 10:02 PM.

  5. #85
    Senior Tuner
    Join Date
    Jul 2020
    Location
    VIC Australia
    Posts
    1,171
    In out and about, but can run it over a log tonight

  6. #86
    Senior Tuner
    Join Date
    Mar 2022
    Location
    Indiana
    Posts
    2,981
    I don't think it's working right, but it might still be an improvement. This log is pretty steady, as far as the "steady pedal movement slow RPM change" criteria from before, yet high slope changes are being filtered. Just doesn't quite look like it's doing an actual 0.1 slope. I'll keep working at it, but I'm glad to get a second opinion.
    Last edited by SiriusC1024; 08-20-2023 at 10:31 PM.

  7. #87
    Senior Tuner
    Join Date
    Mar 2022
    Location
    Indiana
    Posts
    2,981
    Nvm about stopping just yet. I was so close I could taste it. This is more like it.
    filter_corrected.png
    k = 0.012
    Gain_const = 0.1

    Code:
    The formula for determining when steady state airflow conditions occur and to filter as such is
    Poll [DynAir] if {(abs([MAF(k)]-[MAF(k-1)])/[MAF(k-1)]))/(k-(k-1)) <= [ECM 13432]} && {(abs([MAP(k)]-[MAP(k-1)])/[MAP(k-1)])/(k-(k-1)) <= [ECM 13432]}
    
    becomes the simplest calculus
    ... if d(MAF)/dt <= [ECM 13432] && d(MAP)/dt <= [ECM 13432]
    
    where d/dt is evaluated over polling rate = 12ms and [ECM 13432] becomes 0.1, simplifies to 
    ... if delta(MAF)/.012 <= 0.1 && delta(MAP)/.012 <= 0.1
    
    where MAF is Mass Air Flow and MAP is VVE in terms of MASS FLOW RATE (g/s, lb/h, etc.), <= is relegated to <, translates to VCM Scanner user-defined Math Parameter format as
    ((ABS([50040.71]-[50040.71.shift(-12)])/[50040.71.shift(-12)])/.012) < 0.1 & ((ABS([2311.71]-[2311.71.shift(-12)])/[2311.71.shift(-12)])/.012) < 0.1
    Still needing that <= operator in scanner format Would be kind of ridiculous if it took a whole expression appended to this one as an OR that uses only the = sign.
    Last edited by SiriusC1024; 08-21-2023 at 12:51 AM.

  8. #88
    Senior Tuner
    Join Date
    Jul 2020
    Location
    VIC Australia
    Posts
    1,171
    The dynAir_ss filter looks good based on your screen shot. Looking forward to having a play with it.

  9. #89
    Tuning Addict
    Join Date
    Jan 2015
    Location
    Franklin, NC / Gainesville, Ga
    Posts
    6,841
    Only way I've been able to <= to work in the scanner is like this. Just grabbed one of mine where I'm logging spark from a given point to another given point. Don't know if this will do what you want though. You might be able to do it like this (whatever) < (whatever) and = (whatever) You have to use the and's...

    [14.161] > 35 and [14.161] < 55
    2010 Vette Stock Bottom LS3 - LS2 APS Twin Turbo Kit, Trick Flow Heads and Custom Cam - 12psi - 714rwhp and 820rwtq / 100hp Nitrous Shot starting at 3000 rpms - 948rwhp and 1044rwtq still on 93
    2011 Vette Cam Only Internal Mod in stock LS3 -- YSI @ 18psi - 811rwhp on 93 / 926rwhp on E60 & 1008rwhp with a 50 shot of nitrous all through a 6L80

    ~Greg Huggins~
    Remote Tuning Available at gh[email protected]
    Mobile Tuning Available for North Georgia and WNC

  10. #90
    Tuning Addict
    Join Date
    Jan 2015
    Location
    Franklin, NC / Gainesville, Ga
    Posts
    6,841
    This is a slope function I had for plotting injector tip temp for logging - not my formula, but it does work.

    [50090.156.slope(1000)]<1 AND [6215.242]<140 AND [6215.242]>117 AND [6001]>10 AND ([6310]=0 OR [6310]=1 OR [6310]=6 OR [6310]=7 OR [6310]=9 OR [6310]=14) AND [50116.155.avg(500)] = 0

    Also if you think about it you really don't need the = to part. You can just use a number just under or above that number so it will start with the (=) number.
    2010 Vette Stock Bottom LS3 - LS2 APS Twin Turbo Kit, Trick Flow Heads and Custom Cam - 12psi - 714rwhp and 820rwtq / 100hp Nitrous Shot starting at 3000 rpms - 948rwhp and 1044rwtq still on 93
    2011 Vette Cam Only Internal Mod in stock LS3 -- YSI @ 18psi - 811rwhp on 93 / 926rwhp on E60 & 1008rwhp with a 50 shot of nitrous all through a 6L80

    ~Greg Huggins~
    Remote Tuning Available at gh[email protected]
    Mobile Tuning Available for North Georgia and WNC

  11. #91
    Senior Tuner
    Join Date
    Mar 2022
    Location
    Indiana
    Posts
    2,981
    Haha yeah I see that OR statement. I agree < should be sufficient.

  12. #92
    Senior Tuner
    Join Date
    Jul 2020
    Location
    VIC Australia
    Posts
    1,171
    SiriusC1024
    Can you confirm this is what you want a 2nd opinion on?
    Code:
    ((ABS([50040.71]-[50040.71.shift(-12)])/[50040.71.shift(-12)])/.012) < 0.1 & ((ABS([2311.71]-[2311.71.shift(-12)])/[2311.71.shift(-12)])/.012) < 0.1

  13. #93
    Senior Tuner
    Join Date
    Mar 2022
    Location
    Indiana
    Posts
    2,981
    Duh. To graph DynAir at steady state just multiply DynAir by the Boolean expression. If TRUE, DynAir * 1 = DynAir. FALSE, DynAir * 0 = 0.
    dynairsteadygraph.png

    It's pretty cluttered. Couldn't find any way to do a scatter plot without the lines.

    I created a new user defined math expression with DynAir * (filter). A histogram would use the filter exclusively. 0's wouldn't be included in the averaging function where filter criteria fails. Where it fails the data is ignored.
    Last edited by SiriusC1024; 08-21-2023 at 02:13 AM.

  14. #94
    Senior Tuner
    Join Date
    Mar 2022
    Location
    Indiana
    Posts
    2,981
    Quote Originally Posted by hjtrbo View Post
    Can you confirm this is what you want a 2nd opinion on?
    Code:
    ((ABS([50040.71]-[50040.71.shift(-12)])/[50040.71.shift(-12)])/.012) < 0.1 & ((ABS([2311.71]-[2311.71.shift(-12)])/[2311.71.shift(-12)])/.012) < 0.1
    That's it. Why did you find an error?

  15. #95
    Senior Tuner
    Join Date
    Jul 2020
    Location
    VIC Australia
    Posts
    1,171
    Quote Originally Posted by SiriusC1024 View Post
    That's it. Why did you find an error?
    It runs. Needs some time on it, it's a bit too sensitive in it's current form.

    Screenshot 2023-08-21 190733.png

  16. #96
    Senior Tuner
    Join Date
    Mar 2022
    Location
    Indiana
    Posts
    2,981
    It appears that when HJ 1 and HJ 2 =1 then SiriusC1024 = 1? If so then it's not working that way.

    You're using the filter with MAF and MAP in terms of mass, like g/s?

    Mind sharing the file you're using right there?
    Last edited by SiriusC1024; 08-21-2023 at 04:53 AM.

  17. #97
    Senior Tuner
    Join Date
    Jul 2020
    Location
    VIC Australia
    Posts
    1,171
    HJ 2 filter
    Code:
    [2320.71.slope(1500)]>-10 and abs([2320.71.slope(-200)])<1.6 and [6215.241]<60 and [2517.161.avg(500)]=0 and [2517.161.avg(-500)]=0 and ([6310]=9 OR [6310]=14 OR [6310]=15)=0 and [50072.slope(2000)]=0 and [50072.slope(-2000)]=0
    log is the longer version of the snippet I attached the other day
    https://1drv.ms/u/s!Atuxgi8rpo3Vm5YS...VTcNg?e=140Rea

  18. #98
    Senior Tuner
    Join Date
    Mar 2022
    Location
    Indiana
    Posts
    2,981
    What time interval is in that frame posted?

  19. #99
    Senior Tuner
    Join Date
    Jul 2020
    Location
    VIC Australia
    Posts
    1,171
    10s
    6m09s into the log I linked you to.

  20. #100
    Senior Tuner
    Join Date
    Mar 2022
    Location
    Indiana
    Posts
    2,981
    There's something going on with the way UMAF Boolean is being calculated. Hold on...