书签 分享 收藏 举报 版权申诉 / 3

类型基于MATLAB的HDB3编译码实现.pdf

  • 上传人:chenpingzlx
  • 文档编号:81039708
  • 上传时间:2019-05-21
  • 格式:PDF
  • 页数:3
  • 大小:173KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    基于 MATLAB HDB3 译码 实现
    资源描述:
    石油仪器
    PETROLEUM INSTRUMENIS
    2012年10月
    开发设计
    基于 MATLAB的HDB3译码实现
    沈媛煖梁浩
    (长江大学电信学院湖北荆州)
    摘要:通常由信源发出的数字基带信号含有较多的低烦分量,甚至带有直流分量,这些信号由于易产生码间千扰进而
    直接影响传输的可靠性,所以一般不宜直接用于传输。HDB3码(三阶高密度双极性码)是基带传输码型之一,其具有编
    码规则简单、无直流分量、低频分量少、连0数不超过三个、提取同步方便等优点,有利于信号的恢复和检验。文章提出
    HDB3码的编码和译码算法思想,并在 matlab平台上得到了验证。
    关键词:三阶高密度双极性码;编码;译码
    中图法分类号:TN9117
    文献标识码:B
    文章编号:1004-9134(2012)05-0020-03
    换成V码。在其它条件情况下,让源代码照常输出

    补B是为了保证附加V符号后的序列不破坏“极性
    传统的石油井下信号在传输过程中通常采用曼彻交替变换”造成的无直流特性,即相当于V符号之间
    斯特编码方式。所谓曼彻斯特码,就是将每一个码元有偶数个非0符号时,把后一小段的第一个0变成
    分成两个相等的间隔.这对于接收端提取位同步信号个非破坏符号B.至于单双极性变换,在 MATLAB
    是非常有利的,但同时也带来了不利之处,如增加了中可以直接用对应的数字表示,即正极性就用“+'”
    倌息传递量,延长了传输时间,所占的频带宽度比原表示,负极性就用“-1”表示
    始信号宽了近一倍。随着数字通信的迅速发展,人们1.2HDB3编码算法的实现
    先后提出各种适合线路传输的码型,如CMI码、AMI
    实现HDB3编码算法首先应定义输入码元的长
    码、 MILLER码、HDB3码等。其中HIDB3码因具有度,在输人的源码中,当码元位置为1时,如果上
    无直流成分、低频成分和连0个数最多不超过三个等个非0符号为正,则下一个非0符号为负,HDB3码
    明显优点,具有时钟恢复和更好的抗干扰性能,这使输出为“-1',反之下一个非0符号为正,HDB3码
    它更适合于长距离信道传输。HDB3码具有较强的检输出为“+1"”,与此同时,计零标志位清零,数1标
    错能力,同时HDB3码方便提取位定时信息,对定时志位将数1的个数累加当码元位置为0时,计1标
    信号的恢复十分有利,是基带电信设备之间进行基带志位清零,数0标志位将数0的个数累加,当0的个
    传输的主要码型之
    数少于4个时,HDB3码输出为0;当数0个数等于
    4时,计0标志位清零,与此同时,如果上一个V的
    1HDB3编码器设计
    极性为负,则当前V符号为正,将V的极性标志位及
    非0符号标志位均变为正,同时HDB3码输出为“-1”
    1.1HDB3码的编码设计思想
    之后再判断是否需要补B。当判断完应插V的位置后
    HDB3码的编码设计主要包括插V、补B及输出如果两个V符号之间有偶数个非0符号,也就是当计
    极性的单/双变换山,具体设计模型如图1所示。
    1个数标志位是偶数时,就将相邻的两个V之间的后
    个V前面的第三个0变为与当前V相同符号的代码
    代码输入
    插“V
    単/双极IDB3码
    补“B
    性变换
    输出。在 Matlab中编码部分程序如下2.?
    Scode=[100000100001010000001010100
    图1HDB3编码器模型
    lengths=length (Scode),
    插“V”符号的设计思想很简单:首先判断输入
    last=0;%上ー个V的符号
    的信码是什么。如果输入的是0码,则接着判断这是
    lastiirue=0;%上ー个HDB3非零值的符号,初始
    第几个0码,如果是第四个0码,则把这一位码元变
    化为0,则第一个非零码为+
    counter-0;%连续出现的零的个数
    第一作者简介:沈媛媛,女,1980年生,2009年通信与信息处理专业倾土毕业,现为长江大学电信学院讲师,从事数字信号处理的教学与研
    究。邮编:434023
    2012年第26卷第5期
    沈媛媛等:基于 MATLAB的HDB3编译码实现
    countllrue=0;%两个V之间的非零值个数
    for codeposition=l: lengths
    if(Scode (codeposition)==1)
    if (astrue==0)
    HDB3 (codeposition )=-1
    last lrue
    elseif (lasttrue=1)
    HDB3 (codeposition)=1>
    last' lrue=0
    图4第三组编码算法验证
    counter=0;%记录零的个数清零
    count'true=countrie+1
    比较以上的三个图,可以看出它们分别从不同的
    %%非零值的个数加1
    角度验证了IHDB3码的编码算法。其中图2表明,当
    1,3HBD3编码算法的运行结果
    相邻两个V符号之间有0个非0符号,按偶数个处
    下面利用 Matlab软件取三组不同的源码分别对
    理,需要进行补B;卧3表明,当从起始位置起有4
    编码算法进行验证,其中第一组源码个及以上的连0申时,默认插人的第一个V前面还有
    10000000000,0所得HDB3V,并且它们之间没有非0符号,起始位置按补B处
    码是“-1000-101-11001-101-100
    理;图4表明,当插入的第一个V前有偶数个非0符
    1001-1010-10100”,如图2所示,第二组源
    号时,默认在此之前的V与该V之间只有源码中出
    码是“00000000000010100”,所得
    现的非0符号,它们之间的其它未出现的元素都按0
    HDB3码是“-100-1001-11001-101-100元素处理。
    -11001-1010-10100°,如图3所示,第三组2HDB3译码器设计
    源码是“0010000010000010100”,所得HDB3
    码是“00-11-100-110-11001-100-112.1HDB3码的译码设计思想
    0-1010-100”,如图4所示。图中“ Scode”代表
    HDB3译码器包括单/双极性变换、V码检测、时
    放在内部寄存器的源码,“HDB3”代表当前的HDB3码。钟提取、扣扣B四部分,图5是HDB3译码器设
    计模型。
    IDB3码
    码检测測
    B码识别
    双单极源码输出
    性变换
    いe2:hr在3
    ?G
    图5HDB3译码器模型
    2.2HDB3译码算法的实现
    .ons I' ttrzpogh
    HDB3译码算法同编码算法思想一样,也需要对
    输人的HDB3码定义输人码元长度。根据HDB3码的
    图2第一组编码算法验证
    编码规则,第一个V符号不可能出现在前三个位置,
    这就保证了后面的代码位置减3有意义而且不会溢
    出。在进行译码时,如果HDB3码的当前位置码元与
    :yg:.P.r!titは
    上一个非0符号相同,则将当前代码的位置及其前面
    的非0符号位一并清0;否则源码照常输出,如果源
    码位置为“-1”,全部变为“+1”输出。在 Matlab
    中译码部分程序如下?:
    Column 2 brough
    HDB3
    展开阅读全文
    提示  文档分享网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:基于MATLAB的HDB3编译码实现.pdf
    链接地址:https://www.wdfxw.net/doc81039708.htm
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    版权所有:www.WDFXW.net 

    鲁ICP备09066343号-25 

    联系QQ: 200681278 或 335718200

    收起
    展开