⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 three_gpp_cases.m

📁 这是lte无线信道的信道建模程序
💻 M
字号:
%**************************************************************************
%  Functionfile:     Three_GPP_Cases.m
%  Description:
%  根据协议,提供所选择的三种case的PDP,时延delay,天线相关矩阵等参数。
%***************************************************************************

% ***************************************************************** 
% change history:                                      
% date                  author                 Descriptionr           
% 2008/10/20           dengjuan                  Create        
% ***************************************************************** 
%*******************Pseudo Code*******************************************
% input 
%ID,表示case1、case2和case3三种信道环境,
    %ID=1表示是case1这种信道环境;
    %ID=2表示是case2这种信道环境;
    %ID=3表示是case3这种信道环境。
%NumberOfAntennas_NodeB,表示基站端的天线数,如果是下行链路,则是发射天线数。
%NumberOfAntennas_UE,表示用户端的天线数,如果是下行链路,则是接收天线数。
%Correlation,表示天线之间的相关性,
              %Correlation= 'High'表示高相关,
              %Correlation='Medium'表示中相关,
              %Correlation= 'Low'表示低相关。
%output
%PDP_linear,表示归一化功率延时分布。
%temp_C,表示天线相关矩阵。
%PDP_dB,表示功率延时分布。
%**************************************************************************
function [PDP_linear, temp_C,PDP_dB] =Three_GPP_Cases(ID, NumberOfAntennas_NodeB,  NumberOfAntennas_UE, Correlation)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
switch ID
case 1
    % ITU Pedestrian A
    PDP_dB = [0  -1.0  -2.0  -3.0  -8.0  -17.2  -20.8 ;   % Average power [dB]
              0 30e-9 70e-9 90e-9 110e-9 190e-9 410e-9]; % Relative delay (ns)
case 2
    % ITU Vehicular A
    PDP_dB = [0 -1.5 -1.4 -3.6 -0.6 -9.1 -7.0 -12.0  -16.9;     % Average power [dB]
              0  30e-9 150e-9 310e-9 370e-9 710e-9 1090e-9 1730e-9 2510e-9]; % Relative delay (ns)
case 3
     % ITU Pedestrian B
    PDP_dB = [-1.0 -1.0 -1.0 0.0 0.0 0.0 -3.0 -5.0  -7.0;    % Average power [dB]
              0  50e-9 120e-9 200e-9 230e-9 500e-9 1600e-9 2300e-9 5000e-9]; % Relative delay (ns)
otherwise
    disp('Undefined case. Exiting...');
end;
% PDP in linear values
PDP_linear = [10.^(.1.*PDP_dB(1,:));
              PDP_dB(2,:)];
% Normalisation of PDP
PDP_linear(1,:) = PDP_linear(1,:)./sum(PDP_linear(1,:));

if strcmp(Correlation,'High') R_ID=1;   % High Correlation
elseif strcmp(Correlation,'Medium') R_ID=2;  % Medium Correlation
elseif strcmp(Correlation,'Low') R_ID=3; % Low Correlation
end

switch R_ID
    case 1
        if (NumberOfAntennas_NodeB == 1)&&(NumberOfAntennas_UE == 1)
            temp_C=1;
        else if (NumberOfAntennas_NodeB == 1)&&(NumberOfAntennas_UE == 2)
                 temp_C=[1 0.9;0.9 1];
             else if (NumberOfAntennas_NodeB == 2)&&(NumberOfAntennas_UE == 1)
                      temp_C=[1 0.9;0.9 1];
                  else if (NumberOfAntennas_NodeB == 2)&&(NumberOfAntennas_UE == 2)
                           temp_C=[1 0.9 0.9 0.81;0.9 1 0.81 0.9;0.9 0.81 1 0.9;0.81 0.9 0.9 1];
                       end
                   end
               end
           end
    case 2
        if (NumberOfAntennas_NodeB == 1)&&(NumberOfAntennas_UE == 1)
            temp_C=1;
        else if (NumberOfAntennas_NodeB == 1)&&(NumberOfAntennas_UE == 2)
                 temp_C=[1 0.9;0.9 1];
             else if (NumberOfAntennas_NodeB == 2)&&(NumberOfAntennas_UE == 1)
                      temp_C=[1 0.3;0.3 1];
                  else if (NumberOfAntennas_NodeB == 2)&&(NumberOfAntennas_UE == 2)
                           temp_C=[1 0.9 0.3 0.27;0.9 1 0.27 0.3;0.3 0.27 1 0.9;0.27 0.3 0.9 1];
                       end
                   end
               end
           end
    case 3
        if (NumberOfAntennas_NodeB == 1)&&(NumberOfAntennas_UE == 1)
            temp_C=1;
        else if (NumberOfAntennas_NodeB == 1)&&(NumberOfAntennas_UE == 2)
                 temp_C=[1 0;0 1];
             else if (NumberOfAntennas_NodeB == 2)&&(NumberOfAntennas_UE == 1)
                      temp_C=[1 0;0 1];
                  else if (NumberOfAntennas_NodeB == 2)&&(NumberOfAntennas_UE == 2)
                           temp_C=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1];
                       end
                   end
               end
           end
    otherwise
        disp('Undefined case. Exiting...');
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -