找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6574|回复: 2
打印 上一主题 下一主题
收起左侧

数字基带传输系统-通信系统课程设计 matlab源码,原理图,论文下载

[复制链接]
跳转到指定楼层
楼主
课程设计报告
课程名称:《通信系统原理》
通信工程
学生姓名
1988通信2)班
成    绩
指导教师:
开课时间2017-2018学年学期

引言

数字基带传输系统用来传输未经载波调制的基带信号,在某些具有低通特性的有线信道中,特别是在传输距离不太远的情形下应用较为广泛。是一种不搬移基带信号频谱的传输方式。

选用基带传输或通带传输,与信道的适用频带有关。未对载波调制的待传信号称为基带信号,它所占的频带称为基带,基带的高限频率与低限频率之比通常远大于1。

基带传输中的码型变换装置把来自信源的数码变换为适合于信道传输的码波形。常用的传输码波形有归零码、不归零码、传号差分码、双相码、交替传号反转码(AMI码)等。

基带传输广泛用于音频电缆和同轴电缆等传送数字电话信号,同时,在数据传输方面的应用也日益扩大。通带传输系统中调制前和调制后对基带信号处理仍须利用基带传输原理,采用线性调制的通带传输系统可以变换为等效基带传输来分析。


课程设计目的

本课程是为通信工程专业本科生开设的必修课,结合学生的专业方向的理论课程,充分发挥学生的主动性,使学生掌握应用MATLAB或者SYSTEMVIEW等仿真软件建立通信系统,巩固理论课程内容,规范文档的建立,培养学生的创新能力,并能够运用其所学知识进行综合的设计。

通信系统原理的课程设计是对通信系统仿真软件、课程学习的综合检验,配合理论课的教学,让学生亲自参加设计、仿真、验证通信系统的一般原理、调制解调原理、信号传输及受噪声影响等方面的知识点。


目录

一、设计题目

二、主要内容

三、具体要求

四、进度安排

五、成绩评定

六、数字基带传输系统基本原理

6.1数字基带系统模型

6.2数字基带传输系统原理

七、数字基带系统波形及码型

7.1 四种常见波形的原理

7.1.1单极性归零波形

7.1.2单极性非归零波形

7.1.3双极性归零波形

7.1.4 双极性非归零波形

7.2基带信号的常用码型

7.2.1 AMI码(传号交替反转码)

7.2.2 HDB3码(三阶高密度双极性码)

7.2.3曼彻斯特码(双相码)

7.2.4密勒码(Miller码)

7.3升余弦滚降滤波器

7.4 眼图

八、MATLAB 仿真及程序调制

8.1单极性归零波形

8.2单极性非归零波形

8.3双极性归零波形

8.4双极性非归零波形

8.5AMI码

8.6HDB3码

8.7曼彻斯特码

8.8Miller

九、心得体会

十、参考文献


一、设计题目

数字基带传输系统的仿真设计(常见的波形与码型设计)


二、主要内容

(1)数字基带传输系统,理想信道和非理想信道的系统设计;

(2)设计基带信号的常见波形;

(3)设计基带信号的常用码型;

(4)眼图。


三、具体要求

(1)熟悉基带传输系统的基本结构。可利用matlab和simulink对数字基带传输系统进行设计和仿真,实现数字基带传输系统设计。

(2)设计基带信号的常见波形。给出基带信号的常见波形(单极性归零码、不归零码,双极性归零码、不归零码) 等。

(3)设计基带信号的常用码型;设计出码型(AMI、HDB3码、双相码、密勒码等)设计。(注:码型设计不少于四种)

(4)眼图。尽可能给出性能评价:通过观测眼图,定性判断数字基带传输系统的性能(加分项)。


四、进度安排

星期二  选题、查阅资料、熟悉软件的编程环境MATLAB/SIMULINK并结合推荐的参考书,熟悉对应的模块。

星期三  数字基带信号常见的波形。

星期四  数字基带信号常见的码型设计(AMI码、HDB3码)。

星期五  数字基带传输系统的仿真设计(今日应该做到:数字基带信号常见的码型设计(双相码、密勒码));程序调试并程序注释。


五、成绩评定

总成绩由平时成绩(考勤与课堂表现)、程序设计成绩和报告成绩三部分组成,各部分比例为30%,50%,20%.

(1)平时成绩:无故旷课一次,平时成绩减半;无故旷课两次平时成绩为0分,无故旷课三次总成绩为0分。迟到15分钟按旷课处理

(2)设计成绩:按照实际的设计过程及最终的实现结果给出相应的成绩。

(3)设计报告成绩:按照提交报告的质量给出相应的成绩。


、数字基带传输系统基本原理
6.1数字基带系统模型

图6.1基带传输系统模型

(1)信道信号形成器(发送滤波器)。它的功能是产生适合于信道传输的基带信号波形。因为其输入一般是经过码型编码产生的传输码,相应的基本波形通常是矩形脉冲,其频谱很宽,不利于传输。发送滤波器用于压缩输入信号频带,把传输码变成适宜于信道传输的基带信号波形。

(2)信道。是允许基带信号通过的媒质,通常为有线信道,如双绞线、同轴电缆等。信道的传输特性一般不满足无失真传输条件,因此也会引起传输波形的失真。另外信道还会引入噪声n(t),并假设它是均值为零的高斯白噪声。

(3)接收滤波器。它用来接收信号,尽可能滤除信道噪声和其他干扰,对信道特性进行均衡,使输出的基带波形有利于抽样判决。

(4)抽样判决器。则是在传输特性不理想及噪声背景下,在规定时刻(由定位时脉冲控制)对接收滤波器的输出波形进行抽样判决,以恢复或再生基带信号。

(5)定时脉冲和同步提取。用来抽样的位定时脉冲依靠同步提取电路从接收信号中提取,位定时的准确与否将直接影响判决效果。

6.2数字基带传输系统原理

假设输入符号序列为,在二进制的情况下,符号的取值为0,1或-1,+1。为方便分析,我们把这个序列对应的基带信号表示成

                

这个信号是由时间间隔为Tb的单位冲激响应构成的序列,其每一个强度则由决定。

离散域发送信号——A,比特周期,二进制码元周期

  

设发送滤波器的传输特性

激励发送滤波器时,发送滤波器产生的输出信号为

==

离散域发送滤波器输出:

==

信道输出信号  (信道特性为1)

离散域信道输出信号或接收滤波器输入信号——

则接收滤波器的输出信号

=

=其中

离散域接收滤波器的输出信号

=

=

其中g()=

如果位同步理想,则抽样时刻为  

抽样点数值为  

判决为   比较即可得到误码率,分析传输质量。

、数字基带系统波形码型
7
.1 四种常见波形的原理

7
.1.1单极性归零波形

单极性归零码(RZ)即是以高电平和零电平分别表示二进制码1 和0,而且在发送码1 时高电平在整个码元期间T 只持续一段时间τ,其余时间返回零电平.在单极性归零码中,τ/T 称为占空比.单极性归零码的主要优点是可以直接提取同步信号,因此单极性归零码常常用作其他码型提取同步信号时的过渡码型.也就是说其他适合信道传输但不能直接提取同步信号的码型,可先变换为单极性归零码,然后再提取同步信号.

当发“1”码时,发出正电流,但持续时间短于一个码元的时间宽度,即发出一个窄脉冲;当发出“0”码时,仍然不发送电流。

7.1.2单极性非归零波形

单极性非归零码(NRZ)是一种与单极性归零码相似的二元码,但码脉冲之间无间隔,这是一种最常见的码型。单极性非归零码的特点是:有直流成分,因此很难在低频传输特性比较差的有限信道进行传输,并且接收单极性非归零码的判决电平一般取为1码电平的一半,因此在信道特性发生变化时,容易导致接收波形的振幅和宽度变化,使得判决电平不能稳定在最佳电平,从而引起噪声,此外,单极性不归路码还不能直接提取同步信号,并且传输时必须将信道一端接地,从而对传输线路有一定要求,一般由终端送来的单极性非归零码要通过码型变换变成适合信道传输的码型。

无电压表示“0”时,恒定正电压表示“1”,每个码元时间的中间点是采样时间,判决门限为半幅电平。

7.1.3双极性归零波形

双极性归零码是二进制码0 和1 分别对应于正和负电平的波形的编码,在每个码之间都有间隙产生.这种码既具有双极性特性,又具有归零的特性.双极性归零码的特点是:接收端根据接收波形归于零电平就可以判决1 比特的信息已接收完毕,然后准备下一比特信息的接收,因此发送端不必按一定的周期发送信息.可以认为正负脉冲的前沿起了起动信号的作用,后沿起了终止信号的作用.因此可以经常保持正确的比特同步.即收发之间无需特别的定时,且各符号独立地构成起止方式,此方式也叫做自同步方式.由于这一特性,双极性归零码的应用十分广泛。

其中“1”码发生正的窄脉冲,“0”码发出负的窄脉冲,两个码元的时间间隔可以大于每一个窄脉冲的宽度,取样时间是对准脉冲的中心。

7.1.4 双极性归零波形

双极性非归零码是用正电平和负电平分别表示二进制1和0的码型,它与双极性归零码类似,但双极性非归零码的波形在整个码元持续期间电平保持不变,双极性非归零码的特点是:从统计平均来看,该码型信号在1和0的数目各占一半时无直流分量,并且接收时判决电平为0,容易设置并且稳定,因此抗干扰能力强。此外,可以在电缆等无接地的传输线上传输,因此双极性非归零码应用极广。双极性非归零码中提取同步信号,并且1码和0码不等概时,仍有直流成分。

“1”码和“0”码都有电流,“1”为正电流,“0”为负电流,正和负的幅度相等,判决门限为零电平。

7.2基带信号的常用码型
7.2.1 AMI码(传号交替反转码)

编码规则:“0”码不变,“1”码则交替地转换为+1和-1。当码序列是1 0 0 1 0 0 0 1 1 1 0 1时,AMI码就变为:+1 0 0 -1 0 0 0 +1 -1 +1 0 -1。这种码型交替出现正、负极脉冲,所以没直流分量,低频分量也很少。这种码的反变换也很容易,在再生信码时,只要将信号整流,即可将“-1”翻转为“+1”,恢复成单极性码。这种码未能解决信码中经常出现的长连“0”的。

7.2.2 HDB3码(三阶高密度双极性码)

a、编码规则: ①1——交替变换为+1,-1。

②0——连0小于等于3,则用0电平表示,连0大于3,则用特定码组替换B 0 0 V或 0 0 0 V。

③任意两个V之间B的个数为奇数。

b、特点:①有检错能力

         ②解决了连“0”时位定时信息提取困难

         ③无直流分量

         ④B码和V码各自保持极性交替变化,以确保无直流分量

         ⑤可能存在误码扩散的问题

c、解码规则:寻找两个相邻的同极性码,后者即为“V”码;把“V”码连同其前3位码均改为“0”, 所有的“±1”均改为“1”,即恢复信号。

7.2.3曼彻斯特码(双相码)

编码规则:在信号位中电平从高到低跳变表示1;在信号位中电平从低到高跳变表示0;差分曼彻斯特编码的编码规则是:在信号位开始时不改变信号极性,表示辑"1",在信号位开始时改变信号极性,表示逻辑"0",不论码元是1或者0,在每个码元正中间的时刻,一定有一次电平转换。

7.2.4密勒码(Miller码)

密勒码也称延迟调制码,是一种变形双向码。其编码规则:对原始符号"1"码元起始不跃变,中心点出现跃变来表示,即用10或01表示。对原始符号"0"则分成单个"0"还是连续"0"予以不同处理;单个"0"时,保持0前的电平不变,即在码元边界处电平不跃变,在码元中间点电平也不跃变;对于连续"0",则使连续两个"0"的边界处发生电平跃变。

密勒码可由双相码的下降沿去触发双稳电路产生。密勒码最初用于气象卫星和磁记录,现在也用于低速基带数传机。

7.3升余弦滚降滤波器

①理想低通特性

H(t)=Sa[π/Ts]←→H(W)=TsRet(W/WS)

Sa(πt/T)

信号带宽最小的波形

图7.3.1滤波器的波形及频域特性

理想低通信号的主要缺点

a.工程上难以实现;

b.尾部衰减慢(冲激响应h(t)波形收敛速度较慢,拖尾以1/t速率衰减,当存在定时误差时会带来比较大的干扰)

②升余弦滚降特性:H(t)=Sa(πt/Ts)cos(aπt/Ts)/[(1-4aatt)/Ts]

H(w)=Ts  ;∣w∣< π/Ts(1-a)

H(w)=0   ;∣w∣> π/Ts(1-a)

升余弦滚降信号的波形与频谱:

图7.3.2 升余弦滚降信号的波形及频谱

传输宽带:B=(1+a)/2rs

频带利用率:g=rs/B=2/(1+a)

全升余弦系统:a=1

7.4 眼图

眼图是指利用实验的方法估计和改善(通过调整)传输系统性能时在示波器上观察到的一种图形。观察眼图的方法是:用一个示波器跨接在接收滤波器的输出端,然后调整示波器扫描周期,使示波器水平扫描周期与接收码元的周期同步,这时示波器屏幕上看到的图形像人的眼睛,故称 为 “眼图”。从“眼图”上可 以观察出码间串扰和噪声的影响,从而估计系统优劣程度。另外也可以用此图形对接收滤波器的特性加以调整,以减小码间串扰和改善系统的传输性能。眼图 的 “眼睛” 张开的大小反映着码间串扰的强弱。 “眼睛”张的 越大,且眼图越端正,表示码间串扰越小;反之表示码间串扰越大。当存在噪声时,噪声将叠加在信号上,观察到的眼图的线迹会变得模糊不清。若同时存在码间串扰 ,“眼睛”将 张开得更小。与无码间串扰时的眼图相比,原来清晰端正的细线迹,变成了比较模糊的带状线,而且不很端正。噪声越大,线迹越宽,越模糊;码间串扰越大,眼图越不端正。眼图对于展示数字信号传输系统的性能提供了很多有用的信息:可以从中看出码间串扰的大小和噪声的强弱,有助于直观地了解码间串扰和噪声的影响,评价一个基带系统的性能优劣;可以指示接收滤波器的调整,以减小码间串扰。

(1)最佳抽样时刻应在“眼睛” 张开最大的时刻。

(2)对定时误差的灵敏度可由眼图斜边的斜率决定。斜率越大,对定时误差就越灵敏。

(3)在抽样时刻上,眼图上下两分支阴影区的垂直高度,表示最大信号畸变。

(4)眼图中央的横轴位置应对应判决门限电平。

(5)在抽样时刻上,上下两分支离门限最近的一根线迹至门限的距离表示各相应电平的噪声容限,噪声瞬时值超过它就可能发生错误判决。

(6)对于利用信号过零点取平均来得到定时信息的接收系统,眼图倾斜分支与横轴相交的区域的大小,表示零点位置的变动范围,这个变动范围的大小对提取定时信息有重要的影响。

图7.4眼图

MATLAB 仿真及程序调制
8.1单极性归零波形
  1. function y = srz(x)
  2. x=[1 0 1 0 1 1 0 0 0 1 0 1]
  3. grid=200;
  4. t=0:1/grid:length(x);
  5. for i=1:length(x);
  6.     if (x(i)==1)
  7.         for j=1:grid/2
  8.             y(grid/2*(2*i-1)+j)=1;
  9.             y(grid/2*(2*i-2)+j)=0;
  10.         end
  11.     else
  12.         for j=1:grid/2
  13.             y((i-1)*grid+j)=0;
  14.         end
  15.     end
  16. end
  17. y=[y,x(i)];
  18. M=max(y);m=min(y)
  19. subplot(2,1,1);plot(t,y);
  20. axis([0,i,m-0.1,M+0.1]);
  21. title('单极性归零波形');
复制代码

图8.1单极性归零波形

