资源简介
各种多用户检测算法性能的比较,含神经网络算法,解相关算法等
代码片段和文件信息
%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神经网络算法在年电力负荷预测中的
- 遗传算法优化BP神经网络权值和阈值
- rbf神经网络图像识别
- 基于SOA神经网络的PID参数自整定程序
- 风电场风速预测的RBF神经网络模型
- 神经网络形状识别含源代码
- 基于BAPSO-PNN神经网络算法的空气质量
- 学习率对神经网络迭代次数和准确率
- 神经网络与深度学习 吴岸城 带目录
- 神经计算智能基础原理方法pdf 网盘链
- 神经网络动量_自适应学习率BP算法与
- 神经网络新算法
- 5折交叉验证bp神经网络分类
- 人工神经网络bp.m文件
- 神经网络bp
- sigmoid函数的FPGA实现
- 神经网络和PID控制
- 基于神经网络的印刷体字母数字识别
- bf神经网络预测蛋白质的结构
- 改进粒子群算法对BP神经网络的优化
- 模糊神经网络源代码程序
- 中文翻译论文:The wake-sleep algorithm
- CMAC源码 小脑神经网络
- 基于RBF神经网络的航空发动机故障诊
- 结合遗传算法优化BP神经网络的结构和
- 人工神经网络的图象数字识别(毕业
- 基于遗传算法的小波神经网络交通流
- 基于遗传_神经网络的交通量预测
- BP神经网络源程序及训练样本
- 图像理解中的卷积神经网络pdf
评论
共有 条评论