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

📄 var_length_low.m

📁 the blind signal detection using the various length of the LSCMA algorithm
💻 M
字号:
%不同的迭代步长收敛性能比较图(SNR=10dB)
clear all;
close all;
clc
num12=1;
MSE1(num12)=1;
while(MSE1(num12)>0.002)
    MSE1=0;
p=[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);
b1=rand(1,1000);


c1=s1;
for i=1:1000
    if(b1(i)>0.5)
        b1(i)=1;
    else
        b1(i)=-1;
    end
end
r1=c1*b1;


h=rand(1,10);
h2=rand(1,10);
r1=filter(h,1,r1);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
% r1(:,1:2)=filter(h,1,r1(:,1:2));
% r1(:,2:1000)=filter(h2,1,r1(:,2:1000));
SNR=10;
r=awgn(r1,SNR);
lim=1*10^-6;


%---------------------LCDPFCMA-------------------------

w=s1;
u=10*10^-3;
B=eye(31)-s1*s1';
x=zeros(31,1);
H=eye(31);

%---------------
tic
for i=1:1000
    X=r(:,1);
    y(i)=w'*X;
    e=2*(y(i)^2-1)*y(i);
    g=e*B*X;
    if norm(g)<0.00000000001
        numerr=i
        break;
    end
    if i==1                                             
        p=-H*g;
    else
        ppast=p;
        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;
%     u=-((s1'*R*B*p+p'*B*R*B*x)/(p'*B*R*B*p));
    x=x+u*p;
    w=s1+B*x;
end
toc




for i=1:numerr
    if i==1
        MSE1(i)=(y(i)-b1(1))^2;
    else
        MSE1(i)=MSE1(i-1)+(y(i)-b1(1))^2;
        MSEF1(i)=MSE1(i)-MSE1(i-1);
    end
end
MSE1=MSE1./[1:numerr];
y1=y;
for i=2:numerr
    if MSEF1(i)<lim
        num12=i;
        break;
    end
end
%---------------------0.005-------------------------

w=s1;
u=5*10^-3;
B=eye(31)-s1*s1';
x=zeros(31,1);
H=eye(31);
MSE2=0;

%---------------
tic
for i=1:1000
    X=r(:,1);
    y(i)=w'*X;
    e=2*(y(i)^2-1)*y(i);
    g=e*B*X;
    if norm(g)<0.00000000001
        numerr2=i
        break;
    end
    if i==1                                             
        p=-H*g;
    else
        ppast=p;
        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;
%     u=-((s1'*R*B*p+p'*B*R*B*x)/(p'*B*R*B*p));
    x=x+u*p;
    w=s1+B*x;
end
toc




for i=1:numerr2
    if i==1
        MSE2(i)=(y(i)-b1(1))^2;
    else
        MSE2(i)=MSE2(i-1)+(y(i)-b1(1))^2;
        MSEF2(i)=MSE2(i)-MSE2(i-1);
    end
end
MSE2=MSE2./[1:numerr2];
y1=y;
for i=2:numerr
    if MSEF2(i)<lim
        num22=i;
        break;
    end
end
end
plot(MSE1,'k-');
hold on;
plot(MSE2,'k--')
xlabel('迭代次数');
ylabel('MSE');
title('不同的迭代步长收敛性能比较图(SNR=10dB)');
num12,num22
plot(num12,MSE1(num12),'O')
plot(num22,MSE2(num22),'O')
legend('0.001','0.0005','收敛点',1)

⌨️ 快捷键说明

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