NB-IoT与eMTC差异全解析

来源:北京物联网智能技术应用协会

NB-IoT和eMTC同属于蜂窝物联网,也同时具备了蜂窝物联网的“3C”特征:

 

•Coverage 增强覆盖

 

•Consumption 低功耗

 

•Cost 低成本

 

 

为了满足“3C”目标,NB-IoT和eMTC的实现方式也有不同之处,具体如下:

 

NB-IoT和eMTC的关键技术对比

增强覆盖

 

 

NB-IoT的覆盖目标是MCL 164dB,其覆盖增强主要通过提升上行功率谱密度和重复发送来实现。

 

eMTC的覆盖目标是MCL 155.7dB,其功率谱密度与LTE相同,覆盖增强主要是通过重复发送和跳频来实现。

 

MCL,(Maximum Coupling Loss,最大耦合损耗),指从基站天线端口到终端天线端口的路径损耗。从覆盖目标看,eMTC比NB-IoT低8dB左右。

 

重复发送如何增强覆盖?

 

 

重复发送就是在多个子帧传送一个传输块。Repetition Gain=10log  Repetition Times,也就是说重传2次,就可以提升3dB啊。NB-IoT最大可支持下行2048次重传,上行128次重传。

 

NB-IoT和eMTC均采用了重复发送的方式来增强覆盖。

 

提升上行功率谱密度如何增强覆盖?

 

 

上下行控制信息与业务信息在更窄的LTE带宽中发送,相同发射功率下的PSD(Power Spectrum Density)增益更大,降低接收方的解调要求。

 

在下行方向,若NB-IoT采用独立部署模式,下行发射功率可独立配置,其功率谱密度与GSM相同,但比LTE FDD功率谱密度高14dB左右。

 

在上行方向,由于NB-IoT最小调度带宽为3.75K或15K,上行功率谱密度最大增强17dB,考虑GSM终端发射功率最大可以到33dBm,NB-IoT发射功率最大23dBm,所以实际NB-IoT终端比GSM终端功率谱密度最高可达7dB左右。

 

eMTC与LTE共享发射功率和系统带宽,在功率谱密度上无增强,主要通过重复发送和跳频实现覆盖增强。

 

对于NB-IoT,值得一提的是:

•在下行方向,只有独立部署的功率可独立配置,带内和保护带部署模式的功率均受限于LTE的功率,因此,在带内和保护带部署模式下,NB-IoT需要更多重传次数才能达到与独立部署模式下相当的覆盖水平。

 

•在上行方向,三种模式基本没区别。

 

低功耗

在低功耗上,NB-IoT和eMTC采用相同的技术,包括:PSM、eDRX和延长周期定时器。

 

 

①PSM(power saving mode,省电模式)

 

手机需要时刻待命,不然有人打电话给你找不到怎么办?但这意味着手机需不时监听网络,这是要耗电的。

 

 

但物联网终端不同于手机,绝大部分时间处于深度睡眠状态,每天甚至每周就上报一两条消息后,在idle态停留一段时间后便进入深度睡眠状态,不用监听空口消息。

 

PSM就是让物联网终端发完数据就进入深度睡眠状态,类似于关机,不进行任何通信活动。

 

②eDRX

 

DRX(Discontinuous Reception),即不连续接收。eDRX就是扩展的不连续接收。

 

 

手机可以断断续续的接收信号以达到省电的目的。NB-IoT和eMTC扩展了这个断续间隔,更加省电。

 

③延长周期定时器

 

灵活配置长周期位置更新定时器RAU/TAU,减少唤醒次数。

 

低成本

如何降低成本,包括减少协议栈处理开销、单天线和FDD半双工模式以降低RF成本、低速率和低带宽本身意味着降低芯片处理的复杂度等等。

 

 

比如FDD半双工模式,意味着不必同时处理发送和接收,比起全双工成本更低廉,更省电。

 

 

NB-IoT和eMTC的技术参数对比

NB-IoT和eMTC主要差异在于:

 

 

NB-IoT追求的是最低的成本,最长的续航时间,没有移动性、数据速率非常低,它比较适合于无移动性,小数据量,对时延不敏感,对成本很敏感,终端数量级大的应用,比如智能停车,智能灯杆,智能抄表等。

 

