- 博客(271)
- 资源 (5)
- 问答 (2)
- 收藏
- 关注
原创 地理测绘基础知识(5) 由光源矢量发起的照射计算
我们解决了照射计算的基本模型关系,并能够根据手电的位置指向,在地表求取光斑。但是,前文使用的是设置探针求取场强的点求取,对于绘制地表的等值线包络图、求取地表包线的具体解析情况,就不够用了。使用单点的方法计算量大,且步长不容易控制。本文给出基于向量旋转与交汇的计算算法。
2023-09-05 10:30:00 183
原创 地理测绘基础知识(4) 由地表探针发起的照射计算
照射计算,是一种常用的三维几何计算。已知一个光源的光强图,计算光源投射到地表各处的功率密度。这种计算需求可以直观的理解为计算已知位置、指向、聚光特性的手电筒,计算地表某地点强度。本文的推导涉及很多旋转,很容易出错和糊涂。当时刚刚毕业时,通宵推导、用Turbo C花了很大力气实现,结果笔记、程序都找不到了。现在已经白发丛生,从头重温一遍,也很是有趣。本推导可能存在符号反转等错误,等笔者后续做更有意思的场景时,不断验证才能更正。大家千万不要把这个代码真拿去仿真去了,十有八九会踩坑(-!
2023-09-02 13:57:09 221
原创 地理测绘基础知识(3)-观测与遮挡
在上一篇文章中,我们介绍了椭球模型下的一系列基础的坐标操作。本节,介绍观测与遮挡问题。观测主要用于从观察点A观测大地标准点B,用来解决观测的仰角、方位角与大地坐标系之间的关系。在没有GPS卫星的时代,为了测量一个位置的坐标,往往会设置多个采样点,不断测角、测距、测气压,“跑断腿”。在现代,这种基于方位俯仰的测量技术已经用的不多了,但方位俯仰的计算还是很有用的。遮挡问题和观测是同一个问题,解决的是从A点能不能看到B的问题。有时候计算A,B的共视问题时用的很多,尤其是其中一方为高山或者飞机时。
2023-08-18 11:24:02 457
原创 地理测绘基础知识(2)-椭球最短距离计算
本篇,主要介绍已知A\B两个点的经纬度,如何求取椭球上的最短距离、路径。要讨论方向,会引出两个概念。第一个是切平面坐标系,这是讨论"方向"的基础。第二个是运动,即考虑不同时刻、不同位置之间的关系与变化规律。
2023-08-13 21:06:08 865
原创 地理测绘基础知识(1) 坐标系经纬度与ECEF直角坐标的基本换算
我们目前最常用的全球坐标系是WGS-84坐标系,各种手机、地图基本用经纬度来标记位置。然而,经纬度对于空间的计算是很复杂的,需要很多三角函数操作。平面直角坐标系利用向量的运算,可以非常方便的计算角度、距离等参数,在实际应用中往往作为中间计算的工具。目前用到的很多GIS、遥感与测绘工具里都有这种功能,比如利用 libproj、RTK等工具,直接进行转换。为了教学方便,我们还是从头开始,实现这这种坐标的转换。
2023-08-11 21:00:34 2712 1
原创 现场工程师宝典-流式处理的异常现象以及提高吞吐能力的常见优化策略
流式处理区别于按包处理,指的是对处理者而言,面对的是逻辑上无头无尾的数据流。因此,在提取数据流中的包时,就需要遵循其内在的格式,进行头部捕获、提取、校验。然而,如果不考虑TCP等流式数据的异常情况,而简单的编程,会在性能、稳定性上踩坑。本人作为资深现场工程师,协助开发团队处理过各种千奇百怪的流式处理问题,本文把其中较为常见的一并总结一下,希望对避坑有所帮助。
2023-07-07 20:08:48 437
原创 避免滥用Qt信号与槽——改进taskBus 平台以吞吐20M IQ采样带宽
软件无线电平台是一款依靠 stdin-stdout进行数据吞吐的教学平台。在平台创建之初,主要使用 RTL-SDR进行简单的窄带接收应用,并没有考虑采样率超过1.8M的情况。引入 USRP B210/B205mini后,采样率瞬间提高到2M以上,此时,使用信号与槽进行吞吐时,性能问题就暴露无遗了。本文详细介绍如何该平台的实现问题,以及补救策略。补救后,双路可直接吞吐20MHz采样率的16bit IQ信号。2024年,经过专门测试,理想吞吐率在i7处理器上达到3GBps,文章尾部含有链接。
2023-06-24 20:33:52 1413
原创 基于机器学习的内容推荐算法及其心理学、社会学影响闲谈
基于机器学习的内容推荐算法目前在各类内容类APP中使用的非常普遍。在购物、时尚、新闻咨询、学习等领域,根据用户的喜好,进行较为精准的用户画像与内容推荐。此类算法不但可以较为准确的分析用户的特征,如年龄、性别等,还能通过长期的跟踪维护,大致确定用户的偏好。但过于精确的推荐,对用户的潜在心理学影响越来越受到科学界的重视。本文首先介绍推荐算法的基本原理,再介绍其对用户的心理学、社会学影响。
2023-06-03 21:27:45 1298 2
翻译 PC博物馆(14) 1977 Apple II 经典的经典
原文链接:http://oldcomputers.net/翻译:20230511原网站有大量技术背景材料的原文链接,有兴趣可前去查看。本期终于轮到介绍 appleII,以及它的国产机型 CEC系列“中华学习机”。关注中华学习机的文章,不再转载了,以免产生著作权问题。我们还是专门翻译国外的文章。
2023-05-11 17:26:19 661 1
翻译 PC博物馆(13) 1977 的三款计算机(Wameco QM-1A, Vector Graphic Vector 1,RCA COSMAC VIP)
原文链接:http://oldcomputers.net/翻译:20230511原网站有大量技术背景材料的原文链接,有兴趣可前去查看。本文介绍了1977年的三款计算机。
2023-05-11 17:10:33 177
原创 现场工程师出马:VMware+LVM卷快速在windows Server上部署Kafka集群
最近遇到的疑难现场问题层出不穷,本次遭遇的挑战是在4台windows Server 服务器上部署Kafka集群。这是一种比较少见的操作,原因是有些依赖的驱动对虚拟化支持不好,只能运行在实体win机上。原有的上层业务是由B团队开发+运维,现在B团队自己独立出去单干,需要把B团队的业务流转移到这4台windows 服务器上。因为老丁同学介绍,我现场指导了这次迁移,并不顺利,特此记录。主要解决了基于VMWare虚拟机的Linux Kafka节点在windows 服务器的部署。
2023-05-10 20:46:19 709
原创 现场工程师救火-UEFI(BIOS)节能设置导致金牌服务器只跑出龟速
近期协助出现场,解决了一个非常典型的UEFI 启动参数配置不当导致的服务器降效案例。错误的节能参数配置,导致价值几十万的服务器变成龟速服务器,并造成严重的生产事故。
2023-04-25 19:52:10 1114 1
原创 用于小规模低成本场景的kafka + eCAL架构设计
Kafka作为存储、性能兼备的消息队列,适用场景很多,伸缩性也很强。如何调节kafka的配置参数,以及设计专题、分区的数量、物理位置,很大程度上影响到整个架构的成败。很多文章是站在数据中心的角度来谈kafka的配置,而对于小团队,往往只希望把Kafka作为一个跨进程、可追溯的隔离器来使用,取代繁琐的文件或者自定义TCP/UDP接口。此时,单独讨论这种场景就显得有必要了。本文介绍了在磁盘与网络带宽都捉襟见肘的情况下,如何使用两种消息队列综合设计架构,避免瓶颈的方法。
2023-03-20 20:28:30 437
原创 基于 librdkafka C API 的三种seek随机访问方法
介绍三种seek offset的方法。kafka seek的时机和特点,是由它的原理决定的。只有消费者已经assign到确切的partition,才能修改offsetassign partition的行为可以是手动的(第一种),也可以是自动的(2、3)当自动assign时,必须选取一个时机,获取当前的分区号,才能设置offset最佳的方法是联合使用1、2、3这三种策略。
2023-03-20 13:39:03 509
原创 基于Qt WebEngine 的Web仪器面板GUI程控技术
随着IIoT的发展,很多工业仪器也具备了远程管理的GUI。与早期使用串口进行命令交互不同,这些GUI可以直接在远程呈现数据。作为希望对仪器、软件进行二次开发的小公司来说,会遇到GUI人工操作转自动化的需求。在无法通过串口等传统接口进行自动操作的情况下,就只能考虑GUI自动化。在现场工程师领域,常见的GUI自动化程控技术主要分native界面与Web界面两类。用QtWebEngine可以非常从容地应对Web GUI自动化。
2023-03-09 13:47:49 2216
原创 流浪地球2的科学幻想与现实中的未来计算机科技
作为一个科幻迷、《三体》迷,从小时候第一次看《珊瑚岛上的死光》开始,一直期待一部国产科幻电影。等待了40余年,有生之年终于如愿以偿。周末二刷了《流浪地球2》。丁老师认为这部科幻电影已经超越了1,以及原著,成为一部极具观感和深度的科幻片。在三个小时的荧幕上,构造出宏大的科学、伦理、哲学纵深。电影不但学习西方宇航科幻基于现实科学技术的严谨演绎(而非架空的魔法世界), 还承载了我们这个古劲沧桑历经兴衰轮回的东方民族千年沉淀的坚韧文化和世界观。这部电影就特效本身,已经达到顶尖科幻片的水准。
2023-02-12 21:54:16 652
翻译 PC博物馆(12) 1976 Compucolor 8001 彩显计算机
SC总裁Charles Muench表示,他自己分析了为MITS Altair 8800计算机开发的Microsoft BASIC编程语言,并对其进行了“逆向工程”,以便在他的Compucolor 8001中使用,但最终“从Microsoft购买了BASIC源代码,以便我们合法”。1976年2月(如果不是更早的话)他们的第一款产品是Intecolor 8001专业智能CRT终端,这是一个售价1395美元的套件,由买家组装,其特点是一个巨大的19英寸RCA三角电子发生器CRT。该系统标配4K RAM内存。
2023-02-04 09:15:00 456 1
翻译 PC博物馆(11) 1976 Rockwell AIM 65
罗克韦尔“AIM 65扩展主板”支持为罗克韦尔System 65或摩托罗拉Exercisor设计的所有卡,以及罗克韦尔、摩托罗拉、Burr Brown和其他制造商提供的其他卡。由罗克韦尔-阿纳海姆计算机组织(RACO)设计的“小板”是一个基于Z-80A的高性能微型计算机系统,旨在与CP/M操作系统一起运行。该板包含64K字节的动态RAM,所有这些都可供用户使用,256字节的PROM用于“启动”系统。IM 65是一个很棒的系统,但四年后的1981年发布了一个更好的改进型AIM 65/40。
2023-02-01 08:00:00 218
原创 现场工程师出手-PCAPHub与云SSH隧道稳妥实现异地LAN IIoT联测
在传统制造业、互联网,以及所有和工程相关的领域,都会生长着一类非常硬核的攻城狮。他们不仅是行业全栈工程师,又具有非常丰富的现场经验——编程、电气、电子、万用表、电烙铁都能来上两招。具备这种“急诊医生”能力的技术人员,有正规的定义,叫做“现场工程师”。本案例就介绍现场工程师的应变,通过PCAPHub与云虚拟机,实现甲方、乙方异地交换机的逻辑直通。在文章的最后,还会讨论现场工程师的能力与素质。
2023-01-20 13:52:31 1235
原创 EthernetOnTCP--基于Qt QSslSocket 套接字在PCAP 集线器上实现以太网隧道
我们使用PCAP建立了本地的软件集线器(Hub)。考虑到较远距离的跨车间调试,有必要使用Tcp连接构造一个以太网的隧道,使得两个车间之间的调试设备可以虚拟的连接在一个Hub上。使用QSslSocket可以方便的实现这个功能。同时,通过控制回放的范围,可以精确控制PCAPHub工作在交换机-集线器的混合模式下。
2023-01-14 17:18:53 1000 2
原创 以研究用途搭建OpenStreetMap Virtualbox服务器
又到了新年伊始,下载OpenStreetMap全球数据的时候了。结果惊奇的发现,主站已经无法打开。仔细了解了原委,表示理解。好在PBF数据依旧可以获取,只是瓦片服务已经关停。目前,OpenStreetMap只适合个人只读下载,学习GIS所用。
2023-01-13 09:00:00 953
原创 基于PCAP搭建软HUB实现物联网在线调试
在调试嵌入式物联设备时,尤其是在多个以太网物联设备交错通信的情况下,很难通过在捉襟见肘的嵌入式系统上进行数据记录与调试。如果设备连接的是交换机,在空闲端口是无法看到所有其他端口上的数据的(广播除外)。PCAPHub基于PCAP,构建了一个软集线器。进行调试时,把待调试的工业设备从工业交换机断开,并临时接入在调试工作站的网卡上。这样,就可以用Wireshark抓到所有参与调试的设备数据。
2023-01-09 07:45:00 907
原创 你好2023-使用msys64 openssl 制作QSslSocket实验所需证书
2023年开始了,第一篇,记录最近帮朋友制作QSslSocket所需证书的过程。使用传统的TCP连接依旧是很多工业软件的常见通信方法。但如果恰好不希望别人通过抓包等方法研究上位机和控制器模块之间的协议格式,那使用SSL连接是一种掩耳盗铃的好办法,能够抵御不是很执着的逆向行为。SSL一般可以通过openssl实现,这样即使是嵌入式设备里也有类似的支持。QSslSocket非常平顺的保留了所有的易用性,让一般的硬件作坊也能碰一碰SSL和网络编程。
2023-01-01 09:55:29 914
翻译 PC博物馆(10) 1976 Apple 1
乔布斯与当地一家电脑商店The Byte Shop接洽,看看他们是否有兴趣出售他们的Apple 1电脑。由于相当聪明,他多年来一直在设计自己的电脑,但实际上从未有时间制造电脑。他的朋友兼Homebrew电脑俱乐部成员史蒂夫·乔布斯(Steve Jobs)不但很喜欢它,而且心里有一些改进的想法。在其他电脑进入市场的鼓舞下,他创作了自己的杰作,并将其带到加州帕洛阿尔托的Homebrew电脑俱乐部,向其他一些会员展示。沃兹对他们的成功感到兴奋,接着设计了苹果II——有史以来最伟大的电脑之一。
2022-12-24 09:53:03 146
翻译 PC博物馆(9) 1976 PolyMorphic Systems Poly-88
1975年流行的MITS Altair 8800计算机为基于相同技术的类似计算机系统创造了市场,基本上是“克隆”。 Altair的独特之处在于它的 Altair总线,它允许安装许多不同的扩展卡,这为卡创造了一个市场,不久之后又出现了可以使用相同卡的类似计算机的市场。“ Altair 总线”后来被称为S-100总线。
2022-12-05 16:46:07 197
原创 使用 Qt for Android 获取并利用手机传感器数据(下篇)使用C++实现功能
在上一篇,我们搭建了开发环境。本篇,使用C++代码真正实现Android功能。我们使用UDP协议从手机上指定发送的目的地、端口。我们建立一个Qt的Widgets程序,添加 position, sensors模块。枚举传感器并建立界面,通过Qt的Sensors可以枚举到传感器的取值。
2022-12-03 17:58:41 3040 4
原创 使用 Qt for Android 获取并利用手机传感器数据(上篇)开发环境省心搭建
现代手机拥有许多传感器,包括地磁、姿态、GPS、光照、温度、气压、摄像、声音、电磁等,完全就是一个高度集成的科学仪器。不夸张的说,一部手机加上一个外围的计算机和控制系统,做一个功能较强的自主移动机器人并不是不可能。但是,很多APP都只是局限于自身的功能,并不喜欢把传感器数据泵出来给其他设备分享。即使有,也是收费的。有没有可能自己做一个小APP,获得所有的手机传感器数据,榨干手机的感知能力呢?实际上实现起来并不困难,甚至连界面都不需要。笔者准备涉足一下从未实操过的App开发,把旧手机的传感器数据分享出来。
2022-12-01 21:59:20 4137 8
原创 使用Qt轻量的QTextBrowser为taskBus SDR显示丰富的图文帮助
最近准备为软件无线电平台添加集成文档功能。毕竟模块变多了之后,简单一页纸的小文档对正确想起来如何使用模块功能意义很大。对于一款极简的轻量级SDR产品,我们希望taskBus的文档继续保持极简的风格,支持txt纯文本、简易Markdown和本地html。QTextBrowser是一款轻量但强大的本地富文本显示控件,本文介绍这种控件在帮助文档浏览中的运用。
2022-11-05 19:39:48 1862
原创 DIY调频(FM) MP3电台-基于增强管道数据流转(EPDR)的taskBus实时水位控制技术
EPDR通过各个进程的标准输入输出管道(stdio)吞吐数据,平台按照生产消费关系进行数据流转,联合多个子进程实现数据合作处理。开源软件无线电平台taskBus将此架构运用于SDR领域。非计算机专业的工程师受惠于此平台,可迅速整合每个人最熟悉的开发语言、开发环境,让不同知识背景、教育层次的工程师共同完成实时波形处理软件。在SDR软件开发中,水位控制是保证硬件及时获取数据,并防止数据堆积的有效手段。本文基于taskBus,介绍水位控制在mp3文件夹FM发射机搭建中的应用。
2022-11-01 06:15:00 545
原创 从前向数据复制(FDR)到增强管道数据流转(EPDR)-taskBus的前世今生
增强管道数据流转技术(EPDR)是一种基于标准输入输出的开源数据分发技术,在软件无线电平台taskBus下已经具有了较为完整的应用场景。本文简述从最初的前向数据复制发展到EPDR的过程。
2022-10-15 21:01:59 1162 4
原创 从MSYS2 PostGIS 到 Proj.4 地理空间坐标转换
文章介绍了用于测绘和地理坐标转换的2种便利方法。用PostGIS、Proj.4都可以进行转换。同时,笔者结合自己20年的工作经历,对基础科学软件的发展给出了一些感慨。
2022-10-09 22:48:18 1045 1
翻译 PC博物馆(8) 1976 SOL Terminal Computer
Sol-20中的扩展卡是顺着水平方向安装的,但很紧——一些卡必须一次卸下两个,因为在卸下时,一个卡上的组件会碰到相邻卡的组件。“电子工程师”和“家庭酿造计算机俱乐部(Home Brew Computer Club)”的主席“李·费尔森斯坦”设计了Sol-20,并在五年以后推出的著名的奥斯本1( Osborne 1)型计算机。不幸的是,由于复杂性,Helios II磁盘内存系统不可靠,需要定期重新校准。
2022-10-04 12:46:18 313
翻译 PC博物馆(7) 1976 MOS KIM-1 单板机
KIM-1的主要优点是拥有大量的用户和程序,并且已经发布了很多关于它的文章。它的弱点在于其有限的板载能力——只有1K的用户RAM,没有EPROM,以及一个良好但有限的Monitor程序。它最初是由6502微处理器的发明者MOS Technology创建的,以向工业界展示6502的威力。翻译:20220920。
2022-09-21 11:10:35 642 1
原创 画饼也充饥,使用声卡替代昂贵的SDR设备实现实验
昨天有朋友问我,如果作为学生,家庭条件不好,买不起SDR设备,又想业余时间玩玩SDR,如何是好?我建议他使用声卡进行基带实验。实际上,我也经常使用声卡实验——因为虽然声卡简单,但它确实是一个支持双路IO的AD/DA设备,具备构造基带波形的完整能力。使用声卡进行SDR实验有两种方法。对于一般的高频无线电波形,特别是相位调制波形,建议使用声卡有线直连直接处理基带数据。未来尝试用喇叭和麦来做声波的无线传播,会遇到很多有趣的问题,需要使用OFDM、二次调制等专门的补偿技术。
2022-09-20 11:10:01 463 1
原创 使用C语言+USRP B210从零开始实现无线通信(5) 纠错与输出
在中,已经实现了信息的解调。由于信息可能含错,故而使用维特比算法进行纠错。这个维特比算法采用了以前介绍过的一个原创实现。纠错后的数据,还要执行去伪随机m序列,得到完整的以太网包数据。
2022-09-11 08:15:00 822 2
原创 使用C语言+USRP B210从零开始实现无线通信(4) 接收检测与解调
在中,已经让数据通过声卡或者SDR播放/发射出去了。经过传输,在接收方可以获取到发送的波形。作为接收方,要做的第一步就是波形的接收与检测,并对检测的波形进行解调获得01二进制数据流。
2022-09-10 08:32:53 2610 3
原创 使用C语言+USRP B210从零开始实现无线通信(3) DASK差分幅度键控调制
在中,已经生成了一串封装好的二进制数据包。如果我们有声卡,或者有SDR终端,则可以着手让数据播放/发射出去了。采用差分幅度键控,生成与ADS-B类似的脉冲波形;选择合适的调制速率,向SDR输出波形。
2022-09-09 08:00:00 1612 1
原创 使用C语言+USRP B210从零开始实现无线通信(2) 获取以太网数据并封装
本章介绍为了实现基于USRP的无线IP通信实验,如何获取以太网数据,并进行组装的过程。
2022-09-07 09:00:00 1287
Lenovo T490 温度墙修复软件
2023-12-31
Qt FCGI 例子
2020-10-12
gqrx-spectrogram.zip
2020-01-26
基于Qt的多线程流水线异步服务器稳定版
2014-06-07
世界地名对照表Postgres 9.1 导出
2012-09-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人