CDL 채널 경로 필터를 사용하여 채널 임펄스 응답 복원
TR 38.901 Section 7.7.1의 지연 프로파일 CDL-D와 함께 CDL(클러스터 지연선) 채널 모델의 경로 필터를 사용하여 채널 임펄스 응답을 복원하고 타이밍 오프셋 추정을 수행합니다.
nrCDLChannel
System object를 사용하여 채널 구성 구조체를 정의합니다. 지연 확산 10ns, UE 속도 15km/h인 지연 프로파일 CDL-D를 사용합니다.
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;
2×2 안테나 배열(M=2, N=2)과 P=2 편파각을 갖는 1 패널(Mg=1, Ng=1)을 나타내는 [M N P Mg Ng] = [2 2 2 1 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];
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');