📄 thp_encoder.m
字号:
function output_data = THP_encoder(input_data,H,M)
mod_num = 2 * sqrt(M);
[Tx,T] = size(input_data);
Rx = length(H(:,1));
a_Tx = 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';
B = G * S;
x(Tx,t) = a_Tx(Tx,t);
for i=Tx-1:-1:1
x_eval = a_Tx(i,t) - B(i,i+1:Tx) * x(i+1:Tx,t);
x(i,t) = (mod(real(x_eval)+mod_num/2, mod_num) - mod_num/2)...
+ j * (mod(imag(x_eval)+mod_num/2, mod_num) - mod_num/2);
end
end
output_data = x;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -