CMI编解码的设计与仿真课程设计.docx
- 文档编号:12177316
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:15
- 大小:103.90KB
CMI编解码的设计与仿真课程设计.docx
《CMI编解码的设计与仿真课程设计.docx》由会员分享,可在线阅读,更多相关《CMI编解码的设计与仿真课程设计.docx(15页珍藏版)》请在冰豆网上搜索。
CMI编解码的设计与仿真课程设计
CMI编解码的设计与仿真课程设计
课程设计I课程设计
设计说明书
CMI编解码的设计与仿真
学生姓名张敏杰
1018064036学号
班级网络102
成绩
指导教师李征
计算机科学与技术系
2012年7月1日
1
网络工程课程设计评阅书题目CMI编解码的设计与仿真
1018064036学生姓名张敏杰学号指导教师评语及成绩
指导教师签名:
年月日答辩评语及成绩
答辩教师签名:
年月日教研室意见
总成绩:
室主任签名:
年月日
2
课程设计任务书
2006—2007学年第一学期
专业:
网络工程学号:
1018064036姓名:
张敏杰课程设计名称:
网络工程课程设计
设计题目:
CMI编解码的设计与仿真
完成期限:
自2012年6月11日至2012年6月22日共2周设计依据、要求及主要内容(可另加附页):
(1)设计CMI编解码程序前,应认真了解其编解码规则和原理,以理论做指导,再认真构思设计方案。
[3]
(2)程序设计完成后应进行调试、仿真和分析。
(3)对于仿真结果的处理和理论分析结论应该一致,而且仿真应符合理论。
(4)独立完成课程设计并按要求编写课程设计报告书。
指导教师(签字):
教研室主任(签字):
批准日期:
年月日
3
摘要
CMI码的简介
1、CMI码是传号反转码的简称,它是一种应用于PCM四次群和光纤传输系统中的常用线路码型,具有码变换设备简单、有较多的电平跃变,含有丰富的定时信息,便于时钟提取,有一定的纠错能力等优点。
在高次脉冲编码调制终端设备中广泛应用作接口码型,在速率低于8448Kb/s的光纤数字传输系统中也被建议作为线路传输码型。
在CMI编码中,输入码字0直接输出01码型,较为简单。
对于输入为1的码字,其输出CMI码字存在两种结果00或11码,因而对输入1的状态必须记忆。
同时,编码后的速率增加一倍,因而整形输出必须有2倍的输入码流时钟。
在CMI解码端,存在同步和不同步两种状态,因而需进行同步。
同步过程的设计可根据码字的状态进行:
因为在输入码字中不存在10码型,如果出现10码,则必须调整同步状态。
在该功能模块中,可以观测到CMI在译码过程中的同步过程。
关键词:
CMI,通信,编码,译码
1
1概述...............................................................................1
1.1课程设计目的...........................................................1
1.2课程设计要求............................................................2
1.3课程设计内容及其步骤............................................2
1.4课程设计平台...........................................................32CMI编码与解码设计原理.................................................4
2.1CMI编码原理............................................................4
2.2CMI解码原理............................................................53设计内容............................................................................7
3.1对二进制序列NRZ码进行CMI编码.....................7
3.2对自定义CMI码进行解码......................................9
3.3对二进制序列NRZ码进行编码再解码还原..........11
4设计中出现的问题及解决方法.......................................15
5总结与心得.......................................................................166参考文献...........................................................................17
5
1概述
基带信号作为代码的一种电表示形式,在实际的基带传输系统中,并不是所有的基带电波形都能在信道中传输,若一个变换器把数字基带信号变换成适合于基带信道传输的基带信号,将有效的提高基带信号的传输效率。
归纳起来,对传输用的基带信号主要要求有两点:
一是对各种代码的要求,期望将原始信息符号编制成适合于传输用的码型;二是对所选码型
[1]的电波要求,期望电波形适宜于在信道中传输。
本课程设计主要是对二进制序列(例如:
110010111)的基带信号进行CMI编码与解码,编码成更适合与基带信道传输的基带信号。
在掌握了CMI编解码的基本规则基本原理后,在MATLAB环境下用程序语言实现CMI编码和CMI解码以
[2]及CMI编解码一体的信号还原功能。
具体实现了CMI编码与解码仿真过程。
CMI码的优点:
1、不存在直流分量,并且具有很强的时钟分量,有利于在接收端对时钟信号进行恢复;
2、具有检错能力,这是因为1码用00或11表示,而0码用01码表示,因而CMI码流中不存在10码,且无00与11码组连续出现,这个特点可用于检测CMI的部分错码。
1.1课程设计目的
(1)熟悉基带传输的常用码型,以及常用基带传输码的主要特性;
(2)了解基带传输常用编码中的CMI编码与解码的基本规则和原理;
(3)学会熟练使用MATLAB基本语言来设计简单、常用的程序,来解决一些简单的专业问题,模拟实现简单通信原理的功能。
(4)通过对二进制序列NRZ码的CMI编码前和解码后的信号进行码
1
型和波形的比较,掌握CMI编码的原理和特性。
(5)通过独立完成设计任务,独立思考和独立解决问题,提高自己的动手能力和独立思考能力,从而做到增强自身在这瞬息万变社会中的适应能力。
1.2课程设计要求
(1)设计CMI编解码程序前,应认真了解其编解码规则和原理,以理论做指导,再认真构思设计方案。
(2)程序设计完成后应进行调试、仿真和分析。
(3)对于仿真结果的处理和理论分析结论应该一致,而且仿真应符合理论。
(4)独立完成课程设计并按要求编写课程设计报告书。
1.3课程设计内容及其步骤
(1)随机产生数字基带信号:
一段二进制序列NRZ码,画出其波形图;将产生的数字基带信号进行CMI编码,画出编码后的波形图;将NRZ码编码前后的波形进行比较和分析;
(2)自定义一段CMI码,画出自定义CMI码的波形图;将自定义CMI码进行解码,并画出解码后二进制NRZ码的波形;将自定义CMI码的波形与其解码后的NRZ码波形进行比较和分析;
(3)随机产生数字基带信号:
一段二进制序列NRZ码;将产生的NRZ码进CMI编码;将编码生成的CMI码进行解码,画出原NRZ码波形和CMI编码波形以及解码后的波形,将其码型和波形分别与原输入NRZ码型和波形进行比较和分析,观察编解码还原是否正确。
2
1.4课程设计平台
(1)微机一台;
(2)微软Windowsxp操作系统;
(3)MATLAB7.0;
(4)微软OfficeWord2003;
3
2CMI编码与解码设计原理
2.1CMI编码原理
基带传输常用码型CMI编码的方案设计:
根据CCITT推荐,由于这种码型有较多的电平跳跃,因此,含有丰富的定时信息。
在程控数字交换机中CMI码一般作为PCM四次群数字中继接口的码型,在光缆传输系统中也用做线路传输码型。
CMI码的全称是传号反转码,CMI码的编码规则如下:
当输入“0”码时,编码输出“01”,当输入“1”码时,编码输出则“00“和”11“交替出现。
例如:
NRZ代码:
11010010
CMI码:
1100011101010001
其相应的波形比较如图2-1所示:
图2-1编码前与编码后波形图
根据此规则输出CMI码元的速率应为输入基带信号的2倍。
编码的总体思想是对输入的基带信号进行采样判断,如果‘0’则转化为“01”,如果为“1”则交替转化为“11”或“00”。
“0”的转化结果只有一种可
4
以直接转化为“01”,而“1”的转化结果有两种“11”和“00”,因此需要一个信号作为判断,当前面一个“1”码编码转换的是“00”时,判断编码转化为“11”,当前一个“1”码编码转换的是“11”时,则判断编码转化为“00”。
2.2CMI解码原理
CMI码解码的方案设计:
根据CCITT推荐,由于这种码型有较多的电平跳跃,因此,含有丰富的定时信息,在程控数字交换机中CMI码一般作为PCM四次群数字中继接口的码型。
CMI码的编码规则如下:
当输入“0”码时,编码输出“01”,当输
[1]入“1”码时,编码输出则“00”和“11”交替出现。
根据此规则,在CMI的解码模块中:
如果接收到“01”码,则可解码成“0”码;如果接收到“00”码或“11”码,则可解码还原为基带信号“1”,如果接收到“10”(因为CMI编码输出是先输的高位)但是由于CMI是串行传输,码流中可能出现会出现“10”这样的错误CMI码,为了解决这个问题,我们在解“10”码时统一将其解码输出为原先值。
例如:
CMI码:
110001011101100100
输出解码:
1100101001
其相应的波形比较如图2-2所示:
5
图2-2CMI码与其解码波形图
6
3设计内容
3.1对二进制序列NRZ码进行CMI编码
(1)随机产生长度为20位数字基带信号:
二进制序列NRZ码;
x=randint(20,1);生成的20位NRZ码为:
0100011110011011010
(2)将生成的二进制序列NRZ码输入CMI编码程序进行CMI编码;
将编码前后码型进行比较;画出编码前后的波形进行分析;%CMI编码程序,输入随机产生的20位NRZ码x,程序对其进行CMI编码,运行直接输出编码结果(详细程序见附录I的cmiencode.m);fork=1:
20%for语句NRZ码序列的第一个到第二十个循环;m=mod(n,2);%cmi编码结果“00”和“11”交替的判决语句;
if(x(k)==0)%如果NRZ码为“0”,则进行下一步;
b(k)=0;%cmi编码输出的前一位为“0”;
c(k)=1;%cmi编码输出的后一位为“1”;
end
if(x(k)==1&m==1)%如果NRZ码为“1”且编码判决码为1,则进行下一步;
1”;b(k)=1;%cmi编码输出的前一位为“
c(k)=1;%cmi编码输出的后一位为“1”;
n=n+1;%判决辅助码加“1”;
end
if(x(k)==1&m==0)%如果NRZ码为“1”且编码判决码为“0”,则进行下一步;
b(k)=0;%cmi编码输出的前一位为“0”;
7
c(k)=0;%cmi编码输出的后一位为“0”;
n=n+1;%判决辅助码加“1”;
end
end
fork=1:
20%for语句cmi编码后序列的第一个到第二十个的循环;
”,if(b(k)==1&c(k)==1)%如果cmi编码后的前一位和后一位都为“1则进行下一步;
fprintf('11')%cmi编码输出为"11";
end
elseif(b(k)==0&c(k)==0)%如果cmi编码后的前一位和后一位都为“0”,则进行下一步;
fprintf('00')%cmi编码输出为"00";
end
else%上述情况以外;
fprintf('01')%cmi编码输出为"01";
end
end
CMI编码输出结果为:
0001110101010011001101010011010011010001
将上述CMI编码结果和原NRZ码比较发现,编码输出符合:
当输入“0”码时,编码输出“01”,当输入“1”码时,编码输出则“00“和”11“交替出现的编码规则,编码程序仿真正确。
CMI编码前后波形比较如图3-1所示:
8
图3-1CMI编码前后波形
由图中波形可以看出,将二进制序列NRZ码进行CMI编码后,信号的电平跃变更多了,故定时信息量增加了,从而更加适合于基带传输,提高了传输效率。
3.2对自定义CMI码进行解码
(1)自定义一段CMI码,画出其波形图;将自定义CMI码进行解码,画出解码后的波形;
输入的CMI码y为:
11000111010111000100
9
其波形图如图3-2所示:
图3-2自定义CMI码波形
(2)将CMI码输入解码程序:
%CMI码解码程序,输入10个CMI码,运行程序将其进行解码直接输出解码结果(详细程序见附录II的cmidecode.m);
fork=1:
2:
21%输入的“1”、“0”一到二十循环;
if((k+1)<21)%为保证后面的k+1不超出码长;
if(y(k)==1&y(k+1)==1)%如果输入CMI为"11"时,运行下一步;
fprintf('1');%解码输出"1";
end
if(y(k)==1&y(k+1)==0)%如果CMI码的"10",则为错误码,则输出原码;
fprintf('10');
end
if(y(k)==0&y(k+1)==0)%如果CMI码为"00",则运行下一步;
fprintf('1');%解码输出"1";
10
end
if(y(k)==0&y(k+1)==1)%如果CMI码为"01",则运行下一步;
fprintf('0');%解码输出"0";
end%结束循环语句;
end
end
得到解码结果为
1101001101
其波形如图3-3所示:
图3-3自定义CMI解码波形
观察解码结果和波形发现解码符合CMI解码规则,解码正确,CMI解码仿真成功。
3.3对二进制序列NRZ码进行编码再解码还原
(1)随机产生数字基带信号:
二进制序列NRZ码;
x=randint(10,1);生成的10位NRZ码为:
0010111100
11
(2)将产生的NRZ码输入编解码程序进行CMI编码,再解码还原成二进制序列NRZ码。
%CMI码编解码一体的还原程序,输入随机产生的10位二进制序列NRZ码,运行程序进行编码后输出编码结果,再解码输出解码的结果(详细程序见附录III的cmi.m);
fork=1:
10%for语句cmi编码后序列的第一个到第十个的循环;
if(b(k)==1&c(k)==1)%如果cmi编码后的前后位都为“1”,则进行下一步;
fprintf('11')%cmi编码输出为"11";
elseif(b(k)==0&c(k)==0)%如果cmi编码后的前后位都为“0”,则进行下一步;
fprintf('00')%cmi编码输出为"00";
else%上述情况以外;
fprintf('01')%cmi编码输出为"01";
end%结束本if语句;
end%结束上层if语句;end%结束for循环语句;
fprintf('\n');%换行;
fprintf('Displaydecoderesult:
\n');%显示"输出解码结果为:
";fork=1:
10%for循环语句;
if(b(k)==1&c(k)==1)%if循环语句,如果cmi码的前序列为"1",则运行下一步;
fprintf('1');%输出显示"1";
end%if循环结束;
if(b(k)==1&c(k)==0)%如果cmi码的前序列为"1"后序列为"0",则运行下一步;
12
fprintf('10');%错误CMI码,解码输出显示原码"10";
end
if(b(k)==0&c(k)==0)%if循环语句,如果cmi码的前后位都为"0",则运行下一步;
fprintf('1');%输出显示"1";
end%if循环结束;
%if循环语句,如果cmi码的前位为"0"且if(b(k)==0&c(k)==1)后位为"1";
fprintf('0');%输出显示"0";
end%if循环结束;
end%for循环结束;
程序运行输出结果为:
TheinputNRZcodeis:
x=
0010111100
Displayencoderesult:
01011101001100110101
Displaydecoderesult:
0010111100
(3)随机生成的二进制序列NRZ码波形、CMI编码和解码后波形如图3-4所示:
13
图3-4随机NRZ码波形、编码后的波形、解码后的波形
通过前述程序输出码型和波形,不难看出程序的编解码还原过程符合CMI编解码规则,将二进制序列NRZ码进行CMI编码后,信号的电平跃变更多了,故定时信息量增加了,且解码输出的二进制序列码与原输入的NRZ码完全一致,编解码一体还原仿真成功。
14
4设计中出现的问题及解决方法
在此次课程设计中我遇到了很多难题,经过老师的细心指导和我自己的努力钻研和查阅书籍资料,问题都一一解决。
出现的主要问题如下:
(1)在设计之初,设计编码程序时,遇到“1”码的编码结果“11”和“00”交替,但是不知道何时编码输出为“11”,何时编码输出为“00”,经过仔细思考和认真研究原理,最后想到加一个判决码,辅助判决何时编码输出“11”,何时编码输出“00”。
(2)在设计单独的解码程序时,考虑到输入的CMI可能会出现错误,会有像“10”这样的错误码出现,它不符合CMI的编码规则,因此不能解码,在处理这个纠错问题上,最终还是以不解错误码,错误码按原码“10”输出。
(3)在画二进制序列的波形图时,由于我用的是plot函数画图,出现了不能画出形象代表二进制序列的方波,在查阅书籍之后也没找到结果,最后经过老师的指点最终采用的stairs函数;
(4)在用画图程序画出图形时,发现画出的图像线条特别细小,很难分辨出来,于是通过查阅书籍了解到加一个linewidth参数将线条设置成2倍粗度就可以了。
15
5总结与心得
通过这次课程设计,我深深地认识到了完成一项设计工作所需要具备的能力,它不但需要你掌握对课题深度的把握,对课题知识的研究,更重要的,作为一个小组,我们大家共同配合,相同努力,解决了课程设计当中的种种困难,最终完成了这项设计工作。
CMI编解码的设计与仿真使用到了MATLAB7.0,这个软件是纯英文的,在使用的过程中,我们确实遇到了很多问题,但都被大家一一解决了,通信技术在当今社会中的用途广泛,现代社会的发展基本上离不开通讯技术的进步,所以我们有必要搞好这项研究,紧追科技时代发展的脚步。
16
6参考文献
[1]樊昌信、张甫翊、徐炳祥、吴成柯,《通信原理》(第5版)[M],国防
。
工业出版社,2007
[2]孙祥、徐流美、吴清,《MATLAB7.0基础教程》[M],清华大学出版社,2005。
[3]楼顺天、陈生潭、雷虎民,《MATLAB5.x程序设计语言》[M],西安电子科技大学出版社,2002。
[4]邓华,《MATLAB通信仿真机应用实例详解》[M],人民邮电出版社,2003。
[5]曹丽娜,《简明通信原理》,人民邮电出版社,2011。
17
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CMI 解码 设计 仿真 课程设计