几个小比例模型

小比例模型的好处不言而喻,只要笔就可以了,可以不用动泵,不用单独支桌子,不用考虑通风的问题。难度就是,线面关系,明暗对比,甚至发色情况,在小比例上都和大比例完全不一样。小比例模型的制作,更接近绘画,突出整体线条和面的质感变得更为重要。

For the horde!

周末在油管上 在看Top 15 Cinematic Game Trailer的时候 被安利了一段N年的魔兽世界的宣传片 英雄一句 “For the horde!” 引领大军冲锋的无畏场景 看得人心潮澎湃 恰好手边做了几个骷髅手臂 于是就想做个小场景。

3D打印了手臂、部族徽章和30mm战棋基座。高硬度海绵做成岩石。徽章部分,尝试了一下NMM,整体笔涂完成。

1

2

3

4

5

Mini AT-ST Diorama

Mini 星战 AT-ST + 袖珍场景。模型1/144,地台基座40mm战棋规格(3D打印),自制场景。适合摆放和把玩。

 

S^2: 你们要的自动同步功能来了

题外话

近期因为SA2 Study on Traffic Logical Status Awareness的new SID立项的缘故和大家作沟通,SA2各位专家的意见都很真切,我会尽量完善,在此先谢过了。

不过,再忙,既然说好的事情,该有还是要有的:有自动同步功能的3GPP_FTP_Downloader v3.0 来了!

下载地址:
链接:https://pan.baidu.com/s/14Bt4M1vLhi973BuWrg_WhQ
密码:znhe

屏幕快照 2018-04-12 14.37.18

同步功能

马上就要开会,闲话少叙。基本的使用功能就不多说了,可以参考这篇和这篇。

这里主要介绍一下同步和自动同步功能。

屏幕快照 2018-04-12 14.39.19

Sync Now 同步功能属于一次性的功能,会自动下载所选会议目录下的所有文件(包括子文件夹下的文件)。如果有文件已经存在,并且大小一致,将不会重新下载。

同步操作下载的文件会保存在应用程序所在目录的/会议名称/目录下。

AutoSync自动同步功能将会按照设定的时间(默认30分钟),设定一个计时器。当计时器结束时,触发一次上述的同步操作,并启动一个新的计时器。

自动同步开始后,会有提示。

再次按下自动同步按钮,会停止自动同步。

即使开启了自动同步,如果你想马上进行同步,也可以按Sync Now按钮,马上进行同步。

但是如果目前正在进行同步的操作,那么当前的同步下载过程将会继续进行,只是在本次同步结束后,才会更新新的状态(例如停止自动同步,或者进行新的同步)。

此外,这次windows版本增加了状态窗口,可以看到程序的运行状态信息。
屏幕快照 2018-04-12 14.45.09

写在最后

希望大家能够支持和co-source我们的研究立项, Study on Traffic Logical Status Awareness, S2-183763, S2-183767, 非常感谢 :)

惊不惊喜,意不意外?软件更新了

首先,非常感谢大家的关注和反馈。3GPP FTP Downloader作为一个非常小众的工具程序,能有3位数的下载量,其实已经大大超出我的预期了。
这段时间,参加了Reno和Montreal的两次会议,我也对这个小程序进行了评估,发现了几处不尽如人意的地方。距离下次开会时间还早,本想偷偷懒,但是精神洁癖似乎又发作了(其实是因为一不留神,就到写稿的Deadline了),于是意外地有了这一次的提前到来的软件更新。
这次更新包括了Bug修正,文件下载功能完善,以及新增了文件的通配符匹配方式。下载地址:https://pan.baidu.com/s/1-nVwArIehE82TIeNOALH9g
包括:mac、win_x86(32位)、win_x64(64位)版本以及新版的JRE。
启动方法和之前的一致,请参考有用功:3GPP提案下载太烦了,怎么破

Bug Fix

有同学提到了的这个bug,我也遇到了。对于还没有更新到服务器文稿,会生成一个无效的zip文件。在这个版本中,会检查文件的下载状态,避免这个情况的发生。

