通信工程专业CDIO二级项目数字通信系统仿真-采用2PSK调制和循环码技术(2012/2013学年第一学期)项目名称:通信系统仿真题目:数字通信系统仿真-采用2PSK调制和循环码技术专业班级:通信工程小组成员:指导教师:付佳、刘心、侯华、张龙设计周数:1周设计成绩:2013年1月11日目录信息与电气工程学院21课程设计目的............................................................................................................32课程设计正文............................................................................................................32.1循环码技术.......................................................................................................32.1.1循环码的多项式表示............................................................................32.1.2(n,k)循环码的生成多项式.....................................................................42.1.3循环码的生成矩阵和一致校验矩阵..................................................42.1.4循环码编码原理..................................................................................52.1.5循环码的译码原理.................................................................................62.22PSK的基本原理............................................................................................82.2.12PSK相干解调系统............................................................................102.2.22PSK信号的调制器键控法原理方框图............................................112.2.32PSK信号的解调通常采用相干解调法原理框图............................122.2.42PSK相干解调系统性能原理框图....................................................123源程序代码及实验结果..........................................................................................124小组分工...................................................................................................................145实验总结..................................................................................................................14信息与电气工程学院31课程设计目的(1)对数字通信系统主要原理和技术进行研究,包括二进制相移键控(2psk)及解调技术、高斯噪声信道原理、以及信源编码中循环码的基本原理等。(2)建立完整的基于2psk和(7,4)循环码的数字通信系统仿真模型,包括2psk调制解调及循环码的编译码;(3)在信道中加入高斯噪声,观察系统的纠错能力,统计误码率,并进行分析。(4)锻炼我们查阅资料、方案比较、团结合作的能力。学会简单的实验调试方法,增强我们的动手能力。2课程设计正文2.1循环码技术循环码是线性分组码的一种,所以它具有线性分组码的一般特性,此外还具有循环性。循环码的编码和解码设备都不太复杂,且检(纠)错能力强。它不但可以检测随机的错误,还可以检错突发的错误。(n,k)循环码可以检测长为n-k或更短的任何突发错误,包括首尾相接突发错误。循环码是一种无权码,循环码编排的特点是相邻两个数码之间符合卡诺图中的邻接条件,即相邻两个数码之间只有一位码元不同,码元就是组成数码的单元。符合这个特点的有多种方案,但循环码只能是表中的那种。循环码的优点是没有瞬时错误,因为在数码变换过程中,在速度上会有快有慢,中间经过其它一些数码形式,称它们为瞬时错误。这在某些数字系统中是不允许的,为此希望相邻两个数码之间仅有一位码元不同,即满足邻接条件,这样就不会产生瞬时错误。循环码就是这样一种编码,它可以在卡诺图中依次循环得到。循环码又称格雷码(GreyCode)。循环码最大的特点就是码字的循环特性,所谓循环特性是指:循环码中任一许用码组经过循环移位后,所得到的码组仍然是许用码组。若(…)为一循环码组,则(…)、(…)、……还是许用码组。也就是说,不论是左移还是右移,也不论移多少位,仍然是许用的循环码组。2.1.1循环码的多项式表示设码长为n的循环码表示为(1na,2na,……ia,……1a,0a)(1)信息与电气工程学院4其中ia为二进制数,通常把码组中各码元当做二进制的系数,即把上式中长为n的各个分量看做多项式:T(x)=1na1nx+2na2nx+……+ianix+……+1ax+0a(2)的各项系数,则码字与码多项式一一对应,这种多项式中,x仅表示码元位置的标记,因此我们并不关心x的取值,这种多项式称为码多项式。2.1.2(n,k)循环码的生成多项式(n,k)循环码的生成多项式写为g(x),它是(n,k)循环码码集中唯一的,幂次为n-k的码多项式,则kxg(x)是一个幂次为n的码多项式。按模(nx+1)运算,此时:g(x)+1knxx=Q(x)+()1nRxx(3)即kxg(x)R(x),且因kxg(x)也是n阶幂,故Q(x)=1.由于它是循环码,故kxg(x)按模(nx+1)运算后的“余式”也是循环码的一个码字,它必能被g(x)整除,即:()()RxGx=F(x)(4)由以上两式可以得到:kxg(x)=Q(x)(nx+1)+R(x)=(nx+1)+f(x)g(x)(5)和nx+1=[kx+f(x)]g(x)=h(x)g(x)(6)从上式中可以看出,生成多项式g(x)应该是nx+1的一个因式,即循环码多项式应该是nx+1的一个n-k次因式。2.1.3循环码的生成矩阵和一致校验矩阵对所有的i=0,1,2,……k-1,用生成多项式g(x)除nkix,有:nkix=ia(x)g(x)+ib(x)(7)式中ib(x)是余式,表示为:ib(x)=,1inkb1nkx+……+,1ibx+,0ib(8)因此,nkix+ib(x)是g(x)的倍式,即nkix+ib(x)是码多项式,由此得到系信息与电气工程学院51101000011010000110100001101101110001011100010111统形式的生成矩阵为:G=1,11,11,02,12,12,00,10,10,0100010000knkkkknkkknkbbbbbbbbb(9)它是一个kn阶的矩阵。同样,由GTH=0可以得到系统形式的一致校验矩阵为:H=1,12,10,11,12,10,11,02,00,0100010001knkknknkkkkkbbbbbbbbb(10)如已知(7,4)循环码的生成多项式和校验多项式分别为:g(x)=x3+x+1,h(x)=x4+x2+x+1。写得其生成矩阵和校验矩阵分别为:G=(11)H=(12)2.1.4循环码编码原理(1)有信息码构成信息多项式m(x)=1km1kx+……+0m其中高幂次为k-1;用nkx乘以信息多项式m(x),得到的nkxm(x)最高幂次为n-1,该过程相当于把信息吗(1km,2km,……,1m,0m)移位到了码字德前k个信息位,其后是r个全为信息与电气工程学院6零的监督位;用g(x)除nkxm(x)得到余式r(x),其次数必小于g(x)的次数,即小于(n-k),将此r(x)加于信息位后做监督位,即将r(x)于nkxm(x)相加,得到的多项式必为一码多项式。根据上面的讨论,可得到在(7,4)循环码编码的程序框图如图1所下图示:图2.1.1编码程序框图2.1.5循环码的译码原理纠错码的译码是该编码能否得到实际应用的关键所在。译码器往往比编码较难实现,对于纠错能力强的纠错码更复杂。根据不同的纠错或检错目的,循环码译码器可分为用于纠错目的和用于检错目的的循环码译码器。通常,将接收到的循环码组进行除法运算,如果除尽,则说明正确传输;如果未除尽,则在寄存器中的内容就是错误图样,根据错误图样可以确定一种逻辑,来确定差错的位置,从而达到纠错的目的。用于纠错目的的循环码的译码算法比较复杂,感兴趣的话可以参考一些参考书。而用于检错目的循环码,一般使用ARQ通信方式。检测过程也是将接受到的码组进行除法运算,如果除尽,则说明传输无误;如果未除尽,则表明传输出现差错,要求发送端重发。用于这种目的的循环码经常被成为循环冗余校验码,即CRC校验码。CRC校验码由于编码电路、检错电路简单且易于实现,因此得到广泛的应用。在通过MODEM传输文件的协议如ZMODEM、XMODEM协议中均用到了CRC校验技术。在磁盘、光盘介质存储技术中也使用该方法。储存c(x)初始化确定余式r(x):错误!未找到引用源。确定c(x):错误!未找到引用源。信息与电气工程学院7在SystemView中没有提供专用的CRC循环冗余校验码编码器,读者可根据有关参考书设计一个相应的仿真电路。如果不想亲自动手设计,可以在CDMA库(IS95)中找到一个现成的专用的CRC编码器和译码器。该图符(FrameQ)是的接入信道的数据帧品质指示编码器,其中使用了多种不同比特率的数据模型,通过CRC校验来判断接入信道的质量好坏。其中规定每一帧的长度为20ms的数据。一个典型IS-95-A标准规定的9600信道的CRC测试码的长度为192比特,其中信息位172位、校验位12比特、尾部全零8比特。感兴趣的读者可以加入一个速率为860bps(192bit/0.2ms=860)的PN数据,然后观察经过CRC编码后的波形。并可用对应的译码器译码观察输出波形是否与输入的PN码一致。当码字c通过噪声信道传送时,会受到干扰而产生错误。如果信道产生的错误图样是e,译码器收到的n重接受矢量是y,则表示为:y=c+e(13)上式也可以写成多项式形式:y(x)=c(x)+e(x)(14)译码器的任务就是从y(x)中得到()ex,然后求的估值码字()cx=y(x)+()ex(15)并从中得到信息组()mx。循环码译码可按以下三个步骤进行:(1)有接收到的y(x)计算伴随式s(x);(2)根据伴随式s(x)找出对应的估值错误图样()ex;(3)计算()cx=y(x)+()ex,得到估计码字()cx。