Jack Huang's Blog


  • 首页

  • 标签

  • 归档

  • 搜索

网络通信知识学习笔记

发表于 2023-02-20 | 更新于 2023-02-26

VLAN

请参考VLAN 基础知识和什么是VLAN。

无线数字通信中数据速率、载波频率和带宽的关系

请参考无线通信系统中数据带宽、载波频率和载波带宽的关系怎样理解?和无线数字通信中数据速率、载波频率和带宽的关系。

香农定理

香农定理给出了信道信息传送速率的上限(比特每秒)和信道信噪比及带宽的关系。香农定理可以解释现代各种无线制式由于带宽不同,所支持的单载波最大吞吐量的不同。

在有随机热噪声的信道上传输数据信号时,信道容量$R_{max}$与信道带宽W,信噪比S/N关系为:
$$R_{max}=W*log2(1+S/N)$$

注意这里的log2是以2为底的对数。

奈奎斯特准则

对于一个带宽为W(Hz)的无噪声低通信道,最高的码元传输速率Bmax:

$$B_{max}=2W(Baud)$$

即每赫兹带宽的理想低通信道的最高码元传输速率是每秒2个码元。

载波

载波(carrier wave)是指被调制以传输信号的波形,一般为正弦波。一般要求正弦载波的频率远远高于调制信号的带宽,否则会发生混叠,使传输信号失真。 可以这样理解,我们一般需要发送的数据的频率是低频的,如果按照本身的数据的频率来传输,不利于接收和同步。使用载波传输,我们可以将数据的信号加载到载波的信号上,接收方按照载波的频率来接收数据信号,有意义的信号波的波幅与无意义的信号的波幅是不同的,将这些信号提取出来就是我们需要的数据信号。 载波就是携带信息/信号的波形,它携带的方式是进行频率、振幅、相位间隔调制。

电子计算机科学中,基频(baseband)加上载波(carrier wave)而成为宽频(broadband)。

载波是信号调制与发射的载体,它只有一个中心频率,和带宽本身没任何关系。比如11n协议规定可以工作在2G频段,也可以工作在5G频段,其他因素都一样的。假定20M带宽,工作在2G频段的时候载波频率是2.4GHz,那它实际占用的频谱资源是2.390GHz-2.410GHz。工作在5G频段的时候载波频率是5GHz,那它实际占用的频谱资源是4.990GHz-5.010GHz。

调制

模拟信号调制

请参考幅度调制。

数字信号调制

请参考数字调制的原理。

参考链接

  1. VLAN 基础知识,by 行道科技.
  2. 什么是VLAN,by huawei.
  3. 集线器、交换机、路由器、网桥、网关之间的区别和联系,by danielxue7.
  4. 带宽和频率的关系到底是什么?,by zhihu.
  5. 无线通信系统中数据带宽、载波频率和载波带宽的关系怎样理解?,by zhihu.
  6. 无线数字通信中数据速率、载波频率和带宽的关系,by furious.
  7. 调制,by wikipedia.
  8. 数字信号,by baidubaike.
  9. 数字调制的原理,by bebr.
  10. 幅度调制,by wikipedia.

网页音频无法自动播放的解决方案

发表于 2023-02-06 | 更新于 2023-02-09

最近在维护一个网页应用时,发现其音频偶尔无法自动播放,且报如下错误:

1
Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first.

该错误产生原因是chrome66之后都禁止音视频的自动播放。要解决该问题,可以在用户首次进入页面时,提示用户点击启动音视频自动播放,模拟用户交互。js代码如下:

1
2
3
<script>
window.confirm("是否启动语音自动播放?")
</script>

以上方法有问题,不能模拟用户交互,还是需要用户真正点击网页。另外还可以参考文章解决浏览器无法自动播放音频的问题的解决方案。

参考链接

  1. Chrome 66禁止声音自动播放之后,by 人人网FED.
  2. 解决浏览器无法自动播放音频的问题,by 寻找_.
  3. chrome66 禁止自动播放后,有什么比较好的方法实现audio的自动播放吗?,by segmentfault.

常用二进制比较工具

发表于 2023-02-05

二进制比较工具可用来快速分析两份二进制文件的差异部分,分析二级制文件是否被修改,或其他用途。常用的二进制比较工具主要有:

Beyond Compare

Hex Comparison

UltraCompare

参考链接

  1. 常见的比较二进制工具有哪些,by markingNavicat.

GIS数据基本概念解读

发表于 2023-02-02

GIS栅格和矢量数据组织及服务的基本概念可以参考聊聊GIS数据的四个分层与GIS服务。

参考链接

  1. 聊聊GIS数据的四个分层与GIS服务,by 为名.

监控数据库表记录变化的解决方案

发表于 2023-02-01

监控数据库表记录的变化,并从中获取变化后的数据,这是二次开发所面临的难题。目前有多种解决方案,各有优缺点。

触发器(Trigger)加异步通知(Notify)

实例请参考SQL 监控表字段变化。

监听数据库操作日志

例如mysql可以通过配置my.ini将数据库操作日志写到文本文件中,然后通过分析文本去获取变化。

轮询数据库表

每隔一段时间获取数据库表记录,查找数据是否发生变化。

参考链接

  1. java实时监控mysql数据库变化,by mob604756eccc76.
  2. 如何用python监视mysql数据库的更新?,by hzdledu.
  3. 数据同步中间件DBSyncer,by 靖节先生.
  4. DataX,by alibaba.
  5. 各种开源数据库同步工具汇总,by inrgihc.
  6. SQL 监控表字段变化,by 说不出来.
  7. 程序中监听数据库变化的各种方法与实践,by yanghui555.

SQL内连接结果集存在重复数据分析

发表于 2023-01-31

最近执行一条如下类似的SQL语句,结果却出现重复数据,分析了半天,最后才发现是:连接条件不唯一,导致结果集数据发生了重复。

1
2
# 如果name字典重复n次,则将产生n*n条记录。
select a.id,a.name from person as a inner join person as b on a.name=b.name;

参考链接

  1. sql连接查询存在结果集重复,by ClareTung.
  2. 图解 SQL 中各种连接 JOIN,by Moses.

Vue响应式原理分析

发表于 2023-01-31

Vue2与Vue3响应式原理的区别

  • Vue2的响应式是基于Object.defineProperty实现的
  • Vue3的响应式是基于ES6的Proxy来实现的

具体详情请参考Vue3的响应式原理?一篇文章,八张图,三心为你解密~,Vue3响应式原理解析。

参考链接

  1. Vue3的响应式原理?一篇文章,八张图,三心为你解密~,by Sunshine_Lin.
  2. Vue3响应式原理解析,by liy1wen.
  3. Proxy是代理,Reflect是干嘛用的?,by 张鑫旭.
  4. 3.1.2 ES6 Reflect 与 Proxy,by runoob.

Win7系统TTS修复方法

发表于 2023-01-30

问题分析

精简版Win7,XP,尤其从网上下载的ghost版本的系统,TTS语音引擎多数被阉割,导致很多语音程序无法进行语音朗读。例如chrome的文本转语音功能就需要调用底层Windows操纵系统的tts语音引擎,可使用如下方法测试Windows的TTS语音引擎是否工作正常:

  • 打开chrome浏览器,开发其开发者工具。
  • 在Console页,输入如下代码并运行。
    1
    2
    var msg=new SpeechSynthesisUtterance('你好,世界!')
    window.speechSynthesis.speak(msg)
  • 如果能合成语音,说明Windows的tts正常,否则就需要修复。

解决方法

请参考Win7系统TTS修复-采用原生Win7提取绿色修复,下载对应的修复工具。

参考链接

  1. Win7系统TTS修复-采用原生Win7提取绿色修复,by nga.

算法之美_指导工作和生活的算法读书笔记

发表于 2023-01-25

日积月累,水滴石穿。每天读几页书,也是一种乐趣。下面记录一下算法之美这本书的一些知识。

最优停止理论 如何选择停止观望的时机?

问题

  • 秘书问题
  • 最优停车位置

策略

  • look then leap rule
  • 37% 法则

探索与利用 要最新的还是要最好的?

问题

  • explore and exploit

explore即探索,收集信息,exploit即利用,利用已收集信息。

  • 多臂老虎机问题

