Programming Broadband Wireless with Sora
Presented by: Kun Tan, Jiansong Zhang (Wireless and Networking Group, MSR Asia) and Paul Wang (Innovative Engineering Group, MSR Asia)
Monday, August 13, 2012 (full day)
Helsinki, Finland
Room: #21
Tutorial Requirements
Attendees will utilize a Windows-based PC equipped with Sora hardware. A basic understanding of Windows programming and Windows Driver Kit (WDK) is expected. Knowledge on wireless communication/OFDM is useful but not required. Further, since PCs prepared in the tutorial is limited (and may be shared for online experiments), each attendee is expected to bring his/her own Windows laptop for offline programing and exercises. The laptop should have an Intel CPU with a Windows operating system (XP/Win7) or a Windows system running in a virtual machine. The latest Sora SDK should be installed. You can find the latest version here. More background information on the Sora Platform can be found on MSRA site or Sora forum.
Due to the facility constraints, the number of attendees for the tutorial is limited to 20.
Email the OrganizersTechnical Program
-
Sora architecture
Sora usage
-
Sora software architecture
The Brick programming model
Victor1 SIMD library
Debug using DbgPlot
-
Introduction of OFDM communication
Walk-through of Sora broadband OFDM sample
Demonstration of Sora
-
Sora hardware configuration and tuning
Spectrum analysis using Sora
-
A simple communication system: physical layer
A complete communication system: MAC and networking
Motivation
Wireless networking is ubiquitous and has become an essential part of the global Internet. Evidently, the general networking community is increasingly interested in wireless research, especially in broadband wireless communication and networking. More and more research works are crossing into the lower layer wireless primitives, instead of only higher layers (MAC and above) on existing standards (notably WiFi).
To facilitate the experiment and evaluation of new research ideas, Microsoft Research Asia has developed a high-speed software radio platform, called Sora. Fully utilizing the state-of-the-art multi-core CPU, Sora combines the performance and fidelity of hardware SDR platforms with the programmability and flexibility of general-purpose processor (GPP) SDR platforms. Sora is highly capable to implement and experiment state-of-the-art broadband wireless technologies, like WiFi and LTE.
This full-day tutorial will be split into two parts. In the morning session, we will focus on the Sora basic, architecture, programming model, and useful tools. We will also present an introduction to OFDM and MIMO communication. In the afternoon, we will use the tools discussed in the morning session to program on Sora platform and rapidly develop a broadband wireless communication system.
Outline
- Introduction to Sora
- Sora architecture
- Hardware: Radio Control Board (RCB) and RF frontends
- Software: Sora SDK; Kernel drivers; Testing and configuration
- Sora usage
- Basic operations
- Useful tools (dut/demod11/umxsdr/debugplot/etc.)
- Programming Sora
- Sora software architecture
- Sora components
- Kernel mode and User-mode(UMX) API
- Reflection
- The Brick programming model
- Brick module
- Basic concept
- Interfaces and events
- Facade and local context
- Parameterized Brick
- Example Bricks
- Processing graph
- Connecting Bricks
- Graph context
- Multi-threading
- Example graph
- Exercise: Hello Brick program
- Victor1 SIMD library
- Overview
- Vector data types
- Vector operations
- Rep utility
- Exercise: Hello Vector1 program
- Debug using DbgPlot
- Introduction of OFDM communication
- Fundamentals of OFDM
- Synchronization
- Channel estimation, equalization and tracking
- MIMO-OFDM
- Walk-through of Sora broadband OFDM sample
- Key algorithms and their implementations
- Processing graph
- Demonstration of Sora
- Lab experiments and exercises
- Sora hardware configuration and tuning
- Spectrum analysis using Sora
- A simple communication system: physical layer
- A complete communication system: MAC and networking
About the Presenters
Kun Tan
Kun Tan is a Lead Researcher at Microsoft Research Asia. He leads the development of the Sora Software Radio system. His research interests include transport protocols, congestion control, delay-tolerant networking, and wireless networks and systems. Previously, he has developed the Compound TCP, which has been implemented and deployed in latest Windows OS. Dr. Tan won the best paper award in NSDI 2009, and also won best demo awards in NSDI 2009 and Sigcomm 2010. He is an associate editor of IEEE Transaction of Mobile Computing. He is also an adjunct professor of the department of Electronic Engineering of HUST, China.
Dr. Tan received the B.E., M.E. and Ph.D. degree in Computer Science and Engineering from Tsinghua University, Beijing, China, in 1997, 1999, and 2002 respectively. He is a member of IEEE and ACM.
Jiansong Zhang
Jiansong Zhang is an Associate Researcher at Microsoft Research Asia. He joined MSRA in July 2006, immediately after he received his Master degree from Tsinghua University. Before that, he obtained his Bachelor degree also from Tsinghua University in 2004. During the years in MSRA, he devoted most of his time to Software Radio (Sora project) and Wireless system design related research. He has published several papers in top-tier conference like Sigcomm, Mobicom, NSDI, Infocom as primary author or co-author. From September of 2011 to present, he has started to pursue a PhD degree in the CSE department of Hong Kong University of Science and Technology (HKUST) in a joint program between MSRA and HKUST.
Paul Wang
Paul Wang is a Research Software Development Engineer at Microsoft Research Asia. He received his Bachelor degree in Department of Engineering and System Science, National Tsing Hua University, Taiwan, in 1999, and the Master degree in Department of Computer Science and Information Engineering, National Taiwan University, Taiwan, in 2010. His research interests include operating system and programming languages