p=zeros(L*Nt,1);
for jj=1:Nt
for l=0-1
for kk=0:carrier_count-1
p(l+(jj-1)*L+1,1)=p(l+(jj-1)*L+1,1)+spectrum_matrix1(kk+1,1)*conj(tx_training_symbols(kk+1,jj))*Wk^(-(kk*l)); %%%问题1----????????不知道为什么要乘以Wk^(-kk*l)????????
end
end
end
h=p/carrier_count; %感觉是信道的冲击响应
H_buf=zeros(carrier_count,Nt);
for ii=1:Nt
for kk=0:carrier_count-1
for l=0-1
H_buf(kk+1,ii)=H_buf(kk+1,ii)+h(l+(ii-1)*L+1,1)*Wk^(kk*l); %%%%%%和上面的一样情况,什么要乘以Wk^(kk*l)
end
end
end
H_buf=conj(H_buf'); % 3X100
%%上面是得到信道的估计
%%下面是通过信道特性对信号的补偿,但是不知道为什么这么做?
%%其中的eta矩阵是根据发送天线矩阵得出的。
for kk=1:carrier_count
Y=Y_buf(:,kk);
H=H_buf(:,kk);
for co_ii=1:num_X
for co_tt=1:size(eta,2)
if eta(co_ii,co_tt)~=0
if coj_mt(eta(co_ii,co_tt),co_ii)==0
r_til(eta(co_ii,co_tt),:,co_ii)=Y(eta(co_ii,co_tt),:);
a_til(eta(co_ii,co_tt),:,co_ii)=conj(H(epsilon(eta(co_ii,co_tt),co_ii),:));
else
r_til(eta(co_ii,co_tt),:,co_ii)=conj(Y(eta(co_ii,co_tt),:));
a_til(eta(co_ii,co_tt),:,co_ii)=H(epsilon(eta(co_ii,co_tt),co_ii),:);
end
end
end
end
RR=zeros(num_X,1);
for iii=1:num_X % Generate decision statistics for the transmitted signal "xi"
for ttt=1:size(eta,2)
if eta(iii,ttt)~=0
RR(iii,1)=RR(iii,1)+r_til(eta(iii,ttt),1,iii)*a_til(eta(iii,ttt),1,iii)*delta(eta(iii,ttt),iii);
end
end
end
看了很久了,就是这里看的比较模糊,希翼看过的朋友,能帮下忙!
要是需要完整的程序,我也可以发给你。
谢了先啊!