import { useMemo } from 'react' import katex from 'katex' function Display({ tex }: { tex: string }) { const html = useMemo(() => katex.renderToString(tex, { displayMode: true, throwOnError: false }), [tex]) return
} /** * Stub for the full derivation. It states the model and the formula the app * plots; the reasoning connecting them is to come. */ export default function MathSection() { return (

The generating model: i.i.d. Gaussian noise, a FIR filter h, optional uniform dither, and rounding to the integer quantization grid (the step is the unit, so σ is measured in steps):

The dashed reference line is the entropy rate of the stationary Gaussian process y, quantized at unit step, in the fine-quantization (high-resolution) limit — the ideal lossless rate in bits per sample:

with f in cycles per sample. With no filter this reduces to ½ log₂(2πe σ²). The formula holds when S(f) is well above one step² across the band; where the response dips toward or below the quantization step — deep stopbands, small σ — the true entropy rate is larger than R (and R can even go negative), and no fixed-order predictor fully whitens the process. Quantifying that gap, the effect of dither, and why LPC + ANS is the right yardstick is the subject of the full derivation, still to be written.

) }