8.2单极性非归零波形
  1. function y = snrz(x)
  2. x=[0 1 1 0 0 0 1 0 0 0 1 1]
  3. grid=300;
  4. t=0:1/grid:length(x);
  5. for i=1:length(x);
  6.     if (x(i)==1)
  7.         for j=1:grid
  8.             y((i-1)*grid+j)=1;
  9.         end
  10.     else
  11.         for j=1:grid
  12.             y((i-1)*grid+j)=0;
  13.         end
  14.     end
  15. end
  16. y=[y,x(i)];
  17. M=max(y);m=min(y)
  18. subplot(2,1,1);plot(t,y);
  19. axis([0,i,m-0.1,M+0.1]);
  20. title('单极性非归零波形');
复制代码

图8.2单极性非归零波形

8.3双极性归零波形
  1. function y=drz(x)
  2. x=[1 1 0 1 0 0 0 1 0 1 0 0]
  3. grid=300;
  4. t=0:1/grid:length(x);%计算码元的值
  5. for i=1:length(x);
  6.     if(x(i)==1),%如果信息为1
  7.         for j=1:grid/2,%该码元对应的点取值1
  8.             y(grid/2*(2*i-1)+j)=1;%定义前半周时间值为1
  9.             y(grid/2*(2*i-2)+j)=0;%定义后半周时间值为0
  10.         end
  11.     else
  12.         for j=1:grid/2,
  13.             y(grid/2*(2*i-1)+j)=-1;%定义前半周时间值为-1
  14.             y(grid/2*(2*i-2)+j)=0;%定义后半周时间值为0
  15.         end
  16.     end
  17. end
  18. y=[y,x(i)];
  19. M=max(y);m=min(y)
  20. subplot(2,1,1);plot(t,y);
  21. axis([0,i,m-0.1,M+0.1]);%用title函数来实现标记出各码元对应的二元信息
  22. title('双极性归零波形');
复制代码

图8.3双极性归零波形

8.4双极性非归零波形
  1. function y = dnrz(x)
  2. x=[1 1 1 0 0 1 0 0 0 0 1 0]
  3. grid=300;
  4. t=0:1/grid:length(x);
  5. for i=1:length(x);
  6.     if (x(i)==1)
  7.         for j=1:grid
  8.             y((i-1)*grid+j)=1;
  9.         end
  10.     else
  11. for j=1:grid
  12.     y((i-1)*grid+j)=-1;
  13.     end
  14.     end
  15.     end  
  16. y=[y,x(i)];
  17. M=max(y);m=min(y)
  18. subplot(2,1,1);plot(t,y);
  19. axis([0,i,m-0.1,M+0.1]);
  20. title('双极性非归零波形');
复制代码

图8.4双极性非归零波形

8.5AMI码
  1. %ami.m
  2. function y=ami(x)
  3. x=[1 1 0 1 1 0 1 1 0  0  0 0]
  4. %输入x为二进制码,输出y为编好的码
  5. t0=200;%每个码元200个点
  6. t=0:1/t0:length(x);%时间序列
  7. p0=-1;%设定第一个码元之前是零电平
  8. for i=1:length(x);%计算码元的值
  9. if x(i)==1
  10.     if p0==-1;
  11.         for j=1:t0/2,%如果输入信息为1,码元对应的点的值取1
  12.             y((2*i-2)*t0/2+j)=1;%定义前半段时间值为1
  13.             y((2*i-1)*t0/2+j)=0;%定义后半段时间值为0
  14.         end
  15.         p0=1;
  16.     else
  17.         for j=1:t0/2
  18.           y((2*i-2)*t0/2+j)=-1;%定义前半段时间值为1
  19.             y((2*i-1)*t0/2+j)=0;%定义后半段时间值为0
  20.         end;
  21.         p0=-1;
  22.     end;
  23. else
  24.         for j=1:t0
  25.            y((i-1)*t0+j)=0;%如果输入信息为1,码元对应的点的值取1
  26.         end;
  27. end
  28.         end;
  29. N=length(y);
  30. temp=y(N);
  31. y=[y,temp];
  32. subplot(2,1,1);plot(t,y);
  33. axis([0,i,-1.1,1.1]);
  34. title('AMI码');
复制代码

图8.5AMI码

