Python软件无线电(1):概述

使用Python处理无线通信相关的问题,甚至是构建软件无线电平台(SDR),我想最大的优势在于能够使用当前日新月异的智能算法,快速验证一些想法。这个教程(PySDR),从原理到代码,注重从视觉上用图来解释公式背后的含义,难能可贵。

文章目录

  • 1 面向的读者
  • 2 教程特点
  • 3 涵盖的内容


1 面向的读者

首先,也是最重要的几个重要术语:

软件定义无线电(Software-Defined Radio, SDR):
“软件无线电”的概念最早是由美国MITRE公司的Joseph Mitola III博士于1992年提出的。其基本思想是以开放、可扩展、可重构的硬件为通用平台,把尽可能多的功能用可升级、可替换的软件来实现。现在,软件无线电已成为无线电工程的现代方法,不仅在无线通信领域获得了广泛的应用,在其他无线电工程领域也显示出了广阔的应用前景。
数字信号处理(Digital Signal Processing, DSP):
信号的数字处理,在本教程中主要涉及射频数据的处理。

本教程是对 DSP、SDR 和无线通信领域的实战教程,适合以下人员:

  1. 对SDR感兴趣,想用其做很酷的事情
  2. 擅长使用Python
  3. 对DSP、无线通信和SDR不是特别精通
  4. 视觉学习者,更喜欢动画而不是公式
  5. 在理解概念后对公式有更深的理解
  6. 寻找简明扼要的手册,而不是厚厚一本教科书

如果你是一名计算机科学专业的学生在毕业后对无线通信感兴趣,那么本教程就特别适合你。当然,本教程适合任何有一定编程经验且想要了解SDR的人。因此,它只涵盖了理解DSP技术的必要理论,而不像大多数DSP课程中那样包含大量的数学公式。我们不会让读者迷失在无数的公式之中,而是使用大量的图像和动画来帮助传无线通信和SDR涉及到的概念,例如后面的关于傅里叶级数复杂在复平面的动画。我相信,针对相关概念进行可视化和编程实践后,可以对公式获得更好的理解。因为使用了大量的动画,本教程不会以传统的形式在出版社出版。

2 教程特点

本教程旨在快速流畅地介绍概念,使读者能够智能地执行DSP和SDR。它并不是一个涵盖所有DSP/SDR主题的教程,因为已经有很多很棒的教材,例如模拟设备SDR教科书和数字信号处理手册。您可以随时使用Google来回忆三角函数或香农极限理论。将这本教科书视为进入DSP和SDR世界的门户:与更传统的课程和教科书相比,它更轻,更少时间和金钱投入。

为了涵盖基础DSP理论,一个学期课时量的“信号与系统”(电气工程专业的典型课程)被浓缩为几个章节。讲完DSP基础知识,我们就会进入SDR,尽管DSP和无线通信概念在整个教程中会不断出现。

本教程提供使用Python编写的编程练习,在练习中会用到NumPy,这是Python中矩阵运算和高级数学工具的标准库。这些示例还依赖于 Matplotlib,它是一个 Python 绘图库,它提供了一种可视化信号、数组和复数的简单方法。请注意,虽然Python通常比C++“慢”,但Python / NumPy中的大多数数学函数都是在C / C++中实现的,并且经过了大量优化。同样,我们使用的 SDR API 只是一组用于 C/C++ 函数/类的 Python 绑定。那些对Python经验知之甚少,但在MATLAB,Ruby或Perl中打下坚实基础的人在熟悉Python的语法后可能会很好。

3 涵盖的内容

1. 简介
2. 频域(Frequency Domain)
3. IQ抽样(IQ Sampling)
4. 数字调制(Digital Modulation)
5. 使用Python进行PlutoSDR开发
6. 使用Python进行USRP开发
7. 噪声和dB(Noise and dB)
8. 滤波器(Filters)
9. 链路预算(Link Budgets)
10. 信道编码(Channel Coding)
11. IQ文件和SigMF(IQ Files and SigMF)
12. 多径衰落(Multipath Fading)
13. 脉冲成型(Pulse Shaping)
14. 同步(Synchronization)
15. 端到端示例(End-to-End Example)
16. 关于作者

你可能感兴趣的:(基于Python的信号处理,SDR,Python,无线通信,数字信号处理,频谱)