Why is it that when I use OTFS modulation on a CDL channel, the Doppler index is concentrated in a region smaller than N/2?
Afficher commentaires plus anciens
My code is the following
close all
clear
clc
%% OTFS frame parameters
M=128;
N=32;
f0=5.9*10^9;
c=299792458;
df=15*10^3;
T=1/df;
Tf=N*T;
samplerate=M*N/Tf;
X_DD=zeros(M,N);
xp=1;
mp=1;
np=N/2;
X_DD(mp,np)=xp;
X_tilda=ifft(X_DD,[],2);
s=reshape(X_tilda,N*M,1);
nu_max=1/T/2;
tau_max=T;
cdl = nrCDLChannel('DelayProfile', 'CDL-A');
cdl.DelaySpread =tau_max;
cdl.CarrierFrequency = f0;
cdl.MaximumDopplerShift =nu_max;
cdl.TransmitAntennaArray.Size = [1 1 1 1 1];
cdl.ReceiveAntennaArray.Size = [1 1 1 1 1];
ChannelFiltering = true;
cdl.SampleRate = samplerate;
cdl.Seed = randi([0,1000]);
r=cdl(s);
Y_tilda=reshape(r,M,N);
Y_otfs=fft(Y_tilda,[],2);
figure(1)
[X,Y]=meshgrid(1:N,1:M);
plot3(X,Y,abs(Y_otfs))
xlim([1,N])
ylim([1,M])
title('DD-channel')
The result is as follows,It looks like all Doppler indexes are less than N/2

When I set :cdl.MaximumDopplerShift =0,The result is as follows,the Doppler indexes are equal to N/2,This looks normal.

When I set :cdl.MaximumDopplerShift =0,cdl.DelaySpread =0;The results are as follows,The impulse response appears in the(N/2,8),but theoretically it should be at (N/2,1)

Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Switches and Breakers dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!