重复码性能评估与译码门限分析_第1页
重复码性能评估与译码门限分析_第2页
重复码性能评估与译码门限分析_第3页
重复码性能评估与译码门限分析_第4页
重复码性能评估与译码门限分析_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编码原理课程设计报告题目:重复码性能评估与译码门限分析指导老师:周亮摘要:信道编码的本质是增加通信的可靠性。但信道编码会使有用的信息数据传输减少,信道编码的过程是在源数据码流中加插一些码元,从而达到在接收端进行判错和纠错的目的,这就是我们常常说的开销。重复码是一类重要的纠错码,当码长足够大时,误码率会相当低。本文仅从误码率角度分析重复码的性能。关键词:重复码 编码 译码 检错 纠错 matlab目录摘 要.1第1章 绪论.5 1.1 引言.51.2 重复码的定义.51.3 研究目标和内容.6第2章 研究背景.7 2.1 信道编码的历史.7 2.2 信道编码的研究价值及意义.72.3 信道编码的

2、研究现状.8第3章 研究基础.10 3.1 重复码的介绍.10 3.1.1 重复码的特点.10 3.1.2 重复码的生成矩阵表示.11 3.1.3 重复码的校验矩阵.123.2 重复码的编码原理.133.3 重复码的译码原理.163.4 重复码的纠错原理.17第4章 研究过程.18 4.1 研究方法.18 4.2 分析过程.19 4.2.1 流程图.19 4.2.2 伪代码.204.3实验仿真.21 4.4 实验结论.23 第5章 心得体会.27 参考文献.30附录.31第1章 绪论1.1 引言 重复码是日常生活中较为常见的编码方式,也是通信中极为简单易懂的编码方式,通过了解掌握重复码的编码原

3、理、构造过程、校验方式、误码性能等特性,对通信编码的基本概念有较好的掌握,也为进一步研究更加精巧、复杂、实用的编码方式打下了良好基础。所以本次论文课题中心将紧紧围绕重复码的一些基本性能展开,进行一系列的归纳总结及探究。1.2 重复码的定义 一种k=1的(n,k)分组码,其编码规则是n-1个校验元均是信息元的重复。例如,(3,1)重复码两个码字是 (0,0,0)和(1,1,1)。 移动通信词典1.3研究目标和内容 设定信道为采用单位1能量的硬判决BPSK调制的B-AWGN信道,对于重复码,码长; (1)仿真分析信道信噪比时重复码的译码差错概率; (2)仿真分析重复码的译码门限信噪比,即以为增量递

4、增或递减寻找,使得时,但是时,; (3)对比分析不同时的等效BSC信道容量与编码码率之间的关系。第2章研究背景2.1 信道编码的历史一个完整的通信系统,在从信源至接收的全过程中,对信号进行的编码包括信源编码、信道编码以及加密与解密,其中信源编码与信道编码是对信号进行处理的重要步骤,而加密与解密则主要用于接收系统中。 信道编码又称为纠错编码,是指将信号进行编码处理,以使编码后的传送码流与信道传输特性相匹配,其根本目的是为了提高信息传输的可靠性,即提高系统的抗干扰能力。信道编码是数字通信区别于模拟通信的显著标志,其主要实现方法是通过增大码率或频带,即增大所需的信道容量。这一点恰好与信源编

5、码为适应存储及信道传输要求而进行压缩码率或频带而相反。在1948年香农首先提出了信道容量,而后更有著名的信道编码定理。如今所具有的纠错码类型包括卷积码,RS编码,Turbo码,LDPC码等等。2.2 信道编码的研究价值及意义随着现代无线通信技术的迅猛发展,数字信号已经逐渐取代了模拟信号成为主要的传输信号类型。与模拟信号相比较,数字通信具有高抗干扰能力,易于加密提高保密性,可以使用现代数字信号处理技术等优势。但由于信道的特性复杂,当调制好的信号在信道里进行传输的时候,必然要受到信道的影响。信道的影响可以分成以下三个主要方面:第一是信道本身对信号产生的衰落:由于信道本身频率响应特性不理想,造成对信

6、号的破坏;第二是信道中的各种噪声,如背景噪声,脉冲噪声等等,这些噪声叠加在信号上面,改变信号的幅度、相位和频率,使信号在解调时产生错误;第三,是信号在传输过程中由于反射,折射或沿不同路径传播从而带来的叠加效应,即通常所说的多径效应,这会带来时间上前后信号互相干扰。总而言之,这三种加性干扰都会导致在接收端信号解调的错误,使系统的误码率大大增加。导致了其在无线信道中传输过程中极易受到干扰而使码元波形变坏,所以传输到接收端后可能发生错误判决。而信道条件越是恶劣,产生错误的可能性就越大。      由于信道中的加性干扰不能通过均衡等方法完全消

7、除, 因此在一个实用的通信系统中,必须采取一定的措施来纠正错误,降低系统的误码率。信道编码就是一种非常有效的措施。信道编码的任务就是,在发送端以可控的方式在信号中加入一定的冗余度,而在接收端这些冗余度可以用来检测并且纠正信号通过信道后产生的错误。当然,冗余度的加入降低了系统的工作效率,但是和系统 误码率的降低(即信号更加正确地传送)相比,这些代价是可以接受的。信道编码正是基于此提出并发展起来的。 2.3 信道编码的研究现状 当今,数字电视中以及3G通信中会用到信道编码技术。对于一个数字通信系统,信道编码是在信号从发出到接收的全过程中对数字电视信号进行处理

8、的非常关键的一步。在3G通信技术中,卷积编码更是作为一种有效的前向纠错码在GSM和CDMA中得到非常广泛的而应用。由于3G系统中首次引入了高速率数据业务,高效的信道编码技术就成了很重要的一种技术。WCDMA和CDMA2000技术可以采用卷积编码技术,Turbo编码技术。广播系统中,由于它是一种单向传输系统,故而它常采用前向纠错编码方式。前向纠错码的码字在经过接收端的解码过后,不但能够发现错误 ,并且还可以判断位置并且纠正。这种纠错码信息无需存储,有着很好的实时性。 信道编码技术广泛应用于数字通信系统中,有的已经被应用于某些无线通信标准中,如GSM,CDMA2000,GB20

9、600等等。相信随着信道编码技术会随着 信道编码理论的发展在通信领域得到更深入的应用信道编码在当今的通信系统中有这至关重要的地位TD-SCDMA中主要采用了卷积码和CRC检错码,而Turbo码在WCDMA的差错控制技术中和4G通信中起着至关重要的作用。第3章 研究基础3.1 重复码的介绍3.1.1 重复码的特点重复码是一类最简单的(n,1)线性分组码,仅以二进制的重复码为例,当发送消息位1时,那么实际发送的码字为(1,1,.,1);当发送消息位0时,实际发送的码字为(0,0,.,0).假设信源均匀分布,以BPSK信号在白高斯噪声信道上传输消息,在等同传输能量即等同功率消耗条件下,分别

10、计算无纠错编码和应用n-重复码时的,可以得出以下结论:(1) 传输比特能量在数值上可能小于香农限,但等价的总大于香农限,例如无编码信噪比-10dB传输信噪比所等价的为0.71dB。(2) 不恰当的纠错编码不但不能提高信息传输性能,反而会导致性能恶化。例如信息比特信噪比为9.03dB时,5-重复码的性能劣于无编码的传输性能,而3-重复码的性能优于无编码的传输性能。(3) 纠错码需在原始误码率高于某个信噪比阈值(称为译码阈值或译码门限)后才能提高传输性能。例如在-10dB传输信噪比情形下,运用重复码总难以获得性能改善。不同的纠错码存在不同的译码门限值。(4) 单纯增加重复码码长,并不能改善传输性能

11、。这说明重复码不是可以达到香农限或实现完全无差错信息传输的纠错码,虽然编码定理保障存在一种误码率小于0.085的纠错码能够在-10dB传输信噪比情形下当码长时达到。并且可以总结出BPSK传输n-重复码的差错特性,如下图1 BPSK传输n-重复码的差错特性3.1.2 重复码的生成矩阵表示首先介绍一下生成矩阵的概念一个二元(n,k)线性分组码,记为或者,是一个由个n长码字构成的集合,该集合由一个行秩为k的矩阵G与任意k维消息向量的乘积构造而成,估又记,即对于二元码的构造,矩阵G的元素均为0或1,矩阵运算涉及的元素加运算和元素乘运算分别为整数模2加和整数模2乘。由于线性分组码完全由矩阵G确定,所以称

12、矩阵G为线性分组码的生成矩阵(generator matrix)。由1.2节重复码的定义知二元n-重复码即为(n,1)线性分组码,其生成矩阵。例如:3-重复码的生成矩阵为,当传输信息比特,得到码字;相反地,传输信息比特为,得到码字.3.1.3 重复码的校验矩阵首先介绍一下校验矩阵的概念校验矩阵满足对任意的码字c,都有,其基本特征有:(1) 向量v是码字当且仅当,从而(n,k)线性分组码C由H定义为:(2) (n,k)线性分组码C的校验矩阵H与生成矩阵G满足结合重复码的特性,我们有n-重复码的校验矩阵H根据不同的n存在不同的形式。例如:对于3-重复码,则对于4-重复码,则3.2 重复码的编码原理

13、重复码存在两种编码方式,其中一种时间开销非常大,但是空间开销非常小。另外一种空间开销非常大,但是时间开销非常小。最后在两种算法中做了一个折中。下面分别介绍两种编码方式(1) 这种方法根据信息序列通过循环填充的方式编码,其matlab核心代码如下: for j=1:L for k=1:n code=code;data(j,1); end end其中L为信息序列的码长,n为重复码码字的长度。由于matlab中循环的效率很低,所以这种方法时间复杂度很高,尤其在L比较大时,会消耗难以想象多的时间。(2) 这种方法通过生成矩阵构造一个码字向量矩阵的方式来编码,其核心代码如下:G=ones(1,n);da

14、ta = randi(0 1,L,1);code=data*G; %coding 其中L为信息序列的码长,n为重复码码字的长度。从代码中可以看出矩阵code的规模为L*n,当L足够大时,会相当耗费内存。试验中采用这种方式,学生笔记本直接报错,内存不足。(3) 综合(1)(2)失败的经验,在两者之中做了折中。核心代码如下:for i=1:loopG=ones(1,n);data = randi(0 1,L,1);code=data*G; %coding hMod= comm.BPSKModulator;hDmod= comm.BPSKDemodulator;hAWGN = comm.AWGNCh

15、annel('NoiseMethod',. 'Signal to noise ratio (SNR)','SNR', SNR); %modulation and denodulationcodecolumn=reshape(code.',L*n,1);modSignal=step(hMod,codecolumn);receivedSignal = step(hAWGN,modSignal);demodcode=step(hDmod,receivedSignal);%decodingdecode=reshape(demodcode,n,L)

16、;decode=decode;weight=sum(decode);weight=weight'weight(weight<n/2)=0;weight(weight>n/2)=1;dedata=weight;%errorbiterrorbit=mod(data+dedata),2);errornum=errornum+sum(errorbit);end大致思想是将信息序列分成100份处理,这样比一次性处理要省空间,每段处理采用生成矩阵的方式,这样就节省时间,最后效果非常好。3.3 重复码的译码原理重复码的译码相对简单。本实验采用择多判决法,n-重复码的择多判决法操作可以一般

17、性的用接收分组的汉明重量检测描述为针对第三种情况,只会出现在n为偶数情况下,回顾纠检错定理知在纠错模式下,所以当n=偶数时,与n=n-1的奇数码长的性能相同,故直接将其减1就不会出现第三种情况。核心代码如下:%decodingdecode=reshape(demodcode,n,L);decode=decode;weight=sum(decode);weight=weight'weight(weight<n/2)=0;weight(weight>n/2)=1;dedata=weight;3.4 重复码的纠错原理以3-重复码的为例,当传输信息比特,得到码字;当信道中存在噪声,

18、导致接收端有一个码元的错误,如收到。此时根据择多判决法依然可以判决出发送的信息比特位反之,当传输信息比特,得到码字;得到码字.当信道中存在噪声,导致接收端有一个码元的错误,如收到。此时根据择多判决法依然可以判决出发送的信息比特位。结合检纠错数定理:若分组码有最小距离d,那么该码的最大检错数和最大纠错数满足:(1) 在检错模式时,有 (2) 在纠错模式下,(3) 在混合纠检错模式时有第四章:研究过程4.1 研究方法:通过理论分析,计算出各种SNR情况下无编码的误比特率的理论值,然后再计算出有编码的误比特率的理论值。在进行计算机仿真,本实验采用matlab仿真实现。通过编程,将各种情况在计算机中仿

19、真。最后对比理论值和计算机仿真结果,观察是否有偏离,并进行深入分析。另外,在本实验中找译码门限信噪比是采用控制变量法。先固定无编码的信噪比,然后通过每隔0.5dB找不同n-重复码的译码门限信噪比。4.2 分析过程4.2.1 流程图简要分析流程:4.2.2 伪代码%create information data = randi(0 1,L,1);%coding code=data*G; %modulation and denodulationmodSignal=step(hMod,codecolumn);receivedSignal = step(hAWGN,modSignal);demodco

20、de=step(hDmod,receivedSignal);%decoding and recoverdecode=decode;weight=sum(decode);weight=weight'weight(weight<n/2)=0;weight(weight>n/2)=1;dedata=weight; 4.3实验仿真完整的程序代码clear;close all;n=input('please input n= ');if(mod(n,2)=0) n=n-1; endSNR=input('please input SNR= ');L=in

21、put('please input the number of data L= ');errornum=0;loop=100;for i=1:loopG=ones(1,n);data = randi(0 1,L,1);code=data*G; %coding hMod= comm.BPSKModulator;hDmod= comm.BPSKDemodulator;hAWGN = comm.AWGNChannel('NoiseMethod',. 'Signal to noise ratio (SNR)','SNR', SNR); %

22、modulation and denodulationcodecolumn=reshape(code.',L*n,1);modSignal=step(hMod,codecolumn);receivedSignal = step(hAWGN,modSignal);demodcode=step(hDmod,receivedSignal);%decodingdecode=reshape(demodcode,n,L);decode=decode;weight=sum(decode);weight=weight'weight(weight<n/2)=0;weight(weight&

23、gt;n/2)=1;dedata=weight;%errorbiterrorbit=mod(data+dedata),2);errornum=errornum+sum(errorbit);end%calculate BERBER=errornum/(loop*L);4.4 实验结论(1.1)仿真分析信道信噪比时重复码的译码差错概率()(1) 当n =3时=0.0176=0.0015=0.00010623=0.00000013(2)当n =7时=0.0011=0.0000091=0.00000002=0(3)当n =8时=0.0011=0.0000093=0.00000001=0(4)当n =1

24、6时=0.00000565=0=0=0(5)当n =32时=0=0=0=0 (此时几乎无差错,计算机无法得到更精确的结果)(1.2)仿真分析重复码的译码门限信噪比,即以为增量递增或递减寻找,使得时,但是时,;注:红色为译码门限信噪比,由于n=16,32时误码率极低,故不再考虑。系统1: SNR=0无编码时:=0.0787SNRP(n=3)SNRP(n=7)-2.5 0.0566 -6.0 0.0611 -3.0 0.0673 -6.5 0.0722 -3.5 0.0788 -7.0 0.0840 -4.0 0.0910 -7.5 0.0965 -4.5 0.1037 -8.0 0.1095 系

25、统2: SNR=3无编码时:= 0.0229SNRP(n=3)SNRP(n=7)0.0 0.0176 -3.0 0.0147 -0.5 0.0233 -3.5 0.0199 -1.0 0.0301 -4.0 0.0260 -1.5 0.0379 -4.5 0.0332 -2.0 0.0467 -5.0 0.0415 系统3: SNR=5无编码时:= 0.0060SNRP(n=3)SNRP(n=7)2.5 0.0026 -1.0 0.0031 2.0 0.0041 -1.5 0.0049 1.5 0.0063 -2.0 0.0073 1.0 0.0910 -2.5 0.0106 0.5 0.01

26、29 -3.0 0.0147 系统4: SNR=8无编码时:= 0.00019117SNRP(n=3)SNRP(n=7)5.5 0.00004520 2.0 0.00006281 5.0 0.00010759 1.5 0.00014693 4.5 0.00023281 1.0 0.00030474 4.0 0.00046703 0.5 0.00060120 3.5 0.00087212 0.0 0.00110000 (1.3)对比分析不同时的等效BSC信道容量与编码码率之间的关系。系统1: SNR=0=1+P*log(P)+(1-P)*log(1-P)/log(2)=0.6021当n=3,7,

27、8,16,32,=1/3,1/7,1/8,1/16,1/32均有:<系统2: SNR=3=1+P*log(P)+(1-P)*log(1-P)/log(2)=0.8426当n=3,7,8,16,32,=1/3,1/7,1/8,1/16,1/32均有:<系统3: SNR=5=1+P*log(P)+(1-P)*log(1-P)/log(2)=0.9471当n=3,7,8,16,32,=1/3,1/7,1/8,1/16,1/32均有:<系统4: SNR=7=1+P*log(P)+(1-P)*log(1-P)/log(2)=0.9974当n=3,7,8,16,32,=1/3,1/7,1

28、/8,1/16,1/32均有:<第5章 心得体会本次编码原理课程设计从刚开始的过程中无从下手,手忙脚乱,时间又紧,最终决定用软件仿真来实现重复码性能评估与译码门限分析。Matlab功能的强大、丰富的库函数、强大的数据处理能力,出色的绘图功能,友好的工作平台,简单通用的操作语言等等,所以我们决定用matlab来实现仿真。由于是在大二的时候学习的matlab,所以未免有些生疏,我们通过看书和学习重温了其用法,这对我们后面仿真奠定了好的基础。我们先是确定好课程设计题目,接着分头找相关资料,不懂的就问老师和身边同学以及查询图书馆资料。我们预先确定了论文研究的目标和内容,题目为重复码性能评估与译码

29、门限分析。接着通过查找资料我们了解到了他的研究背景,价值和意义,现状,问题与对比。 然后我们确定了他的研究基础,比如重复码的特点:循环码是线性码的一个重要的子类,它有以下两大特点:第一,码的结构可以用代数方法来构造和分析,并且可以找到各种实用的译码方法;第二,由于其循环特性,编码运算和伴随式计算,可用反馈移位寄存器来实现,硬件实现简单。重复码是一类最简单的(n,1)线性分组码,仅以二进制的重复码为例,当发送消息位1时,那么实际发送的码字为(1,1,.,1);当发送消息位0时,实际发送的码字为(0,0,.,0)。重复码的生成矩阵表示、重复码的校验矩阵、重复码的编码原理、重复码的译码原理、重复码的

30、纠错原理。 不仅如此,我们还对其专门性进行了研究,比如:传输比特能量在数值上可能小于香农限,但等价的总大于香农限、不恰当的纠错编码不但不能提高信息传输性能,反而会导致性能恶化、纠错码需在原始误码率高于某个信噪比阈值(称为译码阈值或译码门限)后才能提高传输性能、单纯增加重复码码长,并不能改善传输性能。 紧接着就是我们的研究过程,在队长*的带领下,我们齐心协力,他不仅给我们分配了各自的任务,还在整个课程设计中起了核心和带头作用。其中*负责了:统筹实验过程及编程等,*负责了测试及撰写实验报告,*负责测试及撰写实验报告,*负责测试及撰写实验报告。最终我们四个将的到的结果拿到一起得到最终的结果。这让我看

31、到了一个团队合作的高效率及重要性,让我懂得了这不仅仅是完成一门课程,还能给我们能力一定的提升,它不仅包括动手能力,还包括学习能力、判断能力、搜集资料的能力、交流能力、心理素质等,这对于以后的学习和工作都有很大的帮助。 我们在做了这次课程设计之后才发现,原来上课的时候学习重复码的时候,有些知识还不是很懂(比如生成矩阵和校验矩阵的概念及用法),而当我们在做设计的时候用到这些知识的时候,我们通过不断反复研究课本和上网查阅资料,最终终于搞懂了这些关键的问题,实践出真知此话不假,我们只有在不断的实践中才能提升自己的能力。通过这次课程设计,我确实学习到了很多在平时的学习中学不到的东西,并且加深了我对以前知

32、识的理解,通过这次设计,我们还懂得了团结合作的重要性,只有通过分工合作,我们才在很短的时间内完成了这次课程设计。最后,还是那句话:实践出真知。在渴望知识的道路上,用双脚探索出来的路才是你自己的路。我们还将上下左右而求索。参考文献【1】通信原理 李晓峰 周亮 周宁著,清华大学出版社,第2版 【2】差错控制编码 Peter Sweeney英著,俞越,章丹译,清华大学出版社,2004年6月第一版 【3】Applied Coding and Information Theory for Engineers ,Richard B.Wells美著,2002年10月第1版【4】Error Control C

33、oding,Shu Lin、 Daniel J. Costello美著,机械工业出版社附录(1) 比较耗费时间的代码:clear;close all;L=10000;data = randi(0 1,L,1);hMod= comm.BPSKModulator;hDmod= comm.BPSKDemodulator;N=3,7,8,16,32'SNR=0,3,5,8;hAWGN = comm.AWGNChannel('NoiseMethod',. 'Signal to noise ratio (SNR)','SNR', SNR);

34、 Pb=;for i=1:5 n=N(i,1); %coding code=; if(mod(n,2)=0) n=n-1; end for j=1:L for k=1:n code=code;data(j,1); end end %modulation and denodulation modcode=step(hMod,code); receivedSignal = step(hAWGN,modcode,modcode,modcode,modcode); demodcode=; for t=1:4; ddemodcode=step(hDmod,receivedSignal(:,t); demodcode=demodcode,ddemodcode; end %decoding decode=; for j=1:L weight=0,0,0,0; for k=1:n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论