0
$\begingroup$

I am referring to the calculations in https://courses.cs.washington.edu/courses/cse474/18wi/labs/l8/QRSdetection.pdf for the second order Lynn's low pass filter.

On the third page, the author mentions the transfer function used as:

$$ H(z)=\frac{(1−z^{-6})^2}{ (1−z^{-1})^2 } $$

The amplitude frequency response for this is given as: $$ |H(e^{j\omega T})|=\frac{\sin^2(3\omega T)}{\sin^2(\omega T/2)} $$ Now, he has calculated the 3dB cutoff frequency to be around 11 Hz for the sampling frequency of 200 Hz (i.e. sampling time = 0.005 seconds). Substituting these values in the above equation for amplitude response, I get: $$ |H(e^{j\omega_c T})|=\frac{\sin^2(3 \cdot 11 \cdot 0.005)}{\sin^2(11 \cdot 0.005/2)} = \frac{0.026979}{0.000756} = 35.69 $$ At the 3dB cutoff frequency indicated, shouldn't the amplitude response work out to around 0.707 and not 35.69? Where is my understanding incorrect?

$\endgroup$
7
  • 1
    $\begingroup$ Did you forget that $\omega = 2\pi f$ ? $\endgroup$
    – Ben
    Mar 22 at 13:03
  • $\begingroup$ @Ben , yes that was it! Now |H(ωcT)| works out to 25 which is ~ 0.7 of the peak amplitude (gain) of 36. Hope this understanding is correct $\endgroup$
    – WebDev
    Mar 22 at 13:13
  • $\begingroup$ That's one weird filter with pole cancellation. You can just do an FIR with b = [1 2 3 4 5 6 5 4 3 2 1] and get the same result. $\endgroup$
    – Hilmar
    Mar 22 at 13:21
  • $\begingroup$ @Hilmar yes that is possible, but it is expressed in a recursive form here so that it has a low computational cost. For details, you can have a look at section 7.1.4 of fdocuments.in/document/… $\endgroup$
    – WebDev
    Mar 22 at 13:39
  • 2
    $\begingroup$ I see the intent but I don't think it's a correct assumption, at least not these days. You can break this down into a simple FIR filter with b = [1 0 2 0 3 0 2 0 1] followed by two first order integrators. This will on most platforms be significantly faster than a recursive implementation. It's about the same number of arithmetic operations but much easier to pipeline efficiently and it can be made parallel and make use of SIMD instructions. $\endgroup$
    – Hilmar
    Mar 22 at 14:42
1
$\begingroup$

Here's your mistake, you forgot that $ \omega = 2\pi f$

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.