Connexions

You are here: Home » Content » DMT: Implementation
Content Actions
Lenses

What is 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.

This content is ...
Affiliated with (?)
This content is either by members of the organizations listed or about topics related to the organizations listed. Click each link to see a list of all content affiliated with the organization.
  • This module is included inLens: Rice University ELEC 301 Project Lens
    By: Rice University ELEC 301As a part of collection:"ECE 301 Projects Fall 2003"

    Click the "Rice University ELEC 301 Projects" link to see all content affiliated with them.

    Rice University ELEC 301 Projects
  • This module is included inLens: Rice University OpenCourseWare
    By: OpenCourseWare ConsortiumAs a part of collection:"ECE 301 Projects Fall 2003"

    Click the "Rice University OCW" link to see all content affiliated with them.

    Rice University OCW
Tags

(?)

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

DMT: Implementation

Module by: Chris Sramek

Summary: Describes our implementation of a DMT system.

DMT System

Our DMT system can be represented by the following block diagram:
Block Diagram
blockdiagram.jpg
Figure 1
Visit the following links to find out more about the particular subsystems:

Operation of the System

Before we talk about our implementation, we need to describe how DMT may be used to send and receive an analog signal:
  • A sampled analog signal passes through an A/D converter (Q bits/sample) where it is represented as a bitstream.
  • The bitstream is divided into S length N parallel blocks with a serial-to-parallel converter.
  • Each block undergoes a constellation mapping, where segments of bits (length B) are represented as single complex values in a constellation.
  • The mapped blocks are mirrored to give them conjugate symmetry (which increases their lengths to 2N/B), then the IFFT of each block is taken.
  • A cyclic prefix (length C) is inserted at the beginning of each block to combat problems introduced by the channel.
  • The blocks (now known as symbols) are concatenated to form a length S(2N/B+C) time domain signal, which is transmitted into the channel.
  • On the other side of the channel, the received signal is again broken up into S parallel blocks.
  • The cyclic prefixes are removed, the FFT of each block is taken and each is de-mirrored so that the block length is once again N/B.
  • Because the channel filtered the time domain signal and added noise, each block is equalized through multiplication by the inverse transfer function of the channel (which is known by the receiver).
  • The complex numbers in each block, which have been distorted by noise, are approximated by values in the original constellation. A de-constellation mapping then occurs, which converts the complex values back to bits and increases the block length back to N.
  • The blocks of bits are concatenated back into a single bitstream, which then undergoes a D/A conversion back to a sampled analog signal. This is an approximation of the original signal.

Implementation

We implemented our DMT system through a collection of MATLAB functions. Some of them, such as the IFFT and FFT, were standard built-in functions while others, such as the constellation mapping and approximation routines, were coded from scratch. We directed the use of each function with a separate script, run.m, which allowed us to easily change input parameters. The MATLAB code for each function can be found below:

Comments, questions, feedback, criticisms?

Send feedback