Center for Wireless Communications and Signal Processing Research

Software Defined Radio


A software-defined radio (SDR) consists of a programmable communication system where functional changes can be made by merely updating software. A SDR can be programmed using a variety of platforms and in this course we will be using LabVIEW. LabVIEW is a widely used graphical programming environment which allows designing systems in an intuitive block-based manner in shorter times as compared to the commonly used text-based programming languages. Moreover, we will adopt the SDR hardware produced by National Instruments and known as Universal Software-defined radio (USRP)

In this handbook you will learn about the LabVIEW as it pertains to the programming of USRP boards.

1. LabVIEW

The basic building block of LabVIEW is the virtual instrument (VI). The VI implements a function with given input and outputs.

Each VI comes with two different parts: block diagram (Fig 1) and a front panel (Fig 2). The block diagram describes the functionality of the VI (it is the code layer which is not visible to the end user), while the front panel is the visual outlet of the code layer. Programmer can password protects their block diagrams so that users can run the VI using its front panel, but cannot view/edit the corresponding block diagram.

Fig 1 – LabVIEW VI block diagram

Fig 2 – LabVIEW VI front panel

Front Panel
Fig 1 – LabVIEW block diagram

Block Diagram
Fig 2 – LabVIEW front panel

LabVIEW consists of three main palettes:

1.    Tools Palette        

Tools palette is a collection of buttons (icons) grouped on screen that provides a quick way to select available functions by pointing and clicking (Fig 3). Those icons make applicants able to modify and debug VI s. (This palette is only used for Block diagram)
The icons used in tools palette are listed below:

Fig 3- Tools palette
Fig 3- Tools palette

The Tools palette contains the following tools, they are used to operate and modify front panel and block diagram objects:

Automatic tool selection   Automatic Tool Selection: If automatic tool selection is enabled and you move the cursor over objects on the front panel or block diagram, Lab VIEW automatically selects the corresponding tool from the Tools palette. You can disable automatic tool selection and select a tool manually.

Operating    Operating: Changes the value of a control.

Positioning   Positioning: Positions, resizes, and selects objects.

Labeling   Labeling: Creates free labels and captions, edits existing labels and captions, or selects the text within a control.

Wiring   Wiring: Wires objects together on the block diagram.

Shortcut   Object Shortcut Menu: Opens the shortcut menu of an object.

Scrolling   Scrolling: Scrolls the window without using the scroll bars.

Breaking Point   Breakpoint: Sets breakpoints on VIs, functions, nodes, wires, structures, and (Math Script RT Module) lines of script in a Math Script Node to pause execution at that location.

Probe   Probe: Creates probes on wires or (Math Script RT Module) Math Script Nodes. Use the Probe tool to check intermediate values in a VI that produces questionable or unexpected results.

Get Color    Get Color: Copies colors for pasting with the Coloring tool.

ColoringColoring: Sets the foreground and background colors.

2.    Controls Palette   

Control palette use the controls and indicators to create front panels for VIs (Fig 4) The controls and indicators are located on sub palettes based on the types of controls and indicators. (This palette is only used for front panel)

Funtions Palette
Fig 4- Controls palette

Sub palettes:

  • Modern: Extended collection of controls and indicators you can use to create most front panels.
  • Silver: Alternative extended collection of controls and indicators you can use to create most front panels. The silver controls change appearance depending on which platform you run the VI.
  • System: Collection of controls and indicators to use in dialog boxes you create. The system controls change appearance depending on which platform you run the VI.
  • Classic: Collection of controls and indicators to create Vis for low-color monitors settings.
  • Express: Subset of controls and indicators available on the Modern palette. Because the Express palette contains a more limited selection, you can locate the controls and indicators you need faster and build front panels quickly. Use the controls and indicators on the Modern palette if you need a wider selection.
  • .NET & ActiveX: Collection of controls and indicators to manipulate common .NET or ActiveX controls.
  • User Controls: Contains objects you add to the Controls palette. By default, the User Controls palette does not contain any objects.
3.    Functions Palette

Lab view organizes the VIs and functions on the functions palette using categories which is shown in (Fig 5).( This palette is only used for block diagram)

Functions Palette
Fig 5- Function Palette

Use the navigation tool below to learn about the content of this palette, what they do and where they can be located.