资源简介
Jakes模型MATLAB仿真还有包括改进的jakes模型仿真验证该仿真公式输出信号的幅度统计概率服从瑞利分布,相位服从均匀分布
代码片段和文件信息
clear;clc
%
% 功能:使用成型滤波法仿真Clarke模型
% 作者:hhuyudi
% 参考:MIMO-OFDM Wireless Communications with MATLAB
% 参考书中 FWGN 小节
%
%最大多普勒频为926Hz,仿真次数为50us,仿真次数为十万次
fd=926; % 最大Doppler
ts=5e-5; % 仿真最小时间
fs=1/ts; % sample frequency
Ns=1e5; % 仿真次数
M=2^12; % 做FFT的总点数,可以使用自相关函数通过FFT计算功率谱密度,请自行完成
t=(0:Ns-1)*ts;% 仿真总时间,作图使用
tt=(0:M-1)*ts;% 仿真总时间,作图使用
ff=(-M/2:M/2-1)/(M*ts*fd);% 频率归一化,功率谱密度作图使用
temp=zeros(3Ns); % 3*Ns的矩阵
% temp(1,:)存储仿真结果的自相关函数
% temp(2,:)存储ones(1,Ns)的自相关函数,用于归一化
% temp(3,:)存储仿真结果其分量的互相关函数
%generat channel information
[hNfftNifftDoppler_coeff]=Clarke_model(fdfsNs); % 归一化的Clarke模型,功率为1
%自相关函数,分量的互相关函数,为了结果更准确,这里50次仿真取平均值
for ii=1:50
[hNfftNifftDoppler_coeff]=Clarke_model(fdfsNs);
yy=xcorr(h);
yy_cs=xcorr(real(h)imag(h));
temp(1:)=temp(1:)+yy(Ns:length(yy));
temp(3:)=temp(3:)+yy_cs(Ns:length(yy_cs));
end
%画图
%Clarke模型复包络的幅度增益、幅度分布、相位分布
figure(1);
subplot(211)
plot((1:Ns)*ts10*log10(abs(h)));
axis([0 0.01 -20 10]);
xlabel(‘时间/s‘);ylabel(‘幅度/db‘);title(‘信道时域特性‘);
str=sprintf(‘channel model by Clarke with fm=%dHzTs=%dus‘fdts*1e6);
title(str);
% 幅度分布
subplot(223)
[fxi]=ksdensity(abs(h));
plot(xif);
cs2=var(h)/2; % 瑞利分布的方差是实部或虚部的方差,是h方差的一半
r=linspace(021000);
fx2=r./(cs2).*exp(-r.^2/2/(cs2));
hold on;plot(rfx2‘r:‘);hold off;
xlabel(‘幅度‘);ylabel(‘统计次数‘);title(‘幅度分布‘);axis([0 2.5 0 1.0]);
% 相位分布
subplot(224)
[fxi]=ksdensity(angle(h));
plot(xif);
hold on;plot([-pi pi][1/2/pi 1/2/pi]‘r:‘);hold off;
xlabel(‘相位/rad‘);ylabel(‘统计次数‘);title(‘相位分布‘);axis([-pi pi 0 0.2]);
%%自相关函数和互相关函数计算,功率谱密度请自行编程
temp(1:)=temp(1:)/50;
temp(3:)=temp(3:)/50;
%用于归一化
yyy=xcorr(ones(1Ns));
temp(2:)=yyy(Ns:length(yy));
%自相关函数和分量互相关函数,取M个点,进行归一化
for k=1:M
simulated_corr(k)=real(temp(1k))/temp(2k);
simulated_corr_cs(k)=real(temp(3k))/temp(2k);
end
classical_corr=besselj(02*pi*fd*tt);
%%画图:自相关函数和互相关函数
figure(2);
subplot(211)
plot(ttsimulated_corr‘k-‘);
title(‘自相关函数‘); grid on;
xlabel(‘时间差/s‘);ylabel(‘相关系数‘);axis([0 0.004 -0.5 1]);
legend(‘仿真结果‘);
subplot(212)
plot(ttsimulated_corr_cs‘k-‘);
title(‘互相关函数‘); grid on;
xlabel(‘时间差/s‘);ylabel(‘相关系数‘);axis([0 0.004 -0.2 0.2]);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-06-09 02:00 Clarke_Jakes_Zheng模型matlab仿真\
目录 0 2018-06-09 02:01 Clarke_Jakes_Zheng模型matlab仿真\Clarke\
文件 2724 2018-06-09 01:52 Clarke_Jakes_Zheng模型matlab仿真\Clarke\Clarke.m
文件 1126 2018-06-09 01:45 Clarke_Jakes_Zheng模型matlab仿真\Clarke\Clarke_model.m
文件 485 2018-06-09 01:41 Clarke_Jakes_Zheng模型matlab仿真\Clarke\Doppler.m
目录 0 2018-06-09 01:16 Clarke_Jakes_Zheng模型matlab仿真\Jakes\
文件 2017 2018-06-09 01:57 Clarke_Jakes_Zheng模型matlab仿真\Jakes\Jakes.m
文件 797 2018-05-17 11:24 Clarke_Jakes_Zheng模型matlab仿真\Jakes\Jakes_model.m
文件 507 2018-06-09 01:59 Clarke_Jakes_Zheng模型matlab仿真\read_me.txt
目录 0 2018-06-09 01:18 Clarke_Jakes_Zheng模型matlab仿真\改进Jakes\
文件 1885 2018-06-09 01:58 Clarke_Jakes_Zheng模型matlab仿真\改进Jakes\Zheng.m
文件 1309 2018-05-25 10:56 Clarke_Jakes_Zheng模型matlab仿真\改进Jakes\Zheng_QPSK.m
文件 510 2018-06-01 20:08 Clarke_Jakes_Zheng模型matlab仿真\改进Jakes\z_rayleigh.m
- 上一篇:Hurst指数计算
- 下一篇:HSPICE TOOLBOX FOR MATLAB
评论
共有 条评论