mirror of https://github.com/pvnis/srsRAN_4G.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.5 KiB
Matlab
47 lines
1.5 KiB
Matlab
9 years ago
|
clear
|
||
|
|
||
|
addpath('../../build/srslte/lib/mimo/test')
|
||
|
|
||
|
enb = lteRMCDL('R.10');
|
||
|
|
||
|
cec = struct('FreqWindow',9,'TimeWindow',9,'InterpType','cubic');
|
||
|
cec.PilotAverage = 'UserDefined';
|
||
|
cec.InterpWinSize = 1;
|
||
|
cec.InterpWindow = 'Causal';
|
||
|
|
||
|
cfg.Seed = 1; % Random channel seed
|
||
|
cfg.NRxAnts = 1; % 1 receive antenna
|
||
|
cfg.DelayProfile = 'ETU'; % EVA delay spread
|
||
|
cfg.DopplerFreq = 100; % 120Hz Doppler frequency
|
||
|
cfg.MIMOCorrelation = 'Low'; % Low (no) MIMO correlation
|
||
|
cfg.InitTime = 0; % Initialize at time zero
|
||
|
cfg.NTerms = 16; % Oscillators used in fading model
|
||
|
cfg.ModelType = 'GMEDS'; % Rayleigh fading model type
|
||
|
cfg.InitPhase = 'Random'; % Random initial phases
|
||
|
cfg.NormalizePathGains = 'On'; % Normalize delay profile power
|
||
|
cfg.NormalizeTxAnts = 'On'; % Normalize for transmit antennas
|
||
|
|
||
|
[txWaveform, ~, info] = lteRMCDLTool(enb,[1;0;0;1]);
|
||
|
n = length(txWaveform);
|
||
|
cfg.SamplingRate = info.SamplingRate;
|
||
|
|
||
|
txWaveform = txWaveform+complex(randn(n,2),randn(n,2))*1e-3;
|
||
|
|
||
|
rxWaveform = lteFadingChannel(cfg,txWaveform);
|
||
|
|
||
|
rxGrid = lteOFDMDemodulate(enb,sum(rxWaveform,2));
|
||
|
|
||
|
[h,n0] = lteDLChannelEstimate(enb,cec,rxGrid);
|
||
|
|
||
|
signal=rxGrid(:,1);
|
||
|
hest(:,1,1)=reshape(h(:,1,1,1),[],1);
|
||
|
hest(:,1,2)=reshape(h(:,1,1,1),[],1);
|
||
|
|
||
|
output_mat = lteTransmitDiversityDecode(signal(, hest(1:598,1,:));
|
||
|
output_srs = srslte_diversitydecode(signal(1:598), hest(1:598,1,:));
|
||
|
|
||
|
plot(abs(output_mat-output_srs))
|
||
|
mean(abs(output_mat-output_srs).^2)
|
||
|
|
||
|
|