HDB3编码教学文案Word文件下载.docx
- 文档编号:17594841
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:12
- 大小:214.04KB
HDB3编码教学文案Word文件下载.docx
《HDB3编码教学文案Word文件下载.docx》由会员分享,可在线阅读,更多相关《HDB3编码教学文案Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
⒋VHDL语言标准、规范,易于共享和复用
基于上述的特点,可知VHDL语言可读性好,又能被计算机识别。
VHDL语言中设计实体、程序包、设计库,为设计人员重复利用已有的设计提供了诸多技术手段。
可重复利用他人的IP模块和软核也是VHDL的另一特色,许多设计不必每次都从头再来,只要在更高层次上把IP模块组合起来,就能达到事半功倍的效果。
这样,设计人员自行开发的IP模块在集成电路设计中占有重要的地位。
因此本课程设计采用VHDL语言设计一个完善的HDB3码编码器。
3、HDB3码介绍
3.1数字基带信号
在数字通信中,有些场合可不经过载波调制和解调过程,而对基带信号进行直接传输。
为使基带信号能适合在基带信道中传输,通常要经过基带信号变化,这种变化过程事实上就是编码过程。
于是,出现了各种各样常用码型。
不同码型有不同的特点和不同的用途。
在基带传输中,常用的码型有AMI码、HDB3码、4B/3T码、CMI码以及双相码等。
其中,AMI码是将输入单极性波形的所有正脉冲变为适合于在信道传输的正负极性交替的脉冲,而HDB3码则是在AMI码基础上改进的一种双极性归零码,它除具有AMI码功率谱中无直流分量,可进行差错自检等优点外,还克服了AMI码当信息中出现连“0”码时定时提取困难的缺点,同时HDB3码频谱能量主要集中在基波频率以下,占用频带较窄,因此被广泛用作PCM线路传输码型,因此要了解HDB3码的编码规则,首先要知道AMI码的构成规则。
1.AMI码
AMI码称为传号交替反转码。
其编码规则为代码中的0仍为传输码0,而把代码中1交替地变化为传输码的+1-1+1-1,、、、。
举例如下:
消息代码:
01110010、、、
AMI码:
0+1-1+100-10、、、或
0-1+1-100+10、、、
AMI码的特点:
(1)无直流成分且低频成分很小,因而在信道传输中不易造成信号失真。
(2)编码电路简单,便于观察误码状况。
(3)由于它可能出现长的连0串,因而不利于接受端的定时信号的提取。
2.HDB3码
这种码型在数字通信中用得很多,HDB3码是AMI码的改进型,称为三阶高密度双极性码。
它克服了AMI码的长连0传现象。
作为传输用的基带信号归纳起来有如下要求:
(1)希望将原始信息符号编制成适合与传输用的码型;
(2)对所选码型的电波形,希望它适宜在信道中传输,可进行基带传输的码型较多。
3.2NRZ,AMI,HDB3码之间的对应关系
假设信息码为0000011000010000,对应的NRZ码、AMI码,HDB3码如图1所示:
图1NRZ,AMI,HDB3码型图
分析表现,AMI码及HDB3码的功率谱不含有离散谱fS成份(fS=1/TS,等于位同步信号频率)。
在通信的终端需将他们译码为NRZ码才能送给数字终端机或数/模转换电路。
在做译码时必须提供位同步信号。
工程上,一般将AMI或HDB3码数字信号进行整流处理,得到占空比为0.5的单极性归零码(RZ|τ=0.5TS)。
由于整流后的AMI,HDB3码中含有离散谱fS,故可用一选频网络得到频率为fS的正弦波,经整形、限幅、放大处理后即可得到位同步信号。
4、HDB3码编码器的建模与实现
4.1HDB3码的编码规则
HDB3码是一种AMI码的改进型,它的编码过程为:
(1)没有4个或4个连“0”串时,HDB3编码规律与AMI码相同,即“1”码变为“+1”、“-1”交替脉冲。
(2)当代码序列中出现4个或4个以上连“0”串时,则将每4个连“0”小段即“0000”的第4个0变换成与前一非“0”符号同极性的符号,用破坏符号V表示。
(3)为了使附加V符号后的序列不破坏“极性交替反转”造成的无直流特性,还必须保证相邻V符号也应极性交替。
这一点,当相邻V符号之间有奇数个非0符号时,则是能得到保证,当有偶数个非0符号时,则就得不到保证,这时再将该小段的第一个0变换成+B或-B,B符号的极性与前一非0符号的极性相反,并让后面的非0符号从V符号开始再交替变换。
4.2基于VHDL的编码器的建模及实现
4.2.1编码器的VHDL建模
图2HDB3码编码器模型
如图所示:
整个HDB3码的编码器包括3个功能部分:
添加破坏符号“V”、添加符号“B”和单极性码转变成双极性码。
4.2.2基于VHDL编码器的实现
加破坏符号“V”模块的功能实际上就是对消息代码里的四个连0串的检测,即当出现四个连0串的时候,把第四个“0”变换成符号“V”,而在其他的情况下,则保持消息代码的原样输出,同时为了区别代码“1”、“V”和“0”,在添加破坏符号“V”时,用“11”标识符号“V”,用“01”标识符号“1”,用“00”标识符号“0”。
因此,添加破坏符号“V”的设计思想如下:
首先判断输入的代码是什么,如果输入的符号是“0”码,则接着判断这是第几个“0”码,如果是第四个“0”码,则把这个“0”码变换成“V”码。
在其他的情况下,让原码照常输出。
程序流程图如图3所示:
图3添加破坏符号“V”符号流程图
假设输入某信息序列,根据设计思想,输入代码一添加破坏符号“V”后的关系如下:
信息序列:
10000100001100011
添加破坏符号V后:
010*********
图4计数流程图
图5V点跟踪流程图
4.2.3添加符号“B”的实现
根据HDB3码的编码规则可知:
添加破坏符号“V”模块的功能是为了
证附加“V”符号后的序列不破坏“极性交替反转”造成的无直流特性,即当相邻“V”符号之间有偶数个非0符号的时候,把后一小段的第一个“0”变换成一个非破坏符号——“B”符号。
具体是在编码输出过程中实现的。
图6编码输出流程图
根据这个设计思想,输入代码与插“V”及插“B”后的代码的关系如下:
代码:
100001000011000011
插V后:
010000001101000000110101000000110101
插B后:
010000001101000000110101100000110101
4.3编码中单/双极性转换的实现
根据HDB3码的编码规则,可知“V”的极性是正负交替变换的,而余下的“1”和“B”本毕业设计把其看成为一体且是正负交替变换的,同时满足“V”的极性与前面的非零码极性一致。
由此本设计就把“1”和“B”看成一组,而“V”单独作为一组来做正负交替变换。
同时,已知“1”、“V”,“B”已经分别用双相码“01”,“11”,“10”标识,所以对“1”,“V”,“B”的正负交替变换很容易实现。
具体也是在编码输出时实现。
4.4HDB3码编码器完整源程序
------HDB3码编码器
------输出相对于输入延时了五个脉冲周期
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityhdb3_codingis
port(data_in:
instd_logic;
clock:
data_out:
outstd_logic_vector(1downto0));
endhdb3_coding;
architecturertlofhdb3_codingis
signalreg:
std_logic_vector(3downto0);
signalparity:
std_logic;
--记录破坏点间1码个数的奇偶性
signaljudge_v:
--判断是否有破坏符
signalgrant_cnt:
--允许开始计算破坏点间的1码个数
signallast_sign:
--上一输出的符号
signalv_cnt:
std_logic_vector(2downto0);
--v点位置跟踪计数器
begin
process(clock)--移位寄存器,插V
begin
ifrising_edge(clock)then
ifdata_in='
0'
andreg(3downto1)="
000"
then
reg<
=(reg(3downto1)&
’1’);
judge_v<
='
1'
;
grant_cnt<
elsereg<
=data_in&
reg(3downto1);
endif;
endprocess;
process(clock)--计数
ifrising_edge(clock)then
ifgrant_cnt='
anddata_in='
thenparity<
elsifgrant_cnt='
elsifdata_in='
=notparity;
process(clock)--V点跟踪
ifjudge_v='
thenv_cnt<
="
elsifv_cnt="
111"
=v_cnt;
elsev_cnt<
=v_cnt+1;
process(clock)--编码输出
ifreg(0)='
ifv_cnt<
010"
then
iflast_sign='
thendata_out<
11"
elsedata_out<
01"
elsiflast_sign='
last_sign<
=notlast_sign;
elsifjudge_v='
andparity='
00"
endrtl;
4.5HDB3码编码器的波形仿真及分析
图7输入全“0”时编码输出
图8输入全“0”时占用
图9输入全“1”时编码输出
图10输入全“1”时占用
图11输入“100001000011000011000010”时编码输出
图12输入“100001000011000011000010”时占用
图13输入“100001000011000011000010”时延时分析
由仿真波形可以得出:
CODEIN:
00000000000000000000……
CODEOUT:
00001100001101000001110000110100000111000011……
1111111111111111……
000000000011011101110111011101110111011101……
1000010000110000110000
0000000000110000001101000000011101110000110111000011
从图7、图9、图11可知,其输出的代码与根据HDB3码编码原理算出来的代码完全一致。
波形仿真成功。
总结与心得
本次课程设计内容丰富,涉及的知识面较广。
在设计前期,通过查找资料为设计准备,使我对所学专业方面的许多知识又温习了一遍,许多以前很模糊、很孤立的部分知识通过这次设计得以贯穿,而且掌握得更加地稳固了;
此外,通过这次课程设计,在软件编程方面,使我了解到了自己的许多不足之处,通过查找参考资料和指导老师耐心的辅导,使我对使用VHDL语言有了一定的掌握。
但在设计过程中也出现了不少问题,设计前期在利用MAXPLUSII软件工具对HDB3数字编码器的程序进行编译时,由于工程名和实体名不一致使得编译无法进行。
通过这次课程设计,我不仅加深了对通信原理理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。
同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。
设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。
参考文献
[1]樊昌信,张甫翎,徐炳祥,吴成柯.通信原理[M]国防工业出版社,2005.5
[2]王虹.通信系统原理[M]国防工业出版社,2014.8
[3]谭会生,张昌凡.EDA技术及应用[M]西安科技大学出版社,2004.4
[4]段吉海,黄智伟.基于CPLD/FPGA的数字通信系统建模与实现[M]电子工业出版社,2004.5
[5]王乐毅.EDA设计技术与方法(Ⅱ)PLD与EDA工具[J]青岛化工学院学报,2001
[6]林敏,方颖立.VHDL数字系统设计与高层次综合[M]电子工业出版社,2002
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- HDB3 编码 教学 文案