MATLAB Simulation Environment For Linear Modulation Communication Systems
MATLAB Simulation Environment For Linear Modulation Communication Systems
MATLAB Simulation Environment For Linear Modulation Communication Systems
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
4
2
2
0
1
2
4
4
4
3
2
1
0
0
1
2
3
4
4
10
simulation
10
BER
10
10
10
10
10
10
12
14
16
18
20
22
ES/N0
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
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
FoilTEX
< >
c
Pavel
Loskot 11/11/00
5(19)
of
O
Multicarrier Modulation
FoilTEX
< >
c
Pavel
Loskot 11/11/00
6(19)
of
O
Channel Filtering
Signal flow.
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
UNIVERSITY
FoilTEX
< >
c
Pavel
Loskot 11/11/00
8(19)
of
O
Spreading
Nf g
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
FoilTEX
< >
c
Pavel
Loskot 11/11/00
9(19)
of
O
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
awgn
No ICI
awgn
(NRx,NTx,L,d)
Data Symbols 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
FoilTEX
< >
c
Pavel
Loskot 11/11/00
10(19)
of
O
SNR loop
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
buffer (delay)
end SNR loop
UNIVERSITY
FoilTEX
< >
c
Pavel
Loskot 11/11/00
11(19)
of
O
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
UNIVERSITY
FoilTEX
< >
c
Pavel
Loskot 11/11/00
12(19)
of
O
Preprocessor
%#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
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
UNIVERSITY
FoilTEX
< >
c
Pavel
Loskot 11/11/00
14(19)
of
O
UNIVERSITY
FoilTEX
< >
c
Pavel
Loskot 11/11/00
15(19)
of
O
(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
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
FoilTEX
< >
c
Pavel
Loskot 11/11/00
17(19)
of
O
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
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
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