功能完善

  • 增加了对会场local FTP中文件和public服务器上Meetings_3GPP_SYNC目录中文件的下载;
  • 改进了文件查找方式,可以进行子目录的迭代查找,这个特别适用于下载会场提交的Revision的文稿,这些文稿有的被放在inbox目录,有的被放在update_01,有的被放在update_02;
  • 增加了配置文件的自动生成功能,避免程序启动发生意外;
第一项改进并不是新功能,访问Local FTP可以通过手动(manual)的方式来实现,访问Meetings_3GPP_SYNC可以通过编辑配置文件实现,但是在开会的时候,发现还是做成可以直接使用的方式比较轻松,可以尽可能地减少键盘操作,尽可能不要打断工作思路。
手动模式在设计的时候,主要考虑是应对一些突发情况和需求。但是,在实际使用中我发现意义并不大。在未来的版本中,可能会考虑将手动模式的选项去掉。
文件查找方式的改进源于下载Revision文稿时发现的一个问题:由于秘书会适时地整理会场提交的新文稿,因此虽然大家都会上传到inbox目录,但是可能到了讨论的时候,提交的文稿已经被移到了诸如update_01这样的临时目录中,或者被放要求放进Draft目录;这对下载某篇特定文稿来说,会造成相当的困扰。更新后,下载文件变得更加无脑化,简单讲……你就让程序自己去下载吧。另外,顺手把FTP服务器文件路径的配置文件也改为自动生成了。

新增功能

这次更新最重要的部分是增加了对*通配符的支持。这个新增功能源于一个看起来特别不起眼的事情:查看Agenda。因为要在不同的会场来回跑,因此总是会比较关心主会场Agenda的调整情况。但是,人不在的话,并没有办法及时知道当前Agenda更新的什么版本了。所以,最偷懒和直接的办法,就是把所有的agenda都下载下来,不论是发布在Agenda目录里的,还是Draft目录里的,统统自动撸下来。然后再看现在到哪个版本了。
引入通配符,下载就完全不用关心目录结构这种事情了。
以上面提到的下载Agenda为例:不用区分大小写,在file list里面填上agenda再加上一个*号,按Download,就可以了。

同样,这个功能也可以用来查找并下载其他的文件,例如:Frank的ChairmanNotes:

目前程序里的通配符功能非常初级,仅仅起到一个标记的作用,也就是说输入agenda* ,*agenda,甚至agen*da,效果是一样的。(需要正则表达式的同学,请举手告诉我)另外,为了防止意外下载,在程序中也做了文件数目限制,如果单个文件夹内通配符匹配到的文件数目大于100个,那么就不会下载。

提问时间

有同学留言:
在会场的时候,我也会使用类似的方法,使用everything这样的软件来进行本地检索(macos: spotlight + alfred),这主要是因为开会时候一篇一篇过提案,基本就是跟着主席的节奏走,讲到哪篇跟到哪篇。但是,在会前做Contribution Review或者或者会后整理Report的时候,我还是更倾向于用这样一个工具将一个专题的文件集中下载存放在一起后再操作。同一个主题的文稿放在一个文件夹,再配合一些辅助手段(例如,macos的快速预览功能),不论是阅读还是作批注,比起用搜索引擎按照编号一遍遍反复查找到文件后再处理,都会方便很多。
还有同学留言:
这些情况基本上都是与系统安装的jre版本有关。基本上下载和使用和系统对应的JRE能够避免很多稀奇古怪的问题。我也会尽量多在windows下进行一些版本的测试,就像这样:
目前最新的JRE:http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
以上就是全部内容,如果使用中有任何问题,欢迎给我留言。
See you in Sanya!

关于迭代器,血的教训

对容器内元素进行修改,共有3中方法:

vector<int> vec_a;
vec_a.push_back(123);
vec_a.push_back(123);
vec_a.push_back(123);
vec_a.push_back(123);

vec_a[1] = 234;

vec_a.at[1] = 234;

vector<int>::iterator vec_a_iter = vec_a.begin() + 1;
*vec_a_iter = 234;

血的教训就是:在用=的时候,一定要知道对C++来说,很多情况下=是进行赋值,而不像Java一样,取得了对象的引用!

int a = *vec_a_iter;
a = 456;// a 从234 变成456
cout<<a<<endl;
cout<<*vec_a_iter<<endl;

这时候,*vec_a_iter是没有发生变化的。

记住:对容器内元素进行操作,就上面3中方法。如果用迭代器,老老实实的用(*iterator)来操作,不要偷懒!

 

有用功:3GPP提案下载太烦了,怎么破?

每次开会,都会跟踪几个研究方向。通信汪的日常,需要在会前做contribution review。

5G的饼越画越大,汪们无比激动,提案数目成倍增长。每次开会动辄上千篇提案,提案的编号都要升一位才能解燃眉之急。

Screenshot

看着翻了N屏还没到头的TDocList,汪同学的内心是崩溃的,眉头拧成了疙瘩。

下载需要看的提案,在3GPP的FTP上都不知道要翻多少遍,想到这些,汪同学不禁在心中又使劲骂了一遍:

“这哪儿是人干的活计!”

“看提案才是你汪该干的事儿,下载这种粗鄙的工作,就应该让那电脑干,反正咱也不用交电费!“”

码农斯基似乎洞悉了汪同学的小心思,探头过来搭话。

二人对视,会心一笑。

如果只是做Contribution Review,通过下面这个简洁的Work Flow和一个有效的工具,就可以把想看的内容单独收集起来。

Workflow的内容很简洁:收集、批量下载、自动保存。需要人做的事情就是收集阶段,从TDocList中筛选出提案号。而剩下的工作就交给3GPPFTPDownloader来做了。

下载地址在这里,区分系统哦。

Step 0:启动程序

系统上需要安装JRE。对于Windows系统,双击jar文件就可以启动;对于Mac,拜教主和厨子所赐,需要在终端中启动:


  java -XstartOnFirstThread -jar xxx.jar

程序启动后的主界面如下:

  • FTP Server:FTP服务器的url或者ip
  • Meeting Type:3GPP工作组
  • Meeting Name:某个工作组下的具体某次会议
  • Remote URL:FTP文件路径
  • File List:需要下载的文件的名称

Step 1:选择工作组

通过下拉菜单选择3GPP的某个工作组。之后,程序会自动更新这个工作组内的所有会议名称信息。

Step2:选择会议

Step3:添加提案号并下载

添加需要下载的提案号,每行一个。之后点击Download便开始下载。文件会自动保存在”程序所以在目录下/会议名称/当前日期和时间” 目录下。

Tips:

  1. 通过点选Manual,可以手动编辑ftp服务器和文件路径。
  2. 目标路径并没有指定到服务器的Docs路径上,因此,可以下载某次会议目录下的所有文件。例如,想要下载某次会议的meeting report或者其他zip文件,只需要选择某次会议后,输入会议报告的zip文件的名字(去掉.zip),就可以直接下载了。这和前面介绍的下载提案的方法一样。
  3. 通过修改程序目录下的meeting_path_cfg.cfg,可以自己定制需要呈现的工作组。格式:工作组的名字@ftp服务器上的路径,例如:SA2@/tsg_sa/WG2_Archd;增加、删除都可以,例如增加一行:LTE@/tsg_ran/WGs_LongTermEvolution
  4. 如果你偏爱脚本,可以尝试我以前写的一个shell脚本,没有GUI那么方便,但是体积小巧。

 

也谈Solidworks 打开部件时 无法载入GdtAnalysisSupport.dll问题的解决方法

通过在百度搜索,很多(绝大多数)中文网页解决这个问题的方法其实都是同一个:解决Solidworks和Windows Update KB3072630冲突,

解决的思路大体上如下:

1.打开注册表,修改或创建

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer

2.创建32位DWORD键值“RemappedElevatedProxiesPolicy”,并设为1

3.修复安装Solidworks

4.安装完成后,将上述键值改为0


但是,这个方法有个前提:确定问题是由于KB3072630冲突造成的。

可是如果你在Windows Updata历史中,发现压根儿就没有安装过这个补丁呢?很遗憾,你中彩了,各种网站竞相转载的上述解决方案,对你是无效的。

在Solidworks的论坛上,还有另一种解决方案:

1) Go to windows ‘Start’ > type cmd

2) RMB on ‘cmd.exe’ > select ‘Run as administrator’ 

3) In windows explorer Navigate to <SW installation folder>, (where sldworks.exe is contained)

4) Drag and drop ‘sldworks.exe’ in command prompt and type 