为了满足更多的应用场景和市场需求,Re-14和后续版本将对NB-IoT进行了一系列增强技术,包括增加了定位和多播功能,提供更高的数据速率,在非锚点载波上进行寻呼和随机接入,增强连接态的移动性,支持更低UE功率等级等。

 

eMTC支持语音,传输速率较快,支持移动性,但模块成本相对较高,适合于可穿戴设备、健康监测、室内移动应用等。

 

NB-IoT和eMTC部署方式对比

 

 

NB-IoT部署方式

NB-IoT分为三种部署方式:独立部署(Stand alone)、保护带部署(Guard band)和带内部署(In-band)。

 

 

独立部署适用于重耕GSM频段,GSM的信道带宽为200KHz,这刚好为NB-IoT 180KHz带宽辟出空间,且两边还有10KHz的保护间隔。

 

保护带部署利用LTE边缘保护频带中未使用的180KHz带宽的资源块。

 

带内部署利用LTE载波中间的任何资源块。不过,在带内部署模式下,有些PRB,NB-IoT是不能占用的。

  

eMTC部署方式

eMTC支持与LTE共同部署,也支持独立部署。

 

主要采用LTE带内部署方式,支持TDD和FDD两种方式。eMTC和LTE在同一频段内协同工作,由基站统一进行资源分配,共用部分控制信道。因此,运营商可以在已有的LTE频段内直接部署eMTC,无需再分配单独的频谱。

 

NB-IoT和eMTC物理层技术对比

4.1 时频域结构对比

 

 

 

NB-IoT

下行:

NB-IoT下行与LTE一致,采用正交频分多址(OFDMA)技术,子载波间隔15kHz,时隙、子帧和无线帧长分别为0.5ms、1ms和10ms,包括每时隙的OFDM符号数和循环前缀(cyclic prefix)都是与LTE一样的。

 

NB-IoT载波带宽为180KHz,相当于LTE一个PRB(Physical Resource Block)的频宽,即12个子载波*15KHz/子载波=180KHz,这确保了下行与LTE的相容性。比如,在采用LTE载波带内部署时,可保持下行NB-IoT PRB与其它LTE PRB的正交性。

 

上行:

NB-IoT上行支持多频传输(multi-tone)和单频(single- tone)传输。

 

 

多频传输基于SC-FDMA,子载波间隔为15kHz,0.5ms时隙,1ms子帧(与LTE一样)。

 

单频传输子载波间隔可为15KHz以及3.75KHz,其中15KHz与LTE一样,以保持两者在上行的相容性;其中当子载波为3.75KHz时,其帧结构中一个时隙为2ms长(包含7个符号),15KHz为3.75KHz的整数倍,所以对LTE系统有较小的干扰。

 

eMTC

eMTC是LTE的演进功能,频域结构与LTE保持一致,在TDD及FDD LTE 1.4M~20MHz系统带宽上都有定义,但无论在哪种带宽下工作,eMTC的最大调度为6RB,3GPP定义将LTE系统宽带划分为一系列6个RB的窄带(NB),eMTC窄带划分方式如下图所示:

 

 

eMTC的帧结构与LTE一致。

  

4.2 物理信道对比

NB-IoT的物理信道

下行:

对于下行链路,NB-IoT定义了三种物理信道:

①NPBCH,窄带物理广播信道

 

②NPDCCH,窄带物理下行控制信道

 

③NPDSCH,窄带物理下行共享信道

 

还定义了两种物理信号:

①NRS,窄带参考信号

 

②NPSS和NSSS,主同步信号和辅同步信号

 

与LTE不同,由于NB-IoT频率带宽最多只有1个PRB,因此,这些下行物理信道间采用时分复用模式,也就是在不同的时间上轮流出现。

 

▲NB-IoT下行物理信道和信号之间的时分复用

 

如上图,NB-IoT子帧被分配给了不同的物理信道和信号,每一个NB-IoT子帧在频域上是一个PRB(12个子载波),在时域上为1ms。

 

NPBCH

NPBCH信道与LTE的PBCH不同,广播周期640ms,重复8次发送,如下图所示,终端接收若干个子帧信号进行解调。

 

 

NPBCH位于每无线帧中的子帧#0,承载MIB-NB(Narrowband Master Information Block),其余系统信息如SIB1-NB等承载于NPDSCH中。

 

NPDCCH

NPDCCH承载上行和下行数据信道的调度信息,包括上行数据信道的HARQ确认信息、寻呼指示和随机接入响应调度信息、来自更高层的数据信息、寻呼消息、系统消息和随机接入响应消息等。

 

LTE的PDCCH固定使用子帧前几个符号,NPDCCH与PDCCH差别较大,使用的NCCE(Narrowband Control Channel Element,窄带控制信道资源)频域上占6个子载波。

 

Stand alone和Guard band模式下,可使用所有 OFDM 符号,In-Band模式下,错开LTE的控制符号位置。NPDCCH有2种format:

 

•NPDCCH format 0的聚合等级为 1,占用NCCE0或NCCE1 

 

•NPDCCH format 1的聚合等级为 2,占用NCCE0和NCCE1。

 

 

NPDCCH最大重复次数可配,取值范围 {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048}。

 

NPDSCH

NPDSCH频域资源占12个子载波,Standalone和Guard band模式下,使用全部OFDM符号。In-band模式时需错开LTE控制域的符号,由于SIB1-NB中指示控制域符号数,因此如果是SIB1-NB使用的NPDSCH子帧时,固定错开前3个符号。

 

 

NPDSCH调制方式为QPSK,MCS 只有 0~12。重复次数 {1, 2, 4, 8, 16,32, 64, 128, 192, 256, 384, 512, 768, 1024, 1536, 2048}。

 

NRS

NRS(窄带参考信号),也称为导频信号,主要作用是下行信道质量测量估计,用于终端的相干检测和解调。在用于广播和下行专用信道时,所有下行子帧都要传输NRS,无论有无数据传送。

 

 

NRS与承载NPBCH、NPDCCH和NPDSCH的子帧中的信息承载符号时频复用,每天线端口每子帧使用8个RE。

 

NPSS和NSSS

NPSS和NSSS用于NB-IoT终端执行小区搜索,包括时间、频率同步和侦测Cell ID。因为LTE的同步序列占用6个PRB,NB-IoT不能占用这6个PRB。为避免冲突,NB-IoT需要重新设计。

 

