OFDM Weekly Progress

back to main

Weekly Updates:

4/19/2001

  • MATLAB code updates
    • Add channel magnitude response to frequency spectrum plots
    • Revised binary error checking
    • Corrected memory allocation in QAM code
    • Corrected QAM transmission size for input less than one OFDM symbol long
  • GUI Implementation - SoundGUI
    • Axis handlers and GUI technique learning
    • Integrate GUI code with Steve's version
    • BER, good channel for EXPO, Long sound file interface
  • EXPO Planning
    • Main Points
    • Sketch of poster board layout
  • User Testing
    • Greg & Dawn
    • Wording and layout suggestions

4/18/2001

  • Analysis Code
    • Changed frequency plots to digital frequency
    • Improved labeling of all plots
  • GUI Implementation - SoundGUI
    • Added appropriate graphs for each string
    • Developed UI flow
    • Speed improvemet: use output files - don't re-run simulation code
    • Hide/Show different UI elements depending on current demo state

4/17/2001

  • OFDM Decoding - Now intelligent
    • 'Unpad' zeros from transmission
    • Always receive same number of bits as transmitted
  • QAM vs OFDM
    • Utilized MATLAB FIR filter design techniques, i.e., 'fir1()' and 'fir2()'
      • BER for both schemes ~50%
      • Conclusion: MATLAB FIR filter not appropriate for this application
    • New multipath simulation - user specifies 2-tap FIR filter
      • Revised OFDM decoding allows practical comparision
      • OFDM has higher multipath tolerance with ANY parameter setup!
  • Analysis Code
    • Improved labeling of all plots
    • Plot multipath frequency response - allows user to target QAM frequencies
    • MATLAB command window display more user friendly
      • Spacing between major sections of feedback
      • BER displayed as the actual number of errors and percent error
  • GUI Implementation
    • BasicGUI
      • Initialized "setup.m" variables with new function: "SetupGUI.m"
      • Added corresponding graphs to text strings
      • Finished interface functionality
    • SoundGUI
      • Paper design of interface
      • Implemented simple version of interface layout
      • Wrote the text strings for the demo

4/12/2001

  • QAM vs OFDM
    • First resonable comparison between the two schemes
    • Compared channel effects
      • Noise - OFDM affected more because of the high peak to average signal power
      • Clipping - QAM affected more because of OFDM's high peak to average signal power
      • Multipath - No conclusive results
  • GUI Implementation - BasicGUI
    • Wrote the text strings that will lead the user through the demo
    • Used the global counter variable to step throught the strings

4/10/2001

  • Revised schedule of remaining tasks
  • GUI Paper Design of main interface
  • QAM Improvements
    • Revised perameters for a reasonable comparison to OFDM
    • Changed to 16-level QAM - major code rewrite
  • GUI Implementation
    • Designed the graphical interface
    • Worked on the callback functions to integrate all of the GUI functions into one m-file, "OFDMguiFn.m"
    • Global counter variable

4/5/2001

  • Channel Modeling
    • FIR filter
    • QAM periods added
  • QAM Code Speedup (zeros initializion forgotten)
  • GUI Research
    • Found many versions of 'buildgui.pdf', a guide to MATLAB GUI implementation
    • Made simple example interface to learn design tool
  • Windows Compatibility
  • QAM Constellation Plotting

4/3/2001

  • Update presentation preparation
  • New Plan
    • MATLAB GUI
    • Improve MATLAB code
  • QAM Decoding

3/29/2001

  • MATLAB QAM Code
    • Used OFDM variables to generate single carrier QAM equivalant
    • "Transmitter" portion of QAM code complete

3/15/2001

  • Much crashing and locking of the DSP board
    • Searched through documentation
    • Found possible sampling rates of the audio codec
  • Repeated 16 point FFT data to fill 1 second of buffer to be played pack at 8kHz sampling rate
  • Revision of Student EXPO paper

3/13/2001

  • IFFT Amplitude Considerations
  • Connected scope to Mini-plug audio output to view generated sinusoid
  • Wrote paper for Student EXPO