/regserver 

Typically the command would look like

“C:\Program Files\SOLIDWORKS Corp 2013\SOLIDWORKS\sldworks.exe” /regserver

5) Press ‘Enter’ > this will register ‘sldworks.exe’

6) Reconfirm behavior.

简言之,用管理员身份,在启动sldworks.exe后面跟一个参数 /regserver

 

问题解决!

 

IoT的世界,谁能笑到最后?

3GPP在上周更新了主页,在显著的位置更新了3GPP三个IoT通信技术标准的进展情况。这一方面顺应了6月份NBIoT标准化的完成,体现了3GPP对于物联网技术标准化持续的重视;另一方面,也展示了3GPP对于以NB-IoT为代表的这一系列标准的信心,仿佛已经坐定了半壁江山,要笑看风起云涌。

IoT市场确实会风起云涌,但是,谁能笑到最后呢?

鸟瞰IoT的世界

设备和设置之间能够在不经人为干预的情况下进行(无线的)数据通信是物联网的基础。按照设备间通信距离的长短,可以把物联网通信技术一分为二:一类是目前普遍应用于智能家居设备中的固定及短距离通信技术,这类技术的代表是ZigBee、WiFi、NFC等;另一类是以智能抄表为典型应用场景的广域网传输技术,统称为低功率广域 (Low Power Wide Area,LPWA )IoT技术。

这时我们还没有看到3GPP的影子。继续根据使用的频谱的授权情况,LPWA IoT技术可以细分为以LoRA、SigFox为代表的使用非授权频段的技术方案,以及工作在授权频段上的技术方案,这一类技术方案的代表就是工作在蜂窝网频段中的3GPP E-GSM-IoT,eMTC,NB-IoT。

如果从实际应用的角度来看,固定及短距离通信,占IoT通信连接总数量的70%以上,剩下不到30%采用LPWA IoT技术进行连接。

所以,从总体上看,IoT的世界大概是这样一个情况:

3GPP的LPWA-IoT世界

LPWA IoT技术需要满足4个需求:

长电池寿命:在满足每天小数据量交换的情况下,有至少10年的电池寿命;

低成本:IoT业务可能只能带来传统移动通信业务1/10甚至更低的ARPU,因此IoT设备必须非常廉价,同时部署IoT设备的成本也必须低廉;

覆盖增强:IoT设备可以部署在相对极端的环境下,例如地下室、电梯中,因此链路预算必须增加以应对额外的穿透损耗,例如增加一堵墙。

支持海量链接:实际应用中,IoT设备的增长速度会远超其他移动通信设备(如手机),并且分布可能非常不均匀,因此LPWA IoT技术必须支持海量终端同时连接。

针对上述条件,3GPP发布了三个通信技术标准:

  • 基于GSM,针对IoT优化的E-GSM-IoT;

  • 基于LTE,针对IoT优化的eMTC;

  • 基于窄带LTE,对IoT优化的NB-IoT;

三种标准的技术对比见下表:

下面这个图看起来,可能更加直观:

不难看出,工作在GSM频段内的E-GSM-IoT从技术性能的层面上,已经可以满足LPWA-IoT的需求。事实上,现今工作的LPWA-IoT设备中,60%~80%都工作在2G频段。但是,随着全球运营商已经开始推动蜂窝网络向5G演进,蜂窝网频段内LPWA-IoT技术方案的演进将不可避免。与此同时,市场的变化也会加速这种变化。

IoT的世界,谁能笑到最后

到2025年,采用固定及短距离通信技术进行通信的IoT设备仍然将占据绝对主要地位。但是分析也同时指出,LPWA-IoT设备数量的增长,也将非常可观:

(Cisco Visual Network Index 2016 Global Mobile Data Traffic Forecast Update, 2015–2020 White Paper.)

蛋糕很诱人,但是对于LPWA-IoT来说,市场却存在非常多不确定性。

首先是授权频段和非授权频段技术阵营间的竞争。虽然从目前的情况来看,运营商会在蜂窝网授权频段中采用3GPP标准化的IoT标准,例如NB-IoT,是一种技术演进必然的选择。但是,就如同高级饭店的大厨为了不出闪失,每次做菜一定都会规规矩矩地按照菜谱操作一样,运营商采用标准化的在授权频段工作的IoT技术方案,本质上只是一种“套路”,一种和推广2G/3G/4G网络相同的,“可控”且“安全”的套路。其实不仅仅是针对IoT市场,对于作为服务提供者的运营商来说,不论何时,金主爸爸才是唯一的上帝。工作在非授权频段的LoRa或Sigfix,和工作在授权频段的3GPP的E-GSM-IoT、eMTC、NB-IoT并没有高低贵贱之分。

另一方面,从技术的角度来看,对于非授权频段的技术方案来说,除了有来自在躲在授权频段这个保护伞下的技术方案的竞争压力,一个更为残酷的事实是:非授权频段的技术竞争是真正的丛林竞赛。由于没有频谱限制的门槛,永远都会有新的竞争者加入进来;而对于工作在授权频段的3GPP的一众标准及其未来演进版本来说,未来是不是有足够多的细分市场来养活多个标准,以及对市场需求预测的不确定性和标准化进程周期间存在的失调的可能,也将造成困扰。

IoT市场里谁能笑到最后呢?答案很可能是这样:

 

IoT市场就好像一锅八宝粥,虽然表面看起来平平常常,一览无遗,但只要勺子在锅里一搅,就没准儿突然舀上来颗枣,或者一种没吃过的豆子来。

动手玩:这些信号你见过多少?

动手玩:这些信号你见过多少?

SDR posts

前言

无线通信之所以让人着迷,是因为透过电磁波这种人类几乎无法感知的介质1,在我们呼吸的空气中、在我们生活的空间,我们人工构建了无数设计精巧的无线信号,这些无线信号籍着同样精确而复杂的通信协议,承载了人们移动生活的几乎全部信息。这是一件默默无闻,却又无比伟大的事情,意义重大却又带着浓重的神秘感。

无线信号就是人赋予无线通信的生命。通过RTL-SDR,现在可以轻易地一窥其中的究竟,在近乎无限的信号空间(其实,是有限的,毕竟无线通信使用的频带还是有限的),像哥伦布发现新大陆一样,发现那些优美、高效,并且肩负重任的无线信号。

那些美丽的信号

由于人类对绝大部份无线信号都不能直接感知,为了增加更加直观的“实在感”,接下来,将通过瀑布图(Waterfall)的形式,从时域(纵轴)、频域(横轴)以及能量(颜色)三个维度来认识一些与我们生活息息相关的无线信号。

(模拟)救生/定位信标


这就是我们经常在Discovery等探索自然的节目中见到的用来在海上定位沉船的浮标,以及用来定位落水人员的浮标发射的信号,图中这个是模拟信号。数字信号版本远没有这个模拟信号壮观,于是没贴,:P

OFDM信号


这个就不用多解释了吧,教科书一样经典,不过不是很完美:瀑布图(下半部分)的波动大概是因为画的时候,调整了SDR接收机中心频点的缘故?

GSM信号


历史悠久的2代移动通信系统。之前的动手玩:OSX下配置基于RTL的SDR中,已经把这个信号从接收到解码全过了一遍。当然,人家截的这个图更加标准,貌似还有业务,真好。

再贴过神物,德味老式GSM电话。话说,BOSCH这家公司也真是NB,小到家用电器,大到工程机械,居然连手机都做(过)。(上次去罗德交流,也是这个感觉,大概这些德国公司都这个风格)

LTE信号

4G LTE(下行信道)信号看起来是这样的:

信道的放大图,话说图里那些跨了整个带宽的部分是PDCCH信号吗?

MFSK调制信号

MFSK调制是一种普遍使用的调制方式,在业余无线电系统中普遍使用。下图是MFSK-8信号,看起来像某种生命形式,有没有?如果生命存在的意义(之一)就是承载并传递信息(遗传信息),说这个MFSK有(人工)生命体的特征似乎也不矛盾。

DECT(家用无绳电话)信号

