Digital Signal Processing Reference
In-Depth Information
x ()
0 7 157
.
w ()
y ()
z
1
1349
.
14314
.
wn
(
1
1
z
0514
.
wn
(
2
)
0 7157
.
FIGURE 8.38
Realization of IIR filter in Example 8.22 in direct-form II.
Solution:
First, we can identify
b 0 ¼ 0:7157; b 1 ¼ 1:4314; b 2 ¼ 0:7151
and
a 1 ¼ 1:3490; a 2 ¼ 0:5140
Applying the direct-form II realization developed in Chapter 6 leads to Figure 8.38 .
There are two difference equations required for implementation:
wðnÞ¼xðnÞ1:3490wðn 1Þ0:5140wðn 2Þ
yðnÞ¼0:7157wðnÞþ1:4314wðn 1Þþ0:7157wðn 2Þ
The MATLAB implementation is listed in Program 8.15.
Program 8.15. MATLAB code for Example 8.22.
% Sample MATLAB code
sample ¼ 2:2:20; % Input test array
x ¼ [0]; % Input buffer [x(n) ]
y ¼ [0]; % Output buffer [y(n)]
w ¼ [0 0 0]; % Buffer for w(n) [w(n) w(n-1) . ]
b ¼ [0.7157 1.4314 0.7157];
% Numerator coefficients [b0 b1 . ]
a ¼ [1 1.3490 0.5140];
% Denominator coefficients [1 a1 a2 . ]
for n ¼ 1:1:length(sample)
% Processing loop
for k ¼ 3:-1:2
w(k)
¼
w(k-1);
% Shift w(n) by one sample
end
x(1)
¼
sample(n);
% Get new sample
w(1)
¼
x(1);
% Perform IIR filtering
for k
¼
2:1:3
w(1)
¼
w(1)-a(k)*w(k);
end
y(1) ¼ 0;
% Perform FIR filtering
for k ¼ 1:1:3
y(1) ¼ y(1) þ b(k)*w(k);
end
out(n) ¼ y(1);
% Send the filtered sample to output array
end
out
 
Search WWH ::




Custom Search