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

合集下载

中南大学Matlab实验报告(优选.)

中南大学Matlab实验报告(优选.)

最新文件---------------- 仅供参考--------------------已改成-----------word文本 --------------------- 方便更改赠人玫瑰,手留余香。

Matlab实验报告姓名:班级:班学号:目录实验一熟悉MATLAB环境 (3)实验二数值数组创建、应用及可视化 ................................ 错误!未定义书签。

实验三字符串数组的使用、简单脚本文件和函数的编写错误!未定义书签。

实验四数据可视化方法 .. (22)Matlab实验报告实验室名称:综合实验楼4楼实验日期:2014年12月[实验目的]1 .熟悉 MATLAB 主界面,并学会简单的菜单操作。

2 .学会简单的矩阵输入与信号输入。

3 .掌握部分绘图函数。

[实验原理]MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。

它提供了各种矩阵的运算与操作,并有较强的绘图功能。

用户第一次使用 MATLAB 时,建议首先在屏幕上键入 demo 命令,它将启动 MATLAB 的演试程序,用户可在此演示程序中领略MATLAB 所提供的强大的运算与绘图功能。

也可以键入 help 进行进一步了解。

MATLAB 启动界面如图所示:操作界面主要的介绍如下:指令窗(Command Window ),在该窗可键入各种送给MATLAB 运作的指令、函数、表达式,并显示除图形外的所以运算结果。

历史指令窗( Command History ),该窗记录已经运行过的指令、函数、表达式;允许自己的编写文件。

MATLAB 工作时,基本搜索过程为:首先在工作空间,即MATLAB 内存中进行检查,看输入的指令是不是变量;如不是,则检查输入指令是不是内建函数(比如sin 函数等);如不是,则在当前目录上,检查是否有与输入指令相同的M 文件存在;如还没有,则在 MATLAB 定义的搜索路径其他目录中,检查是否有该 M 文件存在。

通信原理matlab实验报告

通信原理matlab实验报告

通信原理matlab实验报告《通信原理matlab实验报告》在现代通信系统中,通信原理是至关重要的一部分。

为了更好地理解和应用通信原理,我们进行了一系列的实验,并在本报告中分享我们的实验结果和分析。

首先,我们使用了Matlab软件进行了频谱分析实验。

通过对信号的频谱进行分析,我们能够更好地了解信号的频率分布特性,从而为信号的传输和处理提供了重要的参考。

在实验中,我们使用了不同的信号类型,并通过Matlab的频谱分析工具对其进行了分析。

通过实验结果,我们发现不同类型的信号在频谱上呈现出不同的特征,这为我们在实际通信系统中的信号处理提供了重要的指导。

其次,我们进行了调制解调实验。

调制是将数字信号转换为模拟信号的过程,而解调则是将模拟信号转换为数字信号的过程。

在实验中,我们使用Matlab模拟了调制解调过程,并通过实验结果验证了调制解调的正确性。

通过这一实验,我们深入理解了调制解调的原理和过程,并为实际通信系统中的信号处理提供了重要的参考。

最后,我们进行了信道编码解码实验。

信道编码是为了提高通信系统的可靠性和抗干扰能力而进行的一种技术手段。

在实验中,我们使用Matlab对信道编码进行了模拟,并通过实验结果验证了信道编码的效果。

通过这一实验,我们更加深入地理解了信道编码的原理和作用,为实际通信系统中的信号处理提供了重要的参考。

综上所述,通过本次实验,我们更加深入地理解了通信原理的相关知识,并通过Matlab软件进行了实际操作,加深了对通信原理的理解和应用。

这些实验结果对我们今后在通信系统设计和应用中将起到重要的指导作用。

希望通过这份实验报告的分享,能够对通信原理的学习和应用有所帮助。

通讯原理课程设计MATLAB

通讯原理课程设计MATLAB

通讯原理课程设计MATLAB一、教学目标本课程的目标是让学生掌握通讯原理的基本知识,学会使用MATLAB进行通讯系统的仿真和分析。

通过本课程的学习,学生应能理解并运用模拟通信和数字通信的基本原理,熟练使用MATLAB进行通信系统的建模和仿真,提高解决实际通信问题的能力。

具体来说,知识目标包括:1.掌握通信系统的基本概念和分类。

2.理解模拟通信和数字通信的基本原理。

3.熟悉MATLAB在通信系统中的应用。

技能目标包括:1.能够使用MATLAB进行通信系统的仿真和分析。

2.能够根据实际问题选择合适的通信方案和算法。

3.能够撰写规范的实验报告,对实验结果进行分析和讨论。

情感态度价值观目标包括:1.培养学生的团队合作意识和沟通能力。

2.培养学生的创新精神和批判性思维。

3.培养学生对通信技术的兴趣和热情,提高其对专业学习的积极性。

二、教学内容本课程的教学内容主要包括通信系统的基本概念、模拟通信和数字通信的原理,以及MATLAB在通信系统中的应用。

具体的教学大纲如下:1.通信系统的基本概念和分类:介绍通信系统的定义、分类和性能指标。

2.模拟通信原理:包括调幅、调频和调相的原理及其应用。

3.数字通信原理:包括数字调制、解调、编码和解码的原理及其应用。

4.MATLAB在通信系统中的应用:介绍MATLAB的基本使用方法,以及如何利用MATLAB进行通信系统的仿真和分析。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

1.讲授法:通过教师的讲解,使学生掌握通信原理的基本知识和MATLAB的基本使用方法。

2.讨论法:引导学生进行思考和讨论,提高学生的创新精神和批判性思维。

3.案例分析法:通过分析实际案例,使学生更好地理解通信原理和MATLAB在通信系统中的应用。

4.实验法:让学生亲自动手进行实验,培养学生的实践能力和团队合作意识。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:《通信原理》和《MATLAB教程》。

Matlab实验报告

Matlab实验报告

Matlab实验报告院系名称:信息科学与工程学院专业班级:通信工程1303指导老师:陈科文,支国明,张金焕,周扬学生姓名:学号:目录实验一熟悉MATLAB环境 (3)实验二数值数组创建、应用及可视化 (7)实验三字符串数组的使用、简单脚本文件和函数的编写 (12)实验四数据可视化方法 (22)实验一一、实验目的1 .熟悉MATLAB 主界面,并学会简单的菜单操作;2 .学会简单的矩阵输入与信号输入;3 .掌握部分绘图函数。

二、实验内容及要求1.用户工作目录和当前目录的建立和设置;2.熟悉简单的矩阵输入;3.常用基本命令的使用;4.基本序列运算;三、实验步骤及结果测试1.用户工作目录和当前目录的建立和设置2.熟悉简单的矩阵输入四、实验体会及心得这是我第一次做Matlab实验,一打开页面就有很多地方都不明白,因为页面大部分是英文,由于上课时对Matlab操作页面还有一些记忆,感觉还可以:本次试验是我对Matlab这门课有了一定的了解,对矩阵在Matlab中的运用也有了初步的认识。

实验二一、 实验目的1 .掌握二维数组的创建、寻访,区分数组运算与矩阵运算的区别;2 .掌握标准数组生成函数和数组构造技法;3 .进一步熟悉 M 脚本文件编写的方法和技巧。

二、实验内容及要求1.数组的创建和寻访 ;2.编写如图所示波形的 MATLAB 脚本文件,图中虚线为正弦波,要求它分别在21 及22处削顶。

三、实验步骤及结果测试仿照问题 1 中方法找出数组⎥⎦⎤⎢⎣⎡----=5311342024A 中所有绝对值大于 3 的元素。

程序如下图:运行指令 rand(‘state ’,11),A=rand(3,10000);B=(A>0.5);C=2*B -1;首先预测( C*C’)/100 的运行结果,然后再在机器上验证。

(本方法提供了产生通信等仿真中常需若干独立的双随机码的方法原型。

)A :B :C :编写如图所示波形的 MATLAB 脚本文件,图中虚线为正弦波,要求它分别在21 及22处削顶。

通信原理实验报告matlab

通信原理实验报告matlab

通信原理实验报告matlab《通信原理实验报告:MATLAB》摘要:本实验报告基于通信原理课程的实验要求,利用MATLAB软件进行了一系列的实验。

通过实验,我们深入了解了通信原理中的一些重要概念和技术,并通过MATLAB软件进行了模拟和分析。

本实验报告将详细介绍实验的目的、原理、实验步骤、实验结果和分析,以及对实验过程中遇到的问题和解决方法进行了总结和讨论。

1. 实验目的本实验旨在通过使用MATLAB软件进行通信原理相关的实验,加深对通信原理中的相关概念和技术的理解,并通过实际操作加强对课程知识的掌握和应用能力。

2. 实验原理在本实验中,我们将涉及到通信原理中的一些重要概念和技术,包括信号的调制与解调、信道编码、信道调制等内容。

通过MATLAB软件,我们可以对这些概念和技术进行模拟和分析,从而更好地理解其原理和应用。

3. 实验步骤本实验中,我们将根据实验要求,依次进行一系列的实验步骤,包括信号的调制与解调、信道编码、信道调制等内容。

通过MATLAB软件,我们将对这些实验步骤进行模拟和分析,得到实验结果。

4. 实验结果和分析在实验过程中,我们得到了一系列的实验结果,并进行了详细的分析。

通过对这些实验结果的分析,我们可以更好地理解通信原理中的相关概念和技术,并加深对课程知识的理解和掌握。

5. 实验总结和讨论在实验过程中,我们也遇到了一些问题,并通过一些方法进行了解决。

在本部分,我们将对实验过程中遇到的问题和解决方法进行总结和讨论,以便更好地应对类似的实验问题。

通过本次实验,我们加深了对通信原理中的相关概念和技术的理解,并通过MATLAB软件进行了模拟和分析,得到了一系列的实验结果。

这些实验结果将有助于我们更好地理解通信原理中的相关知识,并加强对课程知识的掌握和应用能力。

同时,本次实验也为我们今后的学习和研究提供了一定的参考和借鉴。

Matlab与通信仿真课程设计报告

Matlab与通信仿真课程设计报告

实验一单边带调幅系统的建模仿真一、实验目的1.了解单边带调幅系统的工作原理2.掌握单边带调幅系统的Matlab和Simulink建模过程二、实验内容1、Matlab设计一个单边带发信机、带通信道和相应的接收机,参数要求如下。

(1)输入话音信号为一个话音信号,采样率8000Hz。

话音输入后首先进行预滤波,预滤波器是一个频率范围在[300,3400]Hz的带通滤波器。

其目的是将话音频谱限制在3400Hz以下。

单边带调制的载波频率设计为10KHz,调制输出上边带。

要求观测单边带调制前后的信号功率谱。

(2)信道是一个带限高斯噪声信道,其通带频率范围是[10000,13500]Hz。

要求能够根据信噪比SNR要求加入高斯噪声。

(3)接收机采用相干解调方式。

为了模拟载波频率误差对解调话音音质的影响,设本地载波频率为9.8KHz,与发信机载波频率相差200Hz。

解调滤波器设计为300Hz到3400Hz的带通滤波器。

2、用Simulink方式设计一个单边带传输系统并通过声卡输出接收机解调的结果声音。

系统参数参照实例5.9,系统仿真参数设置为50KH显示结果(1)能观察音频信号、SSB加载后的信号,解调后的信号波形(2)能观察音频信号频谱、SSB加载后的信号频谱,解调后的信号频谱(3)解调结果放到.wav音频文件,改变信道信噪比听解调的结果三、实验要求1.按要求设计仿真参数;2.按计算所得参数建立Matlab和SIMULINK系统模型;3.设置各模块参数及仿真参数后仿真系统;4.分析仿真结果。

实验二数字通信系统的建模仿真一、实验目的1.了解数字通信系统的建模过程2.了解数字通信系统的仿真过程,并掌握对建模的好坏进行分析二、实验内容建立并测试一个直接序列扩频体制的码分多址传输系统,对比以Gold序列、m序列以及随机整数发生器Random Integer Generator 作为直接序列扩频的扩频序列的传输性能,观察两路CDMA码源的收发数据波形,测试误码率,并用频谱仪观察直接序列扩频调制前后和解调前后的信号频谱。

通信原理matlab课程设计报告

通信原理matlab课程设计报告

目录一.问题描述-----------------------------------------3 二.实验原理-----------------------------------------4 三.源程序-------------------------------------------6 四.数据测试----------------------------------------16 五.调试分析----------------------------------------22 六.用户使用手册------------------------------------23 七.心得体会----------------------------------------24一、问题描述1.使用matlab编程完成HDB3的编码与解码。

2.课程设计需要运用MATLAB编程实现2ASK,2FSK,2PSK,2DPSK调制解调过程,并且输出其源码,调制后码元以及解调后码元的波形。

二、实验原理1.HDB3编码解码原理HDB3码:三阶高密度双极性码。

HDB3码与二进制序列的关系:(1)二进制信号序列中的“0”码在HDB3码中仍编为“0”码,二进制信号中“1”码,在HDB3码中应交替地成+1和-1码,但序列中出现四个连“0”码时应按特殊规律编码(引入传号交替反转码的“破坏点”V码);(2)二进制序列中四个连“0”按以下规则编码:信码中出现四个连“0”码时,要将这四个连“0”码用000V或B00V取代节来代替(B和V也是“1”码,可正、可负)。

这两个取代节选取原则是,使任意两个相邻v脉冲间的传号数为奇数时选用000V取代节,偶数时则选用B00V取代节。

2.二进制数字调制技术原理数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。

为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。

通信原理Matlab仿真实验报告

通信原理Matlab仿真实验报告

通信原理Matlab仿真实验报告学号:姓名:实验一1、利用Matlab实现矩形信号串信号分解与合成⑴ Matlab程序代码:①矩形信号串信号分解与合成函数rectexpd():function rectexpd(T1,T0,m)%矩形信号串信号分解与合成%T1:矩信号区间为(-T1/2,T1/2)%T0:矩形矩信信号串周期%m:傅里叶级数展开项次数t1=-T1/2:0.01:T1/2;t2=T1/2:0.01:(T0-T1/2); t=[(t1-T0)';(t2-T0)';t1';t2';(t1+T0)'];n1=length(t1);n2=length(t2); %根据周期矩形信号函数周期,计算点数f=[ones(n1,1);zeros(n2,1);ones(n1,1);zeros(n2 ,1);ones(n1,1)]; %构造周期矩形信号串y=zeros(m+1,length(t));y(m+1,:)=f';figure(1);plot(t,y(m+1,:)); %绘制周期矩形信号串axis([-(T0+T1/2)-0.5,(T0+T1/2)+0.5,0,1.2]); set(gca,'XTick',[-T0,-T1/2,T1/2,T0]);set(gca,'XTickLabel',{'-T0','-T1/2','T1/2','T0'}) ;title('矩形信号串');grid on; a=T1/T0;pause; %绘制离散幅度谱freq=[-20:1:20];mag=abs(a*sinc(a*freq)); stem(freq,mag);x=a*ones(size(t));for k=1:m %循环显示谐波叠加图形pause;x=x+2*a*sinc(a*k)*cos(2*pi*t*k/T0);y(k,:)=x;plot(t,y(m+1,:));hold on;plot(t,y(k,:));hold off;grid on;axis([-(T0+T1/2)-0.5,[T0+T1/2]+0.5,-0.5,1.5]) ;title(strcat(num2str(k),'次谐波叠加')); xlabel('t');endpause;plot(t,y(1:m+1,:));grid on;axis([-T0/2,T0/2,-0.5,1.5]);title('各次谐波叠加');xlabel('t');②在命令窗口调用rectexpd()函数:T1=5;T0=10;m=5;rectexpd(T1,T0,m)⑵Matlab仿真结果:1次谐波叠加t3次谐波叠加tt2次谐波叠加t4次谐波叠加tt2、利用Matlab实现连续信号卷积运算⑴ Matlab程序代码:①连续信号卷积运算的通用函数sconv():function [f,k]=sconv(f1,f2,k1,k2,p) f=conv(f1,f2);f=f*p;k0=k1(1)+k2(1);k3=length(f1)+length(f2)-2;k=k0:p:k3*p; subplot(2,2,1); plot(k1,f1); title('f1(t)'); xlabel('t'); ylabel('f1(t)');subplot(2,2,2);plot(k2,f2);title('f2(t)'); xlabel('t'); ylabel('f2(t)'); subplot(2,2,3); plot(k,f); title('f(t)=f1(t)*f2(t)'); xlabel('t'); ylabel('f(t)');h=get(gca,'position'); h(3)=2.5*h(3);set(gca,'position',h);②在命令窗口调用sconv ()函数: p=0.01; k1=0:p:2; f1=exp(-k1); k2=0:p:3;f2=ones(1,length(k2)); [f,k]=sconv(f1,f2,k1,k2,p)⑵Matlab 仿真结果:0.511.5200.51f1(t)tf 1(t )01230.511.52f2(t)tf 2(t )00.51 1.522.533.544.550.51f(t)=f1(t)*f2(t)tf (t )实验二1、用Matlab模拟图形A律解码⑴Matlab程序代码:①建立函数ADecode()function y=ADecode(code,n) codesize=size(code);cr_len=codesize(1);cl_len=codesize(2);ca=zeros(1,cl_len-1);for i=1:cr_lenca=code(i,2:n);s=0;for j=1:n-1s=s+ca(j)*2^(n-1-j);enda=code(i,1);y(i)=s*((-1)^(a+1)); endy=y/(2^(n-1));A=87.6;A1=1+log(A); for j=1:length(y)if(y(j)>=0)if(y(i)<=1/A1)y(j)=y(j)*A1/A;elsey(j)=exp(y(j)*A1-1/A);endelsetemp=-y(j);if(temp<=1/A1)y(j)=-temp*A1/A;elsey(j)=-exp(temp*A1-1)/A;endendend②建立函数APCM()function code=APCM(x,n)xmax=max(abs(x));x=x/xmax;xlen=length(x);y=zeros(1,xlen);A=87.6;A1=1+log(A);for i=1:xlenif x(i)>=0if x(i)<=1/Ay(i)=(A*x(i))/A1;elsey(i)=(1+log(A*x(i)))/A1;endelsex1=-x(i);if x1<=1/Ay(i)=-(A*x1)/A1;elsey(i)=-(1+log(A*x1))/A1;endendendy1=y*(2^(n-1)-1);y1=round(y1);code=zeros(length(y1),n); c2=zeros(1,n-1);for i=1:length(y1)if(y1(i)>0)c1=1;elsec1=0;y1(i)=-y1(i);endfor j=1:n-1r=rem(y1(i),2);y1(i)=(y1(i)-r)/2;c2(j)=r;endc2=fliplr(c2);code(i,:)=[c1 c2];end③在新函数中调用前两个函数 t=0:0.01:1; x=sin(2*pi*t); code=APCM(x,7); y=ADecode(code,7); subplot(2,1,1) plot(t,x);title('原函数的图形'); subplot(2,1,2) plot(t,y);title('解码后函数的图形');⑵Matlab 仿真结果:00.10.20.30.40.50.60.70.80.91-1-0.500.51原函数的图形00.10.20.30.40.50.60.70.80.91-1-0.50.5解码后函数的图形2、用Matlab 模拟DSB 调制及解调过程 ⑴Matlab 程序代码: close all; clear all;dt=0.001;%采样时间间隔 fm=1; %信源最高频率 fc=10; %载波中心频率 N=4096;T=N*dt; t=0:dt:T-dt;mt=sqrt(2)*cos(2*pi*fm*t);%信源s_dsb=mt.*cos(2*pi*fc*t); %DSB-SC 双边带抑制载波调幅B=2*fm;figure(1); subplot(311) plot(t,s_dsb,'b-');hold on; %画出DSB 信号波形plot(t,mt,'r--');%画出m(t)信号波形 title('DSB 调制信号'); xlabel('t'); grid on;%DSB demodulation rt=s_dsb.*cos(2*pi*fc*t); rt=rt-mean(rt); [f,rf]=T2F(t,rt); [t,rt]=lpf(f,rf,B); subplot(312) plot(t,rt,'k-'); hold on;plot(t,mt/2,'r--');title('相干解调后的信号波形与输入信号的比较'); xlabel('t'); grid on; subplot(313)[f,sf]=T2F(t,s_dsb); %求调制信号的频谱psf=(abs(sf).^2)/T; %求调制信号的功率谱密度 plot(f,psf);axis([-2*fc 2*fc 0 max(psf)]); title('DSB 信号功率谱'); xlabel('f'); grid on;⑵Matlab 仿真结果:00.51 1.52 2.53 3.54 4.5-22DSB 调制信号t0.511.522.533.544.5-101相干解调后的信号波形与输入信号的比较t-20-15-10-5051015200.5DSB 信号功率谱f实验三1、用Matlab模拟双极性归零码⑴ Matlab程序代码:function y=drz(x)t0=300;x=[1 0 0 1 1 0 0 0 0 1 0 1];t=0:1/t0:length(x);for i=1:length(x);if(x(i)==1)for j=1:t0/2y(t0/2*(2*i-2)+j)=1;y(t0/2*(2*i-1)+j)=0;endelsefor j=1:t0/2y(t0/2*(2*i-2)+j)=-1;y(t0/2*(2*i-1)+j)=0;endendendy=[y,x(i)];M=max(y);m=min(y); subplot(211)plot(t,y);grid on;axis([0,i,m-0.1,M+0.1]);title('1 0 0 1 1 0 0 0 0 1 0 1 ');⑵Matlab仿真结果:2、用Matlab产生2FSK信号⑴ Matlab程序代码:①建立函数fskdigital()function fskdigital(s,f1,f2) t=0:2*pi/99:2*pi;m1=[];c1=[];b1=[];for n=1:length(s)if s(n)==0;m=ones(1,100);c=sin(f2*t);b=zeros(1,100) else s(n)==1;m=ones(1,100);c=sin(f1*t);b=ones(1,100)endm1=[m1 m]; c1=[c1 c]; b1=[b1 b]; endfsk=c1.*m1;subplot(211);plot(b1,'r')title('原始信号');axis([0 100*length(s) -0.1 1.1]);grid on;subplot(212);plot(fsk)title('2FSK信号');grid on;②在命令窗口调用函数fskdigital() >> s=[1 0 1 1 0 0 1 0]; f1=200; f2=100;fskdigital(s,f1,f2)⑵Matlab 仿真结果:10020030040050060070080000.20.40.60.81原始信号100200300400500600700800-1-0.500.512FSK 信号3、用Matlab 的simulink 模块模拟三角波的分解与还原 ⑴模块图⑵仿真结果:①三角波原图②用矩形波近似的冲击函数③分解后的三角波④经低通还原的三角波。

  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 1AMI码: +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 1AMI码: +1 0 0 0 0 -1 0 0 0 0 +1 -1 0 0 0 0 +1 -1HDB3码:+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});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); elsegui_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 gui02handles.output = hObject;% Update handles structureguidata(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)% varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;function inputcode_Callback(hObject, eventdata, handles)% hObject handle to inputcode (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of inputcode as text% str2double(get(hObject,'String')) returns contents of inputcode as a double%ÒÔ×Ö·û´®µÄÐÎʽÀ´´æ´¢Êý¾ÝÎı¾¿ò1µÄÄÚÈÝinput = str2num(get(hObject,'String'));guidata(hObject, handles);% --- Executes during object creation, after setting all properties. function inputcode_CreateFcn(hObject, eventdata, handles)% hObject handle to inputcode (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on button press in amibutton.function amibutton_Callback(hObject, eventdata, handles)% hObject handle to amibutton (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)xn = str2num(get(handles.inputcode,'String'));yn=xn;%AMIÂënum=0;for k=1:length(xn)if xn(k)==1num=num+1;if num/2==fix(num/2)yn(k)=1;elseyn(k)=-1;endendendxnynfigure;subplot(2,1,1);stairs([0:length(xn)-1],xn);axis([0 length(xn) -2 2]);title('PMCÂë')subplot(2,1,2);stairs([0:length(xn)-1],yn);axis([0 length(xn) -2 2]);title('AMIÂë')% --- Executes on button press in hdb3button2.function hdb3button2_Callback(hObject, eventdata, handles)% hObject handle to hdb3button2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)xn = str2num(get(handles.inputcode,'String'));yn=xn;%AMIÂënum=0;for k=1:length(xn)if xn(k)==1num=num+1;if num/2==fix(num/2)yn(k)=1;elseyn(k)=-1;endendendnum=0;%HDB3yh=yn;sign=1;V=zeros(1,length(yn));for k=1:length(yn)if yn(k)==0num=num+1;if num==4v(1)=yh(k-4);breakendelsenum=0;endendfor k=1:length(yn)if yn(k)==0num=num+1;if num==4num=0;yh(k)=v(sign);v(sign+1)=-v(sign);if yh(k)==yh(k-4)elseyh(k-3)=yh(k);yh(k+1:length(yn))=-1*yh(k+1:length(yn));endsign=sign+1;endelsenum=0;endendys=zeros(1,2*length(xn));xnyhfiguresubplot(2,1,1);stairs([0:length(xn)-1],xn);axis([0 length(xn) -2 2]);title('PMCÂë')subplot(2,1,2);stairs([0:length(xn)-1],yh);axis([0 length(xn) -2 2]);title('HDB3Âë')% --- Executes on button press in cimbutton3.function cimbutton3_Callback(hObject, eventdata, handles)% hObject handle to cimbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)xn = str2num(get(handles.inputcode,'String'));num=0;yc=zeros(1,2*length(xn));%CMIfor k=1:length(xn)if xn(k)==1num=num+1;if num/2==fix(num/2)yc(2*k-1)=1;yc(2*k)=1;elseyc(2*k-1)=0;yc(2*k)=0;endelseyc(2*k-1)=0;yc(2*k)=1;endendxnycfiguresubplot(2,1,1);stairs([0:length(xn)-1],xn);axis([0 length(xn) -2 2]);title('PMCÂë')subplot(2,1,2);stairs([0:2*length(xn)-1],yc);axis([0 2*length(xn) -2 2]);title('CMIÂë')。

相关文档
最新文档