2.0 discrete convolution bee3213

Post on 07-Apr-2015

736 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

11

Digital Signal ProcessingDigital Signal Processing

Chapter 2Discrete Convolution

22

ApplicationsApplications

Convolution and related operations are found in many applications of engineering and mathematics.

In electrical engineering, the convolution of one function (the input) with a second function representing the response of a linear time-invariant system to a brief but strong impulse gives the system's output. At any given moment, the output is an accumulated effect of all the prior values of the input function, with the most recent values typically having the most influence (expressed as a multiplicative factor). The impulse response function provides that factor as a function of the elapsed time since each input value occurred.

33

Discrete SignalsDiscrete Signals

Convolution is a central concept in relating the

time & frequency domains. Discrete-time convolution is a method of

finding the zero-state response of relaxed linear

time-invariant (LTI) systems. The system impulse response is h[n]. If the input is δ[n], a unit sample at the origin n

= 0, the system response is h[n].

44

If the input is x[0]δ[n], a scaled impulse at the

origin, the response is x[0]h[n]. If the input is the shifted impulse x[l]δ[n - 1] at n

= 1, the response is x[l]h[n - 1]. The response to the shifted impulse x[k]δ[n - k] at

n = k is x[k]h[n - k]. Since input x[n] is a sequence of samples, it can

be described by a sum of scaled & shifted impulses:

knkxnxk

55

By superposition, the response to x[n] is the sum

of scaled & shifted versions of the impulse

response:

It is called linear convolution. The expression for computing y[n] is called the

convolution sum. The arguments of x & h can be interchanged

without affecting the result.

nhnxknhkxnyk

66

Thus,

nxnhkhknxnyk

77

The procedure for analytical convolution can be implemented if x[n] & h[n] are described by simple analytical expressions. Resort a table of closed-form solutions for finite or infinite series. x[k] & h[n - k] are functions of the summation variable k. The summations frequently involve step functions of the form u[k] & u[n - k].

Analytical Evaluation of Analytical Evaluation of Discrete ConvolutionDiscrete Convolution

88

Since u[k] = 0, k < 0 & u[n - k] = 0, k > n, these can be used as lower & upper limits (k = 0 & k = n).Example 2.1Let x[n] = h[n] = u[n]. Then x[k] = u[k] & h[n - k] = u[n – k]. The lower limit on the convolution sum simplifies to k = 0 (because u[k] = 0, k < 0), the upper limit to k = n (because u[n - k] = 0, k > n), and we get

1110

nrnunknukunhnxnyn

kk

99

Many of discrete convolution properties are based on LTI. If x[n] or h[n] is shifted by no, so is y[n]. Thus, if y[n] = x[n] * h[n], then

x[n - no] * h[n] = x[n] * h[n - no] = y[n - no]

The sum of the samples in x[n], h[n], & y[n] are related by

Convolution PropertiesConvolution Properties

nnn

nhnxny

1010

For causal systems (h[n] = 0, n < 0) & causal signals (x[n] = 0, n < 0), y[n] is also causal. Thus,

Convolution of two left-sided signals is also left-sided. (Same for two right-sided signals). Some other properties:δ[n] * x[n] = x[n]δ[n] * δ[n] = δ[n] Since step response is the running sum of impulse response, the convolution of x[n] with a unit step is the running sum of x[n]:

knxkhknhkxnxnhnhnxnyn

k

n

k

00

k

kxnunx

1111

In practice, we deal with sequences of finite

length, & their convolution may be found by

several methods. The convolution y[n] of two finite-length

sequences x[n] & h[n] is also of finite length &

is subject to the following rules:

I) The starting index of y[n] equals the sum of the

starting indices of x[n] & h[n].

II) The ending index of y[n] equals the sum of the

ending indices of x[n] & h[n].

III) Ly = Lx + Lh - 1.

1212

The convolution y[n] equals the sum of the (shifted) impulse responses due to each of the impulses that make up the input x[n]. To find the convolution, a row of index values is set up beginning with the starting index of the convolution & h[n] & x[n] below it. x[n] is a sequence of weighted shifted impulses. Each element (impulse) of x[n] generates a shifted impulse response (product with h[n]) starting at its index (to indicate the shift).

Sum-by-Column MethodSum-by-Column Method

1313

Summing the response (by columns) gives the

discrete convolution.

None of the sequences is folded.

The starting index for convolution y[n] is found

from the starting indices of x[n] & h[n].

1414

Summary Using the Sum-by-

Column Method

I) Line up x[n] below h[n].

II) Line up with each sample of x[n], the product of

the entire array h[n] with that sample of x[n].

