主要内容

使用 CDL 信道路径滤波器重新构造信道冲激响应

使用簇延迟线 (CDL) 信道模型的路径滤波器,重新构造信道冲激响应并执行定时偏移估计,该模型使用 TR 38.901 第 7.7.1 节中的时延分布 CDL-D。

使用 nrCDLChannel System object 定义信道配置结构体。使用时延分布 CDL-D,时延扩展为 10 纳秒,UE 速度为 15 公里/小时:

v = 15.0;                    % UE velocity in km/h
fc = 4e9;                    % carrier frequency in Hz
c = physconst('lightspeed'); % speed of light in m/s
fd = (v*1000/3600)/c*fc;     % UE max Doppler frequency in Hz
 
cdl = nrCDLChannel;
cdl.DelayProfile = 'CDL-D';
cdl.DelaySpread = 10e-9;
cdl.CarrierFrequency = fc;
cdl.MaximumDopplerShift = fd;

将发射天线阵列配置为 [M N P Mg Ng] = [2 2 2 1 1],表示 1 个面板(Mg=1,Ng=1),具有一个 2×2 天线阵列(M=2,N=2)和 P=2 个极化角。将接收天线阵列配置为 [M N P Mg Ng] = [1 1 2 1 1],表示一对交叉极化共址天线。

cdl.TransmitAntennaArray.Size = [2 2 2 1 1];
cdl.ReceiveAntennaArray.Size = [1 1 2 1 1];

创建持续时间为 1 个子帧且具有 8 个天线的随机波形。

SR = 15.36e6;
T = SR * 1e-3;
cdl.SampleRate = SR;
cdlinfo = info(cdl);
Nt = cdlinfo.NumTransmitAntennas;
 
txWaveform = complex(randn(T,Nt),randn(T,Nt));

通过信道发射输入波形。

[rxWaveform,pathGains] = cdl(txWaveform);

获取信道滤波中使用的路径滤波器。

pathFilters = getPathFilters(cdl);

使用 nrPerfectTimingEstimate 执行定时偏移估计。

[offset,mag] = nrPerfectTimingEstimate(pathGains,pathFilters);

绘制信道冲激响应的幅值。

[Nh,Nr] = size(mag);
plot(0:(Nh-1),mag,'o:');
hold on;
plot([offset offset],[0 max(mag(:))*1.25],'k:','LineWidth',2);
axis([0 Nh-1 0 max(mag(:))*1.25]);
legends = "|h|, antenna " + num2cell(1:Nr);
legend([legends "Timing offset estimate"]);
ylabel('|h|');
xlabel('Channel impulse response samples');

Figure contains an axes object. The axes object with xlabel Channel impulse response samples, ylabel |h| contains 3 objects of type line. These objects represent |h|, antenna 1, |h|, antenna 2, Timing offset estimate.

另请参阅

函数