通信人家园

标题: MIMO-OFDM仿真  [查看完整版帖子] [打印本页]

时间:  2013-5-12 14:22
作者: wenxuejie     标题: MIMO-OFDM仿真

在网上下载的程序,前面都看懂了,就是信道估计这里看不懂了;

.......
Wk=exp((-2*pi/carrier_count)*i);
L=3; %  信道阶数  即信道的最大多径数(原为10)

    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
看了很久了,就是这里看的比较模糊,希望看过的朋友,能帮下忙!
要是需要完整的程序,我也可以发给你。
谢了先啊!







通信人家园 (https://www.txrjy.com/) Powered by C114