数字增强无绳通信(Digital Enhanced Cordless Telecommunications ,DECT) 系统,是由ETSI(European Telecommunications Standards Institute)制定的增强型数字无绳电话标准,主要用于无绳电话系统,基于TDD方式,帧结构采用TDMA(据说也有FDMA的)采用DQPSK调制。采用DECT标准的设备几乎全球通用,但是根据美国FCC的要求,为了避免和北美地区使用蜂窝通信系统造成相互干扰,在北美的DECT系统要工作在1920 – 1930MHz频段,因此在北美地区单独使用“DECT 6.0”标准,这也造成了同一个品牌的产品,销往欧洲的和销往北美的不通用。


DECT的更多技术细节可以参考ETSI EN 300 175-2

PAL制式模拟电视广播信号

用过模拟老电视的同学应该都对这个有印象。PAL (Phase Alternating Line)逐行倒相是一种模拟电视广播信号的调制方式,对应的还有NTSC(以National Television Standards Committee,国家电视系统委员会缩写明明的制式,一看就知道是老美的),和SECAM(Sequentiel Couleur A Memoire,塞康,顺序传送彩色与存储,顺序与存色彩电视系统),不过现在已经不多见了,因为模拟广播电视已经普遍被DVB(数字广播电视)所取代了。

看到PAL,又勾起了一些往昔学习信号与系统以及通原时的记忆:DSB,SSB,VSB……

UTC授时信号

UTC的全称是协调世界时系统。采集的这个信号发自于美国的NIST (National Institute of Standards and Technology) 。

以下来自度娘:

由于国际原子时的准确度为每日数纳秒,而世界时的准确度为每日数毫秒。对于这种情况,一种称为协调世界时的折衷时标于1972年面世。为确保协调世界时与世界时相差不会超过0.9秒,在有需要的情况下会在协调世界时内加上正或负闰秒。因此协调世界时与国际原子时之间会出现若干整数秒的差别。位于巴黎的国际地球自转事务中央局负责决定何时加入闰秒。一般会在每年的6月30日、12月31日的最后一秒进行调整。

但是UTC这个名字却颇有意思,因为按照英文来翻译,协调世界时是Coordinated Universal Time,缩写理应是CUT。但是按照法语来翻译缩写却是Temps Universel Coordonné,TUC。为了折中CUT和TUC这两种写法,所以索性就改成了UTC,谁也不得罪 XD。至于为什么是法语?前面提到,国际地球自转事务中央局不是在法国吗?

VOR信号

VOR全称是甚高频全向信标(Very High Frequency Omnidirectional Radio Range)也叫伏尔导航系统,是一种用于航空的无线电导航系统。VOR的工作原理是通过比较位置已知的地面导航点发射的两个30赫信号的相位,来确定飞机相对导航点的磁方位角。这个信号采集自美国。

估计一般人都没有听说过VOR系统,因为一般人(包括我),在日常中真得很难感到它的等存在。之所以会把它列在这里,是因为一次偶然的经历,我见到了这样一套天线阵列系统:

当时还不知道VOR是啥,第一个感觉:这不是Massive MIMO吗,居然还是个环形阵列,有创意!第二个感觉:不对,建在这荒郊野岭的,不会是用来抓外星人用的吧(开始YY了)?第三个感觉:我不会是看到什么不该见的东西了吧….赶紧走。实际上,只要你坐过飞机,VOR系统就曾经为你的飞行安全服务过。VOR系统是引导飞机保持航向,近进、进场的重要系统。虽然现在的飞机,例如大型客机,普遍都装有惯性、GPS等更加先进的导航系统,但是VOR仍是每架飞机必备的导航装备。

数不胜数

雷达、遥测遥感、遥控车钥匙、蓝牙、WiFi,在我们身边的无线信号是数以万记的,这些还仅仅是一小部分,那些用于特殊用途的无线信号例如用于军事、外交用途的无线信号,则往往更加隐蔽,难得一见(见着了就麻烦了,哈)。

就像我们去参观博物馆、参观工厂一样,我们要带着这样的心情去看待这件事情:无线通信是人类文明和工程的杰作,RTL-SDR给一般人打开了一扇欣赏和了解无线通信的窗口,使更多的人能够对无线通信产生兴趣,让更多的人愿意去了解这门工程科学,这是一件多么有意义的事情!


  1. 严格来说,人类是可以直接看到可见光,也可以在一定程度上感觉到红外线等特定频段上的电磁波,但是这部分电磁波在整个电磁波频谱中只占极小的部分。