实现码的编解码过程

上传人:hs****ma 文档编号:487446840 上传时间:2023-07-11 格式:DOC 页数:7 大小:137.50KB
返回 下载 相关 举报
实现码的编解码过程_第1页
第1页 / 共7页
实现码的编解码过程_第2页
第2页 / 共7页
实现码的编解码过程_第3页
第3页 / 共7页
实现码的编解码过程_第4页
第4页 / 共7页
实现码的编解码过程_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《实现码的编解码过程》由会员分享,可在线阅读,更多相关《实现码的编解码过程(7页珍藏版)》请在金锄头文库上搜索。

1、通信工程专业通信系统课程设计研究报告Matlab 实现 HDB3 码的编解码过程学生姓名: 学生学号: 指导教师: 所在学院: 专业班级:2018年 7 月信息技术学院课程设计任务书电气与信息 院 通信工程 专业 通信 S17 级,学号姓名 一、课程设计课题:Matlab实现HDB码的编解码过程二、课程设计工作日自三、课程设计进行地点:2018年6月25 日至2018 年7 月 5日信息馆四、程设计任务要求:1.课题来源:指定教师指定题目2. 目的意义:数字基带信号的传输是数字通信系统的重要组成部分。在数字通信中,有些场合 可不经过载波调制和解调过程,而对基带信号进行直接传输。采用AMI码的信

2、号交替反转,有可能出现四连零现象,这不利于接收端的定时信号提取。而HDB码因其无直流成份、低频成份少和连 0个数最多不超过三个等特点,而对定时信 号的恢复十分有利,并已成为CCITT协会推荐使用的基带传输码型之一。3. 基本要求:a. 掌握HDB编解码原理。b. 对HDB编解码进行仿真模型设计。c. 有系统框图,电路原理图,软件流程图,模拟仿真结果图课程设计评审表指导教师评语:成绩:签字:日期:# / 8Matlab 实现 HDB3 码的编解码过程概述 :数字信号的传输方式按其在传输中对应的信号的不同可分为数字基带传输 系统和数字频带传输系统。在数字通信中 ,选择合适在信道中传输的码型是十分重

3、 要的 ,常用的传输码型是 AMI 码,但当原信码出现长连 “0串”时,信号的电平长时 间不调变时,造成提取定时信号的困难。解决连 “0码”问题的有效方法之一是采用 HDB 3码。 HDB 3码(三阶高密度码)是比较常用的信道传输码型 , HDB 3码具有较 强的检错能力, 当数据序列用 HDB 3码传输时, 若传输过程中出现单个误码, 其极 性交替变化规律将受到破坏, 因而在接收端根据 HDB3 码这一独特规律特性, 可检 出错误并纠正错误,同时 HDB3 码方便提取位定时信息。第一部分 原理介绍(一)HDB编码解码原理HDB码:三阶高密度双极性码。HDB 3码与二进制序列的关系:(1)二进

4、制信号序列中的“ 0”码在 HDB3 码中仍编为“ 0”码,二进制信号中 “1”码,在 HDB3 码中应交替地成 +1和-1 码,但序列中出现四个连“ 0”码时应按 特殊规律编码(引入传号交替反转码的“破坏点” V 码);(2)二进制序列中四个连“ 0”按以下规则编码:信码中出现四个连“ 0”码 时,要将这四个连“ 0”码用000V或BOOV取代节来代替(B和V也是“ 1”码,可 正、可负)。这两个取代节选取原则是,使任意两个相邻 v 脉冲间的传号数为奇数 时选用000V取代节,偶数时则选用B00V取代节。(二)在实际的传输系统中,并不是所有的代码电气波形都可以信道中传输。含 有直流分量和较丰

