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

📄 turbo_icc.m

📁 B3g_phase2_C语言_Matlab程序及说明
💻 M
字号:
function [x_intf,x_sigma]=Turbo_ICC(x_rake,Rou,Mask,Noise_variance,x_mean0,x_variance0,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);

[Rou_sorted,Order]=sort(Rou);
Order=Order(end:-1:1);

[M,N]=size(Mask); L=N/M;
Mask2=abs(Mask).^2;


for mm=1:M
    m=Order(mm);
    Mask_m=Mask(:,m:M:end);
    Mask2_m=Mask2(:,m:M:end);
    for n=1:SubslotData_length 
        
        x_intf(m,n)=x_rake(m,n)-sum(sum(x_mean0(:,n+(0:L-1)).*Mask_m));
        
        x_sigma(m,n)=sum(sum(x_variance0(:,n+(0:L-1)).*Mask2_m))+Rou(m)*Noise_variance;
        
%         P =exp(-abs(x_intf(m,n)-Rou(m)*MapMatrix16QAM).^2/x_sigma(m,n))/sum(exp(-abs(x_intf(m,n)-Rou(m)*MapMatrix16QAM).^2/x_sigma(m,n)));
        
        %            x_mean0(m,Path_number-1+n)=P*MapMatrix16QAM.';
        %            x_variance0(m,Path_number-1+n)=P*abs(MapMatrix16QAM.^2)'-abs(x_mean0(m,Path_number-1+n))^2;   
    end
end



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -