FA-91805 / Digital signal filters / Member archive
Q15 FIR pushes new samples onto the wrong end of the delay line · case 05
The impulse response comes out reversed for asymmetric taps.
Case contract
Input [coeffs, samples] as Q15 integers. Each output accumulates the full-precision products c_k x[n-k] (zero history) in a wide accumulator, then rounds once (add 2**14, arithmetic shift 15) and saturates to int16. Return {"y": outputs, "saturations": number of clipped outputs}.
Why this case matters
DSP MAC units keep guard bits and round once; per-product rounding or missing overflow accounting degrades fixed-point FIRs.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: random q15 fir 13 | {"saturations": 0, "y": [9895, 1673]} | {"saturations": 0, "y": [-2458, -2595]} | 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 ↗