Problems 703
(b) Increase the order of the filter toN= 14 and keep the other specifications the same. Design an analog
band-pass filter and use againbilinearwithK= 1 to transform the analog filter into a discrete filter.
Plot the magnitude and the phase of the discrete filter. Explain your results.
11.8. Warping effect of the bilinear transformation—MATLAB
The warping effect of the bilinear transformation also affects the phase of the transformed filter. Consider
a filter with transfer functionG(s)=e−^5 s.
(a) Find the transformed discrete frequenciesω(rad) corresponding to 0 ≤≤ 20 (rad/sec) using a
bilinear transformation withK= 1. Plotversusω.
(b) Discretize the continuous frequencies 0 ≤≤ 20 (rad/sec) to compute values ofG(j)and use
MATLAB functions to plot the phase ofG(j).
(c) Find the function
H(ejω)=G(j)|=tan(ω/ 2 )
and plot its unwrapped phase using MATLAB for the discrete frequencies corresponding to the
analog frequencies to 0 ≤≤ 20 (rad/sec).
11.9. Discrete Butterworth filter for analog processing—MATLAB
Design a Butterworth low-pass discrete filter that satisfies the following specifications:
0 ≤α(ejω)≤ 3 dB for 0 ≤f≤ 25 Hz
α(ejω)≥ 38 db for 50 ≤f≤Fs/ 2 Hz
The sampling frequency isFs= 2000 Hz. Express the transfer functionH(z)of the designed filter as a
cascade of filters. Use first the design formulas and then use MATLAB to confirm your results. Show that
the designed filter satisfies the specifications, plotting the loss function of the designed filter.
11.10. All-pass IIR filter—MATLAB
Consider an all-pass analog filter
G(s)=
s^4 − 4 s^3 + 8 s^2 − 8 s+ 4
s^4 + 4 s^3 + 8 s^2 + 8 s+ 4
(a) Use MATLAB functions to plot the magnitude and the phase responses ofG(s). Indicate whether the
phase is linear.
(b) A discrete filterH(z)is obtained fromG(s)by the bilinear transformation. By trial and error, find the
value ofKin the bilinear transformation so that the poles and zeros ofH(z)are on the imaginary axis
of thez-plane. Use MATLAB functions to do the bilinear transformation and to plot the magnitude
and unwrapped phase ofH(z)and its poles. Is it an all-pass filter? If so, why?
(c) Let the input to the filterH(z)bex[n]=sin(0.2πn), 0 ≤n< 100 , and the corresponding output be
y[n]. Use MATLAB functions to compute and ploty[n]. From these results would you say that the
phase ofH(z)is approximately linear? Why or why not?
11.11. Butterworth filtering of analog signal—MATLAB
We wish to design a discrete Butterworth filter that can be used in filtering a continuous-time signal.
The frequency components of interest in this signal are between 0 and 1 KHz, so we would like the filter
to have a maximum passband attenuation of 3 dB within that band. The undesirable components of the
input signal occur beyond 2 KHz, and we would like to attenuate them by at least 10 dB. The maximum
frequency present in the input signal is 5 KHz. Finally, we would like the dc gain of the filter to be 10.
Choose the Nyquist sampling frequency to process the input signal. Use MATLAB to design the filter.
Give the transfer function of the filter, plot its poles and zeros and its magnitude and unwrapped phase
response using an analog frequency scale in KHz.