ECE303L Signals and Systems Lab 7


  1. Investigate the use of MATLAB in decoding touchtone sound sequences.
  2. Study the effect of noise on the accuracy of decoding sound sequences.
  3. Build a Sallen-Key filter to detect one of the touchtone frequencies (and reject the others).


Download lab7 materials


  1. The example script DTMF_decode.m. decodes DTMF sound sequences such as random.wav (which was produced by phone_number.m. Run the script on phone.wav and report the telephone number.

  2. Run this script on the phone numbers you generated in lab 6. You may modify the script as necessary, but it should continue to work on the original sound sequences.

  3. Study the effect of additive white noise (uniform random values) on the accuracy of the MATLAB decoder. Include the response of the decoder to pure noise. Determine the signal-to-noise ratio required for accurate decoding (no errors). Adjust the relative levels of signal and noise so that the rms-value of the signals remain constant.

  4. Build a bandpass Sallen-Key filter (you may need to follow it with a voltage divider) to detect any one of the touchtone frequencies and reject the others. Add a circuit to respond by lighting an LED when the frequency is detected.

  5. Build a live decoder by using the data acquisition system (or the winsound driver on your laptop) to acquire a live phone number (from your cell phone) and MATLAB to decode the telephone number.

Maintained by John Loomis, last updated 22 Nov 2010