33 upvotes00 downvotes

290 views77 pagesJun 17, 2007

© Attribution Non-Commercial (BY-NC)

DOC, PDF, TXT or read online from Scribd

Attribution Non-Commercial (BY-NC)

290 views

33 upvotes00 downvotes

Attribution Non-Commercial (BY-NC)

You are on page 1of 77

multicarrier communication

systems

Page 1 of 77

The Fast Vector Transfom:

algorithms and applications to multicarrier

communication systems

In partial fulfillment of

The degree

Master of Science

In

By

May, 2007

Page 2 of 77

CERTIFICATION OF APPROVAL

I certify that I have read the report on Implementation and performance of The Fast Vector

T, Kang and that in my opinion that this work meets the criteria for approving a research

project submitted in partial fulfillment of the requirements for the degree: Master of

_______________________________________

__________________________________________

__________________________________________

__________________________________________

Page 3 of 77

ACKNOWLEDGEMENTS

I would like to thank Dr. Todor Cooklev for his constant and kind support

during the project.

Importantly, I would like to thank my parents for their love and support

throughout my studies

Kyung T, Kang

May 2007

Page 4 of 77

The Fast Vector Transform

Abstract

The Vector transform (VT) has recently been shown to be an alternative to the

discrete Fourier fransform (DFT). However until recently no efficient algorithms for

the vector transforms were known. We develop novel algorithms for the VT, called

fast vector transforms (FVT). The FVT algorithms proposed here are comparable to

review fast algortims such as the fast Fourier transform (FFT) and fast Hartley

transmit and receive antennas, and show that it outperforms the corresponding

Page 5 of 77

TABLE OF CONTENTS

Abstract................................................................................................................................5

Chapter 1 Introduction.........................................................................................................8

1.1The DFT and the FFT.................................................................................................8

1.2Radix-2 algorithm.....................................................................................................10

1.3Radix-4 algorithm.....................................................................................................14

1.4 The Hartley transform and the FHT........................................................................19

Chapter 2 OFDM...............................................................................................................22

2.1. Definition ...............................................................................................................22

2.3. Conventional OFDM..............................................................................................26

3. The Vector Transform (VT)...........................................................................................29

3.2. Real- Valued Kernel Vector Transform (VT)..........................................................37

CHAPTER 4 Fast Vector Transform.................................................................................40

4.1 Radix-2 FVT ...........................................................................................................40

4.2 FVT Radix-4............................................................................................................44

CHAPTER 5 VT Application of VT to OFDM.................................................................49

5.2Multiple-input multiple-output (MIMO) OFDM..........................................................53

References..........................................................................................................................57

APPENDIX Ⅰ...................................................................................................................60

A. Radix-2 FVT ................................................................................................................60

Recursive algorithms: ......................................................................................................60

1. ivt2.m (inverse FVT radix 2).....................................................................................60

2. ivtfft.m (sub-function of inverse radix 2 FVT)..........................................................60

3. vt2.m (radix-2 FVT)..................................................................................................61

4. vtfft.m (sub-function of FVT radix-2).......................................................................61

Non-recursive algorithms: ...............................................................................................62

5. ivtfft2.m (non-recursive inverse FVT radix-2)..........................................................62

6. vtfft2.m (non-recursive FVT radix-2)........................................................................63

B. Radix-4 FVT.............................................................................................................64

7. ivt4.m ( inverse FVT radix-4)....................................................................................64

8 ivtfft4.m (sub-function of inverse FVT radix-4)........................................................65

9 vt4.m (FVT radix-4)...................................................................................................66

10 vtfft4.m (sub-function of FVT radix-4)....................................................................66

APPENDIXⅡ....................................................................................................................68

VT-OFDM ........................................................................................................................68

1.VTbasedOFDM.m..........................................................................................................68

2. qpskmod.m.................................................................................................................72

3. giins.m.......................................................................................................................73

4. makeVector.m............................................................................................................73

Page 6 of 77

5. ivt.m...........................................................................................................................74

6.vt.m.............................................................................................................................74

7. vector_guard_ins.m..................................................................................................75

8 comb.m.......................................................................................................................75

9. girem.m......................................................................................................................76

10 qpskdemod.m............................................................................................................76

LIST OF FIGURES

LIST OF TABLES

Page 7 of 77

Chapter 1 Introduction

N 1

X [k ] WNnk x[ n] , k 0,1,..., N 1 , (1)

n 0

WN e j 2 N

.

In general, the data sequence x[ n] is also assumed to be complex valued. Similarly, the

IDFT is defined as

N 1

x[ n] 1

N W

n0

nk

N X [k ] , n 0,1,..., N 1 . (2)

Since DFT and IDFT involve basically the same type of computations, our discussion of

efficient computational algorithms for the DFT applies as well to the efficient computation

Page 8 of 77

of the IDFT. We observe that for each value of k, direct computation of X [k ] involves N

complex multiplications (4N real multiplications) and N-1 complex additions (4N-2 real

additions). Consequently, the computation of all N values of the DFT requires N 2 complex

multiplications and N 2-N complex additions. Direct computation of the DFT is basically

inefficient primarily because it does not exploit the symmetry and periodicity properties of

Periodicity property : WNk N WNk

fast Fourier transform (FFT) algorithms, exploit these two basic properties of the phase

factor.

The fast Fourier transform (FFT) is a faster version of the DFT. It is not a new kind

of transform different from the DFT. Instead it is simply an algorithm for computing the

DFT, and its output is precisely the same set of complex values. The FFT algorithm

eliminates most of the repeated complex products in the DFT, and its execution n time is

much shorter [1-3]. Many tricks and techniques have been developed to speed up the

computation of FFTs.

sequentially the N-point sequence x[n] into sets of smaller and smaller subsequences and

then form a weighted combination of the DFTs of these subsequences. The same idea can

Page 9 of 77

smaller and smaller subsequences. This approach leads to another class of DFT

algorithm. Basically, the computational problem for the DFT is to compute the sequence

The simplest and most common form of the Cooley-Tukey algorithm is called radix-2

decimation-in-time (DIT) FFT: it divides the problem size into two interleaved halves with

each recursive stage. Recall that the DFT is defined by the formula: Radix-2 DIT first

computes the Fourier transforms of the even-indexed numbers x[0], x[1]...x[n 2] , and of

the odd-indexed numbers x[1], x[3]...x[n 1] , and then combines those two results to

produce the Fourier transform of the whole sequence. Let us consider the computation of

the N = 2v point DFT by the divide-and conquer approach We split the N-point data

sequence into two N/2-point data sequences f1[n] and f 2 [n] , corresponding to the even-

Thus f 2 [n] and f 2 [n] are obtained by decimating x[ n] by a factor of 2, and hence the

Now the N-point DFT equation (1) can be expressed in terms of the DFT's of the decimated

sequences as follows:

Page 10 of 77

X [k ]

n even

WNnk x[n] W

n odd

nk

N x[ n] , (3)

and,

N / 2 1 N / 2 1

X [k ] W

n 0

2 nk

N x[2n] W

n0

(2 n 1) k

N x[2n 1] , n 0,1,..., N 1 , (4)

2

following way:

2

2 2

WN / 2 exp j exp j WN2 , (5)

N / 2 N

2

N / 2 1 N / 2 1

X [k ] W

n 0

nk

f [ n] WNk

N /2 1 W

n 0

nk

f [ n]

N /2 2

, (6)

F1[n] W F2 [n], k

N k 0,1,..., N 1

where F1[ n] and F2 [n] are the N/2-point DFTs of the sequences f1[n] and f 2 [n] ,

respectively. Since F1[ n] and F2 [n] are periodic, with period N/2, we have F1[n N / 2] =

F1[ n] and F2 [n N / 2] = F2 [n] . In addition, taking the factor WNk N / 2 WNk into account,

X [k ] F1[k ] WNk F2 [k ]

N , n 0,1,..., N 2 1 . (7)

X [k ] F1[k ] WN F2 [k ]

k

for an 8-points.

Page 11 of 77

F1[0]

x[0] X [0]

F1[1] WN0

x[4] X [1]

N/2-point

DFT F1[2] WN1

x[2] X [2]

F1[3] WN2

x[6] X [3]

WN3

F2 [0]

x[1] X [4]

F2 [1] −

WN0

x[5] X [5]

N/2-point −

WN1

DFT F2 [2]

x[3] X [6]

F2 [3] −

WN2

x[7] X [7]

−

WN3

into two N/2-point DFT computations (N=8)

We observe that the direct computation of F1[ k ] requires (N/2)2 complex multiplications.

The same applies to the computation of F2 [k ] . Furthermore, there are N/2 additional

k

complex multiplications required to compute WN F2 [k ] . Hence the computation of X [ k ]

2 for N large.

The decimation of the data sequence can be repeated again and again until the

resulting sequences are reduced to two-point sequences. For N = 2v, this decimation can be

Page 12 of 77

x[0] X [0]

W20

x[4] X [1]

−1

W40

x[2] X [2]

−1

W41

W20

x[6] X [3]

−1 −1

W80

x[1] X [4]

W20 W81

x[5] X [5]

−1

W40

W82

x[3] X [6]

−1

W41

W20 W83

x[7] X [7]

−1 −1

Observe that the basic computation performed at every stage, as illustrated in Fig.2 is to

k

take two complex numbers, say the pair (a,b), multiply b by WN , and then add and subtract

the product from a to form two new complex numbers (A, B). This is basic computation,

which is shown in Fig.3 is called a butterfly because the flow graph resembles a butterfly.

a A = a + WNk b

WNk

b B = a − WNk b

−1

Page 13 of 77

In general each butterfly involves one complex multiplication and two complex additions.

For N = 2v there are N/2 butterflies per stage of the computation process and log 2 N stages.

When the number of data points N in the DFT is a power of 4 (i.e., N = 4v), we can, of

course, always use a radix-2 algorithm for the computation. However, for this case, it is

N 1 N 1 3 N 1

4 2 4 N 1

X [k ] x[n]W kn

N x[n]W kn

N x[n]W kn

N x[n]WNkn

n 0 n N nN n 3 N

4 2 4

. (8)

N 1 N 1 N 1

N / 4 1

4 4

N 4

N 3N kn

x[n]W

n 0

kn

N WNNk / 4 x n 4

n 0

WNkn WNNk / 2 x n 2

n 0

WNkn WN3 N / 4 x n

n 0 4

WN

and, taking the property of the twiddle factors (8) into account, the equation is expressed as:

N / 4 1

N N 3N

X [k ] x[n] ( j ) x n 4 (1) x n 2 ( j ) x n 4 WN . (10)

k

k

k

nk

n 0

The relation is not an N/4-point DFT because the twiddle factor depends on N and not on

N/4. To convert it into an N/4-point DFT we subdivede the DFT sequence into four N/4-

Page 14 of 77

point subsequences, X(4k), X(4k+1), X(4k+2), and X(4k+3), k = 0, 1, ..., N/4. Thus, we

N / 4 1

N N 3N

x[4k ] x[n] x n 4 x n 2 x n 4

0 kn

WN WN/4

n0

N / 4 1

N N 3N

x[4k 1] x[n] jx n 4 x n 2 jx n 4

n kn

WN WN/4

n 0

N / 4 1

N N 3N , (11)

x[4k 2] x[n] x n 4 x n 2 x n 4

2n kn

WN WN/4

n 0

N / 4 1

N N 3N

x[4k 3] x[n] jx n 4 x n 2 jx

n

4

3n kn

WN WN/4

n 0

where we have used the property WN4kn = WknN/4. Note that the input to each N/4-point DFT

is a linear combination of four signal samples scaled by a twiddle factor. This procedure is

For the purpose of deriving a matrix form, let us re-derive the radix-4 decimation-

in-frequency algorithm by breaking the N-point DFT formula into four smaller DFTs.

3

X [ p, q ]

l 0

WNlq F [l , q ] W4lq

( N / 4) 1

, (12)

F [l , q ]

M 0

x[l , m] WNmq/ 4

N

where x[l , m] x[4m l ] and X [ p, q ] X [ p q ] . Thus, the four N/4-point DFTs F [l , q ]

4

obtained from the above equation are combined to yield the N –point DFT. The expression

for combining the N/4-point DFTs defines a radix-4 decimation-in-time butterfly, which can

Page 15 of 77

X [0, q ] WN F [0, q] WN F [1, q ] WN2 q F [2, q ] WN3q F [3, q ]

0 q

N N N N

X [2, q ] . (13)

W 0

F [0, q ] W q N / 4

F [1, q ] W 2( q N / 4)

F [2, q ] W 3( q N / 4)

F [3, q ]

N N N N

X [3, q] WN0 F [0, q] WNq 3 N / 4 F [1, q] WN2( q 3 N / 4) F [2, q ] WN3( q 3 N / 4) F [3, q ]

0

Note that each matrix involve involves 12 complex multiplications, since WN =1, and 12

complex additions. By performing the one more step, it is possible to reduce the complex

multiplications to form 12 to 3

X [1, q]

1 j 1 j 1

WN F [1, q]

X [2, q ] 1 1 1 1 W 2 F [2, q ] , (14)

N

X [3, q] 1 j 1 j WN3 F [3, q]

In the case of radix-4 decimation-in-time in matrix form (13), the flow graph can be shown

in Fig.4

Page 16 of 77

WNk

WN2 k

WN3k

WN( k +N / 4)

WN2( k +N / 4)

WN3( k +N / 4)

WN( k +N / 2)

WN2( k +N / 2)

WN3( k +N / 2)

WN( k +3 N / 4)

WN2( k +3 N / 4)

WN3( k +3 N / 4)

Fig.4. can be redrawn as in Fig 5, which is basically same computation as the butterfly in

Page 17 of 77

WNk

−j

−1 j

WN2 k −1

1

−1

j

−1

3k

WN −j

This decimation-in-time procedure can be repeated recursively log 4 N times. Hence the

resulting FFT algorithm consists of log 4 N stages, where each stage contains N/4

butterflies. Consequently, the computation burden for the algorithm is (3N / 4) log 4 N

complex multiplications and (3N ) log 4 N additions, which are computed respectively in

Table1: Complexity comparison of complex multiplications Radix-2 FFT and Radix-4 FFT

Complex multiplications

N points Radix-2 ( ( N / 2) log 2 N ) Radix-4 ( (3N / 4) log 4 N )

16 32 24

32 80

64 192 144

128 448

256 1,024 768

512 2,034

1024 5,120 3,840

2048 11,264

Page 18 of 77

4096 24,576 18,432

Complex additions

N points Radix-2 ( N log 2 N ) Radix-4 ( (3N ) log 4 N )

16 64 96

32 160

64 384 576

128 896

256 2048 3072

512 4,068

1024 10,240 15360

2048 22,528

4096 49,152 73728

Table 2: Complexity comparison of complex addtions Radix-2 FFT and Radix-4 FFT

The discrete Hartley transform (DHT) is a real transform with a convolution property

[4],[5] which has been proposed as an alternative to the DFT for real data [4], [6], [7]. It is

indeed an invertible linear transform closely related to the DFT. In the DFT, one multiplies

j 2

each input by WN e

N

cos(2 / N ) j sin(2 / N ) , whereas in the DHT each input is

multiplied by simply cos(2 / N ) sin(2 / N ) . Thus, the DHT transforms N real numbers

to N real numbers, and exhibits the convenient property of being its own inverse.

Furthermore, the fast algorithms for DHT computation can also reduce the computational

complexity in a similar manner to that of the FFT techniques for the DFT computation. A

properly designed real-input FFT has no more operations in general than the fast Hartley

transfom (FHT), Even if the Hartley transform offers no computational advantages and

recursion over the Fourier transform., it does possess certain structual advantages. We will

Page 19 of 77

therefore discuss the construction of the fast Hartley transform (FHT) mathematically. The

N 1

2 nk

H (k ) x( n)cas , k 0,1,...N 1 , (15)

n 0 N

where

2 nk 2 nk

( N / 2) 1 N 1

H (k )

n0

x (n)cas x(n)cas

N n N / 2 N

, (17)

2 nk 2 k[n N / 2]

( N / 2) 1

N

H (k ) x( n)cas

N

x n cas

2 N

, (18)

n0

, (19)

cos( A B ) cos A cos B sin A sin B

for odd k,

2 k[ n N / 2] 2 nk 2 nk

cas cos cos( k ) sin sin( k )

N N N

2 nk 2 nk

sin cos( k ) cos sin( k )

N N

, (20)

2 nk 2 nk

cos sin

N N

2 nk

cas

N

2 k[n N / 2] 2 nk 2 nk 2 nk , (21)

cas cos sin cas

N N N N

Page 20 of 77

Using (20) and (21), (18) becomes

N 2 nk

( N / 2) 1

H (k ) x(n) x n 2 cas N , for even k ,

(22)

n 0

and

N 2 nk

( N / 2) 1

H (k ) x(n) x n 2 cas N , for odd k ,

(23)

n 0

let k =2k for even k, and let k =2k+1 for odd k, equation (22) and (23) become

N 2 n 2k

( N / 2) 1

H (2k ) x n x n 2 cas

N

, (24)

n0

N 2 n[2k 1]

( N / 2) 1

H (2k 1) x n x n 2 cas

N

, (25)

n 0

cas cos cos sin sin cos sin

N N N N N N N

and

2 kn 2 k[ N n]

sin sin

N N

, (27)

2 kn 2 k[ N n]

cos cos

N N

2 n 2 n 2k 2 n 2 2k[ N n]

( N / 2) 1

N

H (2k 1) x(n) x(n ) cos cas sin cas , (28)

n 0 2 N N N N

( N / 2) 1

N 2 n N 2 n 2 n2k

H (2k 1) x(n) x(n ) cos

2 N

x n x( N n) sin

2 N

cas

N

, (29)

n 0

Page 21 of 77

Equation (26) and (27) become

2 n 2k

( N / 2) 1

N

H (2k )

n0

x(n) x(n 2 ) cas N

, (30)

( N / 2) 1

N 2 n2k N 2 n 2 n2k

H (2k 1) x(n) x(n ) cas

2 N

x n x( N n) sin

2

cas .(31)

n 0 N N

As shown, the Fourer tranform is defined in fields other than the complex field, Whereas

complex additions and multiplications are required for an FFT, the Hartley transform [5][8-

9] requires only real multiplications and additions. The FFT maps a real function of time

into a complex function of frequency, whereas the fast Hartley transform (FHT) maps the

same real-valued function into a real function of frequency. The FHT can be particulary

Chapter 2 OFDM

2.1. Definition

simultaneously over a single transmission path, such as a cable or wireless system. Each

signal travels within its own unique frequency range (carrier), which is modulated by the

data (text, voice, video, etc.). Orthogonal frequency division multiplexing (OFDM) is a

technique that distributes the data over a large number of carriers that are spaced apart at

precise frequencies. This spacing provides the "orthogonality" in this technique, which

prevents the demodulators from detecting frequencies other than their own. Some benefits

of OFDM are:

Page 22 of 77

High spectral efficiency

Resiliency to RF interference

OFDM is useful, because in a typical terrestrial broadcasting scenario there are multipath-

channels (i.e. the transmitted signal arrives at the receiver using various paths of different

length). Because multiple versions of the signal interfere with each other (inter symbol

simulation allows us to examine the effects of noise and multi-path on the OFDM scheme.

By adding a small amount of random data to the transmitted signal, simple noise can be

simulated. Multi-path simulation involves adding attenuated and delayed copies of the

transmitted signal to the original. This simulates the problems in wireless communication,

in which the signal propagates on many paths. For example, a receiver may detect a signal

via a direct path as well as a path that bounces off a building. The receiver will perform the

inverse of the transmitter by first separating the data into parallel streams. Next, the FFT

will convert these parallel data streams into frequency domain data. The data is now

information back to the base band. Finally, this parallel data is converted back into a serial

is the modulation technique used for digital television in Europe, Japan, and Australia. It is

important that the overall system design be well matched to its service profiles to maximize

the performance of the system and balance the ultimate user experience it provides, relative

to the cost of the operator. OFDM enables the creation of a very flexible system

architecture that can be efficiently used for a wide range of services, including voice and

Page 23 of 77

data. For a mobile system to create a satisfactory user experience, it must provide fast,

ubiquitous, and user-friendly connectivity. OFDM possesses several unique properties that

experienced by wireless data applications. Many systems currently use OFDM to enhance

their performances. DAB-OFDM forms the basis for the Digital Audio Broadcasting

(DAB) standard in the European market. ADSL-OFDM forms the basis for the global

ADSL (asymmetric digital subscriber line) standard. Wireless local area network

configurations using OFDM technology. In a supplement to the IEEE 802.11 standard, the

IEEE 802.11 working group published IEEE 802.11a, which outlines the use of OFDM in

2.2. Orthogonality

In OFDM, the sub-carrier frequencies are chosen so that the sub-carriers are

eliminated and inter-carrier guard bands are not required [10] [11]. This greatly simplifies

the design of both the transmitter and the receiver, and unlike conventional FDM, a

Orthogonality also allows for high spectral efficiency, near the Nyquist rate. Almost

the entire available frequency band can be utilized. OFDM generally exhibits an almost

with respect to other co-channel users. The orthogonality allows for efficient modulator and

demodulator implementation using the FFT algorithm. Although these principles, as well as

some benefits, have been known since the 1960s, OFDM has only recently gained

Page 24 of 77

popularity for wideband communications, as a result of low-cost digital signal processing

Two periodic signals are said to be orthogonal when the integral of their product over

to ensure that the symbol-time contains one or more multiple cycles of each sinusoidal

(ICI). ICI occurs when the integral of the carrier products are no longer zero over the

valued unitary matrix, and is thus always a normal matrix. The normal matrix is a complex

matrix if

AAT AT A

where A is the conjugate transpose of AT [15]. Although we consider only real matrices

here, this definition can extend to matrices with entries from any field. Orthogonal

matrices arise naturally from inner products, however, as well as for matrices of complex

numbers that lead to the unitary requirement. Thus, finite-dimensional linear isometries—

Orthogonal matrices are important for a number of reasons, both practical and

with its subgroups, is widely used in mathematics and the physical sciences. Because

floating point versions of orthogonal matrices exhibit advantageous properties, they are key

Page 25 of 77

to many algorithms in numerical linear algebra, such as QR decomposition. As another

example, with appropriate normalization the discrete cosine transform (used in MP3

transmitter and receiver. The first two blocks are the serial-to-parallel (S/P) converter and

the bit-to-symbol mapping such as quadrature phase shift keying (QPSK), 16 quadrature

be the sequence of information symbols after the bit-to-symbol mapping. All carriers are

x FN* X , (32)

where FN is the inverse discrete Fourier transform matrix of size N N , where N is the

*

number of carriers. Next, Cyclic Prefix (CP) is added to the OFDM symbol. The Cyclic

Prefix prevents inter-symbol interference (ISI), as long as its length exceeds the duration of

the impulse response of the channel. Including the CP, the time to transmit one OFDM

symbol, also called OFDM symbol period, is Ts=(K+N)T, where T is the sampling period

and K is the number of samples in CP. After the CP has been added the resulting complex

S/P P/S

mapping IFFT CP

Page 26 of 77

(a)

synchronization

Xˆ [ k ] Y [k ]

P/S S/P

-to-bit FFT CP

channel channel

N-point

H [k ] impulse estimation

FFT

response

(b)

In this model the many scattered paths that may exist in a real wireless channel are

replaced by L multipath components. With respect to the baseband, the channel can be

L 1

H ( z ) h( n) z n . (33)

n0

random Gaussian processes. To make the CP longer than the channel delay spread, it is

necessary that K L . In a slowly fading wireless channel where the channel does not

change within one OFDM symbol, the CP converts the linear convolution with the channel

where

Page 27 of 77

h0 hN 1 L h1

h h0 L h2

H 1 , (35)

L

hN 1 hN 2 L h0

is a circular matrix and η is a vector with the noise components [n] , which can be

assumed to be Gaussian with zero mean and variance N 0 / 2 , with N 0 being the

2

single-sided power spectral density. In the receiver, shown in Fig.6.b, the CP is removed

Y FN y FN HFN* X Fη

N . (36)

*

The product FN HFN is equal to a diagonal matrix with the DFT of the channel impulse

This diagonalization effectively decomposes the channel into parallel and decoupled

with flat fading per carrier. In the receiver, the information sequence X [ k ] must be

In the above equation [k ] is the DFT of the noise. Then, a zero-forcing (ZF) detector can

be used that requires one division per carrier. All commercial systems for multicarrier

modulation use the set of complex exponential functions as orthogonal basis. Recently,

Page 28 of 77

3. The Vector Transform (VT)

N 1

1

X[k ]

N

W

n 0

nk

x[n] , (39)

N 1

1

x[ n]

N

W

k 0

nk

X[k ] , (40)

where x[n] and X[k ] are sequences of vectors of dimension M 1 constitute forward and

N 1

W

k 0

nk

W*mk m n NI , 0 m, n N 1 ,(41)

Page 29 of 77

where W* means transposition of the matrix and conjugation of the coefficients, and

second, following properties of the W matrix are of interest to the discussion of the vector

transform

W N I, W ( N / 2) I, WT W 1 W N 1 . (42)

X[1] I W ... W N 1 x[1]

.(43)

... ... ... ... ... ...

( N 1)( N 1)

X[ N 1] I W N 1 ... W x[ N 1]

In general any scalar transform of length MN can be written in the form (43) above,

Vector transforms also have more degrees of freedom than scalar transforms and

0 1 0 ... 0 0

0 0 1 ... 0 0

W = ... ... ... ... ... ... , (44)

0 0 0 ... 0 1

-1 0 0 ... 0 0

equivalently when the vectors have M N / 2 components. Furthermore its elements are

only real numbers. This makes it inconvenient for applications like multicarrier modulation.

The transforms mentioned above are not the only transforms that

can be used to construct multicarrier signals. The goal of this paper is to propose a new

Page 30 of 77

using an inverse vector transform, and demodulation is performed using a forward vector

transform. We call the system proposed here VT-OFDM, and the conventional OFDM

system, DFT-OFDM. The vector transform has been shown in [14], [16], [17] to have a

vector-based decorrelation property, where E[ Xi X j ] are small for i j and large for i j .

T

First, let us begin our discussion with the definition of E[ X] . If X has a single continuous

E[ X] x f ( x )dx , (45)

and, considering two random variables, the joint probability function can be used to find the

expected value of functions of two random variables in much the same way as with the

single variable density function. These functions involving both variable x and y will lead

to statistics that will partially characterize the relationships between the two random

variables. In gerneal, the expected value of any function, g(X,Y), can be found from

E[ g ( X, Y)] g ( x, y ) f ( x, y )dx dy , (46)

and when g ( x, y ) XY , this expected value is known as the correlation and is given by

E[ X, Y] xy f ( x, y )dx dy , (47)

if two random variable that have a correlation of zero are said to be orthogonal. One

statistical parameter related to a pair of random variables is the correlation coefficient. The

Cov( X, Y)

XY , (48)

Var ( X)Var (Y)

Page 31 of 77

Cov( X, Y) E[( X E ( X))(Y E (Y))] . (49)

decreasing linear relationship, and some value in between in all other cases, indicating the

degree of linear dependence between variables. The close the coefficient is to either -1 or 1,

the stronger the correlation between the variables. Therefore, to analyze quantitatively how

much decorrelation and enery packing are achieved by the vector transform based OFDM,

3 and the vector transform takes as input a sequence of N vectors, x[ n] generates as output

Considering a block of image data of N columns and M rows and taking each column as a

vector, then the block of complex-valed becomes a set of N vectors, then the block of

complex-valued data becomes a set of N vectors with each vector having M components as

shown below.

x x1.1 K x1. N 1

1.0 , (50)

K K K K

xM 1.0 xM 1.0 K xM 1. N 1

and

x1.0 x1.1 x1. N 1

x0 x1 ... x2 . (51)

K K K

xM 1.0 xM 1.1 xM 1. N 1

By taking the vector transform of this set of N vectors, we obtain another set of N vectors,

Similar to the scalar transforms, the vectors in the vector transform domain are less

correlated than the vectors in the data transform domain, and the energy is concentrated in

Page 32 of 77

fewer vectors in the vector transform domain than in the data domain. For example,

E[xi xTj ] , (52)

E[ x1,m x0,n ] E[ x1,m x1,n ] 1

If N = 8 and =0.91, the correlation matrix of two data vectors x m and x n can be

1.000 0.910

E[x m xTn ] 0.91|m n| , (53)

0.910 1.000

W8 . (54).

0.6937 - 0.1369i -0.7071 + 0.0000i

Using the equation in (39), the correlation of a pair of Xi and X j in the vector transform

1 N 1 mi 1 N 1 T

E[ Xi XTj ] W x m x n ( W nj )T

N m0 N n 0

, (55).

N 1 N 1

1

W E x m x n ( W )

mi T nj T

N m 0 n 0

If we consider the sum of elements for i = j in each matrix, the correlations in the vector

Page 33 of 77

6.3435 5.7726

E[ X0 XT0 ]

5.7726 6.3435

6.3721 - 0.0000i 0.1875 - 1.1020i

E[ X1X1T ]

0.1875 + 1.1020i 6.3128 - 0.0000i

6.3107 - 0.0000i 0.1880 - 1.1015i

E[ X2 XT2 ]

0.1880 + 1.1015i 6.3699 - 0.0000i

6.3369 + 0.0000i 5.7687 - 0.0000i

E[ X3 XT3 ]

5.7687 + 0.0000i 6.3415 - 0.0000i

6.3369 + 0.0000i 5.7687 - 0.0000i

E[ X4 XT4 ]

5.7687 + 0.0000i 6.3415 - 0.0000i

6.3686 - 0.0000i 0.1876 - 1.1012i

E[ X5 XT5 ]

0.1876 + 1.1012i 6.3077 + 0.0000i

6.3375 - 0.0000i 0.2169 - 1.0952i

E[ X6 XT6 ]

0.2169 + 1.0952i 6.3366 + 0.0000i

6.3063 - 0.0000i 0.1887 - 1.1006i

E[ X7 XT7 ]

0.1887 + 1.1006i 6.3657 + 0.0000i

Page 34 of 77

6.3435 5.7726 -0.0178 + 0.0024i 0.0083 + 0.0026i

E[ X0 XT0 ] E[ X0 X1T ]

5.7726 6.3435 -0.0185 + 0.0026i 0.0066 + 0.0024i

-0.0033 - 0.0058i -0.0625 - 0.0064i -0.2601 + 0.0139i -0.0948 + 0.0153i

E[ X0 XT2 ] E[ X0 XT3 ]

0.0026 - 0.0064i -0.0625 - 0.0058i -0.2500 + 0.0153i -0.1189 + 0.0139i

0.4224 - 0.0292i 0.0876 - 0.0320i -0.1188 - 0.0141i -0.2514 - 0.0155i

E[ X0 XT4 ] E[ X0 XT5 ]

0.4123 - 0.0320i 0.1269 - 0.0292i -0.0947 - 0.0155i -0.2615 - 0.0141i

-0.0618 + 0.0058i 0.0031 + 0.0064i 0.0073 - 0.0025i -0.0187 - 0.0027i

E[ X0 XT6 ] E[ X0 XT7 ]

-0.0619 + 0.0064i -0.0027 + 0.0058i 0.0091 - 0.0027i -0.0179 - 0.0025i

-0.0178 - 0.0024i -0.0185 - 0.0026i 6.3721 - 0.0000i 0.1875 - 1.1020i

E[ X1XT0 ] E[ X1X1T ]

0.0083 - 0.0026i 0.0066 - 0.0024i 0.1875 + 1.1020i 6.3128 - 0.0000i

-0.0761 + 0.0024i -0.1527 - 0.0292i -0.0326 - 0.0059i -0.0336 - 0.0007i

E[ X1XT2 ] E[ X1 XT

3 ] 0.0318 - 0.0122i -0.0329 - 0.0059i

-0.1796 + 0.0345i 0.0652 + 0.0024i

-0.1180 + 0.0140i -0.0951 + 0.0152i -0.0291 - 0.0000i -0.0284 - 0.0057i

E[ X1XT4 ] E[ X1XT5 ]

-0.2510 + 0.0155i -0.2606 + 0.0140i -0.0281 + 0.0056i 0.0300 - 0.0000i

-0.1773 - 0.0141i -0.0898 + 0.0164i -0.0344 + 0.0059i 5.5840 + 1.1078i

E[ X1XT6 ] E[ X1XT7 ]

0.0676 - 0.0475i -0.2026 - 0.0141i 5.5187 - 1.0949i -0.0298 + 0.0059i

-0.0033 + 0.0058i 0.0026 + 0.0064i -0.0761 - 0.0024i -0.1796 - 0.0345i

E[ X 2 XT0 ] E[ X 2 X1T ]

-0.0625 + 0.0064i -0.0625 + 0.0058i -0.1527 + 0.0292i 0.0652 - 0.0024i

6.3415 - 0.0000i 0.2166 - 1.0961i 0.0660 + 0.0024i -0.1532 - 0.0293i

E[ X 2 XT2 ] E[ X 2 XT3 ]

0.2166 + 1.0961i 6.3412 - 0.0000i -0.1803 + 0.0346i -0.0766 + 0.0024i

-0.0622 - 0.0059i -0.0622 - 0.0064i -0.0622 - 0.0059i -0.0622 - 0.0064i

E[ X 2 XT4 ] E[ X 2 XT5 ]

0.0034 - 0.0065i -0.0031 - 0.0059i 0.0034 - 0.0065i -0.0031 - 0.0059i

-0.0018 - 0.0000i 5.5523 + 1.0956i -0.2019 - 0.0142i -0.0898 + 0.0164i

E[ X 2 XT6 ] E[ X 2 XT7 ]

5.5526 - 1.0957i 0.0029 - 0.0000i 0.0683 - 0.0476i -0.1777 - 0.0142i

-0.2601 - 0.0139i -0.2500 - 0.0153i -0.0326 + 0.0059i 0.0318 + 0.0122i

E[ X3 XT0 ] E[ X3 X1T ]

-0.0948 - 0.0153i -0.1189 - 0.0139i -0.0336 + 0.0007i -0.0329 + 0.0059i

0.0660 - 0.0024i -0.1803 - 0.0346i 6.3107 - 0.0000i 0.1880 - 1.1015i

E[ X3 XT2 ] E[ X3 XT3 ]

-0.1532 + 0.0293i -0.0766 - 0.0024i 0.1880 + 1.1015i 6.3699 - 0.0000i

0.0075 + 0.0024i 0.0088 + 0.0027i -0.0348 - 0.0059i 5.5184 + 1.0949i

E[ X3 XT4 ] E[ X3 XT5 ]

-0.0184 + 0.0027i -0.0178 + 0.0024i 5.5843 - 1.1079i -0.0302 - 0.0059i

-0.2010 + 0.0141i 0.0679 + 0.0473i 0.0311 - 0.0000i -0.0287 - 0.0058i

E[ X3 XT6 ] E[ X3 X7 ] -0.0284 + 0.0057i -0.0297 - 0.0000i

T

It is also clear that correlations between the vectors in the transform domain are much less

than that between the vectors in the data domain. For example, X 4 and X0 are almost

Page 35 of 77

T T

decorrelated because E[ X0 X 4 ] , E[ X 4 X0 ] is very close to zero.The above-mentioned

decorrelation property of the VT leads to better performance in the presence of ICI and ISI.

All commercial systems for multicarrier modulation use the set of complex exponential

functions as orthogonal basis. Clearly, the transform kernel of scalar transforms is uniquely

specified, but in the case of vector transforms, the kernel must be designed. One way to

construct vector transform kernels is the following: First, suppose that a1 ,..., aM are not

necessarily distinct integers in the set 1, 2,..., N -1 for which gcd(ak , N ) 1 . Then

It can be shown that the matrix (56) satisfies conditions (41) and (42). First

V N diag (1,1,...,1) I ,

V* diag e j 2 a1 / N , e j 2 a2 / N ,..., e j 2 aM / N

N 1 N 1

n 0 n 0

diag m n N , m n N ,..., m n N m n NI .

W TVT* (57)

Page 36 of 77

is also a kernel of dimension M M . Note that the obtained W is a normal matrix, since it

If the data symbols are obtained by modulation schemes such as BPSK or PAM and are

therefore real-valued, and if the VT kernel is real-valued, the baseband signal is still a real

signal and the bandwidth of a VT-OFDM system is one half the bandwidth of a DFT-

OFDM system with the same number of sub-carriers. In this case single-sideband (SSB) or

vestigial side-band (VSB) techniques can be used to improve the bandwidth efficiency. SSB

or VSB technologies cannot be used if the baseband signal is complex-valuedIn a sense, the

VT is a generalization of the DFT: when the dimension M becomes equal to 1 the DFT is

obtained. For M>1, and for the special case of a1 ... aM 1 , the transform kernel is

separately. In the scalar case (dimension M=1) the equation (42) cannot be solved over the

set of real numbers for N>2. However, as observed in [14], real-valued VT kernels are

a1 a2

1 e j 2 a1 / N e j 2 a2 / N e j 2 ( N)

e j 2 ( N)

W , (58)

2 e j 2 (

a1

N)

e j 2 ( a2 N )

e j 2 a1 / N

e j 2 a2 / N

1 1 j

T j 1 , (59)

2

and

Page 37 of 77

e j 2 a / N 0

Va j 2 a / N , (60)

0 e

then

cos(2 a / N ) sin(2 a / N )

Wa TVa T* (61)

sin(2 a / N ) cos(2 a / N )

is a kernel with real elements. The notation Wa and Va means that these vector transform

Wa1 0

Wa2

W (62)

...

0 WaM / 2

is also a kernel of dimension M M for even values of M. While the fact that real-valued

vector transform kernels are possible is known, the fact that real-valued kernels do not exist

Theorem 1 There exists no M x M real-valued matrix that can be a VT kernel (i.e. that

satisfies the kernel conditions) if the dimension M is odd and N is greater than 2.

Proof: First, note that the characteristic polynomial det W I has degree M. If M is odd,

the characteristic polynomial must have at least one real root. Since W N I , this root must

N 1 N 1

W k v v Nv (63)

k 0 k 0

Page 38 of 77

But on the other hand the orthogonality condition (41) for m=0 and n=1 requires

N 1

W

k 0

k

0 . The contradiction that is obtained means that there is no real-valued kernel for

N>2, 1 .

N 1 N 1

vector v such that Wv v . This means that W

k 0

2k

v v Nv . On the other hand,

k 0

N 1

orthogonality (48) for m=0 and n=2 requires that W

k 0

2k

0 .

Therefore, only 1 is possible. In this case the only solution to the equations (41) and

(42) is W I .

Page 39 of 77

CHAPTER 4 Fast Vector Transform

Radix-2 DFT reduces the computational number of complex multiplication to Nlog2N and

of complex additions to Nlog2N, because each butterfly requires one complex multiplication

k n

and two additions and the twiddle factors WN and WN are complex exponents. In the

algorithms of FVT, however, the twiddle factors are matrices and exhibit the following

properties:

where the notation WN denotes a vector transform kernel of order N and of a dimension

N / 2 1 N / 2 1

N X[k ]

n0

WN2 nk x[2n] W

n0

(2 n 1) k

N x[2n 1] , (65)

and

N / 2 1 N / 2 1

N X[k ]

n 0

WN2 nk x[2n] WNk W

n 0

2 nk

N x[2n 1] , (66)

In a similar vein to the equation represented in (5-6), the above equation may be expressed

as:

X[k ] = F2 [k ] WNk F2 [k ]

N , n 0,1,..., N 2 1 (67)

X[k + ] = F2 [k ] WNk F2 [k ]

2

Page 40 of 77

Using the information represnted in the equations above, a VT operating over N vectors can

be expressed as two VTs operating over N/2 vectors. The algorithms in (65) and (66) are

are referred to as fast vector transform (FVT) algorithms. Fig. 7 is an illustration of the

FVT.

x[0]

x[2] N/2-

X[ k ]

vector

VT

x[ N − 2]

x[1]

x[3] N/2-

vector WNk X[k + N / 2]

VT

x[ N − 1]

In VT, decimation can also be reiterated until two vector datas remains. For illustrative

purposes, Fig.8 depicts the computation of an N = 8 points VT. We observe that the

computation is performed in three stages, beginning with the computations of four two-

point VTs, then two four-point VTs, and finally one eight-point VT. The combination of the

Third stage

First stage Second stage

(last stage)

x[0]

2- point

VT X[0]

x[4] Combine

2-point X[1]

x[2] VT

2- point X[2]

VT Combine

x[6] X[3]

4- point

x[1] VT X[4]

2- point

VT Combine X[5]

x[5]

2- point X[6]

x[3] VT

2- point X[7]

x[7]

VT

Page 41 of 77

x[0] X[0]

W80

x[4] X[1]

W82

x[2] X[2]

W80 W82

x[6] X[3]

W84

x[1] X[4]

W80 W84

x[5] X[5]

W82 W84

x[3] X[6]

x[7] X[7]

In the FVT algorithms, these algorithms are valid for all VT kernels which are unitarily

*

similar to a diagonal matrix. Observe that a point of b should be multiplieb by WNk ( N / N )

in

FVT as illustrated in Fig.9, where N is the number of vector points in last stage and N * is

the number of subvector points in the computation stage in FVT algorithms. For example,

W82 in the second stage in Fig.8 is not equal to W41 since the twiddle factors WNk and WN n

are not complex exponential. The butterfly in radix-2 VT is shown in Fig .10.

a

*

A = a +WNk ( N / N )b

*

WNk ( N / N )

b *

B = a −WNk ( N / N )b

Page 42 of 77

The computational complexity of radix-2 FVT algorithms, in general, is N log 2 N matrix-

vector multiplications and vector additions. The total number of matrix-multiplications and

additions in the FVT algorithms is therefore equal to N log 2 N —including some possible

general and the vectors are M 1 ,and all numbers are complex. One matrix-vector

additions. Therefore the FVT has a complexity O( M 2 N log 2 N ) . For M=2, the total number

of complex scalar multiplications in the FVT is 4 N log 2 N and 2Nlog2N complex scalar

additions. In the special case of W e j 2 / N I , the twiddle factor matrices become diagonal.

multiplications. In this special case, the FVT algorithms developed here are equivalent to

noted that the FFT always requires complex arithmetic, whereas the FVT only requires real

arithmetic if the input to the VT is real (for example, if obtained using BPSK modulation)

( ( NM / 2) log 2 NM ) 2

( ( M N / 2) log 2 N )

2 4 8

4 12 32

8 32 96

16 80 256

32 192 640

64 448 1,536

128 1024 3,584

256 2304 8,192

Page 43 of 77

512 5120 18,432

1024 11264 40,960

2048 24576 90,112

4096 53248 196608

8192 106496 435984

Table 3: Complexity comparison of complex multiplications between Radix-2 FFT

( NM log 2 NM ) ( M ( M 1) N log 2 N )

2 8 4

4 24 16

8 64 48

16 160 128

32 384 320

64 896 768

128 2,048 1,792

256 4,608 4,096

512 10,240 4,068

1024 22,528 20,480

2048 49,152 45,056

4096 106,496 49,152

8192 229,376 106,496

Table 4: Complexity comparison of complex multiplications between Radix-2 FFT

In Vector Transform, if the number of vector sequences N is a power of four, the VT kernel

in VT will have the same properties as the twiddle factor in FFT, which is already shown in

and in much the same way we derive the equation (8), we can have:

Page 44 of 77

N 1 N 1 3 N 1

4 2 4 N 1

N X[k ] x[n]W kn

N x[n]W kn

N x[n]W kn

N x[n]WNkn

n 0 n N n N n 3 N

4 2 4

(69)

N 1 N 1 N 1

N / 4 1

4

N

4

N 4

3N kn

x[n]W

n 0

kn

N WNNk / 4 x n WNkn WNNk / 2 x n WNkn WN3 N / 4

n 0 4 n 0 2

x n

n 0 4

WN

N / 4 1

N N 3N

N X[k ] x[n] ( jI ) x n 4 (I ) x n 2 ( jI ) x n 4

k

k

k

nk

WN ,( 70)

n0

Next, we decompose the VT data into four N/4 point subvectors. The result is:

N / 4 1

N N 3N

N X[k ]

n 0

x[n] x n 4 x n 2 x n 4 WN WN

0 4kn

N / 4 1

N N 3 N n 4kn

N X[4k 1] x[n] jIx n Ix n jIx n WN WN

n 0 4 2 4

, (71)

N / 4 1

N N 3N

N X[4k 2] x[n] Ix n 4 x n 2 Ix n 4

2n

WN WN

4kn

n0

N / 4 1

N N 3N

N X[4k 3] x[n] jIx n 4 Ix n 2 jIx n 4

3n

WN WN

4kn

n 0

Page 45 of 77

x[0]

N/4- WN4kn

x[4] X[ k ]

vector

VT

x[ N − 2]

x[1]

WN(4 k +1) n

x[5] N/4- − jI

vector X[4k +1]

VT −I

x[ N −1] jI

x[6] N/4- 1

N

vector X[4k + 2]

VT −I

x[ N − 2]

jI

x[0] WN(4 k +3) n

x[7]

N/4- X[4k + 3]

vector −I

− jI

VT

x[ N −1]

We verified that aVT operating over N point can be expressed as four VTs operating over

N/4 vectors. The algorithm in (70) and (71) are also similar to the radix-4 FFT style

Page 46 of 77

*

WNN / N k

*

WN2 N / N k

*

WN3 N / N k

*

( k +N * / 4)

WNN / N

*

( k +N * / 4)

WN2 N / N

*

( k +N * / 4)

WN3 N / N

*

( k +N * / 2)

WNN / N

*

( k +N * / 2)

WN2 N / N

*

( k +N * / 2)

WN3 N / N

*

( k +3 N * / 4)

WNN / N

*

( k +3 N * / 4)

WN2 N / N

*

( k +3 N * / 4)

WN3 N / N

Observe that the radix-4 FVT butterfly is derived from the radix-4 FFT butterfly in Fig.4.

and M(M-1) complex scalar additions, the FVT has (3M2N/4)log4N complex scalar

Page 47 of 77

multiplications and 3M(M-1)Nlog4N complex additions as shown in Table 5 and Table 6.

Therefore, the total number of complex multiplications and additions in the FVT radix-4 is

2

( ( M N / 2) log 2 N ) (3M 2 N / 4) log 4 N )

16 80 96

32 192

64 448 576

128 1024

256 2304 3,072

512 5120

1024 11264 15,360

2048 24576

4096 53248 73,726

Table 5: Complexity comparison of complex multiplications between Radix-2 FVT

( M ( M 1) N log 2 N ) 3M ( M 1) N log 4 N )

16 160 192

32 384

64 896 1,152

128 2,048

256 4,608 6,144

512 10,240

1024 22,528 30,720

2048 49,152

4096 106,496 147,456

Page 48 of 77

Table 6: Complexity comparison of complex additions between Radix-2 FVT and

Radix-4 FVT

The term “vector OFDM” is used in some publications to denote multiple- input multiple-

output OFDM systems [18] or OFDM systems where the samples are grouped into vectors

and the processing is done on vectors [19]. However in these systems the orthogonal

transform is still the DFT. None of the previously known OFDM systems is based on vector

transforms, as proposed here and then we describe the proposed VT-OFDM system.

First, Let X[k ] , k 0,1,..., N 1 be the vector sequence of the complex information

symbols after the bit-to-symbol mapping that must be transmitted. Each vector is of

Page 49 of 77

transform to obtain the vector sequence x[ n] , n 0,1,..., N 1 . The vector cyclic prefix is to

add the last K v vectors at the beginning of the vector sequence x[ n] . The transmitted

Note that in conventional OFDM systems the overhead due to the CP is (N+K)/N, but

K

in vector transform-based OFDM the overhead is M ( K v N ) /MN. Since K v it is

M

clear that compared to conventional OFDM, in the proposed vector transform-based system

the overhead due to the cyclic prefix has been reduced by a factor of M, where M is the

vector size.

At the receiver first the vector cyclic prefix is removed and then equalization is

demodulation are performed separately. After the frequency-domain equalization the signal

is transformed back to the time domain via an IFFT. Then a vector sequence is formed and

a forward VT is applied.

Note that on Fig.13, if the IVT and VT are replaced by the IFFT and FFT, then Fig.6 would

be obtained.

X[ k ] x[n] x cp [m]

vector

form I Add

bit-to- sequence

vector V vector

symbol /

sequence T CP

serial

Page 50 of 77

ˆ [k ] synchronization

X ˆ[n]

x

Y [k ]

vector I

form F S Remove

sequence symbol V F vector

/ vector F /

-to-bit T M sequence M F M CP

serial M M M T M P

T

H [k ]

channel

estimation

the VT operates on vectors. It has been verified that vector transforms have a

fundamental advantage compared with scalar transforms. The proposed system achieves

lower bit error rate than the DFT-based OFDM for wireless systems with one transmit and

receive antennas.

To compare the performance of the proposed system in Fig.13 with the conventional

OFDM system illustrated in Fig. 6 computer simulations have been performed. An OFDM

system with 64 carriers and a CP of length K=16 was implemented. In the vector

compare both systems at the same data rate, the vector transform is applied to 32 vectors.

The symbol duration of both systems is 4 s , including the cyclic prefix. For comparison

