文献来源:微信公众号:EW Frontier
OTFS简介
OTFS信道估计
% Clear command window, workspace variables, and close all figures
clc;
clear all;
close all;
% Define Eb values in dB
EbdB = -10:2:10;
% Convert Eb values from dB to linear scale
Eb = 10.^(EbdB/10);
% Define Noise Power
No = 1;
% Calculate Signal-to-Noise Ratio (SNR) in linear scale
SNR = 2*Eb/No;
% Convert SNR to dB scale
SNRdB = 10*log10(SNR);
% Define matrix dimensions and parameters
M = 32;
N = 16;
Ptx = eye(M);
Prx = eye(M);
nTaps = 5;
DelayTaps = [0 1 2 3 4];
DopplerTaps = [0 1 2 3 4];
Ncp = max(DelayTaps);
% Initialize arrays to store Bit Error Rate (BER) for different methods
BER_MMSE = zeros(length(Eb),1);
BER_ZF = zeros(length(Eb),1);
% Number of iterations for Monte Carlo simulation
ITER = 10;
% Precompute matrices for transformation
F_M = 1/sqrt(M)*dftmtx(M);
F_N = 1/sqrt(N)*dftmtx(N);
% Main loop for Monte Carlo simulation
for ite = 1:ITER
ite
% Generate random bits for transmission
XddBits = randi([0,1],M,N);
% Generate random channel taps
h = sqrt(1/2)*(randn(1,nTaps)+ 1j*randn(1,nTaps));
% Construct effective channel matrix
Hmat = zeros(M*N,M*N);
omega = exp(1j*2*pi/(M*N));
for tx = 1:nTaps
Hmat = Hmat + h(tx)*circshift(eye(M*N),DelayTaps(tx))*...
(diag(omega.^((0:M*N