资源简介
在Matlab下的最大后验概率算法 MAP algorithm

代码片段和文件信息
clc;clear
t=cputime;
disp(‘islem yapiliyor. Lutfen bekleyiniz...‘)
son=4;
for snr=0:son
hata(snr+1)=0;
snr
carpan=[100 100 1000 1000 10000 100000];
for j=1:carpan(snr+1)
n=100;
u=randint(1n-2);
u(n)=0;
kafes=poly2trellis(3[5 7]);
v=convenc(ukafes);
for i=1:2*n
s(i)=2*v(i)-1;
end
r = awgn(ssnr‘measured‘);
%Asagidaki x degerleri BPSK mod黮asyona g鰎e bulunmustur.
x111=-1;x112=-1;x121=1;x122=1;
x231=-1;x232=1;x241=1;x242=-1;
x311=1;x312=1;x321=-1;x322=-1;
x431=1;x432=-1;x441=-1;x442=1;
%gamalarin hesabi
k=0;
Eb=2;N0=Eb/(10^(snr/10));sigma=N0/2;
for i=1:2:2*n
k=k+1;
gama11(k)=exp((-(r(i)-x111)^2-(r(i+1)-x112)^2)/2/sigma);
gama12(k)=exp((-(r(i)-x121)^2-(r(i+1)-x122)^2)/2/sigma);
gama23(k)=exp((-(r(i)-x231)^2-(r(i+1)-x232)^2)/2/sigma);
gama24(k)=exp((-(r(i)-x241)^2-(r(i+1)-x242)^2)/2/sigma);
gama31(k)=exp((-(r(i)-x311)^2-(r(i+1)-x312)^2)/2/sigma);
gama32(k)=exp((-(r(i)-x321)^2-(r(i+1)-x322)^2)/2/sigma);
gama43(k)=exp((-(r(i)-x431)^2-(r(i+1)-x432)^2)/2/sigma);
gama44(k)=exp((-(r(i)-x441)^2-(r(i+1)-x442)^2)/2/sigma);
end
%alfalarin hesabi:
alfa1(1)=gama11(1);alfa2(1)=gama12(1);alfa3(1)=0;alfa4(1)=0;
for i=2:n
alfa1(i)=alfa1(i-1)*gama11(i)+alfa3(i-1)*gama31(i);
alfa2(i)=alfa1(i-1)*gama12(i)+alfa3(i-1)*gama32(i);
alfa3(i)=alfa2(i-1)*gama23(i)+alfa4(i-1)*gama43(i);
alfa4(i)=alfa2(i-1)*gama24(i)+alfa4(i-1)*gama44(i);
end
%Betalarin hesabi
beta1(n-1)=gama11(n);beta3(n-1)=gama31(n);beta2(n-1)=0;beta4(n-1)=0;
for i=n-2:-1:1
beta1(i)=beta1(i+1)*gama11(i+1)+beta2(i+1)*gama12(i+1);
beta2(i)=beta3(i+1)*gama23(i+1)+beta4(i+1)*gama24(i+1);
beta3(i)=beta1(i+1)*gama31(i+1)+beta2(i+1)*gama32(i+1);
beta4(i)=beta3(i+1)*gama43(i+1)+beta4(i+1)*gama44(i+1);
end
%L(ak)larin hesabi
payda=gama12(1)*beta2(1);
L_a(1)=log((gama11(1)*beta1(1))/(payda));
for i=2:n-2
pay=(alfa1(i-1)*gama11(i)*beta1(i)+alfa2(i-1)*gama23(i)*beta3(i)+...
alfa3(i-1)*gama31(i)*beta1(i)+alfa4(i-1)*gama43(i)*beta3(i));
payda=(alfa1(i-1)*gama12(i)*beta2(i)+alfa2(i-1)*gama24(i)*beta4(i)+...
alfa3(i-1)*gama32(i)*beta2(i)+alfa4(i-1)*gama44(i)*beta4(i));
L_a(i)=log(pay/payda);
end
for i=1:n-2
if L_a(i)>0
a(i)=0;
else
a(i)=1;
end
end
a(n)=0;
hata(snr+1)=hata(snr+1)+sum(abs(u-a));
end
hata(snr+1);
bit_hata_orani(snr+1)=hata(snr+1)/100/carpan(snr+1)
end
snr=0:son;
se
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3160 2008-11-26 19:41 MAP.m
文件 1467 2009-02-26 09:37 MAP.txt
----------- --------- ---------- ----- ----
4627 2
相关资源
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
- k近邻算法matlab实现
- matlab识别系统
- 神经网络分类matlab程序
- matlab正弦信号发生器的设计
- matlab程序用Hopfield网络解决TSP
- 实例matlab 编程100个常用程序
- 用MATLAB(BPSK仿真 直接扩频)
评论
共有 条评论