对称信道容量的计算MATLAB,准对称信道信道容量的证明及其Matlab实现
1. 引言
信息论是关于通信的理论,是用概率统计的方法研究信息的传输、存储与处理以及如何实现其有效性和可靠性的一门学科。它包括两个基本的问题,一个是信源编码,解决信源的相关性问题,去掉冗余,从而压缩了信源输出,提高了有效性;另一个是信道编码,克服信道中的干扰和噪声,提高了可靠性。可见信道是通信系统的重要组成部分,它的任务是实现信息的传输,在信道固定的情况下,总是希望传输的信息越多越好。本文主要研究一种特殊的信道,即离散准对称信道。
2. 离散准对称信道的定义及信道容量
定义1 设有一个信道矩阵,它的每一行元素都相同,只是排列不同,它的每一列元素也都相同,只是排列不同,称该信道为对称信道。
定义2 设有一个r行s列的离散无记忆信道的信道矩阵P,根据信道的输出集Y可以将P分成n个子矩阵
P
1
,
P
2
,
⋯
,
P
n ,每个子矩阵对应的信道都是对称信道,称这个信道为准对称信道 [1] 。
定义3信道容量
C
=
max
p
(
x
)
{
I
(
X
,
Y
)
} ,其中
I
(
X
,
Y
) 为平均互信息,
p
(
x
) 为输入符号概率。
3. 离散准对称信道信道容量的证明
定理1当输入的每一个符号的概率
p
(
x
i
) 都相等时,达到信道容量C。
定理2 设有一个信道,它的输入符号个数有r个,输出符号个数有s个,当且仅当存在常数C使输入分布
p
(
x
i
) 满足:
1)
I
(
x
i
;
Y
)
=
C
,
p
(
x
i
)
≠
0
2)
I
(
x
i
;
Y
)
<
C
,
p
(
x
i
)
=
0
时,
I
(
X
;
Y
) 达极大值。此时,常数C即为所求的信道容量。
定理3当输入的每一个符号的概率
p
(
x
i
) 都相等时,准对称信道的容量为:
C
=
log
r
−
H
(
q
1
,
q
2
,
⋯
,
q
s
)
−
∑
k
=
1
n
N
k
log
M
k ,
其中,log默认是以2为底的对数,r是信道矩阵的行数,
q
1
,
q
2
,
⋯
,
q
s 表示信道矩阵P中的任意一行元素,
N
k 是第k个子矩阵中行元素之和,
M
k 是第k个子矩阵中列元素之和 [2] 。
证明:设准对称信道的矩阵为
P
=
(
p
(
y
1
|
x
1
)
p
(
y
2
|
x
1
)
⋯
p
(
y
s
|
x
1
)
p
(
y
1
|
x
2
)
p
(
y
2
|
x
2
)
⋯
p
(
y
s
|
x
2
)
⋮
⋮
⋱
⋮
p
(
y
1
|
x
r
)
p
(
y
2
|
x
r
)
⋯
p
(
y
s
|
x
r
)
) ,
将矩阵P分为n个对称子阵
P
1
,
P
2
,
⋯
,
P
n ,对应的输出符号集Y划分为
Y
1
,
Y
2
,
⋯
,
Y
n ,设
x
i
∈
X
(
x
1
,
x
2
,
⋯
,
x
r
) ,则有:
I
(
x
i
;
Y
)
=
∑
Y
p
(
y
|
x
i
)
log
p
(
y
|
x
i
)
p
(
y
)
=
∑
Y
p
(
y
|
x
i
)
log
p
(
y
|
x
i
)
−
∑
Y
p
(
y
|
x
i
)
log
p
(
y
) ,
因为P是准对称矩阵,它的行元素由
{
q
1
,
q
2
,
⋯
,
q
s
} 排列而成,所以有:
∑
Y
p
(
y
|
x
i
)
log
p
(
y
|
x
i
)
=
−
H
(
q
1
,
q
2
,
⋯
,
q
s
)
(
i
=
1
,
2
,
⋯
,
r
) ,
设
P
(
x
i
)
=
1
r ,即输入等概分布,则后一项为:
∑
Y
p
(
y
|
x
i
)
log
p
(
y
)
=
∑
Y
p
(
y
|
x
i
)
log
∑
X
p
(
y
|
x
i
)
p
(
x
i
)
=
∑
Y
p
(
y
|
x
i
)
log
1
r
∑
X
p
(
y
|
x
i
)
=
∑
y
∈
Y
1
p
(
y
|
x
i
)
log
1
r
∑
X
p
(
y
|
x
i
)
+
∑
y
∈
Y
2
p
(
y
|
x
i
)
log
1
r
∑
X
p
(
y
|
x
i
)
+
∑
y
∈
Y
n
p
(
y
|
x
i
)
log
1
r
∑
X
p
(
y
|
x
i
) ,
因为
P
1
,
P
2
,
⋯
,
P
n 对称,所以有:
∑
X
p
(
y
|
x
i
)
=
M
1
,
y
∈
Y
1
∑
X
p
(
y
|
x
i
)
=
M
2
,
y
∈
Y
2
⋮
∑
X
p
(
y
|
x
i
)
=
M
1
,
y
∈
Y
n
} 都与
x
i 无关,
其中
M
i 为y固定时,矩阵
P
i 中列元素之和,是一个常数。
∑
y
∈
Y
1
p
(
y
|
x
i
)
=
N
1
∑
y
∈
Y
2
p
(
y
|
x
i
)
=
N
2
⋮
∑
y
∈
Y
n
p
(
y
|
x
i
)
=
N
n
} ,
其中,
N
i 表示
x
i 固定时,矩阵
P
i 中行元素之和,也是一个常数。
所以有:
∑
Y
p
(
y
|
x
i
)
log
p
(
y
)
=
N
1
log
M
1
r
+
N
2
log
M
2
r
+
⋯
+
N
n
log
M
n
r
=
∑
k
=
1
n
N
k
log
M
k
r ,
所以得到:
I
(
x
i
;
Y
)
=
−
H
(
q
1
,
q
2
,
⋯
,
q
s
)
−
∑
k
=
1
n
N
k
log
M
k
r
=
log
r
−
H
(
q
1
,
q
2
,
⋯
,
q
s
)
−
∑
k
=
1
n
N
k
log
M
k
=
C
(
常
数
) ,
根据定理2,有:
C
=
log
r
−
H
(
q
1
,
q
2
,
⋯
,
q
s
)
−
∑
k
=
1
n
N
k
log
M
k 。 (证毕)
4. Matlab实验仿真 [3] [4]
首先考虑特殊的二元信道,其输入符号概率空间,即信源概率空间为:
(
X
P
)
=
(
0
1
w
1
−
w
) ,
它的信道矩阵是一个对称矩阵,如下:
P
=
(
p
¯
p
p
p
¯
) ,
该信道的互信息量为:
I
(
X
;
Y
)
=
H
(
w
p
¯
+
w
¯
p
)
−
H
(
p
) 。
用matlab绘制当w从0到1和p从0到1之间变化时,平均互信息
I
(
X
;
Y
) 的曲线,程序代码如下:
[w,p]=meshgrid(0.00001:0.001:1);
h=-(w.*(1-p)+(1-w).*p).*log2(w.*(1-p)+(1-w).*p)-(w.*p+(1-w).*(1-p)).*log2(w.*p+(1-w).*(1-p))+p.*log2(p)+(1-p).*log2(1-p);
meshz(w,p,h);
title('平均互信息');
ylabel('H(w,p,h)')
实验结果见图1。
当p固定时(这里随机取的
p
=
0.3 ),得到固定二元对称信道的平均互信息图像,程序代码如下:
w=0.00001:0.001:1;
p=0.3;
h=-(w.*(1-p)+(1-w).*p).*log2(w.*(1-p)+(1-w).*p)-(w.*p+(1-w).*(1-p)).*log2(w.*p+(1-w).*(1-p))+p.*log2(p)+(1-p).*log2(1-p);
plot(w,h);
title('固定对称信道的平均互信息');
ylabel('1-H(p)')
实验结果见图2。
对任何一般的准对称信道的信道容量,求解它的matlab程序代码如下:
Figure 1. Average mutual information
图1. 平均互信息
Figure 2. Average mutual information of fixed symmetric channels
图2. 固定对称信道的平均互信息
function [C,e,PX]=Channel(P)
[r,s]=size(P);
PX=(1/r)*ones(1,r);
PX_1=rand(1,r);
PX_2=PX_1/sum(PX_1);
PY=PX*P;
PY_2=PX_2*P;
[m,n]=size(PY);
HY=0;
HY_2=0;
H=0;
for i=1:n
HY=HY+PY(i)*log2(PY(i));
HY_2=HY_2+PY_2(i)*log2(PY_2(i));
end
HY=-HY;
HY_2=-HY_2;
P=P+(P==0).*eps;
for i=1:s
H=H+P(1,i)*log2(P(1,i));
end
H=-H;
PX
C=HY-H
C_2=HY_2-H;
e=C-C_2
在命令窗口输入准对称信道矩阵:
(1) P=[1/2 1/4 1/8 1/8;1/4 1/2 1/8 1/8];
[C,e,PX]=Channel(P)
仿真结果如下:
C =0.0613,e = 0.0064,PX = 0.50000.5000.
(2) P=[1/2 1/2 0 0;0 1/2 1/2 0;0 0 1/2 1/2;1/2 0 0 1/2];
[C,e,PX]=Channel(P)
仿真结果如下:
C =1.0000,e = 0.0452,PX = 0.25000.25000.25000.2500.
5. 实验结果分析
图1图像表明平均互信息
I
(
X
;
Y
) 是输入概率
p
(
x
i
) 和信道传递概率
p
(
y
j
|
x
i
) 的函数。
图2曲线表明,当信道固定的时候,
I
(
X
;
Y
) 关于
p
(
x
i
) 是上凸的;且当输入的每一个符号的概率都相等时,即当
w
=
w
¯
=
1
2 时,
I
(
X
;
Y
) 最大,达到信道容量C。
通过第三个实验,对于一般的准对称信道,通过Matlab结果可以看到,当对任意取的输入分布不等概时,求得的平均互信息与信道容量C的差都大于0,当输入分布PX等概时,达到信道容量C。
6. 结论
通过对准对称信道信道容量的证明及Matlab结果得到,当信源输入的每一个符号的概率都相等时,达到了信道容量。而准对称信道其实也包含了对称信道,因而也验证了对称信道的信道容量也是在输入的每一个符号概率相等时达到。通过Matlab实验也可以看出。通过对该程序代码进行改进,还可以求得任何信道的信道容量及对应的输入分布,有待进一步验证。
基金项目
网络连通性的优化研究,编号为bsjj2016202。
NOTES
*通讯作者。
对称信道容量的计算MATLAB,准对称信道信道容量的证明及其Matlab实现相关推荐
- dmc matlab程序,DMC信道容量迭代算法(Matalab实现)
一些公式没法粘贴,以后再补上 一.用了matlab实现DMC容量迭代的算法如下: 设信道输入和输出符号集大小分别为r,s. 1.初始化信源分布:这里选deta=0.000001. 2.. 3. . 4 ...
- m基于matlab的MIMO信道容量分析,对比了不同天线数量;非码本预编码SVD,GMD;码本预编码DFT,TxAA以及空间分集
目录 1.算法概述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法概述 ·MIMO信道容量 平均功率分配的MIMO信道容量:通过Matlab仿真在加性高斯白噪声情况 ...
- 静电场的有限差分法与matlab 仿真课程设计,计算物理和MATLAB课程设计--自激振动系统的MATLAB仿真.doc...
东北石油大学课程设计任务书 课程 计算物理和MATLAB课程设计 题目 自激振动系统的MATLAB仿真 专业 姓名 学号 主要内容.基本要求.主要参考资料等 主要内容: 研究范?德?波耳(Van de ...
- matlab判断星期几的语句,计算某一天是星期几的matlab程序
计算某一天是星期几的matlab程序 (2011-07-03 09:04:03) 标签: 杂谈 %计算某一天是星期几 clear;clc; ymd=input('请输入日期[年,月,日]:'); y= ...
- 信息论 | 计算离散信源的信息量和熵的MATLAB实现(函数封装调用)
<信息论基础> 实验报告 姓名 XX 班级 XXXXXX 学号 2020XXXXXXXX 实验项目 计算离散信源的熵 日期 2022.10.21 实验环境 联想电脑 MATLAB R201 ...
- 正交矩阵,(标准)正交基,正交投影,正交分解定理,最佳逼近定理,格拉姆-施密特方法求正交基(手算+MATLAB),QR分解(手算+MATLAB计算、分析)
正交(orthogonality).正交集(orthogonal set).单位正交集 定义:如果向量uuu和向量vvv是相互正交的,则有:u⋅v=0u\cdot v=0u⋅v=0. 因为对于零向量, ...
- hata模型仿真matlab程序,Okumura-Hata模型损耗信道仿真源码程序|matlab assignment代做...
核心提示:Okumura-Hata模型损耗信道仿真源码程序|matlab assignment代做... Okumura-Hata模型损耗信道仿真源码程序|matlab assignment代做 fu ...
- matlab hilb,MATLAB在科学计算中的应用:第2章 MATLAB 语言程序设计基础
<MATLAB在科学计算中的应用:第2章 MATLAB 语言程序设计基础>由会员分享,可在线阅读,更多相关<MATLAB在科学计算中的应用:第2章 MATLAB 语言程序设计基础(7 ...
- matlab 2012数学计算与工程分析从入门到精通,MATLAB 2012数学计算与工程分析从入门到精通...
前言 第1章 MATLAB入门 1.1 MATLAB概述 1.1.1 什么是MATLAB 1.1.2 MATLAB的发展历程 1.1.3 MATLAB语言的特点 1.1.4 MATLAB系 ...
最新文章
- 【Qt】通过QtCreator源码学习Qt(十):多国语言支持
- 清华吴翼:从捉迷藏游戏说起,谈谈强化学习的六个开放问题
- 活用"端口碰撞技术"---远程管理的好方式
- 变革!建设行业大数据的崛起
- codevs1183 泥泞的道路(01分数规划)
- C语言实现自组织映射kohone/trace算法(附完整源码)
- arm-eabi-gcc: error trying to exec 'cc1': execvp: No such file or directory
- Java学习笔记一和前言
- equals()和==
- Python中表示自然底数与浮点数精度(等效于MATLAB中eps)
- JVM 内存管理机制
- iOS应用软件沙盒sandbox相关知识(整理)
- 企业级备份方案系列PART3:SCDPM 2012备份/恢复Exchange2010
- 提取html中的音频文件,如何将网页中的音频文件提取出来
- gps高斯utm_高斯投影与UTM投影的区别
- snmp使用默认团体名_CactiEZ 中文版snmp默认团体名
- APP部分漏洞及解决方法
- 今年最热门的十大编程语言排行榜新鲜出炉,第一名着实出乎意料
- ES6--Reflect
- sybase 快速删除大数据库的手顺方法
热门文章
- oracle 00600 kccpb,ORA-00600: [kccpb_sanity_check_2]报错处理一则
- Python 使用numpy报错:runtimeError: package fails to pass a sanity check解决方法
- 记录一个db2 中LISTAGG函数问题:The length resulting from “LISTAGG“ is greater than “4000“
- Unity技术手册 - 生命周期LifetimebyEmitterSpeed-周期内颜色ColorOverLifetime-速度颜色ColorBySpeed
- csgo搭建显示段位的服务器,csgo官匹隐藏分怎么看 官匹段位升级机制
- 机器学习的统计方法 贝叶斯决策理论入门
- 京东容器集群建设之路
- 万科又出新招,小市民只有看热闹的份
- 功放前级的左右_Altitude32前级功放题 - 什么是全景声功放_全景声功放有哪些
- ac7315功放音质_常见地功放地噪声及其处理技巧