purposes double side-band transmission is used so that both systems occupy the same

bandwidth.

Page 51 of 77

The vector transform kernel is constructed in the following way. First, two integers are

selected such that gcd( ai ,32) 1 , i=1,2. Any two integers that are mutually prime with the

vector transform length can be used. Therefore, ai can be selected in a random fashion. The

j 2 a / N j 2 a / N

1 e j 2 e j 2

T j 2 , (72)

2 e e j 2

is used, where the real numbers , are random with uniform distribution over the

interval [0,1] . The kernel of the vector transform is W TVT* , as discussed in Chapter 3.

It is interesting that, unlike DFT-OFDM, infinitely many kernels can be used. However, it

must be noted that once the kernel of the vector transform is determined, it is fixed at the

transmitter and at the receiver. In other words, the transmitter and the receiver are designed

to use the same kernel. Furthermore, the kernel of the transform does not change from

packet to packet to avoid the overhead of sending the kernel to the receiver. The

performance of both systems for QPSK and 16 QAM is illustrated in Fig.14. The specific

*

1 e j 2 0.514 e j 2 0.8459 e j 2 3/ 32 0 1 e j 2 0.514 e j 2 0.8459

W j 2 0.8459 j 2 29 / 32 j 2 0.8459

2 e e j 2 0.514 0 e 2 e e j 2 0.514

(73)

0.4844 0.272 j 0.8315 j

The wireless channel that is used is the so-called ETSI channel model ‘A’, which is

characterized by 50 ns rms delay spread and delay spread of 390 ns. This is a fixed indoor

wireless channel applicable for homes/small offices. We assume that the channel is known

by the receiver, but not by the transmitter, and remains constant during one OFDM symbol.

Page 52 of 77

The channel estimation phase, during which the receiver learns the channel impulse

response, is outside the scope of this paper. From the results in Fig.14 we see that VT-

OFDM consistently outperforms DFT-OFDM both at low and high SNR values. The

2

10

3

10

4

10

Bit Error Rate

5

10

DFTOFDM QPSK

6

10 VTOFDM QPSK

DFTOFDM 16 QAM

VTOFDM 16 QAM

7

10

6 7 8 9 10 11 12 13 14 15 16

Eb/No

At the moment high data rate wireless systems using multiple transmit and receive

antennas, i.e. MIMO systems, are a subject of significant interest [20-25]. MIMO space-

and at the same carrier frequency. At present MIMO SDM DFT-OFDM is a leading

Page 53 of 77

A MIMO SDM VT-OFDM system can be constructed as proposed in

the resulting vector sequence and a CP is added. After the IVT the first

x U* X , (74)

Y U FN* I 2 H

ˆ 1 F I HU Xη

N 2 * 1

X UHη . (76)

vector

form I Add

bit-to- sequence

vector V vector

symbol /

sequence T CP

serial

vector

Remove form

sequence symbol V processing vector

/ vector

-to-bit T M unit CP M sequence

serial M M M

Page 54 of 77

To compare the performance of the MIMO VT-OFDM system with the

performed. The 2 2 DFT-OFDM system has for every transmit antenna 64 carriers and a

dimension 2 1 . Both the VT-OFDM and the DFT-OFDM systems achieve twice the data

rate of the SISO systems investigated earlier. The kernel in (57) is for a VT operating on 32

*

1 e j 2 0.708 e j 2 0.5475 e j 2 3/ 64 0 1 e j 2 0.708 e j 2 0.5475

W

2 e j 2 0.5475 e j 2 0.708 0 e j 2 29 / 64 2 e j 2 0.5475 e j 2 0.708

(77)

0.5084 0.81 j 0.2903 j

Note that encoding in the VT-OFDM system is done jointly over the

two transmitter branches, but the two branches can be separated at the

when the VT uses the kernel e j 2 / N I and reduces to two FFTs operating on

encoding and the entire proposed system reduces to the known MIMO DFT-OFDM

Page 55 of 77

1

10

2

10

3

10

Bit Error Rate

4

10

5

10

2x2 MIMO DFTOFDM QPSK

2x2 MIMO VTOFDM QPSK

6

10 2x2 MIMO DFTOFDM 16 QAM

2x2 MIMO VTOFDM 16 QAM

7

10

6 7 8 9 10 11 12 13 14

Eb/No

Page 56 of 77

References

[1] S. Mitra, Digital Signal Processing: A Computer Based Approach, New York: McGraw-

Hill, 2006.

[2] S. Stearns and R.A. David, Signal Processing Algorithms in MATLAB, New Jersey:

[3] B.P. Lathi, Modern Digital and Analog Communication Systems, New York: Oxford

[4] R.N. Bracewell, “Discrete Hartley Transforms,” J. Opt. Soc. Amer., pp. 1812-1835,

Aug. 1984.

[5] R.N. Bracewell. The Fourier Transform and Its Applications, New York: McGraw-Hill,

1986.

[6] P. Duhamel and M. Vetterli, “Fast Fourier transforms: a tutorial review and a state of

the art,” Signal Processing, vol 19, no 4, pp. 259-299, Jan. 1990.

[7] K.R. Rao and P.Yip, Discrete Cosine Transform: Algorithms, Advantages, and

[8] R. N Bracewell, The Hartley Transform, New Yok: Oxford University Press, 1986.

[9] R. N Bracewell, The Fourier Transform and its Applications, New York: McGraw-Hill,

2000.

[10] T. Cooklev, Wireless communications standards: A study of IEEE 802.11, 802.15, and

Page 57 of 77

[11] J. Bingham, “Multicarrier modulation for data transmission: An idea whose time has

systems,” in Proc. Int. Conf. Acoust., Speech Signal Process, 2003, pp.

544–547.

[14] W. Li, “FIR filtering using vector transformation and convolution processor,” in

[16] W. Li, “Vector transform and image coding,” IEEE Trans. Circuits Syst. Video

[17] W. Li, “On vector transformation,” IEEE Trans. Signal Processing, vol. 41, no. 11, pp.

[18] E. Ayanoglu, V.K. Jones and others, VOFDM Broadband Wireless Transmission and

[19] X. G. Xia, “Precoded and Vector OFDM Robust to Channel Spectral Nulls and With

Reduced Cyclic Prefix Length in Single Transmit Antenna Systems,” IEEE Trans.

River, 2005.

Page 58 of 77

[21] G. J. Foschini and M. J. Gans, “On limits of wireless communications in

wireless LAN system”, IEEE Trans. Signal Processing, vol. 52, no. 2, pp. 483-494, Feb.

2004.

algorithm and initial laboratory results using the V-BLAST space-time communication

[25] Geert Awater, Allert van Zelst and Richard van Nee, “Reduced Complexity Space

Division Multiplexing Receivers”, Proc. IEEE Vehicular Technolgy Conf. 2000, pp. 11-15.

Page 59 of 77

APPENDIX Ⅰ

A. Radix-2 FVT

Recursive algorithms:

function z = ivt2(y,kernel)

ss = size(y);

vtlen = ss(2);

z = ivtfft(y,kernel,vtlen)/sqrt(vtlen);

function x = ivtfft(y,kernel,vtlen)

ss = size(y);

len= ss(2);

vs=ss(1);

if(len==1)

x=y(:,1);

return

end

if(rem(len,2)~=0)

return

else

for j=1:len/2

% if vector points are a power of 2, we subdivide the vector points into odd and even

yeven(:,j) = y(:,2*j);

yodd(:,j) = y(:,2*j-1);

end

% calling self functions inside a main function, it performs the radix-2 calculation

% in all N log 2 N

Page 60 of 77

ivtfftYEven =ivtfft(yeven,kernel,vtlen);

ivtfftYOdd = ivtfft(yodd,kernel,vtlen);

for n=1:len/2

x(:,n) = ivtfftYOdd(:,n)+ kernel^(-(n-1)*vtlen/len)*ivtfftYEven(:,n);

x(:,n+len/2) = ivtfftYOdd(:,n) - kernel^(-(n-1)*vtlen/len)*ivtfftYEven(:,n);

end

end

function z = vt2(x,kernel)

ss = size(x);

vtlen = ss(2);

z = vtfft(x,kernel,vtlen)/sqrt(vtlen);

function y = vtfft(x,kernel,vtlen)

ss = size(x);

len = ss(2);

vs=ss(1);

if(len==1)

y=x(:,1);

return;

end

if(rem(len,2)~=0)

return;

else

for j=1:len/2

%% If vector points are a power of 2, we subdivide the vector points into odd and even

xeven(:,j) = x(:,2*j);

xodd(:,j) = x(:,2*j-1);

Page 61 of 77

end

% Calling self functions inside a main function, it performs the radix-2 calculation

% in all N log 2 N

vtfftYEven =vtfft(xeven,kernel,vtlen);

vtfftYOdd = vtfft(xodd,kernel,vtlen);

for n=1:len/2

y(:,n) = vtfftYOdd(:,n) + kernel^((n-1)*vtlen/len)*vtfftYEven(:,n);

y(:,n+len/2) = vtfftYOdd(:,n) - kernel^((n-1)*vtlen/len)*vtfftYEven(:,n);

end

Non-recursive algorithms:

ss = size(X);

N = ss(2);

vs=ss(1);

nu=log2(N);

NM=N-1;

kk=0:NM;

jj=1;

for ii=2:NM

k=N/2;

while(k<jj)

jj=jj-k;

k=k/2;

end

jj=jj+k;

if (ii<jj);

T=X(:,jj);

X(:,jj)=X(:,ii);

Page 62 of 77

X(:,ii)=T;

end

end

%% FFT Calculation

for m=1:nu

LE=2^m;

LE1=LE/2;

U=1;

for n=1:LE1

for p=n:LE:N-1

pp=p+LE1;

temp=U*X(:,pp);

X(:,pp)=X(:,p)-temp;

X(:,p)=X(:,p)+temp;

end

U=U*W;

end

end

Y=X./sqrt(N);

ss = size(X);

N = ss(2);

vs=ss(1);

nu=log2(N);

NM=N-1;

kk=0:NM;

jj=1;

for ii=2:NM

k=N/2;

while(k<jj)

jj=jj-k;

Page 63 of 77

k=k/2;

end

jj=jj+k;

if (ii<jj);

T=X(:,jj);

X(:,jj)=X(:,ii);

X(:,ii)=T;

end

end

%% FFT Calculation

for m=1:nu

LE=2^m;

LE1=LE/2;

U=1;

% W=kernel^(-N/LE) for IFFT

W=kernel^(N/LE); % for FFT

for n=1:LE1

for p=n:LE:N-1

pp=p+LE1;

temp=U*X(:,pp);

X(:,pp)=X(:,p)-temp; % computating the butterfly of radix-2 FVT

X(:,p)=X(:,p)+temp;

end

U=U*W;

end

end

Y=X./sqrt(N);

end

U=U*W;

end

end

Y=X;

B. Radix-4 FVT

7. ivt4.m ( inverse FVT radix-4)

function z = ivt4(y,kernel)

Page 64 of 77

ss = size(y);

vtlen = ss(2);

z = ivtfft4(y,kernel,vtlen)/sqrt(vtlen);

function x = ivtfft4(y,kernel,vtlen)

ss = size(y);

len= ss(2);

vs=ss(1);

if(len==1)

x=y(:,1);

return;

end

if(rem(len,2)~=0)

return;

else

for j=1:len/4

y1(:,j) = y(:,4*j-2); % by the method of radix-4 decimation by a factor of 4

y2(:,j) = y(:,4*j-1);

y3(:,j) = y(:,4*j);

end

% using self functions inside a main function, it performs the calculation in N log 4 N

fft00 = ivtfft4(y0,kernel,vtlen);

fft11 = ivtfft4(y1,kernel,vtlen);

fft22 = ivtfft4(y2,kernel,vtlen);

fft33 = ivtfft4(y3,kernel,vtlen);

for n=1:len/4

* fft22(:,n) + kernel^(-3*(n-1)*vtlen/len) * fft33(:,n);

x(:,n+len/4) = fft00(:,n) + kernel^(-(n+len/4-1)*vtlen/len) * fft11(:,n) + kernel^(-

2*(n+len/4-1)*vtlen/len) * fft22(:,n) + kernel^(-3*(n+len/4-1)*vtlen/len) * fft33(:,n);

x(:,n+len/2) = fft00(:,n) + kernel^(-(n+len/2-1)*vtlen/len) * fft11(:,n) + kernel^(-

2*(n+len/2-1)*vtlen/len) * fft22(:,n) + kernel^(-3*(n+len/2-1)*vtlen/len) * fft33(:,n);

Page 65 of 77

x(:,n+3*len/4) = fft00(:,n) + kernel^(-(n+3*len/4-1)*vtlen/len)* fft11(:,n) + kernel^(-

2*(n+3*len/4-1)*vtlen/len) * fft22(:,n) + kernel^(-3*(n+3*len/4-1)*vtlen/len) * fft33(:,n);

end

end

function z = vt4(x,kernel)

ss = size(x);

vtlen = ss(2);

z = vtfft4(x,kernel,vtlen)/sqrt(vtlen);

function y = vtfft4(x,kernel,vtlen)

ss = size(x);

len= ss(2);

vs=ss(1);

if(len==1)

y=x(:,1);

return;

end

if(rem(len,2)~=0)

return;

else

for j=1:len/4

x1(:,j) = x(:,4*j-2); % by the method of radix-4 decimation by a factor of 4

x2(:,j) = x(:,4*j-1);

x3(:,j) = x(:,4*j);

end

Page 66 of 77

% using self functions inside a main function, it performs the calculation in N log 4 N

fft00 = vtfft4(x0,kernel,vtlen);

fft11 = vtfft4(x1,kernel,vtlen);

fft22 = vtfft4(x2,kernel,vtlen);

fft33 = vtfft4(x3,kernel,vtlen);

for n=1:len/4

fft22(:,n) + kernel^(3*(n-1)*vtlen/len) * fft33(:,n);

y(:,n+len/4) = fft00(:,n) + kernel^((n+len/4-1)*vtlen/len) * fft11(:,n) +

kernel^(2*(n+len/4-1)*vtlen/len) * fft22(:,n) + kernel^(3*(n+len/4-1)*vtlen/len) *

fft33(:,n);

y(:,n+len/2) = fft00(:,n) + kernel^((n+len/2-1)*vtlen/len) * fft11(:,n) +

kernel^(2*(n+len/2-1)*vtlen/len) * fft22(:,n) + kernel^(3*(n+len/2-1)*vtlen/len) *

fft33(:,n);

y(:,n+3*len/4) = fft00(:,n) + kernel^((n+3*len/4-1)*vtlen/len)* fft11(:,n) +

kernel^(2*(n+3*len/4-1)*vtlen/len) * fft22(:,n) + kernel^(3*(n+3*len/4-1)*vtlen/len) *

fft33(:,n);

end

end

Page 67 of 77

APPENDIXⅡ

VT-OFDM

1.VTbasedOFDM.m

%This program requires the following Matlab files:

% qpskmod.m for QPSK

% giins.m

% makeVector.m

% ivt.m

% vector_guard_ins.m

% comb.m

% girem.m

% qpskdemod.m

fftlen=128; % FFT length

gilen=fftlen/4; % Length of guard interval (points)

vt_ber=zeros(1,loop); % BER for vector transform

vt_size = 2; % transform which is 2x2

vtlen = fftlen/vt_size; %

vt_guard_len=gilen/vt_size; % vector transform guard length

vt_len2 = vtlen + vt_guard_len;

cone=sqrt(-1);

alfa=rand;

beta=rand;

% next, a random unitary matrix

u2gen=(1/sqrt(2))*[exp(cone*2*pi*alfa) exp(cone*2*pi*beta);...

-exp(-cone*2*pi*beta) exp(-cone*2*pi*alfa)];

%%%% vt_kernel=kernel(vtlen,u2gen);

Page 68 of 77

% In this case we choose two numbers such that gcd(number,vtlen) = 1

a1 = 3;

a2 = 63;

w=exp(j*2*pi/vtlen);

vt_kernel = diag([w^a1 w^a2]);

vt_kernel = u2gen'*vt_kernel*u2gen;

ebn0_start=6;

ebstep = 2;

% all of these are appropriate wireless channels

% note that the sampling period is 50 ns

chanE = [-0.0462-0.9989i 0.3033-0.0600i 0.0762+0.1891i -0.0160+0.0848i ...

0.0356+0.0646i -0.0312+0.0271i 0.0244-0.0062i 0.0017-0.0151i];

channel = chanE;

ebno(ebn0)=ebn0_start+(ebn0-1)*ebstep;

nod = 0; % Number of transmitted bits OFDM

vt_nod = 0; % Number of transmitted bits VT-based OFDM

nloop = ebn0 * 300; % this determines number of loops

% more loops are necessary for higher ebn0 (lower BER)

% when the coefficient is 300 the program runs for

% about 20 minutes

for iii=1:nloop

[ich1,qch1]=qpskmod(paradata,para,nd,ml); % QPSK

%**************************OFDM ************************************

x=ich1+qch1.*i;

Page 69 of 77

y=ifft(x); % IFFT

ich2=real(y);

qch2=imag(y);

iq_vt=ich1_vt+i*qch1_vt;

iqvt21=reshape(iqvt20,1,vt_size*vt_len2); % Par/Serial

ivt22=real(iqvt21);

qvt22=imag(iqvt21);

spow=sum(ich3.^2+qch3.^2)/nd./para;

attn=0.5*spow*sr/br*10.^(-ebno(ebn0)/10);

attn=sqrt(attn);

spow=sum(ivt22.^2+qvt22.^2)/nd./para;

attn=0.5*spow*sr/br*10.^(-ebno(ebn0)/10);

attn=sqrt(attn);

rx_vt = conv(channel,ivt22+i*qvt22);

ivt23= real(rx_vt);

qvt23= imag(rx_vt);

% synchronization and channel estimation are assumed perfect

% **************** first OFDM **************************************

[ich5,qch5]= girem(ich4,qch4,fftlen,gilen,nd); % remove CP for OFDM

Page 70 of 77

rx=ich5+qch5.*i;

fchan=transpose(fft(channel,length(rx)));

frx=fft(rx)./fchan; % this is equalization

ich6=real(frx);

qch6=imag(frx);

[demodata]=qpskdemod(ich6,qch6,para,nd,ml);

demodata1=reshape(demodata,1,para*nd*ml); % Parallel-to-serial

% ****** DONE WITH OFDM *****************************************

rx_vt=ivt24(gilen+1:gilen+fftlen)+cone*qvt24(gilen+1:gilen+fftlen);

% ** equalization **

fchan=fft(channel,length(rx_vt));

fvt=fft(rx_vt)./fchan; % this is equalization

rvt=ifft(fvt); % this is necessary before the vector transform

[ivt26,qvt26] = makeVector(real(rvt),imag(rvt),vt_size);

rvt27=ivt26+i*qvt26;

rvt28=reshape(ry_vt,para,[]); % Parallel-serial for the symbols

% symbol-to-bit

vt_demodata=qpskdemod(real(rvt28),imag(rvt28),para,nd,ml);

vt_demodata1=reshape(vt_demodata,1,para*nd*ml); % Parallel-to-serial

noe2=sum(abs(demodata1-seldata));

nod2=length(seldata);

% cumulative number of errors and bits

noe=noe+noe2;

nod=nod+nod2;

vt_noe2=sum(abs(vt_demodata1-seldata));

vt_nod2=length(seldata);

Page 71 of 77

vt_noe=vt_noe+vt_noe2;

vt_nod=vt_nod+vt_nod2;

end % for iii=1:nloop

BER(ebn0)=noe/nod;

vt_BER(ebn0) = vt_noe/vt_nod;

figure;

semilogy(ebno,BER, 'ro:'), ...

ylabel('Bit Error Rate'), xlabel('Eb/No'); hold on;

semilogy(ebno,vt_BER, 'bx:'), legend('BER OFDM','BER VT');

hold off;

2. qpskmod.m

% paradata : input data (para-by-nd matrix)

% iout :output Ich data

% qout :output Qch data

% para : Number of paralell channels

% nd : Number of data

% ml : Number of modulation levels

% (QPSK ->2 16QAM -> 4)

% *****************************************************

m2=ml./2;

paradata2=paradata.*2-1;

count2=0;

for jj=1:nd

isi = zeros(para,1);

isq = zeros(para,1);

for ii = 1 : m2

Page 72 of 77

isi = isi + 2.^( m2 - ii ) .* paradata2((1:para),ii+count2);

isq = isq + 2.^( m2 - ii ) .* paradata2((1:para),m2+ii+count2);

end

iout((1:para),jj)=isi;

qout((1:para),jj)=isq;

count2=count2+ml;

end

3. giins.m

%

%****************** variables *********************************************

% idata : Input Ich data

% qdata : Input Qch data

% fftlen : FFT length

% gilen : Length of guard interval (number of points)

% nd : number of OFDM symbols processed simultaneously (should be =1)

% iout : Output Ich data

% qout : Output Qch data

%

*************************************************************************

idata1=reshape(idata,fftlen,nd);

qdata1=reshape(qdata,fftlen,nd);

idata2=[idata1(fftlen-gilen+1:fftlen,:); idata1];

qdata2=[qdata1(fftlen-gilen+1:fftlen,:); qdata1];

iout=reshape(idata2,1,(fftlen+gilen)*nd);

qout=reshape(qdata2,1,(fftlen+gilen)*nd);

4. makeVector.m

%

%****************** variables ******************************************

Page 73 of 77

% ich : Input Ich data

% qch : Input Qch data

% vec_len : vector length

% vec_i : Output vector Ich

% vec_q : Output vector Qch

% **********************************************************************

mm = len/vec_len;

vec_i=zeros(vec_len,len/vec_len);

vec_q=zeros(vec_len,len/vec_len);

for jj = 1:vec_len

vec_i(jj,:) = transpose(ich(jj:vec_len:len));

vec_q(jj,:) = transpose(qch(jj:vec_len:len));

end

5. ivt.m

%y : input sequence of vectors

% kernel : kernel of the vector transform

%x : output sequence of vectors

%******************************************************

function x = ivt(y,kernel)

ss = size(y);

len = ss(2);

for k=1:len

x(:,k)=zeros(vs,1);

for n=1:len

x(:,k) = x(:,k) + kernel^(-(n-1)*(k-1)) * y(:,n);

end

x(:,k) = x(:,k) / sqrt(len);

end

6.vt.m

% Forward vector transform

Page 74 of 77

%****************** variables *************************

% kernel : kernel of the vector transform

%x : input sequence of vectors

%y : output sequence of vectors

%******************************************************

function y = vt(x,kernel)

ss = size(x);

len = ss(2);

vs=ss(1); % vector size

for k=1:len

y(:,k)=zeros(vs,1);

for n=1:len

y(:,k) = y(:,k) + kernel^((n-1)*(k-1)) * x(:,n);

end

y(:,k) = y(:,k) / sqrt(len);

end

7. vector_guard_ins.m

% vec_in : Input vector sequence

% guard_len : Length of guard interval (number of points)

% vec_out : Output vector sequence

% *****************************************************

ss=size(vec_in);

len = ss(2);

vec_out(:,1:guard_len)=vec_in(:,len-guard_len+1:len);

vec_out(:,guard_len+1:len+guard_len)=vec_in;

8 comb.m

% Add additive white gausian noise

% idata : input Ich data

% qdata : input Qch data

Page 75 of 77

% attn : attenuation level caused by Eb/No or C/N

% iout output Ich data

% qout output Qch data

%******************************************************

iout = randn(1,length(idata)).*attn;

qout = randn(1,length(qdata)).*attn;

iout = iout+idata(1:length(idata));

qout = qout+qdata(1:length(qdata));

% ************************end of file***********************************

9. girem.m

%

%****************** variables *************************

% idata : Input Ich data

% qdata : Input Qch data

% fftlen2 : FFT length + GI length

% gilen : Length of guard interval (number of points)

% nd : number of OFDM symbols

% iout : Output Ich data

% qout : Output Qch data

% *****************************************************

idata2=reshape(idata,[],nd);

qdata2=reshape(qdata,[],nd);

iout=idata2(gilen+1:gilen+fftlen2,:);

qout=qdata2(gilen+1:gilen+fftlen2,:);

10 qpskdemod.m

Page 76 of 77

function [demodata]=qpskdemod(idata,qdata,para,nd,ml)

% idata :input Ich data

% qdata :input Qch data

% demodata: demodulated data (para-by-nd matrix)

% para : Number of paralell channels

% nd : Number of data

% ml : Number of modulation levels

% (QPSK ->2 16QAM -> 4)

% *****************************************************

demodata=zeros(para,ml*nd);

demodata((1:para),(1:ml:ml*nd-1))=idata((1:para),(1:nd))>=0;

demodata((1:para),(2:ml:ml*nd))=qdata((1:para),(1:nd))>=0;

%******************** end of file ***************************

Page 77 of 77

## Much more than documents.

Discover everything Scribd has to offer, including books and audiobooks from major publishers.

Cancel anytime.