信息编码
实
验
报
告
指导老师:____ _
学生姓名:
学院专业:_信息学院信息安全班_
学 号:___ ______
日 期:___ 2012年X月X日 _
实验二 信道容量计算
实验目:
解称信道非称信道容量计算方法
二实验原理:
信道容量信息传输率极限信息传输率信道容量时通信道编
码够实现失真数0传输数分布满足佳分布时实现
信源信道匹配信息传输率够达信道容量实验利信道容
量迭代算法计算机完成信道容量计算
三实验容:
假设离散记忆二元信道图示利C语言编程完成列信道容量
计算
1. 令分计算该称信道信道容量佳分布
2. 令分计算该信道信道容量佳分布
四实验求:
出源代码写出信道应条件转移矩阵计算出相应结果定性讨
信道容量信道参数间关系
五 具体操作:
单符号离散信道中均符号传送信息量定义信道信息传输率R定信道总存某种概率分布传输符号均获信息量固定信道总存信息传输速率信息传输速率定义信道容量课P55页信道容量样定义:
定义31 设某信道均互信息量信道输入符号先验概率该信道信道容量C定义
述极值问题实际约束条件先验概率分布应满足列条件
定信道条件转移概率(信道前概率)定信道容量信道前概率定情况寻找某种先验概率分布均互信息量(者信息传输速率)种先验分布概率称佳分布
定信道佳分布总存果信道输入满足佳分布信息传输率达信道容量C果信道输入先验分布佳分布信息传输率够达信道容量C
针实验输入先验概率分布佳分布时候信息传输率恰达信道容量C须找佳先验概率分布计算出信道容量C
1 令分计算该称信道信道容量佳分布
题目分析知该题两种情况信道均属准称信道中准称信道定义:
定义34 果信道转移矩阵列划分互相交子集子矩阵满足列性质:
(1)行第行某种置换
(2)列第列某种置换
称该信道准称信道
首先准称信道关输入称输入称信道容量:
满足
信道输入分布关条件概率分布关方便起见假设信道转移矩阵第行中元素应条件概率分
称信道关输出称信道输入等概率分布时信道输出等概率分布取值
综合起出称信道信道容量
称信道言信道输入等概率分布时信道转移矩阵中列元素第列置换信道输出等概率分布称信道信道容量信道转移矩阵中行矢量输出符号数量关果希信息传输率达信道容量信道输入应满足等概率分布
信道输入输出符号数量相等等信道条件转移矩阵
信道信道容量:
种信道称强称信道者均匀信道称信道特例般信道转移矩阵中列元素等1该信道转移矩阵列元素等1中总错误传输概率
特时信道容量
相称信道准称信道信道容量计算复杂准称信道关输入称输入称信道方法直接求解输入称信道信道容量
输入信道定存种分布信道输出满足准称信道信道容量满足列关系:
准称信道分解干称信道信道容量计算较简单证明准称信道信道输入佳分布等概率分布信道容量:
中准称信道转移矩阵中行元素输入信源符号数(里等信宿符号数)划分子集数量第子矩阵列元素
定理31准称离散信道信道容量信道输入等概率分布时达
两种情况信源符号数量等信宿符号数量佳分布均(05000000500000)信道转移矩阵
信道容量
程序(见附表)计算程序运行结果图示:
()情况程序运行结果:
时佳分布(05000000500000)信道容量0531004特符号
(二)情况程序运行结果:
时佳分布(05000000500000)信道容量0919207特符号
综时佳信源概率分布(05000000500000)信道容量0531004特符号时佳信源概率分布(05000000500000)信道容量0919207特符号
2 令分计算该信道信道容量佳分布
1题意知转移概率矩阵分
两种情况属般离散信道分布非称信道佳分布求解十分复杂般助计算机设备进行求解处陈述般解法(直接利数进行求解)
(1) 时计算该信道信道容量佳分布
题意知时信道转移矩阵
观察信道转移矩阵知该信道称信道输入输出符号数量2假设信道输入符号概率分均互信息量
根假设信道输入概率分布求出信道输出概率分布:
输入输出间均互信息量
相关参数带入述计算公式
求导佳分布
0490006佳分布(04900060509994)信道容量
正程序计算结果相
程序计算结果:
时程序运行结果图示:
时佳分布(04900060509994)信道容量0458941特符号
(2) 时计算该信道信道容量佳分布
题意知信道转移矩阵
2(1)通观察信道转移矩阵知该信道称信道输入输出符号数量2假设信道输入符号概率分均互信息量
根假设信道输入概率分布求出信道输出概率分布:
输入输出间均互信息量
相关参数代入述计算公式
求导佳分布
佳分布(04729730527027)信道容量
正程序计算结果相
程序计算结果:
时程序运行结果示:
种情况佳分布(04729730527027)信道容量0766180特符号
综时佳分布(04900060509994)信道容量0458941特符号时佳分布(04729730527027)信道容量0766180特符号
附:(程序源代码)注:代码devc++编译通
#include
#include
#include
#define MAX 50
全局函数变量声明
double Calculate_a(int kdouble pa[])
double Calculate_C1(double pa[]double a[])
double Calculate_C2(double a[])
int rs
double pba[MAX][MAX]
int main()
{
int ij
double C1C2E
double a[MAX]pa[MAX]
E0000001
printf(请输入信源符号数r\n)
scanf(d&r)
printf(请输入信宿符号数s\n)
scanf(d&s)
printf(请输入精确度E\n)
scanf(lf&E)
printf(请输入信源P[ai]\n)
for(i0i
printf(请输入信道转移概率矩阵P[bj][ai]\n)
for(i0i
do
{
for(i0i
C1Calculate_C1(paa)
C2Calculate_C2(a)
if(C2C1>E)
{
double sum0
for(i0i
for(i0i
}
else
{
printf(佳信源概率分布\n)
for(i0i
}
}while(C2C1>E)
printf(\n信道容量lf\nC1log(2))
system(pause)devc++特殊命令运行界面停留
return 0
}
double Calculate_a(int kdouble pa[])
{
int ij
double tempsum20
for(j0j
double sum10
for(i0i
sum1+pa[i]*pba[i][j]
}
temppba[k][j]sum1
templog(temp)
sum2+pba[k][j]*temp
}
return exp(sum2)
}
double Calculate_C1(double pa[]double a[])
{
int i
double sum0
for(i0i
return log(sum)
}
double Calculate_C2(double a[])
{
int i
double maxa[0]
for(i0i
return log(max)
}
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档