Source: https://guthlabs.ai/docs/instruments/duty-cycle-pwm-average-voltage-calculator/

instrument / verified-clean

# Duty Cycle / PWM Average Voltage Calculator

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/duty-cycle-pwm-average-voltage-calculator/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/duty-cycle-pwm-average-voltage-calculator/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/duty-cycle-pwm-average-voltage-calculator/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/duty-cycle-pwm-average-voltage-calculator/qualification/>)

## Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

**Area**: Electrical & Electronics Engineering — Circuits, Power Systems, Electronics Lab

**Tranche**: tranche-5

**Evidence ID**: t5-216

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The core average and period formulas are standard under the stated assumptions, but the specification is not implementation-complete because percent-to-fraction conversion, on/off-time formulas, input constraints, and frequency units are not explicitly defined. The honest label should state that this is an ideal PWM arithmetic calculator producing average (DC-component) voltage, not a real-load or RMS-voltage calculator.

### Formula and scope findings

- The average-voltage formula is correct only when D is a unitless fraction from 0 to 1, but the declared input is duty cycle in percent; the implementation must convert D_percent to D_percent/100 before applying the formula.

- The declared outputs include on-time and off-time, but formulas are missing; they should be Ton=D×T and Toff=(1−D)×T.

- The frequency-to-period formula T=1/f is correct for frequency expressed in hertz and period expressed in seconds, but the required frequency unit is not specified.

### Unit assumptions

- Duty cycle inputs are interpreted as percent and converted by D=duty_cycle_percent/100.

- Vhigh and Vlow use the same voltage unit, producing Vavg in that unit.

- Frequency is in hertz (cycles per second), period is in seconds, and on/off times are in seconds.

- The PWM waveform is assumed ideal and switches between Vhigh and Vlow with no transition time.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

A zero-frequency input makes T=1/f a division by zero, leaving period and on/off times undefined. The instrument must reject frequency=0 rather than return a misleading numeric result. The specification also leaves the duty-cycle percent-versus-fraction convention implicit, creating a substantial interpretation hazard.

## Errata and corrections

No applied erratum is attached to this unique-name record.

## Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

````
{
  "inputs": {
    "duty_cycle_percent": 25,
    "Vhigh_V": 12,
    "Vlow_V": 0,
    "frequency_Hz": 1000
  },
  "expected_outputs": {
    "Vavg_V": 3,
    "period_s": 0.001,
    "on_time_s": 0.00025,
    "off_time_s": 0.00075
  },
  "working": "D=25/100=0.25. Vavg=D×Vhigh+(1−D)×Vlow=0.25×12+(1−0.25)×0=3+0=3 V. T=1/f=1/1000=0.001 s. Ton=D×T=0.25×0.001=0.00025 s. Toff=(1−D)×T=0.75×0.001=0.00075 s."
}
````

## Related workflows

No source-defined multi-instrument workflow membership is recorded.

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json · VERIFIED_CLEAN`

- `evidence-tranche5/tranche5-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
