www.pudn.com > ldpc802.16.rar > ch_profile.m, change:2005-07-20,size:3361b


function ch=ch_profile(model_index,model_type) 
 
%generate channel delay, Doppler and fading profile 
%input: model_index --- 'itu', 'sui' 
%       model_type ---  'itu' 1A,1B,2A,2B,3A,3B 
%                       'sui' 1,2,3,4,5,6                 
%tap_k:K-factor, defined as the ratio of the ¡°fixed¡± component power and the ¡°scatter¡± component power 
switch model_index 
case 'itu' 
    switch model_type 
    case '1A' 
        doppler_type='flat'; 
        tap_prof=[0 0; 50e-9 -3; 110e-9 -10; 170e-9 -18; 290e-9 -26; 310e-9 -32]; 
        tap_fd=[]; 
        tap_k=zeros(length(tap_prof),1);        %linear 
    case '1B' 
        doppler_type='flat'; 
        tap_prof=[0 0; 100e-9 -3.6; 200e-9 -7.2; 300e-9 -10.8; 500e-9 -18.0; 700e-9 -25.2]; 
        tap_fd=[]; 
        tap_k=zeros(length(tap_prof),1); 
    case '2A' 
        doppler_type='classic'; 
        tap_prof=[0 0; 110e-9 -9.7; 190e-9 -19.2; 410e-9 -22.8]; 
        tap_fd=[]; 
        tap_k=zeros(length(tap_prof),1); 
    case '2B' 
        doppler_type='classic'; 
        tap_prof=[0 0; 200e-9 -0.9; 800e-9 -4.9; 1200e-9 -8.0; 2300e-9 -7.8; 3700e-9 -23.9]; 
        tap_fd=[]; 
        tap_k=zeros(length(tap_prof),1); 
    case '3A' 
        doppler_type='classic'; 
         tap_prof=[0 0; 310e-9 -1.0; 710e-9 -9.0; 1090e-9 -10.0; 1730e-9 -15.0; 2510e-9 -20.0];     
       %tap_prof=[0 0];    
        tap_fd=[]; 
        tap_k=zeros(length(tap_prof),1); 
    case '3B' 
        doppler_type='classic'; 
        tap_prof=[0 -2.5; 300e-9 0; 8900e-9 -12.8; 12900e-9 -10.0; 17100e-9 -25.2; 20000e-9 -16.0];                 
        tap_fd=[]; 
        tap_k=zeros(length(tap_prof),1); 
    end; 
case 'sui' 
    switch model_type 
    case '1' 
        doppler_type='round'; 
        tap_prof=[0 0; 0.4e-6 -15.0; 0.9e-6 -20.0]; %[delay power] 
        tap_fd=[0.4; 0.3; 0.5];                     %can be overwritten 
        tap_k=[4; 0; 0];                            %can be overwritten 
    case '2' 
        doppler_type='round'; 
        tap_prof=[0 0; 0.4e-6 -12.0; 1.1e-6 -15.0]; 
        tap_fd=[0.2; 0.15; 0.25];                   %can be overwritten 
        tap_k=[2; 0; 0];                            %can be overwritten 
    case '3' 
        doppler_type='round'; 
        tap_prof=[0 0; 0.4e-6 -5.0; 0.9e-6 -10.0]; 
        tap_fd=[0.4; 0.3; 0.5];                     %can be overwritten 
        tap_k=[1; 0; 0];                            %can be overwritten 
    case '4' 
        doppler_type='round'; 
        tap_prof=[0 0; 1.5e-6 -4.0; 4.0e-6 -8.0]; 
        tap_fd=[0.4; 0.3; 0.5];                     %can be overwritten 
        tap_k=[0; 0; 0];                            %can be overwritten                 
    case '5' 
        doppler_type='round'; 
        tap_prof=[0 0; 4e-6 -5.0; 10.0e-6 -10.0]; 
        tap_fd=[2; 1.5; 2.5];                       %can be overwritten 
        tap_k=[0; 0; 0];                            %can be overwritten                 
    case '6' 
        doppler_type='round'; 
        tap_prof=[0 0; 14e-6 -10.0; 20.0e-6 -14.0]; 
        tap_fd=[0.4; 0.3; 0.5];                     %can be overwritten 
        tap_k=[0; 0; 0];                            %can be overwritten 
    end 
     
otherwise  
    disp('other case'); 
end 
 
%ch.doppler_typ=doppler_type; 
ch.tap_prof=tap_prof; 
ch.tap_fd=tap_fd; 
ch.tap_k=tap_k;