走的人多了,也便成了路(七)
好多年前就听到这样的说法:一流的企业做标准,二流的企业做品牌,三流的企业做产品。
在通信行业待久了,经历了移动通信技术标准的发展历程,体会到很多事情没有那么神秘,甚至由于一些偶然因素的出现,才让产业走到了今天的样子。
第二代移动通信系统(一)
同人不同命
前面介绍了第一代移动电话系统。蜂窝技术发源于美国的贝尔实验室,但全球第一个商用的是日本,而规模化发展则是在北欧,直到1983年FCC完成频谱分配,AMPS算是在美国正式开始商业运营。
伴随着第一代移动电话系统在全球的普及,设备商越来越清晰地意识到,需要建立统一的移动电话技术标准,如果能在标准制定时抢占先机,就能在全球范围的移动电话系统建设中争取到主动。
于是,欧洲和美国争夺移动通信技术标准话语权的战争打响了。
【欧洲抢占先机】
早在1982年,欧洲邮电联合会(欧洲电信标准协会的前身)成立了GSM(Groupe Speciale Mobile,移动特别行动小组),开始研究泛欧数字移动通信系统。
后来,GSM这个缩写改了名字,特别高大上:全球移动通信系统(Global System for Mobile Communications)。GSM最开始的工作组的名字渐渐淡出了人们的记忆。
在欧洲的电信专家们的设计里,第二代移动通信的重要标志有两个:
其一是无线技术从FDMA(频分多址)升级为TDMA(时分多址),不仅大幅提升了系统的容量规模,更在抗干扰性和越区切换等方面有优异的表现。
其二是核心网的诞生,以及HLR与MSC分离、SIM卡的发明等一系列创新,使自动漫游成为移动通信的基础功能。
回到上世纪80年代,不难理解为什么欧洲将漫游作为GSM的重点和亮点:彼时欧洲一体化的呼声甚高,而且欧洲各国国土面积比较小,跨国漫游成了刚需。
由于第一代移动电话网络(NMT)是基于北欧通信管理局制定的标准,一开始就覆盖了北欧四国,能跨国使用,基础打得牢,进展也就快。
1987年,GSM提交了最初的技术标准。同年,在哥本哈根签署了联合研发和部署GSM标准的谅解备忘录,并且规定GSM作为欧盟内部的强制标准。
基于这一统一标准,欧洲的主要设备商集中兵力搞研发;与此同时欧洲各国运营商也纷纷表示,将部署GSM网络。有了供需双方共同推动,GSM的发展一路绿灯,畅行无阻。
1991年,时任芬兰首相象征性地打通了第一个GSM商用电话,拉开了GSM全球部署的序幕。
【美国尾大不掉】
在美国,第二代移动通信的发展呈现出另一番景象。
美国是蜂窝移动通信技术的发源地,又是全球经济最发达的地区,尤其是汽车的普及率超高。之前说过,最初移动电话的定位是固定电话的延伸和补充,因此在这个“汽车轮子上的国家”,模拟移动电话网络的建设速度和规模都是全球最领先的;而车载电话是最主要的终端。
正因为有了相当规模的存量AMPS网络和用户,因此对于第二代移动通信的设计思想,美国和欧洲不太一样。
其一要确保与目前的AMPS制式兼容,无论是运营商的网络设备还是用户侧的终端,都要同时支持APMS以及新出现的数字通信系统。
其二才是TDMA对FDMA的替代。除了与GSM类似的增加容量、降低成本、提升抗干扰之外,美国在安全性方面提出很多要求,试图化解日益突出的手机克隆空中窃听等问题。
1990年,在击败了摩托罗拉主推的NAMPS之后,DAMPS成为美国的第二代移动电话的统一标准。
这套标准设计是双模式、双频段,用户使用双模(模拟/数字)移动电话,在800MHz或1900MHz频段上,既可从模拟信道接入移动通信业务,又可从数字信道接入。
虽然标准推出晚了些,但在商用进程上,DAMPS还是挺快的,1992年就在AT&T正式商用。
【CDMA横空出世】
1942年8月,美国电影明星海蒂·拉玛申请的“保密通信系统”专利得到了批准,专利号为2292387。之后,她将这项专利捐献给美国政府。

