ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:192.56KB ,
资源ID:16260711      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16260711.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于MATLABSimulink的HDB3编译码器的仿真Word文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于MATLABSimulink的HDB3编译码器的仿真Word文档格式.docx

1、偶数个非0码就取B00V,定符号:V的取值 第一个V取值与AMI码(见上)的第一个+1相同,即取+V,以后交替取+V,-V。然后1与B的符号交替变化即可快速编码原理:HDB3码的编码中,V相当于破坏码元,B相当于为消除破坏码元影响而引入的调节码元。为保证输出无直流的特性,破坏码元V的保持交替变化,同理1与B也得保持交替变化。例如:消息代码:1 0 0 0 0 10 0 0 01 1 0 0 0 0 1 10 0 0 00 0 0 0 1 1 10 0 0 01中间码: 1 0 0 0 V 10 0 0 V1 1 B 0 0 V 1 1B 0 0 VB 0 0 V 1 1 10 0 0 V1HD

2、B3码:+1 0 0 0 +V -10 0 0 -V+1 -1 +B 0 0 + V -1 +1 -B 0 0 -V+B 0 0 +V -1 +1 -10 0 0 -V+1 HDB3码的特点1 由HDB3码确定的基带信号无直流分量,且只有很小的低频分量;2 HDB3中连0串的数目至多为3个,易于提取定时信号。3 编码规则复杂,但译码较简单。解码规则1虽然编码很复杂,但解码规则很简单,就是把原来的取代节(4个连零)找到即可,若3连“0”前后非零脉冲同极性,则将最后一个非零元素译为零,如+1000+1 就应该译成“10000”,否则不用改动;若2连 “0”前后非零脉冲极性相同,则两零前后都译为零,

3、如-100-1,就应该译为0000,否则也不用改动.2.再将所有的-1变换成+1后,就可以得到原消息代码。2. HDB3编译码器的设计方案方案1:基于VHDL的HDB3编译码器的设计方案方案1设计流程:可编程逻辑器件的一般设计流程可编程逻辑器件的设计过程是利用EDA开发软件和编程工具对器件进行开发的过程。可编程逻辑器件的一般设计流程如图1-1所示,包括设计准备,设计输入,功能仿真,设计处理,时序仿真和器件编程及测试等七个步骤。图2-1 可编程逻辑器件的一般设计流程在HDB3码的VHDL建模思想是在消息代码的基础上,依据HDB3编码规则进行插人“V”符号和“B”符号的操作,且用2位二进制代码分别

4、表示。最后完成单极性信号变成双极性信号的转换。其编码模型如图所示:消息码 HDB3码整个HDB3编码器包含3个功能部分:插“V”、插“B”和单极性码转变成双极性码。各部分之间采用同步时钟作用,并且带有一个异步的复位(清零)端口。方案1.译码流程:方案2:基于Matlab程序语言的HDB3编译码器的设计方案掌握HDB3码的编码规则,利用MATLAB设计并实现HDB3码的编码和译码最终方案:基于VHDL的HDB3编译码器的设计方案需要实现以下模块的设计:(1)插“V”模块的实现(2)插”B”模块的实现(3)单极性变双极性的实现(4)双极性变换的硬件电路(5)用VHDL语言设计HDB3译码器(6)扣

5、V扣B模块建模在设计过程中模块较多工作量比较大,且容易出错,故此方案被舍弃。3. Matlab程序语言的HDB3编译码器的设计技术简介MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代

6、表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本

7、中也加入了对C,FORTRAN,C+,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。MATLAB提供了一种高级编程语言M语言,这种语言的语法结构与C语言非常类似,任何熟悉C语言的用户学习使用M语言都不会有任何障碍。尽管M语言是一种解释性的编程语言,但是随着MATLAB版本的不断升级,以及充分利用MATLAB提供的各种编程技巧,能够有效提高M语言应用程序的执行效率,使M语言成为了工程领域中最适合进行算法开发验证的编程语言。原理简述编码规则:1) 先将消息代码

8、变换成AMI码,若AMI码中连0的个数小于4,此时的AMI码就是HDB3码;2) 若AMI码中连0的个数大于3,则将每4个连0小段的第4个0变换成与前一个非0符号(+1或-1)同极性的符号,用表示(+1+,-1-);3) 为了不破坏极性交替反转,当相邻符号之间有偶数个非0符号时,再将该小段的第1个0变换成B或-B,符号的极性与前一非零符号的相反,并让后面的非零符号从符号开始再交替变化。例如:消息代码: 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1AMI码: +1 0 0 0 0 -1 0 0 0 0 +1 -1 0 0 0 0 +1 -1HDB3码:+1 0 0 0

9、+V -1 0 0 0 -V +1 -1 +B 0 0 +V -1 +1简易编码方法:原理:HDB3码既要包含AMI的交替特性使输出无直流特性,又要不出现四个以上的连0,因此可以先满足后者。1)把0000换为取代节。规则:先将分离开来,第一个直接变为000V,然后数相邻两个之间1的个数,奇数则变为,偶数则变为 B00V。2)更新符号。根据教材有:B总是与其前面的1或V符号相反,V总是与前面的1或B相符号相同,1总是与前面的V或B符号相反,就可以编符号了。消息代码:1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0

10、1中间码: 1 0 0 0 V 1 0 0 0 V 1 1 B 0 0 V 1 1 B 0 0 V B 0 0 V 1 1 1 0 0 0 V 1+1 0 0 0 +V -1 0 0 0 -V +1 -1 +B 0 0 + V -1 +1 -B 0 0 -V +B 0 0 +V -1 +1 -1 0 0 0 -V +1解码规则:1)虽然编码很复杂,但解码规则很简单,若3连“0”前后非零脉冲同极性,则将最后一个非零元素译为零,如+1000+1 就应该译成“10000”;若2连 “0”前后非零脉冲极性相同,则两零前后都译为零,如-100-1,就应该译为0000.2)再将所有的-1变换成+1后,就可

11、以得到原消息代码。程序运行结果程序主界面运行结果程序源代码及注释% % AMI码的编码xn=1 0 0 0 0 10 0 0 01 1 0 0 0 0 1 10 0 0 0 1 1 11;% 输入单极性码yn=xn;% 输出yn初始化num=0;% 计数器初始化for k=1:length(xn) if xn(k)=1 num=num+1; % 计数器 if num/2 = fix(num/2) % 奇数个1时输出-1,进行极性交替 yn(k)=1; else yn(k)=-1; endend % HDB3编码 % 连零计数器初始化yh=yn; % 输出初始化sign=0; % 极性标志初始化

12、为0V=zeros(1,length(yn);% V脉冲位置记录变量 B=zeros(1,length(yn);% B脉冲位置记录变量length(yn) if yn(k)=0 % 连“0”个数计数 if num=4 % 如果4连“0” num=0; % 计数器清零 yh(k)=1*yh(k-4); % 让0000的最后一个0改变为与前一个非零符号相同极性的符号 V(k)=yh(k); % V脉冲位置记录 if yh(k)=sign % 如果当前V符号与前一个V符号的极性相同 yh(k)=-1*yh(k); % 则让当前V符号极性反转,以满足V符号间相互极性反转要求 yh(k-3)=yh(k)

13、; % 添加B符号,与V符号同极性 B(k-3)=yh(k); % B脉冲位置记录 yh(k+1:length(yn)=-1*yh(k+1:length(yn); % 并让后面的非零符号从V符号开始再交替变化 sign=yh(k); % 记录前一个V符号的极性 % 当前输入为“1”则连“0”计数器清零end % 编码完成re=xn,yn,yh,V,B; % 结果输出: xn AMI HDB3 V&B符号 % HDB3解码input=yh; % HDB3码输入decode=input; % 极性标志初始化length(yh) if input(k) = 0 if sign=yh(k) % 如果当

14、前码与前一个非零码的极性相同 decode(k-3:k)=0 0 0 0;% 则该码判为V码并将*00V清零 sign=input(k); % 极性标志decode=abs(decode); % 整流error=sum(xn-decode); % 解码的正确性检验,作图subplot(3,1,1);stairs(0:length(xn)-1,xn);axis(0 length(xn) -2 2);subplot(3,1,2);length(xn)-1,yh);subplot(3,1,3);length(xn)-1,decode);总结与心得三周的课程设计结束了,在这次的课程设计中不仅检验了我所

15、学习的知识,也培养了我如何去把握一件事情,如何去做好一件事情,又如何完成一件事情。在设计过程中,与同学分工设计和同学们相互探讨,相互学习,相互监督,学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。课程设计是对我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不可少过程。“千里之行始于足下”,通过这次课程设计我深深体会到这句千古名言真正含义。我今天认真的进行课程设计,学会脚踏实地迈开这一步,是为了明天能稳健地在社会大潮中奔跑打下坚实的基础。在这次设计过程中,体现出自己单独设计的能力及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从

16、发现自己平时学习的不足和薄弱环节从而加弥补。在此感谢我们的知道老师:侯宝生老师。侯老师严谨细致、一丝不苟是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽启迪;在老师细心指导和帮助下,我才能够顺利完成了次课程设计。同时感谢帮助过我的同学们,谢谢们对我的帮助和支持,让我感受到同学间的友谊。由于本人的设计能力有限,设计的过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,本人万分感谢。参考文献(1)邓勇、周择、邓斌著数字电路设计完全手册.国防工业出版社。2004;(2)朱正伟著EAD技术及应用.清华大学出版社。2005;(3)全国大学生电子设计组委会著电子系统设计实践2005;(4)林明权著VHDL数字控制系统设计范例. 电子工业出版社(5)冯涛著可编程逻辑器件开发技术MAXplus入门与提高 人民邮电出版社(6)王毓银著数字电路逻辑设计 高等教育出版社(7)赵俊超著集成电路设计VHDL语言教程 北京希望出版社附录源程序 if num/2 = fix(num/2) if num=4 if yh(k)=sign end if sign=yh(k)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1