免费智能真题库 > 历年试卷 > 网络规划设计师 > 2018年下半年 网络规划设计师 上午试卷 综合知识
  第13题      
  知识点:   编码   应用性编码   4B/5B编码   编码方案   编码技术
  关键词:   编码   数据        章/节:   数据通信基础知识       

 
100BASE-X采用的编码技术为4B/5B编码,这是一种两级编码方案,首先要把4位分为一组的代码变换成5单位的代码,再把数据变成(  )编码
 
 
  A.  NRZ-I
 
  B.  AMI
 
  C.  QAM
 
  D.  PCM
 
 
 

 
  第12题    2018年下半年  
   60%
下图中12位差分曼彻斯特编码的信号波形表示的数据是(   )。
  第4题    2010年上半年  
   48%
曼彻斯特编码和4B/5B编码是将数字数据编码为数字信号的常见方法,后者的编码效率大约是前者的(4)倍。
  第18题    2019年下半年  
   45%
IEEE802.3z定义了千兆以太网标准,其物理层采用的编码技术为(18)。在最大段长为20米的室内设备之间,较为合理的方案为(19)。..
   知识点讲解    
   · 编码    · 应用性编码    · 4B/5B编码    · 编码方案    · 编码技术
 
       编码
        编码就是将量化后的样本值变成相应的二进制代码。
        每个模拟样本表示为二进制编码时,如果每个相邻编码表示的量化值差相等,就是线性编码,线性编码的主要问题是在原始数据振幅较低时,编码后失真严重。如果采用非线性编码,在原始数据振幅较低时使用更多的量化值,在同样的二进制位数的情况下,信号还原后的整体失真大为降低。
        一种比PCM更为简单的方式是使用增量调制(Delta Modulation,DM),这种方式的基本思路是:在每个采样周期,如果当前值比上一次的值增加了,则生成1,否则生成0。这种简单方式主要在信号变化很慢和变化很快时,增量调制无法产生正确的波形,在性噪比上比PCM方式要差些。下图所示为增量调制产生的噪声,可以直观看出在数据变化过快时会产生噪声。
        
        增量调制在数据源变化很快或很慢时产生的噪声
 
       应用性编码
        应用性编码主要有曼彻斯特编码、差分曼彻斯特编码、4B/5B编码、8B/6T编码和8B/10B编码等。
        (1)曼彻斯特编码和差分曼彻斯特编码。曼彻斯特编码和差分曼彻斯特编码如下图所示。
        
        曼彻斯特编码和差分曼彻斯特编码
        曼彻斯特编码是一种双相码,用低到高的电平转换表示0,用高到低的电平转换表示1,因此它也可以实现自同步,常用于以太网(802.3 10M以太网)。
        某些教程中关于此描述是正好相反的,也就是0和1互换了,结果也是正确的。
        差分曼彻斯特编码是在曼彻斯特编码的基础上加上了翻转特性,遇1翻转,遇0不变,常用于令牌环网。要注意的一个知识点是:使用曼码和差分曼码时,每传输1位的信息,就要求线路上有两次电平状态变化(2 Baud),因此要实现100Mb/s的传输速率,就需要有200MHz的带宽,即编码效率只有50%。
        (2)4B/5B编码、8B/6T编码和8B/10B编码。正是因为曼码的编码效率不高,因此在带宽资源宝贵的广域网,以及速度要求更高的局域网中,就面临了困难。因此就出现了mBnB编码,也就是将m位编码成n波特(代码位)。4B/5B编码、8B/6T编码和8B/10B编码的比较如下表所示。
        
        应用编码标准
 
       4B/5B编码
        4B/5B编码是将欲发送的数据流每4位作为一个组,然后按照编码规则将其转换成相应的5位码。该编码属于自同步编码方式,为了保证接收端能提取同步时钟,编码规则保证:无论4位数据为何种组合(包括全部为0),所转换成5位码中,至少有两个"1",即保证在传输过程中码元至少发生两跳变,从而保证接收端同步时钟的提取。4B/5B编码能较好地解决同步问题,同时具有检错功能,编码效率比较高,它用5位信号表示4位有效信息,因此编码效率为80%。若要达到100Mb/s的速率,只需在线路上有125Mbaud的波特率。快速以太网(100Base-T)和光纤分布式接口(FDDI)都采用4B/5B编码方式。
 
       编码方案
        DOI的编码方案(即美国标准ANSI/NISO Z39.84-2000)规定,一个DOI由两部分组成:前缀和后缀,中间用“/”分割。前缀与后缀的字符长度没有任何限制,因此理论上DOI编码体系的容量是无限的。
 
       编码技术
               编程规范
               在嵌入式软件开发过程中,遵守编程规范,养成良好的编程习惯,这是非常重要的,将直接影响到所编写代码的质量。
               编程规范主要涉及的三方面内容:
               .命名规则。从编译器的角度,一个合法的变量名由字母、数字和下画线三种字符组成,且第一个字符必须为字母或下画线。但是从程序员的角度,一个好的名字不仅要合法,还要载有足够的信息,做到“见名知意”,并且在语意清晰、不含歧义的前提下,尽可能地简短。
               .编码格式。在程序布局时,要使用缩进规则,例如变量的定义和可执行语句要缩进一级,当函数的参数过长时,也要缩进。另外,括弧的使用要整齐配对,要善于使用空格和空行来美化代码。例如,在二元运算符与其运算对象之间,要留有空格;在变量定义和代码之间要留有空行;在不同功能的代码段之间也要用空行隔开。
               .注释的书写。注释的典型内容包括:函数的功能描述;设计过程中的决策,如数据结构和算法的选择;错误的处理方式;复杂代码的设计思想等。在书写注释时要注意,注释的内容应该与相应的代码保持一致,同时要避免不必要的注释,过犹不及。
               性能优化
               由于嵌入式系统对实时性的要求较高,因此一般要求对代码的性能进行优化,使代码的执行速度越快越好。以算术运算为例,在编写代码时,需要仔细地选择和使用算术运算符。一般来说,整数的算术运算最快,其次是带有硬件支持的浮点运算,而用软件来实现的浮点运算是非常慢的。因此,在编码时要遵守以下准则:
               .尽量使用整数(char、short、int和long)的加法和减法。
               .如果没有硬件支持,尽量避免使用乘法。
               .尽量避免使用除法。
               .如果没有硬件支持,尽量避免使用浮点数。
               下图是一个例子,其中两段代码的功能完全一样,都是对一个结构体数组的各个元素进行初始化,但采用两种不同的方法来实现。下图(a)采用数组下标的方法,在定位第i个数组元素时,需要将i乘以结构体元素的大小,再加上数组的起始地址。下图(b)采用的是指针访问的方法,先把指针fp初始化为数组的起始地址,然后每访问完一个数组元素,就把fp加1,指向下一个元素。在一个奔腾4的PC上,将这两段代码分别重复10 700次,右边这段代码需要1ms,而左边这段代码需要2.13ms。
               
               算术运算性能优化的例子
   题号导航      2018年下半年 网络规划设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第13题    在手机中做本题