您现在的位置:首页 >> 通信 >> 内容

m瑞利信道下对比ZF-SIC,MMSE-SIC,MRC三种均衡算法的误码率matlab仿真

时间:2022/12/23 21:18:05 点击:

  核心提示:01_191m包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/Y5qal5hs

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览





3.算法概述

      移动通信系统的性能在很大程度上决定于无线信道的特性。单发单收系统无线信道的特性已经研究得很透彻,针对其各通信标准所采用的载频、带宽、环境等都有权威机构给出实测的信道模型。对于多天线信道而言,许多单天线的概念都被继承了下来,如路径传播损耗、阴影衰落、多径衰落 损耗、长期衰落、短期衰落、相干时间、相干带宽、频率选择性衰落、平坦衰落等 , 所采用的信道模型也基本都是单天线情况下的一些拓展。本实验采用独立的慢衰落环境中的多输入多输出 MIMO 系统,假设发送端的天线数目为Mt,接收端端的天线数目为 Mr。

4.部分源码

SNR     = [0:5:30]; 

Nuser   = 5;

len_dat = 1000; 

num_T   = 2;

num_R   = 2;

Totalerr= 1e5;

Error   =[];

 

for ij=1:length(SNR)

    Num_err = 0; %蒙特卡洛模拟次数

    Numbers = 0; %误码率累加器

    while Num_err<=Totalerr/10

        fprintf('SNR = %f\n', SNR(ij));

        Num_err

        %QPSK发射信号

        signal         = randi([0,3],Nuser*num_T*len_dat,1); 

        signal_matrix  = reshape(signal,num_T,Nuser,len_dat);

        signal_matrix2 = zeros(num_T,Nuser,len_dat);

        for k=1:len_dat

            for k2=1:Nuser

                signal_matrix2(:,k2,k) = pskmod(signal_matrix(:,k2,k),4);

            end

        end

        %Rayleigh

        H_ray     = (randn(num_R,num_T,Nuser,len_dat) + sqrt(-1)*randn(num_R,num_T,Nuser,len_dat))/sqrt(2); 

        N_awg     = (randn(num_R,Nuser,len_dat)       + sqrt(-1)*randn(num_R,Nuser,len_dat))/sqrt(2); 

        %接收

        Rec       = zeros(num_R,Nuser,len_dat); 

        for k=1:len_dat 

            for k2=1:Nuser

                Rec(:,k2,k)=H_ray(:,:,k2,k)*signal_matrix2(:,k2,k)/sqrt(Nuser*num_T); 

            end

        end 

        

        R_noised = Rec + sqrt(1/(10^(SNR(ij)/10)))*N_awg; %高斯白噪声

        x        = [];

        for t=1:len_dat

            for k=1:Nuser

                Rect      = R_noised(:,k,t);

                Ht_ray    = H_ray(:,:,k,t);

                Hmmsesic  = inv(Ht_ray'*Ht_ray+(1/(10^(SNR(ij)/10)))*eye(num_T))*Ht_ray';

                xbits     = func_mmse_dmd(Rect,Hmmsesic,H_ray(:,:,k,t),Ht_ray,[1:num_T],num_T,Nuser,SNR(ij));

                x(:,k,t)  = xbits;

            end

        end

        x1 = zeros(num_T,Nuser,len_dat);

        for k=1:len_dat

            for k2=1:Nuser

                x1(:,k2,k) = pskdemod(x(:,k2,k),4);

            end

        end

        Rec_bits          = reshape(x1,Nuser*num_T*len_dat,1);

        [errbit,temp_ber] = biterr(signal,Rec_bits,2); 

        Num_err           = Num_err+errbit;

        Numbers           = Numbers+1;

    end

    Error(ij)=[Num_err/Numbers/length(signal)];

end

01_191m

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168