老虎机(slot machine) 是一种用零钱赌博的机器,因为上面有老虎图案的筹码而得名。老虎机有三个玻璃框,里面有不同的图案,投币之后拉下拉杆,就会开始转,如果出现特定的图形(比如三个相同)就会吐钱出来,出现相同图型越多奖金则越高。

策略

  • 赢留输变
  • 基廷斯指数
  • 上限置信区间
  • A/B测试

参考链接

  1. 算法之美,by 布莱恩·克里斯汀, 汤姆·格里菲思.
  2. 老虎机,by baike.
  3. AB测试,by baike.

QGIS学习笔记

发表于 2023-01-20 | 更新于 2024-08-08

最近在研究学习QGIS,简单记一下笔记。

基本概念

地理信息系统(Geographic Informaiton System,GIS)是一个可以建立、浏览、查询、分析地理空间数据的软件系统, 其功能小至地图的展示,大至空间决策分析与支持。

目前常见的GIS软件

自由软件或免费软件:

  • Quantum GIS(QGIS) http://www.qgis.org/
  • Geographic Resources Analysis Support System(GRASS) http://grass.itc.it/
  • PostGIS: http://postgis.refractions.net
  • Thuban: http://thuban.intevation.org/index.html
  • OpenEV: http://openev.sourceforge.net/
  • GMT: http://gmt.soest.hawaii.edu/

商业软件:

  • ArcGIS(ArcInfo, ArcViw) http://www.esri.com
  • MapInfo Coporation: http://www.mapinfo.com
  • Autodesk Inc: AutoCAD Maphttp https://www.autodesk.com.cn/
  • Web应用/APP:GeoMedia http://www.intergraph.com/
  • Google Earth / Google Map:

提供全世界范围的卫星影像(含历史卫星影像)、地图、地形图、道路、3D建筑物,使用者可以任意探索世界各地的 地理信息,储存浏览过的地方,做有系统的规划与管理。历史卫星影像可供用户询区域性的时序变迁; 另外,也整合海底与水面研究数据,提供地球环境全方位的资料。

QGIS安装

Quantum GIS(QGIS)是开源地理信息系统桌面软件,使用GNU(General Public License)授权, 属于 Open Source eospatial Foundation(OSGeo)的官方计划。

QGIS 的目标是成为一个 GIS系统,提供常见的功能与特征。借着核心特征提供基本功能与附加组件(Python 或 C++) 持续地扩充,让使用者可以浏览、管理、编辑、分析数据以及制图。

QGIS安装请参考QGIS安装.

QGIS界面

安装QGIS时,将获得两个应用程序:QGIS Desktop 和 QGIS Browser。如果您熟悉ArcGIS, 则可以将QGIS Browser视为类似于ArcCatalog。这是一个用于预览空间数据和相关元数据的小型应用程序。

栅格数据

栅格数据就是将空间分割成有规律的网格,每一个网格称为一个单元,并在各单元上赋予相应的属性值来表示实体的一种数据形式。 空间数据库是对地理栅格数据进行有效管理的一个极为重要的手段。

GIS系统的栅格数据格式有很多种,有卫星影像、数字高程模型、数字正射影像、扫描文件、数据栅格图形、 图形文件(”.jpg”,”.png”,”.tif”)等。其中常用的有”.jpg”,”.png”,”.tif”等。我们在一些任务中会利用一些电子地图下载器 来获取研究范围内的卫星地图,下载得到的格式就是”.jpg”或者”.png”。”.tif”格式的数据不同之处在于它具有空间地理坐标。

目前 QGIS 可以支持读取的主要栅格格式如下:

  • Arc/Info Binary Grid
  • Arc/Info ASCII Grid
  • GRASS Raster
  • GeoTIFF
  • JPEG
  • Spatial Data Tranfer Standard Grids
  • USGS ASCII DEM
  • Erdas Imagine

矢量数据

矢量数据(Vector Data)是用X、Y、Z坐标表示地图图形或地理实体位置的数据。矢量数据一般通过记录坐标的方式来 尽可能将地理实体的空间位置表现的精确。常见的矢量数据有:点、线、面等格式。

QGIS可以支持多种的矢量数据,如常见的 Shapefile 和 MapInfo MIF、TAB; 另外 QGIS 亦支持在 PostgreSQL 数据库中的 PostGIS 图层;以及提供 CSV(delimited text)纯文本导入。

目前 QGIS 可以读取的矢量数据有:

  • Arc/Info Binary Coverage
  • ESRI Shapefile
  • Mapinfo File
  • SDTS

SHP (Shapefile)

Shapefile是目前最常见的一种矢量数据格式。作为行业标准,几乎所有的商业和开源GIS软件都支持Shapefile。

一个Shapefile数据最少包括文件:

主文件( “*.shp” ):存储地理要素的几何图形的文件。

索引文件( “*.shx” ):空间数据索引文件,存储地理数据几何特征的索引。

DBASE表文件( “*.dbf” ):它是存储属性数据的文件,用于存储地理数据的属性信息。有时候我们也称为表文件或者dbf文件。 这里值得注意一下的是,这个文件Excel也是能够打开的。

空间投影文件( “*.prj” ):用于存储空间参考,也就是投影方式文件。当然了,如果你的数据没有空间参考信息,这个文件自然也就没有了。

地理数据索引文件( “.sbn” , “.sbx” ):这两个文件只有在进行主题间空间关系查询、主题的空间联接和对shape字段进行索引的时候才存在。 它们用于存储地物特征的索引。

地图/影像配准与数字化

地图投影及坐标转换

地理坐标系

如果使用纬度和经度,它可以在世界的任何地方表达, 与本地语言的地址符号不同,世界上每个人都可以理解。 基准系统(大地测量参考系统)是获得这种纬度和经度的标准, 大地测量系统和世界大地测量系统。

大地测量是为建立和维持测绘基准与测绘系统而进行的确定位置、 地球形状、重力场及其随时间和空间变化的测绘活动。世界大地测量系统(World geodetic system,简称WGS)是指1960年以来, 由美国国防制图局(DMA)建立的四个世界大地测量系统(WGS60、WGS66、WGS72和WGS84)的统称。

地理坐标系:为球面坐标。 参考平面地是椭球面,坐标单位:经纬度;

地理坐标转换到投影坐标的过程可理解为投影。(投影:将不规则的地球曲面转换为平面);

地理坐标,就是用经线(子午线)、纬线、经度、纬度表示地面点位的球面坐标。

地球的三级逼近

大地水准面是地球表面的第一级逼近。假设当海水处于完全静止的平衡状态时,从海平面延伸到所有大陆下部, 而与地球重力方向处处正交的一个连续、闭合的曲面,这就是大地水准面。

大地水准面可以近似成一个规则成椭球体,但并不是完全规则, 其形状接近一个扁率极小的椭圆绕短轴旋转所形成的规则椭球体,这个椭球体称为地球椭球体。 它是地球的第二级逼近。

确定了一个规则的椭球表面以后,我们会发现还有一个问题, 参考椭球体是对地球的抽象,因此其并不能去地球表面完全重合, 在设置参考椭球体的时候必然会出现有的地方贴近的好(参考椭球体与地球表面位置接近), 有的地方贴近的不好的问题,因此这里还需要一个大地基准面来控制参考椭球和地球的相对位置。 这是地球表面的第三级逼近。

地心基准面:由卫星数据得到,使用地球的质心作为原点,使用最广泛的是 WGS 1984。

区域基准面:特定区域内与地球表面吻合,大地原点是参考椭球与大地水准面相切的点,例如Beijing54、Xian80。 我们通常称谓的Beijing54、Xian80坐标系实际上指的是我国的两个大地基准面。

我们通常说的参心大地坐标系和地心大地坐标系的区别就在于此。

参心大地坐标系:指经过定位与定向后,地球椭球的中心不与地球质心 重合而是接近地球质心。区域性大地坐标系。是我国基本测图和常规大地测量的基础。如Beijing54、Xian80。

地心大地坐标系:指经过定位与定向后,地球椭球的中心与地球质心重合。如CGCS2000、WGS84。

投影坐标系

投影坐标系:为平面坐标。参考平面地是水平面,坐标单位:米、千米等;

在地球椭球面和平面之间建立点与点之间函数关系的数学方法,称为地图投影。