这项专利描述了一种类似自动钢琴音乐筒、由88个可能的阶梯组成的序列控制装置,通过在每个频率上仅发送整个信息的一小部分,来实现对鱼雷的远程操纵。
听着是不是特别神奇?网上介绍这位传奇女星兼职发明家的内容很多,感兴趣的小伙伴可以去搜一下。
这项专利中提出的“频率跳变”思路,后来逐渐演化成CDMA技术,最终成为移动通信发展史中的革命性因素。
1985年,高通公司在圣迭戈成立,他的第一份合同来自美国军方,承接了此前由军方负责的CDMA安全无线通信技术研究。
1988年,几位高通创始人意识到,CDMA可能在民用地面移动通信上大有作为。
次年,高通去FCC(美国联邦通信委员会)拜码头,得到了这样的答复:
“只要CDMA技术不和AMPS冲突,如果有运营商希望使用CDMA技术,而且入网设备经过了FCC认证,FCC就不会设置障碍。”
听起来这个说法挺正向的,但背后的意思就是:高通得依靠自己的力量完成研发,还得自己去找一个愿意吃CDMA这个螃蟹的运营商。
高通的运气不错:
1990年2月,NYNEX移动公司和高通在纽约成功演示了CDMA 。
1990年8月,高通公司与美国AT&T、NYNEX和Ameritech签署数百万美元的CDMA合同。1993年3月,美国电信行业协会(TIA)公布CDMA为北美数字蜂窝标准(IS-95A标准)。
1994年,美国Sprint宣布采用CDMA技术。1996年,韩国推出CDMA商用网络。
紧追慢赶地,CDMA终于追上了第二代移动电话系统的发展潮流。
【结语】
回看向第二代移动通信迈进的历程,技术标准化领域出现的状况挺有意思:
一方面,同样是有第一代移动电话的基础:
欧洲利用第一代移动电话的基础和实践,有力推动了GSM迅速成熟;
美国成功推动第一代移动电话规模化发展,但巨大的存量市场却拖住了美国迈向第二代移动电话的步伐。
另一方面:
欧盟早早将GSM确定为欧洲的统一标准,运营商和设备商都严格执行,是我们熟悉的“集中优势兵力打歼灭战”。走这条路的人多了,标准成熟得快,规模和影响力也就越大。
而美国推崇市场化调节,FCC的态度是鼓励竞争,放松电信管制,从负面看,群雄并起的乱象分散了资源和发展规模;但从积极的角度看,也给高通+CDMA创造了生存条件。
欧洲和美国的模式各有利弊。至于孰优孰劣,一直众说纷纭。
而在现实中,第二代移动通信标准的争夺战就像两支部队以不同的方式向山顶进军,先到山顶的GSM虽然只是在时间上领先了一点点,但就是这一点点优势,对后来的战局产生了决定性的影响。
相关文章:
走的人多了,也便成了路(七)
好多年前就听到这样的说法:一流的企业做标准,二流的企业做品牌,三流的企业做产品。 在通信行业待久了,经历了移动通信技术标准的发展历程,体会到很多事情没有那么神秘,甚至由于一些偶然因素的出现ÿ…...
UE5中在地形中加入湖、河
系统水资产添加 前提步骤123 完成 前提 使用版本 UE5.0.3,使用插件为UE内置的Water和water Extras. 步骤 1 记得重启 2 增加地形,把<启用编辑图层>勾选 如果地形没有勾选上编辑图层,那么就会导致湖、河等水景象无法融入地形。 如果忘记勾选…...
【280个shell脚本】----提示运维工作效率
1.MySQL 数据库备份单循环 #!/bin/bash DATE$(date %F_%H-%M-%S) HOSTlocalhost USERbackup PASS123.com BACKUP_DIR/data/db_backup DB_LIST$(mysql -h$HOST -u$USER -p$PASS -s -e "show databases;" 2>/dev/null |egrep -v "Database|information_schema…...
从零开始搭建Electron项目之运行例程
最好的学习方式就是:给一段能够运行的代码示例。 本文给出了例程资源,以及运行的步骤。 在国内开发electron有一点特别不好,就是如果不爬梯子,下载依赖容易出错。 一、例程资源 到如下路径下载例程到本地。 GitCode - 全球开发者…...
MySQL逻辑备份
目录 一.mysqldump 基本命令: 参数选项: 示例 备份整个数据库 备份多个数据库 备份所有数据库 仅备份数据库结构 仅备份特定表 添加选项以有效处理锁表问题 恢复数据 恢复数据库 恢复库中的表 使用source恢复 注意事项 二. mysqlpu…...
python 获取网页链接图片
python 获取 网页图片 在Python中,可以使用requests库获取网页内容,再使用BeautifulSoup解析网页,提取图片链接,最后保存图片到本地。以下是一个简单的例子: import requests from bs4 import BeautifulSoup import o…...
Leetcode 力扣114. 二叉树展开为链表 (抖音号:708231408)
给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。 示例 1…...
文刻ai工具跟绘唐AI工具有什么区别
文刻AI工具和绘唐AI工具是两种不同的人工智能工具。点击查看 文刻AI工具是一种自然语言处理工具,可以用于生成、修改和校对文本。它可以帮助用户更高效地写作,提供词汇和语法建议,检查拼写和语法错误,并提供自动补全和自动纠正功…...
手写kNN算法的实现-用欧几里德空间来度量距离
kNN的算法思路:找K个离预测点最近的点,然后让它们进行投票决定预测点的类型。 step 1: kNN存储样本点的特征数据和标签数据step 2: 计算预测点到所有样本点的距离,关于这个距离,我们用欧几里德距离来度量(其实还有很多…...
IGraph使用实例——线性代数计算(blas)
1 概述 在图论中,BLAS(Basic Linear Algebra Subprograms)并不直接应用于图论的计算,而是作为一套线性代数计算中通用的基本运算操作函数集合,用于进行向量和矩阵的基本运算。然而,这些基本运算在图论的相…...
【MySQL】(基础篇五) —— 排序检索数据
排序检索数据 本章将讲授如何使用SELECT语句的ORDER BY子句,根据需要排序检索出的数据。 排序数据 还是使用上一节中的例子,查询employees表中的last_name字段 SELECT last_name FROM employees;输出结果: 发现其输出并没有特定的顺序。其实…...
C++ C_style string overview and basic Input funcitons
write in advance 最近在做题,遇到一个简单的将console的输入输出到文件中的简单题目,没有写出来。悔恨当初没有踏实地总结string 相关的 I/O 以及与文件的操作。这篇文章旨在记录基础的字符I/O, 简单常用的文件I/O操作函数。 当然,你会说C…...
VS2022+Qt雕刻机单片机马达串口上位机控制系统
程序示例精选 VS2022Qt雕刻机单片机马达串口上位机控制系统 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《VS2022Qt雕刻机单片机马达串口上位机控制系统》编写代码,代码整洁&a…...
Android Ble低功耗蓝牙开发
一、新建项目 在Android Studio中新建一个项目,如下图所示: 选择No Activity,然后点击Next 点击Finish,完成项目创建。 1、配置build.gradle 在android{}闭包中添加viewBinding,用于获取控件 buildFeatures {viewB…...
Visual Studio的快捷按键
Visual Studio的快捷按键对于提高编程效率至关重要。以下是一些常用的Visual Studio快捷按键,并按照功能进行分类和归纳: 1. 文件操作 Ctrl O:打开文件Ctrl S:保存文件Ctrl Shift S:全部保存Ctrl N:…...
【WEB系列】过滤器Filter
Filter,过滤器,属于Servlet规范,并不是Spring独有的。其作用从命名上也可以看出一二,拦截一个请求,做一些业务逻辑操作,然后可以决定请求是否可以继续往下分发,落到其他的Filter或者对应的Servl…...
[书生·浦语大模型实战营]——LMDeploy 量化部署 LLM 实践
1.基础作业 1.1配置 LMDeploy 运行环境 创建开发机 创建新的开发机,选择镜像Cuda12.2-conda;选择10% A100*1GPU;点击“立即创建”。注意请不要选择Cuda11.7-conda的镜像,新版本的lmdeploy会出现兼容性问题。其他和之前一样&…...
TiDB-从0到1-配置篇
TiDB从0到1系列 TiDB-从0到1-体系结构TiDB-从0到1-分布式存储TiDB-从0到1-分布式事务TiDB-从0到1-MVCCTiDB-从0到1-部署篇TiDB-从0到1-配置篇 一、系统配置 TiDB的配置分为系统配置和集群配置两种。 其中系统配置对应TiDB Server(不包含TiKV和PD的参数࿰…...
微信小程序按钮设计与交互:打造极致用户体验
微信小程序作为一种流行的应用形式,其界面设计和交互体验对于用户吸引力和留存率至关重要。其中,按钮作为用户与小程序进行交互的主要方式之一,其设计和实现直接影响到用户体验的质量。在本文中,我们将探讨微信小程序按钮的设计与…...
ES6中如何使用class和extends关键字实现继承?
在ES6中,可以使用class关键字来定义类,使用extends关键字来实现继承。下面是一个示例: // 父类 class Parent {constructor(name) {this.name name;}sayHello() {console.log(Hello, my name is ${this.name});} }// 子类 class Child ex…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
