曼彻斯特编码:曼彻斯特编码将时钟和数据包含在数据流中,在传输代码信息的同时,也将时钟同步信号一起传输到对方,每位编码中有一跳变,不存在直流分量,因此具有自同步能力和良好的抗干扰性能。但每一个码元都被调成两个电平,所以数据传输速率只有调制速率的1/2。
曼彻斯特编码表示0或1有两种不同的方法:
第一种G. E. Thomas, Andrew S. Tanenbaum1949年提出的,它规定0是由低-高的电平跳变表示,1是高-低的电平跳变。
按此规则有:
- 编码0101(即0x5),表示原数据为00;
- 编码1001(0x9)表示10;
- 编码0110(0x6)表示01;
- 编码1010(0xA)表示11。
第二种IEEE 802.4(令牌总线)和低速版的IEEE 802.3(以太网)中规定, 按照这样的说法, 低-高电平跳变表示1, 高-低的电平跳变表示0。 - 编码0101(0x5)表示11;
- 编码1001(0x9)表示01;
- 编码0110(0x6)表示10;
- 编码1010(0xA)表示00;
如何做题?
这里的话就拿i春秋上的题目开刀了
题目在i春秋上还有,以下题面均摘自i春秋
5555555595555A65556AA696AA6666666955 这是某压力传感器无线数据包解调后但未解码的报文(hex) 已知其ID为0xFED31F,请继续将> 报文完整解码,提交hex。 tips:flag是flag{破译出的明文} 提示1:曼联
曼联的全称是曼彻斯特联足球俱乐部,这个提示很谐。这串二进制字符串中只包含四种字符:5 6 9 A ,实际上就是0b0101 0b0110 0b1001 0b1010 ,就是曼彻斯特编码中,0和1的两种位的翻转.
解密脚本:
def conv(s):
return hex(int(s, 2))[2:]
def IEEE802(bs):
pass
dict = {
"0101": "11",
"1001": "01",
"0110": "10",
"1010": "00"
}
bs=str(bs)
print bs
r = ""
for j

曼彻斯特编码是一种自同步编码,数据传输速率是调制速率的一半。编码规则有两种,一种规定低-高电平跳变表示0,高-低表示1;另一种则是相反。在解密过程中,对于某些特定的编码,需要根据IEEE 802.3/4标准进行字节序反转。本文通过实际解密题目,展示了曼彻斯特编码在实际问题中的应用,如CISCN 2016和2017年的传感器挑战。
最低0.47元/天 解锁文章
1513

被折叠的 条评论
为什么被折叠?



