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

📄 picmud2.m

📁 PIC呀
💻 M
字号:
function [bits_out2,bits_out,S_out,r]=picmud2(bits_in,bits_add,k)
m=length(bits_in);
n=length(bits_add(1,:));
p=floor(m/n);
bits_out2=zeros(k,p);      %第二次picmud最终输出的信号
bits_out=zeros(k,p);       %第一次picmud没有经过判定,输出的信号
S_out=zeros(k,p);          %对输入信号进行扩频得到的有多址干扰的信号
r=zeros(k,k);              %相关系数矩阵
for i=1:k
    for j=1:k
        r(i,j)=bits_add(i,:)*transpose(bits_add(j,:))/n;  %归一化
    end
end
%%%%%%%%%%%%%%%%%%%%进行解扩%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:k
    S_out(i,:)=decdma(bits_in,bits_add(i,:));
end
%%%%%%%%%%%%%%%%%%%%第一次并行干扰删除%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:k
    bits_mid=zeros(1,p);   %picmud的中间信号
    for x=1:k
        bits_mid(1,:)=bits_mid(1,:)+r(i,x)*S_out(x,:);
    end
    bits_out(i,:)=2*S_out(i,:)-bits_mid(1,:);
end
%%%%%%%%%%%%%%%%%%%%第二次并行干扰删除%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:k
    bits_mid2=zeros(1,p);
    for y=1:k
        bits_mid2(1,:)=bits_mid2(1,:)+r(i,y)*bits_out(y,:);
    end
    bits_out2(i,:)=S_out(i,:)+bits_out(i,:)-bits_mid2(1,:);
end














%以上结果有误差,需进一步的判定

⌨️ 快捷键说明

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