第五章 信道编码 习题解答

第五章 信道编码 习题解答
第五章 信道编码 习题解答

第五章 信道编码 习题解答

1.写出与10011的汉明距离为3的所有码字。

解:共有10个:01111,00101,00000,01010,01001,00110,11101,10100,11000,11110。

2. 已知码字集合的最小码距为d ,问利用该组码字可以纠正几个错误可以发现几个错误请写出一般关系式。 解:根据公式:

(1)1d e ≥+ 可发现e 个错。 (2)21d t ≥+ 可纠正t 个错。

得出规律:

(1)1d = ,则不能发现错及纠错。 (2)d 为奇数:可纠

1

2

d -个码元错或发现1d -个码元错。 (3)d 为偶数:可纠

12

d

-个码元错,或最多发现1d -个码元错。 (4)码距越大,纠、检错能力越强。

3.试计算(8,7)奇偶校验码漏检概率和编码效率。已知码元错误概率为4

10e p -=。 解:由于4

10e p -=较小,可只计算错两个码元(忽略错4或6个码元)的情况:

228788!

10 2.8106!2!

e p C p --==

?=?? 7

87.5%8

η=

=

4.已知信道的误码率4

10e p -=,若采用“五三”定比码,问这时系统的等效(实际)误码率为多少 解:由于4

10e p -=较小,可只计算错两个码元的情况

11252112

83232(1)610e e e p C C p p C C p --=-≈=?

5.求000000,110110,011101,101011四个汉明码字的汉明距离,并据此求出校正错误用的校验表。 解:先求出码字间距离:

000000 110110 011101 101011

000000 4 4 4 110110 4 4 4 011101 4 4 4 101011 4 4 4 汉明距离为4,可纠一位错。

由于一个码字共有6个码元,根据公式:21617r

n ≥+=+= 得 3r = 即每个码字应有3位监督码元,6-3=3位信息码元。

直观地写出各码字:123456

000000110110011101101011

x x x x x x

令456x x x 为监督码元,观察规律则可写出监督方程:4135236

12x x x x x x x x x

=⊕??

=⊕??=⊕?

从而写出校验子方程:113422353126s x x x s x x x s x x x ***

***

***?=⊕⊕?=⊕⊕??=⊕⊕?

列出校验表:

6.写出信息位6k =,且能纠正1个错的汉明码。

解:汉明码的信息码元为六个,即:6k =。监督码元数r 应符合下式:217r

k r r ≥++=+

取满足上式的最小r :4r =,即为(10,6)汉明码。其码字由10个码元构成:12345678910x x x x x x x x x x 。 先设计校验表(不是唯一的):

根据校验表写出校验子方程:****

11237****21458

****

32469****

4

35610s x x x x s x x x x s x x x x s x x x x ?=⊕⊕⊕?=⊕⊕⊕??=⊕⊕⊕??=⊕⊕⊕? 写出监督方程,即监督码元与信息码元之间的关系:7123

8145

924610356

x x x x x x x x x x x x x x x x =⊕⊕??=⊕⊕??=⊕⊕??=⊕⊕?

根据监督方程编码,写出(10,6)汉明码码字(大部分略,同学们可自行完成):

7. 已知纠正一位错的(7,4)汉明码的生成矩阵为:10001100

100101[]00100110

001111G ????

?

?=??

??

??

1)请写出其监督矩阵; 2)请写出其校验表;

3)对信源序列1110,1010,0110,...进行编码;

4)对接收端接收到的码字序列0011101,1100100,1011001,…进行译码。

解:1)监督矩阵:右边3×3是单位阵,左边3×4子阵是生成矩阵右边4×3子阵的转置:

1101100[]10110100111001H ????=??????

2)校验表:每个校验子列向量对应为监督矩阵的列向量,增加一个无差错列向量000。

3)根据[][][]C X G =?编码:123456712341

0001100

100101[][]00100110

001111x x x x x x x x x x x ????

?

?=??

??

??

或者用由监督矩阵得到的监督方程编码:

1234567

1101100[]10110100111001x x x x x x x H ????=??????

5124

61347234

x x x x x x x x x x x x =⊕⊕??

?=⊕⊕??=⊕⊕?

编码得:1110000,1010101,0110110,…

4)根据校验子方程(校验子方程是监督方程左右两边异或):

****

11245****21346****

3

2347s x x x x s x x x x s x x x x ?=⊕⊕⊕?=⊕⊕⊕??=⊕⊕⊕?

0011101 [S]=[001]T

x 7*

错 0011100 0011 1100100 [S]=[111]T

x 4*

错 1101100 1101 1011001 [S]=[011]T

x 3*错 1001001

1001

译码得:0011,1101,1001,…

8. (7,4)循环码的生成多项式为:3

2

()1g x x x =++ 1)写出其监督矩阵和生成矩阵;

2)对信息码元0110,1001进行编码,分别写出它们的系统码和非系统码; 3)对接收端接收到的系统码字0101111,0011100进行译码。

解:1)生成矩阵:生成多项式系数降幂排列:1101,补零成n 位的行向量:1101000,循环移位成k 行

的矩阵: 47

11010000110100[]00110100001101G ?????

??=??

??

??

监督矩阵:校验多项式系数升幂排列:10111,补零成n 位的行向量:1011100,循环移位成r 行的矩阵:

37

1011100[]01011100010111H ?????=??????

2)根据[][][]C X G =?编码:

11

1010000

110100[C ][0110]00110100

001101????

?

?=??

??

??

得非系统码字:0101110,1100101

根据多项式除法(长除法见第9题解答)编码得系统码字:0110100,1001011,具体方法如下: 0110 m (x ) = x 2

+x x r m (x ) = x 5+x

4

5422

3232

()()11

r x m x x x x x g x x x x x +==+++++ 542

()()()r C x x m x r x x x x =+=++ 0110100

1001 m (x ) = x 3

+1 x r m (x ) = x 6

+x

3

6332

3232()11()11

r x m x x x x x x x g x x x x x ++==++++++++

63()()()1r C x x m x r x x x x =+=+++ 1001011

3)生成多项式为g (x ) = x 3

+x 2

+1的(7,4)循环码校验表(获取方法见第9题解答)

0101111写成多项式,除以生成多项式得余式1, [S]=[001]T

,查表知C 0*错,即0101111

0101110,去尾部3位监督码元,得信息码元0101 。

5322

3232+11+11

x x x x x x x x x x +++=+++++

0011100写成多项式,除以生成多项式得余式x 2

+x , [S]=[110]T

,查表知C 6*错,即0011100

1011100,去尾部3位监督码元,得信息码元1011。

9. 已知(7,4)循环码的生成多项式为:32

()1g x x x =++

当收到一循环码字为0010011时,根据校验子判断有无错误哪一位错了 解:32

()1g x x x =++

对信息码元0001用多项式除法编码得循环码字:0001101。

将0001101错成0001100,除以生成多项式得余式1,s 2s 1s 0=001表示C 0*

错。 将0001101错成0001111,除以生成多项式得余式x ,s 2s 1s 0=010表示C 1*错。 将0001101错成0001001,除以生成多项式得余式x 2

,s 2s 1s 0=100表示C 2*错。 ……

将0001101错成1001101,除以生成多项式得余式x 2

+x ,s 2s 1s 0=110表示C 6*

错。 写出校验表:

当收到一循环码字0010011时其对应的多项式为: 4

1x x ++。

校验子

无错 C 0*

C 1*

C 2*

C 3*

C 4*

C 5*

C 6*

s 2 0 0 0 1 1 1 0 1 s 1 0 0 1 0 0 1 1 1 s 0

1

1

1

1

校验子

无错 C 0*

C 1*

C 2*

C 3*

C 4*

C 5*

C 6*

s 2 0 0 0 1 1 1 0 1 s 1 0 0 1 0 0 1 1 1 s 0

1

1

1

1

列竖式做多项式除法(以下左式):

32433

322

1

11

x x x x x x

x x x x ++++++++

32433

2

321

11

x x x x x x

x x x x +++++++++

得余式为2

x ,s 2s 1s 0=100,表示C 2*

错,即右起第三位错,正确的码字应为0010111,其对应的多项式为:

421x x x +++。将此多项式进行验证(上式右式),余式为0,可见正确。

10. 已知(3,1,3)卷积码的监督方程为:,-1,-2a i i i b i

i i p m m p m m =+??=+?

或者:已知(3,1,3)卷积码的基本监督矩阵:0[]H ??

=??

??

0 0 1 0 0 1 1 01 0 0 0 0 0 1 0 1 对信源序列010110…进行编码。

解:对于(3,1,3)卷积码,若输入信息码元: m i -2 , m i -1, m i , …,则编码后码字:

m i -2, p a,i -2, p b,i -2, m i -1, p a,i -1, p b,i -1, m i , p a,i , p b,i , …

根据监督方程编码得:000,111,010,110,101,011, (默认初始化状态为0)

11. 已知(4,3,3)卷积码的基本监督矩阵:[][]110010101111H =,

对输入信息码元:…进行编码。

解:根据k = 3分组,计算1位监督码元置于后,得卷积码字:1010,1001,1100,1111,… (提示:编码后的码字形式为:*

*

*

012034516782a a a p a a a p a a a p 根据监督矩阵知其计算方法,前三个码字计算为:

*0012p a a a =⊕⊕

*102345 p a a a a a =⊕⊕⊕⊕

*20135678 p a a a a a a a =⊕⊕⊕⊕⊕⊕

第四个码字起,移动对应位置使p 2*

为当前要求的监督码元,计算为:

*20135678 p a a a a a a a =⊕⊕⊕⊕⊕⊕)

作业:1、3、4、7、8、10、11

信道编码实验指导书

HDB3编解码实验 一、实验目的 1、熟悉HDB3编解码的原理; 2、观察HBD3码编码和解码的结果,结合原理进一步理解编解码的过程; 3、学习通过软件编程实现HDB3编解码实验 二、实验电路及工作原理 1、HDB3码简介 CCITT建议,HDB3码的全称是三阶高密度双极性码,为PCM系统欧洲系列时分多路复接一次群2.048Mbit/s,二次群8.488Mbit/s,三次群34.368Mbit/s的线路接口型。它将信息符号‘1’变换成“+1”或“-1”的线路码,将连“0”数限制为小于等于3,当信息符号出现4个连“0”时用特定码取代。用于HDB3码将连“0”减少到至多3个,所以它的功率谱与信源统计无关,这对于接收端定时提取十分有利。此项实验问软件编程实现。 数字基带信号的传输是数字通信系统的重要组成部分之一。在数字通信中,有些场合可不经过载波调制和解调过程,而对基带信号进行直接传输。为使基带信号能适合在基带信道中传输,通常要经过基带信号变化,这种变化过程事实上就是编码过程。于是,出现了各种各样常用码型。不同码型有不同的特点和不同的用途。 作为传输用的基带信号归纳起来有如下要求:1 希望将原始信息符号编制成适合与传输用的码型;2 对所选码型的电波形,希望它适宜在信道中传输。可进行基带传输的码型较多。 AMI码 AMI码称为传号交替反转码。其编码规则为代码中的0仍为传输码0,而把代码中1交替地变化为传输码的+1-1+1-1,、、、。举例如下。 消息代码:0 1 1 1 0 0 1 0 、、、 AMI 码:0 +1 -1 +1 0 0 -1 0 、、、或 0 -1 +1 -1 0 0 +1 0 、、、 AMI码的特点: 无直流成分且低频成分很小,因而在信道传输中不易造成信号失真。 编码电路简单,便于观察误码状况。 由于它可能出现长的连0串,因而不利于接受端的定时信号的提取。 HDB3码 这种码型在数字通信中用得很多,HDB3码是AMI码的改进型,称为三阶高密度双极性码。它克服了AMI码的长连0传现象。 2、HDB3编码的原理 先将二进制序列中的“0”码变成“0”而把序列的“1”交替的变换为+1、-1。再检

汉明码编码实验报告

重庆工程学院 电子信息学院 实验报告 课程名称:_ 数据通信原理开课学期:__ 2015-2016/02_ 院(部): 电子信息学院开课实验室:实训楼512 学生姓名: 舒清清梁小凤专业班级: 1491003 学号: 149100308 149100305

重庆工程学院学生实验报告 课程名 称 数据通信原理实验项目名称汉明码编译实验 开课院系电子信息学院实验日期 2016年5月7 日 学生姓名舒清清 梁小凤 学号 149100308 149100305 专业班级网络工程三班 指导教 师 余方能实验成绩 教师评语: 教师签字:批改时间:

一、实验目的和要求 1、了解信道编码在通信系统中的重要性。 2、掌握汉明码编译码的原理。 3、掌握汉明码检错纠错原理。 4、理解编码码距的意义。 二、实验内容和原理 汉明码编码过程:数字终端的信号经过串并变换后,进行分组,分组后的数据再经过汉明码编码,数据由4bit变为7bit。 三、主要仪器设备 1、主控&信号源、6号、2号模块各一块 2、双踪示波器一台 3连接线若干

四、实验操作方法和步骤 1、关电,按表格所示进行连线 2、开电,设置主控菜单,选择【主菜单】→【通信原理】→【汉明码】。 (1)将2号模块的拨码开关S12#拨为10100000,拨码开关S22#、S32#、S42#均拨为00000000;(2)将6号模块的拨码开关S16#拨为0001,即编码方式为汉明码。开关S36#拨为0000,即无错模式。按下6号模块S2系统复位键。 3、此时系统初始状态为:2号模块提供32K编码输入数据,6号模块进行汉明编译码,无差错插入模式。 4、实验操作及波形观测。 (1)用示波器观测6号模块TH5处编码输出波形。 (2)设置2号模块拨码开关S1前四位,观测编码输出并填入下表中: 五、实验记录与处理(数据、图表、计算等) 校对输入0000,编码0000000 输入0001,编码0001011 输入0010,编码0010101 输入0011,编码0011110 输入0100,编码0100110 输入0101,编码0101101 输入0110,编码0110011输入0111,编码0111000

香农编码实验报告

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

目录 一、香农编码 (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 -=∑

第五章 信道编码 习题解答

第五章 信道编码 习题解答 1.写出与10011的汉明距离为3的所有码字。 解:共有10个:01111,00101,00000,01010,01001,00110,11101,10100,11000,11110。 2. 已知码字集合的最小码距为d ,问利用该组码字可以纠正几个错误可以发现几个错误请写出一般关系式。 解:根据公式: (1)1d e ≥+ 可发现e 个错。 (2)21d t ≥+ 可纠正t 个错。 得出规律: (1)1d = ,则不能发现错及纠错。 (2)d 为奇数:可纠 1 2 d -个码元错或发现1d -个码元错。 (3)d 为偶数:可纠 12 d -个码元错,或最多发现1d -个码元错。 (4)码距越大,纠、检错能力越强。 3.试计算(8,7)奇偶校验码漏检概率和编码效率。已知码元错误概率为4 10e p -=。 解:由于4 10e p -=较小,可只计算错两个码元(忽略错4或6个码元)的情况: 228788! 10 2.8106!2! e p C p --== ?=?? 7 87.5%8 η= = 4.已知信道的误码率4 10e p -=,若采用“五三”定比码,问这时系统的等效(实际)误码率为多少 解:由于4 10e p -=较小,可只计算错两个码元的情况 11252112 83232(1)610e e e p C C p p C C p --=-≈=?

5.求000000,110110,011101,101011四个汉明码字的汉明距离,并据此求出校正错误用的校验表。 解:先求出码字间距离: 000000 110110 011101 101011 000000 4 4 4 110110 4 4 4 011101 4 4 4 101011 4 4 4 汉明距离为4,可纠一位错。 由于一个码字共有6个码元,根据公式:21617r n ≥+=+= 得 3r = 即每个码字应有3位监督码元,6-3=3位信息码元。 直观地写出各码字:123456 000000110110011101101011 x x x x x x 令456x x x 为监督码元,观察规律则可写出监督方程:4135236 12x x x x x x x x x =⊕?? =⊕??=⊕? 从而写出校验子方程:113422353126s x x x s x x x s x x x *** *** ***?=⊕⊕?=⊕⊕??=⊕⊕? 列出校验表: 6.写出信息位6k =,且能纠正1个错的汉明码。 解:汉明码的信息码元为六个,即:6k =。监督码元数r 应符合下式:217r k r r ≥++=+

《移动通信》实验:信道编解码

《移动通信》实验:信道编解码 班级:学号:姓名: 一、实验名称:信道编解码 时间:2018.05.09、2018.05.11 地点:E-513、E-412 指导老师:胡倩彭祯 二、实验目的 通过本次试验,了解信道编码的基本原理,加深对奇偶校验码、汉明码等算法的理解。 三、相关原理 奇偶监督码分为技术监督码和偶数监督码两种,两者原理相同,本实验采用偶监督码。在偶数监督码中,无论信息位多少,监督位只有1位,它使码组中“1”的数目为偶数。在接收端,求“模2和”,若结果为1,则存在错码。 汉明码有3位监督码 S1=a6⊕a5⊕a4⊕a2 S2= a6⊕a5⊕a3⊕a1 S3= a6⊕a4⊕a3⊕a0 在发送端编码是,信息位a6、a5、a4的值取决于输入信号,因此他们是随机的。 接收端收到每个码组后,先计算出S1、S2、S3,再按照表判断错码情况。 四、源程序及运行结果 偶监督码: #include #include #include #include

#include using namespace std; string a[100]={"0"}; int k=0; int num(string m[]) { int j=0; for(int i=0;i<100;i++) { if(a[i]=="1") j++; } return j; } void Error(string m[]) { srand(time(0)); int x; x=rand()%k; if(x!=k) { if(m[x]=="1") m[x]="0"; else m[x]="1"; } Sleep(1000);

卷积码实验报告

苏州科技大学天平学院电子与信息工程学院 信道编码课程设计报告 课设名称卷积码编译及译码仿真 学生姓名圣鑫 学号1430119232 同组人周妍智 专业班级通信1422 指导教师潘欣欲 一、实验名称 基于MAATLAB的卷积码编码及译码仿真 二、实验目的 卷积码就是一种性能优越的信道编码。它的编码器与译码器都比较容易实现,同时它具有较强的纠错能力。随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。本实验简明地介绍了卷积码的编码原理与Viterbi译码原理。并在SIMULINK模块设计中,完成了对卷积码的编码与译码以及误比特统计整个过程的模块仿真。最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。经过仿真与实测,并对测试结果作了分析。 三、实验原理

1、卷积码编码原理 卷积码就是一种性能优越的信道编码,它的编码器与解码器都比较易于实现,同时还具有较强的纠错能力,这使得它的使用越来越广泛。卷积码一般表示为(n,k,K)的形式,即将 k个信息比特编码为 n 个比特的码组,K 为编码约束长度,说明编码过程中相互约束的码段个数。卷积码编码后的 n 各码元不经与当前组的 k 个信息比特有关,还与前 K-1 个输入组的信息比特有关。编码过程中相互关联的码元有 K*n 个。R=k/n 就是编码效率。编码效率与约束长度就是衡量卷积码的两个重要参数。典型的卷积码一般选 n,k 较小,K 值可取较大(>10),但以获得简单而高性能的卷积码。 卷积码的编码描述方式有很多种:冲激响应描述法、生成矩阵描述法、多项式乘积描述法、状态图描述,树图描述,网格图描述等。 2、卷积码Viterbi译码原理 卷积码概率译码的基本思路就是:以接收码流为基础,逐个计算它与其她所 有可能出现的、连续的网格图路径的距离,选出其中可能性最大的一条作为译码估值输出。概率最大在大多数场合可解释为距离最小,这种最小距离译码体现的正就是最大似然的准则。卷积码的最大似然译码与分组码的最大似然译码在原理上就是一样的,但实现方法上略有不同。主要区别在于:分组码就是孤立地求解单个码组的相似度,而卷积码就是求码字序列之间的相似度。基于网格图搜索的译码就是实现最大似然判决的重要方法与途径。用格图描述时,由于路径的汇聚消除了树状图中的多余度,译码过程中只需考虑整个路径集合中那些使似然函数最大的路径。如果在某一点上发现某条路径已不可能获得最大对数似然函数,就放弃这条路径,然后在剩下的“幸存”路径中重新选择路径。这样一直进行到最后第 L 级(L 为发送序列的长度)。由于这种方法较早地丢弃了那些不可能的路径,从而减轻了译码的工作量,Viterbi 译码正就是基于这种想法。对于(n, k, K )卷积码,其网格图中共 2kL 种状态。由网格图的前 K-1 条连续支路构成的路径互不相交,即最初 2k_1 条路径各不相同,当接收到第 K 条支路时,每条路径都有 2 条支路延伸到第 K 级上,而第 K 级上的每两条支路又都汇聚在一个节点上。在Viterbi译码算法中,把汇聚在每个节点上的两条路径的对数似然函数累加

信道编码实验

实验五信道编码实验 实验目的:1、学习并理解信道编码的根本目的、技术要求与基本目标等基本概念; 2、学习并理解信道编码的根本目的、技术要求与基本目标等基本概念;掌握线性分组码的物理涵义、数学基础及检纠错原理;掌握循环码的码型特点、检纠错能力、编译码方法及基本技术; 3、学会使用MATLAB工具检纠错模拟与分析。 实验仪器:MATLAB软件,PC机 实验原理(概括性文字叙述、主要公式、电路图等) 如果说信源编码的目的是为了提高信号传输的有效性的话,那么信道编码则是为了提高通信的可靠性而采取的一种编码策略。信道编码的核心基础是纠错编码理论,是在信息码后面附加上一些监督码,以便在接收端发现和纠正误码。 数字通信系统简化模型 编码信道:包括信道编码器、实际信道、信道译码器。 该模型是研究信道纠错编码和译码的模型,集中研究通信可靠性。 通信可靠性问题:消息通过信道传输的时候,如何选择编码方案来减少差错。首先与信道统计特性有关,其次与编码方法、译码方法也有关系。 信道是信号从信源传送到信宿的通路。 由于信道有干扰,使得传送的数据流(码流)中产生误码。 误码的处理技术有纠错、交织、线性内插等。 信道编码的目的是提高信息传输或通信的可靠性。

信道编码的任务是降低误码率,使系统具有一定的纠错能力和抗干扰能力,提高数据传输效率。 信道编码的过程是在源数据码流中加插一些码元,达到在接收端进行检错和纠错的目的。 在带宽固定的信道中,总的传送码率是固定的,由于信道编码增加了数据量,其结果只能是以降低传送有用信息码率为代价了。 降低误码率:在传输的信息码之中按一定规律产生一些附加数字,经信道传输,在传输中若码字出现错误,收端能利用编码规律发现码的内在相关性受到破坏,从而按一定的译码规则自动纠正或发现错误,降低误码率。 实验内容及数据处理: 利用MATLAB仿真二进制码在离散信道无记忆信道中传输产生的误码率,设传送二进制码“0”的概率P0=0.6,"1"的概率p1=1-p0。利用单极性基带信号传输,从判决输入端观测,用电平s0=0传输“0”,用电平s1=A传输“1”,信道中的噪声是加性的零均值高斯噪声,方差为柯西的平方,求在最佳门限电平判决下传输误码率Pe与A2/柯西平方下的曲线,每一个给定噪声方差下仿真传输序列长度为105bit,仿真程序代码如下: clear; s0=0;s1=5; p0=0.6;%信源概率 p1=1-p0; A2_over_sigma2_dB=-5:0.5:20;%仿真信噪比范围 A2_over_sigma2=10.^(A2_over_sigma2_dB./10); sigma2=s1^2./A2_over_sigma2; N=1e5; for k=1:length(sigma2) X=(randn(1,N)>p0); n=sqrt(sigma2(k)).*randn(1,N); xi=s1.*X+n; C_opt=(s0+s1)/2+sigma2(k)/(s1-s0)*log(p0./p1); y=(xi>C_opt); err(k)=(sum(X-y~=0))./N; end semilogy(A2_over_sigma2_dB,err,'o');hold on; for k=1:length(sigma2) C_opt=(s0+s1)./2+sigma2(k)./(s1-s0).*log(p0./p1); pe0=0.5-0.5*erf((C_opt-s0)/(sqrt(2*sigma2(k)))); pe1=0.5+0.5*erf((C_opt-s1)/(sqrt(2*sigma2(k))));

移动通信实验报告

实验一 m序列产生及特性分析实验 一、实验目得 1.了解m序列得性质与特点; 2。熟悉m序列得产生方法; 3.了解m序列得DSP或CPLD实现方法。 二、实验内容 1。熟悉m序列得产生方法; 2.测试m序列得波形; 三、实验原理 m序列就是最长线性反馈移存器序列得简称,就是伪随机序列得一种。它就是由带线性反馈得移存器产生得周期最长得一种序列。 m序列在一定得周期内具有自相关特性.它得自相关特性与白噪声得自相关特性相似。虽然它就是预先可知得,但性质上与随机序列具有相同得性质.比如:序列中“0”码与“1”码等抵及具有单峰自相关函数特性等。 五、实验步骤 1.观测现有得m序列。 打开移动实验箱电源,等待实验箱初始化完成.先按下“菜单”键,再按下数字键“1”,选择“一、伪随机序列”,出现得界面如下所示: ?再按下数字键“1"选择“1m序列产生”,则产生一个周期为15得m序列。 2。在测试点TP201测试输出得时钟,在测试点TP202测试输出得m序列。 1)在TP201观测时钟输出,在TP202观测产生得m序列波形。

图1-1 数据波形图

实验二 WALSH序列产生及特性分析实验 一.实验目得 1。了解Walsh序列得性质与特点; 2。熟悉Walsh序列得产生方法; 3.了解Walsh序列得DSP实现方法。 二.实验内容 1.熟悉Walsh序列得产生方法; 2.测试Walsh序列得波形; 三。实验原理 Walsh序列得基本概念 Walsh序列就是正交得扩频序列,就是根据Walsh函数集而产生.Walsh函数得取值为+1或者—1。图1-3—1展示了一个典型得8阶Walsh函数得波形W1。n阶Walsh函数表明在Walsh函数得周期T内,由n段Walsh函数组成.n阶得Walsh函数集有n个不同得Walsh函数,根据过零得次数,记为W0、W1、W2等等。 t 图2-1 Walsh函数 Walsh函数集得特点就是正交与归一化,正交就是同阶不同得Walsh函数相乘,在指定得区间积分,其结果为0;归一化就是两个相同得Walsh函数相乘,在指定得区间上积分,其平均值为1。 五、实验步骤 1。观测现有得Walsh序列波形 打开移动实验箱电源,等待实验箱初始化完成. 先按下“菜单"键,再按下数字键“1”,选择“一、伪随机序列”,出现得界面如下所示:

信息论基础与编码(第五章)

5-1 有一信源,它有六种可能的输出,其概率分布如下表所示,表中给出了对应的六种编码12345C C C C C 、、、、和6C 。 (1) 求这些码中哪些是唯一可译码; (2) 求哪些是非延长码(即时码); (3) 对所有唯一可译码求出其平均码长。 解:(1(2)1,3,6是即时码。 5-2证明若存在一个码长为12,,,q l l l ???的唯一可译码,则一定存在具有相同码长的即时码。 证明:由定理可知若存在一个码长为Lq L L ,,2,1 的唯一可译码,则必定满足kraft 不等式 ∑=-q i l i r 1 ≤1。 由定理44?可知若码长满足kraft 不等式,则一定存在这样码长的即时码。所以若存在码长Lq L L ,,2,1 的唯一可译码,则一定存在具有相同码长P (y=0)的即时码。 5-3设信源1 2 61 26()s s s S p p p P s ??? ?? ??=???? ??? ????,61 1i i p ==∑。将此信源编码成为r 元唯一可译变长码(即码符号集12{,,,}r X x x x =???),其对应的码长为(126,,,l l l ???)=(1,1,2,3,2,3),求r 值的最小下限。 解:要将此信源编码成为 r 元唯一可译变长码,其码字对应的码长 (l 1 ,l 2 ,l 3, l 4,l 5, l 6)=(1,1,2,3,2,3) 必须满足克拉夫特不等式,即 1 3232116 1 ≤+++++=------=-∑r r r r r r r i li

所以要满足 12 223 2≤++r r r ,其中 r 是大于或等于1的正整数。 可见,当r=1时,不能满足Kraft 不等式。 当r=2, 18 2 4222>++,不能满足 Kraft 。 当r=3, 127 262729232<=++,满足Kraft 。 所以,求得r 的最大值下限值等于3。 5-4设某城市有805门公务电话和60000门居民电话。作为系统工程师,你需要为这些用户分配电话号码。所有号码均是十进制数,且不考虑电话系统中0、1不可用在号码首位的限制。(提示:用异前缀码概念) (1)如果要求所有公务电话号码为3位长,所有居民电话号码等长,求居民号码长度1L 的最小值; (2)设城市分为A 、B 两个区,其中A 区有9000门电话,B 区有51000门电话。现进一步要求A 区的电话号码比B 区的短1位,试求A 区号码长度2L 的最小值。 解:(a) 805门电话要占用1000个3位数中的805个,即要占用首位为0~ 7的所有数字及以8为首的5个数字。因为要求居民电话号码等长, 以9为首的数字5位长可定义10 000个号码,6位长可定义100 000 个号码。所以min L 16=。 或由Craft 不等 式,有 8051060000101 31?+?≤--L 解得 L 1103 180******** 5488≥--?=-log ., 即 min L 16= (b) 在(a)的基础上,将80为首的数字用于最后5个公务电话,81~86 为首的6位数用于B 区51 000个号码,以9为首的5位数用于A 区9 000 个号码。所以,min L 25=。或 由Draft 不等式,有 80510 900010510001013 122?+?+?≤---+L L () 或 80510 900051000101013 12?++??≤---()L 解得L 210 3 18051090005100 4859≥--?+=-log . 即min L 25= 5-5求概率分布为)152,152,51,51,31(的信源的二元霍夫曼码。讨论此码对于概率分布为 )5 1 ,51,51,51,51(的信源也是最佳二元码。

实验七_信道编码仿真实现

实验七信道编码仿真实现 班级:08电子信息工程二班 实验人:马华臣 一、实验目的 理解信道编码的思想,掌握信道编码的编程实现原理及技术。 二、实验内容 1.随机产生二进制信源消息序列。 产生随机数的方法与前面类似,利用srand( (unsigned)time( NULL ) )和rand()函数模拟产生随机数。 2.利用信道编码方法进行编译码。 信道的编译码分三部分,即编码部分,信道模拟部分,译码部分。编码部分采用汉明编码。模拟信道,采用rand()函数随机确定产生差错的位置。译码部分,采用标准阵列表直接全表查找的方法译码。本程序实现的是对汉明(5,2)码的编码与译码(课本P362-363)。 生成矩阵为: G= 1 0 1 1 1 0 1 1 0 1 三、程序 //汉//汉明(5,2)码的编码与标准阵列译码/// ///////////////////////////// #include "stdio.h"

#include "math.h" #include"stdlib.h" #include "time.h" void main() { int aa[10000]; int i; int N; //////////////////////// int b[4][7]={{1,0,1,1,1},{0,1,1,0,1}};//定义生成矩阵 int y=0,s=0; int j,k,m,n; int a[4],q[7],rr[10000/2*5]; ////////////////////////// int p,u,D=0; int cc[2500],dd[2500],ee[2500]; int e[7][5]={{1,0,0,0,0},{0,1,0,0,0},{0,0,1,0,0},{0,0,0,1,0},{0,0,0,0,1}, {1,0,1,0,0},{1,0,0,0,1}};//定义错误图样 int w[10000/2*5]; int ww[10000/2]; printf("汉明(5,2)码的编码与标准阵列译码:\n"); printf("请输入你想产生的二进制个数(至少四个但不超过1万):"); scanf("%d",&N); //输入想产生的信源的个数 while(N<4) { printf("输入无效,请重新输入"); printf("请输入你想产生的二进制个数(至少四个):"); scanf("%d",&N); } printf("随机产生的二进制序列为:\n"); srand( (unsigned)time( NULL ) ); //产生一个随机序列,并把它放入a[]中for(i=0;i

labview-信道编码-李聪-11211060

《信道编码》实验报告 姓名李聪罗贵阳 学号11211060 11211015 指导教师姚冬萍 时间2014年5月14日

目录 一、线性分组码原理简介 (2) 1、编码 (2) 2、译码 (2) 二、(7,4)码Labview实现 (3) 一、读取图片产生数据流 (3) 二、汉明码编码 (4) 主要模块: (4) 三、BPSK调制 (4) 四、加性高斯白噪声信道传输 (5) 五、PSK解调 (5) 六、解码 (6) 七、重构图像 (7) 三、实验中遇到的问题 (8) 四、实验心得 (9) 五、参考文献: (10)

基于Labview 的(7,4)线性分组码仿真 一、线性分组码原理简介 1、编码 令(7,4)分组码的生成矩阵为矩阵G 如下: 根据生成矩阵,输出码字可按下式计算: 所以有: 信息位 冗余位 由以上关系可以得到(7,4)汉明码的全部码字如表1所示。 表1 (7,4)汉明码的全部码字 2、译码 (7,4)汉明码的译码将输入的7位汉明码翻译成4位的信息码,并且纠正其中可能出现 1000110010001100101110001101G ???? ? ?=?????? 3210321010001100100011(,,,)(,,,)00101110001101b a a a a G a a a a ?? ?? ? ?=?=???????231013210210 b a a a b a a a b a a a =⊕⊕=⊕⊕=⊕⊕63524130 b a b a b a b a ====

的一个错误。 由于生成矩阵G 已知且G = [I k Q ] ,可以得到矩阵Q 的值 110011111101T Q P ???? ? ?==?????? 又因为T P Q =则: 101111100111P ?? ??=?? ???? 而校验矩阵H 满足 H =[P I r ] ,则: 101110011100100111001H ?? ??=?? ???? 由校正子S = BH T =(A + E )H T = EH T 可以看出校正子S 与错误图样E 是一一对 应的。通过计算校正子得到对应的错误图样,根据式子A =B + E 便可得到纠正了一位可能错误的信息位,完成解码。 二、(7,4)码Labview 实现 一、读取图片产生数据流 LabVIEW 提供了一个能够读取JPEG 格式的图像并输出图像数据的模块。提供的还原像素图.vi 完成图像数据到一维二进制数据的转换(图像数据→十进制二维数组→二进制一维数组),输出信源比特流。

基于MATLAB的信道编码分析

题目:基于MATLAB的通信系统仿真 ———信道编码对通信系统性能的影响 专业:通信工程 姓名:崔校通 学号:201300484316 日期: 2016.12.22

目录 一、引言 (2) 二、信道编码理论 (2) 2.1、信道编码的目的 (2) 2.2、信道编码的实质 (3) 2.3、信道编码公式 (3) 三、线性分组码的编译码原理 (3) 3.1、线性分组码的基本概念 (3) 3.2、生成矩阵和校验矩阵 (4) 四、MATLAB仿真 (5) 4.1仿真 (5) 4.1.1原理说明 (5) 4.1.2各子函数说明 (5) 4.2仿真源程序 (5) 4.2.1信道编码 (5) 4.2.2信道解码 (6) 4.2.3交织 (6) 4.2.4解交织 (7) 4.2.5信道衰落 (7) 六程序及仿真图 (8) 1、file1:信道编码对通信系统性能的影响,有无信道编码的影响 (8) 2、file2:在周期性深衰落的信道条件下,交织对通信系统性能的影响 (10) 3、file3:在交织条件下,不同时长的周期性深衰落对系统性能影响的比较 (13)

基于MATLAB的通信系统仿真 ———信道编码对通信系统性能的影响摘要:简述信道编码理论,详细说明分组码的编译原理、实现方法及检错纠错能力,用MATLAB仿真有无信道编码条件下对通信系统性能的影响及信道编码在不同信道下对通信系统性能的影响,如AWGN信道和深衰落信道。 关键词:信道编码、分组码、MATLAB仿真、性能 一、引言 提高信息传输的有效性和可靠性始终是通信技术所追求的目标,而信道编码能够显著的提升信息传输的可靠性。1948年,信息论的奠基人C.E.Shannon在他的开创性论文“通信的数学理论”中,提出了著名的有噪信道编码定理.他指出:对任何信道,只要信息传输速率R不大于信道容量C, 就一定存在这样的编码方法:在采用最大似然译码时,其误码率可以任意小.该定理在理论上给出了对给定信道通过编码所能达到的编码增益的上限,并指出了为达到理论极限应采用的译码方法.在信道编码定理中,香农提出了实现最佳编码的三个基本条件:(1 )采用随机编译码方式; (2 )编码长度L→∞ , 即分组的码组长度无限; (3)译码采用最佳的最大似然译码算法。 二、信道编码理论 2.1、信道编码的目的 在数字通信系统中由于信道内存在加性噪声及信道传输特性不理想等容易造成码间串扰同时多用户干扰、多径传播和功率限制等也导致错误译码。为了确保系统的误比特率指标通常采用信道编码。信道编码是为了保证信息传输的可靠性、提高传输质量而设计的一种编码。它是在信息码中增加一定数量的多余码元,使码字具有一定的抗干扰能力。

第五章 信道编码 习题解答

第五章 信道编码 习题解答 1.写出与10011的汉明距离为3的所有码字。 解:共有10个:01111,00101,00000,01010,01001,00110,11101,10100,11000,11110。 2. 已知码字集合的最小码距为d ,问利用该组码字可以纠正几个错误可以发现几个错误请写出一般关系式。 解:根据公式: (1)1d e ≥+ 可发现e 个错。 (2)21d t ≥+ 可纠正t 个错。 得出规律: ? (1)1d = ,则不能发现错及纠错。 (2)d 为奇数:可纠 1 2 d -个码元错或发现1d -个码元错。 (3)d 为偶数:可纠 12 d -个码元错,或最多发现1d -个码元错。 (4)码距越大,纠、检错能力越强。 3.试计算(8,7)奇偶校验码漏检概率和编码效率。已知码元错误概率为4 10e p -=。 解:由于4 10e p -=较小,可只计算错两个码元(忽略错4或6个码元)的情况: 228788! 10 2.8106!2! e p C p --== ?=?? 7 87.5%8 η= = | 4.已知信道的误码率4 10e p -=,若采用“五三”定比码,问这时系统的等效(实际)误码率为多少 解:由于4 10e p -=较小,可只计算错两个码元的情况 11252112 83232(1)610e e e p C C p p C C p --=-≈=? 5.求000000,110110,011101,101011四个汉明码字的汉明距离,并据此求出校正错误用的校验表。

解:先求出码字间距离: 000000 110110 011101 101011 000000 4 4 4 110110 4 4 4 、 011101 4 4 4 101011 4 4 4 汉明距离为4,可纠一位错。 由于一个码字共有6个码元,根据公式:21617r n ≥+=+= 得 3r = 即每个码字应有3位监督码元,6-3=3位信息码元。 直观地写出各码字:123456 000001 101100111011 01011 x x x x x x 令456x x x 为监督码元,观察规律则可写出监督方程:4135236 12x x x x x x x x x =⊕?? =⊕??=⊕? 从而写出校验子方程:113422353126s x x x s x x x s x x x *** *** ***?=⊕⊕?=⊕⊕??=⊕⊕? 列出校验表: — 6.写出信息位6k =,且能纠正1个错的汉明码。 解:汉明码的信息码元为六个,即:6k =。监督码元数r 应符合下式:217r k r r ≥++=+ 取满足上式的最小r :4r =,即为(10,6)汉明码。其码字由10个码元构成:12345678910x x x x x x x x x x 。 先设计校验表(不是唯一的):

CRC编码实验实验报告

实验三 CRC编码实验实验报告 班级:通信162班 姓名:李浩坤学号:163977 实验名称:CRC编码实验实验日期:6.7 一. 实验目的 1、复习matlab的基本编写方法。 2、学习CRC编码基本流程, 学会调试循环冗余校验码编码程序。 3、根据给出的资料,掌握CRC校验码的编码原理。 二. 实验原理及内容 原理: 1.CRC码简介: 循环冗余码校验英文名称为Cyclical Redundancy Check,简称CRC,它是利用除法及余数的原理来作错误侦测(Error Detecting)的。实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误。 2.循环冗余校验码(CRC)的基本原理: 在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式 G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。 几个需要提前了解的基本概念: 1)、多项式与二进制数码 多项式和二进制数有直接对应关系:x的最高幂次对应二进制数的最高位,以下各位对应多项式的各幂次,有此幂次项对应1,无此幂次项对应0。可以看出:x的最高幂次为R,转换成对应的二进制数有R+1位。 多项式包括生成多项式G(x)和信息多项式C(x)。 如生成多项式为G(x)=x^4+x^3+x+1,可转换为二进制数码11011。 而发送信息位 1111,可转换为数据多项式为C(x)=x^3+x^2+x+1。 2)、生成多项式 是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不变。 在发送方,利用生成多项式对信息多项式做模2除生成校验码。在接受方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。 应满足以下条件: a、生成多项式的最高位和最低位必须为1。 b、当被传送信息(CRC码)任何一位发生错误时,被生成多项式做模2除后应该使余数不为0。 c、不同位发生错误时,应该使余数不同。 d、对余数继续做模2除,应使余数循环。 3)、模2除(按位除) 模2除做法与算术除法类似,但每一位除(减)的结果不影响其它位,即不向上一位借位。所以实际上就是异或。然后再移位移位做下一位的模2减。步骤如下: a、用除数对被除数最高几位做模2减,没有借位。 b、除数右移一位,若余数最高位为1,商为1,并对余数做模2减。若余数最高位为0,商为0,除数继续右移一位。 c、一直做到余数的位数小于除数时,该余数就是最终余数。 三. 实验步骤 1.了解crc编码原理,分析理解检验crc程序的含义。 2.运行mycrc编码程序,观察结果,计算验证程序是否正确。 3.完成练习题。

信道编码概念小结

1 、信道编码定理: 对任一信道,一定存在编码方法,可以以任意小的差错率传送速率 小于信道容量的信息。即,基于编码技术的无差错传输条件为:R 2、编码的实质—利用冗余降低差错概率 3、信道编码的基本思想:通过对信息码元序列作某种变换,即增加 一定数量的冗余码元,使原来彼此相互独立、没有关联的信息码元, 经过变换后产生某种规律性或相关性,从而在接收端可根据这种规律 性来检查、纠正接收序列中的差错。b5E2RGbCAP 4、随机错误:信道传输中,信息序列各码元发生的出错事件彼此独立,即每个码元独立的按一定的概率发生差错。p1EanqFDPw 只存在随机错误的信道称为无记忆信道<随机信道),用信道转移概 率来描述。例如,二进制对称信道BSC和离散无记忆信道DMCDXDiTa9E3d 5、突发错误:噪声对各传输码元的影响不是独立的,从而导致差错 是一连串出现的。 例如移动通信中信号在某一段时间内发生衰落,造成一串差错;光 盘上的一条划痕等等。 存在突发错误的信道,称之为有记忆信道<突发信道) 突发长度:突发错误图样中第一个“1”到最后一个“1”的码元总 个数。 6、错误图样:设发送的是序列C<码元长度为n),通过信道传输后,接收端的序列为R。由于信道中存在干扰,R序列中的某些码元和序

列中的对应码元的值可能不同,如果信道中的干扰采用二进制序列 e 表示,相应有错误的位取值为1,无错的位取值为0,可得e=C⊕R。RTCrpUDGiT 7、差错控制的基本方式: <1)反馈重传方式(ARQ>:发送端发送检错码,通过信道传输到接收端,接收端译码器根据编码规则判断是否有错误,并把判决信号通过反馈信道送回发送端。发送端根据判决信号确定是否重新发送,直到接收端检查无误为止。5PCzVD7HxA <2)前向纠错方式 (FEC>:发送端发送能纠正错误的码字,在接收端根据接收到的码字和编码规则,能自动纠正传输中的错误。 jLBHrnAILg <3)信息反馈方式:结合前向纠错和ARQ 的系统,在纠错能力范围内,自动纠正错误,超出纠错范围则要求发送端重新发送。 LDAYtRyKfE 8、香农信道编码定理:对于一个给定的有扰信道,若信道的容量为C ,只要发送端以低于C 的速率发送信息,则一定存在一种编码方法,使译码错误概率P 随着码长n 的增加,按指数下降到任意小的值,表示为,这里E(R>称为误差指数。Zzz6ZB2Ltk () nE R P e -≤

信道编码实验报告

无线通信基础课程设计报告 (信道编码) 小组成员: 指导老师: 完成时间:

无线通信系统课程设计报告 实验摘要:数字信号在传输中往往由于各种原因,使得在传送的数据流中产生误码,从 而使接收端产生图象跳跃、不连续等现象。信道编码通过对数码流进行相应的处理,使系统具有一定的检错和纠错能力,可极大地避免码流传送中误码的发生。提高数据传输可靠性,降低误码率是信道编码的任务。 实验名称:信道编码 实验目标:本实验的目标是领会信道编码的基本思想。并通过比较有无信道编码模块的 不同系统误码率性能,感受信道编码技术对于提高系统性能的重要意义。 实验原理:打开“Channel_Coding_74.vi”前面板如图1所示,打开程序框图并理解参与 信道编码的整个数据流。程序包含上下两个独立的部分如图2所示,下面部分是生成误码率曲线如图1(b),其结构和上面部分类似,你只需要关注上面部分程序即可;上面部分代码大致可由做7个模块组成,每一模块完成一项功能。你负责的是这个实验的“编码和解码”功能。这些模块为: 1、读取图片 LabVIEW提供了一个能够读取JPEG格式的图像并输出图像数据的模块。提供的还原像素图.vi完成图像数据到一维二进制数据的转换(图像数据→十进制二维数组→二进制一维数组),输出信源比特流。 (a)实验操作部分(b)误码率曲线 图1 前面板 2、信道编码 我们的下一个目标是对信源比特流进行信道编码。信道编码方案很多,线性分组码、卷积码、LDPC码等等;这里我们采用简单的(7,4)线性分组码。

图2 程序框图 线性分组码是一类重要的纠错码。在(n ,k )线性分组码中,常用到能纠正一位错误的汉明码。其主要参数如下: 码长: 21m n =-; 信息位:21m k m =--; 校验位:m n k =-; 最小距离: d = 3; 纠错能力: t = 1; 本次实验需要用到的是(7,4)分组码,属系统码,前四位为信息位,后三位为冗余位。 3、BPSK 调制 上一步得到的是二进制的信息比特流,需要采用一定的调制方案,将二进制的信息比特 映射成适合信道传输的符号。这里我们采用最简单的BPSK 调制:将信息0映射为幅值为1的信号,信息1映射为幅值为-1的信号,如图3所示。 (1,0)=0 图3 BPSK 映射图

相关文档
最新文档