Normalized Frequency in Analog Filter Design.

116 vues (au cours des 30 derniers jours)
saqib
saqib le 12 Oct 2012
Réponse apportée : Kenny le 22 Fév 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?
  1 commentaire
Dídac Coll Pujals
Dídac Coll Pujals le 25 Mai 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];

Connectez-vous pour commenter.

Réponse acceptée

Honglei Chen
Honglei Chen le 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).

Plus de réponses (3)

Walter Roberson
Walter Roberson le 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
  2 commentaires
Walter Roberson
Walter Roberson le 12 Oct 2012
Cutoff frequency is that frequency where the magnitude response of the filter is sqrt(1/2). For butter, the normalized cutoff frequency Wn must be a number between 0 and 1, where 1 corresponds to the Nyquist frequency, π radians per sample.
david ebregbe
david ebregbe le 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.

Connectez-vous pour commenter.


saqib
saqib le 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.
  1 commentaire
david ebregbe
david ebregbe le 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).

Connectez-vous pour commenter.


Kenny
Kenny le 22 Fév 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?

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by