DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 128|回复: 0
打印 上一主题 下一主题

阶高密度双极性信号编译码的建模与仿真

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-17 14:58:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
数字基带信号的传输是数字通信系统的重要组成部分之一。在数字通信中,有些场合可不经过载波调制和解调过程,而对基带信号进行直接传输。采用AMI码的传号交替反转,有可能出现四连零现象,不利于接收端的定时信号提取。而三阶高密度双极性码因具有无直流成份,低频成份少和连O个数最多不超过3个等明显的优点,对定时信号的恢复十分有利,成为CCITT协会推荐使用的基带传输码型之一。本文使用硬件描述语言对数字通信系统中的三阶高密度双极性码的编译码进行实用设计。1 三阶高密度双极性码的编、译码规则1.1 三阶高密度双极性码的编码规则??? 三阶高密度双极性码是AMI码的改进型,称为三阶高密度双极性码,它克服了AMI码的长连O串现象。??? 其编码规则为先检查消息代码(二进制)的连O串情况,当没有4个或4个以上连0串时,则这时按照AMI码的编码规则对消息代码进行编码;当出现4个或4个以上连O串时,则将每4个连0小段的第4个0变换成与前一非0符号(+1或一1)同极性的V符号,且必须保证相邻V符号应极性交替(即+l记为+V,一1记为一V);检查相邻V符号问的非O符号的个数是否为偶数,若为偶数,则再将当前的V符号的前一非0符号后的第1个0变为+B或一B符号,且B的极性与前一非O符号的极性相反,并使后面的非0符号从V符号开始再交替变化。1.2 三阶高密度双极性码的译码??? 三阶高密度双极性码的译码是编码的逆过程,其译码相对于编码较简单。从其编码原理可知,每一个破坏符号V总是与前一非O符号同极性,因此,从收到的三阶高密度双极性码序列中,容易识别V符号,同时也肯定V符号及其前面的3个符号必是连O符号,于是可恢复成4个连0码,然后再将所有的一1变成+1后便得到原消息代码。2 三阶高密度双极性编码的建模??? 三阶高密度双极性码的建模思想:在消息代码的基础上,依据三阶高密度双极性编码规则进行插入“V”符号和插入“B”符号的操作,且用2位二进制代码分别表示。最后完成单极性信号变成双极性信号的转换,其编码器模型如图1所示。

2.1 插“V”模块的实现??? 插“V”模块是对消息代码里的四连0串的检测,即当出现四个连O串的时候,把第四个“0”变换成为符号“V”,用“11”标识,“1”用“01”标识,“O”用“00”标识,其模型如图2所示。

2.2 插“B”模块的实现??? 建模思路是当相邻“V”符号之间有偶数个非0符号的时候,把后一小段的第1个“O”变换成一个“B”符号。在此用一个4位的移位寄存器实现延迟作用,经插“V”处理过的码元,在同步时钟的作用下,同时进行是否插“B”的判决,等到码元从移位寄存器里出来的时候,就可以决定是应该变换成“B”符号,还是照原码输出。输出端用“11”表示符号“V”,“01”表示“1”码,“00”表示“O”码,“10”表示符号“B”,其模型如图3所示。

2.3 单极性变双极性的实现??? 根据编码规则,“B”符号的极性与前一非零符号相反,“V”极性符号与前一非零符号一致。因此将“V”单独拿出来进行极性变换(由前面已知“V”已经由“11”标识,相邻“V”的极性是正负交替的),余下的“1”和“B”看成一体进行正负交替,这样就完成了三阶高密度双极性的编码。??? 因为经过插“B”模块后,“V”,“B”,“1”已经分别用双相码“11”,“10”,“01”标识,“O”用“00”标识。而在实际应用中,CPLD或FPGA端口输出电压只有正极性电压,在波形仿真中也只有“+1”和“O”,而无法识别“一1”。所以要得到所需要三阶高密度双极性编码的结果,需定义的“00",“01”,“10”来分别表示“0”,“一1”,“+1”。将插“B”模块后输出的“OO”,“01”,“10”,“1l”组合转换为“00”,“01”,“10”组合表示,再通过“00”,“01”,“10”控制四选一数字开关的地址来选择输出通道,就可以实现O,一E,+E。在此本文用CC4052的一组通道作为四选一数字开关,将CPLD或FPGA目标芯片的标识性输出转换成双极性信号,最终实现三阶高密度双极性非归零编码。CC4052接线如图4所示,实现地址控制器的模型如图5所示。
                          
                       
                          
                               



