# 160 Hz notch

Removes one frequency and leaves the rest of the spectrum untouched. Solved at 8 sample rates, with the poles, the real −3 dB point and the word length it stops working at.

Canonical page: https://makerportal.ai/lab/biquad/notch/160-hz
Page title: 160 Hz Notch Biquad Coefficients — RBJ cookbook and poles

This markdown document and the HTML page above are rendered from the same solved values at build time, by the same functions. Nothing here is written by a language model and nothing is fetched at request time.

## Key figures

- **Filter:** 160 Hz notch filter — Q = 1.0000
- **Gain at f0 (160 Hz):** −∞ dB — exact at every sample rate — the bilinear transform maps this value, not just the frequency
- **Pole radius at 48 kHz:** 0.9895830 — conjugate pair at ±1.04°, 0.0104 from the circle
- **−3 dB point:** none — the magnitude never falls 3 dB below its own peak inside the band
- **Peak of the magnitude response:** 0.00 dB at 24.00 kHz — evaluated on the unit circle, not sketched
- **Group delay at f0:** -498.010 ms
- **16-bit fixed point:** holds — largest pole 0.9895696 in Q1.14
- **Coefficients at 48 kHz:** b0 = 0.989637, b1 = -1.978841, b2 = 0.989637, a1 = -1.978841, a2 = 0.979275 — a0 normalised to 1

## Coefficients, at every sample rate

The cookbook computes w0 = 2πf0/Fs, so the same filter is a different set of numbers at every rate. Rates whose Nyquist limit is at or below 160 Hz are absent because the filter does not exist there — equivalently, the f₀/Nyquist column never reaches 100%. That is why this table is 8 rows and a 20 Hz page is 8.

| Sample rate | b0 | b1 | b2 | a1 | a2 | Pole r | f0/Nyquist |
|---|---|---|---|---|---|---|---|
| 8 kHz | 0.941029 | -1.867217 | 0.941029 | -1.867217 | 0.882058 | 0.939179 | 4.0% |
| 16 kHz | 0.969560 | -1.935294 | 0.969560 | -1.935294 | 0.939121 | 0.969082 | 2.0% |
| 22.1 kHz | 0.977719 | -1.953407 | 0.977719 | -1.953407 | 0.955439 | 0.977466 | 1.5% |
| 32 kHz | 0.984537 | -1.968103 | 0.984537 | -1.968103 | 0.969075 | 0.984416 | 1.0% |
| 44.1 kHz | 0.988731 | -1.976949 | 0.988731 | -1.976949 | 0.977463 | 0.988667 | 0.7% |
| 48 kHz | 0.989637 | -1.978841 | 0.989637 | -1.978841 | 0.979275 | 0.989583 | 0.7% |
| 96 kHz | 0.994791 | -1.989474 | 0.994791 | -1.989474 | 0.989583 | 0.994778 | 0.3% |
| 192 kHz | 0.997389 | -1.994750 | 0.997389 | -1.994750 | 0.994778 | 0.997385 | 0.2% |

## What word length this filter survives

All five coefficients are rounded to one shared scale, which is what a q15/q31 biquad section does with its post-shift. Pole radius is solved from the quadratic, not taken as sqrt(|a2|) — once rounding pushes the poles onto the real axis those two disagree, and the convenient one reports a comfortable margin on a filter that has already left the unit circle.

| Word format | Q format | Largest pole | sqrt of abs(a2) says | Stable | Worst error in band |
|---|---|---|---|---|---|
| float64 | — | 0.9895830 | 0.9895830 | yes | reference |
| float32 | — | 0.9895830 | 0.9895830 | yes | 0.0252 dB |
| 32-bit fixed | Q1.30 | 0.9895830 | 0.9895830 | yes | 0.0003 dB |
| 24-bit fixed | Q1.22 | 0.9895830 | 0.9895830 | yes | 0.0254 dB |
| 16-bit fixed | Q1.14 | 0.9895696 | 0.9895696 | yes | 2.1647 dB |

## Questions this page answers

### What are the biquad coefficients for a 160 Hz notch filter at 48 kHz?

b0 = 0.989637, b1 = -1.978841, b2 = 0.989637, a1 = -1.978841, a2 = 0.979275, with a0 normalised to 1 — the RBJ Audio EQ Cookbook form at Q = 1.0000. Every other sample rate in the table above gives different numbers for the same filter, because w0 = 2πf0/Fs and every cosine and sine downstream of it moves.

### Is a 160 Hz notch filter stable in 16-bit fixed point?

Yes. Rounding the five coefficients to a shared 1.14 scale leaves the largest pole at 0.9895696, against 0.9895830 exact, and the response drifts by at most 2.165 dB inside the band. 24-bit takes that to 0.0254 dB.

### Where is the real −3 dB point of a 160 Hz notch filter?

This type has no −3 dB edge to find: its magnitude response sits at 0.00 dB at its peak and never falls 3 dB below it inside the band. At f0 the response measures −∞ dB.

### How close to the unit circle are the poles of a 160 Hz notch filter?

0.9895830 at 48 kHz, as a conjugate pair at ±1.04°. Pole radius rises toward 1 as the corner frequency falls relative to the sample rate — the same filter at 192 kHz sits at 0.9973854 and at 8 kHz at 0.9391793. That distance is the whole story of the fixed-point table: a pole a few parts in 10⁵ from the circle has nowhere to be rounded to.

## Method and limits

Coefficients follow the RBJ Audio EQ Cookbook, the bilinear transform of the analog prototype prewarped so the corner lands exactly on f0 — which is why −∞ dB at 160 Hz holds at every sample rate in the table rather than only at low f0/Fs. Shelves fix the slope at S = 1, matching Web Audio's BiquadFilterNode, so Q is not read for those two types. Pole and zero radii are the roots of the quadratic, not sqrt(|a2|). The fixed-point rows model a single shared coefficient scale and no other quantisation: they say nothing about signal-path headroom, limit cycles or the accumulator width your implementation uses, all of which can make a filter that passes this table still misbehave. Nothing on this page is fetched or estimated — it is solved from the type and the frequency in the URL.

## Related tool

[Biquad Filter Designer](https://makerportal.ai/lab/biquad-filter-designer) — Interactive RBJ-cookbook biquad designer — pick a type, corner, Q and gain and hear the filter while reading its coefficients, poles and magnitude response.

---

Source: MakerPortal — https://makerportal.ai/lab/biquad/notch/160-hz. Free to quote and cite with attribution and a link to the canonical page.
