信道容量及其一般计算方法

上传人:飞****9 文档编号:143013607 上传时间:2020-08-25 格式:DOC 页数:4 大小:113KB
返回 下载 相关 举报
信道容量及其一般计算方法_第1页
第1页 / 共4页
信道容量及其一般计算方法_第2页
第2页 / 共4页
信道容量及其一般计算方法_第3页
第3页 / 共4页
信道容量及其一般计算方法_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

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

1、实验一 信道容量及其一般计算方法1. 实验目的一般离散信道容量的迭代运算2. 实验要求(1)理解和掌握信道容量的概念和物理意义(2)理解一般离散信道容量的迭代算法(3)采用Matlab编程实现迭代算法(4)认真填写实验报告。3.源代码clc;clear all; /清屏N = input(输入信源符号X的个数N=); /输入行数M = input(输出信源符号Y的个数M=); /输入列数p_yx=zeros(N,M); /程序设计需要信道矩阵初始化为零fprintf(输入信道矩阵概率n)for i=1:N/从第一行第一列开始输入 for j=1:M p_yx(i,j)=input(p_yx=)

2、;/输入信道矩阵概率 if p_yx(i)0/若输出概率小于0则不符合概率分布 error(不符合概率分布) end endendfor i=1:N /各行概率累加求和 s(i)=0; for j=1:M s(i)=s(i)+p_yx(i,j); endendfor i=1:N /判断是否符合概率分布if (s(i)=1.000001)/若行相加小于等于0.9999999或者大于等于1.000001 Error/(不符合概率分布)endendb=input(输入迭代精度:);/输入迭代精度for i=1:N p(i)=1.0/N; /取初始概率为均匀分布(每行值分别为1/N,) endfor

3、j=1:M /计算q(j) q(j)=0; for i=1:N q(j)=q(j)+p(i)*p_yx(i,j);/均匀分布的值乘上矩阵值后+q(j),然后赋值给q(j)实现求和 endend for i=1:N /计算d(i)=p(yi|xi)lnp(yi|xi)/p(xi)*p(yi|xi) d(i)=0; for j=1:M if(p_yx(i,j)=0) d(i)=d(i)+0; else d(i)=d(i)+p_yx(i,j)*log(p_yx(i,j)/q(j);/公式如上 end end a(i)=exp(d(i);/公式如上,对d(i)求指数endu=0;for i=1:N u

4、=u+p(i)*a(i);/对u的叠加求和endIL=log2(u); /计算IL(信道容量C1=log2p(xi)*a(i)IU=log2(max(a);/计算IU(信道容量C2=log2max(a(i))n=1;while(IU-IL)=b)/若C1-C2一个接近零的数则输出信道容量C1否则跳出重新求p(xi)再代入a(i) for i=1:N/以下均同上步骤 p(i)=p(i)*a(i)/u; /重新赋值p(i) 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

5、:N /计算a(i) d(i)=0; for j=1:M if(p_yx(i,j)=0) d(i)=d(i)+0; else d(i)=d(i)+p_yx(i,j)*log(p_yx(i,j)/q(j); end end a(i)=exp(d(i); end u=0; for i=1:N /计算u u=u+p(i)*a(i); end IL=log2(u); /计算ILU=log2(max(a);/计算IU n=n+1;endfprintf(信道矩阵为:n);disp(p_yx);fprintf(迭代次数n=%dn,n);fprintf(信道容量C=%f比特/符号,IL);4.实验的算法:1. 初始化信源分布:pi=,循环变量k=1,门限,C(0)=-;2.3.4.5. 若,则k=k+1,转第2步6. 输出*=和,终止。5.实验结果

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

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

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