I was reading from Internet about FIR filter design using MATLAB, and I saw parameters like passband frequency, stopband frequency, passband attuenation, stopband attuenation, etc. What made me confused was the parameter sampling frequency.

I don't understand the significance of sampling frequency with respect to a filter. Is it the sampling frequency of input signal that this filter can work on or is it something else?


All digital filter frequency parameters (passband begin frequency, passband end frequency, and stopband begin frequency) are stated in terms of an input signal sequence's Fs sampling frequency. For a lowpass filter example, if I said a lowpass filter's passband width (it's "cutoff" frequency) is 0.2, I'm saying that the cutoff frequency is 0.2 times Fs. So if an input signal's Fs was 1.0 kHz that lowpass filter's cutoff frequency is 200 Hz. However, if an input signal's Fs was 20 kHz then in this situation that same lowpass filter's cutoff frequency is 4 kHz.

For a different scenario, if you said, “Rick, please use Matlab and design a digital lowpass filter whose cutoff frequency is 300 Hz.” It would be impossible for me to do that unless you told me what was the filter’s input sequence’s Fs sample rate. But if you then said “Fs = 1000 Hz”, then I’d know the filter’s ‘normalized’ cutoff freq was 300/1000 = 0.3 enabling me to design the lowpass digital filter.

  • 3
    $\begingroup$ "I'm saying that the cutoff frequency is 0.2 times Fs." or 0.2 times Fs/2, in some of Matlab's filter design tools. $\endgroup$ – endolith Sep 15 '15 at 13:42
  • $\begingroup$ If I recall correctly, most Matlab filter design commands specify frequency as some fraction of Fs/2. So a Matlab freq value of 0.2 would be, I think, equivalent to '0.2 times Fs/2' Hz. A little Matlab experimentation on your part will answer this question. $\endgroup$ – Richard Lyons Sep 16 '15 at 0:56
  • $\begingroup$ @ Richard what you mentioned that Fc=Fs*2 (for low pass filter). so what is such as expression for high pass filter? $\endgroup$ – Abdul Wali Jul 28 '17 at 8:51

Signals that you can handle in the computer have to be sampled into discrete values. You do this by measuring the voltage on the analog input many thousand times per second. Exactly how often you make that measurement is the sampling rate.

Typical rates for PC audio systems are 44100Hz, 22050 Hz, and 11025 Hz.

When designing a filter, you must know the rate at which the signal was sampled. That is why you must specify the sampling rate for Matlab.

Please do some basic reading about DSP and sampling rates.


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.