III)Sum the columns of the (successively shifted)

arrays to generate the convolution sequence.

1515

Example 2.2

An FIR filter has an impulse response given by

h[n] = { , 2, 2, 3}. Find its response y[n] to the

input x[n] = { , -1, 3}. Assume both x[n] & h[n]

start at n = 0.

Solution

x[n] = 2δ[n] - δ[n - 1] + 3δ[n - 2] & tabulates the

response to each impulse & the total response as

follows:

1

2

1616

hh[[nn]] == 11 22 22 33

xx[[nn]] == 22 -1-1 33

InputInput ResponseResponse

22δδ[[nn]] 22hh[[nn]] == 22 44 44 66

-- δ δ[[n n - 1]- 1] -- h h[[n n - 1]- 1] == -1-1 -2-2 -2-2 -3-3

33δδ[[nn - 2] - 2] 33hh[[nn - 2] - 2] == 33 66 66 99

Sum=Sum= x x[[nn]] Sum=Sum= y y[[nn]] == 22 33 55 1010 33 99

1717

Ly = Lx + Lh – 1

= 3 + 4 – 1 = 6.

y[n] = { , 3, 5, 10, 3, 9}

y[n] = 2δ[n] + 3δ[n - 1]

+ 5δ[n - 2] + 10δ[n - 3]

+ 3δ[n - 4] + 9δ[n - 5]

2

1818

Convolution sum can be interpreted as:

Fold x[n] & shift x[-n] to line up its last element

with the first element of h[n].

Successively shift x[-n] (to the right) past h[n],

one index at a time, & find the convolution at each

index as the sum of the pointwise products.

This is called the sliding strip method.

Fold, Shift, Fold, Shift, Multiply & Sum ConceptMultiply & Sum Concept

1919

Example 2.3

Find the discrete convolution of h[n] = { , 5, 0,

4} and x[n] = { , 1, 3} by using the sliding strip

method.

Solution

Since both sequences start at n = 0, the folded

sequence is:

x[-k] = {3, 1, }. Using the sliding strip method:

2

4

4

2020

y[0] = sum of products = 8

y[1] = sum of products = 2 + 20 = 22

22 55 00 44

33 11 44 SlideSlide

88

22 55 00 44

33 11 44

22 2020

2121

y[3] = sum of products = 15 + 0 + 16 = 31

y[4] = sum of products = 0 + 4 = 4

22 55 00 44

33 11 44

1515 00 1616

22 55 00 44

33 11 44

00 44

2222

y[5] = sum of products = 12

The discrete convolution is given by

y[n] = { , 22,11,31,4,12}.

22 55 00 44

33 11 44

1212

8

2323

The discrete convolution of two finite-length

sequences x[n] & h[n] is equivalent to

multiplication of two polynomials whose

coefficients are described by x[n] & h[n]. Example 2.4Find the discrete convolution of h[n] = { , 5, 0,

4} & x[n] = { , 1, 3} by using the polynomials

multiplication method.

The Polynomials The Polynomials Multiplication Concept Multiplication Concept

2

4

2424

Solutionh[m] = 2m3 + 5m2 + 0m + 4 = 2m3 + 5m2 + 4x[m] = 4m2 + 1m + 3 = 4m2 + m + 3y[m] = h[m] * x[m] = (2m3 + 5m2 + 4) * ( 4m2 + m + 3) y[m] = 8m5 + 2m4 + 6m3 + 20m4 + 5m3 + 15m2 + 16m2 + 4m + 12 y[m] = 8m5 + 22m4 + 11m3 + 31m2 + 4m + 12

Hence, y[n] = { , 22, 11, 31, 4, 12}

8

2525

If zeroes are inserted between adjacent samples of each signal to be convolved, their convolution corresponds to the original convolution sequence with zeros inserted between its adjacent samples.Example 2.5Find the discrete convolution of h[n] = { , 5, 0, 4} and x[n] = { , 1, 3} by using the zero insertion method.

Zero Insertion Concept Zero Insertion Concept

2

4

2626

h[n] = { , 0, 5, 0, 0, 0, 4}

x[n] = { , 0, 1, 0, 3}h[m] = 2m6 + 5m4 + 4 x[m] = 4m4 + m2 + 3y[m] = h[m] * x[m] = (2m6 + 5m4 + 4) * (4m4 + m2 + 3) y[m] = 8m10 + 22m8 + 11m6 + 31m4 + 4m2 + 12

Hence, y[n] = { , 0, 22, 0, 11, 0, 31, 0, 4, 0, 12}

2

4

8

2727

PracticePractice

2828

2929

