曼切斯特编码

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

曼切斯特编码又称数字双相码,一种时钟同步的编码技术,与其他编码相比,曼切斯特编码可以消除直流成分,具有时钟恢复和抗干扰能力强的特点,更适合于在传输性能较差的信道中进行信息的传输。


一、曼切斯特编码的定义

曼切斯特编码之所以叫双相码(big-phase mark),是因为它将一个码元划分成两个等宽的间隔,用相位观点来描述,也就是对每个二进制代码“0”和“1”分别用两个具有不同相位的二进制新码去取代,故称为双相编码。编码规则是在每个码元的开始、结束以及“0”码元正中间时刻发生跳变,其余时刻不变化。

二、曼切斯特编码两种用法

1.“低——>高”表示“1”

第一种约定则是在IEEE 802.4(令牌总线)和低速版的IEEE 802.3 (以太网)中规定, 按照这样的说法, 低-高电平跳变表示1, 高-低的电平跳变表示0。

2.“高——>低”表示“1”

第二种是由G. E. Thomas, Andrew S. Tanenbaum等人在1949年提出的,它规定0是由低-高的电平跳变表示,1是高-低的电平跳变。

3.根据实际效果图解释

从图中可以看出在一个时钟周期T中,曼切斯特编码是通过在(1/2)T处高低电平的一个跳转来表示原数据“1”或“0”的。

与此同时,它也通过电平的跳转表示了一个时钟周期。

通俗讲就是在跳转时通过你跳的方向来告诉接收方我是发的“1”或者“0”。并且,它是在这一个时钟周期的(1/2)T处完成的跳转。

如果再发生跳转那一定是在下一个时钟的(1/2)T。
在这里插入图片描述

三、曼切斯特编码为什么速率减半?

1、什么是数据传输速率?

数据传输速率(Data Transfer Rate),是描述数据传输系统的重要技术指标之一,是指通信线上传输信息的速度,在单位时间内(通常为一秒)传输的比特数 。数据传输速率有两种表示方法,即信号速率和调制速率。

2、什么是信号速率?

信号速率S:指单位时间内所传送的二进制代 码的有效位数,以每秒多少比特 (bit) 数计,即 bps。

3、什么是调制速率?

调制速率B:是脉冲信号经过调制后的传输速率,以波特(Baud) 为单位,通常用于表示调制器之间传输信号的速率。

4、什么速率减半?

根据王道上视频所说是数据传输速率是调制速率的1/2。
故这里的数据传输速率即信号速率。
也就是说,原本T时间,传输1bit数据。现在调制完后还是1bit数据。但是调制后T时间是可以发2Baud的码元。

在这里插入图片描述


总结

曼切斯特编码的学习是计算架网络学习中的基础,为后面深入学习编码提供了一个模板和学习思路。

  • 10
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
曼彻斯特编码是一种数字数据传输编码方式,它通过在信号的每个时钟周期中改变信号的电平来表示数据位的变化。在曼彻斯特编码中,一个比特由两个时钟周期组成,每个时钟周期中信号的电平改变代表1或0的变化。 在Verilog中实现曼彻斯特编码需要使用状态机和时钟控制信号。首先,我们需要定义两个状态:数据位0和数据位1。接下来,我们需要根据输入的数据位和当前状态生成输出信号。 下面是一个简单的Verilog代码实现曼彻斯特编码: ``` module manchester_encoding ( input clk, input data_in, output reg encoded_data ); reg [1:0] state; always @(posedge clk) begin case(state) 2'b00: begin if (data_in) encoded_data <= 1'b0; state <= 2'b01; end 2'b01: begin if (data_in) encoded_data <= 1'b1; state <= 2'b10; end 2'b10: begin if (data_in) encoded_data <= 1'b1; state <= 2'b00; end endcase end endmodule ``` 在这个代码中,我们使用了一个状态寄存器(state)表示当前状态。在时钟(posedge clk)的上升沿触发时,根据当前的状态和输入数据(data_in),我们生成相应的输出信号(encoded_data)。 该代码中使用了一个case语句来根据信号的电平和当前状态生成输出结果。具体来说,当状态为00时,如果输入数据为1,则输出信号为0,并将状态变为01;当状态为01时,如果输入数据为1,则输出信号为1,并将状态变为10;当状态为10时,如果输入数据为1,则输出信号为1,并将状态变为00。 通过这种方式,我们可以将输入的数字数据进行曼彻斯特编码,并将生成的编码信号输出到encoded_data信号上。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jerry Bian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值