Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

MATLAB Simulation Environment For Linear Modulation Communication Systems

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

MATLAB Simulation Environment for

Linear Modulation Communication


Systems
Pavel Loskot
loskot@ee.oulu.fi

Centre for Wireless Communications


University of Oulu Finland
11th November 2000

UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

1(19)

of
O

General Features
current version: 1.0 released on 10/25/2000
general simulation environment for multiuser system
over MIMO channel
complex envelope signal representation
basic framework (I/O, data sources, signal buffers, MIMO
channel model) plus model of Tx/Rx
block-like structure
suitable for any linear modulation transceiver
(nonlinear modulation how to handle signal buffers ?)
fully parametrized
time-domain realization (universality, speed, nonlinear
techniques)
sample-wise modelling

Support
MIMO channels in sense of multiple Tx/Rx antennas
single-carrier/multi-carrier modulation w/wo direct-sequence
spreading
speed and memory optimization through simulation
scheduling
adaptive modulation variable constellation and power
MATLAB C
simulation and development of communication systems
bit/(sub)symbol/frame error rate measurements
block-wise measurements for slowly fading channels
UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

2(19)

of
O

Implemented
Multicarrier Transceivers (Transmultiplexers)
1. basic OFDM (OFDM)
2. adaptive version of basic OFDM (AOFDM)
3. Cosine Modulated Filter Bank
(CMFB1 and CMFB2)
Modulation format
1. M ary P SK , M ary ASK
M ary SquareQAM , QP SK
16/64 StarQAM , 16 CircularQAM
2. adaptive version of those
3. differential modulation with differential encoding
across time or frequency:
M ary DP SK , DQP SK , 4 DQP SK ,
16/64 DAP SK
4. offset modulation - offset of imaginary part
optionally Gray encoding
pulse shaping - RRC , RC , N RZ
direct-sequence spreading (e.g. MC-CDMA)
optionally pilot symbols
continuous pilots
scattered pilots
N.B. offset modulation and filter-banks require equalization
(so far only simple channel inversion at the receiver
implemented)
UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

3(19)

of
O

Implemented (2)
Constellation for 16qam

Constellation for 16dapsk/16stqam

4
2
2

0
1

2
4
4

Constellation for 16crqam

Constellation for 64dapsk/64stqam

4
3
2

1
0

0
1

2
3

4
4

Example of QAM constellations.


Biterror Rate of BPSK, QPSK, 16QAM, 64QAM over AWGN

10

simulation

10

BER

10

10

10

10

10

10

12

14

16

18

20

22

ES/N0

BER results over AWGN.


UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

4(19)

of
O

Implemented (3)
Continuous Pilot Symbols

17
16
15
14
13
12
11
10
9
8
7
6
5

PilFpos

4
3
2
1
0

10 11 12 13 14 15 16 17 18 19 20 21 22 23

Scattered Pilot Symbols

17

PilTpos

16
15
14
13
12
11

PilFpos1

10
9
8
7
6

PilFpos

5
4
3
2
1
0

2
3 4
frequency

10 11 12 13 14 15 16 17 18 19 20 21 22 23

PilTpos

PilTpos1

time

Pilot Symbols Location.


UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

5(19)

of
O

Multicarrier Modulation

Some of the transmultiplexer front ends.

Multicarrier communication system.


UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

6(19)

of
O

Channel Filtering

Signal flow.

inner MATLAB routine filter


filtering on symbol by symbol basis (universality)
maximum delay spread limited to one symbol interval
channel can be kept constant over arbitrary number of
samples

block-wise simulation for slowly fading channels


(i.e. channel generator is independently reinitialized for
each block of the simulation)
SISO, SIMO, MISO, MIMO structures available (faster)
fading can be randomly initialized but kept constant
throughout the simulation run

UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

7(19)

of
O

Error Measurements

Simulation Structure
"inputsX.m"

"outputsX.m"

Run#X
SNR1: BER1
round#1

block#1

SNRK: BERK
round#X

block#X

frame#1

symbol#1

frame#X

symbol#X

subsymbol#1

subsymbol#X

The structure of simulation for measurements.

Monte Carlo measurements


a signle run - bit/(sub)symbol/frame error rate at
predefined SNR points
a single round - sets constant SNR
blocks for slowly fading channels
frames to accomodate signalling from upper layers
a symbol basic step of the simulation measurements

UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

8(19)

of
O

Spreading
Nf g

Direct Sequence Spreading

Nf g

Ntg
Ntg

Nf

Tx

Nf 1

Ntg
Ntg
Nt

Nt1

DS Despreading
Nf g

Nf g

Ntg

Rx

Ntg

Nf 1

Ntg

Nf

Ntg
Nt1

Nt

Nf g

x
(de)spreading code

Ntg

(de)spreading matrix

Spreading in multicarrier modulation.

input to the transmitter still matrix


direct-sequence spreading
across time
across frequency
or both
DS-CDMA, MC-CDMA, MC-DS-CDMA
N.B. frequency hoping can be realized over subcarriers
(anyway, more or less solution in practice)
UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

9(19)

of
O

System Model Structure


L-paths

data

1 pilots

1
MUX

MAP

MOD

buffer

buffer

data

Tx

MRC

Dem

awgn

DeMap

Rx

data
(1)

Nbranches pilots

MUX

MAP

MOD

buffer

buffer

NRx

NTx

Tx

MIMO

data
MRC

Dem

awgn

DeMap

(2)

Nbranches

Rx

total: NTx x NRx x L paths

awgn

No ICI
awgn

The system model and buffers.


ChBufPnt

(NRx,NTx,L,d)
Data Symbols Buffer

Output Power Buffer

(Nc,d)

(Nc,d)

buffer

buffer

w1

awgn
data
pilots

MUX

OFDM
Dem

OFDM
MOD

MAP

wN

(Nc,d)

Rx

buffer

buffer

NRx

NTx
MIMO

awgn

Tm

TxBufSym-1
Pilot Symbols Buffer

Rx

Tx
(Nc,d)

data
DeMap

RxBufSym-1

d = delay
Nc = number of subcarriers

Modulation Constellation
Buffer

The system model and buffers.

channel buffer circular


UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

10(19)

of
O

Flow Chart of the Simulation

SNR loop

while not enough errors and Xs do:

X={Bit, Subsymbol, Symbol, F rame}


init new block

PilBuf
DatBuf
SprBuf

pilots
data
spreading

symbol source

Nc
Transmitter

ModBuf
PowBuf

mapping/spreading
modulation

NT x
Fading Gener.

L NT x NRx paths

Channel

L NT x NRx
NRx
ChBuf

Receiver
demod./despread.

Ch. Estimation
Synchronization

demapping

L NT x NRx

DataEst
find XER

DataCrt

end while loop

buffer (delay)
end SNR loop

Flow chart of the simulation algorithm.

Monte Carlo measurements


in fact, buffers delays

UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

11(19)

of
O

Library and Scheduling

CMFB2
CMFB1
OFDM
AOFDM

lib
alib
tx
amod
adem
rx
est
err

Open Simulation

inputsX.m
schedule
InitTx
InitMod
InitCh
InitRx

Schedulter
Execute
cmn
fch
ch
dsp

PreProcessor

Execute

Close Simulation

outputsX.m

Scheduling and executing the simulation.

facilitate stand-alone script to get


demo version (p-code)
further independent development
overcome designs from the scratch
MATLAB into C compiling
block-like structure of the final code
extendable libraries
systemlocal libraries (models of Tx and Rx)
global libraries (adaptive modulation dependend files)
common libraries (channel models, etc.)

UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

12(19)

of
O

Preprocessor

Matlab Preprocessor ver. 1.0

%#ifvalid MATLAB_CONDITION
CODE1;

%#ifexist MATLAB_VARIABLE
CODE1;

%#elvalid

%#elexist

CODE2;

CODE2;

%#endvalid

%#define

%#endexist

PRP_DEFINITION

%#ifdef PRP_DEFINITION
CODE1;

%#undefine PRP_DEFINITION
%#ifundef

PRP_DEFINITION

CODE1;

%#eldef

%#elundef

CODE2;

CODE2;

%#enddef

%#endundef

Preprocessor directives.

version 1.0
text filter
i.e. conditional script filtering (not executing!)
C-like features
strong tool for simulation scheduling

UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

13(19)

of
O

OFDM Transmitter/Receiver

OFDM Transmitter
cyclic
postfix
zero
padding

D/A

IFFT

data

P/S

OFDM
signal

S/P
MUX

pilots

A=f(Ps )

MAP

S/P

Nfft

Nc

cyclic
prefix
Nc = number of carriers
Nfft= FFT order
Ps = power of continuous signal at PB

Structure of OFDM transmitter.

OFDM Receiver
cyclic
postfix

from antenna 1

unused
subcarriers

A/D

w1

S/P

FFT

FEQ

detector
data

P/S

from antenna N

Nfft
cyclic
prefix

wN

Nc
channel
knowledge

timing

Nfft = FFT order


Nc = number of carriers

Structure of OFDM receiver.

UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

14(19)

of
O

Filter Bank Modulation


Minus
much higher complexity than FFT-based systems
very complex design
many open problems
equalization always necessary
Plus
no guard interval needed
better spectral characteristics and efficiency
excellent flexibility
can exactly match the channel
not widely accepted by industry, yet
(Alcatel - filter-banks for DMT applications)
very general, in fact filter-banks capable to describe any
communication system scenario (special case - arbitrary
modulation in TDMA, FDMA, CDMA schemes)
increased interest into filter-banks expected in future

UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

15(19)

of
O

Filter Bank Modulation (2)

Filter-bank based communication system.

Example of Cosine Modulated Filter-Bank (CMFB)


Tx filters:

fk (n) = 2hp(n) cos (2k+1)

(n )(1)k
2M
2
4

Rx filters:

N
k
hk (n) = 2hp(n) cos (2k+1)
(n )+(1)
2M
2
4
UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

16(19)

of
O

On the Design of CMFB


Prototype filter
20

0
H3=3dB

20
H =21.8dB
s

40

60
70dB

80

100

120

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

Fs=0.125

F3dB=0.062

Prototype filter.
j

H (ej).F (ej)
0

H1(e ).F1(e )

H (ej).F (ej)

H2(e ).F2(e )

20

40

60

80

100

120

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

CMFB frequency responses.


UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

17(19)

of
O

On the Design of CMFB (2)


Tx/Rx Filter Convolution
0.3

0.3

0.25

h1* f1

0.2

h *f

0.2

0.15

0.1

0.1

0.05
0.1

0
0.05
40

20

20

40

0.3

0.2
40

20

20

40

0.3
2

h *f

0.2

h *f

0.2

0.1
0.1

0.1
0.2

0.1

0.3

0.2
40

20

20

40

0.4
40

20

20

40

CMFB time responses.

Subchannel Crosstalk
0.3

0.1
h *f

0.25

h0* f1

0.05

0.2
0.15

0
0.1
0.05

0.05

0
0.05
40

20

20

40

0.1
40

20

40

x 10

4
h0* f2

20

20

x 10

h0* f3

4
40

20

40

6
40

20

20

40

CMFB crostalk in time domain.


UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

18(19)

of
O

Input/Output Files
SY ST EM = {OF DM, AOF DM, etc.} system
name, X simulation run
inputsX.m input file
SY ST EM coreX.m the core simulation file
SY ST EM initX.m the simulation part with initialization
SY ST EM wsX.mat saved workspace after the
initialization
outputsX.m system messages results
executable m-file to reread the results
schedf ileX.m list of files inserted into
SY ST EM coreX.m and SY ST EM initX.m
touchf ileX.m let you know the simulation is still alive

Other Features

preprocessor on/off
create stand-alone code yes/no
record the channel realization yes/no
include awg noise yes/no

Future Directions
extending of the preprocessor
(inline functions)
extending of the librariers
direct MATLAB C translation
own and yet simple translator
parameters initialization in MATLAB ,
the simulation itself in C
UNIVERSITY

FoilTEX

< >

c
Pavel
Loskot 11/11/00

19(19)

of
O

You might also like