Weird results when using MATLAB's $\tt butter$ function?

I'm trying to learn some of the basic MATLAB filter design functions and have been experimenting with the butter function. This function calculates the transfer function coefficients of a Butterworth filter given a desired filter order and normalized cutoff frequency.

I have previous experiences with designing prototype filters and then modifying them, however, I'm having a difficult time understanding MATLAB's definition of normalized frequency.

I'm used to designing Butterworth filters with a normalized frequency of $1 \textrm{ rad/s}$, yet MATLAB insists that the normalized frequency has something to do with a sample rate? I assumed the butter function was used for designing analog filters?

Furthermore, when I plot the frequency response of the function, the cutoff frequency I specify (Wn parameter) never seems to correspond to the $-3\textrm{ dB}$ mark in the plots.

Any thoughts on these?

• Regarding your last question, make sure you read the documentation carefully about how the Wn parameter is defined. Note that a Wn value of 1.0 corresponds to half the input sample rate. There is often a factor of 2 error here for first-time users of MATLAB's filter design functions. Aug 5, 2016 at 14:24