FA-91368 / Digital signal filters / Member archive
Biquad normalizes feedforward but not feedback by a0 · case 03
With a0 = 2 the poles are twice as strong as specified and the filter can blow up.
Case contract
Input [[b0, b1, b2, a0, a1, a2], samples]; coefficients are rational strings, normalized by a0 ("a0-zero" if a0 == 0). y[n] = b0 x[n] + b1 x[n-1] + b2 x[n-2] - a1 y[n-1] - a2 y[n-2] with zero initial state; return outputs as exact fraction strings.
Why this case matters
The biquad is the workhorse IIR section; sign, state or normalization slips produce unstable or wrong-gain filters.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: random biquad 5 | ["0", "-1", "1/2", "11/8", "-5/8"] | ["0", "-1", "3/2", "9/8", "-21/8"] | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