wiki:WARPLab/Framework/Modules

Version 4 (modified by chunter, 11 years ago) (diff)

--

WARPLab Modules

The WARPLab Framework consists of 5 core modules: the Node, the Baseband, the Interface Group, the Transport, the Trigger Manager, and User Extensions.

The above figure shows how these 5 modules relate to one another in the context of a typical WARPLab example script. A module generally consists of two paired components: a software and hardware design that runs on the board coupled with a MATLAB class that is used to issue commands and handle responses from the hardware/software pair that runs on the board.

Additionally, the figure shows another framework element, the Trigger, which is not a part of a WARPLab node, but is one way of coordinating action among the multiple nodes in a WARPLab experiment.

Node

A Node module is responsible for broker commands to other modules within the node and collect responses to those commands to deliver back to the user. The other modules in the system belong to the Node module. Furthermore, the Node may also process commands for the node itself and not any of the other modules. The WARPLab Reference Design's implementation of a Node module is described here.

Baseband

A Baseband module is the processing component that is meant to deal with the samples being sent to and from the radio interfaces available to a node. The WARPLab Reference Design's implementations of a Baseband modules are described here.

The MATLAB implementation of Baseband modules are intended to inherit from the wl_baseband.m abstract class.

Interface Group

An Interface Group module is the processing component that deals with configuring radio interfaces. The WARPLab Reference Design's implementations of a Interface Group modules are described here.

The MATLAB implementation of Interface Group modules are intended to inherit from the wl_interface_group.m abstract class.

Transport

A Transport module is responsible for handling messages to and from the WARP hardware. Typically, these messages are exchanged with a host PC. The WARPLab Reference Design's implementations of a Transport modules are described here.

The MATLAB implementation of Transport modules are intended to inherit from the wl_interface_group.m abstract class.

A Transport is an object from the wl_transport abstract class.

Trigger Manager

A Trigger Manager module is responsible for managing how a WARP node's actions are coordinated with other nodes that are in an experiment. The WARPLab Reference Design's implementations of a Trigger Manager modules are described here.

The MATLAB implementation of Trigger Manager modules are intended to inherit from the wl_trigger_manager.m abstract class.

User Extension

A User Extension is meant to deal with extra commands in a WARPLab design that may not be covered by the other modules. By design, the WARPLab Reference Design does not have an implementation of a user extension. Instead, users can add their own module to the WARPLab Reference Design for easy customization.

The MATLAB implementation of User Extension modules are intended to inherit from the wl_user_ext.m class.

Attachments (1)

Download all attachments as: .zip