Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 49

Frequency Pre-Warping for Bilinear Transform Compensation

Recommended resources

Hello! Welcome to the fourth lesson in our module on Digital Filter Design Techniques.

In our last lesson, we introduced the bilinear transform as a powerful method for designing IIR filters. We saw that while it masterfully solves the aliasing problem associated with impulse invariance, it introduces a non-linear distortion known as frequency warping. We briefly identified the solution: a compensation technique called pre-warping.

Today, we will master this crucial step. Our learning outcome is to apply frequency pre-warping to compensate for the non-linear frequency mapping of the bilinear transform. You will learn not just the formula, but the entire logic and workflow, ensuring you can design digital filters that precisely meet your frequency specifications.

This lesson will cover:

  • A deeper analysis of the frequency warping problem.
  • The mathematical derivation of the pre-warping correction factor.
  • A step-by-step guide on how to integrate pre-warping into your filter design process.
  • A practical example demonstrating a design failure without pre-warping and its correction with it.

1. Revisiting the Frequency Warping Problem

Let's begin by seeing a practical example of what goes wrong when we ignore frequency warping. As we established, the bilinear transform maps an analog transfer function to a digital one . However, the relationship it imposes between the analog frequency and the digital frequency is not linear.

The following video provides an excellent demonstration of this issue.

Discrete control #6: z-plane warping and the bilinear transform

In this segment from Brian Douglas's video on z-plane warping, he attempts to design a digital notch filter by directly converting an analog design. Pay close attention to what happens to the notch frequency after the transformation.

Watch from 00:37 to 09:30. The video first gives a general introduction to filters and then sets up a specific design goal: a notch filter. Notice how the digital filter's notch frequency is correct for a low-frequency design (0.1 rad/s) but shifts significantly for a higher frequency (0.7 rad/s).

As you saw, the direct application of the bilinear transform works reasonably well for frequencies that are very low relative to the sampling rate, but it fails as the target frequency increases. The digital notch ended up at 0.61 rad/s instead of the desired 0.7 rad/s. This is frequency warping in action. To correct this, we must first understand the warping relationship precisely.


2. The Mathematics of Pre-Warping

In our last lesson, we derived the relationship between the analog frequency and the digital frequency :

Here, is the sampling period. This formula tells us what analog frequency corresponds to a given digital frequency . The core idea of pre-warping is to use this equation in reverse.

If we want our final digital filter to have a critical frequency at a specific , we must design our initial analog prototype to have a critical frequency such that, after warping, it lands exactly at .

Therefore, the pre-warping formula is simply the equation above, solved for the analog frequency we need to use in our design:

This is the central equation for this lesson. We intentionally distort the analog filter's specifications to counteract the distortion of the bilinear transform.

To solidify this, let's watch the mathematical explanation.

Discrete control #6: z-plane warping and the bilinear transform

This next segment from the same Brian Douglas video derives the relationship between the analog and digital frequencies and shows numerically how the warping becomes more pronounced at higher frequencies.

Watch from 16:26 to 19:56. The video formally derives the equation relating \omega_d and \omega_a. Follow the calculations for the 0.1 rad/s and 0.7 rad/s cases, which confirm the experimental results from the first video segment.


3. Integrating Pre-Warping into the Design Workflow

Now that we have the corrective formula, we can establish a robust design procedure. This process is fundamental to creating accurate IIR filters.

2.161 Signal Processing: Pre-warping of Critical Frequencies in Bilinear Transform Filter Design

These lecture notes from MIT OpenCourseWare present a clear, step-by-step procedure for designing an IIR filter using the bilinear transform, with pre-warping as a key step.

Please read the section titled '1.2.2 Pre-warping of Critical Frequencies in Bilinear Transform Filter Design'. Focus on the five steps listed under 'Design Procedure'. This formalizes the workflow we will be using.

Based on the resource, the complete design procedure is as follows:

  1. Define Digital Filter Specifications: Start with the requirements for your digital filter (e.g., passband edge , stopband edge , ripple).
  2. Pre-warp Critical Frequencies: Use the pre-warping formula to calculate the corresponding analog frequencies () needed for the prototype. For each digital frequency , calculate its pre-warped analog counterpart: .
  3. Design Analog Prototype Filter: Design a continuous-time filter (e.g., Butterworth, Chebyshev) that meets the analog specifications calculated in step 2. This will give you the analog transfer function .
  4. Apply Bilinear Transform: Substitute into to get the digital transfer function .
  5. Realize the Digital Filter: Implement the as a difference equation in your target system.
Test your understanding!

You need to design a digital band-pass filter with a sampling frequency of 8 kHz. The desired digital passband edges are at 1 kHz and 2 kHz. What are the pre-warped analog frequencies you must use to design your prototype filter?

Show answer

First, let's define our parameters:

  • Sampling frequency Hz, so the sampling period is s.
  • Lower digital cutoff frequency Hz, so rad/s.
  • Upper digital cutoff frequency Hz, so rad/s.

Now, apply the pre-warping formula for each frequency:

  1. Lower Analog Frequency :

  2. Upper Analog Frequency :

You would design your analog prototype filter to have a passband between 6627.4 rad/s and 16000 rad/s.


4. An Alternative View: The Pre-Warped Transform

For your mathematical background, it's useful to know there's a more compact way to think about this. Instead of a two-step process (pre-warp, then transform), we can modify the bilinear transform itself to include the pre-warping correction. This is especially useful if you want to preserve the exact characteristics of the filter at one specific frequency, .

The standard substitution is:

The modified, pre-warped substitution (to match behavior at ) is:

This value of is chosen precisely so that at the frequency , the mapping is exact (). At other frequencies, there will still be some warping, but the most critical frequency is now perfectly aligned.

Let's see this more powerful method in action to fix the notch filter from our first example.

Discrete control #6: z-plane warping and the bilinear transform

Finally, let's watch how Brian Douglas applies pre-warping to correct the notch filter design. The MATLAB function he uses effectively implements the modified transform we just discussed.

Watch from 19:56 to 22:33. Observe how he adds a 'prewarp' argument to the bilinear function, specifying the critical frequency of 0.7 rad/s. The resulting plot shows that the analog and digital filters now have perfectly aligned notches.

This successful result demonstrates the power and necessity of pre-warping. By telling the design algorithm our intended critical frequency, it can apply the correct pre-warping factor and produce a digital filter that performs exactly as specified.


Conclusion

In this lesson, you have moved from a theoretical awareness of frequency warping to a practical mastery of its solution. Pre-warping is an indispensable step in the IIR filter design process using the bilinear transform.

Key Takeaways:

  • The Problem: The bilinear transform's non-linear mapping () causes critical frequencies in a digital filter to shift from their intended analog design values.
  • The Solution: Pre-warping compensates for this by intentionally designing the analog prototype with distorted frequencies ().
  • The Workflow: The standard design flow involves defining digital specifications, pre-warping them to get analog specifications, designing the analog prototype, and then applying the standard bilinear transform.
  • The Outcome: This ensures that after the warping effect of the transform, the critical frequencies of the final digital filter land exactly where they were originally specified.

Preview of the Next Lesson:

We have now covered the two main methods for IIR filter design: impulse invariance and the bilinear transform. You understand their trade-offs and how to use them effectively. In our next lesson, we will shift gears and begin our exploration of Finite Impulse Response (FIR) filters. We will start with the most intuitive FIR design method: designing a filter by applying a window function to the truncated impulse response of an ideal filter. This will introduce you to a completely different class of filters with unique properties, such as guaranteed stability and linear phase.