• 大小: 2KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-04-17
  • 语言: Matlab
  • 标签: MIMO  MMSE  ZF  ML  DETECTOR  

资源简介

MIMO系统 检测仿真, ML MMSE(最小均方误差) ZF(迫零) 还有OSIC等算法

资源截图

代码片段和文件信息

clc;
clear;
tic;
data_length = 10000;%发送数据长度
Nt = 4;
Nr = 4;
R_c=1;    %其为纠错编码的码率,无编码系统中为1
E_s=1;    %发送符号能量。采用归一化星座,E_s=1
M_c=2;   %每调制符号中的比特数
SNR = 0:2:14;
l = data_length/Nt;%每根天线发送数据长度

for j= 1:length(SNR)
    SNR(j)
    sigma2=(Nr*E_s)/(10^(SNR(j)/10)*M_c*R_c);%BSNR=(Nr*E_s)/(M_c*N_0*R_c);
    Data = randint(1data_length);%要发送的信号,其为01
    Data_mod = 2*Data-1;%BPSK调制为0:-11:1。
    s = reshape(Data_modNtl);
    MMSE_detect=[];
    ZF_detect=[];
    ML_detect=[];
    Noise_detect=[];
    for m = 1: l
        
        H = (1/sqrt(2))*(randn(NrNt)+i*randn(NrNt));%信道满足循环复高斯分布C~CN(0,1),要求实数和虚数都独立服从C~N(01/2)
        N = sqrt(sigma2/2)*(randn(Nr1)+i*randn(Nr1));%噪声满足循环复高斯分布C~CN(0,sigma2),要求实数和虚数都独立服从C~N(0sigma2/2)
     S = s(: m );
        R = H*S+N;
        
        G1 = ((H‘*H+sigma2*eye(Nt))\H‘)*R;%MMSE
        R1 = ((sign(real(G1‘)))+1)/2;%解调和检测
        MMSE_detect = [MMSE_detect R1];%MMSE检测数据
        
        G2=((H‘*H)\H‘);%pinv(H)广义逆跑程序时间久
        G2=G2*R;%ZF
        R2=((sign(real(G2‘)))+1)/2;%解调和检测
        ZF_detect = [ZF_detect R2];%ZF检测数据
        
        G3=[0000000100100011010001010110011110001001101010111100110111101111];
        G3=reshape(G3416);%ML
        G4=G3*2-1;
        for n=1:2^Nt
            ML_v(n)=(R-H*G4(:n))‘*(R-H*G4(:n)); %求矩阵2范数
        end
            [XY]=min(ML_v);%误差最小
            ML_detect=[ML_detect G3(:Y)‘];
            
%          G4=(inv(sigma2*eye(Nt)))*R;
%           R3 = ((sign(real(G4‘)))+1)/2;%解调和检测
%         Noise_detect = [Noise_detect R3];%MMSE检测数据
    end
    MMSE_ber(j) = (length(find(Data~=MMSE_detect)))/data_length;%MMSE误比特率
    ZF_ber(j) = (length(find(Data~=ZF_detect)))/data_length;%ZF误比特率
    ML_ber(j) = (length(find(Data~=ML_detect)))/data_length;%ML误比特率
%     noise_ber(j) = (length(find(Data~=Noise_detect)))/data_length;%ML误比特率
end
semilogy(SNRMMSE_ber‘b-o‘SNRZF_ber‘r-*‘SNRML_ber‘k-d‘);%SNRnoise_ber‘g-^‘
xlabel(‘E_b/N_0(dB)‘);
ylabel(‘BER‘);
legend(‘MMSE‘‘ZF‘‘ML‘);
toc;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1528  2013-02-26 21:39  OSIC_QPSK.m

     文件       2300  2013-08-23 09:31  BPSK_ML_ZF_MMSE.m

----------- ---------  ---------- -----  ----

                 3828                    2


评论

共有 条评论