下载此文档

2025年分集合并.doc


文档分类:办公文档 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
该【2025年分集合并 】是由【读书百遍】上传分享,文档一共【17】页,该文档可以免费在线阅读,需要了解更多关于【2025年分集合并 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。分集合并技术MATLAB仿真 - [毕设]
版权申明:转载时请以超链接形式标明文章原始出处和作者信息及本申明
clc
clear
c=sqrt(2)/2;
j=sqrt(-1);
Cons=[1,c+j*c, j, c-j*c,-1, -c-j*c, -j, -c+j*c];
Es=1;
SNRIndex=1;
for SNR=0:5:50
    SNRValue(SNRIndex)=SNR;
    SNR1=10^(SNR/10);
    NoisePower=2*Es/(SNR1);
    RealNoisePower=NoisePower/2;
    Frame=5000;
    TotalBit1=0;
    ErrorNum1_M=0;
    ErrorNum2_M=0;
    ErrorNum3_M=0;
    ErrorNum4_M=0;
    ErrorNum5_M=0;
    ErrorNum1_E=0;
    ErrorNum2_E=0;
    ErrorNum3_E=0;
    ErrorNum4_E=0;
    ErrorNum5_E=0;
    ErrorNum1_S=0;
    ErrorNum2_S=0;
    ErrorNum3_S=0;
    ErrorNum4_S=0;
    ErrorNum5_S=0;
    for loop=1:1:Frame
        h1=(randn(1)+j*randn(1))*sqrt(1/2);
        for i=1:1:2
            h2(i,1)=(randn(1)+j*randn(1))*sqrt(1/2);
        end
        for i=1:1:4
            h3(i,1)=(randn(1)+j*randn(1))*sqrt(1/2);
        end
         for i=1:1:6
            h4(i,1)=(randn(1)+j*randn(1))*sqrt(1/2);
         end
         for i=1:1:8
            h5(i,1)=(randn(1)+j*randn(1))*sqrt(1/2);
         end
        TotalBit1=TotalBit1+1;
        for i=1:1:2
            InStream(i)=(rand(1)>=);
        end
        xx1=2*InStream(1)+InStream(2)+1;
        x=Cons(xx1);
        noise1=(randn(1)+j*randn(1))*sqrt(RealNoisePower);
        for i=1:1:2
            noise2(i,1)=(randn(1)+j*randn(1))*sqrt(RealNoisePower);
        end
        for i=1:1:4
            noise3(i,1)=(randn(1)+j*randn(1))*sqrt(RealNoisePower);
        end
        for i=1:1:6
            noise4(i,1)=(randn(1)+j*randn(1))*sqrt(RealNoisePower);
        end
        for i=1:1:8
            noise5(i,1)=(randn(1)+j*randn(1))*sqrt(RealNoisePower);
        end
        r1=h1*x+noise1;
        r2=h2*x+noise2;
        r3=h3*x+noise3;
        r4=h4*x+noise4;
        r5=h5*x+noise5;
        %%%%%%%%MRC%%%%%%%
        s1_m=r2(1)*conj(h2(1))+r2(2)*conj(h2(2));
        s2_m=r3(1)*conj(h3(1))+r3(2)*conj(h3(2))+r3(3)*conj(h3(3))+r3(4)*conj(h3(4));
        s3_m=r4(1)*conj(h4(1))+r4(2)*conj(h4(2))+r4(3)*conj(h4(3))+r4(4)*conj(h4(4))+r4(5)*conj(h4(5))+r4(6)*conj(h4(6));
        s4_m=r5(1)*conj(h5(1))+r5(2)*conj(h5(2))+r5(3)*conj(h5(3))+r5(4)*conj(h5(4))+r5(5)*conj(h5(5))+r5(6)*conj(h5(6))+r5(7)*conj(h5(7))+r5(8)*conj(h5(8));
        for i=1:1:4
            M1(i)=abs(r1-h1*Cons(i));
            M2(i)=abs(s1_m-Cons(i));
            M3(i)=abs(s2_m-Cons(i));
            M4(i)=abs(s3_m-Cons(i));
            M5(i)=abs(s4_m-Cons(i));
        end
       
        Minvalue_M=min(M1);
        n1_m=find(M1==Minvalue_M);
        l1_m=Cons(n1_m);
        Minvalue_M=min(M2);
        n2_m=find(M2==Minvalue_M);
        l2_m=Cons(n2_m);
        Minvalue_M=min(M3);
        n3_m=find(M3==Minvalue_M);
        l3_m=Cons(n3_m);
        Minvalue_M=min(M4);
        n4_m=find(M4==Minvalue_M);
        l4_m=Cons(n4_m);
        Minvalue_M=min(M5);
        n5_m=find(M5==Minvalue_M);
        l5_m=Cons(n5_m);
        ErrorNum1_M=ErrorNum1_M+(l1_m~=x);
        ErrorNum2_M=ErrorNum2_M+(l2_m~=x);
        ErrorNum3_M=ErrorNum3_M+(l3_m~=x);
        ErrorNum4_M=ErrorNum4_M+(l4_m~=x);
        ErrorNum5_M=ErrorNum5_M+(l5_m~=x);
        %%%%%EGC%%%%%
        s1_e=r2(1)*conj(h2(1))/abs(h2(1))+r2(2)*conj(h2(2))/abs(h2(2));
        s2_e=r3(1)*conj(h3(1))/abs(h3(1))+r3(2)*conj(h3(2))/abs(h3(2))+r3(3)*conj(h3(3))/abs(h3(3))+r3(4)*conj(h3(4))/abs(h3(4));
        s3_e=r4(1)*conj(h4(1))/abs(h4(1))+r4(2)*conj(h4(2))/abs(h4(2))+r4(3)*conj(h4(3))/abs(h4(3))+r4(4)*conj(h4(4))/abs(h4(4))+r4(5)*conj(h4(5))/abs(h4(5))+r4(6)*conj(h4(6))/abs(h4(6));
        s4_e=r5(1)*conj(h5(1))/abs(h5(1))+r5(2)*conj(h5(2))/abs(h5(2))+r5(3)*conj(h5(3))/abs(h5(3))+r5(4)*conj(h5(4))/abs(h5(4))+r5(5)*conj(h5(5))/abs(h5(5))+r5(6)*conj(h5(6))/abs(h5(6))+r5(7)*conj(h5(7))/abs(h5(7))+r5(8)*conj(h5(8))/abs(h5(8));
        for i=1:1:4
            E1(i)=abs(r1-h1*Cons(i));
            E2(i)=abs(s1_e-Cons(i));
            E3(i)=abs(s2_e-Cons(i));
            E4(i)=abs(s3_e-Cons(i));
            E5(i)=abs(s4_e-Cons(i));
        end
        Minvalue_E=min(E1);
        n1_e=find(E1==Minvalue_E);
        l1_e=Cons(n1_e);
        Minvalue_E=min(E2);
        n2_e=find(E2==Minvalue_E);
        l2_e=Cons(n2_e);
        Minvalue_E=min(E3);
        n3_e=find(E3==Minvalue_E);
        l3_e=Cons(n3_e);
        Minvalue_E=min(E4);
        n4_e=find(E4==Minvalue_E);
        l4_e=Cons(n4_e);
        Minvalue_E=min(E5);
        n5_e=find(E5==Minvalue_E);
        l5_e=Cons(n5_e);
        ErrorNum1_E=ErrorNum1_E+(l1_e~=x);
        ErrorNum2_E=ErrorNum2_E+(l2_e~=x);
        ErrorNum3_E=ErrorNum3_E+(l3_e~=x);
        ErrorNum4_E=ErrorNum4_E+(l4_e~=x);
        ErrorNum5_E=ErrorNum5_E+(l5_e~=x);
        %%%%%SC%%%%%
        Maxvalue1=max(h2);
        a=find(h2==Maxvalue1);
        Maxvalue2=max(h3);
        b=find(h3==Maxvalue2);
        Maxvalue3=max(h4);
        c=find(h4==Maxvalue3);
        Maxvalue4=max(h5);
        d=find(h5==Maxvalue4);
        s1_s=r2(a);
        s2_s=r3(b);
        s3_s=r4(c);
        s4_s=r5(d);
        for i=1:1:4
            S1(i)=abs(r1-h1*Cons(i));
            S2(i)=abs(s1_s-h2(a)*Cons(i));
            S3(i)=abs(s2_s-h3(b)*Cons(i));
            S4(i)=abs(s3_s-h4(c)*Cons(i));
            S5(i)=abs(s4_s-h5(d)*Cons(i));
        end
        Minvalue_S=min(S1);
        n1_s=find(S1==Minvalue_S);
        l1_s=Cons(n1_s);
        Minvalue_S=min(S2);
        n2_s=find(S2==Minvalue_S);
        l2_s=Cons(n2_s);
        Minvalue_S=min(S3);
        n3_s=find(S2==Minvalue_S);
        l3_s=Cons(n2_s);
        Minvalue_S=min(S4);
        n4_s=find(S4==Minvalue_S);
        l4_s=Cons(n4_s);
        Minvalue_S=min(S5);
        n5_s=find(S5==Minvalue_S);
        l5_s=Cons(n5_s);
        ErrorNum1_S=ErrorNum1_S+(l1_s~=x);
        ErrorNum2_S=ErrorNum2_S+(l2_s~=x);
        ErrorNum3_S=ErrorNum3_S+(l3_s~=x);
        ErrorNum4_S=ErrorNum4_S+(l4_s~=x);
        ErrorNum5_S=ErrorNum5_S+(l5_s~=x);
    end
    BER1_M(SNRIndex)=ErrorNum1_M/TotalBit1;
    BER2_M(SNRIndex)=ErrorNum2_M/TotalBit1;
    BER3_M(SNRIndex)=ErrorNum3_M/TotalBit1;
    BER4_M(SNRIndex)=ErrorNum4_M/TotalBit1;
    BER5_M(SNRIndex)=ErrorNum5_M/TotalBit1;
   
    BER1_E(SNRIndex)=ErrorNum1_E/TotalBit1;
    BER2_E(SNRIndex)=ErrorNum2_E/TotalBit1;
    BER3_E(SNRIndex)=ErrorNum3_E/TotalBit1;
    BER4_E(SNRIndex)=ErrorNum4_E/TotalBit1;
    BER5_E(SNRIndex)=ErrorNum5_E/TotalBit1;

2025年分集合并 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人读书百遍
  • 文件大小37 KB
  • 时间2025-02-11