I'm trying to design a digital differentiator FIR Filter. It features a lowpass, such that above the cutoff frequency the amplification is very low. I get the coefficients by a linear program minimizing the chebychef error of desired and actual frequency response.

It works really well, but I cannot place the cutoff frequency below some 0.1*pi rad/sample. Small cutoff frequencies still have very steep rising amplitude responses in low frequencies and thus need a broad transition band. enter image description here The picture shows such a design and the very broad transition band. The red is the desired and blue obtained frequency response. I've weighted the bands accordingly. Also I'm not talking about bandpass, nor lowpass, I design a differentiator - thus the linear slew rate in low frequencies.

There are limits to the possible lowpass frequency, correct? How can I make the cutoff even smaller, or even better: why is this degradation happening?

I know, that the frequency response in my formulation has the form $$ H(e^{j\omega}) = 2\sum_{k=0}^M j \,h(k)\, \sin(k \omega) $$ where $M$ is $(N-1)/2$ with order $N$ filter. And thus the shape can be better traced by having longer filters. But the gain actually is very small.

Also I read, that with a derived then sampled Blackman Window (without control over cutoff frequency) one obtains a cutoff of around $\omega_C \approx 0.005$, while I struggle with $0.1$... I want to know why exactly.

This document suggests a method for a first order differentiator, where "only" the derivatives at $\omega = 0$ are matched to the ideal one. It results in an earlier drop off. However, as I understand it, this cannot be achieved with higher order differentiators, since second order is a quadratic function and I am not sure if a (basically taylor) approx in derivatives is sufficient for that. Let alone even higher orders.

  • $\begingroup$ Can you clarify what are the red and blue plots (looks like desired and obtained responses?). This looks more like a bandpass filter than lowpass, can you clarify? Have you tried increasing the filter order? $\endgroup$
    – MBaz
    Commented Jul 20, 2017 at 15:05
  • $\begingroup$ To further approximate the red plot (ideal filter response?), the order of your filter will need to increase a lot. Which is not a good idea in general. You are already around order 50 for your FIR. $\endgroup$
    – Juancho
    Commented Jul 20, 2017 at 16:11
  • $\begingroup$ I remember seeing on Selesnick's page something similar(?), but for the life of me I cannot find it now. It was about smooth differentiators with very low cutoff frequency, if I'm not mistaken. $\endgroup$ Commented Jul 21, 2017 at 5:59

1 Answer 1


What you want is what I call a Jekyl and Hyde design. The low pass is parsimoniously represented in terms of cosines and the derivative in sines. So let Jekyl be Jekyl and Hyde be Hyde.

The way to go very low would be a multirate approach. Low pass and decimate for a few cascades until the high pass part of your differentiator is a reasonable fraction of the band. If you need the original sample rate, upsample appropriately. Your filter plot implies that you really aren't interested in most of your original band, so why retain it?

  • $\begingroup$ I'm not from the flied exactly, so I do not fully understand your approach. "decimate for a few cascades" means I should decrease the sampling time and then increase it? How would I do that, since in between samples there is no information..? $\endgroup$
    – mike
    Commented Jul 21, 2017 at 10:44
  • $\begingroup$ en.m.wikipedia.org/wiki/Sample_rate_conversion $\endgroup$
    – user28715
    Commented Jul 21, 2017 at 12:38
  • $\begingroup$ dsprelated.com/showarticle/191.php. Polyphase filters $\endgroup$
    – user28715
    Commented Jul 21, 2017 at 12:45
  • $\begingroup$ I'm sorry if this seems needy, but it seems not particularly helpful to tell someone who has not the biggest insight just a general concept.. If it is super clear, yeah, why not. But here there are many implications why this would at all help, and I still have no clue how it is best applied. So please adress people according to the lowest expected knowledge - especially in a question and reference web site. $\endgroup$
    – mike
    Commented Jul 25, 2017 at 7:45
  • $\begingroup$ I don't know what you don't know. You used an LP to design a FIR filter which indicates much more than being a total beginner. You can Google multirate filters . The essential point is your desired response function implies an oversampled result, so why do unnecessary processing or equivalently, design an over specified filter. The advice given here is free. You don't seem needy, you seem entitled $\endgroup$
    – user28715
    Commented Jul 25, 2017 at 12:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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