一般离散无记忆信道容量的迭代计算
(最新整理)信道容量的计算
(完整)信道容量的计算编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)信道容量的计算)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)信道容量的计算的全部内容。
§4.2信道容量的计算这里,我们介绍一般离散信道的信道容量计算方法,根据信道容量的定义,就是在固定信道的条件下,对所有可能的输入概率分布)(x P 求平均互信息的极大值。
前面已知()Y X I ;是输入概率分布的上凸函数,所以极大值一定存在。
而);(Y X I 是r 个变量)}(),(),({21r x p x p x p 的多元函数。
并且满足1)(1=∑=ri i x p 。
所以可用拉格朗日乘子法来计算这个条件极值。
引入一个函数:∑-=ii x p Y X I )();(λφ解方程组0)(])();([)(=∑∂-∂∂∂i ii i x p x p Y X I x p λφ1)(=∑iix p (4.2。
1)可以先解出达到极值的概率分布和拉格朗日乘子λ的值,然后在解出信道容量C .因为 )()(log)()();(11i i i i i ri sj i y p x y Q x y Q x p Y X I ∑∑===而)()()(1i i ri i i x y Q x p y p ∑==,所以e e y p y p i i i i i x y Q i x p i x p log log ))(ln ()(log )()()(==∂∂∂∂。
解(4.2。
1)式有0log )()()()()()(log )(111=--∑∑∑===λe y p x y Q x y Q x p y p x y Q x y Q ii i ii r i s j i i i i sj i i (对r i ,,2,1 =都成立) 又因为)()()(1j k k rk k y p x y Q x p =∑=ri x y Q sj i j,,2,1,1)(1==∑=所以(4.2.1)式方程组可以转化为 ),,2,1(log )()(log)(1r i e y p x y Q x y Q j i j sj i j =+=∑=λ1)(1=∑=ri i x p假设使得平均互信息);(Y X I 达到极值的输入概率分布},,{21r p p p 这样有 e y p x y Q x y Q x p j i j i j ri sj i log )()(log)()(11+=∑∑==λ从而上式左边即为信道容量,得 e C log +=λ 现在令)()(log)();(1j i j sj i j i y p x y Q x y Q Y x I ∑==式中,);(Y x I i 是输出端接收到Y 后获得关于i x X =的信息量,即是信源符号i x X =对输出端Y 平均提供的互信息。
5-2 离散信道的信道容量
1
离散信道的信道容量
一、离散信道容量的定义 二、信道模型 三、离散信道容量的表达式
2
离散信道的信道容量
一、离散信道容量的定义
定义1: C- 每个符号能够传输的平均信息量最大值
定义2: Ct -单位时间(秒)内能够传输的平均信息量最大值
两者之间可以互换:已知信道每秒能够传输的符号数
i =1
j=1
i =1
n
∑ H ( x ) = − P ( x i ) log 2 P ( x i ) i=1
-每个发送符号xi的平均信息量,称为信源的熵
m
n
∑ ∑ H( x / y) = − P( y j ) P( xi / y j )log2 P( xi / y j )
j =1
i =1
-接收yj符号已知后,发送符号xi的平均信息量
0
P(0/0) = 127/128
0
发 送 端 P(0/1) = 1/128
接
收
P(1/0) = 1/128
端
P(1/1) = 127/128
1
1
对称道模型
离散信道的信道容量
信源的平均信息量(熵)
∑ H
(x)
=
−
n i=1
P ( x i ) log
2
P ( xi
)
=
−
⎡ ⎢⎣
1 2
log
2
1 2
离散信道的信道容量
③ 无噪声信道 信道模型
发 x1
送 端
x2
x。 3
。
P(xi) 。 xn
P(y1/x1) P(yn/xn)
信道容量matlab,离散无记忆信道容量的matlab算法
信道容量matlab,离散⽆记忆信道容量的matlab算法《离散⽆记忆信道容量的matlab算法》由会员分享,可在线阅读,更多相关《离散⽆记忆信道容量的matlab算法(2页珍藏版)》请在⼈⼈⽂库⽹上搜索。
1、functionI,pp=channelcapacity(P,k)%I是信道容量,pp是最佳⼊⼝分布,P是信道概率转移矩阵,k是迭代精度if nargin=k %迭代过程n=n+1;pb=zeros(1,b);%pb是输出概率for j=1:bfor i=1:apb(j)=pb(j)+pa(i)*Pji(i,j);endendsuma=zeros(1,b);for j=1:bfori=1:aPij(j,i)=pa(i)*Pji(i,j)/(pb(j)+eps); %Pij是反向概率转移矩阵suma(j)=suma(j)+pa(i)*Pji(i,j)*log2(Pij(j,i)+eps)/(p。
2、a(i)+eps);endendIo=sum(suma);%求信道容量的过程L=zeros(1,a);sumaa=0;for i=1:aforj=1:bL(i)=L(i)+Pji(i,j)*log(Pij(j,i)+eps);endaf(i)=exp(L(i);endsumaa=sum(af);fori=1:app(i)=af(i)/(sumaa+eps);endI=log2(sumaa);pa=pp;enddisp(最佳输⼊分布pa:),disp(pp);disp(输⼊的符号数a:),disp(a);disp(输出的符号数b:),disp(b);disp(信道容量I:),disp(I);disp(输出迭代精度k:),disp(k);disp(输出迭代次数n:),disp(n);检验过程:P=0.5,0.3,0.2;0.3,0.5,0.2 I=0.036 bitP=1/2,1/3,1/6;1/6,1/2,1/3;1/3,1/6,1/2 I=0.126 bit1 输⼊P=1,0;1,0;1/2,1/2;0,1;0,1回车2 channelcapacity(P) 即可。
信道容量迭代计算实验报告
信道容量迭代计算实验报告王升10271051信科1002信道容量迭代计算实验报告一、实验目的:了解信道容量的定义和计算方法,能编写出正确的程序进行迭代计算得出信道容量。
二、实验要求:1)输入:输入信源个数、信宿个数和信道容量的精度,程序能任意生成随机的信道转移概率矩阵。
2)输出:输出最佳信源分布和信道容量。
三、实验环境:Matlab四、实验原理:五、源程序代码:clear;r=input('输入信源个数:');s=input('输入信宿个数:');deta=input('输入信道容量的精度:');Q=rand(r,s); %创建m*n随机分布矩阵A=sum(Q,2);B=repmat(A,1,s);disp('信源转移概率矩阵:'),p=Q./B %信源转移概率矩阵i=1:1:r;q(i)=1/r;disp('原始信源分布:'),qc=-10e-8;C=repmat(q',1,s);for k=1:1:100000m=p.*C; %后验概率的分子部分a=sum(m); %后验概率的分母部分su1=repmat(a,r,1);t=m./su1; %后验概率矩阵D=exp(sum(p.*log(t),2)); %信源分布的分子部分su2=sum(D); %信源分布的分母部分q=D/su2; %信源分布C=repmat(q,1,s);c(k+1)=log(sum(exp(sum(p.*log(t),2))))/log(2);kk=abs(c(k+1)-c(k))/c(k+1);if(kk<=0.000001)break;endenddisp('最大信道容量时的信源分布:q='),disp(q') disp('最大信道容量:c='),disp(c(k+1))六、实验结果:。
实验二:信道容量的迭代算法
实验二信道容量迭代算法一、实验目的:了解信道容量的计算方法二、实验内容与原理:内容:1.令pe1=pe2=0.1和pe1=pe2=0.01,分别计算该对称信道的信道容量和最佳分布;2.令pe1=0.15,pe2=0.1和pe1=0.075pe2=0.01,分别计算该信道的信道容量和最佳分布;信道容量是信息传输率的极限,当信息传输率小于信道容量时,通过信道编码,能够实现几乎无失真的数据传输;当数据分布满足最佳分布时,实现信源与信道的匹配,使得信息传输率能够达到信道容量。
本实验利用信道容量的迭代算法,使用计算机完成信道容量的计算。
三、程序代码#include<stdio.h>#include<math.h>int main(){double Pe1,Pe2,Pa1_=0,Pa2_=0; double b1a1,b2a1,b1a2,b2a2;double Pa1=0,Pa2=0;double I=0,max=0;//平均互信息量,最大平均互信息量int count=0;printf("输入信道容量参数Pe1:");scanf("%lf",&Pe1);printf("输入信道容量参数Pe2:");scanf("%lf",&Pe2);printf("信道容量参数:Pe1=%lf Pe2=%f\n",Pe1,Pe2);b1a1=1-Pe1;b2a1=Pe1;b1a2=Pe2;b2a2=1-Pe2;for(Pa1=0.01;Pa1<=1;Pa1=Pa1+0.01){ Pa2=1-Pa1;count=count+1;I=Pa1*b1a1*( log( b1a1/(Pa1*b1a1+Pa2*b1a2) )/log(2) )+Pa1*b2a1*( log(b2a1/(Pa1*b2a1+Pa2*b2a2) )/log(2) )+Pa2*b1a2*( log(b1a2/(Pa1*b1a1+Pa2*b1a2) )/log(2) )+Pa2*b2a2*( log(b2a2/(Pa1*b2a1+Pa2*b2a2) )/log(2) );printf("%10lf",I);if (I>max){max=I;Pa1_=Pa1,Pa2_=Pa2;}elsecontinue;}printf("\n");printf(" 一共计算机了:%d\n",count);printf(" 最大互信息量为:%lf\n",max);printf(" 最大互信息量的P(a1)=%lf;P(a2)=%lf\n",Pa1_,Pa2_); }四、运行结果。
离散无记忆信道的信道容量计算实验报告PPT课件
2.信道容量算法
信道容量是互信息的最大值,首先要将信道容量求极值得问题表示 为二重交替优化问题。
(1)
• 运行结 果
(2)
实验结果(1):输入概率转移矩阵是之前例题中的概率转移矩阵,迭代 次数为11和70次,经验证,迭代程序结果比例题中的一般信道容量算 法更为精确。
实验结果(2):迭代次数为4,迭代结果为1.3219,经验算发现此输入 概率转移矩阵的实际结果为1.329,误差不大,符合要求,另外精度越 高,结果越接近。
离散无记忆信道的迭代运算
一、为什么要迭代?
(*)
(1)解方程组求出的输入分布 {P(x)}可能不唯一,因为可能有多个 极值点;
(2)需要验证求出的输入分布序列 是否符合要求。
(2)从达到DMC的信道容量的充要条件出发:
二、Blahut-Arimoto算法
1.交替优化
(2)、通过轮流固定f的其中一个自变量,对另一个没固定的 自变量求极值,由此来确定受此自变量影响下的最值。下一 次对另一个自变量也如此操作,循环往复形成迭代。
程序部分
• 程序设计思路
• (1)参数输入模块
• (2)判断模块
判断矩阵中的元素是否 >=0且<=1
判断矩阵的行相加是否 都为1
• (3)迭代模块1
• (4)迭代模块2
• (5)输出模块Байду номын сангаас
• P116 4.3 (b)
• 一般的DMC
• 一般的DMC
概率矩阵:
参考文献
[1]王育民、李晖 .《信息论与编码理论第二版》[M]北京:高等教育出版社,2013.4 96-101 [2]辛英.《离散信道容量的迭代算法及其实现》[D]山东:山东工商学院,1994 [3]徐伟业 耿苏燕 马湘蓉 冯月芹.《任意DMC信道容量的计算与仿真》[D]南京:南京工程学院 2017
实验二---一般信道容量迭代算法.doc
实验二---一般信道容量迭代算法.doc实验二一般信道容量迭代算法1.实验目的掌握一般离散信道的迭代运算方法。
2.实验要求1)理解和掌握信道容量的概念和物理意义2)理解一般离散信道容量的迭代算法3)采用Matlab 编程实现迭代算法4)认真填写试验报告3.算法步骤①初始化信源分布),,,,,(21)0(p p p p P ri =(一般初始化为均匀分布) ,置迭代计数器k=0 ,设信道容量相对误差门限为δ ,δ>0 ,可设-∞=C )0(;②∑=i k i ij k i ij k ji p p p p )()()(? s j r i ,??=??=,1;,,1 ③∑∑∑??=+i k ji j ij k ji j ij k i p p p ??)()()1(ln exp ln exp r i ,,1??= ④??=∑∑+ik ji j ij k p C ?)()1(ln exp ln ⑤如果δ≤-++C C Ck k k )1()()1( ,转向⑦;⑥置迭代序号k k →+1,转向②;⑦输出p k i )1(+和C k )(1+的结果;⑧停止。
4.代码P=input('转移概率矩阵P=')e=input('迭代精度e=')[r,s]=size(P);n=0;C=0;C_k=0;C_k1=0;X=ones(1,r)/r;A=zeros(1,r);B=zeros(r,s);%初始化各变量while(1)n=n+1;for i=1:rfor j=1:sB(i,j)=log(P(i,j)/(X*P(:,j))+eps); if P(i,j)==0B(i,j)=0;elseendendA(1,i)=exp(P(i,:)*B(i,:)');endC_k=log2(X*A');C_k1=log2(max(A));if (abs(C_0-C_1)。
一般离散无记忆信道的信道容量
8. 一般离散无记忆信道 (DMC)离散无记忆信道的信道容量定理 对前向转移概率矩阵为Q 的离散无记忆信道,其输入字母的概率分布 能使互信息 取最大值的充要条件是:其中是输入符号传送的平均互信息,C 就是这个信道的信道容量。
1(|)(;)(|)log()J j k k j k j j q b a I x a Y q b a p b ===∑**(;)|,*()0;(;)|,*()0;k p p k k p p k I x a Y C p a I x a Y C p a ====>=≤=当当*p k a ),(Q p I信道容量的迭代算法 Blahut-Arimoto 算法[]IFEND P P Q M j for xp f p ELSESTOPI C THEN I I IF f I x I P F x M j for q p p f CC Y Y j j j LC L U j j U L Ck k j k j k j ⋅=-===<-==⋅=-∈⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧⎥⎦⎤⎢⎣⎡⎪⎪⎭⎫ ⎝⎛=∑|22||1,0/)())(max (log )(log 1,0ln exp ε设输入符号集合X , 输出符号集合Y ,P Y|X 为给定信道的前向概率传递矩阵。
r=M, s=N, 令F=[f 0 , f 1 , …, f M-1]。
设ε是一个给定的小的正数。
令,输入符号等概率分布]1,1,0[],1,1,0[-∈-∈N k M j X X Y Y j P P Q M p |,1==输出符号概率分布9. 组合信道1) 级联信道(;)(;)I X Y I X Z ≥(;)(;)and I Y Z I X Z ≥121NN k k Q Q Q Q Q ===∏ 系统的前向概率传递矩阵为:例题. 两个错误概率为p 的BSC 信道级联,求信道容量。
121NN k k Q Q Q Q Q ===∏ ⎥⎥⎦⎤⎢⎢⎣⎡++=⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡==22222122p p p p p p p p p p p p p p p p Q Q Q ))1(2(1p p H C --=解:12121(|)(|)NN N i i i p y y y x x x p y x ==∏ 1Ni i C C ==∑2) 并联信道1:并用信道21log 2iN C i C ==∑()()2i C C i p C -=the probability of each sub-channel in use:3) 并联信道2:和信道。
迭代求解信道容量
谢谢~~
Page
15
j
H (Y / X ) p (ai ) p (b j / ai ) log p (b j / ai ) p (b j / ai ) log p (b j / ai ) H (Y / xi )
j i j
•输出对称
1 p (b j ) p (ai ) p (b j / ai ) p (b j / ai ) n i i
迭代算法计算信道容量
信道的基本概念
信道分类:
研究信道主要考虑信道中受干扰的影响,由于信道存在的干扰使输入信号和输出 信号之间没有固定的函数关系,只有统计依赖关系,因此可以通过分析输入和输出信 号之间的统计特性来研究信道。 实际通信系统中,信道的种类很多,包含的设备也不相同,因此可以按照不同的 角度对信道进行分类。 根据用用户数量:信道可以分为单用户信道和多用户信道。 单用户信道只有一个输入端和一个输出端,信息只朝一个方向单向传输; 多用户信道的信号输入和输出端至少有一端有两个以上用户,信息在两个方向都能传 输。 根据输入端和输出端关系:无反馈信道、有反馈信道 根据信道参数与时间的关系:固定参数信道(光纤、电缆)、时变参数信道(无线信 道)。 根据噪声种类: 随机差错信道(高斯白噪声为主题的信道)、突发差错信道(噪声干 扰的影响前后相关,如:衰落信道、码间干扰信道)。 根据输入输出信号的特点:离散信道、连续信道、半离散半连续信道以及波形信道。
0.3 0.1 0.6; 0.2 0.5 0.3;
C1=logm(PX*B') C2=logm(max(B)) while (1) if abs(C1-C2)<e break; end for i=1:1:S(1) PX(i)=PX(i)*B(i)/(PX*B'); end for k=1:1:S(1) I=0; PY=zeros(1,S(2)); for j=1:1:S(2) for i=1:1:S(1) PY(j)=PY(j)+PX(i)*PY_X(i,j); end I=I+PY_X(k,j)*log2(PY_X(k,j)/PY(j)); end B(k)=expm(I); end C1=logm(PX*B'); C2=logm(max(B)); end C=C1
信息论基础——信道容量的计算
p p1 p 1
将p=3/5代入(2),得到信道容为:C=0.32bit/sym.
20
信道容量的计算
2 达到信道容量输入分布的充要条件
令
I (xi ;Y )
s j 1
p( y j
|
xi ) log
p( y j | xi ) p( yj )
def
D(Q( y |
x) ||
p( y))
定理4.2.2 一般离散信道的互信息I(X;Y)达到极大值
1 信道容量的计算原理
C是选择不同的输入概率分布p(x),在满足
∑p(x)=1条件下,求互信息的极大值:
I(X ;Y )
r i 1
s j 1
p(xi ) p( y j | xi ) log
p( y j | xi ) p(yj )
Lagrange乘子
法
17
信道容量的计算
例1、设某二进制数字传输系统接收判决器
6
数据可靠传输和信道编码
4.1 离散无记忆信道和信道容量 4.2 信道容量的计算
4.3 信道编码理论 4.4 带反馈的信道模型 4.5 联合信源-信道编码定理 4.6 线性分组码 习题四
7
8
接入信道容量的分析与寻呼信道不一样,寻呼信道用于前 向链路,容量的分析主要在于对寻呼信道占用率的计算, 而接入信道用于反向链路,对 CDMA 系统来说,反向链 路容量主要用于干扰的分析。即使采用时隙化的随机接入 协议,接入信道也可能有较高的通过量,大量的接入业务 会在反向链路中产生无法接受的干扰。如前所述,第一个 接入试探失败后,下一个接入试探将增加一定量的功率, 最终的结果将导致小区接收功率的增加以及反向链路容量 的减少。
信息论与编码第3章 信道与信道容量
几点讨论: 1、对于给定信道最佳分布总是存在的。 如果信道输入满足最佳分布,信息传输率 最大,即达到信息容量C; 如果信道输入的先验分布不是最佳分布, 那么信息传输率不能够达到信息容量。 2、信道传输的信息量R必须小于信道容量C,否 则传输过程中会造成信息损失,出现错误; 如果R<C成立,可以通过信道编码方法保证 信息能够几乎无失真地传送到接收端。
p( y | x)
X
Y
信道
随机变量 随机变量
离散无记忆信道模型
输入符号集合X、输出符号集合Y内部不存在 关联性,集合X和集合Y之间有关联 。
条件转移概率
用来描述信道特性。 输入x=ai,输出y=bj对应的条件转移概率为
p( y | x) p( y bj | x ai ) p(bj | ai )
p( x)
上述的极值问题实际是有约束条件的,先验概率分布 p( x) 应当满足下列条件
p( x ai ) 0
p(a ) 1
i 1 i
r
对于给定信道,前向概率p(x)是一定的,所以信道容 量就是在信道前向概率一定的情况下,寻找某种先 验概率分布,从而使得平均互信息量最大,这种先 验分布概率称为最佳分布。
0 0 1 1
(3)有噪无损信道
信道输出符号Y集合的数量大于信道输入符号X集合 的数量,即r<s,形成一对多的映射关系,可得:
H (Y | X ) 0 H(X | Y) 0
p( x) p( x)
X
0.4 0.6 0.7 0.3
Y
信道容量 C max{I ( X ; Y )} max{H ( X )} lbr 输入符号分布等概时,即 p(ai ) 1/ r I(X;Y)最大,达到信道容量
离散无记忆信道的信道容量计算实验报告
感谢聆听!
2.信道容量算法
信道容量是互信息的最大值,首先要将信道容量求极值得问题表示 为二重交替优化问题。
(1)
运行结果
(2)
实验结果(1):输入概率转移矩阵是之前例题中的概率转移矩阵,迭代 次数为11和70次,经验证,迭代程序结果比例题中的一般信道容量算 法更为精确。
实验结果(2):迭代次数为4,迭代结果为1.3219,经验算发现此输入概 率转移矩阵的实际结果为1.329,误差不大,符合要求,另外精度越高, 结果越接近。
离散无记忆信道的迭代运算
一、为什么要迭代?
(1)解方程组求出的输入分布 {P(x)}可能不唯一,因为可能有多个 极值点;
(2)需要验证求出的输入分布序列 是否符合要求。
二、Blahut-Arimoto算法
1.交替优化
(2)、通过轮流固定f的其中一个自变量,对另一个没固定的 自变量求极值,由此来确定受此自变量影响下的最值。下一 次对另一个自变量也如此操作,循环往复形成迭代。
程序部分
程序设计思路
(1)参数输入模块
(2)判断模块
判断矩阵中的元素是否 >=0且<=1
判断矩阵的行相加是否 都为1
(3)迭.3 (b)
一般的DMC
一般的DMC
概率矩阵:
参考文献
[1]王育民、李晖 .《信息论与编码理论第二版》[M]北京:高等教育出版社,2013.4 96-101 [2]辛英.《离散信道容量的迭代算法及其实现》[D]山东:山东工商学院,1994 [3]徐伟业 耿苏燕 马湘蓉 冯月芹.《任意DMC信道容量的计算与仿真》[D]南京:南京工程学院 2017
信息论基础离散无记忆信道信道容量
存储的最大信息量,即信息无差错传输的最大 速
率 ,就是信道容量问题.
12
第13页/共23页
信道容量
带宽 :信道可以不失真地传输信号的频率范围。为不同应用而设 计的
传输媒体所支持的带宽有所不同;在现代网络技术中, “带宽” 表示
信道的数据传输速率.
信道容量:信道在单位时间内可以传输的最大信号量,表示信道 的传
p
[P]=
1
p
1-p
p称为交叉 概率误差!
0
1-p 0
p
p
1
1-p
1
19
第20页/共23页
离散无记忆信道和信道容量
如果信道的输入概率分布X={w,1-w},则
I (X ;Y ) H ( p p) H ( p)
由此可得
20
第21页/共23页
离散无记忆信道和信道容量
平均互信息对 即当
有极大值
I (X ;Y )
p(x, y) log p(x, y)
xX yY
p(x) p(y)
p(x) Q( y | x) log
xX
yY
Q(y | x) p(x)Q( y | x)
xX
15
第16页/共23页
离散无记忆信道和信道容量
通常,P(xi)称为信道的入口分布 P(yi)称为信道的出口分布 i(x;y)=logP(x,y)/P(x)P(y)为入口与
(1)有记忆信道
(2)无记忆信道
(任一时刻输出符号只统计依赖于对应时刻输入符 号的
信道)
7
第8页/共23页
离散无记忆信道
根据输入输出信号的特点,可分为
(1)离散信道
数字信道以数字 脉冲形式(离散 信号)传输数据
第17讲-离散无记忆扩展信道及其信道容量PPT课件
第三节 离散无记忆扩展信道及其信道容量
第三节 离散无记忆扩展信道及其信道容量
离散无记忆信道为:
p11 p12 ... p1s
P
p21
p22
...
p
2
s
...
...
定理 如果信道是无记忆的,即
N
P(y/x) P(yi /xi) i1
则:
N
I(XN;YN) I(Xi;Yi) i1
定理 如果信源是无记忆的,则
N
I(XN;YN) I(Xi;Yi) i1
因此,如果信源、信道都是无记忆的 I(XN;YN)NI(X;Y)
CN NC
这就是离散无记忆扩展信道得信道容量,该信 道容量在信源是无记忆信源且每一个输入变量 Xi达到最佳分布时达到。
pr1
pr2 ...
p rs
则它的N次扩展信道为:
11
21
rN 1
12 22
rN 2
1sN 2sN
rN
s
kn P(h/k)
k 为N次扩展信源中的一个符号序列
h 为N次扩展接收符号集中的一个符号序列
我们首先从一个例子开始 例:二元无记忆对称信道得二次扩展信道
二元记忆对称信道为
P
p p
p
p
则它的二次扩展信道为:
p2 pp pp p2
p
p
p2
p2
p
p
pp p2 p2 pp
p
2
pp
pp
p
2
可以将信道的扩展和信源的扩展联系起来看, 当信源扩展以后,信道也就称为了扩展信道。
信道容量的迭代算法
输入
s P(y j | x i ) ai(n) exp y j | x i ) ln q(y j ) j 1 (i=1,2...)
u (n) p(x i )ai (n)
i
I L log 2 (u (n) ), IU log 2 (max(a i(n) ))
I (X; Y) p(x i ) p(y j | x i ) ln
i j
p(x ) p(y
i i
p(y j | x i )
j
| xi )
(1)
要求信道容量 C 就是要在 p(x i ) 的约束下,求 I (X; Y) 的极大值。 首先引入后验概率,即:
q(x i | y j )
p(x ) p(y
表 1.1 ε的选取与信道容量关系 因此,使用该算法计算 C 的时候要选取适当的ε值,才能保证 值的准确性。
四 程序说明 1、程序采用的是C++语言,编译环境为visual studio 2010 2、信道矩阵放在“Channel_matrix.txt”中,其中初始信源为等概 1/R(R表示信源个数),并放在vector<float> pxi中。 3、本程序使用#define wucha ε 定义误差,因此通过改变 wucha 的值就可以控制迭代的次数 4、程序为:channel_code.cpp 信道矩阵为:Channel_matrix.txt
信道容量的迭代算—彭海军
研究信道的目的是要讨论信道中平均每个符号所能传送的信息 量,而将最大的信息传输率称为信道容量。由于对于普通的线性信 道(信道矩阵 r=s),直接可以采用 C ln e 求解信道容量。但当
离散无记忆扩展信道及其信道容量课品
p
2
pp
pp
p
2
可以将信道的扩展和信源的扩展联系起来看, 当信源扩展以后,信道也就称为了扩展信道。
根据互信息的定义 I ( X N ;Y N ) H ( X N ) H ( X N / Y N ) H (Y N ) H (Y N / X N )
定理 如果信道是无记忆的,即
N
P( y / x) P( yi / xi ) i 1
则:
N
I ( X N ;Y N ) I ( X i ;Yi ) i 1
定理 如果信源是无记忆的,则
N
I ( X N ;Y N ) I ( X i ;Yi ) i 1
因此,如果信源、信道都是无记忆的 I ( X N ;Y N ) NI ( X ;Y )
CN NC
这就是离散无记忆扩展信道得信道容量,该信 道容量在信源是无记忆信源且每一个输入变量 Xi达到最佳分布时达到。
第三节 离散无记忆扩展信道及其信道容量
第三节 离散无记忆扩展信道及其信道容量
离散无记忆信道为:
p11 p12 ... p1s
P
p21
p22
...
p2
s
...
...
pr1
pr2 ...
prs
则它的N次扩展信道为:
11
21
ggg
rN 1
12 22
rN 2
ggg ggg
1s N 2sN
ggg
rN
s
kn P(h /k )
k 为N次扩展信源中的一个符号序列
h 为N次扩展接收符号集中的一个符号序列
我们首先从一个例子开始 例:二元无记忆对称信道得二次扩展信道
二元记忆对称信道为
4-第四讲-信道容量及其计算
I (X ;Y ) H (Y ) H (Y | X )
H (Y
|
X)
X
p(x)
Y
p(|
x) log
1 p(y | x)
X
p(x)H (Y
|
X
x)
由于信道是对称的,上边的条件熵与x无关,所以
H (Y | X ) H (Y | X x)
y
p(y |
x) log
1 p(y |
x)
H ( p1', p2 ', pJ ')
p(h )
p(bhN
)
log p(k | h )p(bh1 ) p(bh2 ) p(bhN ) X ,Y
log p(bh1 ) p(bh2 ) p(bhN ) log 1 0
Y
定理2:如果信道的输入随机序列为 X (X1, X 2,X N ) 通过信道传输,接收到的随机序列为 Y (Y1,Y2,YN ) 若信源是无记忆的,即满足
I ( X ;Y ) px (0)I (x 0; y) p1(1)I (x 1; y)
1 2
P(y
y
|
x
0) log
P(y | x P( y)
0)
1 2
y
P( y
|
x
1) log
P( y | x 1) P( y)
1
P(0 | 0)
P(1| 0)
P(2 | 0)
[P(0 | 0) log
| ak1 ) p(bh2 | ak2 ) p(bh1N p(bh1 ) p(bh2 ) p(bhN )
| akN )]
E[log
p(bh1
)
p(bh2
第13讲——离散无记忆信道的容量(1)
wj = 2
β j −C
例题
DMC信道的转移概率矩阵为
⎡1 / 2 1 / 4 0 1 / 4⎤ ⎢ 0 1 0 0 ⎥ ⎥ P=⎢ ⎢ 0 0 1 0 ⎥ ⎥ ⎢ 1 / 4 0 1 / 4 1 / 2⎦ ⎣
求其信道容量C。
非奇异矩阵
例题
j j
⎡1 / 2 1 / 4 0 1 / 4⎤ ⎢ 0 1 0 0 ⎥ ⎥ P=⎢ ⎢ 0 0 1 0 ⎥ ⎥ ⎢ 1 / 4 0 1 / 4 1 / 2⎦ ⎣
注:当输入字母序列中各字母统计 独立时,输出各字母y也相互独 立,此时等号成立。
= H (Y1 ) + H (Y2 Y1 ) +
N次扩展信道容量
证明 H (Y N X N ) = H (Y1Y2
YN X 1 X 2
XN)
= H (Y1 X 1 X 2 +
N n =1
X N ) + H (Y2 X 1 X 2 X N Y1Y2 YN −1 )
BSC(q=0) C=1-H(p) 纯删除信道(p=0) C=1-q
例 模K加性噪声信道
DMC的输入为X,X的所有事件为{0, 1, …, K-1}; DMC的噪声为Z,Z的所有事件为{0, 1, …, K-1}; DMC的输出为Y,Y的所有事件为{0, 1, …, K-1}; X与Z相互独立;Y=X+Z(modK)。 求信道容量C
βj
β j −C
= 2−C 2
,求得
2 5
1 = w4 = 10
k
w2 = 2 β 2 −C = w3 =
再根据 w j = ∑ Qk p( j k ),得到方程组
1 1 ⎧1 Q1 + Q4 = ⎪2 4 10 ⎪ 1 2 ⎪ Q1 + Q2 = ⎪ 4 5 ⎨ 1 2 ⎪ Q3 + Q4 = 4 5 ⎪ 1 1 ⎪1 Q1 + Q4 = ⎪4 2 10 ⎩
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一般离散无记忆信道容量的迭代计算
信道容量的迭代算法
1信道容量的迭代算法的步骤
一、用了matlab 实现DMC 容量迭代的算法如下:
第一步:首先要初始化信源分布:
.0deta 10,1,0,1)(>>=⋯==,选置,,k r i r
P k i 即选取一个精度,本次中我选deta=0.000001。
第二步:}{,)
()()()(k ij i ji k i ji k i k ij
t p p p p t 得到反向转移概率矩阵根据式子∑=。
第三步:
第四步:
第五步: 若a C C C k k k det )1()
()1(>-++,则执行k=k+1,然后转第二步。
直至转移条件不成立,
接着执行下面的程序。
第六步:输出迭代次数k 和()1+k C 和1+k P ,程序终止。
2. Matlab 实现
clear;
r=input('输入信源个数:');
s=input('输入信宿个数:');
deta=input('输入信道容量的精度: ');
()()()()(){}111]log exp[]
log exp[+++==∑∑∑k i k i j ij k ji j ij k ji k i p P t p
t p p 计算由式()()()()()()。
C t p t P I C k r i s j k ij ji k k k 10011log exp log ,+==++⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧⎥⎦⎤⎢⎣⎡==∑∑计算由式
Q=rand(r,s); %形成r行s列随机矩阵Q
A=sum(Q,2); %把Q矩阵每一行相加和作为一个列矩阵A
B=repmat(A,1,s); %把矩阵A的那一列复制为S列的新矩阵
%判断信道转移概率矩阵输入是否正确
P=input('输入信道转移矩阵P:')%从这句话开始将用下面两句代替可自动生成信道转移矩阵
[r,s]=size(P);
for i=1:r
if(sum(P(i,:))~=1) %检测概率转移矩阵是否行和为1.
error('概率转移矩阵输入有误!!')
return;
end
for j=1:s
if(P(i,j)<0||P(i,j)>1) %检测概率转移矩阵是否负值或大于1
error('概率转移矩阵输入有误!!')
return;
end
end
end
%将上面的用下面两句代替可自动生成信道转移矩阵
%disp('信道转移概率矩阵:')
%P=Q./B 信道转移概率矩阵(每一个原矩阵的新数除以所在行的数总和)
i=1:1:r; %设置循环首项为1,公差为1,末项为r(Q的行数)的循环
p(i)=1/r; %原始信源分布r个信源,等概率分布
disp('原始信源分布:')
p(i)
E=repmat(p',1,s);%把r个等概率元素组成一列,复制为s列
for k=1:1:1/deta
m=E.*P; % m=p.*E; %后验概率的分子部分
a=sum(m); %把得到的矩阵m每列相加之和构成一行
su1=repmat(a,r,1);%把得到的行矩阵a复制r行,成一新矩阵sul,后验概率的分母部分
t=m./su1; %后验概率矩阵
n=exp(sum(P.*log(t),2)); %信源分布的分子部分
su2=sum(n); %信源分布的分母部分
p=n/su2; %信源分布
E=repmat(p,1,s);
C(k+1)=log(sum(exp(sum(P.*log(t),2))))/log(2);
kk=abs(C(k+1)-C(k))/C(k+1);
if(kk<=deta)
break;
end
disp('迭代次数:k='),disp(k)
end
disp('最大信道容量时的信源分布:p='),disp(p')
disp('最大信道容量:C='),disp(C(k+1))
3.运行结果及分析
结果分析:这两组数据都是我随机选的,都是选的信源个数为2,信宿的个数为3,选用的精度为0.000001。
然后输入信道转移矩阵P,执行
,将得到的结果代入,得到)1(+k p 后
,再进行
a C C C k k k det )1()
()1(>-++的判断,这个条件满足时继续求,再依次往下计算,直至
这个条件不满足,然后输出k 和()1+k C 和1+k P 。
总的来说这不过是将矩阵不断的代入公式,当最后的精度不大于0.000001.输出k 和()1+k C 和1+k P 。
第二组数据:
}{,)()()()(k ij i ji k i ji
k i k ij t p p
p p t 得到反向转移概率矩阵∑=()()()()(){}111]log exp[]
log exp[+++==∑∑∑k i k i j ij k ji j
ij k ji k i p P t p
t p p 计算由式()()()()()()。
C t p t P I C k r i s j k ij ji k k k 10011log exp log ,+==++⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧⎥⎦⎤⎢⎣⎡==∑∑计算由式)(k ij
t
4.心得体会
在此次matlab编程实现一般离散无记忆信道容量的迭代算法的过程中,开始我觉得这十分的困难,经过网上查阅资料和请教同学,最后才对本次设计有了一定的理解,详细理解了信道容量的迭代算法过程。
经过理解,发现这种编码其实挺简单的,最重要的是怎样用程序把它实现,这对我们的编程能力也是一次考验。