I have a signal with frequencies betwwen [0.5,500] Hz and i want to create a filter to best separate the signal in the following regions:

  1. [0.5-3]Hz
  2. [3-8]Hz
  3. [8-13]Hz
  4. [13-30]Hz
  5. [30-500]Hz

My questions are:

  1. How can i find the sampling frequency if i know that the signals are 'downloaded' in Europe (energy transport network of 50Hz)
  2. Whats the most appropriate computational method to separate the signal in the regions.

I think that in order to find the sampling frequency i need to find the max frequency of my signal and then fsampling=2*fmax.Does the information about the 50Hz network affects my sampling frequency?

  • $\begingroup$ what do you mean with "downloaded"? Recorded? $\endgroup$ Jan 15, 2018 at 19:13
  • $\begingroup$ I have a lengthy answer ready to be typed down, but I don't want to waste my time on something that you don't need. So please be far more detailed! What is your signal? Why do you need to separate it in frequency ranges? Why do you even mention the grid frequency? That doesn't happen out of thin air, so you're not giving us even half of the background and info you should! $\endgroup$ Jan 15, 2018 at 19:18
  • $\begingroup$ I have an EEG signal and I need to extract the alpha beta theta and delta regions.This is the last year exam in DSP course in my university. I think tha the grid frequency is given in order to find the sampling frequency.I don't have the signal but a theoretical answer would help me a lot . $\endgroup$
    – Thanos
    Jan 16, 2018 at 7:48
  • $\begingroup$ Yes my mistake , I mean recorded. $\endgroup$
    – Thanos
    Jan 16, 2018 at 7:49
  • $\begingroup$ @Thanos you should always update/improve the question when you answer comments so they gain visibility $\endgroup$ Jul 15, 2018 at 20:20

1 Answer 1


Computational effort is probably totally irrelevant considering the low maximum frequency, implying a low required sampling rate, and the fact that this all isn't done in real-time but after the fact (and computers are fast). So, just use your favourite math toolkit (sounds like you'd like to use Matlab, Octave, or Python/Jupyter Notebooks/Scipy), and design five bandpass filters with the characteristics you need, and apply those.

About these characteristics: You don't give us any info about what you want to do with that signal, what that signal is or applicable information about how flat you need your passband to be, how attenuated your stopband or how wide your transition between. So, that's up to you to figure out. I don't think this is out of reach for you – these frequency ranges sound suspiciously much like EEG, so, maybe, read another five pages in a book about such signals.

Now, no, inherently, the grid frequency doesn't have anything to do with the sampling rate. In the presence of strong narrowband (as in: single-tone) interference, it can be advantageous to use a sampling rate that puts intermodulation products into irrelevant bands, but a) you don't have irrelevant bands and b) considering the low highest frequency, you'll probably significantly oversample, anyway, so that this will be inherently be minimized. There's more than just clock/interferer intermodulation, but that'd be a very hardware-specific aspect, and can't be analyzed with much more detailed knowledge about the hardware you're using.

That grid frequency was given to your for another reason. I'll avoid speculating on this here - because honestly, for a "last year exam in DSP", your questions are a bit too basic, and I don't want to take the excitement of getting things right yourself from you.

So, sampling rate: 2·500 Hz is the theoretical lower limit. You can't use that, because your highest filter band needs some transition width. Not that it matters - any cheap soundcard can do 48 kHz or more, and I'd assume whatever device you're using for sampling isn't worse. So: sample first, then reduce bandwidth digitally with decimating filters.

Oversampling (that means, sampling with a rate factors higher than your necessary rate) has a dynamic range and SNR advantage, anyway, so you'd do that in a real system if possible.


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.