Linearity

Recognize Code 128 Code Set A In NoneUsing Barcode Control SDK for Software Control to generate, create, read, scan barcode image in Software applications.

Encode Code 128C In NoneUsing Barcode encoder for Software Control to generate, create Code-128 image in Software applications.

If x l ( n )and x 2 ( n ) have N-point DFTs X l ( k ) and X 2 ( k ) ,respectively,

Scanning Code 128C In NoneUsing Barcode recognizer for Software Control to read, scan read, scan image in Software applications.

Paint Code-128 In Visual C#.NETUsing Barcode printer for VS .NET Control to generate, create Code-128 image in Visual Studio .NET applications.

In using this property, it is important to ensure that the DFTs are the same length. If x l ( n ) and x z ( n ) have different lengths, thc shorter sequence must be padded with zeros in order to make it the same length as the longer sequence. For example, if x l ( n ) is of length N I and x 2 ( n ) is of length N2 with N2 > N 1. x l ( n ) may be considered to be a sequence of length N2 with the last N2 - N I values equal to zero, and DFTs of length N2 may be taken for both sequences.

Draw Code 128B In Visual Studio .NETUsing Barcode encoder for ASP.NET Control to generate, create Code128 image in ASP.NET applications.

USS Code 128 Generator In .NETUsing Barcode printer for VS .NET Control to generate, create Code 128 Code Set B image in VS .NET applications.

Symmetry

Code 128 Code Set A Creator In VB.NETUsing Barcode drawer for .NET Control to generate, create Code 128 Code Set C image in Visual Studio .NET applications.

Bar Code Generator In NoneUsing Barcode maker for Software Control to generate, create barcode image in Software applications.

If x ( n ) is real-valued, X ( k ) is conjugate symmetric,

Code 128C Generator In NoneUsing Barcode encoder for Software Control to generate, create Code 128 Code Set B image in Software applications.

Code39 Printer In NoneUsing Barcode encoder for Software Control to generate, create ANSI/AIM Code 39 image in Software applications.

X ( k ) = X * ( ( - k ) ) = X*((N - k ) ) ~

Bar Code Encoder In NoneUsing Barcode encoder for Software Control to generate, create barcode image in Software applications.

ECC200 Generation In NoneUsing Barcode generator for Software Control to generate, create Data Matrix ECC200 image in Software applications.

and if x ( n ) is imaginary, X ( k ) is conjugate antisymmetric,

Create UPC Shipping Container Symbol ITF-14 In NoneUsing Barcode creator for Software Control to generate, create UPC Case Code image in Software applications.

Recognize DataMatrix In Visual Studio .NETUsing Barcode recognizer for Visual Studio .NET Control to read, scan read, scan image in .NET applications.

X(kj = -X*((-k)) = -X*((N

EAN / UCC - 13 Encoder In NoneUsing Barcode generation for Microsoft Word Control to generate, create EAN / UCC - 13 image in Microsoft Word applications.

European Article Number 13 Printer In Visual Studio .NETUsing Barcode printer for ASP.NET Control to generate, create EAN-13 image in ASP.NET applications.

Circular Shift

Paint ECC200 In Objective-CUsing Barcode creator for iPad Control to generate, create DataMatrix image in iPad applications.

Code-39 Encoder In .NET FrameworkUsing Barcode drawer for Reporting Service Control to generate, create Code 39 Full ASCII image in Reporting Service applications.

k ) ) ~

Create EAN128 In JavaUsing Barcode drawer for BIRT Control to generate, create EAN 128 image in BIRT reports applications.

Code128 Printer In Objective-CUsing Barcode generator for iPad Control to generate, create Code 128A image in iPad applications.

The circular shift of a sequence x ( n ) is defined as follows:

x((n - n o ) ) ~ R ~ (= i)( n - n o ) R ~ ( n ) n

where no is the amount of the shift and RN n ) is a rectangular window: (

A circular shift may be visualized as follows. Suppose that the values of a sequence x ( n ) , from n = 0 to n = N - I , are marked around a circle as illustrated in Fig. 6-1 or in an eight-point sequence. A circular shift to the

right by no corresponds to a rotation of the circle no positions in a clockwise direction. An example illustrating the circular shift of a four-point sequence is shown in Fig. 6-2. Another way to circularly shift a sequence is to form the periodic sequence i ( n ) , perform a linear shift, T ( n - no), and then extract one period o f f ( n - no) by multiplying by a rectangular window. If a sequence is circularly shifted, the DFT is multiplied by a complex exponential,

.r((n - no)) N R N ( ~ ) w;lk x ( k )

(6.6)

Similarly, with a circular shift of the DFT, X ( ( k - k O ) ) ~ . sequence is multiplied by a complex exponential, the

THE DFT

[CHAP. 6

(a) An eight-point sequence.

around the circle.

(b) Circular shift by two.

Fig. 6-1. Visualizing a circular shift by rotating a circle that has the sequence values written

(a)A discrete-time signal of length N = 4.

(b) Circular shift by one.

(c) Circular shift by two. (d) Circular shift by three. Fig. 6-2. The circular shift of a four-point sequence.

Circular Convolution

Let h ( n ) and x ( n ) be finite-length sequences of length N with N-point DFTs H ( k ) and X ( k ) , respectively. The sequence that has a DFT equal to the product Y ( k ) = H (k)X ( k ) is

CHAP. 61

THE DFT

whereP(n) and h(n) are the periodic extensions of the sequences x(n) and h(n ), respective1y. ~ e c a u s h(n) = h(n) e for 0 5 n < N, the sum in Eq. (6.8) may also be written as

The sequence y(n) in Eq. (6.9) is the N-point circular convolution of h(n) with x(n), and it is written as

The circular convolution of two finite-length sequences h(n) and x(n) is equivalent to one period of the periodic convolution of the periodic sequences i ( n ) andf(n),

In general, circular convolution is not the same as linear convolution. and N -point circular convolution is different, in general, from M-point circular convolution when M # N .

EXAMPLE 6.4.1

Let us perform the four-point circular convolution of the two sequences h(n) and x(n) shown below.

The four-point circular convolution is

which may be performed graphically, as follows. The value of y(n) at n = 0 is

Shown in the figure below is a plot of the sequence h(-k)R4(k).

To evaluate y(O), we multiply this sequence by x ( k ) and sum the product from k = 0 to k = 3. The result is y(0) = 1. Next, to find the value of y( I), we evaluate the sum