官方淘宝店 易迪拓培训 旧站入口
首页 > 无线通信 > 通信技术学习讨论 > 波束成型问题请教

波束成型问题请教

01-08
各位大神真心求教,我是把OFDM上面的波束成型(一种是SVD分解后,仅取最大奇异值对应的特征信道进行发送)转移到单载波上面来,主要就是SVD分解,为什么我的BER性能不随天线的个数而提高呢,写的程序没有问题,特请教一下。有做过这方面的大神吗?希望得到指点。
我的主要思路还是在发射端把数据转移到频域 然后进行频域的波束成型,转移到时域发送出去,在接收端转换到频域乘上接收端的波束成型系数后,进行频域迫零均衡之后在时域解调。
发送端MATLAB为
                Chan11fft=fft(Chan11,Bitlength/2);//这是一个四发四收的信道把信道转移到频域求出发送端和接收端的波束成型系数 发送端为T矩阵  接收端为Z矩阵
                Chan21fft=fft(Chan21,Bitlength/2);
                Chan31fft=fft(Chan31,Bitlength/2);
                Chan41fft=fft(Chan41,Bitlength/2);
                
                Chan12fft=fft(Chan12,Bitlength/2);
                Chan22fft=fft(Chan22,Bitlength/2);
                Chan32fft=fft(Chan32,Bitlength/2);
                Chan42fft=fft(Chan42,Bitlength/2);
                
                Chan13fft=fft(Chan13,Bitlength/2);
                Chan23fft=fft(Chan23,Bitlength/2);
                Chan33fft=fft(Chan33,Bitlength/2);
                Chan43fft=fft(Chan43,Bitlength/2);
                
                Chan14fft=fft(Chan14,Bitlength/2);
                Chan24fft=fft(Chan24,Bitlength/2);
                Chan34fft=fft(Chan34,Bitlength/2);
                Chan44fft=fft(Chan44,Bitlength/2);
                H=zeros(4,4);
                T=zeros(4,2048);
                Z=zeros(4,2048);
                for i = 1:Bitlength/2
                    H(1,1)=Chan11fft(i);
                    H(1,2)=Chan21fft(i);
                    H(1,3)=Chan31fft(i);
                    H(1,4)=Chan41fft(i);
                    H(2,1)=Chan12fft(i);
                    H(2,2)=Chan22fft(i);
                    H(2,3)=Chan32fft(i);
                    H(2,4)=Chan42fft(i);
                    
                    H(3,1)=Chan13fft(i);
                    H(3,2)=Chan23fft(i);
                    H(3,3)=Chan33fft(i);
                    H(3,4)=Chan43fft(i);
                    H(4,1)=Chan14fft(i);
                    H(4,2)=Chan24fft(i);
                    H(4,3)=Chan34fft(i);
                    H(4,4)=Chan44fft(i);
                    
                    R=H'*H;
                    [X,Y]=eig(R);
                    
                    [x,y]=find(Y==max(max(Y)));
                    tezhengzhi(i)=Y(x,y);
                    T(:,i)=X(:,x);
%                     Z(:,i)=(H*T(:,i))';
                    
                end
                
        Data=randi([0,1],1,Bitlength);
        Datamodulation=psk(Data,2);
        Datamodulationfft=fft(Datamodulation);
        D1atamodulationfft1=DatamodulationfftT(1,:);
        D1atamodulationfft2=DatamodulationfftT(2,:);
        D1atamodulationfft3=DatamodulationfftT(3,:);
        D1atamodulationfft4=DatamodulationfftT(4,:);
        
        TESTDATA1=D1atamodulationfft1Chan11fft+D1atamodulationfft2Chan21fft+D1atamodulationfft3Chan31fft+D1atamodulationfft4Chan41fft;
        
      
        
        
        Datamodulationfft1=ifft(D1atamodulationfft1,2048);
        Datamodulationfft2=ifft(D1atamodulationfft2,2048);
        Datamodulationfft3=ifft(D1atamodulationfft3,2048);
        Datamodulationfft4=ifft(D1atamodulationfft4,2048);
        
        DatamodulationCp1=[Datamodulationfft1(end-CP_length+1:end) Datamodulationfft1];
        DatamodulationCp2=[Datamodulationfft2(end-CP_length+1:end) Datamodulationfft2];
        DatamodulationCp3=[Datamodulationfft3(end-CP_length+1:end) Datamodulationfft3];
        DatamodulationCp4=[Datamodulationfft4(end-CP_length+1:end) Datamodulationfft4];
接收端的代码为
         for i = 1:Bitlength/2
                    H(1,1)=Chan11fft11(i);
                    H(1,2)=Chan21fft21(i);
                    H(1,3)=Chan31fft31(i);
                    H(1,4)=Chan41fft41(i);
                    H(2,1)=Chan12fft12(i);
                    H(2,2)=Chan22fft22(i);
                    H(2,3)=Chan32fft32(i);
                    H(2,4)=Chan42fft42(i);
                    
                    H(3,1)=Chan13fft13(i);
                    H(3,2)=Chan23fft23(i);
                    H(3,3)=Chan33fft33(i);
                    H(3,4)=Chan43fft43(i);
                    H(4,1)=Chan14fft14(i);
                    H(4,2)=Chan24fft24(i);
                    H(4,3)=Chan34fft34(i);
                    H(4,4)=Chan44fft44(i);
                    
                    R=H'*H;
                    [X,Y]=eig(R);
                    [x,y]=find(Y==max(max(Y)));
                    T(:,i)=X(:,x);
                    Z(:,i)=(H*T(:,i))';
                    
                    
                    
          end
         RESULT1=RecChantmp1Z(1,:);
         RESULT2=RecChantmp2Z(2,:);
         RESULT3=RecChantmp3Z(3,:);
         RESULT4=RecChantmp4Z(4,:);
        
        
         RESULT5=RESULT1+RESULT2+RESULT3+RESULT4;
         RESULT5=RESULT5./tezhengzhi;

代码看不懂,波束赋形的效果,主要是要做好假设和找好参照的基准。
你仿BER曲线的话,可能赋形增益都体现在横坐标SNR或者SNIR上了,波束赋形的效果,用系统仿真体现较好,链路仿真需要做好假设和参照。

谢谢解答,也就是说BER上面体现不出来吗

我想问一下 我要在链路仿真上面体现它的性能应该怎么体现

BER如果用接收端的Eb/N0做横坐标或者类似的接收处理后信噪比做横坐标,曲线是不变的。                                 ~~~~~~~~~~~~~~~~
换句话说,比如QPSK的BER曲线与SNR的关系是固定的,波束赋形改善的不是BER,而是SNR。
或者用处理前例如单天线接收的SNR做横坐标。

同单天线收发情况下的SNR做横坐标,这个可以认为是客观环境就是这样的。
然后仿多发单收、单发多收,多发多收的曲线对比,就可以得到不同收发条件下、不同波束赋形算法情况下的增益。包括直接对信噪比的提升,对干扰的抑制以及抗衰落性能(体现在曲线的下降率)。

Top