当前位置:文档之家› 信息论与编码实验报告(DOC)

信息论与编码实验报告(DOC)

信息论与编码实验报告(DOC)
信息论与编码实验报告(DOC)

实验一 绘制二进熵函数曲线(2个学时)

一、实验目的:

1. 掌握Excel 的数据填充、公式运算和图表制作

2. 掌握Matlab 绘图函数

3. 掌握、理解熵函数表达式及其性质

二、实验要求:

1. 提前预习实验,认真阅读实验原理以及相应的参考书。

2. 在实验报告中给出二进制熵函数曲线图

三、实验原理:

1. Excel 的图表功能

2. 信源熵的概念及性质

()()[]

()[]())(1)(1 .log )( .)

( 1log 1log )

(log )()(10 , 110)(21Q H P H Q P H b n

X H a p H p p p p x p x p X H p p p x x X P X i i i λλλλ-+≥-+≤=--+-=-=≤≤?

?????-===??????∑

单位为 比特/符号 或 比特/符号序列。

当某一符号xi 的概率p(xi)为零时,p(xi)log p(xi) 在熵公式中无意义,为此规定这时的 p(xi)log p(xi) 也为零。当信源X 中只含有一个符号x 时,必有p(x)=1,此时信源熵H (X )为零。

四、实验内容:

用Excel 和Matlab 软件制作二进熵函数曲线。根据曲线说明信源熵的物理意义。

(一) Excel

具体步骤如下:

1、启动Excel 应用程序。

2、准备一组数据p 。在Excel 的一个工作表的A 列(或其它列)输入一组p ,取步长为0.01,从0至100产生101个p (利用Excel 填充功能)。

3、取定对数底c,在B列计算H(x) ,注意对p=0与p=1两处,在B列对应位置直接输入0。Excel中提供了三种对数函数LN(x),LOG10(x)和LOG(x,c),其中LN(x)是求自然对数,LOG10(x)是求以10为底的对数,LOG(x,c)表示求对数。选用c=2,则应用函数LOG(x,2)。

在单元格B2中输入公式:=-A2*LOG(A2,2)-(1-A2)*LOG(1-A2,2)

双击B2的填充柄,即可完成H(p)的计算。

4、使用Excel的图表向导,图表类型选“XY散点图”,子图表类型选“无数据点平滑散点图”,数据区域用计算出的H(p)数据所在列范围,即$B$1:$B$101。在“系列”中输入X值(即p值)范围,即$A$1:$A$101。在X轴输入标题概率,在Y轴输入标题信源熵。

(二)用matlab软件绘制二源信源熵函数曲线

p = 0.0001:0.0001:0.9999;

h = -p.*log2(p)-(1-p).*log2(1-p);

plot(p,h)

五、实验结果

二元信源熵函数

信源熵为信息的不确定度,概率的大小反映了信息量的大小,如果二元信源的输出符号是确定的,即p=1,则该信源不提供任何信息,当二元信源符号0和1以等概率发生时,信源熵达到极大值,等于1bit信息量。

实验二:验证二元离散对称信道的互信息的性质(4学时)

(课后做)

一、实验目的

1掌握离散对称信道互信息的计算及性质特点。

2练习应用matlab软件进行互信息的函数曲线的绘制,并从曲线上理解其物理意义。

二、参看定理4.2.1及4.2.2

三、实验内容

1验证固定信道,I(X;Y)是信源分布的上凸函数;

2验证固定信源,I(X;Y)是信道传递概率的下凸函数;

3 I(X;Y)的三维分布绘制(自行学习三维图形的绘制函数)

四、实验结果

(1)

I(X;Y)是信源分布的上凸函数

(2)

I(X;Y)是信道传递概率的下凸函数

(3)

I(X;Y)的三维分布绘制

五、源代码

(1)验证固定信道,I(X;Y)是信源分布的上凸函数

syms w;

x=[w,1-w];

p=[0.9 0.1 ;0.1 0.9];

pxy=[x(1,1)*p(1,:);x(1,2)*p(2,:)];

py=[x*p(:,1),x*p(:,2)];

px_y=[pxy(:,1)/py(1,1),pxy(:,2)/py(1,2)];

Ix_y=sum(sum(pxy.*log2(p./[py;py])));

ezplot(w,Ix_y,[0,1,0,1]);

xlabel('变量w');

ylabel('平均互信息量I');

title('平均互信息量与w的关系');

grid on

(2)验证固定信源,I(X;Y)是信道传递概率的下凸函数

m=[1 0.5 0];

figure

hold on %设置为叠加绘图模式

for i=1:5

w=m(i);

p=0:0.01:1;

I=(w.*(1-p)+(1-w).*p).*log2(1./(w.*(1-p)+(1-w).*p))+(w.*p+(1-w).*(1-p )).*log2(1./(w.*p+(1-w).*(1-p)))-(p.*log2(1./p)+(1-p).*(log2(1./(1-p))));

plot(p,I,'b');

title('曲线图');xlabel('信道转移概率p');ylabel('平均互信息量I'); end

(3)I(X;Y)的三维分布绘制

[p,q]=meshgrid(0.000001:0.01:1,0.000001:0.01:1);

Hnoise=-p.*log2(p)-(1-p).*log2(1-p);%噪声熵

x=(1-p).*q+p.*(1-q);

I=-x.*log2(x)-(1-x).*log2(1-x)-Hnoise;

mesh(p,q,I)

实验三:离散信道容量(1学时)

一、实验目的

1. 掌握离散信道容量的计算。

2. 理解离散信道容量的物理意义。

3. 练习应用matlab 软件进行函数曲线的绘制,并从曲线上理解其物理意义。

二、实验原理

二元对称信道

BSC (Binary Symmetric Channel )

二进制离散信道模型有一个允许输入值的集合X={0,1}和可能输出值的集合Y={0,1},以及一组表示输入和输出关系的条件概率(转移概率)组成。如果信道噪声和其他干扰导致传输的二进序列发生统计独立的差错,且条件概率对称,即 (0/1)(1/0)(1/1)(0/0)1p Y X p Y X p p Y X p Y X p ======??======-?

这种对称的二进制输入、二进制输出信道称做二元对称信道(或二进制对称信道,简称BSC 信道),如下图所示:

信道容量公式:{()}

max p x C I(X,Y)

三、实验内容

BSC 信道是DMC 信道对称信道的特例,对于转移概率为P(0/1)=P(1/0)=p ,P(0/0)=P(1/01)=1-p ,求出其信道容量公式,并在matlab 上绘制信道容量C 与p 的曲线。根据曲线说明其物理意义。

参考代码:>> p = linspace(0,1,50);

c = 1+p.*log2(p)+(1-p).*log2(1-p);

plot(p,c)

xlabel('p')

ylabel('c')

四、实验结果

C=1+plogp+(1-p )log (1-p )

1、 无噪声干扰时(p=0),损失熵H(X/Y)=0,信道容量等于信源

发出的码元速率。

2、P=1/2时,C=0,信道已无传输能力。

实验四:Huffman编码软件实现(4个学时)

一、实验目的

(1)进一步熟悉Huffman编码过程;

(2)练习matlab中哈夫曼编码函数的调用;

(3)掌握Matlab中Huffman编码的思想;

(4)掌握平均码长,编码效率的计算。

二、实验原理

二元哈夫曼编码的具体步骤归纳如下:

1.统计n个信源消息符号,得到n个不同概率的信息符号。

2.将这n个信源信息符号按其概率大小依次排序:

p(x1) ≥p(x2)≥…≥p(x n)

3.取两个概率最小的信息符号分别配以0和1两个码元,并将这两个概率

相加作为一个新的信息符号的概率,和未分配的信息符号构成新的信息

符号序列。

4.将剩余的信息符号,按概率大小重新进行排序。

5.重复步骤3,将排序后的最后两个小概论相加,相加和与其他概率再排

序。

6.如此反复重复n-2次,最后只剩下两个概率。

7.从最后一级开始,向前返回得到各个信源符号所对应的码元序列,即相

应的码字,构成霍夫曼编码字。编码结束。

编码之后,哈夫曼编码的平均码长为:

1()n i

i i K p x K ==∑

哈夫曼编码的效率为:

()=H x K η=

信源熵平均码长

三、实验内容

(一)直接调用matlab 哈夫曼编码函数进行编码,与人工编码结果做比较。 huffmandict 函数: 为已知概率分布的信源模型生成哈夫曼编解码索引表。 调用方法如下:

[dict ,L] = huffmandict (symbols , p)

调用Huffmandict 函数,使用数组s (编码符号)及其概率数组P 进行Huffman 编码,编码后产生一个编码词典dict ,以及平均码长L 。

求出熵H ,并计算其效率H/L

基本参考:

symbols = [1: ];

p = [ ];

[dict ,L] = huffmandict(symbols ,p)

code1= dict{1,2}

.

. dict{ ,2}

(二)根据编码思想编写

要求(1)输入:信源的概率分布P ;

(2)输出:每个信源符号对应的Huffman 编码的码字。

(3)计算平均码长 、信源熵 及编码效率

并对:

输入的概率数组中有小于0的值

输入的概率数组总和大于1

作出判断

四、实验结果(一)

(二)

五、哈夫曼编码的MATLAB实现(基于0、1编码):clc;

clear;

A=[5,3,1,6,2];%原概率序列

A=A/sum(A);

A=fliplr(sort(A));%按降序排列

T=A;

[m,n]=size(A);

B=zeros(n,n-1);%空的编码表(矩阵)

for i=1:n

B(i,1)=T(i);%生成编码表的第一列

end

r=B(i,1)+B(i-1,1);%最后两个元素相加

T(n-1)=r;

T(n)=0;

T=fliplr(sort(T));

t=n-1;

for j=2:n-1%生成编码表的其他各列

for i=1:t

B(i,j)=T(i);

end

K=find(T==r);

B(n,j)=K(end);%从第二列开始,每列的最后一个元素记录特征元素在该列的位置

r=(B(t-1,j)+B(t,j));%最后两个元素相加

T(t-1)=r;

T(t)=0;

T=fliplr(sort(T));

t=t-1;

end

B;%输出编码表

END1=sym('[0,1]');%给最后一列的元素编码

END=END1;

t=3;

d=1;

for j=n-2:-1:1%从倒数第二列开始依次对各列元素编码

for i=1:t-2

if i>1 & B(i,j)==B(i-1,j)

d=d+1;

else

d=1;

end

B(B(n,j+1),j+1)=-1;

temp=B(:,j+1);

x=find(temp==B(i,j));

END(i)=END1(x(d));

end

y=B(n,j+1);

END(t-1)=[char(END1(y)),'0'];

END(t)=[char(END1(y)),'1'];

t=t+1;

END1=END;

end

A%排序后的原概率序列

END%编码结果

for i=1:n

[a,b]=size(char(END(i)));

L(i)=b;

end

avlen=sum(L.*A)%平均码长

H1=log2(A);

H=-A*(H1')%熵

P=H/avlen%编码效率

信息论与编码实验

实验五霍夫曼编码 一、实验目的 1、熟悉Matlab 工作环境及工具箱; 2、掌握霍夫曼编码的基本步骤; 3、利用MATLAB实现霍夫曼编码。 二、实验内容 (1)熟悉理解Huffman编码的过程 (2)将给定的数据进行Huffman编码 知识要点: 1、霍夫曼编码的基本原理。参照教材及参考书。 2、二进制霍夫曼编码方法。 1. 基本原理: 变长编码 不要求所有码字长度相同,对不同概率的信源符号或序列,可赋予不同长度的码字。变长编码力求平均码长最小,此时编码效率最高,信源的冗余得到最大程度的压缩。 1)几种常用变长编码方法: 霍夫曼编码 费若编码 香农编码。 2)霍夫曼编码: 二进制霍夫曼编码 r进制霍夫曼编码 符号序列的霍夫曼编码。 3)二进制霍夫曼编码的编码过程: 将信源中n个符号按概率分布的大小,以递减次序排列起来; 用0和1码分别分配给概率最小的两个信源符号,并将这两个概率最小的信源符号合并成一个新符号,并用这两个最小概率之和作为新符号的概率,从而得到只包含n-1个符号的新信源,称为其缩减信源; 把缩减信源的符号仍按概率大小以递减次序排列,再将最后两个概率最小的符号合并

成一个新符号,并分别用0和1码表示,这样又形成一个新缩减信源; 依次继续下去,直到缩减信源最后只剩两个符号为止。再将最后两个新符号分别用0和1 码符号表示。最后这两个符号的概率之和为1,然后从最后一级缩减信源开始,依编码路径右后向前返回,就得到各信源符号所对应得码符号序列,即对应得码字。 r进制霍夫曼编码 由二进制霍夫曼编码可推广到r进制霍夫曼编码,只是每次求缩减信源时,改求r个最小概率之和,即将r个概率最小符号缩减为一个新符号,直到概率之和为1。但要注意,即缩减过程中可能到最后没有r个符号。为达次目的,可给信源添加几个概率为零的符号。 符号序列的霍夫曼编码 对信源编码除了对信源符号编码以外,也可对信源符号序列编码,一般来说,对序列编码比对单个符号更为有效。 2 数据结构与算法描述 1)变量及函数的定义 3 实验数据与实验结果(可用文字描述或贴图的方式进行说明) 1)测试数据 0.2 0.1 0.3 0.1 0.1 0.2 2)实验结果

答案~信息论与编码练习

1、有一个二元对称信道,其信道矩阵如下图所示。设该信道以1500个二元符号/秒的速度传输输入符号。现有一消息序列共有14000个二元符号,并设在这消息中P(0)=P(1)=1/2。问从信息传输的角度来考虑,10秒钟内能否将这消息序列无失真地传送完? 解答:消息是一个二元序列,且为等概率分布,即P(0)=P(1)=1/2,故信源的熵为H(X)=1(bit/symbol)。则该消息序列含有的信息量=14000(bit/symbol)。 下面计算该二元对称信道能传输的最大的信息传输速率: 信道传递矩阵为: 信道容量(最大信息传输率)为: C=1-H(P)=1-H(0.98)≈0.8586bit/symbol 得最大信息传输速率为: Rt ≈1500符号/秒× 0.8586比特/符号 ≈1287.9比特/秒 ≈1.288×103比特/秒 此信道10秒钟内能无失真传输得最大信息量=10× Rt ≈ 1.288×104比特 可见,此信道10秒内能无失真传输得最大信息量小于这消息序列所含有的信息量,故从信息传输的角度来考虑,不可能在10秒钟内将这消息无失真的传送完。 2、若已知信道输入分布为等概率分布,且有如下两个信道,其转移概率矩阵分别为: 试求这两个信道的信道容量,并问这两个信道是否有噪声? 3 、已知随即变量X 和Y 的联合分布如下所示: 01100.980.020.020.98P ?? =?? ??11112222 1111222212111122221111222200000000000000000000000000000000P P ???????? ????==???? ????????11 2222111 22222log 4(00)1/()log 42/log 8(000000)2/(),H bit symbol H X bit symbol C C H bit symbol H X C =-===>=-==1解答:(1)由信道1的信道矩阵可知为对称信道故C 有熵损失,有噪声。(2)为对称信道,输入为等概率分布时达到信道容量无噪声

信息论与编码实验指导书

《信息论与编码》实验指导书 信息与通信工程学院信息工程系 2014年6月

目录 实验一绘制信源熵函数曲线 (3) 实验二哈夫曼编解码 (6) 实验三离散信道容量 (10)

1实验一绘制信源熵函数曲线 一、实验目的 1.掌握离散信源熵的原理和计算方法。 2.熟悉matlab软件的基本操作,练习应用matlab软件进行信源熵函数曲 线的绘制。 3.理解信源熵的物理意义,并能从信源熵函数曲线图上进行解释其物理意 义。 二、实验原理 1.离散信源相关的基本概念、原理和计算公式 产生离散信息的信源称为离散信源。离散信源只能产生有限种符号。 假定X是一个离散随机变量,即它的取值范围R={x1,x2,x3,…}是有限或可数的。设第i个变量x i发生的概率为p i=P{X=x i}。则: 定义一个随机事件的自信息量I(x i)为其对应的随机变量x i出现概率对数的负值。即: I(x i)= -log2p(x i) 定义随机事件X的平均不确定度H(X)为离散随机变量x i出现概率的数学期望,即: ∑∑ - = = i i i i i i x p x p x I x p X H) ( log ) ( ) ( ) ( ) ( 2 单位为比特/符号或比特/符号序列。 平均不确定度H(X)的定义公式与热力学中熵的表示形式相同,所以又把平均不确定度H(X)称为信源X的信源熵。 必须注意一下几点: a)某一信源,不管它是否输出符号,只有这些符号具有某些概率特性, 必有信源的熵值;这熵值是在总体平均上才有意义,因而是个确定 值,一般写成H(X),X是指随机变量的整体(包括概率分布)。 b)信息量则只有当信源输出符号而被接收者收到后,才有意义,这就 是给与信息者的信息度量,这值本身也可以是随机量,也可以与接

信息论与编码实验报告.

本科生实验报告 实验课程信息论与编码 学院名称信息科学与技术学院 专业名称通信工程 学生姓名 学生学号 指导教师谢振东 实验地点6C601 实验成绩 二〇一五年十一月二〇一五年十一月

实验一:香农(Shannon )编码 一、实验目的 掌握通过计算机实现香农编码的方法。 二、实验要求 对于给定的信源的概率分布,按照香农编码的方法进行计算机实现。 三、实验基本原理 给定某个信源符号的概率分布,通过以下的步骤进行香农编码 1、将信源消息符号按其出现的概率大小排列 )()()(21n x p x p x p ≥≥≥ 2、确定满足下列不等式的整数码长K i ; 1)(l o g )(l o g 22+-<≤-i i i x p K x p 3、为了编成唯一可译码,计算第i 个消息的累加概率 ∑ -== 1 1 )(i k k i x p p 4、将累加概率P i 变换成二进制数。 5、取P i 二进制数的小数点后K i 位即为该消息符号的二进制码。 四、源程序: #include #include #include #include #include using namespace std; int main() { int N; cout<<"请输入信源符号个数:";cin>>N; cout<<"请输入各符号的概率:"<

int i,j; for(i=0;i

信息论与编码试题集与答案(新)

1. 在无失真的信源中,信源输出由 H (X ) 来度量;在有失真的信源中,信源输出由 R (D ) 来度量。 2. 要使通信系统做到传输信息有效、可靠和保密,必须首先 信源 编码, 然后_____加密____编码,再______信道_____编码,最后送入信道。 3. 带限AWGN 波形信道在平均功率受限条件下信道容量的基本公式,也就是有名的香农公式是log(1)C W SNR =+;当归一化信道容量C/W 趋近于零时,也即信道完全丧失了通信能力,此时E b /N 0为 -1.6 dB ,我们将它称作香农限,是一切编码方式所能达到的理论极限。 4. 保密系统的密钥量越小,密钥熵H (K )就越 小 ,其密文中含有的关于明文的信息量I (M ;C )就越 大 。 5. 已知n =7的循环码4 2 ()1g x x x x =+++,则信息位长度k 为 3 ,校验多项式 h(x)= 3 1x x ++ 。 6. 设输入符号表为X ={0,1},输出符号表为Y ={0,1}。输入信号的概率分布为p =(1/2,1/2),失真函数为d (0,0) = d (1,1) = 0,d (0,1) =2,d (1,0) = 1,则D min = 0 ,R (D min )= 1bit/symbol ,相应的编码器转移概率矩阵[p(y/x )]=1001?? ???? ;D max = 0.5 ,R (D max )= 0 ,相应的编码器转移概率矩阵[p(y/x )]=1010?? ? ??? 。 7. 已知用户A 的RSA 公开密钥(e,n )=(3,55),5,11p q ==,则()φn = 40 ,他的秘密密钥(d,n )=(27,55) 。若用户B 向用户A 发送m =2的加密消息,则该加密后的消息为 8 。 二、判断题 1. 可以用克劳夫特不等式作为唯一可译码存在的判据。 (√ ) 2. 线性码一定包含全零码。 (√ ) 3. 算术编码是一种无失真的分组信源编码,其基本思想是将一定精度数值作为序列的 编码,是以另外一种形式实现的最佳统计匹配编码。 (×) 4. 某一信源,不管它是否输出符号,只要这些符号具有某些概率特性,就有信息量。 (×) 5. 离散平稳有记忆信源符号序列的平均符号熵随着序列长度L 的增大而增大。 (×) 6. 限平均功率最大熵定理指出对于相关矩阵一定的随机矢量X ,当它是正态分布时具 有最大熵。 (√ ) 7. 循环码的码集中的任何一个码字的循环移位仍是码字。 (√ ) 8. 信道容量是信道中能够传输的最小信息量。 (×) 9. 香农信源编码方法在进行编码时不需要预先计算每个码字的长度。 (×) 10. 在已知收码R 的条件下找出可能性最大的发码i C 作为译码估计值,这种译码方 法叫做最佳译码。 (√ )

《信息论与编码》教学大纲

《信息论与编码》教学大纲 一课程简介 课程编号:04254002 课程名称:信息论与编码Informatics & Coding 课程类型:基础课必修课 学时:32 学分:2 开课学期:第六学期 开课对象:通信、电子专业 先修课程:概率论与数理统计、信号与系统、随机信号原理。 参考教材:信息论与编码,陈运,周亮,陈新,电子工业出版社,2002年8月 二课程性质、目的与任务 信息论在理论上指出了建立最佳编码、最佳调制和最佳接收方法的最佳系统的理论原则,它对通信体制和通信系统的研究具有指导意义。提高信息传输的可靠性和有效性始终是通信工作所追求的目标。因此,信息论与编码是从事通信、电子系统工程的有关工程技术人员都必须掌握的基本理论知识。 内容提要:本课程包括狭义相对论和提高通信可靠性的差错控制编码理论。信息论所研究的主要问题是在通信系统设计中如何实现有效性和可靠性。 三教学基本内容与基本要求 本课程总学时为32。其中理论教学为28,实验学时为4。 主要的理论教学内容包括:离散信源和连续信源的熵、条件熵、联合熵和平均互信息量的概念及性质;峰值功率受限和平均功率受限下的最大熵定理和连续信源熵的变换;变长码的霍夫曼编码方法,熟悉编码效率和平均码长的计算;最大后验概率准则和最大似然译码准则等。 实验内容主要包括:离散无记忆信道容量的迭代算法,循环码的编译码。 四教学内容与学时分配 第3章离散信源无失真编码

第6章网络信息论 (教学要求:A—熟练掌握;B—掌握;C—了解) 五实习、实验项目及学时分配 1.离散无记忆信道容量的迭代算法2学时 要求用Matlab编写计算离散信道容量的实用程序并调试成功,加深对信道容量的理解。 2.循环码的编译码2学时 要求用Matlab编写程序,用软件完成循环码的编译码算法。 六教学方法与手段 常规教学与多媒体教学相结合。

信息论与编码实验报告材料

实验报告 课程名称:信息论与编码姓名: 系:专 业:年 级:学 号:指导教 师:职 称:

年月日 目录 实验一信源熵值的计算 (1) 实验二Huffman 信源编码. (5) 实验三Shannon 编码 (9) 实验四信道容量的迭代算法 (12) 实验五率失真函数 (15) 实验六差错控制方法 (20) 实验七汉明编码 (22)

实验一信源熵值的计算 、实验目的 1 进一步熟悉信源熵值的计算 2 熟悉Matlab 编程 、实验原理 熵(平均自信息)的计算公式 q q 1 H(x) p i log2 p i log2 p i i 1 p i i 1 MATLAB实现:HX sum( x.* log2( x));或者h h x(i)* log 2 (x(i )) 流程:第一步:打开一个名为“ nan311”的TXT文档,读入一篇英文文章存入一个数组temp,为了程序准确性将所读内容转存到另一个数组S,计算该数组中每个字母与空格的出现次数( 遇到小写字母都将其转化为大写字母进行计数) ,每出现一次该字符的计数器+1;第二步:计算信源总大小计算出每个字母和空格出现的概率;最后,通过统计数据和信息熵公式计算出所求信源熵值(本程序中单位为奈特nat )。 程序流程图: 三、实验内容 1、写出计算自信息量的Matlab 程序 2、已知:信源符号为英文字母(不区分大小写)和空格输入:一篇英文的信源文档。输出:给出该信源文档的中各个字母与空格的概率分布,以及该信源的熵。 四、实验环境 Microsoft Windows 7

五、编码程序 #include"stdio.h" #include #include #define N 1000 int main(void) { char s[N]; int i,n=0; float num[27]={0}; double result=0,p[27]={0}; FILE *f; char *temp=new char[485]; f=fopen("nan311.txt","r"); while (!feof(f)) { fread(temp,1, 486, f);} fclose(f); s[0]=*temp; for(i=0;i='a'&&s[i]<='z') num[s[i]-97]++; else if(s[i]>='A'&&s[i]<='Z') num[s[i]-65]++; } printf(" 文档中各个字母出现的频率:\n"); for(i=0;i<26;i++) { p[i]=num[i]/strlen(s); printf("%3c:%f\t",i+65,p[i]); n++; if(n==3) { printf("\n"); n=0; } } p[26]=num[26]/strlen(s); printf(" 空格:%f\t",p[26]);

信息论与编码期中试卷及答案

信息论与编码期中试题答案 一、(10’)填空题 (1)1948年,美国数学家香农发表了题为“通信的数学理论”的长篇论文,从而创立了信息论。 (2)必然事件的自信息是0 。 (3)离散平稳无记忆信源X的N次扩展信源的熵等于离散信源X的熵的N倍。 (4)对于离散无记忆信源,当信源熵有最大值时,满足条件为__信源符号等概分布_。 (5)若一离散无记忆信源的信源熵H(X)等于2.5,对信源进行等长的无失真二进制编码,则编码长度至少为 3 。 二、(10?)判断题 (1)信息就是一种消息。(? ) (2)信息论研究的主要问题是在通信系统设计中如何实现信息传输、存储和处理的有效性和可靠性。(? ) (3)概率大的事件自信息量大。(? ) (4)互信息量可正、可负亦可为零。(? ) (5)信源剩余度用来衡量信源的相关性程度,信源剩余度大说明信源符号间的依赖关系较小。 (? ) (6)对于固定的信源分布,平均互信息量是信道传递概率的下凸函数。(? ) (7)非奇异码一定是唯一可译码,唯一可译码不一定是非奇异码。(? ) (8)信源变长编码的核心问题是寻找紧致码(或最佳码)。 (? ) (9)信息率失真函数R(D)是关于平均失真度D的上凸函数. ( ? ) 三、(10?)居住在某地区的女孩中有25%是大学生,在女大学生中有75%是身高1.6米以上的,而女孩中身高1.6米以上的占总数的一半。 假如我们得知“身高1.6米以上的某女孩是大学生”的消息,问获得多少信息量? 解:设A表示“大学生”这一事件,B表示“身高1.60以上”这一事件,则 P(A)=0.25 p(B)=0.5 p(B|A)=0.75 (5分) 故p(A|B)=p(AB)/p(B)=p(A)p(B|A)/p(B)=0.75*0.25/0.5=0.375 (4分) I(A|B)=-log0.375=1.42bit (1分)

《信息论与信源编码》实验报告

《信息论与信源编码》实验报告 1、实验目的 (1) 理解信源编码的基本原理; (2) 熟练掌握Huffman编码的方法; (3) 理解无失真信源编码和限失真编码方法在实际图像信源编码应用中的差异。 2、实验设备与软件 (1) PC计算机系统 (2) VC++6.0语言编程环境 (3) 基于VC++6.0的图像处理实验基本程序框架imageprocessing_S (4) 常用图像浏览编辑软件Acdsee和数据压缩软件winrar。 (5) 实验所需要的bmp格式图像(灰度图象若干幅) 3、实验内容与步骤 (1) 针对“图像1.bmp”、“图像2.bmp”和“图像3.bmp”进行灰度频率统计(即计算图像灰度直方图),在此基础上添加函数代码构造Huffman码表,针对图像数据进行Huffman编码,观察和分析不同图像信源的编码效率和压缩比。 (2) 利用图像处理软件Acdsee将“图像1.bmp”、“图像2.bmp”和“图像 3.bmp”转换为质量因子为10、50、90的JPG格式图像(共生成9幅JPG图像),比较图像格式转换前后数据量的差异,比较不同品质因素对图像质量的影响; (3) 数据压缩软件winrar将“图像1.bmp”、“图像2.bmp”和“图像3.bmp”分别生成压缩包文件,观察和分析压缩前后数据量的差异; (4) 针对任意一幅图像,比较原始BMP图像数据量、Huffman编码后的数据量(不含码表)、品质因素分别为10、50、90时的JPG文件数据量和rar压缩包的数据量,分析不同编码方案下图像数据量变化的原因。 4、实验结果及分析 (1)在VC环境下,添加代码构造Huffman编码表,对比试验结果如下: a.图像1.bmp:

香农编码实验报告

中南大学 《信息论与编码》实验报告 题目信源编码实验 指导教师 学院 专业班级 姓名 学号 日期

目录 一、香农编码 (3) 实验目的 (3) 实验要求 (3) 编码算法 (3) 调试过程 (3) 参考代码 (4) 调试验证 (7) 实验总结 (7) 二、哈夫曼编码 (8) 实验目的 (8) 实验原理 (8) 数据记录 (9) 实验心得 (10)

一、香农编码 1、实验目的 (1)进一步熟悉Shannon 编码算法; (2)掌握C 语言程序设计和调试过程中数值的进制转换、数值与字符串之间 的转换等技术。 2、实验要求 (1)输入:信源符号个数q 、信源的概率分布p ; (2)输出:每个信源符号对应的Shannon 编码的码字。 3、Shannon 编码算法 1:procedure SHANNON(q,{Pi }) 2: 降序排列{Pi } 3: for i=1 q do 4: F(i s ) 5:i l 2 []log 1/()i p s 6:将累加概率F(i s )(十进制小数)变换成二进制小数。 7:取小数点后i l 个二进制数字作为第i 个消息的码字。 8:end for 9:end procedure ------------------------------------------------------------------------------------------------------------------ 4、调试过程 1、fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory fatal error C1083: Cannot open include file: 'values.h': No such file or directory 原因:unistd.h 和values.h 是Unix 操作系统下所使用的头文件 纠错:删去即可 2、error C2144: syntax error : missing ')' before type 'int' error C2064: term does not evaluate to a function 原因:l_i(int *)calloc(n,sizeof(int)); l_i 后缺少赋值符号使之不能通过编译 纠错:添加上赋值符号 1 1 ()i k k p s -=∑

信息论与编码期末试卷

上海大学2011~2012学年度冬季学期试卷(A卷) 课程名:信息论与编码课程号: 07276033学分: 4 应试人声明: 我保证遵守《上海大学学生手册》中的《上海大学考场规则》,如有考试违纪、作弊行为,愿意接受《上海大学学生考试违纪、作弊行为界定及处分规定》的纪律处分。 应试人应试人学号应试人所在院系 题号 1 2 3 4 得分——————————————————————————————————————一:填空题(每空2分,共40分) 1:掷一个正常的骰子,出现‘5’这一事件的自信息量为________,同时掷两个正常的骰子,‘点数之和为5’这一事件的自信息量为___________.(注明物理单位) 2:某信源包含16个不同的离散消息,则信源熵的最大值为___________,最小值为_____________. 3:信源X经过宥噪信道后,在接收端获得的平均信息量称为______________. 4:一个离散无记忆信源输出符号的概率分别为p(0)=0.5,p(1)=0.25,p(2)=0.25,则由60个符号构成的消息的平均自信息量为__________. 5:信源编码可提高信息传输的___有效___性,信道编码可提高信息传输的___可靠_性. 6:若某信道的信道矩阵为 ? ? ? ? ? ? ? ? ? ? ? ? 001 100 010 100 ,则该信道为具有____归并____性能的信道 7:根据香农第一定理(定长编码定理)若一个离散无记忆信源X的信源熵为H(X),对其n个符号进行二元无失真编码时,其码字的平均长度必须大于____________ 8:若某二元序列是一阶马尔科夫链,P(0/0)=0.8,P(1/1)=0.7,则‘0’游程长度为4的概率为____________,若游程序列为312314,则原始的二元序列为_________. 9:若循环码的生成多项式为1 ) (2 3+ + =x x x g,则接收向量为(1111011)的伴随多项式为_______________ 10:对有32个符号的信源编4进制HUFFMAN码,第一次取_______个信源进行编码. 11:若一个线性分组码的所有码字为:00000,10101,01111,11010,则该码为(____,_____),该码最多可以纠正_______位错误,共有________陪集. 12:码长为10的线性分组码若可以纠正2个差错,其监督吗至少有__5____位. 13:(7,4)汉明码的一致校验矩阵为 ? ? ? ? ? ? ? ? ? ? 1,0,1,0,1, ,1 0,1,1,0,0, ,1 0,0,0,1,1, ,1 3 2 1 r r r ,则3 2 1 r r r 为__________. _______________________________________________________________ 草稿纸 成绩

信息论与编码实验报告

实验一 绘制二进熵函数曲线(2个学时) 一、实验目的: 1. 掌握Excel 的数据填充、公式运算和图表制作 2. 掌握Matlab 绘图函数 3. 掌握、理解熵函数表达式及其性质 二、实验要求: 1. 提前预习实验,认真阅读实验原理以及相应的参考书。 2. 在实验报告中给出二进制熵函数曲线图 三、实验原理: 1. Excel 的图表功能 2. 信源熵的概念及性质 ()()[] ()[]())(1)(1 .log )( .) ( 1log 1log ) (log )()(10 , 110)(21Q H P H Q P H b n X H a p H p p p p x p x p X H p p p x x X P X i i i λλλλ-+≥-+≤=--+-=-=≤≤? ?????-===??????∑ 单位为 比特/符号 或 比特/符号序列。 当某一符号xi 的概率p(xi)为零时,p(xi)log p(xi) 在熵公式中无意义,为此规定这时的 p(xi)log p(xi) 也为零。当信源X 中只含有一个符号x 时,必有p(x)=1,此时信源熵H (X )为零。 四、实验内容: 用Excel 和Matlab 软件制作二进熵函数曲线。根据曲线说明信源熵的物理意义。 (一) Excel 具体步骤如下: 1、启动Excel 应用程序。 2、准备一组数据p 。在Excel 的一个工作表的A 列(或其它列)输入一组p ,取步长为0.01,从0至100产生101个p (利用Excel 填充功能)。

3、取定对数底c,在B列计算H(x) ,注意对p=0与p=1两处,在B列对应位置直接输入0。Excel中提供了三种对数函数LN(x),LOG10(x)和LOG(x,c),其中LN(x)是求自然对数,LOG10(x)是求以10为底的对数,LOG(x,c)表示求对数。选用c=2,则应用函数LOG(x,2)。 在单元格B2中输入公式:=-A2*LOG(A2,2)-(1-A2)*LOG(1-A2,2) 双击B2的填充柄,即可完成H(p)的计算。 4、使用Excel的图表向导,图表类型选“XY散点图”,子图表类型选“无数据点平滑散点图”,数据区域用计算出的H(p)数据所在列范围,即$B$1:$B$101。在“系列”中输入X值(即p值)范围,即$A$1:$A$101。在X轴输入标题概率,在Y轴输入标题信源熵。 (二)用matlab软件绘制二源信源熵函数曲线 p = 0.0001:0.0001:0.9999; h = -p.*log2(p)-(1-p).*log2(1-p); plot(p,h) 五、实验结果

信息论与编码试题集与答案(新)

一填空题(本题20分,每小题2分) 1、平均自信息为 表示信源的平均不确定度,也表示平均每个信源消息所提供的信息量。 平均互信息 表示从Y获得的关于每个X的平均信息量,也表示发X前后Y的平均不确定性减少的量,还表示通信前后整个系统不确定性减少的量。 2、最大离散熵定理为:离散无记忆信源,等概率分布时熵最大。 3、最大熵值为。 4、通信系统模型如下: 5、香农公式为为保证足够大的信道容量,可采用(1)用频带换信噪比;(2)用信噪比换频带。

6、只要,当N足够长时,一定存在一种无失真编码。 7、当R<C时,只要码长足够长,一定能找到一种编码方法和译码规则,使译码错误概率无穷小。 8、在认识论层次上研究信息的时候,必须同时考虑到形式、含义和效用三个方面的因素。 9、1948年,美国数学家香农发表了题为“通信的数学理论”的长篇论文,从而创立了信息论。 按照信息的性质,可以把信息分成语法信息、语义信息和语用信息。 按照信息的地位,可以把信息分成客观信息和主观信息。 人们研究信息论的目的是为了高效、可靠、安全地交换和利用各种各样的信息。 信息的可度量性是建立信息论的基础。 统计度量是信息度量最常用的方法。 熵是香农信息论最基本最重要的概念。 事物的不确定度是用时间统计发生概率的对数来描述的。 10、单符号离散信源一般用随机变量描述,而多符号离散信源一般用随机矢量描述。 11、一个随机事件发生某一结果后所带来的信息量称为自信息量,定义为其发生概率对

数的负值 。 12、自信息量的单位一般有 比特、奈特和哈特 。 13、必然事件的自信息是 0 。 14、不可能事件的自信息量是 ∞ 。 15、两个相互独立的随机变量的联合自信息量等于 两个自信息量之和 。 16、数据处理定理:当消息经过多级处理后,随着处理器数目的增多,输入消息与输出消息之间的平均互信息量 趋于变小 。 17、离散平稳无记忆信源X 的N 次扩展信源的熵等于离散信源X 的熵的 N 倍 。 18、离散平稳有记忆信源的极限熵,=∞H )/(lim 121-∞→N N N X X X X H 。 19、对于n 元m 阶马尔可夫信源,其状态空间共有 nm 个不同的状态。 20、一维连续随即变量X 在[a ,b]区间内均匀分布时,其信源熵为 log2(b-a ) 。 21、平均功率为P 的高斯分布的连续信源,其信源熵,Hc (X )=eP π2log 21 2。 22、对于限峰值功率的N 维连续信源,当概率密度 均匀分布 时连续信源熵具有最大值。 23、对于限平均功率的一维连续信源,当概率密度 高斯分布 时,信源熵有最大值。 24、对于均值为0,平均功率受限的连续信源,信源的冗余度决定于平均功率的限定值P 和信源的熵功率P 之比 。

信息论与编码试题集与答案(新)

" 1. 在无失真的信源中,信源输出由 H (X ) 来度量;在有失真的信源中,信源输出由 R (D ) 来度量。 2. 要使通信系统做到传输信息有效、可靠和保密,必须首先 信源 编码, 然后_____加密____编码,再______信道_____编码,最后送入信道。 3. 带限AWGN 波形信道在平均功率受限条件下信道容量的基本公式,也就是有名的香农公式是log(1)C W SNR =+;当归一化信道容量C/W 趋近于零时,也即信道完全丧失了通信能力,此时E b /N 0为 dB ,我们将它称作香农限,是一切编码方式所能达到的理论极限。 4. 保密系统的密钥量越小,密钥熵H (K )就越 小 ,其密文中含有的关于明文的信息量I (M ;C )就越 大 。 5. 已知n =7的循环码4 2 ()1g x x x x =+++,则信息位长度k 为 3 ,校验多项式 h(x)= 3 1x x ++ 。 6. ? 7. 设输入符号表为X ={0,1},输出符号表为Y ={0,1}。输入信号的概率分布为p =(1/2,1/2),失真函数为d (0,0) = d (1,1) = 0,d (0,1) =2,d (1,0) = 1,则D min = 0 ,R (D min )= 1bit/symbol ,相应的编码器转移概率矩阵[p(y/x )]=1001?? ???? ;D max = ,R (D max )= 0 ,相应的编码器转移概率矩阵[p(y/x )]=1010?? ? ??? 。 8. 已知用户A 的RSA 公开密钥(e,n )=(3,55),5,11p q ==,则()φn = 40 ,他的秘密密钥(d,n )=(27,55) 。若用户B 向用户A 发送m =2的加密消息,则该加密后的消息为 8 。 二、判断题 1. 可以用克劳夫特不等式作为唯一可译码存在的判据。 ( ) 2. 线性码一定包含全零码。 ( ) 3. 算术编码是一种无失真的分组信源编码,其基本思想是将一定精度数值作为序列的 编码,是以另外一种形式实现的最佳统计匹配编码。 (×) 4. " 5. 某一信源,不管它是否输出符号,只要这些符号具有某些概率特性,就有信息量。 (×) 6. 离散平稳有记忆信源符号序列的平均符号熵随着序列长度L 的增大而增大。 (×) 7. 限平均功率最大熵定理指出对于相关矩阵一定的随机矢量X ,当它是正态分布时具 有最大熵。 ( ) 8. 循环码的码集中的任何一个码字的循环移位仍是码字。 ( ) 9. 信道容量是信道中能够传输的最小信息量。 (×) 10. 香农信源编码方法在进行编码时不需要预先计算每个码字的长度。 (×) 11. ! 12. 在已知收码R 的条件下找出可能性最大的发码i C 作为译码估计值,这种译码方

信息论与编码实验报告

信息论与编码实验报告-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

实验一关于硬币称重问题的探讨 一、问题描述: 假设有N 个硬币,这N 个硬币中或许存在一个特殊的硬币,这个硬币或轻 或重,而且在外观上和其他的硬币没什么区别。现在有一个标准天平,但是无刻度。现在要找出这个硬币,并且知道它到底是比真的硬币重还是轻,或者所有硬币都是真的。请问: 1)至少要称多少次才能达到目的; 2)如果N=12,是否能在3 次之内将特殊的硬币找到;如果可以,要怎么称? 二、问题分析: 对于这个命题,有几处需要注意的地方: 1)特殊的硬币可能存在,但也可能不存在,即使存在,其或轻或重未知; 2)在目的上,不光要找到这只硬币,还要确定它是重还是轻; 3)天平没有刻度,不能记录每次的读数,只能判断是左边重还是右边重,亦或者是两边平衡; 4)最多只能称3 次。 三、解决方案: 1.关于可行性的分析 在这里,我们把称量的过程看成一种信息的获取过程。对于N 个硬币,他们 可能的情况为2N+1 种,即重(N 种),轻(N 种)或者无假币(1 种)。由于 这2N+1 种情况是等概率的,这个事件的不确定度为: Y=Log(2N+1) 对于称量的过程,其实也是信息的获取过程,一是不确定度逐步消除的过程。 每一次称量只有3 种情况:左边重,右边重,平衡。这3 种情况也是等概率 的,所以他所提供的信息量为: y=Log3 在K 次测量中,要将事件的不确定度完全消除,所以 K= Log(2N+1)/ Log3 根据上式,当N=12 时,K= 2.92< 3 所以13 只硬币是可以在3 次称量中达到

信息论与编码技术 实验指导书

信息理论与编码实验指导书 实验一离散信源信息熵 一、实验目的 1、理解自信息量和信息熵的基本含义; 2、熟练掌握自信息量和信息熵的计算; 3、熟悉MATLAB 开发环境的使用; 二、实验仪器 计算机、Matlab 仿真软件 三、实验原理 自信息是一个随机变量,它是指某一信源发出某一消息所含有的信息量。所发出的消息不同,它们所含有的信息量也就不同。任何一个消息的自信息量都代表不了信源所包含的平均自信息量,不能作为整个信源的信息测度,因此,定义自信息量的数学期望为信源的平均自信息量: 称为信息熵。信息熵的意义:信源的信息熵H是从整个信源的统计特性来考虑的。它是从平均意义上来表征信源的总体信息测度的。对于某特定的信源,其信息熵是一个确定的数值。不同的信源因统计特性不同,其熵也不同。 四、实验内容 1、根据书本习题2.5和习题2.7,建立离散信源的概率空间; 2、按照题目要求,用matlab实现离散信源自信息量和信息熵的计算; 3、将程序在计算机上仿真,验证其计算结果与实际运算结果相符否。 五、实验要求 1、提前预习实验,认真阅读实验原理以及相应的参考书。 2.简要说明信源熵的含义及信源熵的计算 3、写出信源熵的计算过程,并画出信源熵计算的程序流程图 4、给出信源熵计算的matlab源程序 5、分析软件仿真或计算结果

实验二 离散信道容量 一、实验目的 1、理解信道转移概率矩阵及其特点; 2、理解信道容量的定义和最佳输入概率分布; 3、掌握信道容量和平均互信息的计算步骤; 4、用 MATLAB 进行简单地编程 二、实验仪器 计算机、Matlab 仿真软件 三、实验原理 1、平均互信息 平均互信息代表接收到输出符号后平均每个符号获得的关于输入符号的信息量。定义为 I(X;Y)=H(X)-H(X|Y) 其中,H (X )代表接收到输出符号以前关于输入变量X 的平均不确定性,H(X|Y)代表接收到输出符号后关于输入变量X 的平均不确定性。 2、信道容量 对于一个固定的信道,总存在一种信源,使传输每个符号平均获得的信息量最大。也就是每个固定信道都有一个最大的信息传输率。我们把这个最大的信息传输率定义为信道容量,即 信息容量是完全描述信道特性的参量,是信道能够传输的最大信息量。它与输入信源的概率分布无关,只与信道的统计特性有关。 离散信道中有一类特殊的信道,它具有很强的对称性。信道矩阵P 中每一行都是由同一集合{p1’, p2’,…, ps ’}中的诸元素不同排列组成;每一列也都是由{q1’, q2’,…, qr ’} 中的诸元素不同排列组成。对于这类信道,它的容量为 四、实验内容 1、建立教材106页习题3.9所要求的数学模型。 2、写出数学模型的Matlab 程序。 3、将程序在计算机上仿真实现。 4、验证程序的正确性。 五、实验要求 1、提前预习实验,认真阅读实验原理以及相应的参考书。 2.简要说明信道容量的含义和特点,并计算信道容量 3、写出信道容量的计算过程,并画出程序流程图 4、给出信道容量计算的matlab 源程序 )};({max )(Y X I C X P =(比特/符号) )/()',...,','(log 21symbol bit p p p H s C s -=

信息论与编码期末考试题(全套)

(一) 一、判断题共10 小题,满分20 分、 1、当随机变量与相互独立时,条件熵等于信源熵、( ) 2、由于构成同一空间得基底不就是唯一得,所以不同得基底或生成矩阵有可能生成同一码集、( ) 3、一般情况下,用变长编码得到得平均码长比定长编码 大得多、( ) 4、只要信息传输率大于信道容量,总存在一种信道编译 码,可以以所要求得任意小得误差概率实现可靠得通 信、 ( ) 5、各码字得长度符合克拉夫特不等式,就是唯一可译码存在得充分与必要条件、() 6、连续信源与离散信源得熵都具有非负性、( ) 7、信源得消息通过信道传输后得误差或失真越大,信宿收到消息后对信源存在得不确 定性就越小,获得得信息量就越小、 8、汉明码就是一种线性分组码、( ) 9、率失真函数得最小值就是、( ) 10、必然事件与不可能事件得自信息量都就是、( ) 二、填空题共 6 小题,满分20 分、 1、码得检、纠错能力取决 于、 2、信源编码得目得就是 ;信道编码 得目得就是、 3、把信息组原封不动地搬到码字前位得码就叫 做、 4、香农信息论中得三大极限定理就 是、、、 5、设信道得输入与输出随机序列分别为与,则成立得 条件、 6、对于香农-费诺编码、原始香农-费诺编码与哈夫曼编码,编码方法惟一得就是、 7、某二元信源,其失真矩阵,则该信源得=、 三、本题共 4 小题,满分50 分、 1、某信源发送端有2种符号,;接收端有3种符号,转移概率矩阵为、 (1)计算接收端得平均不确定度; (2)计算由于噪声产生得不确定度; (3)计算信道容量以及最佳入口分布、 2、一阶马尔可夫信源得状态转移图如右图所示, 信源得符号集为、 (1)求信源平稳后得概率分布; (2)求此信源得熵; (3)近似地认为此信源为无记忆时,符号得概率分布为平 稳分布、求近似信源得熵并与进行比较、 4、设二元线性分组码得生成矩阵为、 (1)给出该码得一致校验矩阵,写出所有得陪集首与与之相 对应得伴随式; (2)若接收矢量,试计算出其对应得伴随式并按照最小距离 译码准则 试着对其译码、 (二) 一、填空题(共15分,每空1分) 1、信源编码得主要目得就是 ,信道编码得主要目得就是。 2、信源得剩余度主要来自两个方面,一就是 ,二就是。 3、三进制信源得最小熵为 ,最大熵为。 4、无失真信源编码得平均码长最小理论极限制为。 5、当时,信源与信道达到匹配。 6、根据信道特性就是否随时间变化,信道可以分为与。 7、根据就是否允许失真,信源编码可分为与。 8、若连续信源输出信号得平均功率为,则输出信号幅度得概 率密度就是时,信源具有最大熵,其值为值。 9、在下面空格中选择填入数学符号“”或“” (1)当X与Y相互独立时,H(XY) H(X)+H(X/Y) H(Y)+H(X)。 (2) (3)假设信道输入用X表示,信道输出用Y表示。在无噪有损 信道中,H(X/Y) 0, H(Y/X) 0,I(X;Y) H(X)。 三、(16分)已知信源 (1)用霍夫曼编码法编成二进制变长码;(6 分) (2)计算平均码长;(4分) (3)计算编码信息率;(2分)

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