Simulation framework for multiuser MIMO-OFDM over multipath fading channels. Also created a C-like pre-processor in Matlab to add flexibility in configuring the simulation prior its run.
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
Multiuser MIMO-OFDM simulation framework in Matlab
1. 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
– FoilTEX– < > c Pavel Loskot 11/11/00 1(19)
of
UNIVERSITY
O U L U
2. 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
– FoilTEX– < > c Pavel Loskot 11/11/00 2(19)
of
UNIVERSITY
O U L U
3. 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, NRZ
• 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)
– FoilTEX– < > c Pavel Loskot 11/11/00 3(19)
of
UNIVERSITY
O U L U
4. Implemented (2)
−4 −2 0 2 4
−4
−2
0
2
4
Constellation for 16−qam
−2 −1 0 1 2
−2
−1
0
1
2
Constellation for 16dapsk/16stqam
−2 0 2
−3
−2
−1
0
1
2
3
Constellation for 64dapsk/64stqam
−4 −2 0 2 4
−4
−2
0
2
4
Constellation for 16crqam
Example of QAM constellations.
0 2 4 6 8 10 12 14 16 18 20 22
10
−6
10
−5
10
−4
10
−3
10
−2
10
−1
10
0
Bit−error Rate of BPSK, QPSK, 16−QAM, 64−QAM over AWGN
ES
/N
0
BER
simulation
BER results over AWGN.
– FoilTEX– < > c Pavel Loskot 11/11/00 4(19)
of
UNIVERSITY
O U L U
5. Implemented (3)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Continuous Pilot Symbols
Scattered Pilot Symbols
PilTpos
PilFpos
PilTpos
PilTpos1
PilFposPilFpos1
time
frequency
Pilot Symbols Location.
– FoilTEX– < > c Pavel Loskot 11/11/00 5(19)
of
UNIVERSITY
O U L U
6. Multicarrier Modulation
Some of the transmultiplexer front ends.
Multicarrier communication system.
– FoilTEX– < > c Pavel Loskot 11/11/00 6(19)
of
UNIVERSITY
O U L U
7. 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
– FoilTEX– < > c Pavel Loskot 11/11/00 7(19)
of
UNIVERSITY
O U L U
8. Error Measurements
Simulation Structure
SNR : BER1 1
SNR : BERK K
Run#X
"inputsX.m" "outputsX.m"
round#1 round#X
block#1 block#X
frame#1 frame#X
symbol#1 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
– FoilTEX– < > c Pavel Loskot 11/11/00 8(19)
of
UNIVERSITY
O U L U
9. Spreading
Nf1
Nt1
Tx
NfgNfg
Ntg
Ntg
Ntg
Ntg
Nf1
Nt1
Nf
Nt
Rx
x = Ntg
Nfg
(de)spreading matrix
(de)spreading code
Nf
Nt
NfgNfg
Ntg
Ntg
Ntg
Ntg
DS – Despreading
Direct Sequence – Spreading
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)
– FoilTEX– < > c Pavel Loskot 11/11/00 9(19)
of
UNIVERSITY
O U L U
10. System Model Structure
Nbranches
(1)
1
NTx NRx
Nbranches
(2)
data
data
awgn
awgn
awgn
awgn
Ntotal: x x L pathsTx Rx
pilots
data
MUX MODMAP buffer
Tx
MIMO
1 1
1
buffer
MRC Dem DeMap
Rx
buffer
MRC Dem DeMap
Rx
L-paths
pilots
data
MUX MODMAP buffer
Tx
No ICI
N
The system model and buffers.
NRx
data
w1
wNRx
Dem
OFDM
OFDM
MOD
Tm
(N , )dc
(N , )dc(N , )dc
(N , )dc
N = number of subcarriersc
(N ,N ,L, )Rx Tx d
MIMO
1 1
buffer
bufferbuffer
NTx
buffer
pilots
data
MUX MAP
Tx 1Rx
awgn
awgn
DeMap
TxBufSym-1 RxBufSym-1
Output Power BufferData Symbols Buffer
Pilot Symbols Buffer Modulation Constellation
Buffer
= delayd
ChBufPnt
The system model and buffers.
• channel buffer – circular
– FoilTEX– < > c Pavel Loskot 11/11/00 10(19)
of
UNIVERSITY
O U L U
11. Flow Chart of the Simulation
pilots
data
spreading
Channel
find XER
Ch. Estimation
Synchronization
Fading Gener.
end while loop
end SNR loop
symbol source
init new block
while not enough errors and Xs do:
ChBuf
SNR loop
Transmitter
modulation
Receiver
demapping
mapping/spreading
PilBuf
DatBuf
SprBuf
Nc
DataEst
≈ buffer (delay)
PowBuf
ModBuf
DataCrt
L × NT x × NRx
L × NT x × NRx
NT x
NRx
L × NT x × NRx paths
X={Bit, Subsymbol, Symbol, Frame}
demod./despread.
Flow chart of the simulation algorithm.
• Monte Carlo measurements
• in fact, buffers ≡ delays
– FoilTEX– < > c Pavel Loskot 11/11/00 11(19)
of
UNIVERSITY
O U L U
12. Library and Scheduling
inputsX.m
schedule
InitTx
InitCh
InitRx
InitMod
AOFDM
CMFB1
CMFB2
OFDM
err
est
rx
adem
amod
tx
alib
lib
cmn
dsp
ch
fch
Execute
Close Simulation
Schedulter
Open Simulation
Execute
Processor
Pre-
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
– system≡local libraries (models of Tx and Rx)
– global libraries (adaptive modulation dependend files)
– common libraries (channel models, etc.)
– FoilTEX– < > c Pavel Loskot 11/11/00 12(19)
of
UNIVERSITY
O U L U
14. OFDM Transmitter/Receiver
pilots
data
zero
padding
cyclic
prefix
Nc
Nfft
D/A OFDM
signal
Nfft
Nc
cyclic
postfix
S/P
S/P
MUX MAP
IFFT P/S
A=f(P )s
= number of carriers
= FFT order
P = power of continuous signal at PBs
OFDM Transmitter
Structure of OFDM transmitter.
Nfft
cyclic
postfix
cyclic
prefix
w1
wN
data
detector
Nc
unused
subcarriers
Nfft
Nc
= FFT order
= number of carriers
A/D
S/P FFT
from antenna N
channel
timing
knowledge
OFDM Receiver
P/S
from antenna 1
FEQ
Structure of OFDM receiver.
– FoilTEX– < > c Pavel Loskot 11/11/00 14(19)
of
UNIVERSITY
O U L U
15. 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
– FoilTEX– < > c Pavel Loskot 11/11/00 15(19)
of
UNIVERSITY
O U L U
16. 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)
π
2M
(n−
N
2
)−(−1)k π
4
Rx filters:
hk(n) = 2hp(n) cos (2k+1)
π
2M
(n−
N
2
)+(−1)k π
4
– FoilTEX– < > c Pavel Loskot 11/11/00 16(19)
of
UNIVERSITY
O U L U
17. On the Design of CMFB
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
−120
−100
−80
−60
−40
−20
0
20
Prototype filter
H
s
=−21.8dB
H3
=−3dB
Fs
=0.125F−3dB
=0.062
−70dB
Prototype filter.
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
−120
−100
−80
−60
−40
−20
0
H
0
(ejω
).F
0
(ejω
) H1
(e
jω
).F1
(e
jω
) H2
(e
jω
).F2
(e
jω
) H
3
(ejω
).F
3
(ejω
)
CMFB frequency responses.
– FoilTEX– < > c Pavel Loskot 11/11/00 17(19)
of
UNIVERSITY
O U L U
18. On the Design of CMFB (2)
−40 −20 0 20 40
−0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
h
0
* f
0
−40 −20 0 20 40
−0.2
−0.1
0
0.1
0.2
0.3
h
1
* f
1
−40 −20 0 20 40
−0.2
−0.1
0
0.1
0.2
0.3
h
2
* f
2
−40 −20 0 20 40
−0.4
−0.3
−0.2
−0.1
0
0.1
0.2
0.3
h
3
* f
3
Tx/Rx Filter Convolution
CMFB time responses.
−40 −20 0 20 40
−0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
h
0
* f
0
−40 −20 0 20 40
−0.1
−0.05
0
0.05
0.1
h
0
* f
1
−40 −20 0 20 40
−4
−2
0
2
4
6
x 10
−4
h0
* f2
−40 −20 0 20 40
−6
−4
−2
0
2
4
x 10
−5
h0
* f3
Subchannel Crosstalk
CMFB crostalk in time domain.
– FoilTEX– < > c Pavel Loskot 11/11/00 18(19)
of
UNIVERSITY
O U L U
19. Input/Output Files
• SY STEM = {OF DM, AOF DM, etc.} – system
name, X – simulation run
• inputsX.m – input file
• SY STEMcoreX.m – the core simulation file
• SY STEMinitX.m – the simulation part with initialization
• SY STEMwsX.mat – saved workspace after the
initialization
• outputsX.m – system messages results
executable m-file to reread the results
• schedfileX.m – list of files inserted into
SY STEMcoreX.m and SY STEMinitX.m
• touchfileX.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
– FoilTEX– < > c Pavel Loskot 11/11/00 19(19)
of
UNIVERSITY
O U L U