thp_decoder.m

来自「encoder and decoder programme for pre-co」· M 代码 · 共 26 行

M
26
字号
function output_data = THP_decoder(input_data,H,M)

mod_num = 2 * sqrt(M);
[Tx,T] = size(input_data);
Rx = length(H(:,1));

y_Rx = input_data;

for t = 1:T
    ChM = H(:,Tx*(t-1)+1:Tx*t);
    S = chol(ChM' * ChM);
    for i=1:Tx
        Temp(i)=inv(S(i,i));
    end
    G = diag(Temp);
    F = inv(S') * ChM';
    
    r(:,t) = G * F * y_Rx(:,t);
    
    for num_Tx = 1:Tx
        a_eval(num_Tx,t) = (mod(real(r(num_Tx,t))+mod_num/2, mod_num) - mod_num/2)...
                         + j * (mod(imag(r(num_Tx,t))+mod_num/2, mod_num) - mod_num/2);
    end
end

output_data = reshape(a_eval,Tx*T,1);

⌨️ 快捷键说明

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