CrownComPresentation_revC

advertisement
Implementing a
MATLAB-based
Self-Configurable
Software Defined
Radio Transceiver
Next
Authors:
Benjamin Drozdenko
Ramanathan Subramanian
Kaushik Chowdhury
Miriam Leeser
Presenter:
Kaushik Chowdhury
GEneration NEtworks and SYStems Lab
AIM OF THE
PROJECT
• Build a fully reconfigurable software-defined radio.
• Cognitive ability: Tune dynamically RF center frequency,
transmission power, modulation, and algorithm parameters to
adapt to changing environment.
• Requirement to ensure consistent inter-frame transceive time.
2
CHALLENGES
ADDRESSED
• How to ensure clocked operations in a system with no
interrupts?
• How to ensure that the transceive function adheres very
closely to expected inter-frame time?
• How to ensure that the system blocks run between calls to
transceive complete within less than one inter-frame time,
while maintaining high levels of accuracy?
3
SYSTEM
ARCHITECTURE
4
5
DETAILED
SYSTEM DESIGN
Machine 1
Designated Transmitter (DTx)
1. Energy Detection
1.1
Wait
DIFS
1.2
Detect
Energy
1.3
MAC
Contend
1.1 DTx waits for a fixed interval of time before sensing
the channel state.
1.2 DTx either backs off or transmits depending on
whether the channel state is busy or not.
1.3 DTx contends for channel access.
64 bits
PLCP SYNC (128 bits ≡ 2 frames)
2: Transmit DATA Frame
Prepare 802.11b DATA frame
(256 USRP frames)
During: Prepare new USRP frame
(64 bits ≡ 1408 samples)
Exit:
Wait SIFS
Frm Ctrl
Entry:
3: Receive ACK Frame
3.1
Search
SYNC
3.2
Read
Header
SFD
Dur/ID
SIGNAL
SERVICE
Dest Addr
LENGTH
Src Addr
MAC Frame Body and FCS (16,128 bits ≡ 252 frames)
2
3.1
3.2
CRC
Sequence #
6
DETAILED
SYSTEM
DESIGN
Designated Receiver (DRx)
Machine 2
1. Receive DATA Frame
1.3
1.1
1.2
Read
Search
Read
Payload
SYNC
Header
1.1
1.2
1.3
64 bits
2: Transmit ACK Frame
Entry: Prepare 802.11b ACK frame
(4 USRP frames)
During: Prepare new USRP frame
(64 bits ≡ 1408 samples)
Exit: Wait SIFS
3: Wait DIFS
DRx waits for DCF Inter-frame
Space (DIFS) duration before reentering DRx State 1
PLCP SYNC (128 bits ≡ 2 frames)
Frm Ctrl
2
SFD
Dur/ID
SIGNAL SERVICE
Rcv Addr
LENGTH
CRC
MAC FCS
SYSTEM
BLOCKS
RFFE
PD
DDD
SMS
RCTF
Radio Frequency Front End:
Automatic Gain Control
(AGC), Frequency Offset
Estimation & Compensation,
and Raised Cosine Receive
Filter (RCRF)
Preamble Detection
Despreading, Demodulation,
and Descrambling
Scrambling, Modulation, and
Spreading
Raised Cosine Transmit
Filter
7
PARAMETER
CHOICES
Value/
Range
Fixed/
Tunable
Param
Block
Description
Ri, Rd
USRP
USRP Interpolation /
500
Decimation Factor
Fixed
Lf
USRP
USRP Frame Length 64 bits
Fixed
Lp
Frame
#Octets per 802.11b
Frame Payload
2012
octets
Fixed
K
RFFE
AGC Step Size
0.1 – 10
Tunable
N
RFFE
AGC Update Period
Δf
RFFE
Frequency
Resolution
128 –
1408
1 – 16
Hz
Tunable
Tunable
SYNC
DETECTION
8
1.) Compare Received Signal
(complex samples) to Expected
Spread Preamble (real samples)
Despread and
demodulate to
get real bits 2.) Compare
−Window1
+Window1
Demodulated Signal to
Expected Scrambled
Preamble (real symbols)
Descrambled Next
USRP Frame
3.) Compare Descrambled −Window2
2nd USRP Frame to
Expected SFD Sequence
(real bits)
+Window2
Expected SFD Sequence
EXPERIMENTAL
SETUP
9
10
Translate MATLAB to C?
Why port/translate MATLAB to C?
•
Accelerate our MATLAB
algorithms that need operate in
real-time.
Challenges in manual translation of
MATLAB to C
1. Hard to keep functional and
implementation specs separate
2. Coding errors
3. Not time-efficient or cost-effective
11
MATLAB to C using MEX
What is MEX?
MATLAB code, generated
into C code, compiled into
an executable.
MATLAB CODE
mycode.m file
MATLAB CODER
.c file
MEX function
mycode_mex.mexa64
Advantages of Automatic Translation of
MATLAB to C using MATLAB Coder:
1. Spend more time improving
algorithms
2. Test quickly and more thoroughly
•
Comprehensive Code Generation
Report
3. Saves a lot of time and money
Implementation
Considerations:
1. Data Type
2. Memory Allocation
3. Built-in function’s
support for code
generation
12
MATLAB to C using MEX
What is MEX?
MATLAB code, generated
into C code, compiled into
an executable.
MATLAB CODE
mycode.m file
MATLAB CODER
.c file
MEX function
mycode_mex.mexa64
Advantages of Automatic Translation of
MATLAB to C using MATLAB Coder:
1. Spend more time improving
algorithms
2. Test quickly and more thoroughly
•
Comprehensive Code Generation
Report
3. Saves a lot of time and money
Implementation
Considerations:
1. Data Type
2. Memory Allocation
3. Built-in function’s
support for code
generation
13
MATLAB to C using MEX
What is MEX?
MATLAB code, generated
into C code, compiled into
an executable.
MATLAB CODE
mycode.m file
MATLAB CODER
.c file
MEX function
mycode_mex.mexa64
Advantages of Automatic Translation of
MATLAB to C using MATLAB Coder:
1. Spend more time improving
algorithms
2. Test quickly and more thoroughly
•
Comprehensive Code Generation
Report
3. Saves a lot of time and money
Implementation
Considerations:
1. Data Type
2. Memory Allocation
3. Built-in function’s
support for code
generation
14
MATLAB to C using MEX
What is MEX?
MATLAB code, generated
into C code, compiled into
an executable.
MATLAB CODE
mycode.m file
MATLAB CODER
.c file
MEX function
mycode_mex.mexa64
Advantages of Automatic Translation of
MATLAB to C using MATLAB Coder:
1. Spend more time improving
algorithms
2. Test quickly and more thoroughly
•
Comprehensive Code Generation
Report
3. Saves a lot of time and money
Implementation
Considerations:
1. Data Type
2. Memory Allocation
3. Built-in function’s
support for code
generation
EXPERIMENTS
AND RESULTS
15
Tighter standard
deviation using MEX
Closer adherence to
fixed inter-frame time
16
REFERENCES & ACKNOWLEDGMENTS
1 I. F. Akyildiz, S. Mohanty, M. C. Vuran, and V. Won-Yeol, “NeXt generation/dynamic spectrum
access/cognitive radio wireless networks: A survey,” Computer Networks, vol. 500, no. 13, Sept.
2006.
2 Ettus Research, Inc. [Online]. “USRP N200/N210 Networked Series.”
3 IEEE Std 802.11-2009, “Part 11: Wireless LAN Medium Access Control (MAC) and Physical
Layer (PHY) Specifications.”
4 MathWorks Documentation. [Online] . “Communications System Toolbox Documentation.” “USRP
Support Package from Communications System Toolbox.”
5 Travis Collins, “Multi-Node Software Defined Radio TestBed”, NEWSDR 2014.
6 J. Mitola III and G. Q. Maguire, Jr., "Cognitive radio: making software radios more personal," IEEE
Personal Communications Magazine, vol. 6, nr. 4, pp. 13–18, Aug. 1999.
7 M. Luise and R. Reggiannini, "Carrier frequency recovery in all-digital modems for burst-mode
transmissions", IEEE Trans. Commun., vol. 43, no. 3, pp.1169 -1178 1995.
This work is supported by MathWorks under the Development-Collaboration Research Grant
A#: 1-945815398. We would like to thank Mike McLernon and Ethem Sozer for their
continued support on this project.
Download