NPSS位于每10ms无线帧中5号子帧(#5),周期为10ms,使用每子帧中的最后11个OFDM符号(如下图)。

 

 

对于NB-IoT终端来讲,执行NPSS检测是一项计算复杂的过程,有违于其设计简单化的目标,因此,NPSS的设计为短的ZC(Zadoff-Chu)序列。

 

NSSS位于子帧#9,周期为20ms,仅出现于偶数帧,同样使用每子帧中的最后11个OFDM符号。

 

 

NPSS为NB-IoT终端提供时间和频率同步参考信号,与LTE不同的是,NPSS中不携带任何小区信息,NSSS带有PCI。

 

上行:

对于上行链路,NB-IoT定义了两种物理信道:

 

①NPUSCH,窄带物理上行共享信道。

 

②NPRACH,窄带物理随机接入信道。

 

还有DMRS,上行解调参考信号。

 

NPRACH

由于LTE的PRACH信道带宽为1.08MHz,这远远高于NB-IoT上行带宽,因此需重新设计。

 

和LTE的Random Access Preamble不同,NB-IoT的Random Access Preamble是单频传输,子载波间隔3.75kHz,占用1个子载波,有Preamble format0和fomrat1 两种格式,对应66.7us和266.7us两种CP长度,对应不同的小区半径。

 

一次的Random Access Preamble传送包含四个Symbol Group,组成1个NPRACH信道,一个Symbol Group包括5个Symbol和1个CP(如下图)。

 

 

当CP长度为66.67s (Format 0) 时,小区覆盖半径达10公里。当CP长度为266.7s (Format 1) ,覆盖半径达40公里。为了扩展覆盖,NPRACH信道可通过重复获得覆盖增强,重复次数可以是 {1, 2, 4, 8, 16, 32, 64, 128}。

 

NPUSCH

NPUSCH用来传送上行数据以及上行控制信息,上行子载波间隔有3.75KHz和15KHz两种,上行有两种传输方式:单载波传输 (Single tone)和多载波传输(Multi-tone),其中 Single tone的子载波带宽包括3.75KHz和 15KHz两种,Multi-tone子载波间隔15KHz,支持3、6、12个子载波的传输。

 

NPUSCH定义了两种格式:Format 1和Format 2。

 

Format 1为UL-SCH上的上行信道数据而设计,使用与LTE相同的Turbo码纠错,其资源块大小远低于LTE,不大于1000 bits。

 

Format 2用于NPDSCH的HARQ确认信令,传送上行控制信息(UCI),使用重复码来纠错。

 

映射到传输快的最小单元叫资源单元(RU,resource unit),它由NPUSCH格式和子载波空间决定。上行传输资源是以RU(Resource Unit)为单位进行分配的,Single tone和Mulit-tone的RU单位定义如下,调度RU数可以为 {1,2,3,4,5,6,8,10},在NPDCCH N0中指示。

 

有别于LTE系统中的资源分配的基本单位为子帧,NB-IoT根据子载波和时隙数目来作为资源分配的基本单位:

 

 

对于NPUSCH format 1,

当子载波空间为3.75 kHz时,只支持单频传输,一个RU在频域上包含1个子载波,在时域上包含16个时隙,所以,一个RU的长度为32ms。

 

当子载波空间为15kHz时,支持单频传输和多频传输,一个RU包含1个子载波和16个时隙,长度为8ms;当一个RU包含12个子载波时,则有2个时隙的时间长度,即1ms,此资源单位刚好是LTE系统中的一个子帧。资源单位的时间长度设计为2的幂次方,是为了更有效的运用资源,避免产生资源空隙而造成资源浪费。

 

对于NPUSCH format 2,

RU总是由1个子载波和4个时隙组成,所以,当子载波空间为3.75 kHz时,一个RU时长为8ms;当子载波空间为15kHz时,一个RU时长为2ms。

 

NPUSCH采用低阶调制编码方式MCS 0`11,重复次数为 {1,2,4,8,16,32,64,128}。

 

DMRS

DMRS用于信道估计。NPUSCH Format 1格式与LTE PUSCH时隙结构相同,每时隙7个OFDM符号,中间一个符号作为DMRS。Format 2格式同样为每时隙7个OFDM符号,但将中间3个符号用作DMRS。

 

eMTC的物理信道

eMTC的子帧结构与LTE相同,与LTE相比,eMTC下行PSS/SSS及CRS与LTE一致,同时取消了PCFICH、PHICH信道,兼容LTE PBCH,增加重复发送以增强覆盖,MPDCCH基于 LTE的EPDCCH设计,支持重复发送,PDSCH采用跨子帧调度。上行PRACH、PUSCH、PUCCH与现有LTE结构类似。

 

eMTC最多可定义4个覆盖等级,每个覆盖等级PRACH可配置不同的重复次数。eMTC根据重复次数的不同,分为Mode A及Mode B,Mode A无重复或重复次数较少,Mode B 重复次数较多。

 

▲eMTC的不同信道在Mode A和Mode B下的最大重传次数

 

下行:

PBCH

eMTC PBCH完全兼容LTE系统,周期为40ms,支持 eMTC的小区有字段指示。采用重复发送增强覆盖,每次最多传输重复5次发送。

 

 

MPDCCH

MPDCCH(MTC Physical Downlink Control Channel)用于发送调度信息,基于LTE R11的EPDCCH设计,终端基于DMRS来接收控制信息,支持控制信息预编码和波束赋形等 功能,一 个EPDCCH传输一个或多个ECCE(Enhanced Control Channel Element,增强控制信道资源),聚合等级为 {1,2,4,8,16,32},每个ECCE由多个EREG(Enhanced Resource Element Group)组成。

 

MPDCCH最大重复次数Rmax可配,取值范围 {1, 2, 4, 8, 16, 32, 64, 128, 256}。

 

PDSCH

eMTC PDSCH与LTE PDSCH信道基本相同,但增加了重复和窄带间跳频,用于提高PDSCH信道覆盖能力和干扰平均化。eMTC终端可工作在ModeA和ModeB两种模式:

 

•在 Mode A 模式下,上行和下行HARQ进程数最大为8,在该模式下,PDSCH重复次数为 {1,4,16,32}

 

•在 Mode B 模式下,上行和下行HARQ进程数最大为2,在该模式下,PDSCH重复次数为 {4,16,64,128,256,512,1024,2048 }

 

上行:

PRACH

eMTC的PRACH的时频域资源配置沿用LTE的设计,支持format 0,1,2,3。频率占用6个PRB资源,不同重复次数之间的发送支持窄带间跳频。每个覆盖等级可以配置不同的PRACH 参数。

 

PRACH信道通过重复获得覆盖增强,重复次数可以是 {1,2,4,8,16,32,64, 128,256}。

 

PUCCH

PUCCH频域资源格式与LTE相同,支持跳频和重复发送。

 

Mode A支持PUCCH上发送HARQ-ACK/NACK、SR、CSI,即支持PUCCH format 1/1a/2/2a,支持的重复次数为 {1,2,4,8};Mode B不支持CSI反馈,即仅支持PUCCH format 1/1a,支持的重复次数为 {4,8,16,32}。

 

PUSCH

PUSCH与LTE 一样,但可调度的最大RB数限制为6个。支持Mode A和Mode B两种模式,Mode A重复次数可以是 {8,16,32},支持最多8个进程,速率较高;Mode B覆盖距离更远,重复次数可以是 {192,256,384,512,768,1024,1536,2048},最多支持上行2个HARQ进程。

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/486402.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式--外观模式

实验12:外观模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解外观模式的动机,掌握该模式的结构; 2、能够利用外观模式解决实际问题。 [实验任务]:计算机开启 在计算机主机(Main…

德国颁发抄袭大奖,中国包揽前10名拿了大满贯!

来源:钱塘大数据 昨天看到一则来自欧洲的新闻,实在是震惊!德国设立了一个奖项,中国包揽了前10名,但我们却高兴不起来,还很难为情。因为这个奖,是为了反对山寨而设立的剽窃奖。获得这样的奖&…

11大领域148个热点和新兴前沿发布!有你的化学与材料研究方向吗?

来源:科学网 作者:郑金武11月13日,中国科学院科技战略咨询研究院、中国科学院文献情报中心与科睿唯安联合向全球发布了《2020研究前沿》报告。报告基于2014年-2019年的论文数据,遴选展示了在农业科学、植物学和动物学&#xff0c…

List注意啊

java.unit工具类,例如:Map、List等 java.awt图形绘制类,例如:list组件可以为用户提供了一个可滚动的文件列表选项,可设置list使其为用户提供单项或多项选择 我在第一次使用List的时候,包导入了第二个&#…

git idea 图形化_Git大全,你所需要的Git资料都在这里

不管怎样,Git已经成为事实上的版本管理工具的王者,之前的CVS被SVN吃掉了,现如今SVN的大好河山也被Git蚕食了大半,作为开发者的你,如果还不能够熟练的使用Git来管理你的代码,后果将会很严重,何况…

是否同一棵二叉搜索树

给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们…

修改软件许可证使用时间_阮一峰:为什么开源数据库改变许可证?

CockroachDB 是一个开源的分布式数据库,最近改变了代码授权,放弃了 Apache 许可证。许多开源数据库这一两年都改变了授权,比如 Confluent、Elastic 、MongoDB、Redis Labs、TimescaleDB。本文分析这种现象。一、CockroachDB 的许可证变更Cock…

线程 sleep 取消_C/C++ 多线程机制

一、C/C多线程操作说明C/C多线程基本操作如下: 1. 线程的建立结束 2. 线程的互斥和同步 3. 使用信号量控制线程 4. 线程的基本属性配置 在C/C代码编写时,使用多线程机制,首先需要做的事情就是声明引用,具体如下:#inclu…

事务java_Java事务之一——Java事务的基本问题

Java中的事务处理有多简单?在使用EJB时,事务在我们几乎察觉不到的情况下发挥着作用;而在使用Spring时,也只需要配置一个TransactionManager,然后在需要事务的方法上加上Transactional注解就行了。Java的事务处理之所以…

seo模拟点击软件_浅谈百度SEO快排是什么、原理、如何判断及应对

前言:以前我说过不准备写这个快排,一是我自己的网站没有操作过所谓的快排 ,二是我并不能像网上很多写的揭秘百度快排(说实话,你都能揭秘的方法了,还真的很有用吗?真正懂的人都在低调赚money)。我只是站在一个小白角度…

100多年了,左右大脑的不对称性依然备受关注

来源:brainnews1,不对称的视角下的大脑偏侧化关于大脑不对称性的比较研究最早可以追溯到19世纪,但由于早期认为偏侧化为人类所独有,因此该领域的研究一度消失。这一领域在20世纪70年代重新出现,使我们了解到脑和行为的…

经由因果分析,反驳AI监控学生上课,及辨别健康类谣言

来源:混沌巡洋舰想象这样一个场景,你和你心爱的女孩一起自习,你的理科好,于是你看着她听数学的网课时,有时露出困惑的表情,还有时会走神。然后等她听完,你再把你觉得她没有听懂的部分&#xff0…

java controller json_springMVC的controller层接收前端json数据

1.前端的操作:对象接收json数据方式:将所需要传的数据转化为json数据,并将这些数据以post方式传到后台的controller层,然后controller层接收json数据,并且是以对象的形式进行接收。这里面是springmvc自动控制将这些数据…

里程碑!SpaceX 载人首飞发射成功,马斯克填补美国载人飞行近十年空白

来源:雷锋网作者 | 付静1 代表着首次,标志着政府与企业持续合作前往国际空间站的开始。终于,美国太空探索技术公司(SpaceX)的首次正式载人飞行任务拉开大幕!美东时间 2020 年 11 月 15 日 19 时 27 分&…

取文字_把这4个字母输入word,会得到一段神秘文字,承载着一段历史

在英文的输入状态下,把“ rand()”输入word后,按下回车键,就会突然跳出一页文字把“ rand()”输入excel后,按下回车键,则会得到这样的结果,0.134582最后再把“ rand()”输入PPT,按下回车键&…

一文看懂数字孪生,工信部权威白皮书

来源:智东西11月11日消息,《由商务部、科技部、工信部、国家发改委、农业农村部、国家知识产权局、中国科学院、中国工程院等部委和深圳市人民政府共同举办的中国国际高新技术成果交易会正式开幕。作为大会主会场的重要组成部分,由工信部下属…

linux -- control service and daemon process

linux -- control service and daemon process 一、几个重要概念的讲解 1、systemd 系统启动和服务器进程由 systemd 系统和服务管理器进行管理 此程序提供一种方式,可以在启动时和运行中的系统上激活系统资源、服务器守护进程和其他进程 2、守护进程 守护进程是在执…

基于人工智能智商研究的智能定律初探

什么是智能和意识一直是智能科学领域最基础也是最具有争议的问题,2014年以来,我们在对人机通用智能发展水平的进行研究时提出了标准智能模型,统一描述人和智能机器的特征。在这个研究的基础上,2020年5月我们在《Annals of Data》发…

Postman----Presets(预先设置)的使用

使用场景: 当我们在进行接口测试post请求时,headers是必填项,我们将一个A接口的headers编写后测试完成,再次进行B接口的测试,需重新编写headers,为了简单操作,我们就用到了Presets。 Presets 作…

opengl 如何加阴影_OpenGL + Qt: 3 - 旋转动画和键盘操纵

前三篇链接:OpenGL Qt: 0 - 三角形绘制 OpenGL Qt: 1 - 用下拉框选颜色 OpenGL Qt: 2 - 走向3D,画正四面体 这一周笔者经历了漫长的洲际飞行和昏天黑地的倒时差,所以本篇内容相对少一些,侧重 Qt 而不是 OpenGL。在上一篇中&…