Skip to content

Latest commit

 

History

History
52 lines (33 loc) · 1.7 KB

README.md

File metadata and controls

52 lines (33 loc) · 1.7 KB

OFDMTV

Quick start:

Encode smpte.ppm PNM picture file with 320x240 pixels to encoded.wav WAV audio file with 8000 Hz sample rate, 16 bits and only 1 (real) channel:

./encode encoded.wav 8000 16 1 smpte.ppm

Start recording to recorded.wav audio file and stop after 60 seconds:

arecord -c 1 -f S16_LE -r 8000 -d 60 recorded.wav

Start playing encoded.wav audio file:

aplay encoded.wav

Decode recorded.wav audio file to decoded.ppm picture file:

./decode decoded.ppm recorded.wav

Watch decoded.ppm picture file in feh:

feh decoded.ppm

Simulating

Prerequisite: disorders

Encode smpte.ppm to analytic audio signal, add multipath, AWGN, SFO, CFO, decode and compare to original in feh:

./encode ping.wav 8000 16 2 smpte.ppm 2000 && ../disorders/multipath pong.wav ping.wav ../disorders/multipath.txt 10 && ../disorders/cfo ping.wav pong.wav 234.567 && ../disorders/sfo pong.wav ping.wav 147 && ../disorders/awgn ping.wav pong.wav -30 && ./decode decoded.ppm ping.wav && feh decoded.ppm smpte.ppm

Reading

  • Robust frequency and timing synchronization for OFDM
    by Timothy M. Schmidl and Donald C. Cox - 1997
  • On Timing Offset Estimation for OFDM Systems
    by H. Minn, M. Zeng, and V. K. Bhargava - 2000