第1章 现代无线通信系统概述 1
1.1 无线通信的发展概况 1
1.2 无线通信的主要特点 3
1.3 无线通信系统的组成 3
1.4 未来无线通信系统的发展趋势 4
1.5 FPGA在无线通信中的应用 5
1.6 本章小结 6
第2章 FPGA系统设计基础 8
2.1 FPGA设计基础 8
2.1.1 FPGA简介 8
2.1.2 FPGA的原理与结构 9
2.1.3 FPGA的基本设计流程 11
2.1.4 FPGA与CPLD的比较 13
2.1.5 FPGA与数字信号处理器(DSP)的比较 14
2.2 FGPA常用的开发工具 15
2.2.1 集成开发环境 15
2.2.2 输入工具 16
2.2.3 综合工具 16
2.2.4 仿真工具 17
2.2.5 实现工具 17
2.2.6 调试与加载配置 17
2.3 未来FPGA技术的发展趋势 18
2.3.1 未来可编程器件的发展趋势 18
2.3.2 未来EDA设计方法的发展趋势 19
2.4 本章小结 20
第3章 Verilog HDL硬件描述语言 21
3.1 Verilog HDL语言简介 21
3.1.1 Verilog HDL语言的历史 21
3.1.2 Verilog HDL的主要能力 22
3.1.3 Verilog HDL和VHDL的区别 23
3.2 Verilog HDL基本程序结构 23
3.3 Verilog HDL语言的数据类型和运算符 24
3.3.1 标志符 24
3.3.2 数据类型 25
3.3.3 模块端口 26
3.3.4 常量集合 27
3.3.5 运算符和表达式 28
3.4 Verilog HDL语言的描述语句 32
3.4.1 结构描述形式 33
3.4.2 数据流描述形式 34
3.4.3 行为描述形式 34
3.4.4 混合设计模式 42
3.5 Verilog HDL的3个高级专题 42
3.5.1 阻塞赋值与非阻塞赋值 42
3.5.2 可综合状态机的写法 44
3.5.3 任务和函数 46
3.6 Verilog HDL建模与调试技巧 49
3.6.1 双向端口 49
3.6.2 输入值不确定的组合逻辑电路 50
3.6.3 面积和速度互换原则 50
3.6.4 基于Verilog HDL流水线的设计 51
3.6.5 测试模块向量的编写与验证 55
3.7 本章小结 56
第4章 ISE开发软件的使用 57
4.1 ISE简介 57
4.1.1 ISE软件的主要设计特性 57
4.1.2 ISE软件的安装 58
4.2 Synplify Pro综合工具 60
4.2.1 Synplify Pro综合软件的安装 60
4.2.2 关联ISE和Synplify Pro 60
4.3 ModelSim仿真工具 61
4.3.1 ModelSim仿真软件的安装 61
4.3.2 关联ISE和ModelSim 62
4.3.3 在ModelSim中指定Xilinx的仿真库 62
4.3.4 ModelSim软件的简要使用方法 63
4.4 ISE的使用方法 65
4.4.1 ISE界面介绍 65
4.4.2 ISE的开发流程 66
4.5 基于ISE的快速设计 75
4.5.1 Xilinx公司IP Core的使用 76
4.5.2 ISE与MATLAB的联合使用 77
4.6 本章小结 79
第5章 FPGA中的数字信号处理基础 81
5.1 数的表示 81
5.1.1 定点表示 82
5.1.2 浮点表示 83
5.1.3 定点制数的量化 83
5.1.4 加法、乘积的舍入误差 84
5.2 A/D变换的字长效应 85
5.3 二进制加法器 87
5.3.1 串行加法器 87
5.3.2 流水线加法器 87
5.3.3 加法器的使用 89
5.4 二进制乘法器 91
5.4.1 串行乘法器 91
5.4.2 流水线乘法器 93
5.4.3 复数乘法器 95
5.4.4 乘法器的使用 97
5.5 二进制除法器 99
5.5.1 无符号高效除法器 99
5.5.2 除法器IP Core的使用 106
5.6 快速傅里叶变换器 110
5.6.1 DFT和FFT基本思想 110
5.6.2 FFT算法的基本原理及其MATLAB实现 111
5.6.3 FFT的硬件实现结构 114
5.6.4 IFFT原理与实现 116
5.6.5 FFT/IFFT IP Core的使用 117
5.7 三角函数数字发生器 120
5.7.1 DDS算法原理 120
5.7.2 DDS算法的Verilog实现 122
5.7.3 DDS算法IP Core的使用 125
5.8 CORDIC计算器 128
5.8.1 CORDIC算法原理 128
5.8.2 CORDIC算法的硬件实现结构 130
5.8.3 CORDIC算法的Verilog实现 130
5.8.4 CORDIC算法IP Core的使用 137
5.9 本章小结 139
第6章 数字滤波器的FPGA实现 141
6.1 数字滤波器的分类与性能指标 141
6.1.1 数字滤波器的分类 141
6.1.2 数字滤波器的数学模型 142
6.1.3 数字滤波器的性能指标 142
6.2 有限脉冲响应滤波器的设计与实现 143
6.2.1 FIR滤波器理论和结构 143
6.2.2 FIR滤波器的设计方法 144
6.2.3 FIR滤波器的MATLAB设计 147
6.2.4 FIR滤波器的FPGA实现 150
6.2.5 采用分布式算法的FIR滤波器 160
6.2.6 FIR滤波器IP Core的使用 169
6.3 无限脉冲响应滤波器的设计与实现 173
6.3.1 IIR滤波器的理论和结构 173
6.3.2 IIR滤波器的设计方法 173
6.3.3 IIR滤波器的MATLAB设计 177
6.3.4 IIR滤波器的FPGA实现 182
6.3.5 IIR滤波器实现中的流水线技术 189
6.3.6 有限字长效应和滤波器增益系数的最优化 191
6.3.7 并行处理 192
6.4 脉冲成形滤波器的设计与实现 195
6.4.1 脉冲成形滤波器的原理 195
6.4.2 脉冲成形滤波器的设计方法 197
6.4.3 脉冲成形滤波器的MATLAB设计 197
6.4.4 脉冲成形滤波器的FPGA实现 199
6.5 本章小结 201
第7章 多速率信号处理的FPGA实现 202
7.1 多速率信号处理的基础知识 202
7.1.1 多速率信号处理的意义 202
7.1.2 多速率信号处理的基本操作 203
7.1.3 过采样A/D与D/A转换器 210
7.2 信号的多相分解 211
7.2.1 多相分解基本理论 211
7.2.2 多相分解的FPGA实现 213
7.3 CIC滤波器 215
7.3.1 CIC基本理论 215
7.3.2 CIC滤波器的MATLAB设计 218
7.3.3 CIC滤波器的FPGA实现 219
7.4 FIR半带滤波器 226
7.4.1 FIR半带滤波器的原理 226
7.4.2 FIR半带滤波器的MATLAB设计 228
7.4.3 半带滤波器的FPGA实现 229
7.5 无线通信中的多速率滤波器 234
7.5.1 无线信号多速率发送处理器 234
7.5.2 无线信号多速率接收处理器 245
7.6 滤波器组 250
7.6.1 滤波器组的基本概念 250
7.6.2 双通道滤波器组的原理 251
7.6.3 双通道滤波器组的MATLAB实现 252
7.6.4 双通道滤波器组的FPGA实现 252
7.7 本章小结 255
第8章 数字调制与解调的FPGA实现 257
8.1 调制/解调的基本功能与要求 257
8.1.1 调制/解调的基本功能 257
8.1.2 调制/解调的分类 257
8.1.3 基本调制方法原理及性能简要分析 258
8.1.4 数字信号的带宽和功率谱密度 259
8.1.5 影响选择数字调制方式的因素 259
8.2 2-ASK调制/解调的FPGA实现 259
8.2.1 2-ASK调制/解调的基本原理和设计方法 259
8.2.2 2-ASK调制/解调的MATLAB实现 261
8.2.3 2-ASK调制/解调的FPGA实现 264
8.3 MPSK调制/解调的FPGA实现 266
8.3.1 MPSK调制/解调的基本原理和设计方法 266
8.3.2 QPSK调制/解调的MATLAB实现 269
8.3.3 QPSK调制/解调的FPGA实现 269
8.4 MSK/GMSK调制/解调的FPGA实现 272
8.4.1 MSK/GMSK调制原理 273
8.4.2 MSK/GMSK调制/解调的MATLAB实现 276
8.4.3 MSK/GMSK调制器的FPGA实现 277
8.5 MQAM调制/解调的FPGA实现 286
8.5.1 QAM调制/解调原理 286
8.5.2 QAM调制/解调的MATLAB实现 287
8.5.3 QAM全数字调制器的FPGA实现 288
8.6 OFDM调制/解调的FPGA实现 293
8.6.1 OFDM调制/解调原理 293
8.6.2 OFDM调制/解调的MATLAB实现 295
8.6.3 OFDM调制/解调的FPGA实现 296
8.7 本章小结 298
第9章 信道编码的FPGA实现 299
9.1 信道编码的原理 299
9.1.1 有噪信道编码定理 299
9.1.2 信道编码的简介 299
9.2 信道编码的分类 300
9.3 线性分组码的FPGA实现 300
9.3.1 线性分组码的原理和性能 300
9.3.2 线性分组码的MATLAB实现 302
9.3.3 线性分组码的FPGA实现 303
9.4 CRC校验码的FPGA实现 306
9.4.1 CRC校验码的原理 306
9.4.2 CRC校验码的MATLAB仿真 307
9.4.3 CRC校验码的FPGA实现 307
9.5 RS码的FPGA实现 309
9.5.1 RS码的原理 309
9.5.2 RS码的MATLAB实现 310
9.5.3 RS码的FPGA实现 311
9.6 卷积码的FPGA实现 315
9.6.1 卷积码的原理和性能 315
9.6.2 卷积码的MATLAB实现 319
9.6.3 卷积码的FPGA实现 319
9.7 交织器的FPGA实现 332
9.7.1 交织的原理 332
9.7.2 交织器的MATLAB实现 334
9.7.3 交织器的FPGA实现 334
9.8 Turbo码的FPGA实现 337
9.8.1 Turbo码的原理 337
9.8.2 Turbo码的MATLAB实现 339
9.8.3 Turbo码的FPGA实现 341
9.9 TCM编码的FPGA实现 342
9.9.1 TCM编码的原理 342
9.9.2 TCM编码的MATLAB实现 345
9.9.3 TCM编码的FPGA实现 346
9.10 本章小结 347
第10章 系统同步的FPGA实现 349
10.1 同步的分类 349
10.1.1 按照同步功能分类 349
10.1.2 按照同步方式分类 349
10.2 载波同步的原理及实现 350
10.2.1 载波同步简介 350
10.2.2 载波同步方法的分类 350
10.2.3 平方环载波同步法的原理 352
10.2.4 平方环载波同步法的MATLAB实现 353
10.2.5 平方环载波同步法的FPGA实现 356
10.2.6 科斯塔斯环载波同步法的原理 358
10.2.7 科斯塔斯环载波同步法的MATLAB实现 359
10.2.8 科斯塔斯环载波同步法的FPGA实现 360
10.3 符号同步 366
10.3.1 符号同步简介 366
10.3.2 插入导频符号同步法 367
10.3.3 直接符号同步法 368
10.3.4 超前-滞后门符号同步法的MATLAB实现 370
10.3.5 超前-滞后门符号同步法的FPGA实现 372
10.4 帧同步 378
10.4.1 帧同步简介 378
10.4.2 集中插入式帧同步法的原理 378
10.4.3 集中插入式帧同步法的MATLAB实现 380
10.4.4 集中插入式帧同步法的FPGA实现 381
10.5 本章小结 382
第11章 自适应滤波和均衡的FPGA实现 383
11.1 自适应滤波器简介 383
11.2 自适应滤波器的应用 384
11.2.1 预测 384
11.2.2 辨识 384
11.2.3 反建模 385
11.2.4 干扰抵消 385
11.3 自适应滤波算法原理 385
11.3.1 输入信号的必备特征 385
11.3.2 代价函数的定义 386
11.3.3 维纳-何甫方程 386
11.4 LMS算法 387
11.4.1 LMS算法的原理 387
11.4.2 LMS算法的MATLAB实现 388
11.4.3 LMS算法的量化效应 390
11.4.4 LMS算法的FPGA实现 391
11.4.5 具有延迟的LMS流水线滤波器 393
11.4.6 符号LMS算法的基本原理 395
11.4.7 符号LMS算法的MATLAB仿真 396
11.4.8 符号LMS算法的FPGA实现 397
11.5 变换域LMS算法 399
11.5.1 变换域LMS算法的简介 400
11.5.2 变换域串行LMS算法的基本原理 400
11.5.3 频域串行LMS算法的MATLAB实现 401
11.5.4 频域块LMS算法的基本原理 404
11.5.5 频域块LMS算法的MATLAB实现 405
11.5.6 频域块LMS算法的FPGA实现 406
11.5.7 频域块LMS算法和时域LMS算法的比较 418
11.6 递归最小二乘(RLS)算法 419
11.6.1 RLS算法的基本原理 419
11.6.2 RLS算法的MATLAB实现 420
11.6.3 RLS算法的FPGA实现 421
11.6.4 RLS算法与LMS算法的比较 424
11.7 无线通信系统中的自适应均衡技术 425
11.7.1 自适应均衡的基本原理 425
11.7.2 自适应均衡器的MATLAB实现 426
11.7.3 自适应均衡器的FPGA实现 428
11.8 智能天线的FPGA实现 431
11.8.1 智能天线的基本原理 431
11.8.2 智能天线的MATLAB实现 433
11.8.3 智能天线的FPGA实现 434
11.9 本章小结 437
第12章 最佳接收机的FPGA实现 438
12.1 最佳接收机原理 438
12.1.1 最佳接收机的统计模型 438
12.1.2 最佳接收准则及其最佳接收机 439
12.2 匹配接收机的FPGA实现 445
12.2.1 匹配接收机的原理 445
12.2.2 匹配接收机的MATLAB实现 446
12.2.3 匹配接收机的FPGA实现 446
12.3 相关接收机的FPGA实现 450
12.3.1 相关接收机的原理 450
12.3.2 相关接收机的MATLAB实现 451
12.3.3 相关接收机的FPGA实现 452
12.4 Rake接收机的FPGA实现 455
12.4.1 Rake接收机原理 455
12.4.2 Rake接收机的MATLAB实现 457
12.4.3 Rake接收机的FPGA实现 459
12.5 本章小结 463
第13章 WCDMA系统中关键技术的FPGA实现 464
13.1 WCDMA系统简介 464
13.1.1 WCDMA系统的历史 464
13.1.2 WCDMA系统物理层的关键技术 465
13.1.3 WCDMA系统的发展趋势 466
13.2 WCDMA无线接口的物理层技术 466
13.2.1 WCDMA的系统参数 466
13.2.2 WCDMA的传输信道及物理信道 466
13.2.3 WCDMA系统的扩频与调制 467
13.2.4 WCDMA无线接口的物理层 469
13.2.5 WCDMA无线接口物理层关键技术的MATLAB实现 474
13.2.6 WCDMA无线接口物理层关键技术的FPGA实现 478
13.3 WCDMA系统小区搜索的FPGA实现 483
13.3.1 WCDMA系统小区搜索的原理 484
13.3.2 WCDMA系统小区搜索的算法 484
13.3.3 WCDMA系统小区搜索的MATLAB实现 488
13.3.4 WCDMA系统小区搜索的FPGA实现 490
13.4 本章小结 501