Normalized Frequency in Analog Filter Design.

161 views (last 30 days)
saqib on 12 Oct 2012
Answered: Kenny on 22 Feb 2018
Hi Everyone,
I am trying to design a butterworth analog filter in MATLAB. In this particular case I require a 3dB freq of 5MHz and an attenuation of -40dB at 10MHz (no more than 3dB ripple which isnt a concern here due to the maximally flat nature of the butterworth.)
In the MATLAB manuals, it is mentioned that I need to use butter (n,Wn,'s') to get the poles of the filter. I am not quite sure what value of Wn I am supposed to use. Has it to be normalized to some particular frequency or do I use 5x10(^6) here?(in this case I get a k of extremely large value (something^(46))).
Can someone suggest what I should be using for Wn?
Dídac Coll Pujals on 25 May 2015
You're going to need an order 2 butterworth filter whose cutoff frequency is 10 Mhz. For example:
cutOff = 4999;
frequencySample = 10000;
Normalized = cutOff * 2 / frequencySample ;
order = 2;
[b,a]=butter (order,Normalized);
filteredData = filter[b,a,dataToFilter];

Honglei Chen on 12 Oct 2012
Normalized frequency is for digital filters. If you want to design analog filters, they don't apply. Like you mentioned, you should use the syntax with 's' at the end. To get Wn, you can use buttord function (also has an 's' syntax for analog filter).

Walter Roberson on 12 Oct 2012
Normalized frequency is a ratio of a specific frequency (e.g., the cutoff frequency for a filter) to twice the sampling frequency. For example, if the sampling frequency is 8000 Hz, and you want to filter at the 500 Hz point, then the normalized frequency would be 500/(2*8000) = 5/160
david ebregbe on 26 Nov 2012
since normalized frequency is relative, in matlab it's like it's relative to the nyquist rate, which means it should be 500*2/8000.

saqib on 12 Oct 2012
But since I am still doing analog, can I use any frequency(and I dont have a sampling f) as a reference one? because I can get a different value of the poles for a different Wn.
david ebregbe on 26 Nov 2012
If the sampling frequency is 8000Hz which is usually the nyquist rate, then the frequency of your signal is 4000Hz. The normalized cut off frequency will be 500/4000 and not 500/(2*8000).

Kenny on 22 Feb 2018
So does this mean that the word 'normalisation' such as seen in the so-called matlab help for topics like 'butterworth filter' means take your actual desired cutoff frequency, and divide by a normalising constant equal to HALF the sampling frequency?