myDAQ Student Projects

Showing results for 
Search instead for 
Did you mean: 

NI myDAQ Text Messaging Using Digital ASK Modulation of Audio

NI myDAQ is used to transmit and receive a text message using Amplitude Shift Keying (AS) Modulation.  First the user enters a desired message (10 characters or less) and presses Send.  The text is digitized to an ASCII binary code, modulated, and transmitted out through a speaker.  The audio signal is received by a microphone, demodulated, and interpreted back into text.  Text messages can be transmitted and received using a single myDAQ or two myDAQ can be used to transmit messages from one computer to another.

ASK02 Jul. 19 21.39.jpg

I chose to use the ASCII standard to convert characters into their 8 bit representation because it is a universal standard and ASK as the modulation to transfer the bits over the air because it is relatively easy to decode and sounds like morse code.  The receiver is asyncronous, but does need to know the data rate and maximum number of characters ahead of time.

ASK01 Jul. 19 21.39.jpg

The full methodology for the transmitter and reciever are as follows:

  • Transmitter:
    • Wait until a user presses 'Send' to do anything
    • Convert the message to ASCII 8 bit integers
    • Add 255 to the beginning of the set of integers (which will translate to 11111111, or a long high signal to trigger off of)
    • Convert the integers to bits (symbols)
    • Each time a bit = 1, Generate a sine wave pattern
    • Each time a bit = 0, Generate a DC value of zero
    • Output the signal through the Digital to Analog converter
  • Receiver:
      • Acquire an input audio signal
      • Using an old techniques for decoding AM analog radio, apply a full rectifier to the signal (i.e. absolute value) and filter the signal with a lowpass filter
      • Trigger off of the inital bits 11111111
      • Once a known length of data is collected (based on expected number of characters) translate the bits
      • Based on the
      • Decode the signal left back into bits (1's and 0's) based on the known data rate (samples per symbols)
      • Convert the bits into integer numbers
      • Convert the integer numbers back into ASCII text

    myDAQ Wiring / Connections:

    To test this VI, simply use a 3.5mm audio cable to loop back between the AUDIO IN and AUDIO OUT ports on the myDAQ.  This can also be done between two computers using two myDAQ where the transmitting computer has a cable attached to to AUDIO OUT and the receiver has the AUDIO IN connected.  However, if you want to spice it up a bit, use a standard condenser microphone and set of PC speakers.  You may need to experiment with the threshold set in the Trigger and Gate VI and the distance from the speaker to the microphone.

    Ideas for Educators:

    This VI can be used to explore data rates, bits per symbol, interference, and many other communications concepts.

    A great communications design problem would be to have students maximize the data rate of the existing VI or introduce additional frequencies or magnitudes.

    Learn More:

    Communication Systems Projects with LabVIEW

    This document covers a large amount of communications concepts in LabVIEW using video tutorials and example VIs to bring communications concepts to life.  This material was my inspiration for this demo and the source of the Integrate and Dump VI used in this example.

    Download All
    Active Participant
    Active Participant

    That's a really cool idea!

    Alex Thomas, University of Manchester School of EEE LabVIEW Ambassador (CLAD)


    hi sir,

    your project is good sir .I am trying to implement the same by using qpsk modulation.i have a labvie code for qpsk modulation and demodulation .but when  interface this with mydaq I could not get the output. can you tell me how to multiply the audio output with the carrrier