-
Tutorials
Step-by-step guides through the fixed-point porting workflow — each with an interactive widget and a short exam.
-
Tools
In-browser calculators — Q-format and fixed-point conversion, plus watch-expression generation.
-
Debugger
Bind float / fixed variable pairs in a live debug session and watch exactly where they diverge.
-
Wave Compare
Overlay a float reference against one or two fixed-point candidates; read MLD / MAD / SSNR per channel.
antissa
One desktop suite for fixed-point signal design. Compare waveforms, debug live values across builds, diagnose precision losses — without rebuilding your DSP code to instrument it.
Wave Compare
Per-sample comparison between a float reference and one or two fixed-point ports of the same signal.
Select files and compare
Pick a float reference and one or two fixed-point .wav candidates — Wave Compare loads them onto a shared time axis and runs wav-diff straight away.
Navigate MLD, MAD, and SSNR
Step through the per-channel MLD (maximum loudness difference, BS.1387 perceptual), MAD (maximum absolute sample difference), and min SSNR (worst 20 ms segmental SNR) figures, jumping the plot to each worst-mismatch sample.
Audio playback
Play the reference and the candidates from any point on the shared timeline to hear where the fixed-point port drifts.
What it does
Load a float reference and one or two fixed-point candidates. Wave Compare overlays them in a shared time-axis plot and runs wav-diff per channel and reports three metrics: MLD (maximum loudness difference — the BS.1387 / 3GPP TR 26.843 perceptual ear-model peak), MAD (maximum absolute sample difference), and min SSNR (the worst 20 ms segmental SNR). Each metric drops a coloured marker on the plot so you can jump straight to the offending sample.
Typical workflow
- Drop a float
.wavas the reference. - Drop one or two fixed-point
.wavfiles as candidates. - Read the per-channel MLD / MAD / SSNR report.
- Click a marker to seek to the worst-mismatch sample in all overlays simultaneously.
Open Wave Compare from the activity rail's mode switcher inside the desktop app.
Debugger
Live fixed-point vs. float variable inspection, attached to a real running build.
Find and fix a precision bug live
Attached to a running build, the Debugger plots a fixed-point buffer against its float reference and pinpoints where precision is lost. Overwrite the bad buffer in place — written back from the float reference at the right Q-format — and the divergence is gone, without rebuilding.
What it does
Attach to a Visual Studio, VS Code (DAP), or GDB session and bind a fixed-point variable to its float counterpart. The pair is polled live, plotted side-by-side, and tagged with MLD markers so you can see where precision drifts in time — without rebuilding to instrument the code.
Backends
- Visual Studio — attach via the running debug session.
- VS Code (DAP) — attach via the Debug Adapter Protocol.
- GDB — attach to a local
gdbserveror runninggdb.
Per-pair features
- Q-factor auto-suggest based on observed range.
- MLD markers overlaid on both float and fixed plots.
- In-place editing — write a new value back to the running process.
Open Debugger from the activity rail's mode switcher inside the desktop app.