第1章 绪论 1
1.1 软件无线电发展概述 1
1.1.1 背景 1
1.1.2 软件无线电概念及关键技术 2
1.1.3 软件无线电研究现状 3
1.1.4 存在的问题探讨 5
1.2 软件无线电平台介绍 6
1.2.1 GNU Radio 6
1.2.2 SORA 7
1.2.3 Open Air Interface 14
参考文献 17
第2章 软件无线电基本理论 20
2.1 信号采样理论 20
2.1.1 采样定理 21
2.1.2 带通信号采样定理 22
2.2 多速率信号处理 23
2.2.1 整数倍抽取 23
2.2.2 整数倍内插 25
2.2.3 采样率分数倍变换 27
2.3 数字滤波器 27
2.3.1 数字滤波器设计基础 28
2.3.2 半带滤波器 28
2.3.3 积分梳状滤波器 29
2.4 软件无线电基本结构 30
2.4.1 数字下变频 30
2.4.2 数字上变频 31
参考文献 32
第3章 GNU Radio软件无线电平台 33
3.1 GNU Radio平台综述 33
3.2 GNU Radio软件架构 35
3.3 GNU Radio硬件平台 37
3.3.1 HackRF 38
3.3.2 bladeRF 39
3.3.3 USRP 40
3.4 USRP硬件平台 42
3.4.1 USRP母板 43
3.4.2 USRP2母板 45
3.4.3 USRP子板 46
参考文献 49
第4章 GNU Radio的安装 50
4.1 安装需求 50
4.2 Linux下的安装 50
4.2.1 安装Ubuntu 10.10操作系统 50
4.2.2 在Ubuntu 10.10系统下安装GNU Radio 52
4.3 安装后的测试 53
4.3.1 连接检测 54
4.3.2 程序测试 56
4.3.3 图形界面GRC的测试 60
参考文献 61
第5章 GNU Radio的使用 62
5.1 引言 62
5.2 使用系统附带工具及功能软件 62
5.3 使用GNU Radio仿真 64
5.4 使用图形化信号处理开发工具GRC 64
5.4.1 GRC简介 64
5.4.2 核心概念 64
5.4.3 GRC使用要点 66
5.4.4 GRC使用举例 68
参考文献 71
第6章 使用Python开发GNU Radio应用程序 72
6.1 Python 72
6.1.1 Python语言简介 72
6.1.2 GNU Radio中的Python 77
6.2 编程概念 77
6.2.1 低通滤波器音频记录机 77
6.2.2 拨号音发生器 78
6.2.3 QPSK解调器 78
6.3 第一个Python代码例程 79
6.4 编程指南 81
6.4.1 Python如何调用C++程序 81
6.4.2 GNU Radio模块 82
6.4.3 选择、定义和配置功能块 83
6.4.4 模块的阶层结构 85
6.4.5 并行流程图 87
6.4.6 GNU Radio的扩展和工具 89
6.4.7 流图的控制 89
6.4.8 非流图应用 91
6.4.9 高级主题 91
参考文献 95
第7章 使用C++开发GNU Radio信号处理模块 96
7.1 C++编程规范 96
7.1.1 编辑规范 96
7.1.2 设计规范 100
7.2 模块结构 102
7.3 信号处理模块的编写 103
7.3.1 关键知识点 103
7.3.2 基于C++的开发方法 108
7.3.3 第一个模块 112
7.4 图形界面的使用 116
7.5 外部库文件的使用 121
7.6 Octave和MATLAB的使用 122
7.6.1 Octave的使用 122
7.6.2 MATLAB的使用 124
7.7 版本控制 127
参考文献 129
第8章 GNU Radio无线传输实现范例 131
8.1 GNU Radio调制方式实现 131
8.1.1 DQPSK&QPSK调制方式实现 131
8.1.2 GMSK调制方式实现 140
8.2 GNU Radio的OFDM无线传输 145
8.2.1 系统框图和MAC帧的构成 145
8.2.2 物理层 147
8.2.3 开发和调试方法 151
8.2.4 OFDM系统实验结果及分析 153
8.3 GNU Radio的MIMO技术 155
8.3.1 mux参数的含义 156
8.3.2 代码示例 158
参考文献 164
第9章 GNU Radio科研项目 166
9.1 GNU Radio科研项目概述 166
9.2 GNU Radio科研项目介绍 166
9.2.1 OpenBTS项目 166
9.2.2 Hydra项目 180
9.2.3 认知无线电压缩频谱感知项目 183
9.2.4 其他应用 191
参考文献 191
附录A main_usrp_tx.py 193
附录B demo_usrp_rx.py 198