3/8/2001

  • Audio Codec Example
    • Isolated tone generation portion of example code
    • Documented the functions and main code
  • Began modifications to merge our IFFT routine into this example with a goal of generateing a tone using the IFFT

3/6/2001

  • Continued experiments with DSP example and finally was able to generate an example tone by setting the correct paths, including the right files, and thourghouly reading the documentation

3/1/2001

  • Planned simple DSP test to use the IFFT to generate sinusoidal outputs
  • Experimented with running examples that use the printf() and line out components of c60 DSP board

2/27/2001

  • MATLAB Code
    • Documented each file's name, function and variables used/modified
    • Pasted in current code into notebook as a quick reference for translation into C
  • FFT Testing in C
    • Worked on compiling and testing four1 algorithm using Microsoft compiler
    • Compared C routine's output with Matlab
      • The ordering of the output was opposite Matlab's
      • Fixed ordering by defining DFT with EE conventional negative sign (the algorithm used a mathematician's definition of the DFT with an e^+j... )
  • Planned Work Paths for C Translation

2/20/2001

  • FFT Algorithm research and reading to try to find short/simple FFT.
  • Found "Numerical Recipes in C" FFT algorithm called "four1"

2/15/2001

  • Experimentation with Volume example - looping
  • Found Line_In/Microphone example
  • Tried compiling basic complex number and FFT routines in C on Codewarrior

2/13/2001

  • Project Progress Presentation One
  • DSP TMS320c6x01 board Tutorial
    • Set correct paths
    • File I/O - can now use a file as input and save to file output
  • DSP C code research - found basic fft/ifft routines written in C

2/8/2001

  • Channel
    • Fixed Noise and Multipath Simulation
    • Moved Parameters into setup.m
  • QAM comparison
    • Uses most of OFDM code to produce QAM signal with the same data
    • Necessary to compare ISI of OFDM (multicarrier) vs QAM (single carrier)
  • TI c60 DSP board - initial tool investigation

2/6/2001

  • Modified website to include weekly progress report
  • Binary Inputs / Outputs
    • Improved Write to reconstruct original data format
      • Text
      • Sound - also added scaling and fixed file output
    • Converted all test inputs to binary
  • Corrected Pol2Bin.m to discard trailing zeros from polar data
  • Added symbol view to analysis window
  • Determined fast method of converting Mac text files to Windows format

2/1/2001

  • Finished modifying transmission (TX) code to separate FFT points and # of carriers
  • Modified receiver (RX) code to separate FFT points and # of carriers
  • Binary Inputs
    • created conversion routines to convert 8-bit data to binary and back
    • implemented binary for the Sine and Random test inputs
  • Polar QAM
    • created conversion routines to convert from binary {0,1} to polar {-1,1} and back
    • implemented polar routines into TX and RX code

1/31/2001

  • Modified web site to include 180k OFDMdemo movie

1/30/2001

  • Outline of 4 MATLAB goals:
    • Separate FFT points and # of carriers
    • Polar QAM
    • Binary Inputs
    • Extra Features (phase estimation/correction)
  • Began modifying transmission code to separate FFT points and # of carriers

 

Projected Timeline:

As shown in the timeline below, the main goals to accomplish in Spring 2001 include finalizing MATLAB, generating the corresponding DSP code, and then testing the system.

  • MATLAB code will be improved to make a hardware implementation feasible. This will involve adding QAM and guard periods, as well as windowing, interleaving, and coding features.
  • The next phase will be to learn the DSP tools. By writing simple test simulations, the functionality of the DSP tools will be explored.
  • Once these tools are understood, the MATLAB code will be translated into the appropriate format for the DSP board. Simulink can be used with the dSpace board, but the TMSC60 board uses C.
  • The testing phase will involve verifying that the DSP board produces results consistent with the MATLAB code.
  • Once the OFDM system works correctly, the characteristics of the OFDM transmission will be examined. This may include phase shift and synchronization techniques.

back to main