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