I have been given the specifications for a digital highpass filter (stopband, passband, stopband attenuation and maximum passband ripple).

I am expected to design a prototype lowpass filter in the analogue domain, use frequency transformation to convert it to a highpass, then use bilinear transformation to convert it into a digital filter. I am using a Butterworth filter for prototype.

However I have not been given the sampling frequency(or period) for pre-warping. I have seen textbooks take period = 1 as it is arbitrary, however I don't understand why. Any confirmation that this is okay, and explanations will be appreciated!


The sampling frequency is not arbitrary and important to specify for pre-warping. This is clear when reviewing how each analog frequency in the bilinear transform is mapped one-one to a digital frequency according to:

$$f = \frac{F_d}{F_s} = \frac{1}{\pi}\tan^{-1} \bigg(\pi\frac{F_a}{F_s}\bigg) \tag{1} \label{1}$$


$f = F_d/F_s$ is the normalized digital frequency in units of cycles/sample,
$F_a$ is an analog frequency in Hz
$F_s$ is the sampling rate in Hz

Observe that $tan^{-1}(\infty) = \pi$ and thus the Bilinear Transform "warps" the entire analog frequency domain from $F=0$ to $F= \infty$ to the digital frequency domain of $f=0$ to $f=1$ (where $f=1$ is the sampling rate in units of normalized frequency), but the specific mapping of each analog frequency over that range is dependent on the value of $F_s$ that is used, as given by \ref{1}.

Normalizing the discrete-time frequency domain is commonly done such that the resulting spectrum associated with DC to the sampling rate extends from $f =0 \text{ to } 1$ cycles/sample, which may be the source of the OP's confusion.


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.