📄 jakes.m
字号:
%Jakes 模型仿真
clear all;
f_max=30; %最大多谱勒频移
M=8; %低频振荡器个数
N=4*M+2; %入射角度个数
sq=2/sqrt(N);
sigma=1;
theta=0; %固定相移
count=0;
for t=0:1.042e-04:1,
t1=0.025;
t2=0.05;
t3=0.1;
count=count+1;
for n=1:M+1,
if n<=M
c_i(count,n)=2*sigma*cos(pi*n/M); %同相分量的幅度增益
c_q(count,n)=2*sigma*sin(pi*n/M); %正交分量的幅度增益
f_i(count,n)=f_max*cos(2*pi*n/N); %同相分量的多普勒频移
f_q(count,n)=f_max*cos(2*pi*n/N); %正交分量的多普勒频移
else %入射角度为0和180度时的幅度和频移
c_i(count,n)=sqrt(2)*cos(pi/4);
c_q(count,n)=sqrt(2)*sin(pi/4);
f_i(count,n)=f_max;
f_q(count,n)=f_max;
end;
g_i(count,n)=c_i(count,n)*cos(2*pi*f_i(count,n)*(t-t1)+theta); %每一个同相分量
g_q(count,n)=c_q(count,n)*cos(2*pi*f_i(count,n)*(t-t1)+theta); %每一个正交分量
g_i2(count,n)=c_i(count,n)*cos(2*pi*f_i(count,n)*(t-t2)+theta);
g_i3(count,n)=c_i(count,n)*cos(2*pi*f_i(count,n)*(t-t3)+theta);
end;
tp_i(count)=sq*sum(g_i(count,1:M+1)); %整个同相分量
tp_q(count)=sq*sum(g_q(count,1:M+1)); %整个正交分量
tp_i2(count)=sq*sum(g_i2(count,1:M+1));
tp_i3(count)=sq*sum(g_i3(count,1:M+1));
end;
[corrx_i,lag_i]=xcorr(tp_i,'coeff');
[yy,ii]=max(corrx_i);
[ee,bb]=max(lag_i);
auto_i=corrx_i(ii:bb); %时间为t1的同相分量自相关
[corrx_i2,lag_i2]=xcorr(tp_i2,'coeff');
[yy2,ii2]=max(corrx_i2);
[ee2,bb2]=max(lag_i2);
auto_i2=corrx_i2(ii2:bb2); %时间为t2的同相分量自相关
[corrx_i3,lag_i3]=xcorr(tp_i3,'coeff');
[yy3,ii3]=max(corrx_i3);
[ee3,bb3]=max(lag_i3);
auto_i3=corrx_i3(ii3:bb3); %时间为t3的同相分量自相关
[corrx_q,lag_q]=xcorr(tp_q,'coeff');
[yyq,iiq]=max(corrx_q);
[eeq,bbq]=max(lag_q);
auto_q=corrx_q(iiq:bbq); %正交分量自相关
[corrx_iq,lag_iq]=xcorr(tp_i,tp_q,'coeff'); %同相分量与正交分量互相关
aa=(bb-2*ii+1:ii-1);
aa2=(bb2-2*ii2+1:ii2-1);
aa3=(bb3-2*ii3+1:ii3-1);
figure(1);
plot(aa(1:1000)*1.042e-04,auto_i(1:1000),aa2(1:1000)*1.042e-04,auto_i2(1:1000),aa3(1:1000)*1.042e-04,auto_i3(1:1000));
title('不同时间的同相分量自相关');
figure(2);
plot(((bb-2*ii+1:ii-1)*1.042e-04),auto_i,((bbq-2*iiq+1:iiq-1)*1.042e-04),auto_q);
title('同相分量与正交分量自相关');
figure(3);
plot((mean(lag_iq):max(lag_iq))*1.042e-04,corrx_iq(9597:19193));
title('同相分量与正交分量互相关');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -