Title: A Software Simulation Testbed for CDMA Wireless Systems
1A Software Simulation Testbed for CDMA Wireless
Systems
Electrical and Computer Engineering Department and
April 26th 1999
2Wireless cellular systems
- Tremendous growth in coverage
- More economical than wired-line systems --
infrastructure
- Code Division Multiple Access(CDMA)
- Efficient usage of channel capacity
- Robust against defects in the transmission and
channel
3Challenges in designing CDMA systems
- Communications research improvements in
- performance
- usage of capacity
- Advanced signal processing techniques
- channel estimation
- multiuser detection
- coding
- A large number of design choices
- complex environment (channel models)
- different algorithms for blocks in the system
4Motivation for a simulation testbed
- What are the channel properties or
environmental factors to deal with?
5Motivation for a testbed (contd.)
- What is the best combination of algorithms ?
- How do these algorithms behave with one another?
- Need for performance data before investing in
infrastructure
6The concept of a CDMA Testbed
- Algorithms
- evaluation
- tradeoffs
- System parameters
- channel models
- user dynamics
7The concept of a CDMA Testbed (contd.)
Mobile phone
Base station
- Algorithms
- Uplink
- Downlink
Prototyping
8Contributions
- Flexible wireless CDMA multiuser link
- Developed in the Simulink and Matlab Environment
- Algorithms
- channel estimation
- multiuser detection
- System configuration
- channel models
- different spreading methods
9The CDMA concept
Spreading waveforms
chip
1
2
3
bit period
10CDMA works!!
-1 -1 1 1 1 -1 1
-1 -1 -1 -1 1 1 1 1
-1 1 -1 1 1 1
Nc7
(spreading matrix)
3 users
11CDMA Wireless Link
Users data bits
multiple users
SOURCE CODING
CHANNEL CODING
MODULATION
SPREADING
TRANSMITTER
noise
Detected bits of all the users
DECODER
DETECTOR
DEMODULATION
CHANNEL ESTIMATOR
RECEIVER
12W-CDMA Simulation Testbed in Software
- Matlab environment
- Simulink block diagrams
13CDMA Wireless Link
Users data bits
multiple users
SOURCE CODING
CHANNEL CODING
MODULATION
SPREADING
TRANSMITTER
noise
Detected bits of all the users
DECODER
DETECTOR
DEMODULATION
In Simulink
CHANNEL ESTIMATOR
RECEIVER
14CDMA Wireless System Testbed Simulink Version
Multiuser Detection
Chip matched filter
AWGN Channel
Error Rate Calculation
Chip MF
Wireless Channel
User_Data
Multiuser Detector
Decorrelating
Error Counter
Detector
Channel Estimation
Channel Estimation
User Data
Max. Likelihood
Channel Est.
Show Stats
Update Parameters
Parameters
Statistics
15Features
- Flexible wireless CDMA multiuser link
- better modeling of a real system
- Clean user interface
- vary parameters of the system
- Modular
- library of different algorithms
- State-of-the-art algorithms
- multiuser detection
- channel estimation
16Development Methodology
C - Code
MATLAB Code
Simulink Library
Algorithms
17System Development using Simulink
SIMULINK Library
C - MEX S - function
MATLAB S - function Block
BLOCK B
BLOCK A
data in
BLOCK C
data out
BLOCK D
BLOCK E
- Simulation framework discrete time-steps
- Data-flow based simulation
18Algorithms
- Spreading methods
- Gold Codes
- M-Sequences
- Random spreading codes
- Channel estimation
- maximum likelihood
- Multiuser detection
- matched filter
- decorrelator
- differencing multistage
19Maximum Likelihood Algorithm
Received chip matched filter output
Noise
Preamble bits
Shifted spreading matrix and channel impulse
response
Estimate by Maximum likelihood method
20Multiuser detection
21Modularity
CDMA library
Channels
Detectors
Associated components
Multiuser Matched-Filter Detector
x
Matched-Filter
b
- Library of different algorithms
- Plug and play!
Detector
Multipath Channel
cdma-tx-gen
x
Multiuser Decorrelating Detector
Multipath Wireless Channel
b
cdmatx
Decorrelating
Detector
Rd wksp
Single user receiver
preamb_wksp
Multiuser Multistage Detector
Multistage
chan i/p
code MF o/p
Detector
bitconvert
sync delay
chip MF o/p
22Graphical User Interface
- Control parameters
- SNR
- spreading gain
- users
- bit length
- Change modules / algorithms
- spreading
- multiuser detection
23Automated Net-List Generation
- The Simulink model is reconfigured based on
parameters - add/remove user data blocks depending on number
of users - change algorithms
24The segment under consideration
Mobile Transmitters K Asynchronous Users
data bits
Spreading and modulation
Detected bits of K users
Demodulation and chip matched filtering
detection
AWGN noise
synchronization
Multi-User (Base-station) Receiver
25Spreading, Channel and Chip Matched Filtering
spreading
channel
chip matched filter vector
. . . .
data bits
x
spreading
spreading
Chip waveform
26Spreading, Channel and Chip Matched Filtering
Spread bit sequences
27Traditional method of simulation modeling
- Represents baseband signals explicitly
- superimposed chips
- AWGN noise
- baseband signal
- Problem
- baseband signals are continuous time signals
- a simulation system models them as a discrete
time signal - finite number of samples leads to an error
- slow simulation speed
28Traditional Method
Spreading, Channel modeling and Chip-matched
filtering
sprd
bits
Sample
Tx-delay-1
bits-1
and Hold
Spreading
Function-1
T
AWGN
S/H
z-1
AWGN
channel
Discrete-Time
Integrator
sprd
bits
Tx-delay-2
bits-2
Spreading
Chip Matched FIlter
Pulse
Function-2
Generator
29The efficient method of simulation modeling
- Does not represent intermediate signals explicitly
- All the blocks in the baseband segment
collapsed into one entity - spreading, channel model and matched filtering
- input
- bit streams
- spreading, channel parameters
- provides discretized channel waveform (matched
filter output)
30Efficient Method
Spreading, Channel modeling and Chip-matched
filtering
Unit Delay
bits
1
bits-1
z
sprd_cmf
bits
spreading
channel
and
bits-2
chip matched filter
31Simulation time speed-up
32Analysis of simulation time from profiling
33Simulink Test-bed Demo
34Simulation in Software and DSP hardware
Simulink Block Diagrams
Real-Time Workshop (RTW)
TI C67 EVM (Evaluation Module)
35Prototyping Methodology
C - Code
Matlab Code
Block Diagram Libraries
Algorithms
Simulink
Display and Analysis of Data
36RTW support for C67 EVM
Simulink Model
- Create template make file
- Change references to cross-compiler (TI C6x
code generation tools) - Generate code
- Download to DSP board
- Analyze data in Simulink / Workstation
C67 DSP hardware
37Future Work - CDMA Library of blocks
- Fading channel and supporting estimation and
detection algorithms - Channel parameter estimation and tracking
- Maximum Likelihood
- Subspace
- Source and Channel coding
- Power control
38Future Work - DSP support
- Execution of software test-bed on DSP hardware
- Real-Time Workshop (RTW) support for C67 boards
- Use multiprocessing on DSPs to execute the
Simulink based system
39Summary
- A Multi-user Wireless CDMA Link
- backbone to grow a bigger system
- Flexible system
- vary parameters
- state-of-the-art algorithms from the library
- Simulink/Matlab Environment
- GUI for changing parameters and algorithms
- data analysis and profiling
- RTW for DSP code generation