The regular convolution of two signals, both of which are periodic, does not exist. For this reason, periodic convolution is measured by using averages. If both xp[n] and hp[n] are periodic with identical

period N, their periodic convolution generates a convolution result yp[n] that is also periodic with

the same period N. The periodic convolution or circular convolution yp[n] of xp[n] and hp[n] is denoted by:

yp[n] = xp[n] hp[n]

Periodic ConvolutionPeriodic Convolution

3030

Over one period (n=0,1, ...,N - 1), it is defined by:

An averaging factor of 1/N is sometimes included

with the summation. Periodic convolution can be implemented using

wraparound.

nxnhnhnxny ppppp

knxkhknhkxny p

N

kpp

N

kpp

1

0

1

0

3131

The linear convolution of one period of xp[n] and

hp[n] will have (2N - 1) samples.

Its length is extended to 2N, slice it in two halves

(of length N each), line up the second half with

the first & add the two halves to get the periodic

convolution. Example 2.6

Find the periodic convolution of xp[n] = { , 0, 1,

1} and hp[n] = { , 2, 3, 1} with the period of N

= 4.

1

1

3232

y[n] = { , 2, 4, 4, 5, 4, 1}

1

nn 00 11 22 33 44 55 66

hhpp[[nn]] 11 22 33 11

xxpp[[nn]] 11 00 11 11

11 22 33 11

00 00 00 00

11 22 33 11

11 22 33 11

yy[[nn]] 11 22 44 44 55 44 11

3333

yp[n] = { , 6, 5, 4}

6

nn 00 11 22 33

First half of First half of yy[[nn]] 11 22 44 44

Wrap around half of Wrap around half of yy[[nn]] 55 44 11 00

Periodic convolution Periodic convolution yypp[[nn]] 66 66 55 44

3434

To find the periodic convolution, we shift the folded signal xp[-n] past hp[n], one index at a time,

& find the convolution at each index as the sum of the pointwise product of their samples but only over a one-period window (0, N - 1). Values of xp[-n] and hp[n] outside the range (0, N -

1) are generated by periodic extension. One way to visualize the process is to line up x[k] clockwise around a circle & h[k] counterclockwise (folded).

Periodic Convolution - Periodic Convolution - Cyclic Method Cyclic Method

3535

Example 2.7

Find the periodic convolution of xp[n] = { ,

2, 3} and hp[n] = { , 0, 2} with the period of N = 3

using the cyclic method.

1

1

3636

Correlation is a measure of similarity between two signals and is found using a process similar to convolution. Correlation is the convolution of one signal with a folded version of the other.The discrete cross-correlation (denoted ) of x[n] and h[n] is defined by:

Discrete CorrelationDiscrete Correlation

khnkxnkhkxnhnxnrkk

xh

kxnkhnkxkhnxnhnrkk

hx

3737

To find rxh[n], the last element of h[n] is lined up

with the first element of x[n] & start shifting h[n] past x[n]. The pointwise product of the overlapping values are summed up to generate the correlation. This is equivalent to performing the convolution of x[n] & the folded signal h[-n]. The starting index of the correlation equals the sum of the starting indices of x[n] and h[-n]. Similarly, rhx[n] equals the convolution of x[-n] &

h[n], & its starting index equals the sum of the starting indices of x[-n] & h[n].

3838

However, rxh[n] does not equal to rhx[n].

The two are folded versions of each other &

related by rxh[n] = rhx[-n].

Some equations need to be remembered:

Correlation length: Nx + Nh - 1

Correlation sum:

nhnxnhnxnrxh

nxnhnxnhnrhx

nhnxnr

3939

The correlation rxx[n] of a signal x[n] with itself is

called the autocorrelation.

It is an even symmetric function (rxx[n] = rxx[-n])

with a maximum at n = 0 and satisfies the

inequality .Correlation is an effective method of detecting

signals buried in noise. Noise is essentially uncorrelated with the signal.

AutocorrelationAutocorrelation

4040

It means that if we correlate a noisy signal with

itself, the correlation will be due only to the signal

(if present) and will exhibit a sharp peak at n = 0.The autocorrelation is always even symmetric

with a maximum at the origin. Some equations need to be remembered:

nxnxnxnxnrxx

nrnr xxxx

0xxxx rnr

4141

Example 2.8

Given x[n] = auu[n], |a| < 1. Find rxx[n] for .

SolutionSince x[k - n] = ak-nu[k - n] starts at k = n, then

Since autocorrelation is an even symmetric

function, we have

0n

nk m m

nmnmnmnkk

kxx a

aaaaaaankxkxnr0 0

22

1

1

21 a

anr

n

xx

top related