📄 test3gpp2.m
字号:
% test of 3GPP2 channel model
% 2006.05.19
clear;
clc
Mon=200;
% 系统参数设置
Link=1; % 多少个链路(可对应多个用户)
Bx=1; % 基站天线个数
Mx=1; % 移动端天线个数
L=1; % 信道阶数
fc=2e9; % carrier frequency (in Hz)
V=30; % mobile velocity (in Km/h)
B=0.5; % bandwidth (in MHz);
Ns=512*200; % number of samples
K=Ns*0.7;
%%#################### 参数转换 #######################
C=3e8;
v=V*1e3/3600;
Ts=1/B/1e6; % sampling interval (in seconds)
fd=fc*v/C; % maximum Doppler frequency
% %#################### 更改缺省参数 #######################
scmpar=scmparset;
linkpar=linkparset(Link); % 10 links
antpar=antparset;
linkpar.MsVelocity=repmat(v,1,Link);
scmpar.NumTimeSamples=Ns; % Ns time samples per link
scmpar.SampleDensity=0.5/fd/Ts;
scmpar.CenterFrequency=fc;
scmpar.NumBsElements=Bx;
scmpar.NumMsElements=Mx;
scmpar.NumPaths=L;
scmpar.ScmOptions='urban_canyon'; % urban canyon option
scmpar.Scenario='urban_macro'; % urban macro scenario
for iter=1:Mon
[H delays out]=scm(scmpar,linkpar,antpar);
ch=H(:);
temp=xcorr(real(ch),'unbias');
autocorr_sim_matrix(iter,:)=temp(Ns:Ns+K-1).'; % need only K autocorrelation values
temp=xcorr(real(ch),imag(ch),'unbias');
cxcorr_sim_matrix(iter,:)=temp(Ns:Ns+K-1).';
end
fdTs=fd*Ts;
autocorr_sim=mean(autocorr_sim_matrix);
plot(fdTs.*[0:1:K-1],autocorr_sim,'b-')
reff=besselj(0,2*pi*fdTs*[0:K-1]);
hold on
plot(fdTs.*[0:1:K-1],0.5*reff,'r:');
cxcorr_sim=mean(cxcorr_sim_matrix);
plot(fdTs.*[0:1:K-1],cxcorr_sim,'m-')
xlabel('fdTs');
ylabel('correlation');
title('3GPP2 channel model');
% 验证各个径上的相关性
% for iter=1:Link
% temp=H(1,1,1,:,iter);
% ch1=temp(:);
% temp=H(1,1,2,:,iter);
% ch2=temp(:);
% Rx(iter,:)=xcorr(ch1,ch2,'unbiased').';
% end
% Rx_m=mean(Rx);
% plot(Rx_m)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -