一般信道容量迭代算法

上传人:s9****2 文档编号:565013550 上传时间:2023-03-27 格式:DOCX 页数:5 大小:43.92KB
返回 下载 相关 举报
一般信道容量迭代算法_第1页
第1页 / 共5页
一般信道容量迭代算法_第2页
第2页 / 共5页
一般信道容量迭代算法_第3页
第3页 / 共5页
一般信道容量迭代算法_第4页
第4页 / 共5页
一般信道容量迭代算法_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《一般信道容量迭代算法》由会员分享,可在线阅读,更多相关《一般信道容量迭代算法(5页珍藏版)》请在金锄头文库上搜索。

1、实验二 一般信道容量迭代算法1. 实验目的一般离散信道容量的迭代运算2. 实验要求(1)理解和掌握信道容量的概念和物理意义(2)理解一般离散信道容量的迭代算法(3)采用 Matlab 编程实现迭代算法(4)认真填写实验报告。3. 算法4. 算法流程图5.代码(要求写出关键语句的解释和运行结果)6计算下列信道的信道容量例一:0.98 0.020.05 0.95例二:0.6 0.40.01 0.990.79 0.16 0.050.05 0.15 0.87思考题:迭代精度指的是什么?它对计算结果的影响?3.实验的算法:1.初始化信源分布:pi=-,循环变量k=l,门限C(o)=- irp(k)p2.

2、 0 (k) = i ji 乙 P (k) pijii=1exp工 p log 0( k)jiij3. P(k+1)=ij=i工exp工pjilog0(k)iji=1j =14. C (k+1)=log工 exp(工 pjii=1j =1log0 (k)ijC (k+1) - C (k)5. 若A,则k=k+1,转第2步C(k+1)6. 输出 P *= C (k+l)和 c (k +1),终止。ir4.算法流程图如下:5.代码如下:源程序:clc;clear all;N = input输入信源符号X的个数 N=);M = input输出信源符号Y的个数 M=);p_yx=zeros(N,M);

3、 %程序设计需要 信道矩阵初始化为零fprin t输入信道矩阵概率n) for i=l:Nfor j=1:MP_yx(i,j)二inpu t(p_yx= 入信 道矩阵概率if p_yx(i)0 error不符合概率分布) end end end for i=1:N %各行概率累加求和 s(i)=0;for j=1:M s(i)=s(i)+p_yx(i,j);end end fori=1:N %判断是否符合概率分 布if (s(i)=1.000001) error不符合概率分布)end end b=input输入迭代精度:);输入迭代 精度for i=1:Np(i)=1.0/N; %取初始概率为

4、均 匀分布 end for j=1:M % 计算 q(j)q(j)=0;for i=1:N q(j)=q(j)+p(i)*p_yx(i,j); end end for i=1:N% 计算 a(i)d(i)=0;for j=1:Mif(p_yx(i,j)=0)d(i)=d(i)+0;elsed(i)=d(i)+p_yx(i,j)*log(p_yx(i,j)/q(j); endenda(i)=exp(d(i);endu=0;for i=1:N % 计算 uu=u+p(i)*a(i);endIL=log2(u);计算 ILIU=log2(max(a);计算 IUn=1;while(IU-IL)=b)

5、迭代计算for i=1:Np(i)=p( i)* a(i)/t重 新赋值p(i)endfor j=1:M % 计算 q(j)q(j)=0;for i=1:Nq(j)=q(j)+p(i)*p_yx(i,j);endendfor i=1:N % 计算 a(i)d(i)=0;for j=1:M if(p_yx(i,j)=0) d(i)=d(i)+0;elsed(i)=d(i)+p_yx(i,j)*log(p_yx(i,j)/q(j); endenda(i)=exp(d(i);endu=0;for i=1:N % 计算 uu=u+p(i)*a(i);endIL=log2(u);计算 ILIU=log2

6、(max(a);%计算 IU n=n+1;endfprintf(信道矩阵为:n); disp(p_yx);fprintf(迭代次数 n=%dn,n); fprintf(信道容量C=%f比特/符号,IL);例一的运行结果:输入信源符号X的个数N=2输出信源符号Y的个数M=2输入信道矩阵概率p_yx=0.98p_yx=0.02p_yx=0.05p_yx=0.95输入迭代精度: 0.006 信道矩阵为:0.9800 0.02000.0500 0.9500迭代次数 n=2信道容量 C=0.785846 比特/符号6.计算下列信道的信道容量例一:0.98 0.020.05 0.95信道容量:C=0.785846 (bit/符号)例二:0.60.40.01 0.99信道容量:C=0.368754 (bit/符号).0.79 0.16 0.05_:0.05 0.150.8信道容量C=0.571214 (bit/符号)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号