效果图







代码

import matplotlib.pyplot as plt

config = {
'color': 'black',
'lw': 5,
} def init():
plt.figure(figsize=(13, 4))
plt.ylim(-0.5, 1.5)
plt.yticks([0, 1])
plt.gca().xaxis.set_major_locator(plt.MultipleLocator(1))
plt.grid() def RZ(code):
init()
plt.title('归零编码方式', fontsize=20)
plt.xlim(0, len(code))
for i, bit in enumerate(code):
plt.text(i + 0.4, -0.4, bit, fontsize=25)
if bit == "1":
plt.plot([i, i, i + 0.5, i + 0.5, i + 1], [0, 1, 1, 0, 0], **config)
else:
plt.plot([i, i + 1], [0, 0], **config) def NRZ(code):
init()
plt.title('非归零编码方式', fontsize=20)
plt.xlim(0, len(code))
prev = "0"
for i, bit in enumerate(code):
plt.text(i + 0.4, -0.4, bit, fontsize=25)
if bit == "1":
if bit != prev:
prev = "1"
plt.plot([i, i], [0, 1], **config)
plt.plot([i, i + 1], [1, 1], **config)
else:
if bit != prev:
prev = "0"
plt.plot([i, i], [1, 0], **config)
plt.plot([i, i + 1], [0, 0], **config) def Manchester(code):
init()
plt.title('曼切斯特', fontsize=20)
plt.xlim(0, len(code))
prev = "0"
for i, bit in enumerate(code):
plt.text(i + 0.4, -0.4, bit, fontsize=25)
if bit == "1":
if bit == prev:
plt.plot([i, i], [0, 1], **config)
prev = "1"
plt.plot([i, i + 0.5, i + 0.5, i + 1], [1, 1, 0, 0], **config)
else:
if bit == prev:
plt.plot([i, i], [1, 0], **config)
prev = "0"
plt.plot([i, i + 0.5, i + 0.5, i + 1], [0, 0, 1, 1], **config) def Diff_Manchester(code):
init()
plt.title('差分曼切斯特', fontsize=20)
plt.xlim(0, len(code))
change = False
for i, bit in enumerate(code):
plt.text(i + 0.4, -0.4, bit, fontsize=25)
if bit == "1":
change = not change
if change:
if bit == "0":
plt.plot([i, i], [0, 1], **config)
plt.plot([i, i + 0.5, i + 0.5, i + 1], [1, 1, 0, 0], **config)
else:
if bit == "0":
plt.plot([i, i], [1, 0], **config)
plt.plot([i, i + 0.5, i + 0.5, i + 1], [0, 0, 1, 1], **config) RZ("10011010")
plt.savefig("rz.png")
NRZ("10011010")
plt.savefig("nrz.png")
Manchester("10011010")
plt.savefig("m.png")
Diff_Manchester("10011010")
plt.savefig("dm.png")

matplotlib作图 归零编码、曼切斯特编码、非归零编码、差分曼切斯特编码的更多相关文章

  1. java中文乱码解决之道(三)-----编码详情:伟大的创想---Unicode编码

    随着计算机的发展.普及,世界各国为了适应本国的语言和字符都会自己设计一套自己的编码风格,正是由于这种乱,导致存在很多种编码方式,以至于同一个二进制数字可能会被解释成不同的符号.为了解决这种不兼容的问题 ...

  2. 详解JavaScript中的Url编码/解码,表单提交中网址编码

    本文主要针对URI编解码的相关问题做了介绍,对Url编码中哪些字符需要编码.为什么需要编码做了详细的说明,并对比分析了Javascript 中和 编解码相关的几对函数escape / unescape ...

  3. 【JAVA编码】 JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换

    http://blog.csdn.net/qinysong/article/details/1179489 这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记 ...

  4. java中文乱码解决之道(三)—–编码详情:伟大的创想—Unicode编码

    原文出处:http://cmsblogs.com/?p=1458 随着计算机的发展.普及,世界各国为了适应本国的语言和字符都会自己设计一套自己的编码风格,正是由于这种乱,导致存在很多种编码方式,以至于 ...

  5. 刨根究底字符编码之十二——UTF-8究竟是怎么编码的

    UTF-8究竟是怎么编码的 1. UTF-8编码是Unicode字符集的一种编码方式(CEF),其特点是使用变长字节数(即变长码元序列.变宽码元序列)来编码.一般是1到4个字节,当然,也可以更长. 为 ...

  6. 数据预处理:独热编码(One-Hot Encoding)和 LabelEncoder标签编码

    一.问题由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. 离散特征的编码分为两种情况: 1.离散特征的取值之间没有大小的意义,比如color:[red,blue],那么就使用one- ...

  7. Java文件编码自动转换工具类(只改变编码,不会改变文件内容)

    本篇随笔主要介绍了一个用java语言写的将一个文件编码转换为另一个编码并不改变文件内容的工具类: 通过读取源文件内容,用URLEncoding重新编码解码的方式实现. public class Cha ...

  8. ASP中Utf-8与Gb2312编码转换乱码问题的解决方法 页面编码声明

    ASP程序在同一个站点中,如果有UTF-8编码的程序,又有GB2312编码的程序时,在浏览UTF-8编码的页面后,再浏览当前网站GB2312的页面,GB2312编码的页面就会出现乱码 出现这样的问题是 ...

  9. 【JAVA编码专题】 JAVA字符编码系列三:Java应用中的编码问题

    这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...

随机推荐

  1. 软件开发过程中常用的环境解释DEV FAT UAT PRO

    1.DEV Development environment 开发环境,用于开发者调试使用 2.FAT Feature Acceptance Test environment 功能验收测试环境,用于软件 ...

  2. Magicodes.IE 2.3重磅发布——.NET Core开源导入导出库

    在2.3这一版本的更新中,我们迎来了众多的使用者.贡献者,在这个里程碑中我们也添加并修复了一些功能.对于新特点的功能我将在下面进行详细的描述,当然也欢迎更多的人可以加入进来,再或者也很期待大家来提is ...

  3. express 4.0 connect-mongo 运行时报错的解决方法

    如果使用的是express 4.0,且入口文件app.js的模板引入和中间件配置如下 如果你的package.json文件中有以下版本信息 报出的错误如下所示    或者  那么只需修改app.js中 ...

  4. Linux实战(8):查看文件大小

    du -sh *

  5. rest_framework五大模块

    面向对象封装 面向对象封装导入 # 1.将子类共有的方法抽离形成父类方法 # 2.子类使用共有方法,使用的是父类方法 # 3.共有方法中的资源,在子类使用方法时,获取的是子类资源 class MyCl ...

  6. vue学习03 v-html

    vue学习03v-html v-html指令的作用是:设置元素的内部html链接 内容有html 的结构会被解析为标签 v-text指令无论内容是什么,只会解析文本 解析文本使用v-text,需要解析 ...

  7. 解决npm被墙的问题

    npm存储包文件的服务器在国外,有时候会被墙,速度很慢,所以我们需要解决这个问题. http://npm.taobao.org/  淘宝的开发团队把npm在国内做了一个备份. 安装淘宝的cnpm np ...

  8. 概率派VS贝叶斯派

    机器学习中的MLE和MAP两大学派的争论: 频率学派 - Frequentist - Maximum Likelihood Estimation (MLE,最大似然估计): 频率学派认为世界是确定的, ...

  9. 最全总结 | 聊聊 Python 数据处理全家桶(配置篇)

    1.前言 在实际项目中,经常会接触到各种各样的配置文件,它可以增强项目的可维护性 常用配件文件的处理方式,包含:JSON.ini / config.YAML.XML 等 本篇文章,我们将聊聊 Pyth ...

  10. python数据结构树和二叉树简介

    一.树的定义 树形结构是一类重要的非线性结构.树形结构是结点之间有分支,并具有层次关系的结构.它非常类似于自然界中的树.树的递归定义:树(Tree)是n(n≥0)个结点的有限集T,T为空时称为空树,否 ...