Source: https://guthlabs.ai/docs/instruments/filter-designer-active-sallen-key-2nd-order/

instrument / verified-clean

# Filter Designer — Active Sallen-Key (2nd order)

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/filter-designer-active-sallen-key-2nd-order/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/filter-designer-active-sallen-key-2nd-order/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/filter-designer-active-sallen-key-2nd-order/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/filter-designer-active-sallen-key-2nd-order/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-6

**Evidence ID**: t6-013

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The spec is not uniquely implementable as written. To support the advertised inputs, specify the exact Sallen-Key topology, the complete Q equation, whether gain K is fixed or adjustable, and a component-selection policy such as fixed C1/C2 or a preferred-value search. If the intended product is only the equal-component unity-gain approximation, restrict or clearly display Q=0.5 rather than accepting arbitrary Q.

### Formula and scope findings

- The cutoff-frequency equation fc=1/(2π√(R1R2C1C2)) is standard, but it is insufficient to determine four component values from only fc and Q; an additional component-selection rule or fixed capacitor/resistor value is required.

- The Q relation is unspecified. For a common non-inverting Sallen-Key topology, Q depends on the passband gain K and component ratios. With equal components R1=R2=R and C1=C2=C, Q=1/(3-K). Unity gain K=1 therefore permits only Q=0.5.

- The stated honest label says 'unity-gain ... equal-component design approximation', but the instrument inputs allow arbitrary Q. Arbitrary Q cannot be produced by this equal-component unity-gain design.

- LP and HP Sallen-Key equations are not fully specified. The equal-component cutoff calculation is the same for LP and HP, but the component placement/topology and Q equation should be stated explicitly for each type.

- No capacitor-selection rule, preferred-value rule, resistor-range constraint, gain-setting rule, or component-tolerance rule is provided, so the output values are not uniquely defined.

### Unit assumptions

- fc is in hertz (Hz), R1 and R2 are in ohms (Ω), and C1 and C2 are in farads (F).

- The test vectors use the explicit conventional design assumption C1=C2=10 nF or 100 pF, R1=R2=1/(2πfcC), unity gain K=1, and therefore Q=0.5.

- The same equal-component values give the same ideal fc and Q for the corresponding LP and HP Sallen-Key topologies; the schematic topology still must be specified.

- Numerical component values are ideal mathematical values, not rounded E-series component values.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

The advertised input Q is not independently realizable in the stated unity-gain equal-component approximation: that topology fixes Q at 0.5, so any requested Q other than 0.5 cannot be met without changing component ratios or adding gain. The engine also reaches an undefined division at fc=0 and can misdesign by a factor of 2π if Hz versus rad/s is not explicit.

## 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": {
    "fc_hz": 1000,
    "Q": 0.5,
    "filter_type": "LP",
    "design_assumption": "C1=C2=10 nF; unity gain K=1; R1=R2"
  },
  "expected_outputs": {
    "R1_ohm": 15915.494309,
    "R2_ohm": 15915.494309,
    "C1_F": 1e-8,
    "C2_F": 1e-8,
    "achieved_fc_hz": 1000,
    "achieved_Q": 0.5
  },
  "working": "Set C1=C2=C=10 nF=10×10^-9 F and R1=R2=R. Then fc=1/(2πRC), so R=1/(2πfcC)=1/(2×3.141592653589793×1000×10×10^-9)=1/(0.0000628318530718)=15915.494309 Ω. For unity gain K=1, Q=1/(3-K)=1/(3-1)=0.5. Therefore R1=R2=15915.494309 Ω and C1=C2=10 nF."
}
````

## 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-tranche6/tranche6-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
