Matlab实现HDB3码的编解码过程
更新时间:2023-04-27 08:18:02 阅读量: 实用文档 文档下载
- matlab推荐度:
- 相关推荐
-
通信工程专业《通信系统课程设计》研究报告
Matlab实现HDB3码的编解码
过程
学生姓名:
学生学号:
指导教师:
所在学院:
专业班级:
2018年7月
欢迎下载
-
欢迎下载
信息技术学院
课程设计任务书
电气与信息院通信工程专业通信S17 级,学号姓名
一、课程设计课题:
Matlab实现HDB
3
码的编解码过程
二、课程设计工作日自 2018 年 6 月 25 日至 2018 年 7 月 5 日
三、课程设计进行地点:信息馆
四、程设计任务要求:
1.课题来源:
指定教师指定题目
2.目的意义:
数字基带信号的传输是数字通信系统的重要组成部分。在数字通信中,有些场合可不经过载波调制和解调过程,而对基带信号进行直接传输。采用AMI码的信号
交替反转,有可能出现四连零现象,这不利于接收端的定时信号提取。而HDB
3码因其无直流成份、低频成份少和连0个数最多不超过三个等特点,而对定时信号的恢复十分有利,并已成为CCITT协会推荐使用的基带传输码型之一。
3.基本要求:
a.掌握HDB
3
编解码原理。
b.对HDB
3
编解码进行仿真模型设计。
c.有系统框图,电路原理图,软件流程图,模拟仿真结果图。
课程设计评审表
-
欢迎下载Matlab实现HDB3码的编解码过程
概述:数字信号的传输方式按其在传输中对应的信号的不同可分为数字基带传输系统和数字频带传输系统。在数字通信中,选择合适在信道中传输的码型是十分重要的,常用的传输码型是AMI码,但当原信码出现长连“0”串时,信号的电平长时间不调变时,造成提取定时信号的困难。解决连“0”码问题的有效方法之一是采用HDB3码。HDB3码(三阶高密度码)是比较常用的信道传输码型, HDB3码具有较强的检错能力,当数据序列用HDB3码传输时,若传输过程中出现单个误码,其极性交替变化规律将受到破坏,因而在接收端根据HDB3码这一独特规律特性,可检出错误并纠正错误,同时HDB3码方便提取位定时信息。
第一部分原理介绍
(一)HDB
3
编码解码原理
HDB
3
码:三阶高密度双极性码。
HDB
3
码与二进制序列的关系:
(1)二进制信号序列中的“0”码在HDB
3
码中仍编为“0”码,二进制信号中
“1”码,在HDB
3
码中应交替地成+1和-1码,但序列中出现四个连“0”码时应按特殊规律编码(引入传号交替反转码的“破坏点”V码);
(2)二进制序列中四个连“0”按以下规则编码:信码中出现四个连“0”码时,要将这四个连“0”码用000V或B00V取代节来代替(B和V也是“1”码,可正、可负)。这两个取代节选取原则是,使任意两个相邻v脉冲间的传号数为奇数时选用000V取代节,偶数时则选用B00V取代节。
(二)在实际的传输系统中,并不是所有的代码电气波形都可以信道中传输。含有直流分量和较丰富的单极性基带波形就不适宜在低频传输特性差的信道中传输,因为它有可能造成信号的严重的畸变。
在传输码(或称线路码)的结构将取决于实际信道特性和系统的工作条件。通常,传输码的结构应具有以下的特性:
1.相应的基带信号无直流分理,且低频分量少:
2.便于从信号中提取定时信息:
3.信号中高频分应尽量少以节省传输频带并减少码间串扰。
4.不受信号源统计特性影响,即能适应于信息源变化:
5.具有内在的检错能力,传输的码型应具有一定的规律性,以便利用这一规律性进行宏观监测:
6.编译码设备要尽可能简单,等等。
满足以上特性的传输码型种类繁多,这里使用HDB3。
要了解HDB3码的编码规则,首先要知道AMI码的构成规则,AMI码就是把单极性脉冲序列中相邻的“1”码(即正脉冲)变为极性交替的正、负脉冲。将“0”码保持不变,把“1”码变为+1、-1交替的脉冲。如:
AMI码:-10000 +10000-1 +10000-1 +1
-
欢迎下载 HBD 3码(3nd Order High Density Bipolar )的全称是三阶高密度双极性码,它是AMI 码的一种改进型,改进目的是为了保持AMI 码的优点而克服其缺点,使连“0”个数不超过3个。其编码规则:
a.检查消息码中连“0”的个数。当连“0”数目小于等于3时,HBD 3码与AMI 码一样(“1”交替的变换为“+1”和“-1”,“0”保持不变)。
b.当连“0”数目超过3时,将每4个连“0”化作一小节,定义为“B00V "称为破坏节,其中V 称为破坏脉冲,而B 称为调节脉冲;
c.V 与前一个相邻的非“0”脉冲的极性相同(这破坏了极性交替的规则,所以V 称破坏脉冲),并且要求相邻的V 码之间极性必须交替。V 的取值为“+1”或“-1”;
d.B 的取值可选0、+1或-1,,以使V 同时满足两个要求;
e.V 码后面的传号码极性也要交替。例如:
消息码: 1 000 0 1 000 0 1 1 000 0 000 0 1 1
AMI 码: -1 000 0 +1 000 0 -1+1 000 0 000 0 -1+1
HDB 3码:-1 000-V +1 000+V -1+1-B00-V +B00+V -1+1
其中的±B 脉冲和±V 脉冲与±1脉冲波形相同,用V 或B 表示的目的是为了示意其中的该非“0”码是由原信码的“0”变换而来的。
当相邻两个V 码之间有奇数个“1”码时,能保证V 码满足要求,B 取“0”;当相邻两个V 码之间有偶数个“1”码时,不能保证V 码极性交替,B 取“+1”或“-1”,B 码的符号与前相邻“1”相反,而其后面的V 码与B 码极性相同。
第二部分 MATLAB 编程仿真
M 文件调用函数
function[yn,decode]=HDB 3(xn)
yn=xn;
num=0;
for k=1:length(xn)
if xn(k)==1
num=num+1;
if num/2 == fix(num/2)
yn(k)=1;
else
yn(k)=-1;
end
end
end
-
欢迎下载num=0;
yh=yn;
sign=0;
V=zeros(1,length(yn));
B=zeros(1,length(yn));
for k=1:length(yn)
if yn(k)==0
num=num+1;
if num==4
num=0;
yh(k)=1*yh(k-4);
V(k)=yh(k);
if yh(k)==sign
yh(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(yn)); end
sign=yh(k);
end
else
num=0;
end
end
re=[xn',yn',yh',V',B'];
input=yh;
decode=input;
sign=0;
for k=1:length(yh)
if input(k) ~= 0
if sign==yh(k)
decode(k-3:k)=[0 0 0 0];
end
-
欢迎下载 sign=input(k);
end
end
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);stairs([0:length(xn)-1],yh);axis([0 length(xn) -2 2]);
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
3
(xn);
(运行效果图)
-
欢迎下载第三部分设计过程和体会
通过这两周的通信原理课程设计实践,我复习了MATLAB编程语言的基本概念、语法、语义和数据类型的使用特点,加深了对课堂所学理论知识的理解,掌握了运用结构化程序设计的基本思想和方法,更重要的是培养了自己的自学能力。
因为这是我们第二次接触MATLAB编程语言,在编写程序以及调试的过程中遇到了很多困难,但是我通过去图书馆查找资料,请教同学老师,再自己一点点改善程序,最终编写出一个比较完善的程序,实现了所有要求功能,这是最值得我欣慰的一点。
以下是我的几点切身感受:
(一)编写程序需要一个清醒的头脑,明确的思路,同时也要有耐心毅力。
刚拿到程序设计课题时,我感觉一片茫然,因为在之前的信号处理学习中,只是在一些例题中接触过MATLAB语言,甚至没有看过一些基础的书籍,更没有上过课,所以初次遇到一个实际问题,感觉无从下手。这是由于自己对MATLAB的模块设计不够理解,同时对MATLAB的基本语句一无所知,不过通过请教老师懂得了首先要设计guide目录,再根据用户输入,执行swtich语句,在每个case后调用一个函数,来实现要求的功能,这样一下子豁然开朗,掌握了基本设计思路之后,后面的编程就顺利多了。至此,我真真体会到清晰地思路对成功编写一个程序的重要性。
当然成功编写一个程序绝非易事,之前,我总以为程序能够正常运行,就代表着编程成功,后来我才发现我大错特错了。我用了三天时间,完成了程序的编写、改错,但我立刻发现尽管程序能够正常运行,部分功能却不完善,甚至不能实现。经过一次又一次调试、修改又修改,一点一点发现问题并改正,我才真正发现编程远没有想象中的简单。它需要的不仅是清晰地编程思路、编程技巧,还需要有耐心有毅力,不要放弃。
(二)我们在大学需要学习的不仅是基础知识、专业知识,更重要的是一种学习能力。
正如老师所说学习是终生的,因此学习能力也就能让我们受益终生。由于课堂时间有限,MATLAB课程只能靠我们自学,然而guide画图功能我们必须用到,因此只能通过自习,实践也证明我们是有自学的潜能的,通过自学课本,不理解的知识,通过查找资料,请教老师,最终掌握知识,因此,这次课程设计时间培养了我们的自学能力。
(三)要学会向他人请教,与他人合作。
在编程过程中,我遇到了许多问题,通过查找资料也未能找到原因,每次我想老师请教,老师总能不厌其烦地一点点讲解。有时,老师为了帮我在那几百行的程序中找到问题,花上一个多小时,这让我非常感动。大学中的老师是每个大学生的好资源,他的博学、重教,向他们请教会有很大收获。
在编程过程中,我与我组成员共同讨论,为对方查找错误,提示建议,在这个过程中我收获甚多,也培养了自己的合作精神。
(四)要学会总结,提高。
在编程过程中,我发现自己的程序还有很多地方可以完善。程序的界面可以做得更加人性化,这样使用户使用更加方便,画图函数也还可以改进,例如:在使用figure分图显示的时候,我尽量选择部分图,都在一个figure中显示,这样既符合了,老师的要求——尽量在一个图中完成设计,同时也使整个设计的显得干净利落。
-
参考文献
[1]《通信原理》(第5版)樊昌信等编著国防工业出版社北京2001年
[2]《MA TLAB信息工程工具箱技术手册》魏巍主编国防工业出版社北京2004年
[3]《MATLAB通信仿真开发手册》孙屹主编李妍编著国防工业出版社北京2004年
[4]《MA TLAB通信仿真及应用实例详解》邓华等编著人民邮电出版社北京2003年
[5]《现代通信系统仿真及应用》李仲令曹世文葛造坤电子科技大学出版社西安1997年欢迎下载
正在阅读:
Matlab实现HDB3码的编解码过程04-27
公务员考试练习题:逻辑判断(371)05-05
主体预埋合同06-20
税务会计练习12-22
2020版新学优高中英语同步外研必修3 精练习题:Module 1 1.105-07
运动会开幕式解说词04-18
Revit2012初级工程师题集一04-19
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 解码
- 过程
- 实现
- Matlab
- HDB3
- 江阴市2012-2013第二学期九年级数学期中考试
- 人教版2019-2020学年度三年级下学期小学英语期末真题模拟试卷CZ8
- 英语四级单词谐音快速记忆法(四级考试必备)记单词高招大全
- 筛分机技术性能及参数
- 2018年安徽师范大学政治学院333教育综合之教育学考研核心题库
- 金融理论与实务 00150(精华和课后答案)
- 大型石油化工储罐火灾扑救(正式版)
- 幼儿园教学案例模板范文:牛奶翻倒以后(四篇)
- 从未曝光的名品珠宝手绘图、珠宝欣赏
- 七年级英语上册 Unit 3 Is this your pencil Section B(2a-2c)教案 (新版)人教新目标版
- (完整word版)高级英语2第三版_张汉熙_课文翻译
- 2018年西南大学中国文学研究所中国新诗研究所626文论与写作之中国当代文学史考研冲刺五套模拟题
- 2018年南京大学3201数据库、概率论之概率论与数理统计(概率论部分)复试实战预测五套卷
- 人教部编版八年级下册历史第2课抗美援朝预习学案和巩固练习
- 同步电动机经常出现的故障及原因分析正式版
- 使渠道稳定高效的几点策略(1)
- 四川省遂宁市射洪中学2021届高三数学上学期零诊模拟试题 文
- 内蒙古巴彦淖尔市第一中学2017-2018学年高二9月月考物理试题(没答案)
- 工伤保险缴费金额标准是什么?
- 2014海南省银行从业资格考试《公共基础知识》历年真题库选择题1考试技巧与口诀