Alpha-N

From S4wiki
Revision as of 01:44, 2 October 2026 by Nyet (talk | contribs) (Created page with "Alpha-n is ME7's throttle-angle based airflow estimate (<code>msdk_w</code>, function BGMSZS). The engine falls back to it if the MAF fails or is unplugged. Calibrating it is not part of a normal tune. This page covers what the related maps do on the M-box and which ones to change if you want <code>msdk_w</code> to match the MAF (<code>mshfm_w</code>). == What WDKUGDN is == WDKUGDN is a curve (<code>nmot → throttle angle %</code>, axis SNM12FEUB) descr...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Alpha-n is ME7's throttle-angle based airflow estimate (msdk_w, function BGMSZS). The engine falls back to it if the MAF fails or is unplugged. Calibrating it is not part of a normal tune. This page covers what the related maps do on the M-box and which ones to change if you want msdk_w to match the MAF (mshfm_w).

What WDKUGDN is

WDKUGDN is a curve (nmot → throttle angle %, axis SNM12FEUB) described by Bosch as the "throttle angle from which there is no more throttling" (Drosselklappenwinkel, ab der keine Drosselung mehr erfolgt). It is the throttle angle at which the pressure ratio across the throttle reaches PSPVDKUG (0.95). Above that ratio the throttle no longer restricts flow in any useful way, so ME7 stops computing the throttle angle from the KLAF flow curve.

This is not the choked flow point. Choked flow happens at a pressure ratio of about 0.528, with the throttle almost closed and the restriction at its largest. ME7 never uses 0.528. WDKUGDN marks the other end of the range, where the throttle is open enough that the pressure ratio is 0.95.

What WDKUGDN does (M-box, FR FUEDK/BGMSZS):

  • Throttle target (FUEDK): the target angle comes from KFWDKMSN (requested airflow × nmot) and is capped at WDKUGDN. If the uncapped angle is at or above WDKUGDN, B_ugds ("target angle in unthrottled range") is set. B_ugds is a status bit local to FUEDK; no other code on the M-box reads it.
  • Remaining travel to 100% (turbo): the travel from WDKUGDN to 100% is opened linearly as the boost controller's requested pressure ratio vpsspls_w rises from PSPVDKUG (0.95) to 1.0. It is enabled by boost control (B_ldrugd), not by WDKUGDN. WDKUGDN is only the starting angle.
  • Alpha-n (BGMSZS): KFMSNWDK is looked up with the throttle angle capped at WDKUGDN. Above WDKUGDN, the last 5% of airflow is interpolated linearly between WDKUGDN and 100% (Überweg).

The load controller FUEREG (Füllungsregelung, closes rl_w to rlsol_w; it is not fuel adaptation) and the alpha-n adaptation integrators are switched by B_fkmsdks. That flag is set when the requested pressure ratio reaches PSPVDKUG (B_klafbg, or vpsspls_w ≥ PSPVDKUG). It does not depend on WDKUGDN or B_ugds. With B_fkmsdks set, FUEREG can still pull load down but no longer adds it, and adaptation is frozen.

WDKUGDN depends on the throttle body and on how much air the engine flows at each RPM. Change it together with KFMSNWDK/KFWDKMSN if you change either.

Do NOT adjust WDKUGDN for part-throttle alpha-n

The common advice ("compare msdk_w vs mshfm_w, adjust WDKUGDN until they match") is wrong for part throttle. Below WDKUGDN the alpha-n airflow does not depend on WDKUGDN at all. Changing it to fix an msdk_w vs mshfm_w discrepancy:

  1. Moves the throttle cap and the start of the remaining travel. FUEDK caps the target angle at the wrong place, and the travel from WDKUGDN to 100% (driven by the KFVPDKSD/E region above 0.95) starts at the wrong angle.
  2. Moves the alpha-n breakpoint. The KFMSNWDK input cap and the interpolation of the last 5% shift, so msdk_w near WOT changes while part throttle stays wrong.
  3. Leaves the actual problem in place. The error comes from KFMSNWDK or the manifold model maps; it just shows up somewhere else.

The correct maps to calibrate for alpha-n

Priority Map When to Change What It Does
1 KFMSNWDK Changed throttle body or intake manifold Throttle body flow map (throttle angle × nmot → normalized mass flow, then scaled by the KLAF pressure-ratio curve). The single most important map for alpha-n accuracy.
2 KFURL Changed cams, head work, port work Pressure-to-load slope (%/hPa, valve overlap angle × nmot; overlap comes from cam position) — how much load each hPa of manifold pressure produces
2 KFPBRK Changed cams, head porting, compression ratio Combustion chamber pressure correction factor (nmot × load → factor)
2 KFPRG Changed cam timing, exhaust, turbo Residual gas partial pressure (valve overlap angle × nmot) — the manifold pressure at which cylinder filling = 0
3 Adaptation reset After ANY map changes Clear msndko_w (additive offset) and fkpvdk_w (multiplicative factor), then drive with MAF connected to re-learn
4 KUMSRL Changed engine displacement Mass flow → load conversion constant

Diagnostic — match the error pattern to the map:

Symptom Likely Map
Load error proportional to pressure (grows linearly) KFURL — pressure-to-load slope is wrong
Constant load offset at each RPM (independent of pressure) KFPRG — residual gas offset is wrong
Non-linear load error (varies with both RPM and load) KFPBRK — correction factor wrong at specific operating points
Error varies with intake air temperature FWFTBRTA — temperature weighting is off

The msdk_w computation (BGMSZS, M-box):

msdk_w = KLAF(min(pspvdk, PSPVDKUG)) × (KFMSNWDK(min(wdkba, wdkugd), nmot) + msndko_w) × fue × fpvdk_w × ftvdk
fpvdk_w = fkmsdk_w × fpvdkds_w,  fkmsdk_w = fkmsdks_w × fkpvdk_w

where fue = 1 below WDKUGDN and rises linearly to 2 − PSPVDKUG (1.05) at 100% throttle. The learned values are msndko_w (additive, below airflow MLFKMSDK; throttle leakage) and fkpvdk_w (multiplicative, above MLFKMSDK). fkmsdks_w is the fast 10 ms correction they are learned from. All three freeze while B_fkmsdks is set. If KFMSNWDK and the manifold model (KFURL, KFPBRK, KFPRG) are right and the adaptations were learned with the MAF connected, alpha-n will be accurate.

Changing fuel injectors does NOT require alpha-n recalibration. Injectors affect fueling (KRKTE/TVUB), not air measurement. However, reset adaptations after injector changes since O2 adaptation may shift the learned values.