Skip to content Skip to navigation

Connexions

You are here: Home » Content » Introduction to the LabVIEW Modulation Toolkit

Navigation

Lenses

What is a lens?

Definition of a lens

Lenses

A lens is a custom view of Connexions content. You can think of it as a fancy kind of list that will let you see Connexions through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to Connexions materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual Connexions member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

This content is ...

In these lenses

  • LV Digital Comm display tagshide tags

    This module is included inLens: Analog / Digital Communications with National Instruments LabVIEW
    By: Sam Shearman

    Comments:

    "The LabVIEW Modulation Toolkit is an optional add-on to LabVIEW that offers a wide variety of subVIs to quickly and efficiently implement digital and analog communication systems. Many different […]"

    Click the "LV Digital Comm" link to see all content selected in this lens.

    Click the tag icon tag icon to display tags associated with this content.

Recently Viewed

This feature requires Javascript to be enabled.

Tags

(What is a tag?)

These tags come from the endorsement, affiliation, and other lenses that include this content.

Introduction to the LabVIEW Modulation Toolkit

Module by: Ed Doering. E-mail the author

User rating (How does the rating system work?)
Ratings

Ratings allow you to judge the quality of modules. If other users have ranked the module then its average rating is displayed below. Ratings are calculated on a scale from one star (Poor) to five stars (Excellent).

How to rate a module

Hover over the star that corresponds to the rating you wish to assign. Click on the star to add your rating. Your rating should be based on the quality of the content. You must have an account and be logged in to rate content.

:
(0 ratings)

Summary: The LabVIEW Modulation Toolkit is an optional add-on to LabVIEW that offers a wide variety of subVIs to quickly and efficiently implement digital and analog communication systems. Many different modulation schemes are supported (PAM, ASK, PSK, FSK, QAM, CPM, and MSK), as are channel impairment models, channel coding, and visualizations such as constellation plots, eye diagrams, and trellis diagrams. This module introduces the toolkit with several demonstrations, and shows how to re-implement existing LabVIEW communication systems projects with the toolkit.

Table 1
LabVIEWtop.png This module refers to LabVIEW, a software development environment that features a graphical programming language. Please see the LabVIEW QuickStart Guide module for tutorials and documentation that will help you:
• Apply LabVIEW to Audio Signal Processing
• Get started with LabVIEW
• Obtain a fully-functional evaluation edition of LabVIEW

Note:

Visit LabVIEW Setup to learn how to adjust your own LabVIEW environment to match the settings used by the LabVIEW screencast video(s) in this module. Click the "Fullscreen" button at the lower right corner of the video player if the video does not fit properly within your browser window.

Introduction

The LabVIEW Modulation Toolkit is an optional add-on to LabVIEW that offers a wide variety of subVIs to quickly and efficiently implement digital and analog communication systems. The toolkit subVIs combine to create many modulation schemes including ASK (amplitude shift keying), PAM (pulse amplitude modulation), QAM (quadrature amplitude modulation), FSK (frequency shift keying), MSK (minimum shift keying, a variant of FSK), PSK (phase shift keying), and CPM (continuous phase modulation). Channel impairments simulate various real-world troubles, including additive white Gaussian noise (AWGN), phase noise (also called jitter), fading, multi-tone interference, and quadrature inaccuracies. Standard visualization tools such as constellation plots, eye diagrams, and trellis diagrams are available, as are standard measurement tools for bit error rate (BER), quadrature impairments, burst timing, and modulation quality. Channel coding with linear block codes and convolutional codes is supported, as well as direct sequence spread spectrum (DSSS). Channel equalization is available to correct inter-symbol interference (ISI).

The Figure 1 screencast video continues the introducation to the LabVIEW Modulation Toolkit with a quick walk-through of the various subVI palettes.

Figure 1: [video] Tour of the LabVIEW Modulation Toolkit subVI palettes
Figure 1 (mt_intro-palettes.htm)

Complex Baseband Concept

The Modulation Toolkit uses complex baseband to represent signaling waveforms. All modulation schemes can be represented in this common mathematical notation. The real part of the complex signal is called the in-phase component and denoted I, while the imaginary part of the signal is called the quadrature component and denoted Q. The Figure 2 screencast video explains the mathematical foundation of the complex baseband concept, and describes how several different modulation schemes can all be conveniently represented in this notation.

Figure 2: [video] Explanation of the complex baseband concept
Figure 2 (mt_intro-complexbaseband.htm)

Demonstrations

The LabVIEW Modulation Toolkit offers a powerful way to quickly implement and explore a wide variety of digital communication systems. A good working knowledge of digital modulation schemes is prerequisite to effective use of the toolkit, however. Working through the detailed implementations of the projects Texting Over the Speaker-Air-Microphone (SAM) Channel, Hamming Block Code Channel Encoder, Hamming Block Code Channel Decoder, and Caller ID Decoder will give you the experience necessary to make intelligent use of the toolkit. This section shows how an existing project can be re-implemented using the Modulation Toolkit, and then be quickly modified to try another modulation scheme. In addition, this section illustrates how a modulation scheme can be studied within LabVIEW to improve insight and understanding of the scheme.

BASK Transmitter

The Binary ASK Transmitter project implemented two-level amplitude shift keying (ASK) for transmission over a speaker-air-microphone (SAM) channel. The time-domain signaling waveform and associated power spectral density were also visualized in this project. The Figure 3 screencast video shows how to re-implement this project with components from the LabVIEW Modulation Toolkit.

Figure 3: [video] Re-implement the BASK transmitter with components from the LabVIEW Modulation Toolkit
Figure 3 (mt_intro-basktransmitter.htm)

Alternative Transmitter Modulation Schemes

Once a particular modulation scheme has been implemented with Modulation Toolkit components, other modulation schemes can be explored with minimal effort. For example, the following screencast videos show how to convert the binary ASK scheme to multilevel ASK (Figure 4), and then to binary PSK (Figure 5), and finally to quadrature PSK (QPSK) (Figure 6).

Figure 4: [video] Convert the binary ASK transmitter to multi-level ASK
Figure 4 (mt_intro-mask.htm)
Figure 5: [video] Convert the binary ASK transmitter to binary PSK
Figure 5 (mt_intro-bpsk.htm)
Figure 6: [video] Convert the binary PSK transmitter to quadrature PSK (QPSK)
Figure 6 (mt_intro-qpsk.htm)

QAM Exploration

Quadrature amplitude modulation (QAM) is the modulation scheme used by modern dial-up modems. Your textbook includes a section on QAM and explains the mathematical foundation for this scheme. The Figure 7 screencast video shows how you can quickly develop deeper insight into a modulation scheme such as QAM by visualizing how a bitstream maps to a signaling waveform, and by visualizing the complex baseband signal as a constellation plot.

Figure 7: [video] Exploring the QAM modulation scheme
Figure 7 (mt_intro-qam.htm)

Project Ideas

The LabVIEW Modulation Toolkit greatly simplifies the implementation effort for many types of modulation schemes. Try one or more of the following project activities to make interesting and practical communication systems using the toolkit:

  1. Implement the project Texting Over the Speaker-Air-Microphone (SAM) Channel with Modulation Toolkit subVIs, specifically those for binary ASK. Confirm that you can obtain the same results as on the original version.
  2. Implement the project Texting Over the Speaker-Air-Microphone (SAM) Channel with Modulation Toolkit subVIs, and try other modulation schemes such as M-ary ASK, PSK, FSK, and QAM. Compare the spectra of the various schemes, and study the impact of channel noise for schemes with a high number of bits per symbol.
  3. Implement the projects Hamming Block Code Channel Encoder and Hamming Block Code Channel Decoder using the block coding subVIs from the Modulation Toolkit. Pick a modulation scheme and introduce channel impairments, and then measure the bit error rate with and without block coding.
  4. Implement the Caller ID Decoder project using the FSK-related subVIs from the Modulation Toolkit.

Additional Project Resources

The National Instruments Developer Zone offers twenty-two software simulation and examples that explore a wide variety of communication systems concepts. Some of these examples require the LabVIEW Modulation Toolkit, while others do not. Visit http://zone.ni.com/devzone/cda/tut/p/id/6037#software to access these projects, which include:

  1. Amplitude Modulation -- This example includes background information and step-by-step instructions that examine Amplitude Modulation (AM). Construct a LabVIEW VI that transmits and receives a signal in software using AM.
  2. Frequency Modulation -- This example includes background information and step-by-step instructions that examine Frequency Modulation (FM). Construct a LabVIEW VI that transmits and receives a signal in software using FM.
  3. Single Sideband Modulation (SSB) -- This example examines Single Sideband Modulation (SSB) with a LabVIEW VI that produces a modulated single-sideband signal.
  4. Amplitude Shift Keying (ASK) -- This example includes background information and step-by-step instructions that examine the Amplitude Shift Keying (ASK) digital modulation scheme. Construct a LabVIEW VI that transmits and receives a bit stream in software using ASK.
  5. Frequency Key Shifting (FSK) -- Frequency Shift Keying (FSK) is a digital modulation scheme that modulates a carrier sinusoid's frequency to transfer digital information. In this step-by-step exercise, construct a LabVIEW VI that transmits and receives a digital bit stream in software using FSK.
  6. Phase Shift Keying (PSK) -- This example includes background information and step-by-step instructions that examine the Phase Shift Keying (PSK) digital modulation scheme. Construct a LabVIEW VI that transmits and receives a digital bit stream in software using PSK.
  7. Differential Phase Shift Keying (DPSK) -- This example includes background information and step-by-step instructions that examine the Differential Phase Shift Keying (DPSK) digital modulation scheme. Construct a LabVIEW VI that transmits and receives a digital bit stream in software using DPSK.
  8. OQPSK -- Offset Quadrature Phase Shift Keying (OQPSK) is a variant of Phase Shift Keying modulation that uses four different values of the phase to transmit. This example LabVIEW VI transmits and receives a digital bit stream in software using OQPSK.
  9. Minimum Shift Keying (MSK) -- This example examines the Minimum Shift Keying (MSK) digital modulation scheme.
  10. QAM Symbol Mapping -- This example includes background information and step-by-step instructions that examine the Quadrature Amplitude Modulation (QAM) digital modulation scheme.
  11. QAM M-ary vs. Channel Noise -- This step-by-step demo illustrates the effect of channel noise on an M-ary QAM signal with a LabVIEW-based simulation that shows how noise can effect the transmission of a textual message.
  12. Phase-Locked Loops -- This demo examines the theory behind phase-locked loops with a LabVIEW-based simulation that synchronizes the phase of a generated signal with a reference signal.
  13. LPF and HPF Filter -- This example includes background information and step-by-step instructions that explore high- and low-pass filters. Construct a LabVIEW VI that blocks or attenuates signals of frequencies outside the specified band.
  14. Time Division Multiplexing -- This example introduces Time Division Multiplexing (TDM) with a LabVIEW-based simulation that appends one signal to the end of another, and displays each in both analog and digital formats.
  15. OFDM -- This example examines orthogonal frequency-division multiplexing (OFDM) with a LabVIEW-based simulation of a multi-carrier OFDM digital communication system.
  16. Pulse Width Modulation (PWM) -- This example includes background information and step-by-step instructions that explore Pulse Width Modulation (PWM), a digital modulation scheme that transmits analog information by altering pulse width.
  17. Pulse Position Modulation (PPM) -- This example includes theory and step-by-step instructions that explore Pulse Position Modulation (PPM).
  18. Pulse Amplitude Modulation (PAM) -- This example includes background information and step-by-step instructions that explore Pulse Amplitude Modulation (PAM). In this exercise, construct a LabVIEW VI that transmits analog information by changing pulse amplitude.
  19. IQ Data -- This demo introduces IQ data and explores why it is useful in communications. Analyze three LabVIEW VI's that show how IQ data represents changes in the magnitude and phase of a sine wave.
  20. Sampling Theorem -- This step-by-step example examines the sampling theorem and how it is used to determine minimum sampling speeds. In this exercise, construct a LabVIEW VI that illustrates the concept behind the sampling theorem.
  21. Channel Coding -- This example examines the processing technique of channel coding with a LabVIEW-based simulation that illustrates how channel coding allows original data to recover from noise in the channel.
  22. Carrier Recovery -- Channel noise can have a significant effect on carrier recovery. In this demo, analyze a LabVIEW VI that shows what behavior can occur when channel noise is significant enough to prevent carrier locking.

Content actions

Give Feedback:

E-mail the module author | Rate module ( How does the rating system work?)

Rating system

Ratings

Ratings allow you to judge the quality of modules. If other users have ranked the module then its average rating is displayed below. Ratings are calculated on a scale from one star (Poor) to five stars (Excellent).

How to rate a module

Hover over the star that corresponds to the rating you wish to assign. Click on the star to add your rating. Your rating should be based on the quality of the content. You must have an account and be logged in to rate content.

(0 ratings)

Download:

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections directly in Connexions. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need a Connexions account to use 'My Favorites'.

| A lens (?)

Definition of a lens

Lenses

A lens is a custom view of Connexions content. You can think of it as a fancy kind of list that will let you see Connexions through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to Connexions materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual Connexions member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks