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?
Ältere Kommentare anzeigen
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)

Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Switches and Breakers finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!