资源简介
各种多用户检测算法性能的比较,含神经网络算法,解相关算法等

代码片段和文件信息
%product received vector
function [p]=BP(snr_in_dB)
Lc=31; %Lc is frame size 码长
snr=10^(snr_in_dB/10); %信噪比由dB形式转化 也有的写为snr=exp(snr_in_dB*log(10)/10)
sgma=1; % noise standard deviation is fixed 定义方差
Eb=2*sgma^2*snr; % signal level required to achieve the given
% signal to noise ratio
E_chip=Eb/Lc; % energy per chip 每个码片能量
A=[sqrt(Eb)sqrt(Eb)sqrt(Eb)]; %sqrt(20*Eb)sqrt(20*Eb)sqrt(20*Eb)sqrt(20*Eb)
% A为干扰用户的幅度,0-30,最多不要超过31,干扰强度为20dBBPSK中
% 干扰强度=10*log(Ak^2/E1)E1为期望用户的能量若想实现干扰强度随snr_in_dB变化则干扰用户为sqrt(Eb*exp(snr_in_dB/10))
N=1000; % number of bits transmitted 发送的信息位,如果图效果不好可以改大
K=length(A); % number of users 用户数,即A的长度
% gold sequence for the duration of the bit is generated next
connections1=[1 0 1 0 0];
connections2=[1 1 1 0 1];
gold_seq=get_gold(connections1connections2); %产生31x31的扩频码
user1code=(1/sqrt(Lc))*gold_seq(:31); %定义了用户1的扩频码,1/sqrt(Lc)表示归一化,把用户的扩频码定义在第31列,可以减少干扰用户的影响
% The generation of the data noise interference decoding process and error
% counting is performed all together in order to decrease the run time of
% the program. This is accomplished by avoiding very large sized vectors.
%算法赋初值
num_of_err=0; %错误码数先赋0
S=zeros(31K+1); %定义扩频码矩阵
S(:K+1)=user1code;
w=[Asqrt(Eb)];
W=diag(w);
%从此位开始一直到最后一个end,是循环,作用是发送并检测,用接收与发送比较计算错误码个数
for i=1:10
b=zeros(K+11); %定义发送端发送的信息列
y=zeros(K+11); %定义经过匹配滤波器组相关处理后的信息列
% generate the next data bit 产生新的数据位
temp=rand;
if (temp<0.5)
data=-1;
else
data=1;
end
% the transmitted signal is
trans_sig=sqrt(Eb)*data*user1code; %与公式相比sqrt(Eb)相当于Ak data相当于bk user1code为sk sqrt(Eb)认为是期望用户,
% 与A中干扰用户幅度定义不同,为了突出最后图的效果
% AWGN with variance sgma^2
noise=sgma*randn(Lc1); %产生一列31行的随机噪声,加性高斯白噪声 不是sgma^2是因为sgma本身为1(或许可以这么认为)
% interference user data is dat
% 产生K个干扰用户,dat是干扰用户数据,真正的用户为K+1个,期望用户直接定义为sqrt(Eb)
inter_sig=zeros(311);
for k=1:K
temp=rand;
if (temp<0.5)
dat=-1;
else
dat=1;
end
inter_sig=inter_sig+A(k)*dat*(1/sqrt(Lc))*gold_seq(:k); %干扰用户数据的扩频码放在1到第K列,期望用户的在第31列
S(:k)=(1/sqrt(Lc))*gold_seq(:k);
b(k)=dat;
end;
b(K+1)=data;
R=corrcoef(S); %扩频码的互相关矩阵
% received signal
rec_sig=trans_sig+noise+inter_sig; %接收到的数据是31x1位的
% making detect 开始检测
for k=1:K+1
y(k)=rec_sig‘*S(:k); %求出经过匹配滤波器组相关处理后的信息列
end
% 建立Bp神经网络,并加以训练
net=newff(minmax(y‘)[31]{‘tansig‘‘purelin‘}‘traingd‘‘learngd‘);
net.trainParam.goal=0.001;
net.trainParam.lr=0.05;
net.trainParam.eporchs=300;
net.trainParam.show=NaN;
b=b‘;
net=train(nety‘b);
end
% 网络训练好以后,开始正式检测
for i=1:N
b=zeros(K+11); %定义发送端发送的信息列
y=zeros(K+11); %定义经过匹配滤波器组相关处理后的信息列
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 279 2006-10-17 23:36 mud程序\jiexiangguanmain.m
文件 3340 2006-10-18 21:58 mud程序\JXG.m
文件 2937 2006-10-20 16:34 mud程序\MF.m
文件 282 2006-10-20 16:29 mud程序\MFmain.m
文件 5045 2006-09-12 11:49 mud程序\BP.m
文件 1833 2004-08-25 20:27 mud程序\get_gold.m
文件 2181 2004-08-25 20:28 mud程序\lmsreceiver.m
目录 0 2006-10-22 14:38 mud程序
----------- --------- ---------- ----- ----
15897 8
相关资源
- bp神经网络源代码,可直接运行
- 连续hopfield神经网络解决TSP问题
- 改进的BP神经网络算法
- 基于bp神经网络的表情识别
- 神经网络仿真工具源代码
- 使用卷积神经网络在e + e-对撞机上改
- 用labview编写的一个神经网络Vi图
- 基于改进的SOM神经网络在产品配置中
- 深度学习卷积神经网络可检测和分类
- 标量场理论的回归和生成神经网络
- 基于ARIMA、BP神经网络与GM的组合模型
- 车辆自适应神经网络编队控制
- 基于RBF神经网络在线辨识的永磁同步
- 基于BP人工神经网络的SmFeN永磁材料工
- 融合粗糙集和人工神经网络的产品敏
- 基于粗糙集神经网络的数据挖掘在门
- Google OCR API源代码和神经网络识别OC
- 信息融合、神经网络-模糊推理理论及
- 基于双隐含层BP神经网络的预测
- SOM神经网络 PPT
- 小波神经网络预测模型代码
- 基于PSO优化BP神经网络的水质预测研究
- 基于神经网络的时间序列预测方法
- BP神经网络算法逼近一个正弦函数
- Hopfield神经网络解决 TSP问题
- 基于神经网络的数字水印
- 基于概率神经网络的图匹配算法研究
- 基于神经网络的身份证号码识别算法
- 机器学习方法R实现-用决策树、神经网
- 基于神经网络及Logistic回归的混合信用
评论
共有 条评论