このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
CDL チャネル パス フィルターを使用したチャネル インパルス応答の再構築
チャネル インパルス応答を再構築し、TR 38.901 の Section 7.7.1 の遅延プロファイル CDL-D を使った Clustered Delay Line (CDL) チャネル モデルのパス フィルターを使用してタイミング オフセット推定を実行します。
nrCDLChannel System object を使用して、チャネル構成の構造体を定義します。遅延プロファイル CDL-D、遅延スプレッド 10 ns、および UE 速度 15 km/h を使用します。
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] として構成します。これは、2 行 2 列のアンテナ アレイ (M=2、N=2) を備え、かつ偏波角 P=2 である 1 つのパネル (Mg=1、Ng=1) を表します。受信アンテナ アレイを [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];
8 つのアンテナでサブフレーム時間 1 のランダムな波形を作成します。
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');
