# Proof that first difference filter amplifies noise

I'm a bit befuddled by noise's effect on derivative filters.

I've always 'known' that straightforward first difference derivative filters of discrete signals amplifies noise, but I'm struggling to prove that fact.

I thought it was caused by a greater gain for higher frequencies, but when I take the z-transform for a first difference filter I get $$H(Z) = 1 - Z^{-1}$$

and if I restrict the magnitude of $$Z$$ to 1 to get the DTFT and take $$|H(Z)|$$ the result is $$2 |\sin(\frac{\omega}{2})|$$

which isn't increasing or constant in frequency like a high pass filter.

Could you explain why the noise increases if not for this effect?

## 2 Answers

Any filter whose frequency response magnitude is above unity at a given frequency $$\omega$$, amplifies signals at that frequency.

In discrete-time, the typical white noise is a wideband signal whose power spectrum ranges from $$-\pi$$ to $$\pi$$.

The digital first difference filter is an LTI system with the impulse response $$h[n] = \delta[n] - \delta[n-1]$$ and frequency response $$H(\omega) = 1 - e^{-j\omega}$$, whose magnitude is:

$$|H(\omega)| = \sqrt{ 2 - 2 \cos(\omega) } = \sqrt{ 4 \sin^2(\omega/2) } = 2|\sin(\omega/2)|$$

as you can see as $$\omega \to \pi$$, then the magnitude goes to $$2$$ which is larger than unity and therefore amplifies any noise content found at those frequencies.

Note that, in any digital system, there will always be noise due to inherent quantization of numerical representation format, and therefore it will always be amplified using the given first difference filter.

Let $$y[n] = x[n] + v[n]$$ be the signal you want to filter, with $$x[n]$$ the useful part of the signal and $$v[n]$$ some additive white Gaussian noise of variance $$\sigma^2$$ in the bandwidth of interest.

After filtering with your first order difference filter $$h[n] = \delta[n] - \delta[n-1]$$, you get

$$z[n] = (h \ast y)[n] = y[n] - y[n-1] = \underbrace{x[n] - x[n-1]}_{\text{useful part}} + \underbrace{v[n] - v[n-1]}_{\text{noise } v'[n]}.$$ The variance of the noise $$v'[n]$$ you obtain after filtering has thus doubled and is given by $$2\sigma^2$$.