首页 > 其他分享 >m基于MRC的MIMO分集接收matlab仿真

m基于MRC的MIMO分集接收matlab仿真

时间:2023-08-21 20:00:43浏览次数:39  
标签:... end 信号 SNRs matlab 分集 BER MIMO MRC

1.算法仿真效果 matlab2022a仿真结果如下: 1.jpeg2.jpeg

2.算法涉及理论知识概要 多输入多输出(MIMO)系统利用多个发射和接收天线来提高无线通信系统的性能。MIMO技术通过空间多样性和信道多样性来增强系统容量、抗干扰性和可靠性。在MIMO系统中,分集是一种关键技术,它利用多径信道的多样性来提高信号传输的可靠性。最大比合并(MRC)是一种常用的MIMO分集接收技术,本文将从基本原理、实现过程以及应用领域等方面进行详细介绍。

 对于来自发射端的同一个信号,由于在接收端使用多天线接收,这个信号将经过多条路径(多个天线)被接收端所接收。多个路径质量同时差的几率非常小,一般总有一条路径的信号比其他信号好。在接收端使用某种算法,对各接收路径上的信号进行加权汇总,信号好的路径分配最高的权重,实现接收端的信号改善。当多条路径上信号都不太好时,通过MRC技术能够获得较好的接收信号。

    MRC技术基于信道的多样性,通过合并接收到的信号以增加信号的强度,减少信号的衰减。考虑一个具有多个天线的MIMO系统,接收端接收到的信号可以表示为:

3.png

    MRC技术在无线通信领域有广泛的应用,特别是在高速移动通信和宽带通信中。以下是一些应用领域的示例: 

3.MATLAB核心程序

...................................................................................
                %MRC合并
                Z      = Z+R(:,i).*conj(H(:,i));                      
            end
            %最大似然译码
            for m=1:P                                      
                d1(:,m)=abs(sum(Z,2)-maps(m)).^2+(-1+sum(Habs,2))*abs(maps(m))^2;  
            end
            [yl,il]     = min(d1,[],2);
            Xd          = maps(il).';
            templ       = X>0;
            temp2       = Xd>0;
            %累加错误比特
            errs0(ij3)  = sum(sum(templ~=temp2));      
        end
    
        BER(ij,ij2) = sum(errs0)/(Npacket*Nframe*mods); 
    end                                                 
end
figure;
semilogy(SNRs,BER(1,:),'-bs',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.0,0.0]);
hold on
semilogy(SNRs,BER(2,:),'-b^',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.2,0.9,0.5]);
hold on
semilogy(SNRs,BER(3,:),'-r>',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.9,0.0]);
hold on
title('MRC方案的误比特率性能')
xlabel('信噪比SNR[dB]')
ylabel('误比特率BER')
 
legend('MRC(Tx:1,Rx:2)','MRC(Tx:1,Rx:4)','MRC(Tx:1,Rx:8)')
if  mods == 1; %设置为1/2/3/4对应于BPSK/QPSK/8PSK/16QAM
    save R1.mat SNRs BER
end
if  mods == 2; %设置为1/2/3/4对应于BPSK/QPSK/8PSK/16QAM
    save R2.mat SNRs BER
end
if  mods == 3; %设置为1/2/3/4对应于BPSK/QPSK/8PSK/16QAM
    save R3.mat SNRs BER
end
if  mods == 4; %设置为1/2/3/4对应于BPSK/QPSK/8PSK/16QAM
    save R4.mat SNRs BER
end

标签:...,end,信号,SNRs,matlab,分集,BER,MIMO,MRC
From: https://blog.51cto.com/matworld/7179058

相关文章