02.10.2019 Views

UploadFile_6417

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

208 Chapter 5 THE DISCRETE FOURIER TRANSFORM<br />

P5.32 The overlap-add method of block convolution is an alternative to the overlap-save method.<br />

Let x(n) bealong sequence of length ML where M,L ≫ 1. Divide x(n) intoM segments<br />

{x m(n), m=1,...,M} each of length L<br />

{<br />

x(n), mL≤ n ≤ (m +1)L − 1<br />

x m(n) =<br />

0, elsewhere<br />

Let h(n) beanL-point impulse response. Then<br />

so that x(n) =<br />

M−1<br />

∑<br />

m=0<br />

x m(n)<br />

y(n) =x(n) ∗ h(n) =<br />

M−1<br />

∑<br />

m=0<br />

x m(n) ∗ h(n) =<br />

M−1<br />

∑<br />

m=0<br />

y m(n);<br />

y m(n) △ = x m(n) ∗ h(n)<br />

Clearly, y m(n) isa(2L − 1)-point sequence. In this method we have to save the<br />

intermediate convolution results and then properly overlap these before adding to form the<br />

final result y(n). To use DFT for this operation we have to choose N ≥ (2L − 1).<br />

1. Develop a MATLAB function to implement the overlap-add method using the circular<br />

convolution operation. The format should be<br />

function [y] = ovrlpadd(x,h,N)<br />

% Overlap-Add method of block convolution<br />

% [y] = ovrlpadd(x,h,N)<br />

%<br />

% y = output sequence<br />

% x = input sequence<br />

% h = impulse response<br />

% N = block length >= 2*length(h)-1<br />

2. Incorporate the radix-2 FFT implementation in this function to obtain a high-speed<br />

overlap-add block convolution routine. Remember to choose N =2 ν .<br />

3. Verify your functions on the following two sequences<br />

P5.33 Given the following sequences x 1(n) and x 2(n):<br />

P5.34 Let<br />

x(n) =cos (πn/500) R 4000(n), h(n) ={1, −1, 1, −1}<br />

x 1(n) ={2, 1, 1, 2} , x 2(n) ={1, −1, −1, 1}<br />

1. Compute the circular convolution x 1(n) N○ x 2(n) for N =4,7,and 8.<br />

2. Compute the linear convolution x 1(n) ∗ x 2(n).<br />

3. Using results of calculations, determine the minimum value of N necessary so that linear<br />

and circular convolutions are same on the N-point interval.<br />

4. Without performing the actual convolutions, explain how you could have obtained the<br />

result of P5.33.3.<br />

x(n) =<br />

{<br />

A cos (2πln/N), 0 ≤ n ≤ N − 1<br />

0, elsewhere<br />

= A cos (2πln/N) R N (n)<br />

Copyright 2010 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).<br />

Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!