(1)从通信中的MCS含义开始讲起

通信中的MCS:Modulation and Coding Scheme,意思为调制编码方案/调制编码策略,其内涵可分为两个部分:Modulation  和  Coding。

在基带的信号处理流程中,一般先进行编码(信道编码),再进行调制。

(1) Coding

MCS里的Coding特指信道编码,信道编码的目的是改善信号传输质量、降低误码率等。当前有多种信道编码方法,应用在LTE中的就有Turbo码和LDPC码等,5G中更是引入了Polar码。不同的编码方案性能各不相同,通信协议在选择编码方案时往往需要在复杂度和性能上做出权衡。

信道编码需要在原始比特信息上加上冗余信息实现检错、纠错功能,码率指的就是编码前后的比特数量比:

码率(rate)= 编码前比特数/编码后比特数;例如256bits的信息经过1/2Turbo编码后生成的是512个bits。

这里附上百度百科关于信道编码的解释https://baike.baidu.com/item/%E4%BF%A1%E9%81%93%E7%BC%96%E7%A0%81/9968814?fr=aladdin

(2) Modulation

调制的真实意义是:信号源控制载波的某些特征以方便在信道传输。载波包含频率、相位、幅度等信息,针对不同的特征进行调制的方法就是众所周知的FSK、PSK、AM等,之所以要调制到载波上是为了满足天线的限制。

MCS的Modulation是特指调制过程中的映射过程,严谨的说法:调制包含了符号映射和载波调制的过程。将调制简单得理解为映射关系是不全面的。

基带信号处理因为还不触及到载波调制过程,所以一般说的调制其实是指符号映射。LTE中的调制方法包括QPSK、16Qam和64Qam,是否有256Qam笔者暂不确定。5G势必是要实现256Qam的。

下图是表示QPSK,两个bit信息映射成一个符号,比图比特"11" 映射成了符号“0.717+i*0.717”。

调制阶数:QPSK的调制阶数是2,16Qam就是4,满足log2(M)的关系。以下是LTE的一张调制阶数表格。每个阶数都有几个对应的MCS,例如阶数等于2的MCS范围是0~9,这说明QPSK里就有10中对应的码率。

(注:笔者的第一篇博文,如有错误,烦请指正。)

时间: 2024-11-09 05:56:20

(1)从通信中的MCS含义开始讲起的相关文章

ASCII中的控制字符含义

十进制 十六进制 控制字符 转义字符 说明 Ctrl + 下列字母 0 00 NUL \0 Null character(空字符) @ 1 01 SOH   Start of Header(标题开始) A 2 02 STX   Start of Text(正文开始) B 3 03 ETX   End of Text(正文结束) C 4 04 EOT   End of Transmission(传输结束) D 5 05 ENQ   Enquiry(请求) E 6 06 ACK   Acknowle

【转】Linux中的EAGAIN含义

在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一个错误(比如用在非阻塞操作中). 从字面上来看,是提示再试一次.这个错误经常出现在当应用程序进行一些非阻塞(non-blocking)操作(对文件或socket)的时候.例如,以 O_NONBLOCK的标志打开文件/socket/FIFO,如果你连续做read操作而没有数据可读,此时程序不会阻塞起来等待数据准备就绪返回,read函数会返回一个错误EAGAIN,提示你的应用程序现在没有数据可读请稍后再试.

SPCOMM控件在Delphi串口通信中的应用

SPCOMM控件在Delphi串口通信中的应用 2010-07-08 22:20:31|  分类: 个人日记 |举报 |字号 订阅 2009-03-01 05:35 摘要:利用Delphi开发工业控制系统软件成为越来越多的开发人员的选择,而串口通信是这个过程中必须解决的问题之一.本文在对几种常用串口通信方法分析比较的基础上,着重讨论了Delphi开发环境下利用Spcomm控件实现PC机与单片机之间串口通信的方法,研究了Spcomm串口通信的关键技术问题,并通过一个实例给出了Spcomm控件在De

请说明Java中字符'\'的含义,有什么作用?

/* * 2. 请说明Java中字符'\'的含义,有什么作用? * * 回答: * 在java中反斜杠'\'代表的含义是转义字符,是一个标记 * * 当编译器读到这个标记的时候,它就知道下一个字符不是普通的字符,而是被转译的字符 * 它会依据转义字符的含义做操作,而不是直接的使用原字符. * *当遇到一些java语法中被占用的特殊字符的时候,要想原样的输出,就需要在这些特殊的字符前面加入反斜杠 *比如反斜杠本身,单引号,双引号,小括号等,因为语法已经占用,所以要想原样的输出,只有在前面在加一个反

正则表达式中的符号含义

. 匹配除换行符以外的任意字符\w 匹配字母或数字或下划线或汉字\s 匹配任意的空白符\d 匹配数字\b 匹配单词的开始或结束^ 匹配字符串的开始$ 匹配字符串的结束[\u4e00-\u9fa5]{2,20} 匹配2-20个汉字* 重复零次或更多次+ 重复一次或更多次? 重复零次或一次{n} 重复n次{n,} 重复n次或更多次{n,m} 重复n到m次\W 匹配任意不是字母,数字,下划线,汉字的字符\S 匹配任意不是空白符的字符\D 匹配任意非数字的字符\B 匹配不是单词开头或结束的位置[^x]

linux-man命令中的编号含义(包括系统调用和库函数讲解)

博文说明[前言]: 本文将通过个人口吻介绍linux的man命令中的编号含义(包括系统调用和库函数解释),在目前时间点[2017年6月13号]下,所掌握的技术水平有限,可能会存在不少知识理解不够深入或全面,望大家指出问题共同交流,在后续工作及学习中如发现本文内容与实际情况有所偏差,将会完善该博文内容. 本文参考文献引用链接: 1.http://www.cnblogs.com/chao1118/p/3715523.html2.http://blog.csdn.net/high_high/artic

蓝牙通信中读取固定长度数组的解决

2014-05-05 18:10 今天主要忙于工作.之前遇到一个问题,今天得以解决. 问题的描叙:需要从输入流中读取固定长度的字节数组. 问题的解决:今天参考了网上的资料.解决了. 注释部分:之前是通过拷贝数组进行解决,但是难以解决. 解决的代码如下: public synchronized void run() { byte[] buffer = new byte[16]; int bytes = 0; while (mmInStream != null) { try { // 通过连接的端口

iOS: 消息通信中的Notification&KVO

iOS: 消息通信中的Notification&KVO 在 iOS: MVC 中,我贴了张经典图: 其中的Model向Controller通信的Noification&KVO为何物呢? 在功能上说,delegate.Notification以及KVO的功能类似,都是作用于 OC中对象 的消息通信.但三者的使用场景是不同的. 简单的说Delegate是一种回掉函数,更多的用在一对一的场合,可参考 iphone:delegate机制 : Notification 用得较少,使用Notifica

(转)C++中extern “C”含义深层探索

(转)C++中extern "C"含义深层探索  1.引言 C++语言的创建初衷是"a better C",但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同.作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为"不彻底地面向对象"),因而它可以定义不属于任何类的全局变量和函数.但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同.