A MIMO Modeling Framework Usingdomingo/teaching/ciic8996/MIMO... · 2012-09-10 · A MIMO Modeling...

Preview:

Citation preview

A MIMO Modeling Framework Using a Software Defined Radio Paradigm

Angel Camelo VasquezAdvisor: Dr. Domingo Rodriguez

University of Puerto RicoUniversity of Puerto RicoJuly 2012

Edited by D. Rodriguez – Sept. 2012

OutlineOutline

• MotivationMotivation• Objectives• Background• Background• MethodologyD i• Design

• Implementation• Testing• Conclusions

MotivationMotivation

Message Message

Sender ReceiverChannel

MotivationMotivation

• Multiple Input Multiple Output (MIMO): useMultiple Input Multiple Output (MIMO): use of multiple antennas, both, at transmitter and receiver.– MIMO is a trending technology into the signal communications realm.

– Actual implementations with 3GPP, WiMAX, WiFi.

• Software Defined Radio– Radio implemented by means of software.

• Time‐frequency Representations

ObjectivesObjectives

• Design implement and test a framework forDesign, implement, and test a framework for MIMO channel monitoring and simulation– Redesign the existent SIgnal Representation– Redesign the existent SIgnal RepresentationLABoratory application software named SIRLAB.

– Implement time‐frequency RepresentationsImplement time frequency Representations.

– Provide a MIMO simulation.

BackgroundBackground

• CommunicationsCommunications

• Software Defined Radio

i i• Time‐Frequency Representations

CommunicationsCommunications

• CommunicationsCommunications– Send multiple symbols with different antennas.

The signal is modified by the channel and possibly– The signal is modified by the channel and possibly reflected by several scatterers.

– Multiple copies of the signal may be received and– Multiple copies of the signal may be received and processed.

Communications ChannelCommunications ChannelAnten

nas

Anten

nas

nsmission

 

ecep

tion A

Tra R

Software Defined RadioSoftware Defined Radio

• Like traditional radioLike traditional radio– It does what a typical radio does.

• Unlike traditional radio• Unlike traditional radio– Several components have been implemented computationallycomputationally.

• Software can perform jobs that before were d b h ddone by hardware.

• Extending the software towards the antenna

Traditional RadioTraditional Radio

Source Coding

Channel Coding

Baseband Modulation

Upconverter

lCh

anne

Source Decoding

Channel Decoding

Baseband Demodulation

Downconverter

Software Hardware

Traditional Radio Paradigm

Software Defined RadioSoftware Defined Radio

Source Coding

Channel Coding

Baseband Modulation

Upconverter

lCh

anne

Source Decoding

Channel Decoding

Baseband Demodulation

Downconverter

Software Hardware

SDR Paradigm

Software Defined Radio ToolsSoftware Defined Radio Tools

• SoRa by MicrosoftSoRa, by Microsoft

• Simulink,  by MATLAB 

G di O S• GNUradio,  as an Open Source

Software Defined Radio ImplementationSoftware Defined Radio Implementation

FPGA

Personal ComputerASIC

Software Defined Radio lImplementation

USB

Personal Computer

Time‐Frequency RepresentationsTime Frequency Representations

• Techniques and methodsTechniques and methods

• Signals whose characteristics are changing with timewith time

• Allow to extract additional information

• High computational  requirements

Time‐Frequency RepresentationsTime Frequency Representations

NO DISCRIMINATIONDISCRIMINATION

DISCRIMINATION

©AIP Lab UPRM

MethodologyMethodology

• Available tools– SIRLAB, by the AIP Lab– GNUradio, as an Open Source

• Preliminary Results• Preliminary Results– SIRLAB Parallelization– User Integration: webSIRLAB, SIRDroid

• Framework for MIMO channel monitoring and simulation– Designg– Implementation– Testing

SIRLAB on a NetSig Node ProcessorSIRLAB on a NetSig Node Processor

©AIP Lab UPRM

SIRLABSIRLAB: A Tool for Research and Education

SIRLAB SI l R t ti LAB t• SIRLAB: SIgnal Representation LABoratory

• Open‐Source Framework Developed at the AIP Lab

R h T l f Ti F A l i• Research Tool for Time‐Frequency Analysis 

• Educational Tool for Signal Representation

• Based on OpenCV and FFTW Software  Libraries

• Uses R. Tolimieri’s Theory on Time‐Freq. Repres.

• Input Format: WAV File

• Language Written: C/C++ 

• Speed Up Time: 20+ Times Faster than Most Known MATLAB‐based Time‐Frequency Tools

• Known Time Frequency (T F) Toolboxes• Known Time‐Frequency (T‐F) Toolboxes– http://tftb.nongnu.org  (TFTB)

• Developed by Rice Univ.: http://dsp rice edu/ &Developed by Rice Univ.: http://dsp.rice.edu/ &  CN Recherche Scientifique: http://www.cnrs.fr/

– http://espace.library.uq.edu.au/view/UQ:211321• T‐F Signal Analysis (TFSA) Matlab Toolbox v.5.5• Developed by Univ of Queensland: uq edu au/• Developed by Univ. of Queensland: uq.edu.au/

– http://www.mathworks.com/matlabcentral• DiscreteTFDs – T‐F Signal Analysis Software• Developed by Jeff O'Neill: jco8@cornell.edu

SIRLAB: Running on a NetSig Node IW

ring

 Network

WITD

ro

1

2

3

4

5

1

2

3

4

5

NetSig: on a Linux‐based node

Mon

itor

oid

1

2

3

4

5

1

2

3

4

5processor with WSN access

Spectrog

rk

11

2

3

4

5

1

2

3

4

5

gram Displays

AB Fram

ewor

00.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2

−0.25

−0.2

−0.15

−0.1

−0.05

0

0.05

0.1

0.15

0.2

0.25

Time (Secs)

Am

pli

tud

e

1

2

3

4

5

1

2

3

4

5

SIRLA

SIRLAB ArchitectureSIRLAB Architecture

©AIP Lab UPRM

SIRLAB Frame ExampleSIRLAB Frame Example

©AIP Lab UPRM

SIRLAB’s Standard Output 

Sea waves…

Frame Magnification: Time 

Frame Magnification: Frequency

Frame Magnification: Time & Frequency

SIRLAB ChallengesSIRLAB Challenges

• Parallelization Into Multiple CoresParallelization Into Multiple Cores

• Improve the User ExperienceMi i I t ll ti Eff t– Minimum Installation Effort

– User Friendly Interaction

• Client – Server Architecture

• Integration with Mobile Devices

webSIRLABwebSIRLAB

• Web Interface for SIRLABWeb Interface for SIRLAB

• Client Server Architecture

l ibl S l i• Flexible Parameter Selection

• Easy Signal Submission for Processing at Server

• Friendly Display for Results

• Minimum Installation EffortMinimum Installation Effort– Modern html5 web browser is required.

Research contribution

webSIRLAB’s User InterfacewebSIRLAB s User Interface

Research contribution

webSIRLABwebSIRLAB

Research contribution

webSIRLAB ArchitecturewebSIRLAB Architecture

User

Web Browser

HTML5

webSIRLAB

PHP

Javascript

1 2

Research contribution

SIRDroidSIRDroid

• Android interface for SIRLABAndroid interface for SIRLAB– Android is the leading mobile operating system

• Client Server Architecture• Client Server Architecture

• Can record data on real environment and get results in a few seconds

Research contribution

SIRDroidSIRDroid

Research contribution

SIRDroid ArchitectureSIRDroid Architecture

Client Server

Mic

AndroidMobile Device

1

2

3

4

Research contribution

GNUradioGNUradio

• Open Source SoftwareOpen Source Software

• Provides a library of signal processing blocks

S d d i i l• Sends and receives signals

• Audio, USRP, Network (TCP, UDP), File, Wav File

• USRP makes GNUradio wireless capablep

• Software Defined Radio

GNUradio ArchitectureGNUradio Architecture

Python SWIG C++ Module C++ BlockPython SWIG C++ Module C++ Block

GNUradioCompanion

*SWIG: Simplified Wrapper Interface Generator

GNUradio CompanionGNUradio Companion

• Graphical Interface to GNUradioGraphical Interface to GNUradio

• Iconic Programming Language

f l di• Powerful Editor– Place the Required Blocks

– Configure Each Block

– Connect them Together

– Build and Run

GNUradio CompanionGNUradio Companion

GNUradio ChallengesGNUradio Challenges

• Build Time‐frequency RepresentationsBuild Time frequency Representations– Short Time Fourier Transform

Ambiguity Function– Ambiguity Function

– Wigner Distribution

Ch i Willi Di t ib ti– Choi – Williams Distribution

DESIGNThe theory behind the solution

DESIGN

Design OutlineDesign Outline

• Time‐Frequency RepresentationsTime Frequency Representations– Algorithms, complexity and parallelization

• MIMO Channel• MIMO Channel– MIMO System Modeling

– Proposed Channel Modeling• Modulation‐Convolution‐Delay

D l C l ti M d l ti• Delay‐Convolution‐Modulation

Time‐Frequency RepresentationsTime Frequency Representations

Short Time FourierShort Time Fourier Transform

Ambiguity Function

Wigner Distribution

Choi‐Williams Distribution

Short Time Fourier TransformShort Time Fourier Transform

Research contribution

Computational Time Complexity:

Ambiguity FunctionAmbiguity Function

Research contribution

Computational Time Complexity:

Wigner DistributionWigner Distribution

Research contribution

Computational Time Complexity:

Choi‐Williams DistributionChoi Williams Distribution

Research contributionComputational Time Complexity:

MIMO SystemMIMO System

The channel is seen as aThe channel is seen as a linear system

H then is decomposed

Finally

The symbols are preprocessed at the t itt d t d t th itransmitter and post‐processed at the receiver

MIMO SystemMIMO System

• The channel must be estimatedThe channel must be estimated– Several mechanisms have been proposed and implementedimplemented

– Subject to errors

• The Shannon capacity increases linearly with• The Shannon capacity increases linearly with every pair of antennas at the transmitter and receiverreceiver.

Formulated MIMO ChannelFormulated MIMO Channel

• A “MxN” MIMO channel can be seen as a collection of C=MxN Single Input Single Output (SISO) Channels.

• Every SISO Channel is then modeled like a channel with 3 t3 operators:– Delay: The signal has a latency while is propagating– Convolution: The medium acts like a FIR FilterConvolution: The medium acts like a FIR Filter– Modulation: The medium inserts a Doppler shift

• The order is important, this yields two approximations: – Delay‐Convolution‐Modulation (DCM)– Modulation‐Convolution‐Delay (MCD)

Research contribution

DCMDCM

OperatorsOperators

CompositionComposition

MIMOResearch contribution

MCDMCD

OperatorsOperators

CompositionComposition

MIMOResearch contribution

IMPLEMENTATIONThe code behind the solution

IMPLEMENTATION

Time Frequency RepresentationsTime Frequency Representations

• The main implementation is done in C++The main implementation is done in C++

• Object oriented programming

h i f i i l• Each time‐frequency representation is a class– Implements from gr_block interface

– The method general_work is implemented

– A constructor sets the initial properties of each time frequency representation

Time‐Frequency RepresentationsTime Frequency Representations

Block InterfaceInterface

Constructor, destructor and general work aregeneral_work are implemented

ParallelizationParallelization

• Each running block is a thread into the wholeEach running block is a thread into the whole system

• Our time‐frequency representation blocks areOur time frequency representation blocks are executed in parallel as an option– Data parallelismp– OpenMP was selected for parallelization

• API for automatic parallelization, include compiler di i lib i d f idirectives, libraries and functions

• Cross compatibility, great support and meets the project requirement

MIMO ChannelMIMO Channel

• Development of each block MCD and DCMDevelopment of each block, MCD and DCM internally with GNUradio Companion

• Iconic Programming• Iconic Programming

MCD and DCM BlocksMCD and DCM Blocks

Research contribution

4x4 MIMO4x4 MIMO

Research contribution

TESTINGThe results behind the solution

TESTING

Acoustic Channel SurveillanceAcoustic Channel Surveillance

• The STFT can be used to monitor theThe STFT can be used to monitor the environment – Species characterization in bioacoustics– Species characterization in bioacoustics

– Sonar

Acoustic Channel SurveillanceAcoustic Channel Surveillance

Research contribution

Channel SurveillanceChannel Surveillance

Research contribution

Ambiguity FunctionAmbiguity Function

• Used for SonarsUsed for Sonars

• Design of Signals

i f l d l Shif• Detection of  Delay and Doppler Shifts

• Testing With Well Known Signals– Sine

– Square

SineSine

Research contribution

SineSine

Research contribution

SquareSquare

Research contribution

2x2 MIMO2x2 MIMO

Research contribution

2x2 MIMO2x2 MIMO

Research contribution

Parallelization MetricsParallelization Metrics

• Dell 1520 • Samsung RC512Dell 1520

• Intel Core2 T5850– 2.16 GHz

Samsung RC512

• Intel Core i7 2630QM– 2.0 ‐> 2.9 GHz2.16 GHz

– 4MB Cache

– 2 Cores, 2 Threads

2.0   2.9 GHz

– 6MB Cache

– 4Cores, 8 Threads

• 4GB@667MHz

• Linux 2.32

• 6GB@1333MHz

• Linux 3.2

Dell 1520Dell 1520100000

10000

1000

illisecon

ds

STFT

Ambfunc

100

M Ambfunc

Wigner

1

10

1256 512 1024 2048 4096 8192

Size

Research contribution

Dell 1520Dell 1520

3500

4000

STFT

3500

4000

AmbFunc

1000

1500

2000

2500

3000

3500

Milisecond

s

1 Thread

2 Threads 1000

1500

2000

2500

3000

3500

Milisecond

s

1 Thread

2 Threads

0

500

1000

256 1024 4096

SIze

0

500

1000

256 1024 4096

SIze

25000

30000

Wigner

5000

10000

15000

20000

Milisecond

s

1 Thread

2 Threads

0256 1024 4096

SIze Research contribution

Samsung RC512Samsung RC512100000

Time‐Frequency Representations

10000

1000

Millisecon

ds

STFT

Ambfunc

10

100

M Wigner

ChoiWill

1

10

256 512 1024 2048 4096 8192

Research contribution

256 512 1024 2048 4096 8192

Size

Samsung RC512Samsung RC512

1400

1600

STFT2000

AmbFunc

400

600

800

1000

1200

1400

Milisecond

s 1 Thread

2 Threads

4 Threads

8 Th d 500

1000

1500

Milisecond

s 1 Thread

2 Threads

4 Threads

8 Th d

0

200

400

256 2048

SIze

8 Threads

16 Threads0

500

256 2048

SIze

8 Threads

16 Threads

10000

12000

Wigner

15000

20000

s

ChoiWill

2000

4000

6000

8000

Milisecond

s 1 Thread

2 Threads

4 Threads

8 Threads0

5000

10000

Milisecond

s 1 Thread

2 Threads

4 Threads

8 Threads

16 Threads

Research contribution0

2000

256 2048

SIze

16 Threads0256 2048

SIze

16 Threads

Speed UpsSpeed Ups

5

Speed Up STFT5

Speed Up AmbFunc

2

3

4

2

3

4

0

1

1 Thread 2 Threads 4 Threads 8 Threads 16 Threads

512 1024 2048 4096 8192

0

1

1 Thread 2 Threads 4 Threads 8 Threads 16 Threads

512 1024 2048 4096 8192

3

3.5

4

Speed Up Wigner

3.5

4

4.5

Speed Up ChoiWill

1

1.5

2

2.5

3

1

1.5

2

2.5

3

0

0.5

1 Thread 2 Threads 4 Threads 8 Threads 16 Threads

512 1024 2048 4096 8192

0

0.5

1 Thread 2 Threads 4 Threads 8 Threads 16 Threads

512 1024 2048 4096 8192

ConclusionsConclusions

• A MIMO Modeling framework was presentedA MIMO Modeling framework was presented using a software defined radio paradigm into GNUradio.

• Several time‐frequency blocks were designed into GNUradio using the proposed framework.

• A testing workflow was defined using the models and algorithms developed.

• Several works requiring a time‐frequency representation can take advantage of the developed framework.

ContributionsContributions

• MIMO Channel Modelingg• SIRLAB Web Integration• SIRLAB Android Integration• STFT, AmbFunc, Wigner, Choi‐Williams SDR ImplementationMIMO Ch l SDR I l t ti• MIMO Channel SDR Implementation

• Applications: Channel Surveillance• Publications:• Publications:

– IEEE LASCAS– IBERSENSOR

Future workFuture work

• Channel EstimationChannel Estimation

• Develop Input Signals With the Framework

S G i• DSP, FPGA Integration

• NetSig Integration

Recommended