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

📄 pic.m

📁 联合检测技术 可用于3G/B3G系统 而且采用了QPSK调制技术 并能生成与传统检测技术的对比图样
💻 M
字号:
% 于明亮  065427   06.12.07
inf_num=50000;                                 %每个用户的信息比特数量
N=randn(inf_num,31);                           %噪声矩阵N
user=[2,4,16];                                 %用户数矩阵 
M=length(user);                                %索引用户数
Err=zeros(1,M);                                %传统检测下的误码率
Err_pic=zeros(1,M);                            %PIC检测下的误码率               
%%%%%%%%%%%%%%%%%%%%%%%%   传统检测器   %%%%%%%%%%%%%%%%%%%%%%% 
for k=1:M;
    user_inf=sign(randn(user(k),inf_num));     %用户比特信息
    sf_code=sf_matrix(user(k));                %根据用户的数量获得相应的扩频码
    y=user_inf'*sf_code;                       %调制,扩频
    r=(10^(6.89/20))*y+sqrt(31)*N;             %经过AWGN信道后的用户信息状态    
    y1=r*sf_code'/31;                          %解扩,积分,抽样
    b1=sign(y1);                               %判决    
    e=nnz(b1'-user_inf);                       %计算传统误码总数
    Err(k)=e/(inf_num*user(k));                %计算传统检测误码率
%%%%%%%%%%%%%%%%%%%%%%%%   PIC检测器    %%%%%%%%%%%%%%%%%%%%%%%
y2=zeros(inf_num,user(k));                     %初始化PIC检测器的前一轮检测值
    for i=1:user(k);
        q=zeros(inf_num,31);                   %初始化i用户以外的MAI之和
        for s=1:user(k);
            if s==i;                           
                continue;
            else
                q=q+b1(:,s)*sf_code(s,:);      %计算i用户以外的MAI之和
            end
        end
        y2(:,i)=(r-q)*sf_code(i,:)'/31;        %i用户解扩后的值
    end
    z=sign(y2);                                %判决   
    e_pic=nnz(z'-user_inf);                    %计算PIC检测误码总数
    Err_pic(k)=e_pic/(inf_num*user(k));        %计算PIC检测下的误码率    
end;
plot(user,Err,'g')                             %两种检测误码率性能对比图
xlabel('用户数');ylabel('Err');
title('误码率~用户数曲线');
text(3,0.016,'Eb/No=6.89dB  AWGN  QPSK')
hold on
plot(user,Err_pic)
legend('传统检测','PIC检测')

⌨️ 快捷键说明

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