/
Implementing a MATLAB-based Self-Configurable Software Defined Radio Transceiver Implementing a MATLAB-based Self-Configurable Software Defined Radio Transceiver

Implementing a MATLAB-based Self-Configurable Software Defined Radio Transceiver - PowerPoint Presentation

sherrill-nordquist
sherrill-nordquist . @sherrill-nordquist
Follow
364 views
Uploaded On 2018-03-22

Implementing a MATLAB-based Self-Configurable Software Defined Radio Transceiver - PPT Presentation

Presenter Kaushik Chowdhury Next   GE neration   NE tworks and   SYS tems Lab Authors Benjamin Drozdenko Ramanathan Subramanian Kaushik Chowdhury Miriam Leeser 2 AIM OF THE PROJECT ID: 661415

code matlab mex frame matlab code frame mex time usrp generation file coder system data fixed mycode support translation

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Implementing a MATLAB-based Self-Configu..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Implementing a MATLAB-based Self-Configurable Software Defined Radio Transceiver

Presenter:

Kaushik Chowdhury

Next

 

GE

neration NEtworks and SYStems Lab

Authors:

Benjamin Drozdenko

Ramanathan Subramanian

Kaushik Chowdhury

Miriam LeeserSlide2

2

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. Slide3

3

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? Slide4

4

SYSTEM ARCHITECTURESlide5

5

DETAILED SYSTEM DESIGN

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.

1. Energy Detection

3: Receive ACK Frame

2: Transmit DATA Frame

Designated Transmitter (DTx)

1.1

Wait

DIFS

1.2

Detect Energy

1.3

MAC Contend

Entry: Prepare 802.11b DATA frame

(256 USRP frames)

During: Prepare new USRP frame

(64 bits ≡ 1408 samples)

Exit: Wait SIFS

3

.1

Search SYNC

3.2

Read Header

3

.1

3.2

Machine 1

2 Slide6

6

DETAILED SYSTEM DESIGN

1. Receive DATA Frame

3: Wait DIFS

2: Transmit ACK Frame

Designated Receiver (DRx)

Entry: Prepare 802.11b ACK frame

(4 USRP frames)

During: Prepare new USRP frame

(64 bits

≡ 1408 samples

)

Exit: Wait SIFS

1.1

Search SYNC

1

.2

Read Header

1.3

Read Payload

1.1

1

.2

1.3

Machine 2

DRx waits for DCF Inter-frame Space (DIFS) duration before re-entering DRx State 1

2 Slide7

7

Param

Block

Description

Value/ Range

Fixed/ Tunable

R

i

, R

d

USRP

USRP Interpolation / Decimation Factor

500

Fixed

L

f

USRP

USRP Frame Length

64 bits

Fixed

L

p

Frame

#Octets per 802.11b Frame Payload

2012 octets

Fixed

K

RFFE

AGC Step Size

0.1 – 10

Tunable

N

RFFE

AGC Update Period

128 –1408

Tunable

Δf

RFFE

Frequency Resolution

1 – 16 Hz

Tunable

SYSTEM BLOCKS

RFFE

R

adio

F

requency

F

ront

E

nd: Automatic Gain Control (AGC),

Frequency Offset Estimation & Compensation

, and

Raised Cosine Receive Filter

(RCRF)

PD

P

reamble

D

etection

DDD

D

espreading

,

D

emodulation, and

D

escrambling

SMS

RCTF

S

crambling,

M

odulation,

and

S

preading

R

aised

C

osine

T

ransmit

F

ilter

PARAMETER CHOICESSlide8

8

SYNC DETECTION

1.) Compare Received Signal (complex

samples)

to Expected

Spread Preamble (real samples)

Despread and demodulate to get real bits

2.) Compare Demodulated Signal to Expected Scrambled Preamble (real symbols)

−Window1

+Window1

Descrambled Next USRP

Frame

Expected SFD Sequence

Window2

+Window2

3.) Compare Descrambled 2

nd

USRP Frame to

Expected SFD Sequence (real bits

)Slide9

9

EXPERIMENTAL SETUPSlide10

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

Hard to keep functional and implementation specs separateCoding errors

Not time-efficient or cost-effectiveSlide11

11

MATLAB to C using

MEX

Advantages of

Automatic Translation

of MATLAB to C using MATLAB Coder:Spend more time improving algorithmsTest quickly and more thoroughlyComprehensive Code Generation Report

Saves a lot of time and moneyImplementation Considerations:Data TypeMemory AllocationBuilt-in function’s support for code generation

MATLAB CODEmycode.m file

MATLAB CODER

.c file

MEX function

mycode_mex.mexa64

What is MEX?

MATLAB code, generated into C code, compiled into an executable.Slide12

12

MATLAB to C using

MEX

Advantages of

Automatic Translation

of MATLAB to C using MATLAB Coder:Spend more time improving algorithmsTest quickly and more thoroughlyComprehensive Code Generation Report

Saves a lot of time and moneyImplementation Considerations:Data TypeMemory AllocationBuilt-in function’s support for code generation

MATLAB CODEmycode.m file

MATLAB CODER

.c file

MEX function

mycode_mex.mexa64

What is MEX?

MATLAB code, generated into C code, compiled into an executable.Slide13

13

MATLAB to C using

MEX

Advantages of

Automatic Translation

of MATLAB to C using MATLAB Coder:Spend more time improving algorithmsTest quickly and more thoroughlyComprehensive Code Generation Report

Saves a lot of time and moneyImplementation Considerations:Data TypeMemory AllocationBuilt-in function’s support for code generation

MATLAB CODE

mycode.m file

MATLAB CODER

.c file

MEX function

mycode_mex.mexa64

What is MEX?

MATLAB code, generated into C code, compiled into an executable.Slide14

14

MATLAB to C using

MEX

Advantages of

Automatic Translation

of MATLAB to C using MATLAB Coder:Spend more time improving algorithmsTest quickly and more thoroughlyComprehensive Code Generation Report

Saves a lot of time and moneyImplementation Considerations:Data TypeMemory AllocationBuilt-in function’s support for code generation

MATLAB CODE

mycode.m file

MATLAB CODER

.c file

MEX function

mycode_mex.mexa64

What is MEX?

MATLAB code, generated into C code, compiled into an executable.Slide15

15

EXPERIMENTS AND RESULTS

Closer adherence to fixed inter-frame time

Tighter standard deviation using MEXSlide16

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.

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.