中南大学通信原理matlab课程设计报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

通信原理课程设计报告

通信1005班

实验目的

通信原理实验是针对通信工程专业学生的实践教学环节,通过这一环节,可使学生巩固相关课程知识,增强动手能力,提高学生对通信系统的仿真技能。在强调基本原理的同时,更突出设计过程的锻炼,强化学生的实践创新能力。

选题:第二题、码型变换的仿真实现

Ⅰ、基本任务:原始PCM脉冲编码信号的AMI码型和CMI码型变换。

主要步骤和要求:

(1)把原始的PCM脉冲编码信号转换成适合在信道中传输的AMI码型。要求PCM码可以是数字型也可以是字符型,要求画出AMI码型变换前后的波形图。

(2)把原始的PCM脉冲编码信号转换成适合在信道中传输的CMI码型。要求PCM码可以是数字型也可以是字符型,要求画出CMI码型变换前后的波形图。

Ⅱ、选做任务:原始PCM脉冲编码信号的HDB3码型转换。

主要步骤和要求:

把原始的PCM脉冲编码信号转换成适合在信道中传输的HDB3码型。要求PCM码可以是数字型也可以是字符型;要求保证输入的PCM脉冲编码信号中1的个数为偶数;要求画出HDB3码型变换前后的波形图。

设计原理

AMI码

AMI(Alternative Mark Inversion)码的全称是信号交替反转码,是通信编码中的一种,为极性交替翻转码,分别有一个高电平和低电平表示两个极性。

一、编码规则:

消息代码中的0 传输码中的0 ,消息代码中的1 传输码中的+1、-1交替

例如: 消息代码:1 0 1 0 1 0 0 0 1 0 1 1 1

AMI码: +1 0 -1 0 +1 0 0 0 -1 0 +1 -1 +1

二、AMI码的特点:

1 由AMI码确定的基带信号中正负脉冲交替,而0电位保持不变;所以由AMI码确定的基带信号无直流分量,且只有很小的低频分量;

2 不易提取定时信号,由于它可能出现长的连0串。

三、解码规则

从收到的符号序列中将所有的-1变换成+1后,就可以得到原消息代码

程序流程图

HDB3码

一、High Density Bipolar of order 3code,三阶高密度双极性码。

HDB3的编码规则

1 先将消息代码变换成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 1

AMI码: +1 0 0 0 0 -1 0 0 0 0 +1 -1 0 0 0 0 +1 -1

HDB3码:+1 0 0 0 +V -1 0 0 0 -V +1 -1 +B 0 0 +V -1 +1 流程图:

CMI码

CMI(Coded Mark Inversion)码是传号反转码的简称,与双相码类似,它也是一种双极性二电平码。其编码规则是“1”码交替用“11”和“00”两位码表示;“0”码固定地用“01”表示。CMI码易于实现,含有丰富的定时信息。此外,由于10为禁用码组,不会出现三个以上的连码,这个规律可以用来宏观检错。该码已被ITU-T推荐为PCM四次群的接口码型,有时也用在速率低于8.44Mb/s的光缆传输系统中。

运行结果截图

输入

源代码

function varargout = gui02(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @gui02_OpeningFcn, ...

'gui_OutputFcn', @gui02_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before gui02 is made visible.

function gui02_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to gui02 (see VARARGIN)

% Choose default command line output for gui02

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes gui02 wait for user response (see UIRESUME)

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line. function varargout = gui02_OutputFcn(hObject, eventdata, handles)

相关文档
最新文档