hdb3编码器的fpga实现毕业设计说明书(编辑修改稿)内容摘要:

因而无法获得定时信息。 单极性归零码在传送连“ 0”时,也存在同样的问题。 因此,对传输用的基带信号主要有以下两个方面的要求。 对代码的要求:原始消息代码必须编成适合于传输用的码型; 对所选码型的电波形要求:电波形应适合于基带系统的传输。 传输码的码型选择原则 传输码(或称线路码)的结构将取决于实际信道特性和系统工作的条件。 在选择传输码时,一般应考虑以下原则: 不含直流,且低频分量尽量少; 应含有丰富的定时信息,以便于从接受码流中提取定时信号; 功率谱主瓣宽度窄,以节省传输频带; 不受信息源统计特性的影响,即能适应于信息源的变化; 具有内在的检错能力,即码型应具有一定规律性,以便于用这一规律性进行宏观检测。 编译码简单,以降低通信延时和成本。 几种常用的传输码型 AMI 码 内蒙古科技大学毕业说明书(毕业论文) 5 AMI 码 (Alternative Mark Inversion)码的全称是传号交替反转码,其编码规则是将消息码的“ 1”(传号)交替地变换为“ +1”和“ 1”,而“ 0”(空号)保持不变。 AMI 码的优点是 ,没有直流成分,且高、低频分量少,能量集中在频率为 1/2 码速处;编码电路简单,且可利用传号极性交替这一规律观察误码情况;如果它是 AMIRZ 波形,接收后只要全波整流,就可变为单极性 RZ波形,从中可以提取定时分量。 鉴于上述优点, AMI 码成为较常用的传输码型之一。 AMI 码的缺点是,当原信码出现长连“ 0”串时,信号的电平长时间不跳变,造成提取定是信号的困难。 解决连“ 0”码问题的有效方法之一是采用 HDB3 码。 HDB3 码 HDB3 码的全称是三阶高密度双极性码。 它是 AMI 码的一种改进型,改进目的是为了保持 AMI 码的优点而克服其缺点,使连“ 0”个数不超过 3 个。 HDB3 码的编码虽然比较复杂,但译码却比较简单。 除了具有 AMI 码的优点外,同时还将连“ 0”码限制在三个以内,使得接收时能保证定时信息的提取。 因此, HDB3码是目前应用最为广泛的码型。 A 律 PCM 四次群以下的接口码型均为 HDB3 码。 双相码 双相码又称曼彻斯特码。 它用一个周期的正负对称方波表示“ 0”,而用其反相波形表示“ 1”。 编码规则之一是:“ 0”码用“ 01”两位码表示,“ 1”码用“ 10”两位码表示。 双相码波形是一种双极性 NRZ 波形,只有极性相反的两个电平。 它在每个码元间隔的中心点都存在电平的跳变,所以含有丰富的位定时信息,且没有直流分量,编码过程也简单。 缺点是占有带宽加倍,使频带利用率降低。 双相码适用于数据终端设备近距离上传输,局域网常采用该码作为传输码型。 差分双相码 为了解决双相码因极性反转而引起的译码错误,可以采用差分码的概念。 双相码是利用每个码元持续时间中间的电平跳变进行同步和信码表示。 而在差分双相码编码中,每个码元中间的电平跳变用于同步,而每个码元的开始处是否存在额外的跳变用来确定信 码。 有跳变则表示二进制“ 1”,无跳变则表示二进制“ 0”。 该码在局域网中常被采用。 密勒码 密勒码又称延迟调制码,它是双相码的一种变形。 它的编码规则如下:“ 1”码用码元中心点出现跃变来表示,即用“ 10”或“ 01”表示。 “ 0”码有两种情况:单个“ 0”时,在码元持续时间内不出现电平跃变,且与相邻码元的边界处也不跃变,连“ 0”时,内蒙古科技大学毕业说明书(毕业论文) 6 在两个“ 0”码的边界处出现电平跃变,“ 00”与“ 11”交替。 又因为双相码的下降沿正好对应于密勒码的跃变沿。 因此,用双相码的下降沿去触发双稳电路,即可输出密勒码,密勒码最初用于气象卫星和磁 记录,现在也用于低速基带数传机中。 CMI 码 CMI 码是传号反转码的简称,与双相码类似,它也是一种双极性二电平码。 其编码规则是:“ 1”码交替用“ 11”和“ 00”两位码表示;“ 0”码固定地用“ 01”表示。 CMI 码易于实现,含有丰富的定时信息。 此外,由于 10 为禁用码组,不会出现三个以上的连码,这个规律可用来宏观检错。 该码已被 ITUT 推荐为 PCMCIA 四次群的接口码型,有时也用在速率低于。 块编码 为了提高线路编码性能,需要某种冗余来确保码型的同步和检错能力。 引入块编码可 以在某种程度上达到这两个某的。 块编码的形式有 nBmB 码, nBmT 码等。 nBmB 码是一类块编码,它把原信息码流的 n 位二进制码分为一组,并置换成 m 位二进制码的新码组,其中 mn。 由于 mn,新码组可能有 2n种组合,故多出 (2n2m)种组合。 在 2n 种组合中,以某种方式选择有利码组作为可用码组,其余作为禁用码组,以获得好的编码性能。 在光纤通信系统中,常选择 m=n+1,取 1B2B 码、 2B3B 码、 3B4B 码及 5B6B 码等。 nBmB 码提供了良好的同步和检错功能,但是也会为此付出一定的代价,即所需的带宽随之增加 [5]。 而在一般的数字通信系统中首先将消息变换为数字基带信号,称为信源编码 [68],经过调制后进行传输,在接收端解调后恢复出基带信号,在进行解码转换为原始消息。 实际的基带传输系统中,并不是所有波均能在信道中传输。 基带信号频谱中含有丰富的低频分量乃至支流分量,当数字信号进行长距离的增大而增大,电缆中线对之间的电磁辐射也随着频率的增高而加剧,从而限制了信号的传输距离和传输质量。 同时信道中存在的限直流电容和偶合变压器,阻止了直流分量的传输并对低频分量有较大的衰减。 因此,对于一般信道高频和低频部分均是受限制的。 这 就出现了基带信号码型的选择问题。 对于传输信道,要求线路传输码型的频谱不含支流分量,并且只有很少的低频分量和高频分量。 其次,一般的传输系统中,为了节省频带是不传输定时信息的。 必须在接受端从相应的基带信息中加以提取,因而传输码型应利于收端定时时钟的提取,满足接内蒙古科技大学毕业说明书(毕业论文) 7 受端再生原始信息时的需要。 再次,码型应具有一定的规律性,有一定的误码检测能力。 因此,我们选择了用三阶高密度双极性码 HDB3 码。 它是 AMI 码的一种改进型,主要是克服了 AMI 码中连“ 0”时所带来的提取定时信息的困难,保持了 AMI 码的优点,因而获得广泛应用,已 成为 CCITT 推荐使用的码型之一。 此外,常用的 NRZ 码不适合在高速长距离数据通信的信道中传输,因而选用了HDB3 码。 HDB3 码是串行数据传输的一种重要编码方式。 和常用的 NRZ 码相比, HDB3具有很多优点,例如:消除了 NRZ 码的直流成分,具有时钟恢复和更好的抗干扰性能,这使得它更适合于长距离信道传输。 E1 信号选用 HDB3 编码方式,速率 可以在特性阻抗 120 奥姆的 RJ45 平衡双绞线上传输 ,能够满足大多数情况下数据的高速长距离传输。 在数据速率小于 的高速速率时,可以通过 插入额外数据比特提高数据速率 【 9】。 内蒙古科技大学毕业说明书(毕业论文) 8 第二章 HDB3 编码原理 要设计一个 实用的编码模块,首先要深入研究其编码规则及其特点,然后根据编码规则设计符合电路特性的编码流程。 HDB3 码的编码规则包括 【 6】 .【 1011】 :①将消息代码变换成 AMI 码, AMI 码的编码规则是对码流中的非“ 0”符号进行正负交替;②检查AMI 码中的连零情况 ,当连零的个数小于 4 个时,保持 AMI 的形式不变;当连零的个数达到 4 个或超过 4 个时,则将非零码后的第 4 个“ 0”替换成 V 码,其中 V 码的 极性与前一非零码( +1 或 1)的极性保持一致,例如,前面的非零码是 +1,则将 V 码记为+V;③完成插 V 操作后,检查 2 个相邻 V 码之间非零码的个数是否为偶数,若为偶数,则再将相邻 2 个 V 码中后一个 V 码的前一个非零码后的第一个“ 0”变为 B 码, B 码的极性 与前一非“ 0”码的极性相反,同时 B 码后面的非“ 0”码极性再次进行交替变换,保证极性交替反转特性。 编码规则中出现的 V 码、 B 码只是作为标识符,最终的电路实现还是“ 0”和“ 1”这两种逻辑电平,因此需要采用二进制编码对“ 1”、“ 0”、 V、 B 进行编码,“ 00”表示“ 0”,“ 01”表示“ 1”,“ 10”表示 B,“ 11”表示 V。 根据编码规则和利用 FPGA 实现的特点, 编码过程 为 :首先插入 V 码,然后插入 B 码,最后是单双极性变换。 但是 如果按照编码规则的顺序设 计 .应该首先进行单双极性变换, 再 完成插 V 和插 B, 在此过程中 还需根据编码规则变换 当前 B 码之后的非零码的极性,这 就 需要大量的寄存器来保存当前数据的状态,导致电路非常复杂,占用大量的 FPGA 内部逻辑单元,实现难度大,且成本高。 因此不用这种设计方法。 HDB3 编码过程示意图如图 所示。 内蒙古科技大学毕业说明书(毕业论文) 9 图 HDB3 编码过程示意图 插入 V 码过程 插入 V 码过程是对消息代码里的连零串进行检测,一旦出现 4 个连零串的时候,就把第 4 个 “O”替换成破坏符 V,其他情况下消息代码原样输出。 输入的代码经插 V 操作后全部转换成双相码,即 “0”变换成 “00”, “1”变换成 “01”, V 变换成 “ll”。 图 是插入V 码过程的流程,代码输入到插 V 模块后,如果输入是 “l”,则输出为 “01”,同时计数器清零;如果输入是 “O”.则对输入 “O”的个数进行计数,当计数器计数到第 4 个 “O”时,输出 “11”作为 V 码,同时计数器要清零用于下一轮检测;计数器未满 4 个 “0”,则输出“00”。 图 插入“ V”码过程流图 内蒙古科技大学毕业说明书(毕业论文) 10 插入 B 码过程 当相邻两个 V 码之间有偶数个非 “0”码时.则把后一个 V 码之前的第 1 个非 “0”码后面的 “0”码变换成 B 码。 该模块设计的难点在于插入 B 码的过程中涉及一个由现在事件的状态控制过去事件状态的问题,按照实时信号处理的理论,这是无法实现的,这里使用两组 4 位移位寄存器。 采用 4 位移位寄存器是根据 HDB3 编码规则的特点确定,经插 V 后,连零串中的第 4 个 “0”变成 V 码,代码中连零个数最多是 3 个,而插入 B 码操作 是把在后一个 V 码之前的第 1 个非零码之后的 “O”变换成 B 码,这个长度不超过 3 个“0”,因此只需 4 位寄存器就可通过判断现在的输入状态来决定是否应插入 B 码。 图 是判断是否插入 B 码的流程. 2 组 4 位移位寄存器在时钟的作用下逐位将数据移出,在移位的同时还需对寄存器的最低位进行操作,即判断是否需插入 B 码。 这部分功能的实现需设置一个检测当前 V 码状态的标志位 firstv。 图 判决是否插入“ B”码流程图 单双极性变换过程 分析 HDB3 码的编码规则,发现 V 码的极性是正负交替的,余下的 “1”和 B 码的极性也是正负交替的,且 V 码的极性与 V 码之前的非零码极性一致。 因此可以将所有的 “1”和 B 码取出来做正负交替变换,而 V 码的极性则根据 “V码的极性与 V 码之前的非零码极性一致 ”这一特点进行正负交替变换。 具体操作是设置一个标志位 flag,通过检测判断内蒙古科技大学毕业说明书(毕业论文) 11 标志位的状态来确定 是否进行单双极性变换,标志位要交替变换以实现 “l”和 “B”正负交替, V 码的极性也根据标志位变换。 图 是单双极性变换过程的流程, “10”表示输出正电平, “Ol”表示输出负电平, “00”表示输出为零电平。 图 单双极性变换示意图 实例分析 下面通过一串实际的消息代码来说明这个编码过程。 在插 V 变换过程和插 B 变换过程中用 “ 01” 表示 “ 1” 码,用 “ 00”表示“ 0”码,用“ 11”表示 V 码,用“ 10”表示B 码。 在单双极性变换中用“ 01”表示“ 1”电平,用“ 10”表示“ +1”电平,用“ 00”表示“ 0”电平。 在插 V 和插 B 以及单双极性变换过程中都是通过并行输出表示的,插V 输出表示为 dataout[0]、 dataout[1]。 插 B 输出表示为 dataout2[0]、 dataout2[1]。 单双极性变换输出表示为 dataout3[0]、 dataout3[1]。 消息码: 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 插 V 变换 : 01 00 00 00 11 01 00 00 00 11 01 01 00 00 00 11 00 00 00 11 01 插 B 变换 : 01 00 00 00 11 01 00 00 00 11 01 01 10 00 00 11 10 00 00 11 01。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。