计算机网络中的物理层数字信号的编码

不归零制编码、曼彻斯特编码和差分曼彻斯特编码

  • 不归零制(NRZ):正电平代表1, 负电平代表0
  • 曼彻斯特编码: 位周期中心的向上跳变代表0, 位周期中心的向下跳变代表1,但也可以反过来定义。
  • 在每一位的中心处始终都有跳变。位开始边界有跳变代表0,而位开始边界没有跳变代表1.

输入
二进制位
输出
不归零制编码、曼彻斯特编码和差分曼彻斯特编码的波形

例子:

代码如下:

#include <iostream>
#include <string.h>
using namespace std;//不归零制
void NRZ(char *num) {int len = strlen(num);for (int i = 0; i < len; i++) {if (num[i] == '0') {cout << "_ ";} else {cout << "- ";}}cout << endl;
}//曼彻斯特
void Mcoding(char *num) {int len = strlen(num);for (int i = 0; i < len; i++) {if (num[i] == '0') {cout << "_- ";} else {cout << "-_ ";}}cout << endl;
}//差分曼彻斯特
void CMcoding(char *num) {int len = strlen(num);char ans[len * 2];if (num[0] == '1') {ans[0] = '-', ans[1] = '_';} else {ans[0] = '_', ans[1] = '-';}for (int i = 1, j = 0; i < len; i++) {j = 2 * i; //记录下标的if (num[i] == '0') {//当前位置0if (num[i - 1] == '1') { //前一位置是1ans[j] = ans[j - 2];ans[j + 1] = ans[j - 1];} else { //前一位置是0ans[j] = ans[j - 2];ans[j + 1] = ans[j - 1];} } else { // 当前位置是1if (num[i - 1] == '1') { // 前一位置是1ans[j] = ans[j - 1];ans[j + 1] = ans[j - 2];} else { // 前一位置是0ans[j] = ans[j - 1];ans[j + 1] = ans[j - 2];}}}for (int i = 0; i < len * 2; i++) {if (i && i % 2 == 0) cout << " ";cout << ans[i];}cout << endl;
}int main() {char num[40];cin >> num;NRZ(num);Mcoding(num);CMcoding(num);return 0;
}

结果:

***概念写的不全可自行百度~~~ ***

不归零制编码、曼彻斯特编码和差分曼彻斯特编码实验相关推荐

  1. 曼彻斯特编码,差分曼彻斯特编码和NRZI编码

    曼彻斯特编码 曼彻斯特编码(Manchester Encoding),也叫做相位编码( Phase Encode,简写PE),是一个同步时钟编码技术,被物理层使用来编码一个同步位流的时钟和数据. 在曼 ...

  2. 曼彻斯特编码与差分曼彻斯特编码的区别

    以1010100101为例子,上面是曼彻斯特编码,下面是差分曼彻斯特编码 共同点:二者在中间位置不管0或1均有跳变 不同点:曼彻斯特编码 0是从低到高 1是从高到低 而差分曼彻斯特编码遇到0则在起始位 ...

  3. 计算机网络.第二节课.笔记.奈氏准则、香农公式、差分曼彻斯特编码、曼彻斯特码、单工通信、半双工通信、双工通信、码元

    物理层 特性 描述 机械特性 硬件生产规格 电气特性 各个线上的电压范围 功能特性 某一线上的某一电平的电压的意义 过程特性 各种可能事件的发生顺序 数据通信 通信的目答是传送消息,数据是运送消息的实 ...

  4. 曼彻斯特编码 差分曼彻斯特编码 计算机网络

    数字信号编码是要解决数字数据的数字信号表示问题,即通过对数字信号进行编码来表示数据.数字信号编码的工作一般由硬件完成,常用的编码方法有以下三种:不归零码码.曼彻斯特编码.差分曼彻斯特编码. 差分曼彻斯 ...

  5. 有关常用的编码方式-差分曼彻斯特编码不用于千兆以太网中

    物理层的编码方式有多种,下列关于编码的说法中,( )是错误的. A.不归零制编码不能携带时钟,不适合用于同步传输,常用于串行异步通信中 B.曼彻斯特编码可携带时钟,但编码的密度较低,常用于10Mbps ...

  6. 计算机网络---非归零码、曼彻斯特编码和差分曼彻斯特编码

    题目: 在数据通信技术中,将利用模拟信道通过调制解调器传输模拟信号的方法称为频带传输:将利用数字信道直接传输数字信号的方法称为基带传输. 基带传输中,数字信号的编码方式主要有三种:非归零码.曼彻斯特编 ...

  7. 【曼彻斯特编码/差分曼彻斯特编码】

    曼彻斯特编码/差分曼彻斯特编码_walker snapshot的技术博客_51CTO博客_曼彻斯特编码详解

  8. CN_@物理层@信噪比@分贝单位@奈奎斯特定理@香农公式@常用编码方式(曼彻斯特编码/差分曼彻斯特编码)波形图

    文章目录 CN_@信噪比@分贝单位@奈奎斯特定理@香农公式@常用编码方式(曼彻斯特编码/差分曼彻斯特编码)波形图 通信基础概念 数据 (data) 信号 (signal) 基带信号 模拟信号 (ana ...

  9. 编码技术-RZ、NRZ、NRZI、曼彻斯特、差分曼彻斯特等

    编码技术(RZ.NRZ.NRZI.曼彻斯特.差分曼彻斯特等) - 知乎 编码技术就看这章

最新文章

  1. linux红帽网页中文乱码解决,【linux学习笔记】安装redhat时中文显示乱码(小方框)解决方法...
  2. Linux应用层的定时器Timer使用详解【转】
  3. 线段树--codevs 1690 开关灯
  4. 求变量的数据类型,typeid,bool,C和C++的不同,new和delete,C++中的枚举,inline和可变参数模板,auto和函数模板,宽字符
  5. 盛最多水的容器—leetcode11
  6. 操作系统的起源|开源运动的兴起
  7. 深入理解Elasticsearch(原书第2版)》一1.2 何为Elasticsearch
  8. kotlin数据库_如何在Kotlin应用程序中使用Xodus数据库
  9. this 的指向问题
  10. python如何保存列表_python中数据的保存
  11. 微信小程序位置定位php,【微信开发】微信小程序通过经纬度计算两地距离php代码实现...
  12. java 抓smail_java如何定位代码到smail里,如图0.0
  13. 坦白说查看教程 Python
  14. ReentrantLock加锁解锁线程入队源码分析
  15. 杭州电子科技大学计算机考研复试分数线,2019杭州电子科技大学考研复试分数线通知...
  16. 使用ajax请求下载excel文件
  17. python运用ico图标,处理Django中的favicon.ico图标实例方法
  18. mysql 不会丢失数据吗_讨论MySQL丢失数据的几种情况
  19. 【AI简报20210514期】开源项目树莓派复古相机、L4自动驾驶新闻速递
  20. html代码中的nofollow属性

热门文章

  1. 基于机器视觉的图像处理缺陷检测方法论文学习
  2. ceph iscsi
  3. java中级工程师面试题_java中级工程师面试题
  4. TP-Link 不回应,安全工程师公开了其路由器漏洞的,大厂竟漠不关心
  5. #undef 的用法
  6. 2022年PHP面试题附答案(实战经验)
  7. 测试用例八大要素有哪些?
  8. 相似度算法之欧几里得距离
  9. mouseenter(mouseleave)与 mouseover(mouseout)的区别
  10. 【python】廖雪峰学习笔记