⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 detection.m

📁 the signal detection in the MC-CDMA system
💻 M
字号:
clear all;close all;clcp=[1 0 0 1 0 1;1 1 0 1 1 1];p=p(:,2:6);init=[1 1 1 1 1];state=kron(init,[1;1]);c=[];for i=1:31    output=mod(sum(p.*state,2),2);    state=[output state(:,1:4)];    c=[c output];end;a=2*c(1,:).'-1;b=2*c(2,:).'-1;s=[];for i=1:31    b=[b(2:31);b(1)];    s=[s a.*b];end;s1=s(:,3)./sqrt(31);s2=s(:,4)./sqrt(31);s3=s(:,5)./sqrt(31);s4=s(:,6)./sqrt(31);s5=s(:,7)./sqrt(31);s6=s(:,8)./sqrt(31);s7=s(:,9)./sqrt(31);b1=rand(1,1000);b2=rand(1,1000);b3=rand(1,1000);b4=rand(1,1000);b5=rand(1,1000);b6=rand(1,1000);b7=rand(1,1000);%----------定义6个用户数据A1=1;A2=1.4125;A3=1.4125;A4=1.4125;A5=1.4125;A6=1.4125;A7=1.4125;%---------各用户增益c1=s1;for i=1:1000    if(b1(i)>0.5)        b1(i)=1;    else        b1(i)=-1;    endendr1=c1*b1;c2=s2;for i=1:1000    if(b2(i)>=0.5)        b2(i)=1;    else        b2(i)=-1;    endendr2=c2*b2;c3=s3;for i=1:1000    if(b3(i)>0.5)        b3(i)=1;    else        b3(i)=-1;    endendr3=c3*b3;c4=s4;for i=1:1000    if(b4(i)>0.5)        b4(i)=1;    else        b4(i)=-1;    endendr4=c4*b4;c5=s5;for i=1:1000    if(b5(i)>0.5)        b5(i)=1;    else        b5(i)=-1;    endendr5=c5*b5;r=A1*r1+A2*r2+A3*r3+A4*r4+A5*r5;SNR=20;r=awgn(r,SNR);%---------------------LCDPFCMA-------------------------w=s1;u=1*10^-3;B=eye(31)-s1*s1';x=zeros(31,1);H=eye(31);ticfor i=1:600%     if mod(i,100)==0%         i%     end    X=r(:,i);    y(i)=w'*X;    e=2*(y(i)^2-1)*y(i);    g=e*B*X;    if i==1                                                     p=-H*g;        R=eye(31);    else        j=x-x1;              k=g-g1;        H=H-(H*j*j'*H)/(j'*H*j)+k*k'/(k'*k);%         H=H-(H*k*k'*H)/(k'*H*k)+(j*j')/(k'*j);%         H=H-(H*j*j'*H)/(j'*H*j)+k*k'/(k'*k)+(j'*H*j)*((k)/(k'*k)-(H*j)/(j'*H*j))'*((k)/(k'*k)-(H*j)/(j'*H*j));%         H=H-(H*k*k'*H)/(k'*H*k)+(j*j')/(k'*j)+(k'*H*k)*((j)/(k'*j)-(H*k)/(k'*H*k))'*((j)/(k'*j)-(H*k)/(k'*H*k));        p=-H*g;    end    g1=g;    x1=x;    x=x+u*p;    w=s1+B*x;            n=(A2*w'*s2)^2+(A3*w'*s3)^2+(A4*w'*s4)^2+(A5*w'*s5)^2+w'*0.01*w;        SINR11(i)=((A1*w'*s1)^2)/n;    endtoc%---------------------LSCMA-------------------------w=s1;R=eye(31);ticfor i=1:600%     if mod(i,100)==0%         i%     end    X=r(:,i);    y(i)=w'*X;    d=y(i)./abs(y(i));    e=y(i)-d;    R=R+X*X';    w=w-pinv(R)*X*e;%     X=r;%     y=w'*X;%     d=y./abs(y);%     e=y-d;%     R=X*X';%     w=pinv(R)*X*d';            n=(A2*w'*s2)^2+(A3*w'*s3)^2+(A4*w'*s4)^2+(A5*w'*s5)^2+w'*0.01*w;        SINR21(i)=((A1*w'*s1)^2)/n;endtoc%---------------------LCCMA-------------------------w=s1;u=1*10^-3;B=eye(31)-s1*s1';x=zeros(31,1); H=eye(31);ticfor i=1:600%     if mod(i,100)==0%         i%     end    X=r(:,i);    y(i)=w'*X;    g=B'*(y(i)^2-1)*y(i)*X;    x=x+u*g;    w=s1-B*x;                n=(A2*w'*s2)^2+(A3*w'*s3)^2+(A4*w'*s4)^2+(A5*w'*s5)^2+w'*0.01*w;        SINR31(i)=((A1*w'*s1)^2)/n;endtoci=1:10:600;plot(0.00016917*i,10*log10(SINR11(i)),'k-');hold oni=1:70;plot(0.00144250*i,10*log10(SINR21(i)),'k--');i=1:10:600;plot(0.00016500*i,10*log10(SINR31(i)),'k:');legend('LCDFPCMA','LSCMA','LCCMA',4)xlabel('迭代时间(S)');ylabel('信号干扰噪声比SINR(dB)');title('CMA多用户检测');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -