ISFFT, SFFT, and the OTFS Signal Chain

Putting the Transforms to Work

The ISFFT takes DD-grid data symbols to TF-grid precoded symbols. The SFFT takes received TF symbols back to DD-grid estimates. These two operations are the precoder and decoder, respectively, of the OTFS transceiver. The full modulator chain, to be developed in Chapter 6, sandwiches the ISFFT between a DD-grid symbol mapping (at the transmit side) and a standard OFDM modulator (Heisenberg transform), and the demodulator chain reverses this.

This section works out the ISFFT and SFFT in detail β€” both the full algebraic structure and the practical FFT-based implementation β€” so that by the time we reach Chapter 6, the transforms are a familiar tool.

ISFFT via 2D FFT

Complexity: O(MN(log⁑M+log⁑N))O(MN(\log M + \log N))
Input: MΓ—NM \times N DD-grid matrix XDDX_{DD}
Output: NΓ—MN \times M TF-grid matrix XTFX_{TF}
1. Compute the MM-point inverse DFT along the delay axis:
X~[β„“,k]=1Mβˆ‘m=0Mβˆ’1XDD[β„“,k] e+j2Ο€mβ„“/M\tilde{X}[\ell, k] = \frac{1}{\sqrt{M}}\sum_{m = 0}^{M-1} X_{DD}[\ell, k]\,e^{+j 2\pi m \ell / M}
(This is actually a forward DFT with sign flip β€” or an IDFT with normalization.)
2. Compute the NN-point DFT along the Doppler axis:
XTF[n,m]=1Nβˆ‘k=0Nβˆ’1X~[m,k] e+j2Ο€kn/NX_{TF}[n, m] = \frac{1}{\sqrt{N}}\sum_{k = 0}^{N-1} \tilde{X}[m, k]\,e^{+j 2\pi k n / N}
3. Output XTFX_{TF}, indexed by (n,m)(n, m) β€” symbol nn, subcarrier mm.

In Python: X_TF = np.fft.ifft(X_DD, axis=1) * np.sqrt(N) β€” with careful attention to which axis is delay and which is Doppler, and the normalization convention. Equivalent implementations using NumPy fft2 differ by sign conventions; verify against the explicit ISFFT formula for a small test case.

SFFT via 2D FFT

Complexity: O(MN(log⁑M+log⁑N))O(MN(\log M + \log N))
Input: NΓ—MN \times M TF-grid matrix XTFX_{TF}
Output: MΓ—NM \times N DD-grid matrix XDDX_{DD}
1. Compute the NN-point inverse DFT along the symbol (time) axis:
X~[n,m]β†’X^[k,m]=1Nβˆ‘n=0Nβˆ’1XTF[n,m] eβˆ’j2Ο€kn/N\tilde{X}[n, m] \to \hat{X}[k, m] = \frac{1}{\sqrt{N}}\sum_{n = 0}^{N-1} X_{TF}[n, m]\,e^{-j 2\pi k n / N}
2. Compute the MM-point DFT along the subcarrier (frequency) axis:
XDD[β„“,k]=1Mβˆ‘m=0Mβˆ’1X^[k,m] e+j2Ο€mβ„“/MX_{DD}[\ell, k] = \frac{1}{\sqrt{M}}\sum_{m = 0}^{M-1} \hat{X}[k, m]\,e^{+j 2\pi m \ell / M}
3. Output XDDX_{DD}, indexed by (β„“,k)(\ell, k) β€” delay β„“\ell, Doppler kk.

ISFFT/SFFT Round-Trip on a Sparse DD Pattern

Start with a sparse DD-grid pattern (a few non-zero entries). Apply the ISFFT to get the corresponding TF-grid image, then the SFFT to recover the DD grid. Numerically the recovery is exact up to floating-point error. Play with the data pattern: a single symbol, a row/column, or a random sparse support.

Parameters
16
16
0.1

Theorem: PAPR Concentration of ISFFT Output

Let XDD[β„“,k]X_{DD}[\ell, k] for (β„“,k)∈{0,…,Mβˆ’1}Γ—{0,…,Nβˆ’1}(\ell, k) \in \{0, \ldots, M-1\} \times \{0, \ldots, N-1\} be i.i.d. CN(0,1)\mathcal{CN}(0, 1) data symbols, and let XTF=ISFFT(XDD)X_{TF} = \text{ISFFT}(X_{DD}). The TF-grid signal has peak-to-average power ratio (PAPR) bounded by O(log⁑(MN))O(\log(MN)) with probability approaching 1 as MNβ†’βˆžMN \to \infty.

An ISFFT of i.i.d. Gaussian symbols is a sum of MNMN uncorrelated plane waves. By the central limit theorem, its distribution is approximately Gaussian, and the maximum is logarithmic β€” the same PAPR behavior as OFDM. This is both good (PAPR is bounded) and bad (no improvement over OFDM). Pulse shaping (Chapter 20) can reduce PAPR further.

DD and TF Grid Pairing

QuantityDD gridTF grid
Grid dimensionsMΓ—NM \times NNΓ—MN \times M
First indexβ„“\ell = delay (0 to Mβˆ’1M-1)nn = OFDM symbol (0 to Nβˆ’1N-1)
Second indexkk = Doppler (0 to Nβˆ’1N-1)mm = subcarrier (0 to Mβˆ’1M-1)
Axis unitDelay Δτ=1/W\Delta\tau = 1/W, Doppler Δν=1/T\Delta\nu = 1/TTime Ts=T/NT_s = T/N, Frequency Ξ”f=W/M\Delta f = W/M
Channel action2D sparse convolutionTime-varying multiplication + ICI
Forward transformISFFT (to TF)β€” (input to OFDM)
Inverse transformSFFT (from TF)β€” (output of OFDM demod)

OTFS Transceiver Chain

OTFS Transceiver Chain
The full OTFS transceiver chain, viewed as a cascade. Transmitter (top): QAM symbols on the DD grid β†’ ISFFT (this chapter) β†’ TF grid β†’ OFDM modulation (Heisenberg transform, Chapter 6) β†’ time-domain waveform. Receiver (bottom): matched filter / Wigner transform (Chapter 6) β†’ TF grid β†’ SFFT (this chapter) β†’ DD grid estimate β†’ DD-domain detector (Chapter 8).

Example: ISFFT of Two DD-Grid Symbols

Let XDDX_{DD} be the 4Γ—44 \times 4 DD grid with entries XDD[0,0]=1X_{DD}[0, 0] = 1 and XDD[2,1]=βˆ’1X_{DD}[2, 1] = -1 (both real, BPSK-like), and zeros elsewhere. Compute XTF=ISFFT(XDD)X_{TF} = \text{ISFFT}(X_{DD}).

Common Mistake: Sign Convention Traps in ISFFT/SFFT

Mistake:

Different references use different sign conventions for the ISFFT. Raviteja (2018) uses e+j2Ο€(kn/Nβˆ’mβ„“/M)e^{+j 2\pi (k n / N - m \ell / M)}; Hadani (2017) uses the opposite sign in mβ„“/Mm \ell / M but the same sign in kn/Nk n / N. Swapping these leads to a mirror-image DD grid at the receiver.

Correction:

When comparing to any external source, always verify the sign convention at the definition. In this book we adopt the Raviteja–Viterbo convention (widely used in the detection literature): ISFFT uses e+j2Ο€(kn/Nβˆ’mβ„“/M)e^{+j 2\pi (k n / N - m \ell / M)}. The SFFT uses the opposite sign in both terms.

A clean way to avoid confusion: implement the ISFFT/SFFT with explicit loops (not np.fft.fft2) at first, verify against a hand-computed example, then port to FFT routines.

Inverse Symplectic Fourier Finite Transform (ISFFT)

The 2D discrete transform that maps an MΓ—NM \times N DD-grid matrix to an NΓ—MN \times M TF-grid matrix. At the OTFS transmitter, it precedes the standard OFDM modulator. Defined by XTF[n,m]=1MNβˆ‘β„“,kXDD[β„“,k] ej2Ο€(kn/Nβˆ’mβ„“/M)X_{TF}[n, m] = \frac{1}{\sqrt{MN}}\sum_{\ell, k} X_{DD}[\ell, k]\,e^{j 2\pi (k n / N - m \ell / M)}.

Related: SFFT and ISFFT Are Inverses, Symplectic Fourier Transform, Otfs Modulation

Symplectic Fourier Finite Transform (SFFT)

The 2D discrete transform that maps a TF-grid matrix back to a DD-grid matrix. At the OTFS receiver, it follows the OFDM demodulator. Defined by XDD[β„“,k]=1MNβˆ‘n,mXTF[n,m] eβˆ’j2Ο€(kn/Nβˆ’mβ„“/M)X_{DD}[\ell, k] = \frac{1}{\sqrt{MN}}\sum_{n, m} X_{TF}[n, m]\,e^{-j 2\pi (k n / N - m \ell / M)}. The SFFT is the exact inverse of the ISFFT.

Related: Discrete Symplectic Fourier Transform (ISFFT), Symplectic Fourier Transform, Otfs Detection