📄 dsss_multiuser.m
字号:
%在DS-spread spectrum系统中,噪声为加性高斯白噪声,验证性能,传统单用户检测
clear all
close all
clc;
%[1]initial Parameter
K=4; %用户数
Lc=32;%扩频增益
x_num=5000;%信息序列长度
SNRindB=-20:3:10;
Tc=1;
Ts=Lc*Tc;
for i=1:length(SNRindB)
SNRline=10^(SNRindB(i)/10);
Sigma=1;%噪声标准差
Eb=2*Sigma^2*SNRline; %信号能量
Pow=Eb/Ts;%信号功率
x=GenBPSK(x_num);%产生BPSK信号,信号长度已经确定,均匀分布
%[2]spread spectrum
PNcode=hadamard(Lc);%产生用户PN序列
c=PNcode(1,:)';
y=dsmod(c,x);
%加入其他用户信息作为干扰
for u=2:K
xtemp=3*GenBPSK(x_num);%此处可调节,用于分析系统对远近效应的抵抗能力
ctemp=PNcode(u,:)';
ytemp=dsmod(ctemp,xtemp);
y=y+ytemp;
end
y=sqrt(Pow)*y;
%[3]Add AWGN
AWGN=Sigma*randn(1,Lc*x_num);
y=y+AWGN;
%[4]despread spectrum
r=dsdemode(c,y);
%[5]decision
r=sign(r);
Errorbit=length(find(abs(r-x)>1e-004));
BER(i)=Errorbit/length(r);
end
%Plot,SNR,BER
figure
semilogy(SNRindB,BER);
title('The BER of Different SNR')
grid
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -