使用 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');
