📄 intf_sigma_1.m
字号:
function [x_intf, x_sigma,x_mean,x_variance]=Intf_Sigma_1(x_rake,rou1,rou2,noise_var,x_mean0,x_variance0,Tmp_h11,Tmp_h12,Tmp_h21,Tmp_h22,SubslotData_length,Path_number);
% Gray coded 16-QAM mapping vector
MapMatrix16QAM = [-1-j -1-3*j -1+j -1+3*j -3-j -3-3*j -3+j -3+3*j 1-j 1-3*j 1+j 1+3*j 3-j 3-3*j 3+j 3+3*j];
MapMatrix16QAM = MapMatrix16QAM/sqrt(10);
L=length(Tmp_h11);
Tmp_h11_2=abs(Tmp_h11).^2;
Tmp_h12_2=abs(Tmp_h12).^2;
Tmp_h21_2=abs(Tmp_h21).^2;
Tmp_h22_2=abs(Tmp_h22).^2;
for n=1:SubslotData_length
x_intf(2,n)=x_rake(2,n)-x_mean0(1,n+(0:L-1))*Tmp_h12'-x_mean0(2,n+(0:L-1))*Tmp_h22';
x_sigma(2,n)=x_variance0(1,n+(0:L-1))*Tmp_h12_2'+x_variance0(2,n+(0:L-1))*Tmp_h22_2'+rou2*noise_var;
P =exp(-abs(x_intf(2,n)-rou2*MapMatrix16QAM).^2/x_sigma(2,n))/sum(exp(-abs(x_intf(2,n)-rou2*MapMatrix16QAM).^2/x_sigma(2,n)));
x_mean0(2,Path_number-1+n)=P*MapMatrix16QAM.';
x_variance0(2,Path_number-1+n)=P*abs(MapMatrix16QAM.^2)'-abs(x_mean0(2,Path_number-1+n))^2;
end
for n=1:SubslotData_length
x_intf(1,n)=x_rake(1,n)-x_mean0(1,n+(0:L-1))*Tmp_h11'-x_mean0(2,n+(0:L-1))*Tmp_h21';
x_sigma(1,n)=x_variance0(1,n+(0:L-1))*Tmp_h11_2'+x_variance0(2,n+(0:L-1))*Tmp_h21_2'+rou1*noise_var;
P =exp(-abs(x_intf(1,n)-rou1*MapMatrix16QAM).^2/x_sigma(1,n))/sum(exp(-abs(x_intf(1,n)-rou1*MapMatrix16QAM).^2/x_sigma(1,n)));
x_mean0(1,Path_number-1+n)=P*MapMatrix16QAM.';
x_variance0(1,Path_number-1+n)=P*abs(MapMatrix16QAM.^2)'-abs(x_mean0(1,Path_number-1+n))^2;
end
x_mean=x_mean0;
x_variance=x_variance0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -