资源简介
自己编写的BP神经网络的盲均衡算法分析,在matlab环境中运行,没有用其工具箱,用于学习交流。环境大家提意见,共同学习中。
代码片段和文件信息
% 采用BPnet训练的网络结构进行盲均衡结构初始化
% 仅使用实数部分
%function BPnetBE
% 初始信息
% 取一种信噪比生成消息序列信号,进行信道加载,然后常模算法进行盲均衡
snr=25;
%产生的消息序列长度
N=5000;
%符号间矩1每符号能量10倍间矩
d=1;Eav=10*d^2;
%16进制QAM
M=16;
% 噪声方差
sigma=sqrt(Eav/(8*snr));
% 产生消息源,其值为1到16间的数字
for j=1:N
temp=rand;
source(j)=1+floor(temp*M);
end
%正交振幅调制源
mapping=[-3*d 3*d;
-d 3*d;
d 3*d;
3*d 3*d;
-3*d d;
-d d;
d d;
3*d d;
-3*d -d;
-d -d;
d -d;
3*d -d;
-3*d -3*d;
-d -3*d;
d -3*d;
3*d -3*d];
%计算R2
for j=1:size(mapping1)
A(j)=complex(mapping(j1)mapping(j2));
end
R2=mean((abs(A)).^4)/mean((abs(A)).^2);
%对信号进行正交幅度调制
for j=1:N
qamSignal(j:)=mapping(source(j):);
end
% 将信号复数化
for j=1:N
complexSignal(j)=complex(qamSignal(j1)qamSignal(j2));
end
%信号信道传输,加载噪声
signal=awgn(complexSignalsnr);
source=real(signal);
Rcm=mean(source.^4)/mean(source.^2);
% 对输出信号进行有监督训练,输出W,A,B
% 网络结构为K-p-1
K=11;p=5;
% 学习率
mu=.01;
% 初始化结构参数
%w=rand(Kp);A=rand(p1);b=randn;
w=1.5.*[-0.1381 0.7334 1.4331 1.4062 1.9337
0.6457 0.2303 -0.0099 -0.0224 0.2901
0.4834 0.8594 -0.1690 0.4117 0.3068
0.4167 0.0382 -0.0805 -0.1111 0.3788
0.1846 0.8935 -0.1224 -0.1736 0.3069
0.7614 0.1082 -0.0010 0.3402 0.1662
-0.0105 0.5294 -0.1203 0.1100 0.3043
0.9053 0.2909 -0.0818 0.5997 0.4018
0.7831 0.2297 0.2840 0.5805 -0.4130
0.3335 0.5554 -0.0463 0.3436 0.1220
0.0228 0.0676 -0.3686 0.7291 0.2536];
A=1.5.*[-0.6266
0.0655
2.9150
0.8317
1.8829];
b=-2.5808;
% 盲均衡训练
for jt=1:N-K
s=source(jt:jt+K-1)‘;
% 层II 隐层
x=w‘*s;
y=1./(1+exp(-x));
% 层III 输出层
f=A‘*y+b;
% 有监督训练
J(jt)=0.25*(f^2-Rcm)^2;
Jf=f-s(1);
fb=1;fA=y;fy=A;
yx=y.*(1-y);
for j=1:p
xw(:j)=s;
end
db=-Jf*fb;
dA=-Jf*fA;
for j=1:p
dw(:j)=-Jf*fy(j)*yx(j)*xw(:j);
end
b=b+mu.*db;A=A+mu.*dA;w=w+mu.*dw;
end
plot(J);
% 计算误码率
for jt=1:N-K
s=source(jt:jt+K-1)‘;
% 层II 隐层
x=w‘*s;
y=1./(1+exp(-x));
% 层III 输出层
ts(jt)=A‘*y+b;
end
for jt=1:N-K
if(ts(jt)<=0)
if(abs(ts(jt))>2)
test(jt)=-3;
else
test(jt)=-1;
end
elseif(ts(jt)>0)
if(ts(jt)>2)
test(jt)=3;
else
test(jt)=1;
end
end
end
aims=real(complexSignal);
aim=aims(1:N-K);
BER=sum(abs(test-aim))/(N-K);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
.CA.... 2834 2009-02-03 11:10 BPnetBE.m
.CA.... 251 2009-02-03 14:57 BPnetBEMain.m
----------- --------- ---------- ----- ----
3085 2
相关资源
- 数字信号处理 理论算法与实现 胡广书
- 激光谐振腔课程设计(matlab)exe及源
- Lozi混沌系统相关分析的MATLAB程序
- (7,4)循环码-信道编码的matlab仿真
- 一个用MATLAB编写的用于估计信号谐波
- kalman工具箱 用matlab编写 包附全部函数
- 基于harris算法的角点检测matlab原代码
- 偏最小二乘分析matlab工具包
- 基于matlab的窗函数法FIR数字滤波器设
- 北邮Matlab实验报告和代码
- 图像匹配matlab源程序sift算法
- matlab实现摄像机标定
- matlab编写的量子遗传算法
- 图像降噪Matlab代码
- Alamouti编码2X2仿真(MATLAB)
- 用蚁群算法求解TSP问题的matlab程序
- 跳扩散过程下欧式期权的定价matlab源
- 小波神经网络Matlab交通仿真程序
- 粒子群算法matlab工具箱
- MATLAB音频信号的分析与合成程序
- qam 用matlab实现qam仿真的程序
- curvelet matlab工具箱
- matlab人脸识别和特征提取
- 圣诞树(matlab代码)
- MATLAB六自由度弹道仿真程序
- matlab的pde工具箱使用方法
- 心音信号处理分析(附matlab代码)
- MATLAB实现弹道仿真
- MIMO雷达DOA估计中的克拉美罗界计算
- Matlab图像分割边缘提取算法
评论
共有 条评论