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

📄 semiblind.m

📁 一篇基于独立分量分析(ICA)的盲信道MATLAB程序
💻 M
字号:
function H=semiblind(r,s_pilot,X1,X2)
%%%%%%%%%%%%%%%%%%%
%%  2X1 system
%%  r---- received signals , 1xlength(s) matrix
%%  s_pilot----the first block of source signal,1x2 matrix,modulated signal,(-1,1);
%%  X---the code matrix,2x2 matrix
%%  every block has two signals
L=length(r);
R=[real(r);imag(r)];
for i=1:2:L
    Y{(i+1)/2}=[R(:,i),R(:,i+1)];
end
G{1}=X1*s_pilot(1)+X2*s_pilot(2);
delta=zeros(1,L/2);
delta(1)=(norm(s_pilot))^2;
A{1}=Y{1}*G{1}/delta(1);

for p=2:10
    z=zeros(1,2);
    z(1)=s_pilot(1);
    z(2)=s_pilot(2);
    for l=3:2:(L-1)
    z(l)=trace(A{p-1}.'*Y{(l+1)/2}*X1)/trace(A{p-1}.'*A{p-1});
    z(l+1)=trace(A{p-1}.'*Y{(l+1)/2}*X2)/trace(A{p-1}.'*A{p-1});
end
z=sign(z);
for i=2:L/2
    G{i}=X1*z(2*i-1)+X2*z(2*i);
    delta(i)=(norm([z(2*i-1),z(2*i)]))^2;
end
sum_g=0;
sum_delta=0;
for i=1:L/2
    sum_g=sum_g+Y{i}*G{i};
    sum_delta=sum_delta+delta(i);
end
A{p}=sum_g/sum_delta;
end
H=[A{10}(1,1)+j*A{10}(2,1)  A{10}(1,2)+j*A{10}(2,2)];

    

⌨️ 快捷键说明

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