码迷,mamicode.com
首页 > 其他好文 > 详细

数字编码 - 归零码RZ 非归零码NRZ 曼彻斯特码Manchester 差分曼彻斯特码 Differential Manchester

时间:2014-05-13 22:54:15      阅读:3085      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   class   code   c   

bubuko.com,布布扣

http://en.wikipedia.org/wiki/Return-to-zero

 

RZ 编码(Return-to-zero Code),即归零编码

在 RZ 编码中,正电平代表逻辑 1,负电平代表逻辑 0,并且,每传输完一位数据,信号返回到零电平,

也就是说,信号线上会出现 3 种电平:正电平、负电平、零电平:

bubuko.com,布布扣

从图上就可以看出来,因为每位传输之后都要归零,所以接受者只要在信号归零后采样即可,这样就不在需要单独的时钟信号。

实际上,RZ 编码就是相当于把时钟信号用归零编码在了数据之内。这样的信号也叫做自同步(self-clocking)信号。

这样虽然省了时钟数据线,但是还是有缺点的,因为在 RZ 编码中,大部分的数据带宽,都用来传输“归零”而浪费掉了。

Return-to-zero

Return-to-zero (RZ) describes a line code used in telecommunications signals in which the signal drops (returns) to zero between each pulse.

This takes place even if a number of consecutive 0s or 1s occur in the signal.

The signal is self-clocking. This means that a separate clock does not need to be sent alongside the signal,

but suffers from using twice the bandwidth to achieve the same data-rate as compared to non-return-to-zero format.

The "zero" between each bit is a neutral or rest condition, such as

a zero amplitude in pulse amplitude modulation (PAM),

zero phase shift in phase-shift keying (PSK), or

mid-frequency in frequency-shift keying(FSK).

That "zero" condition is typically halfway between the significant condition representing a 1 bit and the other significant condition representing a 0 bit.

Although return-to-zero (RZ) contains a provision for synchronization, it still has a DC component resulting in “baseline wander”

during long strings of 0 or 1 bits, just like the line code non-return-to-zero.

Return to zero, inverted

Return-to-zero, inverted (RZI) is a method of mapping for transmission.

The two-level RZI signal has a pulse (shorter than a clock cycle) if the binary signal is 0, and no pulse if the binary signal is 1.

It is used (with a pulse 3/16 of a bit long) by the IrDA serial infrared (SIR) physical layer specification.

Required bandwidth for this kind of modulation is: BW = R(data rate)

 

http://en.wikipedia.org/wiki/Non-return-to-zero

http://zh.wikipedia.org/wiki/%E4%B8%8D%E6%AD%B8%E9%9B%B6

NRZ 编码(Non-return-to-zero Code),不归零编码。

我们去掉这个归零步骤,NRZ 编码(Non-return-to-zero Code)就出现了,和 RZ 的区别就是 NRZ 是不需要归零的:

bubuko.com,布布扣

http://baike.baidu.com/view/491480.htm

归零码

信号电平在一个码元之内都要恢复到零的编码方式,return to zero code (RZ)
 
一种二进制信息的编码,用极性不同的脉冲分别表示二进制的“1”和“0”,在脉冲结束之后要维持一段时间的零电平。
 
能够自同步,但信息密度低。
 
它是码元中间的信号回归到0电平,判断的方法是"从正电平到零电平的转换边表示的码元为0,
 
而从负电平到零电平转换边表示码元1",使得这种编码为自定时的编码.
 
所谓的“单极性”是指用正脉冲和零分别代表数字信号1和0,没有负脉冲;
 
所谓“双极性”是指用正脉冲和负脉冲分别代表数字信号1和0,如图所示。
 
bubuko.com,布布扣
 
 

单极性归零码

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

双极性归零码

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

Non-return-to-zero

NRZ指的是在一个比特位的传送时间内,电压是保持不变的(比如说,不回到零点)。

In telecommunication, a non-return-to-zero (NRZ) line code is a binary code in which

1s are represented by one significant condition (usually a positive voltage) and

0s are represented by some other significant condition (usually a negative voltage), with no other neutral or rest condition.

The pulses have more energy than a return-to-zero (RZ) code.

Unlike RZ, NRZ does not have a rest state.

NRZ is not inherently a self-clocking signal, thus some additional synchronization technique

(for example a run length limited constraint, or a parallel synchronization signal) must be used for avoiding bit slip.

For a given data signaling rate, i.e., bit rate, the NRZ code requires only half the baseband bandwidth required

by the Manchester code (the passband bandwidth is the same).

When used to represent data in an asynchronous communication scheme,

the absence of a neutral state requires other mechanisms for bit synchronization

when a separate clock signal is not available.

NRZ-Level itself is not a synchronous system but rather an encoding that can be used

in either a synchronous or asynchronous transmission environment,

that is, with or without an explicit clock signal involved.

Because of this, it is not strictly necessary to discuss how the NRZ-Level encoding acts "on a clock edge" or "during a clock cycle"

since all transitions happen in the given amount of time representing the actual or implied integral clock cycle.

The real question is that of sampling—the high or low state will be received correctly provided the transmission line has stabilized for that bit

when the physical line level is sampled at the receiving end.

However, it is helpful to see NRZ transitions as happening on the trailing (falling) clock edge in order to compare NRZ-Level to other encoding methods,

such as the mentioned Manchester code, which requires clock edge information (is the XOR of the clock and NRZ, actually)

see the difference between NRZ-Mark and NRZ-Inverted.

在电信学中,不归零编码 (non-return-to-zero line code, NRZ) 指的是一种二进制的讯号代码,

在这种传输方式中,1 和 0 都个别由不同的电子显著状态来表现,除此之外,没有中性状态、亦没有其他种状态。

这种脉冲的能量比归零代码要来得密集,但它传输时是不停歇的,这代表同步信号必须在此代码之外独自传输。

在给定一个信号频率的情况下(比如说位元率),NRZ 代码只需要曼彻斯特代码 (Manchester code) 的一半带宽。

当用于异步传输时,由于缺少中性状态,必须依靠其他种机制,来达成在同步传输中使用时钟侦测错误的资料回复工作。

NRZ-Level 本身并非一种同步系统,而更是一种编码方式,因为它可用于同步环境、或异步环境中,也就是不管有没有明确的时钟讯号,都可以运作。

所以,讨论 NRZ-Level 编码是否在时钟“跳动 (clock-edge)”或“跳动之间 (between clock-edge)”并非必要的,

因为每一个讯号一定都是以给定的时脉来传输的,这就暗示了讯号内在的时脉。

真正的问题是,能否在接收端以当初取样时的同样频率重绘该讯号。

然而,由于 NRZ 讯号的脉冲与时钟是一致的,这就很容易看出 NRZ-Level 和其他编码方式的不同,

例如前面提到的曼彻斯特代码,它需要明确的时脉资讯(即 NRZ 和时钟的 XOR 值),

还能看出与 NRZ-Mark 和 NRZ-Inverted 等编码的不同。

 

不归零法编码    不归零法(Nonreturn to Zero, NRZ)可能是最简单的一种编码方案。

它传送一个0时把电压升高,而传送一个1时则使用低电平。

这样,通过在高低电平之间作相应的变换来传送0和1的任何序列。

NRZ指的是在一个比特位的传送时间内,电压是保持不变的(比如说,不回到零点)。

下图描述了二进制串1 0 1 0 0 11 0的NRZ传输过程。

bubuko.com,布布扣

 

 NRZ编码虽然简单,但却存在一个问题。研究一下下图中的传输。它正在传送什么呢?

bubuko.com,布布扣

 

你可以回答说是“一个0的序列”。是的,但到底有多少个0呢?

对于这个问题,你会回答说这取决于一个比特位的持续时间。

现在假设我们告诉你1毫米线段对应于一个周期。那么你所要做的就是量出图中线段的长度,并转换为毫米。

这一计算将告诉你线段中有多少个1毫米的分段,也就是0的个数。理论上这个方法是行得通的,但实际上却不然。

假设有个人用尺子画出了一条包含1 0 0 0个1毫米分段的线段。那么总共有多长呢?

答案是1米,但由于在测量和实际绘制时出现的误差,线段可能只是接近而不是刚刚好一米长。

因此,当第二个人来测量这条线段时,他将得出一个比1 0 0 0个分段稍微多点或少点的答案。

即使第一个人很幸运,他的测量准确无误,但第二个人度量时的不精确也将导致误差。

这会给数据传输带来什么影响呢?

当一台设备传送一个比特的数字信号时,它将在一定的周期内,假定为T,产生一个持续的信号。

一个内置的时钟负责定时。接收设备必须知道信号的周期,这样它才能在每个T时间单元内对信号进行采样。

它也有一个负责定时的内置时钟。剩下的就是确保两个时钟使用同样的T。

下一个问题是:所有的时钟总是保持一致的吗?任何物理设备都存在着设计上的局限性和缺陷。

几乎可以肯定任何两个时钟都存在着微小的差别,这使得设备无法对传输信号作十分精确的采样。

就好象我们在新年的第一天校正了两个时钟,但到了年底却发现它们已经有了轻微的差别。

同样地,管弦乐队的音乐家们以同样的速度同时开始演奏,但如果他们不看指挥,

也不注意听别人的拍子的话,他们的节奏将开始混乱。

稍微的不和谐就将毁掉整个演奏,使它听起来就象作者和他的同事们正在表演一样。

就象指挥家确保演奏者的同步一样,通信设备也需要某种机制以使它们的定时保持一致。

不变的信号不具备同步机制。但如果信号改变的话,这种改变就可以用来保持设备的同步。

有些强制信号改变的编码方案就是基于这个原因。 

Non return to zero(NRZ) 

NRZ codes share the property that voltage level is constant during a bit interval.

High level voltage = bit 1 and Low level voltage = bit 0.

A problem arises when there is a long sequence of 0s or 1s and the volatage level

is maintained at the same value for a long time.

This creates a problem on the recieving end because now, the clock synchronization is lost due to lack of any transitions and hence,

it is difficult to determine the exact number of 0s or 1s in this sequence. 

bubuko.com,布布扣

The two variations are as follows:

  1. NRZ-Level: In NRZ-L encoding, the polarity of the signal changes only when the incoming signal changes from a 1 to a 0 or from a 0 to a 1.
    NRZ-L method looks just like the NRZ method, except for the first input one data bit.
    This is because NRZ does not consider the first data bit to be a polarity change, where NRZ-L does.

  2. NRZ-Inverted: Transition at the beginning of bit interval = bit 1 and No Transition at beginning of bit interval = bit 0 or vicecersa.
    This technique is known as differential encoding.

NRZ-I has an advantage over NRZ-L.

Consider the situation when two data wires are wrongly connected in each other‘s place.

In NRZ-L all bit sequences will get reversed (B‘coz voltage levels get swapped).

Whereas in NAZ-I since bits are recognized by transition the bits will be correctly interpreted.

A disadvantage in NRZ codes is that a string of 0‘s or 1‘s will prevent synchronization of transmitter clock
with receiver clock and a separate clock line need to be provided. 

 

Unipolar non-return-to-zero level

bubuko.com,布布扣

"One" is represented by one physical level (such as a DC bias on the transmission line).

"Zero" is represented by another level (usually a negative voltage).

In clock language, "one" transitions or remains high on the trailing clock edge of the previous bit and

"zero" transitions or remains low on the trailing clock edge of the previous bit, or just the opposite.
 
This allows for long series without change, which makes synchronization difficult.
 
One solution is to not send bytes without transitions.
 
Disadvantages of an on-off keying are the waste of power due to the transmitted DC level and the power spectrum of the transmitted signal
 
does not approach zero at zero frequency.

单极 NRZ-Level

bubuko.com,布布扣

1”由一种物理电平表现,例如传输线上的直流偏移 (DC bias)。

“0”由另一种电平表现(通常是负电压)。

在时脉术语中,通常“1”沿着上一个位元的时脉边缘,维持或改变到一个较低的位置;

而“0”则沿着上一个位元的时脉边缘,维持或改变到一个较高的位置,或者两者反过来。

这可能会造成一长串不改变的电平,让同步工作变得困难。

一个解决办法是只传送有着许多变化的讯号,见限制游长 (Run Length Limited)。

图表显示最低一条线代表真正的零电平,而其上是代表“0”的逻辑电平,电压代表“1”,这种配置较稀少。

Bipolar non-return-to-zero level

"One" is represented by one physical level (usually a positive voltage).

"Zero" is represented by another level (usually a negative voltage).

In clock language, in bipolar NRZ-Level the voltage

"swings" from positive to negative on the trailing edge of the previous bit clock cycle.

An example of this is RS-232, where "one" is ?12 V to ?5 V and "zero" is +5 V to +12 V.

两极 NRZ-Level

1”由一物理电平表现(通常是正电压)。负电压 ?

“0”由另一电平表现(通常是负电压)。正电压 ?

在时脉术语中,两极的 NRZ-Level 电压沿着上一个位元的时脉边缘,从正转向负。

这种讯号的例子是 RS-232,它的“1”是 -5v 至 -12V 之间、“0”是 +5V 至 +12V 之间。

Non-return-to-zero Mark

bubuko.com,布布扣

“1”由物理电平的改变来表示。

“0”由物理电平的没有改变来表示。

在时脉术语中,沿着上一个位元的时脉边缘作出改变的代表“1”,没有改变的代表“0”。

观看图表来理解以改变为基础的编码时,必须理解到如果第一个位元之前的初始状态被判断为相反的,

则整个讯号会是反相的、或部份反相的。

在其他文件中,这个编码很常只用“NRZ”单名来称呼[1]

FIPS 1037 也把“不归零改变为一 (non-return-to-zero change-on-ones)

”和“不归零一 (non-return-to-zero one)”定义为与此相同的东西。

Non-return-to-zero space

bubuko.com,布布扣

"One" is represented by no change in physical level.

"Zero" is represented by a change in physical level.

In clock language, the level transitions on the trailing clock edge of the previous bit to represent a "zero."

This "change-on-zero" is used by High-Level Data Link Control and USB.

They both avoid long periods of no transitions (even when the data contains long sequences of 1 bits) by using zero-bit insertion.

HDLC transmitters insert a 0 bit after five contiguous 1 bits (except when transmitting the frame delimiter ‘01111110‘).

USB transmitters insert a 0 bit after six consecutive 1 bits.

The receiver at the far end uses every transition —

both from 0 bits in the data and these extra non-data 0 bits — to maintain clock synchronization.

The receiver otherwise ignores these non-data 0 bits.

1”由物理电平的没有改变来表现。

“0”由电平的改变来表现。

在时脉术语中,沿着前一个位元的时脉边缘改变的电平代表的是“0”。

这个“改变为零”的应用例子是 High-Level Data Link Control 和 USB。

它们利用插入零位元来避免长串的未改变位元(即使资料中包含了大量的 1 位元序列)。

HDLC 传输器会在连续的五个 1 位元后面,自动插入一个 0 位元(一个例外是区块定义符 "01111110")。

USB 传输器会在六个连续的 1 位元后,插入一个 0 位元。

接收端将使用每一个电平的转换(不管是资料本身还是自动插入位元)来维持时脉的同步性,若不为同步,则这些插入 0 位元会被忽略。

Non-return-to-zero inverted (NRZI)

bubuko.com,布布扣

bubuko.com,布布扣

Non return to zero, inverted (NRZI) is a method of mapping a binary signal to a physical signal

for transmissionover some transmission media.

The two level NRZI signal has a transition at a clock boundary if the bit being transmitted is a logical 1,

and does not have a transition if the bit being transmitted is a logical 0.

"One" is represented by a transition of the physical level.

"Zero" has no transition.

Also, NRZI might take the opposite convention, as in Universal Serial Bus (USB) signalling,

when in Mode 1, in which a transition occurs when signaling zero, and a steady level when signaling a one.

The transition occurs on the leading edge of the clock for the given bit.

This distinguishes NRZI from NRZ-Mark.

However, even NRZI can have long series of zeros (or ones if transitioning on "zero"),

and thus clock recovery can be difficult unless some form of run length limited (RLL) coding is used in addition to NRZI.

Magnetic disk and tape storage devices generally use fixed-rate RLL codes,

while USB uses bit stuffing, which inserts an additional 0 bit after 6 consecutive 1 bits.

While bit stuffing is efficient, it results in a variable data rate

because it takes slightly longer to send a long string of 1 bits than it does to send a long string of 0 bits.

NRZ-Inverted (NRZI)

一改变:“1”为物理电平上的改变。“0”为没有改变。

零改变:“0”为物理电平上的改变。“1”为没有改变。

改变发生在当下位元的时钟脉冲前缘。

但是,NRZI 会有长串的 0或1 位元出现,导致时脉回复有困难,可以使用一些编码技巧(例如游长限制)来解决。

曼彻斯特代码永远有时脉信号,但传输效率比 NRZI 低。

NRZI 编码被用于磁带的录音、CD的刻录和标准 USB 的传讯。

NRZI编码方式。

信号电平的一次反转代表1,电平不变化表示0,并且在表示完一个码元后,电压不需回到0

不归零制编码是效率最高的编码

缺点是存在发送方和接收方的同步问题

单极性不归零码,无电压(也就是元电流)用来表示"0",而恒定的正电压用来表示"1"。

每一个码元时间的中间点是采样时间,判决门限为半幅度电平(即0.5)。

也就是说接收信号的值在0.5与1.0之间,就判为"1"码,如果在O与0.5之间就判为"0"码。

每秒钟发送的二进制码元数称为"码速"。

双极性不归零码,"1"码和"0"码都有电流,但是"1"码是正电流,"0"码是负电流,正和负的幅度相等,故称为双极性码。

此时的判决门限为零电平,接收端使用零判决器或正负判决器,接收信号的值若在零电平以上为正,判为"1";若在零电平以下为负,判为"0"码。

以上两种编码,都是在一个码元的全部时间内发出或不发出电流(单极性),以及发出正电流或负电流(双极性)。

每一位编码占用了全部码元的宽度,故这两种编码都属于全宽码,也称作不归零码NRZ (Non Return Zero)

如果重复发送"1",势必要连续发送正电流;如果重复发送"0",势必要连续不送电流或连续发送负电流,

这样使某一位码元与其下一位码元之间没有间隙,不易区分识别。归零码可以改善这种状况。

NRZI 编码(Non-Return-to-Zero Inverted Code)和 NRZ 的区别就是 

NRZI 用信号的翻转代表一个逻辑,信号保持不变代表另外一个逻辑。

USB 传输的编码就是 NRZI 格式,在 USB 中,电平翻转代表逻辑 0,电平不变代表逻辑1(NRZI 遇 0 翻转,遇 1 不变):

bubuko.com,布布扣

 

 

 

翻转的信号本身可以作为一种通知机制,而且可以看到,即使把 NRZI 的波形完全翻转,

所代表的数据序列还是一样的,对于像 USB 这种通过差分线来传输的信号尤其方便.

现在再回到那个同步问题:的确,NRZ 和 NRZI 都没有自同步特性,但是可以用一些特殊的技巧解决。

比如,先发送一个同步头,内容是 0101010 的方波,让接受者通过这个同步头计算出发送者的频率,

然后再用这个频率来采样之后的数据信号,就可以了。


在 USB 中,每个 USB 数据包,最开始都有个同步域(SYNC),这个域固定为 0000 0001,

这个域通过 NRZI 编码之后,就是一串方波(复习下前面:NRZI 遇 0 翻转遇 1 不变),

接受者可以用这个 SYNC 域来同步之后的数据信号。

此外,因为在 USB 的 NRZI 编码下,逻辑 0 会造成电平翻转,所以接受者在接受数据的同时,

根据接收到的翻转信号不断调整同步频率,保证数据传输正确.

但是,这样还是会有一个问题,就是虽然接受者可以主动和发送者的频率匹配,但是两者之间总会有误差。

假如数据信号是 1000 个逻辑1,经过 USB 的 NRZI 编码之后,就是很长一段没有变化的电平,

在这种情况下,即使接受者的频率和发送者相差千分之一,就会造成把数据采样成 1001 个或者 999 个 1了。
        
USB 对这个问题的解决办法,就是强制插 0,也就是传说中的 bit-stuffing,

如果要传输的数据中有 7 个连续的 1,发送前就会在第 6 个 1 后面强制插入一个 0,

让发送的信号强制出现翻转,从而强制接受者进行频率调整。

接受者只要删除 6 个连续 1 之后的 0,就可以恢复原始的数据了。

 

曼彻斯特编码

曼彻斯特编码(Manchester Code)用信号的变化来保持发送设备和接收设备之间的同步。

也有人称之为自同步码( Self-Synchronizing Code)。

为了避免上面 不变的信号不具备同步机制 情况,它用电压的变化来分辨0和1。

它明确规定,从高电平到低电平的跳变代表0,而从低电平到高电平的跳变代表1。

下图给出了比特串0 1 0 11 0 0 1的曼彻斯特编码。如图所示,信号的保持不会超过一个比特位的时间间隔。

即使是0或1的序列,信号也将在每个时间间隔的中间发生跳变。

这种跳变将允许接收设备的时钟与发送设备的时钟保持一致。

曼彻斯特编码的一个缺点是需要双倍的带宽。也就是说,信号跳变的频率是NRZ编码的两倍。

bubuko.com,布布扣

曼彻斯特编码(Manchester Encoding),也叫做相位编码( Phase Encode,简写PE),

是一个同步时钟编码技术,被物理层使用来编码一个同步位流的时钟和数据。

它在以太网媒介系统中的应用属于数据通信中的两种位同步方法[1]里的自同步法(另一种是外同步法),

即接收方利用包含有同步信号的特殊编码从信号自身提取同步信号来锁定自己的时钟脉冲频率,达到同步目的。

曼彻斯特编码,常用于局域网传输。曼彻斯特编码将时钟和数据包含在数据流中,
在传输代码信息的同时,也将时钟同步信号一起传输到对方,每位编码中有一跳变,不存在直流分量,
因此具有自同步能力和良好的抗干扰性能。但每一个码元都被调成两个电平,所以数据传输速率只有调制速率的1/2。
 
就是说主要用在数据同步传输的一种编码方式。
【在曼彻斯特编码中,用电压跳变的相位不同来区分1和0,即用正的电压跳变表示1,用负的电压跳变表示0。
因此,这种编码也称为相位编码。
由于跳变都发生在每一个码元的中间,接收端可以方便地利用它作为位同步时钟,因此,这种编码也称为自同步编码。】
 
在曼彻斯特编码中,每一位的中间有一跳变,位中间的跳变既作时钟信号,又作数据信号;
从低到高跳变表示“0”,从高到低跳变表示“1”。
 
还有一种是差分曼彻斯特编码,每位中间的跳变仅提供时钟定时,而用每位开始时有无跳变表示“0”或“1”,有跳变为“0”,无跳变为“1”。
其中非常值得注意的是,在每一位的"中间"必有一跳变,根据此规则,可以得出曼彻斯特编码波形图的画法。
 
例如:传输二进制信息0,若将0看作一位,我们以0为中心,在两边用虚线界定这一位的范围,
然后在这一位的中间画出一个电平由高到低的跳变。后面的每一位以此类推即可画出整个波形图。
 
对于以上电平跳变观点有歧义:关于曼彻斯特编码电平跳变,在雷振甲编写的<<网络工程师教程>>中对曼彻斯特编码的解释为:
从低电平到高电平的转换表示 1,从高电平到低电平的转换表示0,模拟卷中的答案也是如此,张友生写的考点分析中也是这样讲的,
 
而《计算机网络(第4版)》中(P232页)则解释为高电平到低电平的转换为1,低电平到高电平的转换为0。
 
清华大学的《计算机通信与网络教程》《计算机网络(第4版)》采用如下方式:
 
曼彻斯特编码从高到低的跳变是 1 从低到高的跳变是 0 ,
在维基百科网站中从低到高是0,从高到低是1,
 
原文:A is expressed by a low-to-high transition,
by high-to-low transition
(according to G.E. Thomas‘ convention --
in the IEEE 802.3 convention, the reverse is true).,
 
在一些国外的网站有明确的表示方法。
由右图可见曼彻斯特编码在网络应用中和科学家G.E.Thomas定义的不一样。事实上存在两种相反的数据表示约定。
 
第一种是由G. E. Thomas, Andrew S. Tanenbaum等人在1949年提出的,它规定0是由低-高的电平跳变表示,1是高-低的电平跳变。
第二种约定则是在IEEE 802.4(令牌总线)和低速版的IEEE 802.3(以太网)中规定, 按照这样的说法, 低-高电平跳变表示1, 高-低的电平跳变表示0。
 
由于有以上两种不同的表示方法,所以有些地方会出现歧异。
当然,这可以在差分曼彻斯特编码(Differential Manchester encoding)方式中克服.

bubuko.com,布布扣

 

差分曼彻斯特编码 

 

和曼彻斯特编码一样,在每个比特时间间隔的中间,信号都会发生跳变。

区别在于每个时间间隔的开始处。

0将使信号在时间间隔的开始处发生跳变。而1将使信号保持它在前一个时间间隔尾部的取值。( 不变 )

