how to obtain pathgains of winner2 channel
the channel is generated by the following code
BSAA = winner2.AntennaArray(‘UCA’, 1, 0.02); % UCA-8 array for BS
MSAA1 = winner2.AntennaArray(‘ULA’, 1, 0.01); % ULA-2 array for MS
MSIdx = [2];
BSIdx = {1};
numLinks = 2;
rndSeed = 5;
cfgLayout = winner2.layoutparset(MSIdx,BSIdx, numLinks,[BSAA,MSAA1],[],rndSeed);
cfgLayout.Pairing = [1 ; 2 ]; % Index in cfgLayout.Stations
cfgLayout.ScenarioVector = [6];
numBSSect = sum(cfgLayout.NofSect);
numMS = length(MSIdx);
cfgLayout.Stations(2).Velocity=[1.6;0;0];
cfgLayout.Stations(1).Pos(1:2) = [50, 150];
cfgLayout.Stations(2).Pos(1:2) = [10, 180]; % 8 meters away from BS
BSPos = cell2mat({cfgLayout.Stations(1:numBSSect).Pos});
MSPos = cell2mat({cfgLayout.Stations(numBSSect+1:end).Pos});
frameLen = 64; % Number of samples to be generated
cfgWim = winner2.wimparset;
cfgWim.NumTimeSamples = 80;
cfgWim.IntraClusterDsUsed = ‘yes’;
cfgWim.CenterFrequency = 2.76e9;
cfgWim.UniformTimeSampling = ‘yes’;
cfgWim.ShadowingModelUsed = ‘yes’;
cfgWim.PathLossModelUsed = ‘no’;
cfgWim.UseManualPropCondition = ‘yes’;
cfgWim.RandomSeed = 31415927;
cfgWim.NormalizeChannelOutputs=’false’;
downWINNERChan = comm.WINNER2Channel(cfgWim,cfgLayout);
and the input data is
sourceData = randi([0 1],(80,1);
then the pathgains and output are obainted
[ChanOut, pathGains] = downWINNERChan(sourceData);
pathGains1=squeeze(cell2mat(pathGains));
pathGains1=sum(pathGains)’;
rx_data=cell2mat(ChanOut);
tx_data_estimate=rx_data./pathGains;
I wonder why tx_data_estimate is different from sourceData?the channel is generated by the following code
BSAA = winner2.AntennaArray(‘UCA’, 1, 0.02); % UCA-8 array for BS
MSAA1 = winner2.AntennaArray(‘ULA’, 1, 0.01); % ULA-2 array for MS
MSIdx = [2];
BSIdx = {1};
numLinks = 2;
rndSeed = 5;
cfgLayout = winner2.layoutparset(MSIdx,BSIdx, numLinks,[BSAA,MSAA1],[],rndSeed);
cfgLayout.Pairing = [1 ; 2 ]; % Index in cfgLayout.Stations
cfgLayout.ScenarioVector = [6];
numBSSect = sum(cfgLayout.NofSect);
numMS = length(MSIdx);
cfgLayout.Stations(2).Velocity=[1.6;0;0];
cfgLayout.Stations(1).Pos(1:2) = [50, 150];
cfgLayout.Stations(2).Pos(1:2) = [10, 180]; % 8 meters away from BS
BSPos = cell2mat({cfgLayout.Stations(1:numBSSect).Pos});
MSPos = cell2mat({cfgLayout.Stations(numBSSect+1:end).Pos});
frameLen = 64; % Number of samples to be generated
cfgWim = winner2.wimparset;
cfgWim.NumTimeSamples = 80;
cfgWim.IntraClusterDsUsed = ‘yes’;
cfgWim.CenterFrequency = 2.76e9;
cfgWim.UniformTimeSampling = ‘yes’;
cfgWim.ShadowingModelUsed = ‘yes’;
cfgWim.PathLossModelUsed = ‘no’;
cfgWim.UseManualPropCondition = ‘yes’;
cfgWim.RandomSeed = 31415927;
cfgWim.NormalizeChannelOutputs=’false’;
downWINNERChan = comm.WINNER2Channel(cfgWim,cfgLayout);
and the input data is
sourceData = randi([0 1],(80,1);
then the pathgains and output are obainted
[ChanOut, pathGains] = downWINNERChan(sourceData);
pathGains1=squeeze(cell2mat(pathGains));
pathGains1=sum(pathGains)’;
rx_data=cell2mat(ChanOut);
tx_data_estimate=rx_data./pathGains;
I wonder why tx_data_estimate is different from sourceData? the channel is generated by the following code
BSAA = winner2.AntennaArray(‘UCA’, 1, 0.02); % UCA-8 array for BS
MSAA1 = winner2.AntennaArray(‘ULA’, 1, 0.01); % ULA-2 array for MS
MSIdx = [2];
BSIdx = {1};
numLinks = 2;
rndSeed = 5;
cfgLayout = winner2.layoutparset(MSIdx,BSIdx, numLinks,[BSAA,MSAA1],[],rndSeed);
cfgLayout.Pairing = [1 ; 2 ]; % Index in cfgLayout.Stations
cfgLayout.ScenarioVector = [6];
numBSSect = sum(cfgLayout.NofSect);
numMS = length(MSIdx);
cfgLayout.Stations(2).Velocity=[1.6;0;0];
cfgLayout.Stations(1).Pos(1:2) = [50, 150];
cfgLayout.Stations(2).Pos(1:2) = [10, 180]; % 8 meters away from BS
BSPos = cell2mat({cfgLayout.Stations(1:numBSSect).Pos});
MSPos = cell2mat({cfgLayout.Stations(numBSSect+1:end).Pos});
frameLen = 64; % Number of samples to be generated
cfgWim = winner2.wimparset;
cfgWim.NumTimeSamples = 80;
cfgWim.IntraClusterDsUsed = ‘yes’;
cfgWim.CenterFrequency = 2.76e9;
cfgWim.UniformTimeSampling = ‘yes’;
cfgWim.ShadowingModelUsed = ‘yes’;
cfgWim.PathLossModelUsed = ‘no’;
cfgWim.UseManualPropCondition = ‘yes’;
cfgWim.RandomSeed = 31415927;
cfgWim.NormalizeChannelOutputs=’false’;
downWINNERChan = comm.WINNER2Channel(cfgWim,cfgLayout);
and the input data is
sourceData = randi([0 1],(80,1);
then the pathgains and output are obainted
[ChanOut, pathGains] = downWINNERChan(sourceData);
pathGains1=squeeze(cell2mat(pathGains));
pathGains1=sum(pathGains)’;
rx_data=cell2mat(ChanOut);
tx_data_estimate=rx_data./pathGains;
I wonder why tx_data_estimate is different from sourceData? winner2channel, equalization MATLAB Answers — New Questions