8.6HDB3码
  1. %hdb3.m
  2. function y=hdb3(x)
  3. x=[1 1 0 1 1 0 0 1 1 0 0 1]
  4. %输入x为二进制码,输出y为编好的码
  5. t0=200;%每个码元200个点
  6. t=0:1/t0:length(x);%时间序列
  7. zerocount=0;%该变量用于统计连零的数量
  8. bcount=0;%该变量用于统计上一个V脉冲以来B脉冲的数量
  9. B=1;%该变量存储前一个脉冲的极性,等于1时为正脉冲,等于负1时为负脉冲
  10. %循环处理二进制序列
  11. for i=1:length(x);%计算码元的值
  12. if x(i)==1 %如果为符号1
  13.     zerocount=0;%连零统计清零
  14.     bcount=bcount+1;%B脉冲数量+1
  15. if B==1;%如果前一个脉冲为正脉冲,输出一个负脉冲
  16.     for j=1:t0/2
  17.             y((2*i-2)*t0/2+j)=-1;%定义前半段时间值为1
  18.             y((2*i-1)*t0/2+j)=0;%定义后半段时间值为0
  19.         end;
  20.         B=-1;%更新B
  21.     else %%如果前一个脉冲为负脉冲,输出一个正脉冲
  22.         for j=1:t0/2
  23.             y((2*i-2)*t0/2+j)=1;%定义前半段时间值为1
  24.             y((2*i-1)*t0/2+j)=0;%定义后半段时间值为0
  25.         end
  26.         B=1;%更新B
  27. end
  28. else  %如果为符号0
  29.       zerocount=zerocount+1;%连零统计+1
  30.     if zerocount==4;%如果连零数量等于4
  31.         if mod(bcount,2)==1;%如果自上一V脉冲以来已经有奇数个B
  32.             if B==1;%如果前一个脉冲为正脉冲,输出一个正的V脉冲,这时取代节是000V+
  33.                  for j=1:t0/2
  34.             y((2*i-2)*t0/2+j)=1;%定义前半段时间值为1
  35.             y((2*i-1)*t0/2+j)=0;%定义后半段时间值为0
  36.                  end
  37.             else %如果前一个脉冲为负脉冲,输出一个负的V脉冲,这时取代节是000V+
  38.                 for j=1:t0/2
  39.          y((2*i-2)*t0/2+j)=-1;%定义前半段时间值为1
  40.          y((2*i-1)*t0/2+j)=0;%定义后半段时间值为0
  41.                 end
  42.             end
  43.         else%如果自上一V脉冲以来已经有偶数个B
  44.         if B==1%如果前一个脉冲为正脉冲,输出一个负的V脉冲,这时取代节是B-00V-
  45.             for j=1:t0/2%调整往前数第三个符号为B-
  46.          y((2*i-2-6)*t0/2+j)=-1;%定义前半段时间值为1
  47.          y((2*i-1-6)*t0/2+j)=0;%定义后半段时间值为0
  48.             end
  49.          B=-1%更新B
  50.         else
  51.             %如果前一个脉冲为负脉冲,输出一个正的V脉冲,这时取代节是B+00V+
  52.              for j=1:t0/2;%调整往前数第三个符号为B-
  53.             y((2*i-2)*t0/2+j)=+1;
  54.             y((2*i-1)*t0/2+j)=0;
  55.              end;
  56.            for j=1:t0/2
  57.              y((2*i-2-6)*t0/2+j)=+1;
  58.              y((2*i-1-6)*t0/2+j)=0;
  59.               end
  60.              B=+1;%更新B
  61.         end
  62.         end
  63.          bcount=0;% bcount清零
  64.         zerocount=0;% bcount清零
  65.         else %如果不是4连零,直接输出0
  66.         for j=1:t0
  67.             y((i-1)*t0+j)=0;
  68.            end;
  69.     end;
  70. end;
  71. end %end for
  72. N=length(y);
  73. temp=y(N);
  74. y=[y,temp];
  75. subplot(2,1,1);plot(t,y);
  76. axis([0,i,-1.1,1.1]);
  77. title('HDB3');
复制代码

图8.6HDB3码

