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.
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
LabVIEW consists of three main palettes:
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:
The Tools palette contains the following tools, they are used to operate and modify front panel and block diagram objects:
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: Changes the value of a control.
Positioning: Positions, resizes, and selects objects.
Labeling: Creates free labels and captions, edits existing labels and captions, or selects the text within a control.
Wiring: Wires objects together on the block diagram.
Object Shortcut Menu: Opens the shortcut menu of an object.
Scrolling: Scrolls the window without using the scroll bars.
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: 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: Copies colors for pasting with the Coloring tool.
Coloring: Sets the foreground and background colors.
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)
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)
Use the navigation tool below to learn about the content of this palette, what they do and where they can be located.