当前位置:文档之家› 实验一--信道容量的迭代算法教学教材

实验一--信道容量的迭代算法教学教材

实验一--信道容量的迭代算法教学教材
实验一--信道容量的迭代算法教学教材

实验一--信道容量的

迭代算法

信息工程12班吴玉明 52111209

实验一信道容量的迭代算法

一、实验目的

1、掌握信道容量的概念。

2、了解迭代法计算信道容量的流程。

3、熟悉Matlab程序的设计和调试方法。

二、实验要求

1、学习Matlab软件编程和调试方法;

2、输入:任意一个信道转移概率矩阵。包括信源符号个数、信宿符号个

数、信道转移概率,在程序运行时从键盘输入;

3、输出:输入的信道矩阵、信道容量C。

三实验算法程序

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=');%输入信道矩阵概率

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

for i=1:N %判断是否符合概率分布

if (s(i)<=0.999999||s(i)>=1.000001)

error('不符合概率分布')

end

end

b=input('输入迭代精度:');%输入迭代精度for i=1:N

p(i)=1.0/N; %取初始概率为均匀分布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: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); %计算IL

IU=log2(max(a));%计算IU

n=1;

while((IU-IL)>=b) %迭代计算

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: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); %计算IL

IU=log2(max(a));%计算IU

n=n+1;

end

fprintf('信道矩阵为:\n');

disp(p_yx);

fprintf('迭代次数n=%d\n',n);

fprintf('信道容量C=%f 比特/符号',IL);

五 信道容量迭代算法流程图

四 .实验的算法:

1. 初始化信源分布:p i =r

1,循环变量k=1,门限△,C (0)=-∞; 2. ∑==r i ji

k i ji

k i k ij p p

p p 1)()()

(φ 3. ∑∑∑===+=r i s j k ij ji s

j k ij ji k i p

p p 11

)(1

)()1(]log exp[]

log exp[φφ 4. ])log ex p(log[11)()1(∑∑==+=r

i s

j k ij ji k p C φ 5. 若?>-++)1()

()1(k k k C C C ,则k=k+1,转第2步

6. 输出P *=()()

r k i P 1+和()1+k C ,终止。

五 算法流程图如下:

六实验截图(一)

(二)

七实验总结与体会

本次试验是建立在迭代的基础上,首先要深刻理解信道容量的迭代算法,其次是,如何将复杂的公式转化为程序通过此次实验,我了解了信道容量的迭代算法的基本知识,学会了如何将复杂的公式如何用程序语言描述出来,掌握了高级语言数值计算过程程序的设计和调试的相关知识,对于将实际问题公式转化为程序的能力有提高

信道容量的计算

§4.2信道容量的计算 这里,我们介绍一般离散信道的信道容量计算方法,根据信道容量的定义,就是在固定信道的条件下,对所有可能的输入概率分布)(x P 求平均互信息的极大值。前面已知()Y X I ;是输入概率分布的上凸函数,所以极大值一定存在。而);(Y X I 是r 个变量 )}(),(),({21r x p x p x p 的多元函数。并且满足1)(1 =∑=r i i x p 。所以可用拉格朗日乘子法来 计算这个条件极值。引入一个函数:∑-=i i x p Y X I )();(λ φ解方程组 0) (] )();([) (=∑?-???i i i i x p x p Y X I x p λ φ 1)(=∑i i x p (4.2.1) 可以先解出达到极值的概率分布和拉格朗日乘子λ的值,然后在解出信道容量C 。因为 ) () (log )()();(11 i i i i i r i s j i y p x y Q x y Q x p Y X I ∑∑=== 而)()()(1 i i r i i i x y Q x p y p ∑== ,所以 e e y p y p i i i i i y p x y Q i x p i x p l o g l o g ))(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 i i i i i r i s j i i i i s j i i (对r i ,,2,1 =都成立) 又因为 )()()(1j k k r k k y p x y Q x p =∑= r i x y Q s j 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 s j i j =+=∑=λ 1)(1 =∑=r i i x p

实验三 信道容量计算

实验三信道容量计算 一、实验目的: 了解对称信道与非对称信道容量的计算方法。 二、实验原理: 信道容量是信息传输率的极限,当信息传输率小于信道容量时,通过信道编码,能够实现几乎无失真的数据传输;当数据分布满足最佳分布时,实现信源与信道的匹配,使得信息传输率能够达到信道容量。本实验利用信道容量的算法,使用计算机完成信道容量的计算。 实验采用迭代算法计算信道容量,即:设DMC的转移概率pyx(i,j),p(i)是任意给定的一组初始给定输入分布,开始为等概率分布,以后逐次迭代更新p(i)的取值。其所有分量P (i)均不为0。按照如下方法进行操作: 具体方法: 1、计算q(j)=∑ i j i pyx i p) ,( *)(,pyx(i,j)为信道转移概率 2、计算a(i) 先算中间变量d(i)=∑ j j q j i pyx j i pyx) ( /) ,( log( *) ,( 然后,a(i)=exp(d(i)) 3、计算中间变量U=∑ i i p i a)( *)( 4、计算IL=log2(u) 5、计算IU=log2(max(a(i)) 6、当IU-IL>ε(ε为设定的迭代精度)时,进入以下循环,否则输出迭代次数n,信道容量C=IU计算结果,最佳分布p(i)。 ①重新计算p(i)=p(i)*a(i)/U ②计算q(j),方法同1 ③计算a(i),方法同2 ④计算中间变量U=∑ i i p i a)( *)( ⑤计算IL=log2(u) ⑥计算IU=log2(max(a(i)) ⑦计次变量n=n+1

返回6判断循环条件是否满足。 四、实验内容: 假设离散无记忆二元信道如图所示,编程,完成下列信道容量的计算 2e 1. 令120.1e e p p ==和120.01e e p p ==,先计算出信道转移矩阵,分别计算该对称信道的信道容量和最佳分布,将用程序计算的结果与用对称信道容量计算公式的结果进行比较,并贴到实验报告上。 2. 令10.15e p =,20.1e p =和10.075e p =20.01e p =,分别计算该信道的信道容量和最佳分布; 四、实验要求: 在实验报告中给出源代码,写出信道对应的条件转移矩阵,计算出相应结果。并定性讨论信道容量与信道参数之间的关系。

DMC信道容量迭代计算的matlab实现

DMC 信道容量迭代计算的matlab 实现--通信与信息系统 一、用了matlab 实现DMC 容量迭代的算法如下: 1. 初始化信源分布:.0det a 10,1,0,1)(>>=?==,选置,,k r i r P k i 一般我选deta=0.000001。 2. }{,)()()()(k ij i ji k i ji k i k ij t p p p p t 得反向转移概率矩阵由式∑=。 3. ()()()()(){}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 计算由式。 4. ()()()()()()。C t p t P I C k r i s j k ij ji k k k 10011log exp log ,+==++????????????????==∑∑计算由式 5. 若a C C C k k k det )1() ()1(>-++,则k=k+1,转第2步 6.输出迭代次数k 和()1+k C 和1+k P ,终止。 二、了解了信道容量的定义和DMC 信道容量迭代计算方法,我用了matlab 来进行编程进行迭代计算得出信道容量。不足之处在于每迭代一次就输出一次迭代次数直到最后一次迭代。 1)输入:输入信源个数、信宿个数和信道容量的精度,程序能任意生成随机的 信道转移概率矩阵,也可以自己输入信道转移矩阵。 2)输出:输出最佳信源分布和信道容量。将附件里的dmc.m 文件直接run 运行 可以自主输入信道转移概率矩阵,按照程序中提示将那两句代替判 断输入矩阵是否正确的那部分,dmc1.m 运行可以随机生成信道转移 概率矩阵。 三、检验程序 之一: 输入信源个数:2 输入信宿个数:3 输入信道容量的精度: 0.000001 输入信道转移矩阵P :[0.5000 0.3000 0.2000;0.3000 0.5000 0.2000] 之二:P :[0.4000 0.3000 0.2000;0.3000 0.5000 0.2000] 之三:P :[1.1000 -0.3000 0.2000;0.3000 0.5000 0.2000] 之四:P:[0.6 0.4;0.01 0.99] 之五:自动生成信道转移矩阵

实验二 离散信道及其容量

实验二 离散信道及其容量 一、[实验目的] 1、理解离散信道容量的内涵; 2、掌握求二元对称信道(BSC )互信息量和容量的设计方法; 3、掌握二元扩展信道的设计方法并会求其平均互信息量。 二、[实验环境] windows XP,MATLAB 7 三、[实验原理] 若某信道输入的是N 维序列x ,其概率分布为q(x ),输出是N 维序列y ,则平均互信息量记为I(X ;Y ),该信道的信道容量C 定义为() max (X;Y)q x C I =。 四、[实验内容] 1、给定BSC 信道,信源概率空间为 信道矩阵 0.990.010.010.99P ??=???? 求该信道的I(X;Y)和容量,画出I(X;Y)和ω、C 和p 的关系曲线。 2 、编写一M 脚本文件t03.m ,实现如下功能: 在任意输入一信道矩阵P 后,能够判断是否离散对称信道,若是,求出信道容量C 。 3、已知X=(0,1,2);Y=(0,1,2,3),信源概率空间和信道矩阵分别为 求: 平均互信息量; 4、 对题(1)求其二次扩展信道的平均互信息I(X;Y)。 五、[实验过程 ] X P 0 1 0.6 0.4 = X Px 0 1 2 0.3 0.5 0.2 = 0.1 0.3 0 0.6 0.3 0.5 0.2 0 0.1 0.7 0.1 0.1 P=

每个实验项目包括:1)设计思路2)实验中出现的问题及解决方法; 1)设计思路 1、信道容量( ) max (X; Y) q x C = I ,因此要求给定信道的信道容量,只要知道该信道 的最大互信息量,即求信道容量就是求信道互信息量的过程。 程序代码: clear all,clc; w=0.6; w1=1-w; p=0.01; X P 01 = 0.6 0.4 p1=1-p; save data1 p p1; I_XY=(w*p1+w1*p)*log2(1/(w*p1+w1*p))+(w*p+w1*p1)*log2(1/(w*p+w1*p1))- ... (p*log2(1/p)+p1*log2(1/p1)); C=1-(p*log2(1/p)+p1*log2(1/p1)); fprintf('互信息量:%6.3f\n信道容量:%6.3f',I_XY,C); p=eps:0.001:1-eps; p1=1-p; C=1-(p.*log2(1./p)+p1.*log2(1./p1)); subplot(1,2,1),plot(p,C),xlabel('p'),ylabel('C'); load data1; w=eps:0.001:1-eps; w1=1-w; I_XY=(w.*p1+w1.*p).*log2(1./(w.*p1+w1.*p))+(w.*p+w1.*p1).*log2(1./(w.*p+w1.*p1))- . . .(p.*log2(1./p)+p1.*log2(1./p1)); subplot(1,2,2),plot(w,I_XY) xlabel('w'),ylabel('I_XY'); 实验结果:

4.信道及其容量

第4章 离散信道及其容量 4.1节 离散无记忆信道(DMC, Discrete Memoryless Channel ) 什么是 “信道”? 通信的基本目标是将信源发出的消息有效、可靠地通过“信道”传输到目的地,即信宿(sink )。但什么是“信道”? Kelly 称信道是通信系统中“不愿或不能改变的部分”。比如CDMA 通信中,设备商只能针对给定的频谱范围进行设备开发,而运营商可能出于成本的考虑,不愿意进行新的投资,仍旧采用老的设备。通信是对随机信号的通信,因此信源必须具有可选的消息,因此不可能利用一个sin(〃)信号进行通信,而是至少需要两个可供发射机进行选择。一旦选择了信息传输所采用的信号,信道决定了从信源到信宿的过程中信号所受到的各种影响。从数学上理解,信道指定了接收机接收到各种信号的条件概率(conditional probability),但输入信号的先念概念(prior probability )则由使用信道的接收机指定。 如果只考虑离散时间信道,则输入、输出均可用随机变量序列进行描述。输入序列X 1, X 2,……是由发射机进行选择,信道则决定输出序列Y 1, Y 2,……的条件概率。数学上考虑的最 简单的信道是离散无记忆信道。 离散无记忆信道由三部分组成: (1) 输入字符集A ={a 1, a 2, a 3,…}。该字符集既可以是有限,也可以是可数无限。其中每个 符号a i 代表发射机使用信道时可选择的信号。 (2) 输出字符集B={b 1, b 2, b 3,…}。该字符集既可以是有限,也可以是可数无限。其中每个 符号bi 代表接收机使用信道时可选择的信号。 (3) 条件概率分布P Y |X (〃|X ),该条件分布定义在B 上,其中X ∈A 。它描述了信道对输 入信号的影响。 离散无记忆的假设表明,信道在某一时刻的输出只与该时刻的输入有关,而与该时刻之前的输入无关。或者: 1111|(|,...,,,...,)(|)n n n Y X n n P y x x y y P y x --=,n =1,2,3…. Remark: (1) n x 在信道传输时受到的影响与n 时刻以前的输入信号无关。 (2) DMC 是时不变的,即|n n Y X P 与n 无关。因此|(|)n n Y X n n P y x 可简写为|(|)Y X n n P y x 。

实验二 离散信道及其容量

实验二离散信道及其容量 一、[实验目的] 1、理解离散信道容量的内涵; 2、掌握求二元对称信道(BSC)互信息量和容量的设计方法; 3、掌握二元扩展信道的设计方法并会求其平均互信息量。 二、[实验环境] windows XP,MATLAB 7 三、[实验原理] 若某信道输入的是N 维序列x ,其概率分布为q(x ),输出是N 维序列y ,则平均互信息量记为I(X ;Y ),该信道的信道容量C 定义为() max (X;Y)q x C I =。四、[实验内容] 1、给定BSC 信道,信源概率空间为 信道矩阵0.990.010.010.99P ??=???? 求该信道的I(X;Y)和容量,画出I(X;Y)和ω、C 和p 的关系曲线。 2、编写一M 脚本文件t03.m,实现如下功能: 在任意输入一信道矩阵P 后,能够判断是否离散输出对称信道。 3、对题1求其二次扩展信道的平均互信息I(X;Y)。 五、[实验过程] 每个实验项目包括: 1)设计思路 1、信道容量 ()max (X;Y)q x C I =,因此要求给定信道的信道容量,只要知道该信道的最大互信息量,即求信道容量就是求信道互信息量的过程。 程序代码: clear all,clc; w=0.6; w1=1-w; p=0.01;X P 0 10.60.4 =

p1=1-p; save data1p p1; I_XY=(w*p1+w1*p)*log2(1/(w*p1+w1*p))+(w*p+w1*p1)*log2(1/(w*p+w1*p1))-... (p*log2(1/p)+p1*log2(1/p1)); C=1-(p*log2(1/p)+p1*log2(1/p1)); fprintf('互信息量:%6.3f\n信道容量:%6.3f',I_XY,C); p=eps:0.001:1-eps; p1=1-p; C=1-(p.*log2(1./p)+p1.*log2(1./p1)); subplot(1,2,1),plot(p,C),xlabel('p'),ylabel('C'); load data1; w=eps:0.001:1-eps; w1=1-w; I_XY=(w.*p1+w1.*p).*log2(1./(w.*p1+w1.*p))+(w.*p+w1.*p1).*log2(1./(w.*p+w1.*p1))-.. .(p.*log2(1./p)+p1.*log2(1./p1)); subplot(1,2,2),plot(w,I_XY) xlabel('w'),ylabel('I_XY'); 实验结果: 互信息量:0.891 信道容量:0.919 I(X;Y)和ω、C和p的关系曲线图: C X 2、离散对称信道:当离散准对称信道划分的子集只有一个时,信道关于输入和输出对称。 离散准对称信道:若一个离散无记忆信道的信道矩阵中,按照信道的输出集Y 可以将信道划分成n个子集,每个子矩阵中的每一行都是其他行同一组元素的不同排列。

信道容量实验报告

湖南大学 信息科学与工程学院 实验报告 实验名称信道容量的迭代算法课程名称信息论与编码 第1页共9页

1.实验目的 (1)进一步熟悉信道容量的迭代算法; (2)学习如何将复杂的公式转化为程序; (3)掌握C 语言数值计算程序的设计和调试技术。 2、实验方法 硬件:pc 机 开发平台:visual c++软件 编程语言:c 语言 3、实验要求 (1)已知:信源符号个数r 、信宿符号个数s 、信道转移概率矩阵P 。 (2)输入:任意的一个信道转移概率矩阵。信源符号个数、信宿符号个数和每 个具体的转移概率在运行时从键盘输入。 (3)输出:最佳信源分布P*,信道容量C 。 4.算法分析 1:procedure CHANNEL CAPACITY(r,s,(ji p )) 2:initialize:信源分布i p =1/r ,相对误差门限σ,C=—∞ 3:repeat 4: 5: 6: C 221 1 log [exp(log )] r s ji ij r j p φ==∑∑ 7:until C C σ ?≤ 8:output P*= ()i r p ,C 9:end procedure 21 21 1 exp(log ) exp(log ) s ji ij j r s ji ij r j p p φφ===∑∑∑i p 1 i ji r i ji i p p p p =∑ij φ

5.程序调试 1、头文件引入出错 f:\visualc++\channel\cpp1.cpp(4) : fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory ————#include 纠错://#include f:\visualc++\channel\cpp1.cpp(5) : fatal error C1083: Cannot open include file: 'values.h': No such file or directory ————#include 纠错://#include 2、变量赋值错误 f:\visualc++\channel\cpp1.cpp(17) : error C2065: 'ij' : undeclared identifier f:\visualc++\channel\cpp1.cpp(17) : error C2440: 'initializing' : cannot convert from 'int' to 'float ** ' Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast ————float **phi_ij=ij=NULL; 纠错:float **phi_ij=NULL; 3、常量定义错误 f:\visualc++\channel\cpp1.cpp(40) : error C2143: syntax error : missing ';' before 'for' ————for(i=0;iDELTA) f:\visualc++\channel\Cpp1.cpp(84) : error C2021: expected exponent value, not ' ' ————if(fabs(p_j)>=DELTA) f:\visualc++\channel\Cpp1.cpp(100) : error C2021: expected exponent value, not ' ' ————if(fabs(phi_ij[i][j])>=DELTA) f:\visualc++\channel\Cpp1.cpp(116) : error C2021: expected exponent value, not ' ' ————while(fabs(C-C_pre)/C>DELTA); 纠错:#define DELTA 0.000001; F:\visualc++\channel\Cpp1.cpp(68) : error C2065: 'MAXFLOAT' : undeclared identifier F:\visualc++\channel\Cpp1.cpp(68) : warning C4244: '=' : conversion from 'int' to 'float', possible loss of data ————C=-MAXFLOAT; 纠错:#define MAXFLOAT 1000000; 3、引用中文逗号 f:\visualc++\channel\cpp1.cpp(60) : error C2018: unknown character '0xa1' f:\visualc++\channel\cpp1.cpp(60) : error C2018: unknown character '0xb1' f:\visualc++\channel\cpp1.cpp(60) : error C2065: 'Starting' : undeclared identifier f:\visualc++\channel\cpp1.cpp(60) : error C2059: syntax error : '.'

正式实验报告二—信道容量的计算

一、实验目的 1.掌握离散信道的信道容量的计算方法; 2.理解不同类型信道的不同特点与不同的计算方法; 二、实验内容 1.进一步熟悉一般离散信道的信道容量计算方法; 2.进一步复习巩信道性质与实际应用; 3.学习如何将复杂的公式转化为程序。 三、实验仪器、设备 1、计算机-系统最低配置256M内存、P4 CPU; 2、MATLAB编程软件。 四、实现原理 信道容量是信息传输率的极限,当信息传输率小于信道容量时,通过信道编码,能够实现几乎无失真的数据传输;当数据分布满足最佳分布时,实现信源与信道的匹配,使得信息传输率能够达到信道容量。本实验利用信道容量的算法,使用计算机完成信道容量的计算。 实验采用迭代算法计算信道容量,即:设DMC的转移概率pyx(i,j),p(i)是任意给定的一组初始给定输入分布,开始为等概率分布,以后逐次迭代更新p(i)的取值。其所有分量P (i)均不为0。按照如下方法进行操作: 具体方法: 1、计算q(j)= i j i pyx i p) ,( *)(,pyx(i,j)为信道转移概率 2、计算a(i)

先算中间变量d(i)=∑ j j q j i pyx j i pyx) ( /) ,( log( *) ,( 然后,a(i)=exp(d(i)) 3、计算中间变量U=∑ i i p i a)( *)( 4、计算IL=log2(u) 5、计算IU=log2(max(a(i)) 6、当IU-IL>ε(ε为设定的迭代精度)时,进入以下循环,否则输出迭代次数n,信道容量C=IU计算结果,最佳分布p(i)。 ①重新计算p(i)=p(i)*a(i)/U ②计算q(j),方法同1 ③计算a(i),方法同2 ④计算中间变量U=∑ i i p i a)( *)( ⑤计算IL=log2(u) ⑥计算IU=log2(max(a(i)) ⑦计次变量n=n+1 返回6判断循环条件是否满足。 五、实验步骤 1、计算非对称信道的信道容量 运行程序

寻呼空口信道容量及信道容量计算

寻呼空口信道容量及FACH 信道 容量计算方法

目录 1寻呼容量计算方法 (2) 1.1现网理论容量计算 (2) 1.2实际网络环境下的容量计算 (3) 2寻呼容量扩容方案 (3) 2.1寻呼拥塞产生的原因 (3) 2.2寻呼容量预警机制 (4) 2.3现网容量评估 (4) 2.4空口寻呼扩容方案 (5) 2.4.1方案原理 (5) 2.4.2目标容量 (6) 3FACH信道容量评估 (7)

1寻呼容量计算方法 首先需要明确寻呼容量的单位是个/时间/小区,也就是说衡量一个RNC支持多大的寻呼量是以小区为标准的,比如某RNC支持的寻呼容量应为XX个/小时/小区或者XX个/秒/小区。 RNC设备支持的理论寻呼量为45万TMSI/小时/小区,实际每小区支持的寻呼容量则取决于空口的寻呼容量配置。 空口寻呼容量配置计算方法如下(以小区为参考单位): PCH寻呼能力计算公式为:Ntfs×RoundDown[(TBSize-7)/Lue]×Npch/(Nr×Tpbp) IMSI寻呼时, Ntfs×RoundDown[(TBSize-7)/72]×Npch/(Nr×Tpbp) TMSI/PTMSI寻呼时,Ntfs×RoundDown[(TBSize-7)/40]×Npch/(Nr×T pbp) 注:RoundDown为向下取整。 如果空口环境不好,存在大量重传的时候,则上面的公式需要再除以(1+Nr),寻呼容量减半,通常情况下不考虑重传。 1.1现网理论容量计算 除西安网络进行寻呼信道扩容外,现网目前各项空口寻呼信道参数配置如下表: 协议参数说明备注现网配置 Ntfs PCH传输格式中 240bit块的个数(一 个寻呼子信道承载) 传输块个数 一般配置为0、1。Ntf与PCH所在 的SCCPCH的码道数目相关。 1 Tbsize PCH传输块大小240 Npch 每个寻呼块配置的寻 呼子信道数目 协议规定Npch<=8 8 Nr 重复因子相同寻呼的重发次数 1 Tpbp PICH的寻呼周期重复周期/ Tpbp 640ms/320ms 640

迭代求信道容量

迭代法求(非对称)信道容量 前言:对于给定的信道,除了对称信道之外,信道容量的计算是比较复杂的,但可以用迭代算法实现近似的信道容量。 具体细节:1..设输入变量为A (ai ),输出为B(bi),对于给定的信道,信道转移矩阵一般都为定值,设为已知,用矩阵Pa2b 表示。 2.为了提高计算效率,将累加求和等运算尽量用矩阵运算而不是循环运算。 实验数据分析:实验发现,当输入的信道转移矩阵为对称信道时,输入分布很快收敛于等概分布,然后很快的退出迭代运算而输出结果,当然这时候的结果是经检验不正确的。具体分析原因如下: 当迭代至输入分布赋值为等概(或接近等概)时,事实上我们一开始就初始化输入分布P (ai )为等概分布,由 ])|()()|(ln )|(exp[∑∑=j i i j i i j i j i a b P a P a b P a b P α 其中)(j b P =)|()(i j i i a b P a P ∑,当)(i a P 等概分布且信道为准对称时易得)(j b P 等概记为P (b0)。所以])()|(log )|(exp[0b P a b P a b P i j i j j i ∑=α,由对称矩阵性质易得每行求和后数值相等。故得到i α是相等的(记为0α)。所以: C(n ,n)=)ln())(ln())(ln())(ln( 000αααα===∑∑∑i i i i i i i a P a P a P 而另一变量: C '(n+1,n)=)ln()max ln(0αα=i i 可见C=C ',则C-C '<ε恒成立,故退出整个迭代过程,而得不到正确的结果。 具体实现代码(matlab )如下: %通过迭代算法求某信道的信道容量% %设输入变量为A (ai ),输出为B(bi),对于给定的信道,信道转移矩阵一般都为定值,设为已知,用矩阵Pa2b 表示% %为了提高计算效率,讲累加求和等运算尽量用矩阵运算而不是循环运算% %最后为了方便调用,将其封装成一个函数。 %输入参数:信道转移矩阵:Pa2b (r*s 矩阵);误差容限:Error_Tor ,误差容限缺省值为1*10^(-2)% %输出参数:为信道误差容限下的信道容量:Channel_Cap_Extreme ; %和对应的最佳输入分布:Pa_opti% %BY :独孤败% %AT:NUPT 2010-11-18% function [Channel_Cap_Extreme,Pa_opti]=CapChannel_DieDai(Pa2b,Error_Tor)

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

实验一信道容量及其一般计算方法 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='); //输入信道矩阵概率 if p_yx(i)<0 //若输出概率小于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 for i=1:N //判断是否符合概率分布 if (s(i)<=0.999999||s(i)>=1.000001) //若行相加小于等于0.9999999或者大于等于1.000001 Error //('不符合概率分布') end end b=input('输入迭代精度:'); //输入迭代精度 for i=1:N p(i)=1.0/N; //取初始概率为均匀分布(每行值分别为1/N,)end for 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)实现求和

实验二 一般信道容量迭代算法

实验二 一般信道容量迭代算法 1. 实验目的 掌握一般离散信道的迭代运算方法。 2. 实验要求 1) 理解和掌握信道容量的概念和物理意义 2) 理解一般离散信道容量的迭代算法 3) 采用Matlab 编程实现迭代算法 4) 认真填写试验报告 3.算法步骤 ①初始化信源分布),,,,,(21)0(p p p p P r i ????=(一般初始化为均匀分布),置迭代计数器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??= ④?? ??????????????=∑∑+i k ji j ij k p C ?)()1(ln exp ln ⑤如果δ≤-++C C C k 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:r for j=1:s B(i,j)=log(P(i,j)/(X*P(:,j))+eps); if P(i,j)==0 B(i,j)=0; else end end A(1,i)=exp(P(i,:)*B(i,:)'); end C_k=log2(X*A'); C_k1=log2(max(A)); if (abs(C_0-C_1)

信道容量实验报告

w .. . .. 湖南大学 信息科学与工程学院 实验报告 实验名称信道容量的迭代算法 课程名称信息论与编码

1.实验目的 (1)进一步熟悉信道容量的迭代算法; (2)学习如何将复杂的公式转化为程序; (3)掌握C 语言数值计算程序的设计和调试技术。 2、实验方法 硬件:pc 机 开发平台:visual c++软件 编程语言:c 语言 3、实验要求 (1)已知:信源符号个数r 、信宿符号个数s 、信道转移概率矩阵P 。 (2)输入:任意的一个信道转移概率矩阵。信源符号个数、信宿符号个数和每 个具体的转移概率在运行时从键盘输入。 (3)输出:最佳信源分布P*,信道容量C 。 4.算法分析 1:procedure CHANNEL CAPACITY(r,s,( ji p )) 2:initialize:信源分布 i p =1/r ,相对误差门限σ,C=—∞ 3:repeat 4: 5: 1i ji r i ji i p p p p =∑ij φ

6: C 2211log [exp(log )] r s ji ij r j p φ==∑∑ 7:until C C σ ?≤ 8:output P*= ()i r p ,C 9:end procedure 5.程序调试 1、头文件引入出错 f:\visualc++\channel\cpp1.cpp(4) : fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory ————#include 纠错://#include f:\visualc++\channel\cpp1.cpp(5) : fatal error C1083: Cannot open include file: 'values.h': No such file or directory ————#include 纠错://#include 2、变量赋值错误 f:\visualc++\channel\cpp1.cpp(17) : error C2065: 'ij' : undeclared identifier f:\visualc++\channel\cpp1.cpp(17) : error C2440: 'initializing' : cannot convert from 'int' to 'float ** ' Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast ————float **phi_ij=ij=NULL; 纠错:float **phi_ij=NULL; 3、常量定义错误 f:\visualc++\channel\cpp1.cpp(40) : error C2143: syntax error : missing ';' before 'for' ————for(i=0;iDELTA) f:\visualc++\channel\Cpp1.cpp(84) : error C2021: expected exponent value, not ' ' 21 211exp(log )exp(log )s ji ij j r s ji ij r j p p φφ===∑∑∑i p

利用矩阵理论详细推导MIMO信道容量

利用矩阵理论详细推导MIMO 信道容量 摘要 多输入多输出(MIMO)技术被认为是现代通信技术中的重大突破之一,以其能极大增加系统容量与改善无线链路质量的优点而受到了越来越多的重视与关注。通信信道容量是信道进行无失真传输速率的上界,因此研究MIMO 的信道容量具有巨大的指导意义。本文把矩阵理论知识与MIMO 技术信道容量中的应用紧密结合,首先建立了MIMO 信道模型,利用信息论理论和矩阵理论详细推导出MIMO 信道容量。并得出重要结论。 关键词: MIMO ;信道容量;奇异值分解 一、 引言 MIMO Multiple Input-Multiple Output)是指在通信链路的发送端与接收端均使用多个天线元的传输系统,它能够将传统通信系统中存在的多径因素变成对用户通信性能有利的因素,从而成倍地提高业务传输速率。矩阵理论在通信,自动控制等工程领域里应用广泛,而通信的难点在于信道的处理,因此,矩阵理论与无线信道的研究是一个很好的切入点。目前,MIMO 技术的信道容量和空时编码,空时复用等技术都离不开矩阵理论的应用。 二、 利用矩阵理论详细推导MIMO 信道容量 1) MIMO 信道介绍 MIMO 是多输入多输出系统,当发送信号所占用的带宽足够小的时候,信道可以被认为是平坦的, 这样,MIMO 系统的信道用一个R T n n ?的复数矩阵H 描述,H 的子元素,j i h 表示从第(1,2,...)R j j n =根发射天线到第(1,2,...)T i i n =根接收天线之间的空间信道衰落系数[1]。如下图所示: 1112121 22212T T R T R R n n n n n n H h h h h h h h h h ??????=???? ???? (2.1) 每个符号周期内,发送信号可以用一个1T n ?的列向量12[]T T i n x x x x x =??????表示,其中i x 表示 在第i 个天线上发送的数据。同时,用一个1R n ?的列向量12[]R T i n y y y y y =??????表示,其中i y 表示在第i 个天线上发送的数据。对于高斯信道,发射信号的最佳分布也是高斯分布[1]。因此,x 的元素是零均 值独立同分布的高斯变量。发送信号的协方差可以表示为: {}H xx R E xx = (2.2) 发送信号的功率可以表示为 ()xx P tr R = (2.3) 接收信号和噪声可以分别用两个1R n ?的列向量y 和n 表示。其中信道噪声是加性噪声,服从循环对称复高斯分布,并且与发射信号x 不相关,假设n 均值为0,功率为2σ。噪声的协方差为: 2 R H nn n R E nn I σ??==?? (2.4) 通过这样一个线性模型,接收信号可以表示为 y Hx n =+ (2.5)

大学信息论_信道容量的迭代算法

陕西科技大学实验报告 班级: XXXX 学号:XXXXXXXXX 姓名:XXX 实验组别: 实验日期: 报告日期: 成绩: 报告内容:(目的和要求、原理、步骤、数据、计算、小结等) 实验名称:信道容量的迭代算法 一、实验目的 (1) 进一步熟悉信道容量的迭代算法。 (2) 学习如何将复杂的公式转化为程序。 (3) 掌握高级语言数值计算程序的设计和调试技术。 二、实验要求 (1)已知:信源符号个数r 、信宿符号个数s 、信道转移概率矩阵P 。 (2)输入:任意的一个信道转移概率矩阵。信源符号个数、信宿符号个数和每 个具体的转移概率在运行时从键盘输入。 (3)输出:信道容量C 。 三、实验原理(流程图): 1: procedure ChannelCapacity(r, s, (ji p )) 2: initialize: 信源分布1i p r = ,相对误差门限δ,C =-∞ 3: repeat 4: 1i ji ij r i ji i p p p p φ=←∑ 5: 111exp log exp log s ji ij j i r s ji ij i j p p p φφ===?? ???←?? ??? ∑∑∑ 6: 11log exp log r s ji ij i j C p φ==????←?? ?????? ?∑∑ 7: until C C δ?≤ 8: output C 9: end procedure

四、实验数据(源代码): #include #include #define MAX 100 double Calculate_a(int k,double pa[]); double Calculate_C1(double pa[],double a[]); double Calculate_C2(double a[]); int r,s; double pba[3][3]; void main() { int i,j; double C1,C2,E; double a[MAX],pa[3];

带宽与信道容量与数据传输速率的关系

带宽与信道容量与数据传输速率的关系 2008-04-22 10:16:58| 分类:默认分类|举报|字号订阅 数据传输速率的定义 数据传输速率是描述数据传输系统的重要技术指标之一。数据传输速率在数值上等于每秒种传输构成数据代码的二进制比特数,单位为比特/秒(bit/second),记作bps。对于二进制数据,数据传输速率为: S=1/T(bps) 其中,T为发送每一比特所需要的时间。例如,如果在通信信道上发送一比特0、1信号所需要的时间是,那么信道的数据传输速率为1 000 000bps。 在实际应用中,常用的数据传输速率单位有:kbps、Mbps和Gbps。其中: 1kbps=10^3 bps 1Mbps=10^6 bps 1Gbps=10^9 bps 带宽与数据传输速率 在现代网络技术中,人们总是以“带宽”来表示信道的数据传输速率,“带宽”与“速率”几乎成了同义词。信道带宽与数据传输速率的关系可以奈奎斯特(Nyquist)准则

与香农(Shanon)定律描述。 奈奎斯特准则指出:如果间隔为π/ω(ω=2πf),通过理想通信信道传输窄脉冲信号,则前后码元之间不产生相互窜扰。因此,对于二进制数据信号的最大数据传输速率Rmax与通信信道带宽B(B=f,单位Hz)的关系可以写为: Rmax=(bps) 对于二进制数据若信道带宽B=f=3000Hz,则最大数据传输速率为6000bps。 奈奎斯特定理描述了有限带宽、无噪声信道的最大数据传输速率与信道带宽的关系。香农定理则描述了有限带宽、有随机热噪声信道的最大传输速率与信道带宽、信噪比之间的关系。 香农定理指出:在有随机热噪声的信道上传输数据信号时,数据传输速率Rmax 与信道带宽B、信噪比S/N的关系为: Rmax=(1+S/N) 式中,Rmax单位为bps,带宽B单位为Hz,信噪比S/N通常以dB(分贝)数表示。

相关主题
文本预览
相关文档 最新文档