1实验目的:1、了解移动信道传播环境,及TCH/F9.6信道的技术标准2、掌握TCH/F9.6信道的外编码、卷积码、交织器的基本原理3、仿真TCH/F9.6信道各模块,检验与测试它们的性能4、对TCH/F9.6信道的纠错性能进行仿真及分析5、依据GSM05.03建议,在高斯干扰和突发干扰下,对TCH/F9.6信道作信噪误码性能的仿真设计内容:1、了解移动通信发展、移动信道环境、GSM信道编码标准;2、理解分组码、卷积码、交织器的基本原理;3、根据技术标准,编写各模块的程序代码,并作状态检验和性能测试;4、连接各模块,分别在高斯、突发等信道下,仿真分析该信道的纠错性能;5、对某重点内容进行比较深入的仿真分析;6、写出有原理和设计、检验和结果、结果分析、重点内容、符合规范的设计报告。仿真任务:1、高斯干扰的原始误码特性2、卷积码编译码改善后的误码特性3、加入突发干扰的原始误码特性4、交织编码改善后的误码特性5、一级和二级的误比特率6、整个系统的性能基本原理及设计概述:1、GSM信道类型全速率话音业务信道TCH/FS话音信道半速率话音业务信道TCH/HS业务信道9.6Kbit/s全速率数据业务信道TCH/F9.64.8Kbit/s全速率数据业务信道TCH/F4.8数据信道4.8Kbit/s半速率数据业务信道TCH/H4.8≤2.4Kbit/s全速率数据业务信道TCH/F2.4≤2.4Kbit/s半速率数据业务信道TCH/H2.42频率纠错信道FCCH广播信道同步信道SCH广播控制信道BCCH寻呼信道PCH控制信道公共控制信道随机接入信道RACH准予接入信道AGCH独立专用控制信道SDCCH专用控制信道慢速相关控制信道SACCH快速相关控制信道FACCH2、各类信道编码和交织标准简表信道和传输类型外编码(分组码)内编码(卷积码)交织度码型信息+奇偶校验位+尾比特码型每编码块中的比特数TCHTCH/FS(260)1类2类截短循环码(53,50,2)182+3+478+0+0卷积码(码率1/2)456(378)(78)8TCH/F9.6(60)TCH/F4.8(60)TCH/H4.8TCH/F2.4(36)TCH/F2.44×60+0+460+0+164×60+0+42×36+0+42×36+0+4凿孔卷积码(1/2)卷积码(1/3)凿孔卷积码(1/2)卷积码(1/6)卷积码(1/3)244/456228*2244/456456228*2191919819CCHFACCH(184)法尔码(224,184)184+40+4184+40+4卷积码456456843SACCHSDCCHBCCHACCHPCH(184)RACH(8)SCH(25)截短循环码(14,8)(35,25)184+40+48+6+425+10+4(1/2)45636784113、信道编码①循环码:一个k,n线性分组码,如果每个码字经任意循环移位之后仍然在码字的集合中,那么就称此码是一个循环码。循环码是线性分组码中最主要,最有用的一类,目前对他的研究和应用也最多。它的特点是:首先,它可以用线性反馈移位寄存器很容易的实现其编码和伴随式计算,其次由于循环码有许多固有的代数结构,从而可以找到各种简单实用的译码方法。②卷积码:非分组的卷积码的编码器也是在任一段规定时间内产生n个码元,但它不仅取决于这段时间中的k个信息位,还取决于前1K段规定时间内的信息位③交织:交织器在发端,它将分组长度L的信息序列通过交织器重排,在收端通过解交织器恢复原序列,使信道中突发错误变为无记忆随机独立差错。主要思想是尽可能把编码后的数据块分散到多个突发序列中,而又不至引入过大的延时。对于不同的信道类型,交织的深度各不一样。交织编码是一种信道改造技术,突发差错的独立差错的随有记忆信道机无记忆信道4、卷积码原理卷积码是一种有记忆的编码,在任意给定的时间单元处,编码器的n个输出不仅与此时间单元的k个输入有关,而且也与前m个输入有关。通常,卷积码表示为:(n,k,m)。描述卷积码的基本数学模型是离散卷积。设编码器的两个冲击响应为g(1)和g(2),因为编码器有m个时间单位的存储,所以冲击响应至多持续m+1个时间单位,即g(i)=(g0(i),g1(i),g2(i),…,gm(i))i=1,2。序列u=(u0,u1,u2,…)每次进入编码器1比特,编码器的输出v(1)=(v0(1),v1(1),v2(1),…)和v(2)=(v0(2),v1(2),v2(2),…)可以作为u与g(1)和g(2)的卷积结果,即则输出序列为v=(v0(1),v0(2),v1(1),v1(2),v2(1),v2(2),…)。4将外编码得到的189比特进行码率为1/2的(2,1,4)卷积编码,编码电路如下:(2,1,4)卷积码编码器卷积码输出378比特,再将2级的78比特加于其后,得到内编码输出卷积码的性能分析纠错编码中码距与纠错能力有密切的关系,通常以最大的最小距离作为纠错能力的度量。卷积码常用的距离有两种:最小距dmin和自由距dfree。卷积码中长度为nN(N为约束长度)的编码序列之间的最小汉明距称为最小距dmin。任意长编码序列之间的最小汉明距称为自由距dfree。由于卷积码并不划分为码字,故以自由距作为纠错能力的度量更为合理。求dfree必须对任意长度的路径加以考察。但由于dfree有限,且某一路径的汉明重量在其与全0路径汇聚后已停止增长,于是与dfree对应的路径必然最终汇聚到全0路径上。因此dfree可从由全0序列出发再回到全0序列的所有路径中求得。Viterbi译码算法1967年维特比提出了一种概率译码的方法,它是一种最大似然译码。在BSC信道情况下,最大似然译码就是最小距离译码。对(n,k,m)码而言,编码器的可能状态数目为个,进入每个状态的分支数为个,从每个状态输出的分支数也是个,若输入信息序列为k(L+m)个(L为信息组的长度,最后m个信息组为全零),则篱笆图上共有条路径,他们对应了不同的信息序列。译码器接收到R序列后,按最大似然法则力图寻找编码器在篱笆图上原来走过的路径,也就是寻找具有最大度量的路径。为此,译码器必须计算max[M(R/)],j=1,2,…这里表示各种码字。对于BSC信道,就是寻找与R有最小汗明距离的路径,即计算和寻找min[d(R,)]最大似然译码方法只是给我们提供了一个译码准则,实现起来有一定的困难,因为它是考虑了长度为(L+m)n的接收序列来译码的,这样的序列可能有条。若实际接收序列中,L=50,k=2,则可能的路径有条,显然,译码器每接收一个序列R,就要计算约个似然函数才能做出译码判决,若kL再大一些,译码器按最大似然译码准则译码将是困难的。维特比针对着一实际困难,提出了一种算法,就是维特比算法。按照这个算法,译码器不是在篱笆图上一次就计算和比较条路径,而是接收一段,就计算、比较一段,从而在每个状态时,选择进入该状态的最可能的分支。也就是说,维特比算法的基本思想是将该序列R与篱笆图上的路径逐分支的比较,比较的长度一般取(5~6)mn,然后留下与R距离最小的路径,成为幸存路径,而去掉其余可能的路径,并且将这些幸存路径逐分支的延长并存储起来,幸存路径的数目等于状态数,所以幸存路径的数目为。综上所述,维特比算法并不是在篱笆图上一次比较所有可能的2L条路径,而是接收一段,计算、比较一段,选择一段最可能的分支,从而达到整个码5序列是一个有最大似然函数的序列。维特比算法的步骤(1)在第j(j=m)个时刻以前,译码器计算所有长度的长为m个分支的部分路径值,对进入个状态的每一条部分路径都保留。(2)第m个时刻开始,对进入每一个状态的部分路径进行计算,这样的路径有条,挑选具有最大部分路径值的部分路径为幸存路径,删去进入该状态的其他路径,然后,幸存路径向前延长一个分支。(3)重复第二步的计算、比较和判决的过程,若输入接收序列长为(L+m)k,其中,后m段是人为加入的全零段,则译码一直进行到第(L+m)个时刻为止。否则一直继续到所有接收序列进入译码器为止。(4)若进入某个状态的部分路径中,有两条的部分路径值相等,则可任选一条作为幸存路径。网格图中有个状态,在进行维特比译码时,我们要计算每个状态的部分路径值,然后比较,选择。所以如果m很大的话,状态数将会成指数增长,计算量也会变大,所以维特比译码时,其m不能选得太大。截短的维特比译码由于在我们的系统中要求传送的是连续比特流信号,因此要进行截短的维特比译码。由维特比算法译码过程不难明白,维特比译码器应有下述特点:(1)(n,k,m)卷积码编码器共有个状态,因此维特比译码器应有相同数目的状态发生器,并且对每一状态必须有一个路径寄存器以存储路径或其信息序列,以及一个存储距离度量值的寄存器。(2)每一路径寄存器存储路径的长度是nL。若L很大,则译码器的存储量太大而难以实用。实验证明,达到一定的译码深度后,所有路径寄存器前面的内容已完全重合,故路径寄存器不必存储L长度的码序列,而只需要存储段子码即可。也就是当译码器接收并处理完第个码段后,译码器中的路径寄存器已全部充满,当开始处理第个码段时,必须对所有路径寄存器中的第一段信息元判决并输出。这种不等处理完所有L段码序列,译码器就开始进行判决输出的译码方法称为维特比译码的截短译码。称为译码深度。其性能可能稍差,但如果足够大,则对译码错误概率影响很小。一般情况下选就够了。采用截短译码的判决方法如下:(1)任选一条幸存路径的寄存器,把它的第一段信息元作为译码器输出。(2)在译码所有路径寄存器中,选取具有最大路径度量的寄存器,把它的第一段信息元作为器输出。(3)对路径的度量值定一门限值,当某一路径的度量超过该值,就输出此路径的第一段信息元。这三种方法是等价的,我们所采用的是第一种方法,因其简单易实现。软判决维特比译码上述硬判决维特比译码适用于BSC信道。为了充分利用信道输出信号的有关信息,提高译码可靠性,往往把信道所输出的信号进行Q(2)电平量化,6然后再输入维特比译码器。这种译码器使用于DMC(离散多进制)信道,在DMC信道中进行最大似然译码,就是根据接收序列R,译码器在篱笆图上寻找具有最大似然函数值(或度量值)的路径。实践证明,软判译码器并不比硬判译码器复杂,但性能却要好,因而实用上更多采用的是软判决维特比译码器。软判决维特比译码是在硬判决的基础上得来的。将信道中的信号进行电平量化,这样信道输出的信号不在只是0、1信号,我们取Q=4。硬判决的时候,我们以零为中介,将信号量化0、1信号,软判决以-0.5、0、0.5为中介,分为4个电平,在译码时我们仍然用二进制表示这4个电平,即小于-0.5的,信号为00、接入-0.5和0之间的,信号量化为01,依次类推,即可将信道输出信号量化。在硬判决时,我们是两两接受,比较,判别。软判决时,由于原来的一个电平现在变成了两个电平(Q=4),所以现在应该是每4个接受,比较,判别。这里存在一个问题,就是现在信道中的信号是能量化成4个电平,但是我们在维特比译码时,是按照篱笆图来译码的。也就是除了考虑信道中的电平量化外,还要考虑卷积码输出的结果该怎么样量化。一种方法就是根据信道的特性,算出信号转移概率,根据这个概率得到一个值,如果转移到某个电平的概率大,那么这个值就取大,相反亦然,这样判决时就可以根据对应与每个电平的概率值的大小来判决,这也是一种最大似然译码,这种方法比较复杂,必须先知道信道的特性即转移概率;另一种方法比较简便,就是采用极端方法,即将硬判决时的0极化为00,1极化为11,这样如果硬判决时卷积码编码器输出是01,现在软判决就应该是0011,依次类推,这样的结果是一种近似结果,但算法简单,工程上一般采用这种方法。维特比译码软判决译码函数原形和硬判决一样,只不过将一些参数改了,例如卷积码编码器的输出、译码深度等。其他的比较、判别算法都一样。本文只仿真硬判决译码。5、交织原理交织器在发端,它将分组长度L的信息序列通过交织器重排,在收端通过解交织器恢复原序列,以求使信道中突发错误