地球椭球表面是一种不可能展开的曲面,要把这样一个曲面表现到平面上,就会发生裂隙或褶皱。 在投影面上,可运用经纬线的“拉伸”或“压缩”(通过数学手段)来加以避免, 以便形成一幅完整的地图。但不可避免会产生变形。 地图投影的变形通常有:长度变形、面积变形和角度变形。 在实际应用中,根据使用地图的目的,限定某种变形。

百度火星WGS84坐标转换

做国内,为了数据保密的原因,国家测绘地理信息局规定,凡是公开对外提供服务的在线地图都必须使用保密插件做一次非线性坐标转换,将原始WGS84坐标系的数据转换为GCJ02坐标系(俗称火星坐标系),而百度在火星坐标系的基础上又做了一次偏移,形成了其自身的百度09坐标系,于是从互联网上下载、爬取的数据常用的坐标系有这么三大类:WGS84、GCJ02、BD09(从国外渠道下载的大多是WGS84,从高德、腾讯系下载的数据是火星坐标系GC02,从百度系下载的数据为百度坐标系BD09)

常用矢量数据下载

请参考中国国家基础地理信息数据、全球1:100万基础地理数据。

高程数据下载

请参考GEE学习笔记 五十四:QGIS展示3D的高程数据,QGIS下载各种DEM的插件(SRTM 90m/30m -ALOS 30m -Cop 30m/90m-NASADEM Global DEM)。

高程数据合并

请参考QGIS(2)——dem处理(获取、拼接、裁剪等)。

加载WMS/WMTS图层

  • WMS: Web Map Service
  • WMTS: Web Map Tile Service

请参考QGIS 2. 将网页中的地图或卫星图导入qgis (加载WMS/WMTS图层)。

GeoTiff to WMTS/WMS

使用 工具箱->栅格杂项->gdal2tiles 工具将GeoTiff文件切片。

XYZ编码含义请参考OGC标准WMTS服务概念与地图商的瓦片编号流派-web地图切片加载。

瓦片信息查看工具

瓦片信息请参考maptiler tool。

具体应用

下载高清卫星图片

请参考:

  • QGIS下载卫星影像全攻略
  • 如何使用QGIS下载Google地图的遥感影像

参考链接

  1. QGIS 3 地理信息系统基础教程,osgeo.
  2. TIFF 文件格式,by 雷震西山.
  3. qgis小技巧——加载GDB数据库,by 大猫小鼠.
  4. QGIS设置为中文界面,by lqqgis.
  5. QGIS添加在线底图,by Vigo*GIS.
  6. 15篇QGIS教程打包送给你,by 张云金.
  7. ArcGIS景观设计场景1:地理数据的获取,by liu_jingyi.
  8. [场景2] 地理数据初步处理,by liu_jingyi.
  9. 利用QGIS免费批量获取Google、Bing等高分辨率卫星影像,by 蜂芒.
  10. GeoTIFF、Shapefile和World File中空间参考的获取及其参数意义,by 蜂芒.
  11. 如何使用QGIS下载Google地图的遥感影像,by 锐多宝的地理空间.
  12. 中国国家基础地理信息数据,by GaoHR.
  13. 全球1:100万基础地理数据,by GaoHR.
  14. GEE学习笔记 五十四:QGIS展示3D的高程数据,by 无形的风(知乎).
  15. QGIS 2. 将网页中的地图或卫星图导入qgis (加载WMS/WMTS图层),by GIS在找果酱山上的果酱熊.
  16. QGIS 如何实现卫星图片(栅格数据)切片,by 晓寒学生.
  17. webGIS底图栅格化与实时数据合成处理原理,地图API设计,xyz加载,by zhoulujun@live.cn.
  18. OGC标准WMTS服务概念与地图商的瓦片编号流派-web地图切片加载,by zhoulujun.
  19. maptiler tool,by maptiler.
  20. [QGIS下载各种DEM的插件(SRTM 90m/30m -ALOS 30m -Cop 30m/90m-NASADEM Global DEM)],by Vigo*GIS.
  21. 壹张图看懂“火星坐标系”,by 梭梭树壹号.
  22. QGIS(2)——dem处理(获取、拼接、裁剪等),by 地学散人​.
上一页1…111213…53下一页

Jack Huang

528 日志
68 标签
© 2025 Jack Huang
由 Hexo 强力驱动
|
主题 — NexT.Muse