新手学习GNU Radio建议阅读顺序(译)
(2016-12-12 19:51:33)
标签:
gnu-radio入门sdr |
分类: 软件无线电(SDR) |
原文出处: http://gnuradio.org/redmine/projects/gnuradio/wiki/SuggestedReadingOrder
拥有计算机相关背景知识的我在学习GNU
Radio时,深深发现自己在数字信号处理(DSP)和数字通信方面的知识都非常地欠缺,这对于深入理解GNU
Radio以及准确理解、运用软件无线电都非常地不利。在GNU
Radio官网发现的这篇文章,对于我来讲简直是雪中送炭,它正是为像我这样的拥有编程背景的人来写的。目前,我正在结合文章中推荐的资料学习DSP和通信相关知识。以下是翻译的全文:
建议阅读页面列出了大量的需要阅读的参考资料。然而,你并没有必要阅读所有资料,因为:
- 它们中的许多是多余的,
- 基于你的背景,你可能已经了解了其中的一些知识,
- 你可能并不需要知道你需要去做的事情的所有相关知识,因为GNU
Radio在抽象一些底层细节方面做了很好的工作。
因此,大多数的新手可能只需要阅读其中的一部分资料即可。本页面为来自不同背景渴望快速上手的新手们给出了建议的阅读顺序。
如果你有编程背景...
你可能已经掌握了多门编程语言。如果你了解C++和Python,那就可以直接开始信号处理相关工作了。即使你只了解C++,你也可以非常快速地掌握Python;你可能写不出地道的Python代码,但是你可以写出类C风格的Python代码,这也很不错。以下对你来说可能是很好的阅读顺序:
- 数字信号处理(DSP):从信号和系统、采样、滤波等基础知识开始学习。Richard Lyons 所著的"理解数字信号处理"(Understanding Digital Signal Processing)一书是很好的参考资料,但是你也可以从免费的在线书籍 "实用数字信号处理-从原理到应用"(The Scientist and Engineer's Guide to Digital Signal Processing By Steven W.Smith, Ph.D.)开始,看看该书是否能够满足你的需要。不管怎样,Lyons 的书被人们广泛地视为经典。
- 数字通信:
应用在通信中的DSP理论:滤波器,调制,解调,编码,噪声,干扰等。个人来讲,我发现 MIT
的课程作业资料("数字通信理论一"开放课程)理论性过强,因此你可以跳过。它的目标人群是本科水平的学生。这个教程:http://complextoreal.com/tutorials/
提供了一个关于数字通信的非常简洁但又相当不错的概述。建议阅读页面列出的数字通信部分中的任何一本书都是很不错的参考资料,可能除了以下书籍(警告:我并没有读过以下书籍,单纯从书的名字上进行判断。对于以下这些我认为可能不会像其它参考书一样有用的书,我会给出自己的理由):
(1) Leon W. Couch II 所著的"数字和模拟通信系统"(Digital and Analog Communications Systems)。因为GNU Radio几乎是全数字的,你可能不必要了解模拟调制相关知识,任何专门介绍该主题的资料对于研究GNU Radio没多大用处。
(2) Fredric J. Harris 所著的"多速率信号处理通信系统"(Multirate Signal Processing for Communication Systems)。多速率是一个略微高端的话题,并不是每个人都需要了解。如果你想从事多速率 DSP 相关工作,这个可能很适合。 - 软件无线电知识:一旦你理解了前述两部分的内容,你将会发现大多数的信号处理都可以通过在一串数字上实现算法来完成。然后,软件无线电的细节可能对于程序员的你来讲就会变得比较直观了。因此,简要浏览一些这一部分的相关资料就足够了,重点关注GNU
Radio 的相关文档和文章。
如果你不需要接触FPGA或者硬件,你可以直接跳过电子和模拟部分。
如果你不需要处理高级的 RF 话题或者天线设计相关技术(例如
MIMO 等),你可以直接跳过无线电和RF设计部分。然而浏览一下维基百科相关页面还是有好处的。鉴于上述的 DSP
背景知识,应该已经足够你了解下述概念了: 衰落,多径传播,频率上转换和下转换等。
http://complextoreal.com/tutorials/ 教程可能对于你学习DSP基础和数字通信两方面的知识来说是个相当不错的起点,特别是当你想要快速开始时。个人认为,忽略微小的语法错误,我觉得"让傅里叶分析更容易"(Fourier
Analysis Made Easy)教程易于阅读并且把一些概念解释得很到位。
参考链接: