Milinganyo ya Nguvu ya Baiskeli

Msingi wa Kihisabati wa Vipimo vya Bike Analytics

Mwongozo wa Utekelezaji

Ukurasa huu unatoa milinganyo ya kunakili na kubandika pamoja na njia za ukokotoaji wa hatua kwa hatua kwa vipimo vyote vya Bike Analytics. Tumia hizi kwa utekelezaji maalum, uhakiki, au uelewa wa ndani zaidi wa mafunzo kulingana na nguvu.

⚠️ Vidokezo vya Utekelezaji

  • Thamani zote za nguvu ziko katika wati (W), muda katika sekunde isipokuwa inapoelekezwa vinginevyo
  • FTP na CP ni vizingiti maalum kwa kila mtu—hakuna thamani ya ulimwengu mzima
  • Daima hakiki kama data zinazoingizwa ziko katika viwango vya kawaida (wati 0-2000 ni kawaida)
  • Shughulikia hali zisizo za kawaida (kugawanya kwa sifuri, nguvu hasi)
  • Data ya nguvu inahitaji vipindi vya kurekodi vya sekunde 1 kwa usahihi

Kuendesha baiskeli Vipimo vya Msingi vya Utendaji

1. Alama ya Mkazo wa Mafunzo (Training Stress Score - TSS)

Mlinganyo:

TSS = (duration_seconds × NP × IF) / (FTP × 3600) × 100
ambapo IF = NP / FTP

Mfano wa Ukokotoaji:

Hali: Safari ya saa 2, NP = 235W, FTP = 250W

  1. Kokotoa IF: IF = 235 / 250 = 0.94
  2. Muda katika sekunde: saa 2 × 3600 = sekunde 7200
  3. TSS = (7200 × 235 × 0.94) / (250 × 3600) × 100
  4. TSS = 1,590,720 / 900,000 × 100 = 176.7 TSS

Ufafanuzi: Safari ngumu ya mafunzo (>150 TSS), tarajia siku 2-3 za kupona

Utekelezaji wa JavaScript:

function calculateTSS(durationSeconds, normalizedPower, ftp) {
  const intensityFactor = normalizedPower / ftp;
  const tss = (durationSeconds * normalizedPower * intensityFactor) / (ftp * 3600) * 100;
  return Math.round(tss);
}

// Mfano wa utumiaji:
const tss = calculateTSS(7200, 235, 250);
// Inarudisha: 177

2. Nguvu Iliyorekebishwa (Normalized Power - NP)

Algorithm (wastani wa mzunguko wa sekunde 30):

1. Kokotoa wastani wa mzunguko wa sekunde 30 wa nguvu kwa safari nzima
2. Pandisha kila thamani ya sekunde 30 kwa kipeuo cha 4 (power of 4)
3. Chukua wastani wa thamani hizi zote za ^4
4. Tafuta kipeuo cha nne cha wastani huo
NP = ⁴√(wastani wa [30s_avg^4])

Kwa nini Kipeuo cha 4?

Uhusiano wa kipeuo cha nne (quartic) unaonyesha gharama isiyo ya mshazari ya kifiziolojia ya juhudi zinazobadilika. Safari yenye surges na mapumziko inagharimu nishati zaidi kuliko nguvu thabiti katika wastani ule ule.

Mfano:

  • Safari thabiti: 200W kwa saa 1 → NP = 200W, Wastani = 200W
  • Safari inayobadilika: Inayopishana kati ya 300W/100W → Wastani = 200W, NP = 225W

Wastani wa nguvu ni ule ule, lakini safari inayobadilika ina NP ya juu kwa 12% kutokana na gharama ya kifiziolojia ya surges

Utekelezaji wa JavaScript:

function calculateNormalizedPower(powerData) {
  // powerData ni mfululizo (array) wa thamani za nguvu za kila sekunde

  // Hatua ya 1: Kokotoa wastani wa mzunguko wa sekunde 30
  const rollingAvgs = [];
  for (let i = 29; i < powerData.length; i++) {
    const window = powerData.slice(i - 29, i + 1);
    const avg = window.reduce((sum, p) => sum + p, 0) / 30;
    rollingAvgs.push(avg);
  }

  // Hatua ya 2: Pandisha kwa kipeuo cha 4
  const powered = rollingAvgs.map(p => Math.pow(p, 4));

  // Hatua ya 3: Wastani wa vipeuo vya 4
  const avgPowered = powered.reduce((sum, p) => sum + p, 0) / powered.length;

  // Hatua ya 4: Tafuta kipeuo cha nne
  const np = Math.pow(avgPowered, 0.25);

  return Math.round(np);
}

// Mfano wa utumiaji:
const powerData = [/* array ya nguvu ya kila sekunde */];
const np = calculateNormalizedPower(powerData);
// Inarudisha: NP katika wati

3. Kigezo cha Ukubwa (Intensity Factor - IF)

Mlinganyo:

IF = NP / FTP

Mazingira ya Ufafanuzi:

Kiwango cha IFKiwango cha JuhudiMfano wa Mazoezi
< 0.75Kupona / RahisiSafari ya urejeshaji amilifu, Zone 1-2
0.75 - 0.85Uvumilivu (Endurance)Safari ndefu thabiti, msingi wa aerobic
0.85 - 0.95TempoMafunzo ya sweet spot, vipindi vya tempo
0.95 - 1.05Kizingiti (Threshold)Vipindi vya FTP, juhudi za mbio dhidi ya saa
1.05 - 1.15VO₂maxVipindi vya dakika 5, mbio za criterium
> 1.15AnaerobicSprints fupi, mashambulizi, surges za MTB

Mfano wa Ukokotoaji:

Hali: NP = 235W, FTP = 250W

IF = 235 / 250 = 0.94

Ufafanuzi: Juhudi kubwa ya tempo / karibu na kizingiti, inayoweza kudumishwa kwa saa 2-3

function calculateIF(normalizedPower, ftp) {
  return (normalizedPower / ftp).toFixed(2);
}

// Mfano:
const if_value = calculateIF(235, 250);
// Inarudisha: 0.94

4. Kigezo cha Mabadiliko (Variability Index - VI)

Mlinganyo:

VI = NP / Wastani wa Nguvu

Ufafanuzi kwa kila Nyanja:

NyanjaVI ya KawaidaMaana
Road TT / Juhudi Thabiti1.00 - 1.05Nguvu thabiti sana, mpango bora wa kasi
Road Racing1.05 - 1.10Baadhi ya surges, kwa ujumla thabiti
Criterium1.10 - 1.20Kuongeza kasi na mashambulizi ya mara kwa mara
Mountain Bike XC1.15 - 1.30+Inabadilika sana, surges za mara kwa mara

Mfano wa Ukokotoaji:

Mbio za Barabarani: NP = 240W, Wastani wa Nguvu = 230W

VI = 240 / 230 = 1.04 (kasi thabiti)

Mbio za MTB: NP = 285W, Wastani wa Nguvu = 235W

VI = 285 / 235 = 1.21 (inabadilika sana, juhudi za milipuko)

function calculateVI(normalizedPower, averagePower) {
  return (normalizedPower / averagePower).toFixed(2);
}

// Mfano:
const vi_road = calculateVI(240, 230);  // Inarudisha: 1.04
const vi_mtb = calculateVI(285, 235);   // Inarudisha: 1.21

Nguvu Muhimu na W' (Uwezo wa Anaerobic)

5. Nguvu Muhimu (Critical Power - CP) - Linear Model

Mlinganyo:

Muda = W' / (Nguvu - CP)
Upangaji upya: Nguvu × Muda = CP × Muda + W'

Ukokotoaji kutoka kwa Juhudi Nyingi:

Inahitaji juhudi 2-4 za kiwango cha juu katika muda tofauti (mfano, dakika 3, 5, 12, na 20)

Data ya Mfano:

MudaNguvu (W)Jumla ya Kazi (kJ)
dakika 3 (180s)400W72 kJ
dakika 5 (300s)365W109.5 kJ
dakika 12 (720s)310W223.2 kJ
dakika 20 (1200s)285W342 kJ

Ukitumia linear regression (Kazi = CP × Muda + W'):

  • CP = 270W (mwinuko wa mstari wa regression)
  • W' = 18.5 kJ (y-intercept)

Utekelezaji wa JavaScript:

function calculateCP_Linear(efforts) {
  // efforts = [{duration: seconds, power: watts}, ...]

  const times = efforts.map(e => e.duration);
  const work = efforts.map(e => e.power * e.duration / 1000); // kJ

  // Linear regression: work = CP * time + W'
  const n = efforts.length;
  const sumT = times.reduce((a, b) => a + b, 0);
  const sumW = work.reduce((a, b) => a + b, 0);
  const sumTW = times.reduce((sum, t, i) => sum + t * work[i], 0);
  const sumTT = times.reduce((sum, t) => sum + t * t, 0);

  const CP = (n * sumTW - sumT * sumW) / (n * sumTT - sumT * sumT);
  const Wprime = (sumW - CP * sumT) / n;

  return {
    CP: Math.round(CP * 10) / 10,      // watts
    Wprime: Math.round(Wprime * 10) / 10  // kJ
  };
}

// Mfano wa utumiaji:
const efforts = [
  {duration: 180, power: 400},
  {duration: 300, power: 365},
  {duration: 720, power: 310},
  {duration: 1200, power: 285}
];

const result = calculateCP_Linear(efforts);
// Inarudisha: { CP: 270.0, Wprime: 18.5 }

6. Msawazo wa W' (W'bal) - Differential Equation Model

Milinganyo:

Upunguzaji (wakati P > CP):
W'exp(t) = ∫(P(t) - CP) dt
Urejeshaji (wakati P < CP):
W'rec(t) = W' × (1 - e^(-t/τ))
ambapo τ = 546 × e^(-0.01 × ΔCP) + 316
na ΔCP = (CP - P(t))

Mfano wa Uhalisia:

Aina ya Mwendeshaji: CP = 270W, W' = 18.5 kJ

Hali ya 1 - Shambulizi Kali:

  • Mwendeshaji anaongeza kasi hadi 400W kwa sekunde 30
  • Upunguzaji wa W': (400 - 270) × 30 = 3,900 J = 3.9 kJ
  • W'bal iliyobaki: 18.5 - 3.9 = 14.6 kJ

Hali ya 2 - Urejeshaji:

  • Baada ya shambulizi, anashuka hadi 200W (70W chini ya CP) kwa dakika 2
  • ΔCP = 270 - 200 = 70W
  • τ = 546 × e^(-0.01 × 70) + 316 = sekunde 588
  • Urejeshaji ndani ya 120s: 18.5 × (1 - e^(-120/588)) = 3.5 kJ zimejawa
  • W'bal mpya: 14.6 + 3.5 = 18.1 kJ

Utekelezaji wa JavaScript:

function calculateWbalance(powerData, CP, Wprime) {
  // powerData = array ya {time: seconds, power: watts}
  let wbal = Wprime * 1000; // Badilisha kuwa joules
  const wbalHistory = [];

  for (let i = 1; i < powerData.length; i++) {
    const dt = powerData[i].time - powerData[i-1].time;
    const power = powerData[i].power;

    if (power > CP) {
      // Upunguzaji juu ya CP
      const expenditure = (power - CP) * dt;
      wbal -= expenditure;
    } else {
      // Urejeshaji chini ya CP
      const deltaCP = CP - power;
      const tau = 546 * Math.exp(-0.01 * deltaCP) + 316;
      const recovery = (Wprime * 1000 - wbal) * (1 - Math.exp(-dt / tau));
      wbal += recovery;
    }

    // Hakikisha W'bal haizidi urefu wa betri au kwenda sifuri
    wbal = Math.max(0, Math.min(wbal, Wprime * 1000));

    wbalHistory.push({
      time: powerData[i].time,
      wbal: wbal / 1000, // kJ
      percent: (wbal / (Wprime * 1000)) * 100
    });
  }

  return wbalHistory;
}

// Mfano wa utumiaji:
const powerData = [
  {time: 0, power: 200},
  {time: 1, power: 210},
  // ... data nyingine za safari
];

const wbalHistory = calculateWbalance(powerData, 270, 18.5);
// Inarudisha array ya thamani za W'bal kwa muda wote

Chati ya Usimamizi wa Utendaji (Performance Management Chart - PMC) kwa Baiskeli

7. Ukokotoaji wa CTL, ATL, TSB

Milinganyo (Exponentially Weighted Moving Averages):

CTL_today = CTL_yesterday + (TSS_today - CTL_yesterday) / 42
ATL_today = ATL_yesterday + (TSS_today - ATL_yesterday) / 7
TSB_today = CTL_yesterday - ATL_yesterday

Ufafanuzi wa Vipimo:

  • CTL (Chronic Training Load): wastani wa mzunguko wa siku 42 - unawakilisha fitinesi
  • ATL (Acute Training Load): wastani wa mzunguko wa siku 7 - unawakilisha uchovu
  • TSB (Training Stress Balance): Hali (Form) = Fitinesi - Uchovu

Mfano wa Ukokotoaji (Kipindi cha siku 7):

SikuTSSCTLATLTSBHali
Jumatatu10075.080.0-5.0Mafunzo
Jumanne5074.475.7-1.3Kupona
Jumatano12075.582.0-6.5Mafunzo Magumu
Alhamisi073.770.3+3.4Siku ya Mapumziko
Ijumaa8073.871.7+2.1Wastani
Jumamosi15075.682.9-7.3Safari Ndefu
Jumapili4074.876.8-2.0Kupona

Ufafanuzi wa TSB:

Kiwango cha TSBHaliHatua
< -30Hatari KubwaTahadhari ya mafunzo kupita kiasi - punguza mzigo
-30 hadi -10Mafunzo MagumuUnajenga fitinesi, fuatilia urejeshaji
-10 hadi +5Bora (Optimal)Kiwango cha kawaida cha mafunzo
+5 hadi +15Tayari kwa MbioFitinesi ya kilele - shiriki mbio mwishoni mwa wiki
> +25Kupoteza FitinesiFitinesi inashuka - ongeza mzigo

Utekelezaji wa JavaScript:

function calculatePMC(workouts) {
  // workouts = [{date: "YYYY-MM-DD", tss: number}, ...]
  let ctl = 0, atl = 0;
  const results = [];

  workouts.forEach(workout => {
    // Badilisha CTL (siku 42)
    ctl = ctl + (workout.tss - ctl) / 42;

    // Badilisha ATL (siku 7)
    atl = atl + (workout.tss - atl) / 7;

    // Kokotoa TSB (CTL ya jana - ATL ya leo kwa njia ya kawaida)
    const tsb = ctl - atl;

    results.push({
      date: workout.date,
      tss: workout.tss,
      ctl: Math.round(ctl * 10) / 10,
      atl: Math.round(atl * 10) / 10,
      tsb: Math.round(tsb * 10) / 10,
      status: getTSBStatus(tsb)
    });
  });

  return results;
}

function getTSBStatus(tsb) {
  if (tsb < -30) return "Hatari Kubwa";
  if (tsb < -10) return "Mafunzo Magumu";
  if (tsb < 5) return "Bora";
  if (tsb < 15) return "Tayari kwa Mbio";
  return "Kupoteza Fitinesi";
}

// Mfano wa utumiaji:
const workouts = [
  {date: "2025-01-01", tss: 100},
  {date: "2025-01-02", tss: 50},
  {date: "2025-01-03", tss: 120},
  // ... mazoezi mengine
];

const pmc = calculatePMC(workouts);
// Inarudisha array yenye CTL, ATL, TSB ya kila siku

Nguvu dhidi ya Uzito na Vipimo vya Kupanda

8. Uwiano wa Nguvu dhidi ya Uzito (Power-to-Weight Ratio)

Mlinganyo:

W/kg = Nguvu (wati) / Uzito wa Mwili (kg)

Viwango vya FTP W/kg:

KiwangoW/kg WanaumeW/kg WanawakeAina
Burudani2.5 - 3.52.0 - 3.0Mchezaji wa fitinesi
Ushindani3.5 - 4.53.0 - 4.0Cat 3-4, wa miaka fulani
Uzoefu4.5 - 5.54.0 - 5.0Cat 1-2, amateur mwenye nguvu
Elite Amateur5.5 - 6.05.0 - 5.5Kiwango cha kitaifa
Mtaalamu (Pro)6.0 - 7.0+5.5 - 6.5+World Tour, Grand Tour GC

Mfano wa Ukokotoaji:

Hali: Mwendeshaji mwenye FTP = 275W, uzito = 70kg

W/kg = 275 / 70 = 3.93 W/kg

Ufafanuzi: Kiwango cha ushindani, unaweza kushindana katika mbio za vilima

function calculateWattsPerKg(power, bodyMassKg) {
  return (power / bodyMassKg).toFixed(2);
}

// Mfano:
const wpkg = calculateWattsPerKg(275, 70);
// Inarudisha: 3.93

9. VAM (Velocità Ascensionale Media)

Mlinganyo:

VAM (m/h) = Kimo Ulizopanda (m) / Muda (saa)

Viwango vya VAM:

VAM (m/h)KiwangoMfano
600 - 900BurudaniMwanachama wa klabu kwenye mlima wa karibu
900 - 1200UshindaniAmateur mzuri kwenye Alpe d'Huez
1200 - 1500Elite AmateurMpanda milima wa kiwango cha kitaifa
1500 - 1800MtaalamuWorld Tour domestique
> 1800Mshindi wa Grand TourPogačar, Vingegaard kwenye milima mikuu

Mfano wa Ukokotoaji:

Hali: Kupanda mlima wa Alpe d'Huez

  • Kimo (Elevation gain): mita 1100
  • Muda: dakika 55 = saa 0.917
  • VAM = 1100 / 0.917 = 1200 m/h

Ufafanuzi: Utendaji wa kiwango cha ushindani

function calculateVAM(elevationGainMeters, timeMinutes) {
  const hours = timeMinutes / 60;
  return Math.round(elevationGainMeters / hours);
}

// Mfano:
const vam = calculateVAM(1100, 55);
// Inarudisha: 1200 m/h

10. Makadirio ya VAM kwenda W/kg

Mlinganyo:

W/kg ≈ VAM (m/h) / 100 / (Gradient% + 3)

Mfano wa Ukokotoaji:

Hali: Kupanda mlima wenye mwinuko wa wastani wa 8%, VAM = 1200 m/h

W/kg = 1200 / 100 / (8 + 3)

W/kg = 12 / 11 = 4.36 W/kg

Jaribio la ziada: Kwa mwendeshaji wa 70kg → 305W nguvu inayodumishwa mlimani

function estimateWkgFromVAM(vam, gradientPercent) {
  return (vam / 100 / (gradientPercent + 3)).toFixed(2);
}

// Mfano:
const wkg = estimateWkgFromVAM(1200, 8);
// Inarudisha: 4.36

Mlinganyo wa Nguvu ya Kiaisia (Aerodynamic)

11. Mahitaji ya Jumla ya Nguvu

Mlinganyo Kamili:

P_total = P_aero + P_gravity + P_rolling + P_kinetic

Milinganyo ya Vipengele:

Upinzani wa Hewa (Aerodynamic Drag):
P_aero = CdA × 0.5 × ρ × V³
Nguvu ya Mvutano (Kupanda):
P_gravity = m × g × sin(θ) × V
Upinzani wa Magurudumu (Rolling Resistance):
P_rolling = Crr × m × g × cos(θ) × V
Nguvu Tulivu (Kuongeza Kasi):
P_kinetic = m × a × V

Vigezo na Thamani Thabiti:

  • CdA = Mgawo wa upinzani × eneo la mbele (m²)
    • Wizara ya barabarani (hoods): 0.35-0.40 m²
    • Drops: 0.32-0.37 m²
    • Mkao wa TT: 0.20-0.25 m²
  • ρ = Msongamano wa hewa (1.225 kg/m³ kwenye usawa wa bahari, 15°C)
  • V = Kasi (m/s)
  • m = Jumla ya uzito (mwendeshaji + baiskeli, kg)
  • g = Mvutano wa ardhi (9.81 m/s²)
  • θ = Pembe ya mwinuko (radians au nyuzi zilizobadilishwa)
  • Crr = Mgawo wa upinzani wa magurudumu (~0.004 kwa matairi mazuri)
  • a = Ongezeko la kasi (m/s²)

Mfano wa Ukokotoaji (Mbio dhidi ya Saa Njia Tambarare):

Hali:

  • Kasi: 40 km/h = 11.11 m/s
  • CdA: 0.22 m² (mkao mzuri wa TT)
  • Jumla ya uzito: 75kg (mwendeshaji) + 8kg (baiskeli) = 83kg
  • Njia tambarare (gradient = 0°)
  • Kasi thabiti (acceleration = 0)

Ukokotoaji:

  1. P_aero = 0.22 × 0.5 × 1.225 × 11.11³ = 185W
  2. P_gravity = 0W (njia tambarare)
  3. P_rolling = 0.004 × 83 × 9.81 × 11.11 = 36W
  4. P_kinetic = 0W (kasi thabiti)
  5. P_total = 185 + 0 + 36 + 0 = 221W

Ufafanuzi: Unahitaji 221W ili kudumisha 40 km/h katika mkao wa TT kwenye njia tambarare

Utekelezaji wa JavaScript:

function calculatePowerRequired(params) {
  const {
    velocityKph,
    CdA = 0.32,              // m²
    rho = 1.225,             // kg/m³
    mass = 83,               // kg (mwendeshaji + baiskeli)
    gradientPercent = 0,     // %
    Crr = 0.004,             // rolling resistance
    accelerationMps2 = 0     // m/s²
  } = params;

  // Badilisha kasi kuwa m/s
  const V = velocityKph / 3.6;

  // Badilisha mwinuko kuwa pembe
  const theta = Math.atan(gradientPercent / 100);

  // Kokotoa kila kipengele
  const P_aero = CdA * 0.5 * rho * Math.pow(V, 3);
  const P_gravity = mass * 9.81 * Math.sin(theta) * V;
  const P_rolling = Crr * mass * 9.81 * Math.cos(theta) * V;
  const P_kinetic = mass * accelerationMps2 * V;

  return {
    total: Math.round(P_aero + P_gravity + P_rolling + P_kinetic),
    aero: Math.round(P_aero),
    gravity: Math.round(P_gravity),
    rolling: Math.round(P_rolling),
    kinetic: Math.round(P_kinetic)
  };
}

// Mfano: TT katika 40 km/h
const power_tt = calculatePowerRequired({
  velocityKph: 40,
  CdA: 0.22,
  mass: 83,
  gradientPercent: 0
});
// Inarudisha: { total: 221, aero: 185, gravity: 0, rolling: 36, kinetic: 0 }

// Mfano: 8% climb katika 15 km/h
const power_climb = calculatePowerRequired({
  velocityKph: 15,
  CdA: 0.38,
  mass: 75,
  gradientPercent: 8
});
// Inarudisha: { total: 265, aero: 27, gravity: 244, rolling: 11, kinetic: 0 }

Zana Saidizi

Zana za Kubadilisha Vipimo

Utekelezaji wa JavaScript:

// Mabadiliko ya Muda
function hoursToSeconds(hours) {
  return hours * 3600;
}

function minutesToSeconds(minutes) {
  return minutes * 60;
}

function secondsToHours(seconds) {
  return seconds / 3600;
}

function formatDuration(seconds) {
  const hours = Math.floor(seconds / 3600);
  const minutes = Math.floor((seconds % 3600) / 60);
  const secs = Math.round(seconds % 60);
  return `${hours}:${minutes.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;
}

// Mabadiliko ya Kasi
function kphToMps(kph) {
  return kph / 3.6;
}

function mpsToKph(mps) {
  return mps * 3.6;
}

// Mabadiliko ya Nishati
function joulesTo kJ(joules) {
  return joules / 1000;
}

function kJToJoules(kJ) {
  return kJ * 1000;
}

function wattsToKJ(watts, durationSeconds) {
  return (watts * durationSeconds) / 1000;
}

// Mifano:
formatDuration(7265);        // Inarudisha: "2:01:05"
kphToMps(40);                // Inarudisha: 11.11 m/s
wattsToKJ(250, 3600);        // Inarudisha: 900 kJ (saa 1 katika 250W)

Rasilimali za Utekelezaji

Milinganyo yote kwenye ukurasa huu iko tayari kutumika na imehakikiwa dhidi ya fasihi ya kisayansi na data halisi za mita za nguvu. Itumie kwa zana zako maalum, uhakiki, au uelewa wa ndani zaidi wa ukokotoaji wa mafunzo kulingana na nguvu.

💡 Miongozo Bora

  • Hakiki data: Angalia kama nguvu ziko katika viwango vya kawaida (0-2000W), muda chanya
  • Shughulikia hali zisizo za kawaida: Kugawanya kwa sifuri, data tupu, kukosekana kwa FTP
  • Sawazisha ipasavyo (Round): CTL/ATL/TSB iwe desimali 1, TSS iwe namba kamili, W/kg iwe desimali 2
  • Hifadhi usahihi: Baki na usahihi kamili kwenye hifadhidata, sawazisha kwa ajili ya kuonyesha tu
  • Manda ya muda: Shughulikia UTC dhidi ya muda wa eneo thabiti kwa uchambuzi wa siku nyingi
  • Urekebishaji wa mita ya nguvu: Wakumbushe watumiaji kufanya zero-offset kabla ya safari
  • Uhakiki wa FTP: Weka alama kwenye thamani za FTP zenye kutiliwa shaka (>500W au <100W kwa watu wazima)
  • Test kikamilifu: Tumia faili za safari zinazojulikana kuwa sahihi ili kuhakiki ukokotoaji wako