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

📄 stbc_decode.m

📁 程序里面包含各部分算法仿真 可供参考和使用
💻 M
字号:
function  decoded = stbc_decode(R,H,Idx_data,N_Tx_ant,N_subc)

% 2发STBC解码
if N_Tx_ant == 2 
    
    Xe = zeros(N_subc,1);
    Xo = zeros(N_subc,1);
    
    R1 = R(Idx_data,1);    R2 = R(Idx_data,2);
    
    H1 = H(Idx_data,1,1);    H2 = H(Idx_data,1,2);
    
    Xe(Idx_data,1) = (conj(H1).*R1 + H2.*conj(R2))./(abs(H1).^2 + abs(H2).^2);
    Xo(Idx_data,1) = (conj(H2).*R1 - H1.*conj(R2))./(abs(H1).^2 + abs(H2).^2);
    
    decoded = [Xe Xo];
    
% 4发STBC解码
elseif N_Tx_ant == 4
    
    decoded = zeros(N_subc,N_Tx_ant);
    
    H1 = H(Idx_data,1,1);
    H2 = H(Idx_data,1,2);
    H3 = H(Idx_data,1,3);
    H4 = H(Idx_data,1,4);
    
    R1 = R(Idx_data,1);
    R2 = R(Idx_data,2);
    R3 = R(Idx_data,3);
    R4 = R(Idx_data,4);
    R5 = R(Idx_data,5);
    R6 = R(Idx_data,6);
    R7 = R(Idx_data,7);
    R8 = R(Idx_data,8);
    
    denominator = ( H1.*conj(H1) + H2.*conj(H2) + H3.*conj(H3) + H4.*conj(H4) ) * 2;
    
    X1 = ( R1.*conj(H1) + R2.*conj(H2) + R3.*conj(H3) + R4.*conj(H4) + conj(R5).*H1 + conj(R6).*H2 + conj(R7).*H3 + conj(R8).*H4 )./denominator;
    X2 = ( R1.*conj(H2) - R2.*conj(H1) - R3.*conj(H4) + R4.*conj(H3) + conj(R5).*H2 - conj(R6).*H1 - conj(R7).*H4 + conj(R8).*H3 )./denominator;
    X3 = ( R1.*conj(H3) + R2.*conj(H4) - R3.*conj(H1) - R4.*conj(H2) + conj(R5).*H3 + conj(R6).*H4 - conj(R7).*H1 - conj(R8).*H2 )./denominator;
    X4 = ( R1.*conj(H4) - R2.*conj(H3) + R3.*conj(H2) - R4.*conj(H1) - conj(R5).*H4 - conj(R6).*H3 + conj(R7).*H2 - conj(R8).*H1 )./denominator;
    
    decoded(Idx_data,1) = X1;
    decoded(Idx_data,2) = X2;
    decoded(Idx_data,3) = X3;
    decoded(Idx_data,4) = X4;
    
end



⌨️ 快捷键说明

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