Digital Signal Processing/Bilinear Transform
The Bilinear Transform edit
The Bilinear transform is a mathematical relationship which can be used to convert the transfer function of a particular filter in the complex Laplace domain into the zdomain, and viceversa. The resulting filter will have the same characteristics of the original filter, but can be implemented using different techniques. The Laplace Domain is better suited for designing analog filter components, while the ZTransform is better suited for designing digital filter components.
The bilinear transform is the result of a numerical integration of the analog transfer function into the digital domain. We can define the bilinear transform as:
The bilinear transform can be used to produce a piecewise constant magnitude response that approximates the magnitude response of an equivalent analog filter. The bilinear transform does not faithfully reproduce the analog filters phase response, however.
As example, the phase response for the bilinear equivalent to an analog system is shown next, using a sampling frequency of 40 rad/sec. Compare the phase responses in the plot, realizing the limit is Ws/2=20 rad/s  the clear divergence is evident.
 num = [1 11.21 116.242 372.601 561.589 363.528 ];
 den= [1 26.489 340.47 2461.61 10433.1 23363.9 19049. 4981.82 ];
 C=tf(num,den); % GNU Octave command
 D=c2d(C,2*pi/40,'bi'); % A/D via Octave
Note that two zeros have been added so that zero and pole counts match.

Phase discrep approaching Ws/2
W Domain edit
The bilinear transform is a onetoone mapping, that is that a unique point in one domain will be transformed into a unique point in the other domain. However, the transformation is not a linear transformation, and is not an exact equivalency between Laplace and Z domains. If a digital filter is designed and transformed into an analog filter, the resulting poles and zeros are not located on the splane, but instead on the wplane that has similar properties, but with a nonlinear correspondence.
In the bilinear transform, the positive imaginary axis in the sdomain is transformed into the upperhalf unit circle in the zdomain. Likewise, the negative imaginary axis in the sdomain is transformed into the lowerhalf unit circle in the zdomain. This mapping is highly nonlinear, however, resulting in a phenomena known as "frequency warping".
Prewarping edit
Frequency warping follows a known pattern, and there is a known relationship between the warped frequency and the known frequency. We can use a technique called prewarping to account for the nonlinearity, and produce a more faithful mapping.
The p subscript denotes the prewarped version of the same frequency. Note that in the limit , the continuous solution is .
Phase edit
The bilinear transform does not maintain phase characteristics of the analog filter, and there is no way to correct the phase response to match.
Filter Design Steps edit
When designing a digital filter using an analog approximation and the bilinear transform, we follow these steps:
 Prewarp the cutoff frequencies
 Design the necessary analog filter
 Apply the bilinear transform to the transfer function
 Normalize the resultant transfer function to be monotonic and have a unity passband gain (0dB).
Alternatively, if we have an inverse bilinear transform, we can follow these steps:
 Use the inverse bilinear transform on the filter specifications in the digital domain to produce equivalent specifications in the analog domain.
 Construct the analog filter transfer functions to meet those specifications.
 Use the bilinear transform to convert the resultant analog filter into a digital filter.
The Inverse Bilinear Transform edit
The inverse bilinear transform can be specified as such:
Where is the sample rate
This can also be written as:
which very much resembles the Bilinear Transform.