因此,根据信号初始值的不同, 0将使信号从高电平跳到低电平,或从低电平跳到高电平。

下图给出了比特串1 0 1 0 0 11 0的差分曼彻斯特编码。

在这里,我们通过检查每个时间间隔开始处信号有无跳变来区分0和1。

检测跳变通常更加可靠,特别是线路上有噪音干扰的时候。

如果有人把连接的导线颠倒了,也就是把高低电平颠倒了,这种编码仍然是有效的

(现在,你也许会问哪个神志清醒的人会把两根连接的导线颠倒呢。

有几种可能的原因。其一是某人过于匆忙,其二是某人不小心搞错了。这种事情常有发生!)。

bubuko.com,布布扣

 

差分曼彻斯特编码

在信号位开始时不改变信号极性,表示辑"1" 
在信号位开始时改变信号极性,表示逻辑"0" ;

注意】:如果在最初信号的时候,即第一个信号时:

如果中间位电平从低到高,则表示0;如果中间位电平从高到低,则表示1;

后面的(从第二个开始)就看每个信号位开始时有没有跳变来决定:

 

bubuko.com,布布扣

差分曼彻斯特编码是对曼彻斯特编码的一种改进,保留了曼彻斯特编码作为“自含时钟编码”的优点,
仍将每比特中间的跳变作为同步之用,但是每比特的取值则根据其开始处是否出现电平的跳变来决定。
原理:每一位中间都有一个跳变每位开始时有跳变表示“0”,无跳变表示“1”。
位中间跳变表示时钟,位前跳变表示数据。有跳变表示“0”,无跳变表示“1”。
 
优点:时钟、数据分离,便于提取。
bubuko.com,布布扣
An example of Differential Manchester encoding: data before clock (negative edge clock), and 0 means transition.
 

Biphase Mark Coding 

Biphase mark coding transitions on every positive edge of the clock signal (when the clock goes from 0 to 1)
and it also transitions on the negative edge of the clock signal when the data is a 1.
 
bubuko.com,布布扣
 
An example of Biphase Mark Coding: clock before data (positive edge clock), and 1 means transition.
 
 

差分曼彻斯特编码与曼彻斯特编码的比较

曼彻斯特和差分曼彻斯特编码是原理基本相同的两种编码,后者是前者的改进。

他们的特征是在传输的每一位信息中都带有位同步时钟,因此一次传输可以允许有很长的数据位。
 
曼彻斯特编码的每个比特位在时钟周期内只占一半,当传输“1”时,在时钟周期的前一半为高电平,后一半为低电平;而传输“0”时正相反。
这样,每个时钟周期内必有一次跳变,这种跳变就是位同步信号。
 
差分曼彻斯特编码是曼彻斯特编码的改进。它在每个时钟位的中间都有一次跳变,传输的是“1”还是“0”,是在每个时钟位的开始有无跳变来区分的。
 
差分曼彻斯特编码比曼彻斯特编码的变化要少,因此更适合与传输高速的信息,被广泛用于宽带高速网中。
然而,由于每个时钟位都必须有一次变化,所以这两种编码的效率仅可达到50%左右
 
Biphase encoding: It has following characteristics:
  1. Modulation rate twice that of NRZ and bandwidth correspondingly greater. (Modulation is the rate at which signal level is changed).
  2. Because there is predictable transition during each bit time,the receiver can synchronize on that transition i.e. clock is extracted from the signal itself.
  3. Since there can be transition at the beginning as well as in the middle of the bit interval the clock operates at twice the data transfer rate.
Types of Encoding -->
  • Biphase-manchester: Transition from high to low in middle of interval = 1 and Transition from low to high in middle of interval = 0
  • Differential-manchester: Always a transition in middle of interval. No transition at beginning of interval=1 and Transition at beginning of interval = 0

 

bubuko.com,布布扣

 

 

数字编码 - 归零码RZ 非归零码NRZ 曼彻斯特码Manchester 差分曼彻斯特码 Differential Manchester,布布扣,bubuko.com

数字编码 - 归零码RZ 非归零码NRZ 曼彻斯特码Manchester 差分曼彻斯特码 Differential Manchester

标签:des   style   blog   class   code   c   

原文地址:http://www.cnblogs.com/shangdawei/p/3723990.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!