原创 VHDL实现HDB3编码

2009-5-16 20:18 10555 7 18 分类: FPGA/CPLD

HDB3 码是数字基带传输系统中的常用码型,其全称是3阶高密度双极性码,它是AMI 码的一种改进型。


其编码规则如下:


(1)当么有4个过4个以上连0串时,仍按AMI 码的规则进行编码,即传号极性交替;


2)当出现4个或4个以上连0串时,则将第4 个“0”改为非“0”脉冲,记为+V 或-V,称之为破坏脉冲。相邻V 码的极性必须交替出现,以确保编码码无直流特性;


(3)为了便于识别,V 码的极性应与其前一个非“0”脉冲的极性相同,否则,将四连“0”的第一个“0”更改为与该破坏脉冲相同极性的脉冲,并记为+B 或-B;


(4)破坏脉冲之后的传号码极性也要交替。例如:


代码: 1000 0 1000 0 1 1 000 0 l 1


AMI 码: -1000 0 +1000 0 -1 +1 000 0 -1 +1


HDB3 码: -1000 -V +1000 +V -1 +1 -BOO -V +l -1


从上述原理可以看出:每一个破坏符号V总是与前一非0符号同极性(包括B在内)。在译码时根据这一原则,可以从待解码符号序列中容易找到破坏符号V,于是也断定V符号及其前面的3个符号必是连0符号,从而,恢复4个连0码,再将所有-1变成1后便得到原信息代码。HDB3 码保持了AMI 码的优点外,同时还将连“0”码限制在3 个以内,故有利于位定时信号的提取。


编程思想:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


首先将代码进行AMI编码,然后判断加V,加B。如果有四个连0出现,即cnt_0=3(第四个0)时,进行加V,否不加VV的符号跟前一非0的符号相同(包括加B后)。如果已经有加V后,为了保证V的“极性交替反转”,两个V之间的非0个数如为偶数则加B,否不加B。也即根据在V之前判定前一非0符号的正负性判定加B即可。如+V前,pre_nz=’1’,则加-B,否不加B;如-V前,pre_nz=’0’,则加+B,否不加BAMIVB符号的正负都是通过设立信号变量来确定的。最后根据得出的codeout_b码型确定HDB3codeout的输出:


 




codeout_b


 codeout


  代表码


“000”


   00


     0


“001”、“010”、“011


01


-1


100”、“101”、“110”、“111


10


     +1


 

max+plus ii 仿真结果如下:

 

(a)<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />点击看大图

 

(b)点击看大图

 

pdf  password: myworks

 
PARTNER CONTENT

文章评论11条评论)

登录后参与讨论

用户136783 2008-4-23 12:29

VHDL实现HDB3编码

可不可以把打开PDF文档的密码发给我啊?

邮箱:sjkn53465691@126.com

 

用户7265 2008-1-23 23:57

 

谢谢

有没有解码

,有的请发给我啊,Email为zjhy1031@sohu.com

用户1001684 2008-1-11 00:32

my email is : nibras4me@hotmail.com

can u send the code of hdb3 for me ?

用户71742 2007-12-8 22:19

有没有解码的啊,谢谢了,有的请发给我啊,Email为j1388888888@163.com

用户209137 2007-11-29 20:07

xiexie le 

用户82085 2007-11-29 15:44

13796134175    谢谢啊 我正在做课程设计

用户82085 2007-11-29 15:43

可以告诉我密码吗?

 

用户218383 2007-10-22 13:22

pdf 文档密码是多少阿?

谢谢拉!

tengf9806@163.com

用户112372 2007-9-17 11:21

可不可以把打开PDF文档的密码发给我啊?

急需中....先谢谢拉

邮箱:shuzhinv126@126.com

用户1319387 2007-8-22 19:07

 谢啦!

相关推荐阅读
用户1369714 2012-04-12 12:34
大家好,我是itspy,关于这个博客,请大家看过来!
大家好,我是itspy,关于这个博客...,很失望,以后不会用了 如果大家有什么问题,请到我的另一个博客去留言吧 我也很希望跟大家做交流,有什么技术问题,itspy会很乐意帮助的,新博客欢...
用户1369714 2011-08-07 14:35
uip 移植在rt-thread上的源码
*/本人在以前开发过程中移植uIP到RT-Thread实时线程系统,有需要用到项目中的朋友可以参考一下。 附件是源码包,在以太网驱动采用DM9000,驱动程序和移植文件uipif.c在源码包下(rt...
用户1369714 2011-01-13 10:32
Linux内核的社会视角--Mr. Process的一生
         Linux内核是一个无比复杂的系统,要想看清大致的脉络也非易事。其实,可以把运行中的Linux想像成一个人类的社会,当中的进程就是社会中的人。人有生老病死,进程有创建、异常、终止。人...
用户1369714 2011-01-08 12:39
RT-Thread Radio 网络播放器--初次零距离接触!
      今天很高兴, 收到了RT-Thread Radio套件,还有ffx和RT-Thread工作室写的新书《RT-Thread 实时操作系统 编程指南》。 如此令人快乐的事,如此高兴,实在是想不...
用户1369714 2011-01-05 15:43
如何编写linux的驱动程序
如何编写Linux的驱动程序编写linux驱动程序,应该是一件得心应手的事,因为linux是开源的,从上往下或从下往上,一切都是那么的光明磊落的呈现于眼前。只要你愿意,你可随意了解你所想知道的东西。L...
用户1369714 2010-12-28 10:12
Busybox制作Linux根文件系统
Busybox ——嵌入式Linux中的瑞士军刀利用busybox-1.13.0制作linux根文件系统(yaffs2)源码下载:http://www.busybox.net/downloads/操作...
EE直播间
更多
我要评论
11
7
关闭 站长推荐上一条 /3 下一条