Table of contents
1. Matrix representation of OTFS input-output relationship
1.1 OTFS: matrix representation
1.2 Realization of OTFS transmitter
1.2.1 Traditional OTFS modulation
1.2.2 IDZT-based OTFS modulation
1.3 Realization of OTFS receiver
1.3.1 Traditional OTFS demodulation
1.3.2 DZT-based OTFS demodulation
The author's own understanding
1. Matrix representation of OTFS input-output relationship
1.1 OTFS: matrix representation
- Time-frequency domain representation of transmitted symbols: ISFFT on DD domain + Heisenberg transform + beamforming
- Vector form:
- DD domain representation of accepted symbols: Beam shaping + Wigner transform + SFFT in time-frequency domain
- vector form
1.2 Realization of OTFS transmitter
1.2.1 Traditional OTFS modulation
M=2048, N=128, where M means number of delay bins (subcarriers) N means number of doppler bins (time slots) or symbols
The transmitter process is shown on the left side of the above figure (the one on the right is IDZT, which is an upgraded version of traditional OTFS modulation, which will be discussed later):
-
SWIFT
First, the high-order QAM modulation symbols are placed in the M*N two-dimensional grid of the DD domain , and the DD domain symbols are converted into TF domain symbols by using the inverse symplectic finite Fourier transform (ISFFT) . The transformation process is as follows:
n-point ifft along each doppler axis and m-point fft along each delay axis
[Official 1.2.1]
-
Heisenberg transform
Then, the Heisenberg transform is performed on the time-frequency domain matrix , that is, the sample matrix formula is transformed into the delay-time domain (delay-time) through the m-point ifft, expressed as the following formula:
[Official 1.2.2]
We can find that it is equivalent to a unit matrix, so the final Heisenberg transform and the fft along the delay axis in the previous ISFFT are offset, and simplified into a discrete Zak transform inverse discrete Zak transform (IDZT) , that is, the right As shown in the side image: only n-point ifft along the Doppler axis needs to be passed.
By performing transmitter pulse shaping on the delay time matrix, followed by row vectorization, the NM-length time-domain sample vector s is obtained
[Official 1.2.3]
Formulas 1.2.2 and 1.2.3 are a complete Heisenberg transform, and then the time-domain sample vector s is subjected to DA conversion and transmitted to the wireless medium in the form of s (t).
Among them, the diagonal matrix Gtx has samples of gtx(t) as its main diagonal elements
For rectangular waveforms, it simplifies to the M×M identity matrix
1.2.2 IDZT-based OTFS modulation
As shown in the figure below, OTFS modulation is equivalent to an IDZT, which converts X in the delay-Doppler domain to delay-time domain . Assume that what is transmitted is a rectangular pulse shaping waveform , M=8, N=6.
In the figure, the delay-Doppler matrix and the delay-time matrix are split into vector sums .
Transpose Equation 1.2.2 to get
Due to the symmetry of IFFT, the transpose of IFFT is equal to itself, then after parallel-to-serial conversion, such as Gtx = IM, the time-domain samples of Equation 1.2.3 are reduced to
Each of the row vectors , that is, each s contains M time-domain samples and takes up seconds.
From the figure above, we can directly associate formula 4.19 with formula 4, and s in formula 4, 20 as (Gtx is a unit matrix, which can be removed)
The elements in s can be expressed as
Where q=m+nM, for m=0,...,M-1;n=0,...,N-1, this is exactly the IDZT transformation
1.3 Realization of OTFS receiver
1.3.1 Traditional OTFS demodulation
-
Wigner transform
At the receiving end, we get NM complex sample vectors received as
where for n=0,1,...,N-1, , the vector r is transformed into a delay time matrix
Among them , it will be converted into a matrix of M*N, and the diagonal matrix Grx is the receiver pulse shaping matrix, which is defined by the following formula
For the rectangular pulse shaping waveform Grx is equivalent to the M-order unit matrix, so the formula 4.24 is simplified to the following formula
Then, by performing m-point DFT operation on the delay time sample matrix along the delay axis, the time-frequency domain receiving sample matrix is obtained
The operations in formulas (4.24) and (4.26) constitute the Wigner transform . An SFFT operation is then performed to obtain the delay-Doppler domain symbols.
-
SFFT
Perform m-point IDFT operation on the matrix along the delay axis to obtain the delayed Doppler domain matrix, and perform n-point DFT operation along the Doppler axis. The cascaded SFFT operation with Wigner transform can be simplified as
Bringing formula 4.46 into 4.27 shows that the m-point IDFT used by SFFT cancels the DFT in Wigner transform, so it is simplified to DZT operation
1.3.2 DZT-based OTFS demodulation
As shown in equations (4.24) and (4.27), OTFS demodulation is equivalent to a DZT, which converts the samples received in the time domain into delayed Doppler domain symbols, and the figure below shows the equivalent of the rectangular pulse shaping waveform Grx = IM receive operation
In the figure, the delay-Doppler and delay-time matrices are divided into m vectors along the delay axis , , where each vector contains N elements, m=0,1,...,M- 1.
Take the transpose of equation (4.27) (the symmetry of the DFT makes its transpose itself)
From Figure 4.7, we can relate r and Y directly via (4.24) and (4.28) as
It can be further expressed as a matrix element form
When m=0,1,...,M-1, n=0,1,...,N-1, formula 4.30 is the DZT transformation of r, denoted as
See Chapter 5 and note that the delay and Doppler exponents used there are l,k following the Zak transform conventional notation, unlike the m,n used in this chapter
The author's own understanding
Appendix Matlab Code
A. OTFS parameter setting
%-------------------------------------------------------
%参考1.2
%MATLAB代码1 OTFS帧参数设置
%-------------------------------------------------------
% number of Doppler bins (time slots)
N=16;
% number of delay bins (subcarriers)
M=64;
% normalized DFT matrix
Fn=dftmtx(N);
Fn=Fn/norm(Fn);
% subcarrier spacing
delta_f=15e3;
% block duration
T=1/delta_f;
% carrier frequency
fc=4e9;
% speed of light
c=299792458;
% OTFS grid delay and Doppler resolution
delay_resolution = 1/(M*delta_f);
Doppler_resolution = 1/(N*T);
B. Transmitter
%MATLAB code 2 Generate OTFS frame
% QAM modulation
tx_info_symbols=qammod(tx_info_bits,mod_size,’gray’,’InputType’,’bit’);
% Generate the MxN OTFS delay-Doppler frame
X=reshape(tx_info_symbols,M,N);
% Vectorized OTFS frame information symbols
x=reshape(X.’,N*M,1);
% Method 1 (Eqs. (4.19) and (4.20))
X_tilda=X*Fn’;
s=reshape(X_tilda,1,N*M);
C. Receiver
%% MATLAB code 12 OTFS demodulation
% Method 1 (Eqs. (4.24) and (4.27))
Y_tilda=reshape(r,M,N);
Y=Y_tilda*Fn;
% vectorize Y
y=reshape(Y.’,N*M,1);
Note: This is part of the code~