8.7曼彻斯特码
  1. %manchester.m
  2. function y=manchester(x)
  3. x=[1 1 0 1 0 0 1 1 0 1 0 0  1]
  4. %输入x为二进制码,输出y为编好的码
  5. t0=200;%每个码元200个点
  6. t=0:1/t0:length(x);%时间序列
  7. for i=1:length(x);%计算码元的值
  8. if x(i)==1
  9.         for j=1:t0/2
  10.             y((2*i-2)*t0/2+j)=1;%定义前半段时间值为1
  11.             y((2*i-1)*t0/2+j)=0;%定义后半段时间值为0
  12.         end;
  13.     else
  14.         for j=1:t0/2
  15.             y((2*i-2)*t0/2+j)=0;%定义前半段时间值为0
  16.             y((2*i-1)*t0/2+j)=1;%定义后半段时间值为1
  17.         end;
  18.     end;
  19. end;
  20. N=length(y);
  21. temp=y(N);
  22. y=[y,temp];
  23. subplot(2,1,1);plot(t,y);
  24. axis([0,i,-0.1,1.1]);
  25. title('曼彻斯特码');
复制代码

图8.7曼彻斯特码

8.8Miller
  1. x=[1 0 0 1 0 0 1 1];
  2. y=-ones(2,9);
  3. k=find(x==1);
  4. if length(k)~=0
  5. y(:,k(1))=[0,1]';
  6. flag=1;
  7. end
  8. for ii=1:length(x)
  9. if (x(ii)==1)&(ii==k(1))
  10. continue
  11. elseif (x(ii)==1)&(flag==0)
  12. y(:,ii)=[0,1]';
  13. flag=1;
  14. elseif (x(ii)==1)&(flag==1)
  15. y(:,ii)=[1,0]';
  16. flag=0;
  17. end
  18. if(x(ii)==0)&(x(ii-1)==0)&(flag==0)
  19. y(:,ii)=[1,1]';
  20. flag=1;
  21. elseif(x(ii)==0)&(x(ii-1)==0)&(flag==1)
  22. y(:,ii)=[0,0]';
  23. flag=0;
  24. elseif(x(ii)==0)&(x(ii-1)==1)&(flag==0)
  25. y(:,ii)=[0,0]';
  26. flag=0;
  27. elseif(x(ii)==0)&(x(ii-1)==1)&(flag==1)
  28. y(:,ii)=[1,1]';
  29. flag=1;
  30. end
  31. end
  32. y(:,9)=[0,0];
  33. milecode1=reshape(y,1,18);
  34. stairs(milecode1,'r');
  35. title('Miller');
  36. hold on;
复制代码

图8.8Miller




、心得体会

经过课程设计,培养了我独立思考的能力,增强了对通信原理这门课程的兴趣。

我们在课堂上掌握的仅仅是专业基础课的理论面,但是通过课程设计,我们就可以把所学的专业基础理论知识用到实践中。虽然在刚开始编程序感觉无处下手,但随着对matlab的逐渐了解,发现matlab其实并没有想象中的那么难。而且通过用matlab仿真基带传输系统,对数字通信、数字信号处理都有更深刻的理解。

实践出真知。这次课程设计,提高了独立思考的能力,培养了发现问题解决问题的能力。不仅如此,我还认知到学习是一环扣一环的,之前的matlab的学习课程在这门课中也占了很重要的地位。在编写代码的时候,不能急于刚开始就对着电脑编写程序,一定要理解和整理出来你所想要做什么。通过画流程图,可以发现在代码编写的过程中不仅效率高,而且成功率也高。并且在程序中过多的嵌套for循环语句和if选择语句,很容易不小心就会导致代码错误,所以程序中应尽量避免。

课程实际让我发觉平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,锻炼了自己的能力,思路即出路,当遇见不懂不会的问题时,即使请教。只要认真钻研,动脑思考,敢于实践,坚持不懈,最终会取得不小的进步。


完整的Word格式文档51黑下载地址:

数字基带传输系统.doc (786 KB, 下载次数: 35)



评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2018-6-14 04:27 | 只看该作者
好资料,51黑有你更精彩!!!
回复

使用道具 举报

板凳
ID:456813 发表于 2018-12-27 21:04 | 只看该作者
参考文献在哪
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表