FA-91362 / Digital signal filters / Member archive
Biquad overwrites x[n-1] before moving it to x[n-2] · case 02
The x[n-2] tap always equals x[n-1], so b2 acts on the wrong sample.
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 2 | ["1", "4", "-1/2", "-11/2", "31/4"] | ["1", "3", "0", "-11/4", "25/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 ↗