?? ucafunction.m
字號(hào):
%case 3,直接產(chǎn)生一個(gè)時(shí)隙864個(gè)chip,100個(gè)時(shí)隙,8天線8用戶,時(shí)間3分鐘
function H_all=UCAfunction(framenumber,K_users,M,casething,mode)
fs=1.28e6;
%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@可以改變
% casething=1;
%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@可以改變
switch casething
case 1
paths=2;
delay_tapscase=[0 4]; % timedelay of multipath
am_tapscase=[0.953 0.3];%幅度衰減
freq_doppercase=5.56;%多普勒頻移
% T_data_symbol=0.78125e-6;%chip duration
% lenghofframe=6400;% chips of 1 frame
% lenghofslot=864;%chips of 1 slot
% case_begin=1216;
% case_end=2079;
T_data_symbol=16*0.78125e-6;%chip duration
lenghofframe=400;% chips of 1 frame
lenghofslot=55;%chips of 1 slot
case_begin=77;
case_end=131;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%case1
case 2
paths=3;
delay_tapscase=[0 4 16];
am_tapscase=[0.577 0.577 0.577 ];
freq_doppercase=5.56;
T_data_symbol=16*0.78125e-6;%chip duration
lenghofframe=400;% chips of 1 frame
lenghofslot=55;%chips of 1 slot
case_begin=77;
case_end=131;
% T_data_symbol=0.78125e-6;%chip duration
% lenghofframe=6400;% chips of 1 frame
% lenghofslot=865;%chips of 1 slot
% case_begin=1216;
% case_end=2080;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%case2
case 3
paths=4;
delay_tapscase=[0 1 2 3];
am_tapscase=[0.73 0.517 0.366 0.253];
freq_doppercase=222.4;
T_data_symbol=0.78125e-6;%chip duration
lenghofframe=6400;% chips of 1 frame
lenghofslot=864;%chips of 1 slot
case_begin=1216;
case_end=2079;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%case3
end
W=max(delay_tapscase)+1;
UEDOA=(2*(rand([paths,K_users])-0.5) * 45)/180*pi; % 8個(gè)用戶的初始角度化成弧度,初始角度-45:45
% AngleSpread=pi/2; % 微小區(qū)
AngleSpread=0;
N1=24;
N2=25;
freq_doppler=freq_doppercase;%多普勒,系數(shù)每個(gè)用戶都不變
f1=2*pi*freq_doppler*sin([1:24]*pi/48);%0,pi/2之內(nèi)
f2=2*pi*freq_doppler*sin([1:25]*pi/50);
c1=1/sqrt(2*24)*ones(1,24);
c2=1/sqrt(2*25)*ones(1,25);
for k_num=1:K_users
UEDOA1=UEDOA(:,k_num);
phi=2*pi*rand(paths,49); %隨機(jī)相位,用于產(chǎn)生信道衰落,每個(gè)用戶,每根天線都產(chǎn)生paths徑的
cita1 = phi(:, 1:24); %cita每個(gè)用戶都要變
cita2 = phi(:, 25:49);
for index_path=1:paths
%%%% 產(chǎn)生100 frames 的數(shù)據(jù) %%%%%
for fra_num=1:framenumber
%%%% 產(chǎn)生 1 frame 的數(shù)據(jù) %%%
d_t=(fra_num-1)*lenghofframe+case_begin:(fra_num-1)*lenghofframe+case_end ;
N = length(d_t);
temp1 = zeros(1, N);
temp2 = zeros(1, N);
% temp = zeros(1, N);
for loop = 1 : N1
temp1 = temp1 + c1(loop) * cos(f1(loop)*d_t*T_data_symbol+cita1(index_path,loop));
end
for loop = 1 : N2
temp2 = temp2 + c2(loop) * cos(f2(loop)*d_t*T_data_symbol+cita2(index_path,loop));
end
temp = temp1 + sqrt(-1) * temp2; % chips of 1 frame
temp11((fra_num-1)*lenghofslot+1:fra_num*lenghofslot)=temp;
end
rms=sqrt(mean(temp11.*conj(temp11)));%100個(gè)時(shí)隙歸一
H_temp1(index_path,:)=am_tapscase(index_path)*temp11/rms;
for fra_num=1:framenumber
%%%%每個(gè)時(shí)隙加一次角度%%%%%
path_angle=UEDOA1(index_path)+2*(rand(1)-0.5) * AngleSpread;
%%%%取出一個(gè)時(shí)隙%%%%%
H_slot(index_path,:)= H_temp1(index_path,(fra_num-1)*lenghofslot+1:fra_num*lenghofslot); % get TS1 of 1 subframe
%%%%%%%每個(gè)角度在每根天線上的循環(huán)%%%%
for M_antenna=1:M
if (M_antenna==1)
phase_delay=1;
else
if mode==0
%%%% U C A %%%%
angle_temp=path_angle+pi*(1/2-(M_antenna)/M);
distance=cos(angle_temp)*sqrt(2*(1-cos(2*pi*(M_antenna-1)/M)));
phase_delay=exp(-sqrt(-1)*2*pi*distance*0.6533);
else
phase_delay=exp(sqrt(-1)*pi*(M_antenna-1)*sin(path_angle));%每徑對(duì)應(yīng)乘上角度因子(ULA)
end
end
H_temp=H_slot(index_path,:)*phase_delay; % 乘以相位因子
H1(index_path,(fra_num-1)*lenghofslot+1:fra_num*lenghofslot,M_antenna)=H_temp;
end %end of M_antenna
end %end 100 frames loop
if (M_antenna==1)
H_all((k_num-1)*W+delay_tapscase(index_path)+1,:,1)=H1(index_path,:);
else
H_all((k_num-1)*W+delay_tapscase(index_path)+1,:,:)=H1(index_path,:,:);
end
end %end of index_path
clear path_angle angle_temp distance H1 H_slot temp temp1 temp11 H_temp phase_delay ;
end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -