信息论实验指导书要点.docx

上传人:时光煮雨 文档编号:11704078 上传时间:2021-08-31 格式:DOCX 页数:19 大小:122KB
返回 下载 相关 举报
信息论实验指导书要点.docx_第1页
第1页 / 共19页
信息论实验指导书要点.docx_第2页
第2页 / 共19页
信息论实验指导书要点.docx_第3页
第3页 / 共19页
信息论实验指导书要点.docx_第4页
第4页 / 共19页
信息论实验指导书要点.docx_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《信息论实验指导书要点.docx》由会员分享,可在线阅读,更多相关《信息论实验指导书要点.docx(19页珍藏版)》请在三一文库上搜索。

1、信息论与编码实验指导书任课教师:刘亚荣桂林理工大学电计系19Matlab 基础:1、 变量不需指定类型,拿来就用;变量区分大小写2、 向量定义: x=1/2, 1/4, 1/4( 行向量 ); y=(0:360)*pi/180; 向量的转 置 x (列向量)3、 .* ./ A 运算,逐个元素进行运算。例 x1=1/2, 1/4, 1/4, x2=2,4,4 , 则 x1*x2 没定义; x1*x2 有定义(=3) ; x1.*x2 有定义(逐元素相乘=1,1,1 )4、 变量值显示: 如果一行的后面没有分号, 则显示出该行的变量结果。 如 a=3 显 示出a=3。5、画图命令plot(x,y

2、); x (向量)是一系列坐标, y (向量)是一系列值。6、求和: sum(), 求积分:求微分:符号微分diff(f) 求 f 对自由变量的一阶微分diff(f,v) 求 f 对符号变量v 的一阶微分diff(f,v,n) 求 f 对符号变量v 求 n 阶微分符号积分int(f,v) 求表达式 f 的对符号变量v 的不定积分int(f,v,a,b) 求表达式 f 的对符号变量v 的在 (a,b) 范围内定积分7 M 函数文件的基本结构函数文件由 function 语句引导,其基本结构为:function 输出形参表=函数名( 输入形参表)注释说明部分函数体语句说明:(1) 关于函数文件名

3、: 函数文件名与函数名也可以不相同。当两者不同时,MATLABI忽略函数名而确认函数文件名,因此调用时使用函数文件名。(2) 关于注释说明部分。注释说明包括三部分内容:紧随函数文件引导行之后以班头的第一注释行。 第一注释行及之后连续的注释行。 与在线帮助文本相隔一空行的注释行。(3) 关于 return 语句。执行到该语句就结束函数的执行,程序流程转至调用该函数的位置。通常,在函数文件中也可不使用 return 语句,这时在被调函数执行完成后自动 返回。8 显示图形1、 %plot 函数绘制结果t= 0:pi/100:2*pi; % 定义数据点y = sin(t);plot(t,y) % 显示

4、图形grid on % 显示网格xlabel(t); % 显示 x 轴的变量ylabel(sin(t); % 显示 y 轴的变量2、plot函数中x-y副的使用t = 0:pi/100:2*pi;y = sin;piot(t,y)grid ony2 = sin(t-0.25);y3 = sin(t-0.5);plot(t,y,t,y2,t,y3)实验一:计算离散信源的嫡一、实验设备:1、计算机2、软件:Matlab二、实验目的:1、熟悉离散信源的特点;2、学习仿真离散信源的方法3、学习离散信源平均信息量的计算方法4、熟悉Matlab编程;三、实验内容:1、写出计算自信息量的Matlab程序2、

5、写出计算离散信源平均信息量的 Matlab程序。3、掌握二元离散信源的最大信息量与概率的关系。,写出习题的4、将程序在计算机上仿真实现,验证程序的正确性并完成习题。 四、实验报告要求简要总结离散信源的特点及离散信源平均信息量的计算MATLA比现语句。信息论基础: 自信息的计算公式1I (a) = log2 Matlab 头现:I=log2(Tp)或 I=-log2(p) pa嫡(平均自信息)的计算公式q1 qH(x) = pi log2 = -、pi log2 pii 1pi i 1Matlab 实现:HX=sum(-x.*log2(x)习题:h 或者 h=h-x(i)*10g2(x(i);1

6、.甲地天气预报构成的信源空间为:云大雨小雨11114,8,8小雨18X 晴 _p(x)- 2, 乙地信源空间为:-Y L青 Jp(y)j , _8求此两个信源的嫡。求各种天气的自信息量 案:H(X)=1.75; H(Y)= 0.54363、设有四个消息分别以概率1/4 ,独立的。试计算其平均信息量。2、某信息源的符号集由 A B、G D E组成,设每一符号独立出现,其出现的 概率分别为,1/4, 1/8, 1/8, 3/16, 5/16,试求该信源符号的平均信息量, (答案:H(X) = 2.2272bit符号)1/8, 1/8, 1/2传送,每一消息的出现是相互(答案:H(X) =1.75b

7、it/符号) 4.设一个二元信源(只有0和1两种符号)其概率空间为:X _ 01!p(x)!p,i-p编程画出H与p的关系,并说明当P呈什么分布时,平均信息量达到最大值。(说明:H=-p*log2(p)-(1-p).log2(1-p);)实验二:验证嫡的可加性与强可加性1 .【例2.6】有一离散无记忆信源-v -I a1 a 2 a 3,1 r 1 1 1jp(x)12Z4 一验证二次扩展信源X2的嫡等于离散信源X的嫡的2倍,即2 -H(X ) =2H(X)答案:H(X)=1.5;H(X2) =3.02 .验证两个统计独立的信源 X,Y,验证:H(XY) =H (X) H (Y)其中:力1 a

8、2a3= 111N , 4, 4 一X_P(x):丫 1= Jp(y).bi b 2b 31 1 1H 3 一H(X)=1.5, H(Y) =1.585 H(XY) =3.0853、条件嫡的计算与嫡的强可加性验证离散二维平稳信源,满足: H(X1X2) = H (X1) H (X2IX1)某一离散二维平稳信源X_P(x)0 1 211 4 1-36,9,4 一X1X2其联合概率分布p(X1X2)为:编程计算:1)联合嫡H(XX2)2)条件条 H (X2 | X1)3 ) 验证:H(X1X2) = H(X1)+H(X2|X1)H(X1) =1.5426; H(X2|X。=0.8717 H (X1

9、X2) -2.4144H (X1) H(X2 | X1) =2.4144%联合嫡的计算HXY=0;for i=1:size(b,1)for j=1:size(b,2)if b(i,j)0HXY=HXY-b(i,j).*log2(b(i,j);endendendHXY实验三:离散信道的平均互信息的计算1.【习题3.1】设信源 X X2 I1p(x)b6,0.4 一 通过一干扰信道,接收到符号为 Y=yi,y2,其信道矩阵为:一511p= 66317 4 1)求信源X中事件Xi和X2分别含有的自信息;2)收到消息y“j =1,2)后,获得的关于x(i =1,2)的信息量;3)求信源X和输出变量Y的

10、信息嫡;4)信道疑义度H (X |Y)和噪声嫡H (Y | X);5)接收到消息Y后获得的平均互信息;答案:1. I(x1) =0.737I(x2) =1.32192. I (x1; y1) =0.0589, I(x1;y2) = 0.263,I (x2;y1) =-0.0931,I(x2; y2) =0.32193. H(X) =0.971,H(Y) =0.72194. H(X |Y) =0.9635 H (Y | X) =0.71455. I (X;Y) =0.00742.二元信道的互信息与信源分布的关系有二元信源:-X 1=-01 11p(x)b 101有二元信道,其传递矩阵为:P =p

11、 p I 其中 p=0.2,即传递矩阵 P =,0.8 0.21| p 1p_p.2 0.8_编程实现下面题目:1)画出平均互信息I(X;Y)随信源分布6的关系曲线,并求出最大平均互信息验证:信道容量C (最大平均互信息)满足:C =1 - H (p)2)验证:信道容量C (最大平均互信息)满足:C=1-H(p)实验四:离散信道及其信道容量一、实验设备:1、计算机2、软件:Matlab二、实验目的:1、了解信道传输概率的状态图和信道转移概率矩阵特点;2、了解什么是信道容量和最佳输入概率分布;3、列出计算信道容量和平均互信息的计算步骤;4、熟悉Matlab编程;三、实验内容:1、写出几种特殊离散

12、信道的信道容量计算的Matlab程序。2、将程序在计算机上仿真实现,验证程序的正确性。3、完成习题四、实验报告要求简要总结离散信道的特点及信道容量的计算,并写出具体仿真步骤。习题:计算下面几类信道的信道容量 C:1无损信道1/2 1/2 000 0P = 00 3/ 5 3/10 1/10 0 C = l o g00000 1 j答案:c=1.5852无噪有损信道-10P = 10-1J答案:c=1C = log s3对称离散信道【例1111口 3 3 6 6P11116 6 3 3答案:c=0.08173.6】C =logs-H(p/|l Ps)4 一般信道,其信道矩阵为:一111118求1

13、)其信道容量C , 2)最佳输入分布 p(ai)答案:4. C =0.3109,p(a) =(0.1702,0.3955,0.4343)beta =-1.9732-1.1610-0.8927pb =0.20530.36050.4342pa =0.17020.39550.4343解:一般信道信道容量计算步骤:ss 工 p(bj 份严=工 p(bj | a)10gp(bj |a)求 吃j 1j 1s ;(2) c = log 2j 1(3) p(bj)=20 求 p(bj)r(4)p(bj) = X p(ai )p(bj | ai)求 p(a。i 1实验五:连续信源的差嫡与波形信道的信道容量一、实

14、验设备:1、计算机2、软件:Matlab二、实验目的:1、熟悉连续信源的特点;2、学习仿真连续信源的方法3、学习连续信源平均信息量的计算方法4、熟悉Matlab编程;三、实验内容:1、写出计算连续信源平均信息量的 Matlab程序。2、将程序在计算机上仿真实现,验证程序的正确性。3、完成习题并写出具体实现步骤。四、实验报告要求简要总结连续信源的特点及连续信源平均信息量的计算。知识点:Matlab符号运算1、定义符号:syms x定义表达式里面的变量2、定义函数:p=1/sqrt(2*pi*uA2)*exp(-(x-m)A2/(2*uA2);3、积分: int(f, x, -inf, inf);

15、求表达式f的对符号变量x的在负无穷到正无穷范围内定积分int(f,v,a,b)求表达式f的对符号变量v的在(a,b)范围内定积分例题:求x2 -1I =22 dx,(x2 -2x 2)2syms xf=(xA2+1)/(xA2-2*x+2)A2;I=int(f)4、符号运算中的运算符 (1)基本运算符符号矩阵:符号数组:”.*,”./,”“, ”.吩别实现符号数组的乘、除、求哥,即数组间元素 与元素的运算。没有log2和log10,其余与数值运算相同(2)关系运算符运算符“二=5、连续信源的差嫡与波形信道的信道容量:h(x) = - -R p(x)log p(x)dxS c = Blog(1

16、N)练习:、计算下面几类信源的差嫡:1均匀分布连续信源p(x) = b -a0(a三x三b)(x b, x : a)其中 b =8,a =4syms x, a=4;b=8;p=1/(b-a);f=P*(log (p)/10g(2); hx=-int(f,x,a,b); hx=double(hx);hx(x - m)2)2-22高斯信源,、1,p(x) -2 exp(-2;其中 m = 3,二2 = 4 3指数分布信源【习题4.2】p(x) = he手(x 之 0;九 0)其中 =1/44拉普拉斯概率分布信源【习题 4.2】p(x)=;九产其中,=1/4(-二二 x :二二;. 0)解答:均匀分

17、布信源的差嫡为:h =log(b -a) =2高斯分布信源的差嫡为:h = - log(2 necr2) = 3.04712指数分布信源的差嫡为:h = log( e) 3 3.4427九拉普拉斯分布信源的差嫡为:h =log( 2e) = 4.4427九二、波形信道的信道容量实验目的:掌握香农公式,即信息传输率、带宽、信噪比的关系c =wiog(i P4【习题4.18】设在平均功率受限高斯加性波形信道中,信道带宽为3kHz,又设(信号功率+噪声功率)/噪声功率=10dB。(即101g(1 +)=10dB ,其中lg是以10为底 Pn的对数)。1)试计算该信道传送的最大信息率(单位时间);2)

18、若信噪比降为5dB,要达到相同的最大信息传输率,信道带宽应是多少?答案:1 .最大信息传输率 R =9965.784t/s)2 .带宽应为: W = 4.8439e+003实验六:无失真信源编码与保真度准则下的信源编码一、实验设备:1、计算机2、软件:Matlab二、实验目的:1、理解无失真信源编码与保真度准则下的信源编码的物理意义;2、理解无失真信源编码与保真度准则下的信源编码的区别;3、熟悉Matlab编程;三、实验内容:1、学习应用信源编码定理解决实际问题。2、将程序在计算机上仿真实现,验证程序的正确性。3、完成习题并写出具体实现步骤。四、实验报告要求写出习题实现的具体步骤习题:1、(习

19、题5.4)若有一信源,1S 1= 4 |p(s);1 ,每秒钟发出2.66个信源符号52、(习题7.1 ) 一个四元对称信源U /O, 1p(u)工V=0,1,2,3,其失真矩阵为D =101111011110求 D max 和 D min。将此信源的输出符号送入某一个二元信道中进行传输 (假设信道是无噪无损的) 而信道每秒钟只传递两个二元符号。试问信源不通过编码能否直接与信道连接? 若通过适当编码能否在此信道中进行无失真传输?若能连接,试说明如何编码并说明原因。1,2,3111 ,接收符号为4441实验七:有噪信道编码定理一、实验设备:1、计算机2、软件:Matlab二、实验目的:1、理解有

20、噪信道编码定理的物理意义;2、熟悉Matlab编程;三、实验内容:1、学习应用有噪信道编码定理解决实际问题。2、将程序在计算机上仿真实现,验证程序的正确性。3、完成习题并写出具体实现步骤。四、实验报告要求写出习题实现的具体步骤。习题:1112361、(习题6.1)设有一离散信道,其信道传递矩阵为:21 1 ,并设623111 36211P(X1)=1, P(X2)= P(X3)=1,试分别按最小错误概率准则与最大似然译码准则确 24定译码规则,并计算相应的平均错误概率。实验八、九:无失真的信源编码(Huffman、香农-费诺-埃利斯编码编码)一、实验设备:1、计算机2、软件:Matlab二、实

21、验目的:1、掌握无失真的信源编码的基本原理;2、熟练掌握Huffman以及香农-费诺-埃利斯编码的方法步骤;三、实验内容:1、根据Huffman编码的方法步骤,用 Matlab编写二元Huffman编码的程2、用习题1验证程序的正确性。3、编写程序实现香农-费诺-埃利斯编码,并完成习题。四、实验报告要求1、分析给出的二元Huffman编码的Matlab源程序的局限性,考虑如何改进。2、写出习题实现具体步骤。源程序:function h,l=huffman(p)if length(find(p10e-10,error(Not a prob.vector,components do not add

22、 up to 1)endn=length(p);q=p;m=zeros(n-1,n);for i=1:n-1q,l=sort(q);m(i,:尸l(1:n-i+1),zeros(1,i-1);q=q(1)+q(2),q(3:n),1;endfor i=1:n-1c(i,:)=blanks(n*n);endc(n-1,n)=0;c(n-1,2*n)=1;for i=2:n-1c(n-i,1:n-1)=c(n-i+1,n*(find(m(n-i+1,:)=1)-(n-2):n*(find(m(n-i+1,:)=1);c(n-i,n)=0;c(n-i,n+1:2*n-1)=c(n-i,1:n-1);

23、c(n-i,2*n)=1;for j=1:i-1c(n-i,(j+1)*n+1:(j+2)*n)=c(n-i+1,.n*(find(m(n-i+1,:)=j+1)-1)+1:n*find(m(n-i+1,:)=j+1);endendfor i=1:nh(i,1:n)=c(1,n*(find(m(1,:)=i)-1)+1:find(m(1,:)=i)*n);l1(i)=length(find(abs(h(i,:)=32);endl=sum(p.*l1);习题:1、某一离散信源概率分布:p=1/2,1/4,1/8,1/16,1/16求信源的嫡,并对该信源进行二元哈夫曼编码,得到码字和平均码长以及编

24、码效率。飞飞 S2 S3 S4 I2、设一离散无记忆信源 ,(s)=;y11 y对其进行香农-费诺-埃利斯编码,并求平均码长及编码效率。答案:S1s2S3s4 = (001,10,1101,1111), L = 2.75(二元码/信源符号)香农-费诺-埃利斯编码步骤: kJ 11) F(S) =F(aJ = P(aJ 二 P(aQ id2c、1、,2)l(ak) = log(-) +1 P(ak)3) Wk取F (S)的二进制小数的小数点 后l(ak)作为ak所对应的码字 麻码字,编码过程实验十 信道的纠错编码(线性分组码)一、实验设备:1、计算机2、软件:Matlab二、实验目的:通过线性分

25、组码的实验,进一步加深对线性分组码编码理论的理解。三、实验内容:1、对线性分组码编码规则进行验证。2、对译码数据输出进行验证。四、实验报告要求1 、完成例题,并写出具体实现步骤。2 、分析整理实验数据。例题:已知(7, 3)码的生成矩阵为 G=1 0 0 1 1 1 0; 0 1 0 0 1 1 1; 0 0 1 1 1 0 1,列出 所有许用码组,并求监督矩阵,检验该码的纠错能力。源程序:%线性分组码编码器及译码器%可实现循环码编译% Purpose:% Liner encoding and decodingfunction linearcoding% Define variables:%

26、G生成矩阵% u编码输出% input_nk输入序列% input_C纠错输出码序列% R信道输出码% H校验矩阵% e差错图案% s伴随式%信道编码input_nk=input(enter the symbol:); % input_nk 输入序列(输入信息位)G=input(input G:); % G 生成矩阵c,d=size(G); %求矩阵的行、列数O=G(:,1:c);Q=inv(O); %生成 o 的逆矩阵G=Q*G;G=abs(rem(G,2); % abs 函数可以求实数的绝对值P=G(:,c+1:d);a=d;b=c;if(rem(length(input_nk),b)=0

27、)input_nk=input_nk,zeros(1,b-rem(length(input_nk),b);endn=length(input_nk)/b;u=zeros(1,n);j=1;for i=1:b:n*bfor p=1:1:asum=0;for q=1:1:bsum=input_nk(1,q+i-1)*G(q,p)+sum;endu(j)=rem(sum,2);j=j+1;endend%信道纠错译码R=input(input R:);% R 信道输出码即接收码字H=P,eye(a-b) ;F=H; % H 校验矩阵if(rem(length(R),a)=0)R=R,zeros(1,a

28、-rem(length(R),a);endn=length(R)/a;s=zeros(1,n*(a-b); % s 伴随式q=1;for i=1:a:n*afor j=1:1:(a-b)sum=0;for k=1:1:asum=R(1,k+i-1)*F(k,j)+sum;ends(q)=rem(sum,2);q=q+1;endende=zeros(1,length(R);l=zeros(1,n*(a-b);z=1;for k=1:(a-b):n*(a-b)for i=1:1:ae(1,z)=1;for j=1:1:(a-b)if(F(iJ)=1)l(j)=s(j+k-1);else l(j)=

29、1-s(j+k-1);end;e(1,z)=l(j)*e(1,z);endz=z+1;endendfor v=1:1:length(R)input_C(1,v)=rem(R(1,v)+e(1,v),2);end%结果输出disp(the output code:);disp(u);disp(the corrected code:);disp(input_C); % input_C 纠错输出码序列习题:10001111、若(7, 4)码的生成矩阵为G1001010100110011101)写出(7, 4)码的全部码元;(注意考虑如果G不是典型生成矩阵如何?编程 应体现出如何把生成矩阵典型化)2)求校验矩阵;3)判断B(0101101)是否为许用码字;4)判断该码的纠检错能力;5)求该码的对偶码。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1