系统与基础设施aholme.co.uk编辑精选
自制 GPS 接收器(2013)
Homemade GPS Receiver (2013)
2015 — 2019,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这篇页面是作者自制 GPS 接收机的项目记录,详细展示了从信号处理到解调的工程实现。文中涉及直接序列扩频(DSSS)、数控振荡器、FPGA 和 1-bit ADC 等技术,并配有大量说明。
为什么经久不衰:它把完整的 GPS 信号链拆解成可理解的模块,横跨射频、DSP 与 FPGA,多年后仍是极佳的自学入口。
HN 评论精选
用 LFSR 生成伪随机序列做扩频与相关,是理解 GPS 信号的关键。
如果你熟悉 LFSR,DSSS 很值得一读。简言之,先生成确定性的伪随机周期序列,再把消息的每一位与整个序列做异或调制;例如序列长 31 位,调制后的消息就变成 31 倍长。接收端用同一伪随机序列做相关,就能判断每一位是什么并给出置信度。它有效是因为该序列近似白噪声,与几乎所有其他序列正交,甚至与自身时移版本也正交,因此能抗多径失真。
brian-armstrong查看英文原文
DSSS [1] is really interesting and worth reading up on if you’re already familiar with LFSRs. To summarize, you start by generating a deterministic, pseudorandom, periodic sequence. You then take your message and modulate (bitwise XOR) each bit of the message by the entire sequence e.g. if my sequence is 31 bits long, then my message modulated is now 31x long. The receiver just correlates the received message by the pseudorandom sequence. The correlation gives me what each bit is and a belief/probability for that bit. This works really well because the sequence is orthogonal to just about every other sequence (it’s white noise!). It’s even orthogonal to time shifted versions of itself, meaning that it does well at rejecting multipath distortion. 1: https://en.m.wikipedia.org/wiki/Direct-sequence_spread_spectrum
文章跨学科且文档详尽,是极好的学习入口。
第一次读这篇时,我觉得它是极好的资源,因为涉及面很广,每个主题都是我原本不熟悉子领域的入口(我非电子工程背景)。DSSS?去维基百科深入调制方案;数控振荡器?没听过,顺便读读 FPGA;1-bit ADC?居然可行,还用到许多我没意识到的 DSP 数学。再加上完整 GPS 信号链,从原子钟到解调比特和反三角问题……看到这些都汇集在一个文档详尽的工程里,非常震撼。我有时还会重读。
thatcherc查看英文原文
The first time I read this write-up I found it to be such a great resource because of the range of topics it touches on, with each one an entry point to some new subfield I didn't know about (coming from a non-EE background). DSSS? Time to go on a wikipedia dive into modulation schemes Numerically-controlled oscillators? There's something I haven't encountered, and let's read about FPGAs while we're at it. 1-bit ADC? Crazy that that even works, but it uses a bunch of interesting DSP math that I never even knew I was missing! Plus the entire GPS signal chain, from the atomic clocks to the demodulated bits and inverse trig problem... incredible to see it all compiled into one (so well documented) project. I still go back and read this sometimes when I've forgotten part of it because it's fun to rediscover all the gems that went into building this receiver.
作者的其他项目也值得探索。
这已经很令人印象深刻,但他的其他项目也很棒,完全值得一看。
ohazi查看英文原文
This is impressive enough, but his other projects are also awesome and totally worth a look: http://www.aholme.co.uk/Projects.htm
指向开源 GNSS 软件定义接收机项目。
该领域的后续工作:gnss-sdr.org。
Maxious查看英文原文
Further work in this space: https://gnss-sdr.org/
历次讨论
同类还值得读
TTY 揭秘(2008)
The TTY demystified (2008)
经典文章深入剖析了 Unix/Linux 中 TTY 子系统的工作原理,包括线路规程、终端驱动、信号与控制字符等机制。
系统与基础设施上首页 11 次 · 2009–2025linusakesson.net编辑精选为什么 GNU grep 这么快
Why GNU grep is Fast
FreeBSD 邮件列表上一篇广为流传的帖子,解释 GNU grep 为什么快:核心在于 Boyer-Moore 字符串搜索算法配合精心优化的内部循环和 I/O,让程序在搜索时“…
系统与基础设施上首页 9 次 · 2010–2022lists.freebsd.orgXplain:为普通人讲解 X11
Xplain – Explaining X11 for the rest of us
《Xplain》是作者(HN 用户 Jasper_)写的一系列 X11 长文,用他在浏览器中重建的 X11 绘图模型做交互演示,讲解 X11 的绘图模型与窗口系统设计。
系统与基础设施上首页 6 次 · 2013–2020magcius.github.io编辑精选旋风教程:为 Linux 创建极小 ELF 可执行文件(1999)
A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux (1999)
breadbox 写于 1999 年的经典教程,主题是如何为 Linux 手工构造并裁剪出体积极小的 ELF 可执行文件。
系统与基础设施上首页 6 次 · 2007–2025muppetlabs.comPostgreSQL 内部原理
The internals of PostgreSQL
《The Internals of PostgreSQL》是一本免费在线书籍,系统讲解 PostgreSQL 的内部实现,包括查询处理、并发控制、WAL、缓冲区管理等核心机制。
系统与基础设施上首页 5 次 · 2017–2025interdb.jp编辑精选