Normalized Frequency in Analog Filter Design.

116 Ansichten (letzte 30 Tage)
saqib
saqib am 12 Okt. 2012
Beantwortet: Kenny am 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?
  1 Kommentar
Dídac Coll Pujals
Dídac Coll Pujals am 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];

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Honglei Chen
Honglei Chen am 12 Okt. 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).

Weitere Antworten (3)

Walter Roberson
Walter Roberson am 12 Okt. 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 Kommentare
Walter Roberson
Walter Roberson am 12 Okt. 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 am 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.

Melden Sie sich an, um zu kommentieren.


saqib
saqib am 12 Okt. 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 Kommentar
david ebregbe
david ebregbe am 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).

Melden Sie sich an, um zu kommentieren.


Kenny
Kenny am 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?

Community Treasure Hunt

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

Start Hunting!

Translated by