5、富的单极性基带波形就不适宜在低频传输特性差的信道中传 输,因为它有可能造成信号的严重的畸变。在传输码(或称线路码)的结构将取决于实际信道特性和系统的工作条件。 通常,传输码的结构应具有以下的特性:1. 相应的基带信号无直流分理,且低频分量少 :2. 便于从信号中提取定时信息:3. 信号中高频分应尽量少以节省传输频带并减少码间串扰。4. 不受信号源统计特性影响,即能适应于信息源变化:5. 具有内在的检错能力, 传输的码型应具有一定的规律性, 以便利用这一规律 性进行宏观监测:6. 编译码设备要尽可能简单,等等。 满足以上特性的传输码型种类繁多,这里使用 HDB3。要了解 HDB3 码的编码规则,

6、首先要知道 AMI 码的构成规则, AMI 码就是把 单极性脉冲序列中相邻的 “1码” (即正脉冲 )变为极性交替的正、负脉冲。将 “0码”保 持不变,把 “1码”变为+1、-1 交替的脉冲。如:AMI 码: -10 0 0 0 +10 0 0 0 -1 +10 0 0 0 -1 +1HBD3码(3nd Order High De nsity Bipolar )的全称是三阶高密度双极性码,它是AMI码的一种改进型,改进目的是为了保持 AMI码的优点而克服其缺点,使连 “(个数不超过3个。其编码规则:a. 检查消息码中连“(的个数。当连“C数目小于等于3时,HBD3码与AMI码一 样(“ 1交替

7、的变换为“+1和-T, “0保持不变)。b. 当连“(数目超过3时,将每4个连“(化作一小节,定义为“B00V称为破坏节, 其中V称为破坏脉冲,而B称为调节脉冲;c. V与前一个相邻的非“0脉冲的极性相同(这破坏了极性交替的规则,所以V 称破坏脉冲),并且要求相邻的V码之间极性必须交替。V的取值为“+1或-T;d. B的取值可选0、+1或-1,,以使V同时满足两个要求;e. V码后面的传号码极性也要交替。例如:消息码:1 000 0 1 000 0 1 1 000 0 000 0 1 1AMI 码:-1 000 0 +1 000 0 -1+1 000 0 000 0 -1+1HDB3码:-1

8、000-V +1 000+V -1+1-B00-V +B00+V -1+1其中的出脉冲和/脉冲与脉冲波形相同,用V或B表示的目的是为了示 意其中的该非“ C码是由原信码的“ 0变换而来的。当相邻两个V码之间有奇数个“ 1码时,能保证V码满足要求,B取“0;当相邻 两个V码之间有偶数个“ 1码时,不能保证V码极性交替,B取“+1或-T, B码 的符号与前相邻“ 1相反,而其后面的V码与B码极性相同。第二部分 MATLAB编程仿真M文件调用函数functionyn,decode=HDB 3(xn)yn=xn;num=0;for k=1:le ngth(x n)if xn( k)=1 num=nu

9、m+1;if num/2 = fix(num/2)yn( k)=1;elseyn (k)=-1;endendend num=0;yh=yn;sign=0;V=zeros(1,length(yn);B=zeros(1,length(yn);for k=1:length(yn)if yn(k)=0num=num+1;if num=4num=0;yh(k)=1*yh(k-4);V(k)=yh(k);if yh(k)=signyh(k)=-1*yh(k);yh(k-3)=yh(k);B(k-3)=yh(k);V(k)=yh(k); yh(k+1:length(yn)=-1*yh(k+1:length(

10、yn); endsign=yh(k);endelsenum=0;endendre=xn,yn,yh,V,B;input=yh;decode=input;sign=0;for k=1:length(yh)if input(k) = 0if sign=yh(k)decode(k-3:k)=0 0 0 0;endsig n=in put(k);endenddecode=abs(decode);error=sum(x n-decode);subplot(3,1,1);stairs(0:length(xn)-1,xn);axis(0 length(xn) -22);subplot(3,1,2);stai

11、rs(0:length(xn)-1,yh);axis(0 length(xn) -22);subplot(3,1,3);stairs(0:length(xn)-1,decode);axis(0 length(xn) -2 2);M文件运行程序xn=1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1;yn=HDB(x n);(运行效果图)第三部分 设计过程和体会通过这两周的通信原理课程设计实践,我复习了MATLAB程语言的基本概念、语法、语义和数据类型的使用特点,加深了对课堂所学理论知识的理解,掌握了 运用结构化程序设计的基本思想和方法,更重要的是培养了自己的

12、自学能力。 因为这是我们第二次接触MATLA编程语言,在编写程序以及调试的过程中遇到了 很多困难,但是我通过去图书馆查找资料,请教同学老师,再自己一点点改善程 序,最终编写出一个比较完善的程序,实现了所有要求功能,这是最值得我欣慰 的一点。以下是我的几点切身感受:(一)编写程序需要一个清醒的头脑,明确的思路,同时也要有耐心毅力。刚拿到程序设计课题时,我感觉一片茫然,因为在之前的信号处理学习中, 只是在一些例题中接触过 MATLA语言,甚至没有看过一些基础的书籍,更没有上 过课,所以初次遇到一个实际问题,感觉无从下手。这是由于自己对MATLAB勺模块设计不够理解,同时对 MATLAB勺基本语句一

13、无所知,不过通过请教老师懂得了 首先要设计 guide 目录,再根据用户输入 , 执行 swtich 语句,在每个 case 后调用 一个函数,来实现要求的功能,这样一下子豁然开朗,掌握了基本设计思路之后, 后面的编程就顺利多了。至此,我真真体会到清晰地思路对成功编写一个程序的 重要性。当然成功编写一个程序绝非易事,之前,我总以为程序能够正常运行,就代 表着编程成功,后来我才发现我大错特错了。我用了三天时间,完成了程序的编 写、改错,但我立刻发现尽管程序能够正常运行,部分功能却不完善,甚至不能 实现。经过一次又一次调试、修改又修改,一点一点发现问题并改正,我才真正 发现编程远没有想象中的简单。

14、它需要的不仅是清晰地编程思路、编程技巧,还 需要有耐心有毅力,不要放弃。(二)我们在大学需要学习的不仅是基础知识、专业知识,更重要的是一种学 习能力。正如老师所说学习是终生的,因此学习能力也就能让我们受益终生。由于课 堂时间有限,MATLA课程只能靠我们自学,然而guide画图功能我们必须用到, 因此只能通过自习,实践也证明我们是有自学的潜能的,通过自学课本,不理解 的知识,通过查找资料,请教老师,最终掌握知识,因此,这次课程设计时间培 养了我们的自学能力。(三)要学会向他人请教,与他人合作。在编程过程中,我遇到了许多问题,通过查找资料也未能找到原因,每次我 想老师请教,老师总能不厌其烦地一点

15、点讲解。有时,老师为了帮我在那几百行 的程序中找到问题,花上一个多小时,这让我非常感动。大学中的老师是每个大 学生的好资源,他的博学、重教,向他们请教会有很大收获。在编程过程中,我与我组成员共同讨论,为对方查找错误,提示建议,在这 个过程中我收获甚多,也培养了自己的合作精神。(四)要学会总结,提高。 在编程过程中,我发现自己的程序还有很多地方可以完善。程序的界面可以做得更加人性化,这样使用户使用更加方便,画图函数也还可以改进,例如:在 使用 figure 分图显示的时候,我尽量选择部分图,都在一个 figure 中显示,这 样既符合了,老师的要求尽量在一个图中完成设计,同时也使整个设计的显 得干净利落。参考文献1 通信原理 (第 5版)樊昌信 等编著 国防工业出版社 北京 2001 年2 MA TLAB 信息工程工具箱技术手册魏巍主编 国防工业出版社 北京 2004 年3 MATLAB 通信仿真开发手册孙屹 主编 李妍 编著国防工业出版社 北京 2004 年

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号