直交周波数分割多重方式
OFDMに基づく既存の標準と製品の概要を以下に列挙する。
ν ( t ) = ∑ k = 0 N − 1 X k e j 2 π k t / T , − T g ≤ t < T {\displaystyle \ \nu (t)=\sum _{k=0}^{N-1}X_{k}e^{j2\pi kt/T},\quad -T_{\mathrm {g} }\leq t<T}
上記のベースバンド信号は実数または複素数のどちらかになる。実数値のみの等価ベースバンド信号は一般的にベースバンド伝送に用いられる。DSLのような有線アプリケーションはこのアプローチが使われる。無線アプリケーションでは、等価ベースバンド信号は一般的に複素数の値をとる。この場合、送信信号は搬送周波数 f c {\displaystyle f_{c}} にアップコンバージョンされる。一般に、送信信号は次のように表すことができる。
s ( t ) = R { ν ( t ) e j 2 π f c t } = ∑ k = 0 N − 1 | X k | cos  ( 2 π [ f c + k / T ] t + arg  [ X k ] ) {\displaystyle {\begin{aligned}s(t)&=\Re \left\{\nu (t)e^{j2\pi f_{c}t}\right\}\\&=\sum _{k=0}^{N-1}|X_{k}|\cos \left(2\pi [f_{c}+k/T]t+\arg[X_{k}]\right)\end{aligned}}}
OFDMはG.DMT (ITU G.992.1) 規格に従い、既存の銅線(電話線)を用いた高速データー通信を行うADSL接続で使われている。
長い銅線では信号の高周波成分が減衰する。OFDMは周波数選択性減衰や狭帯域干渉に対処することが可能であり、この事実がOFDMがADSLモデムのようなアプリケーションで多用される主な理由である。しかしながら、DSLはすべての銅線の組で使うことができない。もし電話交換局に入っている電話回線の25%以上がDSLのために使われた場合、干渉が大きな問題となる可能性がある。
実験用アマチュア無線用途では、ユーザーは商業的でいつでもすぐ買えるADSL機器に、そのユーザーが認可されている無線周波数帯域へと周波数を単に移動させるラジオトランシーバーを取り付けたりしていた。
例えばマルチパス環境下で発生するフェーディングによる周波数選択性チャネルの影響はサブチャネルが十分に狭帯域である、つまりサブキャリア数が十分多ければ、サブキャリア単位で見ればチャネル特性は一定(平坦)であるとみなすことができる。これによりOFDM受信機は従来のシングルキャリア変調と比較してはるかに単純化することが可能となる。具体的には、等化器(イコライザー)は各サブキャリアに対し一定値もしくはほとんど変化しない値を掛算するだけで済む。
単純な例: 上記の例におけるOFDMの等化は受信機においてOFDMシンボル毎に N {\displaystyle N} =1000回の複素掛算、つまり1秒間に100万回の掛算が必要となる。FFTアルゴリズムはOFDMシンボル毎に N log 2  N {\displaystyle N\log _{2}N} =10000回の複素演算、つまり1秒間に1000万回の演算が送受信機双方で必要となる。ここで対応するシングルキャリア変調の場合、つまり1秒に100万個のシンボルと比較すると、シングルキャリアではFIRフィルタを用いて125マイクロ秒の遅延を等化するのにシンボル毎に125回、1秒間では1億2500万回もの掛算が必要となる。
いくつかのOFDMシンボル内のサブキャリアのいくらかはチャネルの状況、つまり各サブキャリアのイコライザーゲインを測定するためにパイロット信号を加えることもできる。このパイロット信号は同期の為にも使用することができる。
DPSKのような差動変調を各サブキャリアに使用した場合であれば、ゆっくりとした振幅と位相の歪に対してはほとんど影響が無いため、等化は完全に省略することも可能である。
受信機では受信信号 r ( t ) {\displaystyle r(t)} を搬送波周波数の余弦波と正弦波を用いて直交変調(ダウンコンバージョン)しベースバンド信号にする。この時中心周波数 2 f c {\displaystyle 2f_{c}} の信号が生成されるので、ローパスフィルタを用いて除去する。このベースバンド信号をアナログ-デジタル変換回路を用いてサンプリング・デジタル信号化し、FFTを用いて周波数領域のデータへと戻す。
このN個の並列データをそれぞれ適当なシンボル検出器(復調器)を用いて2進数のデータへと変換する。これらのデータは再び直列データ列 s ^ [ n ] {\displaystyle {\hat {s}}[n]} に結合され、送信された元の2進データの推定値となる。