⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 intf_sigma_1.m

📁 B3g_phase2_C语言_Matlab程序及说明
💻 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 + -