3 三阶高密度双极性译码的建模??? 三阶高密度双极性译码器的建模思想:根据编码规则,破坏点V脉冲与前一个脉冲同极性。因而可从所接收的信码中找到V码,然后根据加取代码的原则,V码与前面的三位代码必然是取代码,在译码时,须全部复原为四连O。只要找到V码,不管V码前是两个“O”码,还是三个“0”码,一律把取代码清零,完成了扣V扣B功能,进而得到原二元信码序列。可实现三阶高密度双极性译码的模型框图如图6所示。三阶高密度双极性译码器包括双/单极性变换、V码检测、时钟提取、扣V扣B四部分组成。

3.1 +V码检测与一V码检测的实现??? +V码检测原理是对正整流电路输出的信号的上升沿到来时,利用计数器对输入的正整流电路输出的信号脉冲进行计数,当计数值等于2时,输出一个脉冲作为+V脉冲,同时计数器清零,而且在计数期间,一旦有负整流电路输出的信号脉冲,立即对计数器清零,计数器重新从零开始计数。这是因为在两个正整流电路输出的信号脉冲之间,存在负整流电路输出的信号脉冲,说明第二个正整流电路输出的信号脉冲不是+V码,而只有在连续两个正整流电路输出的信号脉冲之间无负整流电路输出的信号脉冲,才能说明这两个正整流电路输出的信号脉冲在三阶高密度双极性码中,是真正地同极性的,于是就可以判定第二个正整流电路输出的信号脉冲实际上是+V码,达到检测+V码的目地。??? 一V码检测原理与+V码检测的类似,所不同的是,一V码检测电路在正整流电路输出的信号脉冲控制下,对来自负整流电路输出的信号脉冲进行计数和检测、判定,若检测到一V码,则输出一V码信号。其模型如图7与图8所示。

3.2 扣V扣B模块的实现??? 建模思路是用V码检测模块所检测出的V码信号去控制一个四位移位寄存器,若未碰到V脉冲,则整流输出合成信号在时钟的节拍下,顺利通过移位寄存器,当碰到有V脉冲时,该V脉冲将使移位寄存器清零。考虑到四连O,即V脉冲及其前面的三个码元应为O码,所以,可设置四位的移位寄存器,当V码清零时,同时将移存器中的四位码全变为0。不管是否有B脉冲,在此模块中,一并清零,因而无须另设扣B电路。另外移位四位寄存器起到延时四位时钟周期的作用,以使所检测出的V脉冲与信号流中的V脉冲位置对齐,保证清零的准确性,其模型如图9所示。
                          
                       
                          
                               

4 三阶高密度双极性编码的仿真??? 在此以四连“O”的可能情况进行如表1的多“0”消息代码进行分析,利用EDA工具对硬件描述语言源程序进行编译、适配、优化、逻辑综合与仿真,其仿真结果达到了编码要求,仿真图如图10所示。将三阶高密度双极性编码硬件描述下载到CPLD或FPGA目标芯片中,连接好CC4052进行实际应用测试,用示波器测得编码波形如图ll所示,完成了实际转换需求。



6 结语??? 将基于硬件描述语言的三阶高密度双极性编译码IP核实现在光通信等系统中,能满足实际上测试的需要。且运用基于硬件描述语言的可编程芯片开发技术,将信号处理的相关电路进行硬件描述,用CPLD/FPGA技术实现数字通信系统,不仅可以通过芯片设计实现多种数字逻辑功能,且由于管脚定义的灵活性,提高了工作效率,极大地减少了电路设计的时间和可能发生的错误,降低了开发成本。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-16 15:40 , 耗时 0.113918 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表