FA-91375 / Digital signal filters / Member archive
Biquad stores the new output in y[n-2] · case 05
A pure second-order feedback filter never feels its a2 term correctly and the impulse response rings at the wrong rate.
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 11 | ["-3/2", "9/8", "-21/32", "-183/128", "1427/512"] | ["-3/2", "-1/4", "65/24", "-409/144", "-1243/864"] | 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 ↗