第1章 数字通信及FPGA概述 1
1.1 数字通信系统概述 2
1.1.1 数字通信的一般处理流程 2
1.1.2 本书讨论的通信系统模型 4
1.1.3 数字通信的特点及优势 5
1.1.4 数字通信的发展概述 7
1.2 数字通信中的几个基本概念 10
1.2.1 与频谱相关的概念 10
1.2.2 带宽是如何定义的 13
1.2.3 采样与频谱搬移 16
1.2.4 噪声与信噪比 19
1.3 FPGA的基础知识 21
1.3.1 从晶体管到FPGA 21
1.3.2 FPGA的发展趋势 24
1.3.3 FPGA的组成结构 26
1.3.4 FPGA的工作原理 30
1.4 FPGA与其他处理平台的比较 31
1.4.1 ASIC、DSP及ARM的特点 32
1.4.2 FPGA的特点及优势 33
1.5 XILINX器件简介 34
1.5.1 XILINX器件概况 34
1.5.2 Spartan系列器件 36
1.5.3 Virtex系列器件 37
1.6 小结 39
参考文献 39
第2章 设计语言及环境介绍 41
2.1 HDL语言简介 42
2.1.1 HDL语言的特点及优势 42
2.1.2 选择VHDL还是Verilog 43
2.2 VHDL语言基础 44
2.2.1 程序结构 45
2.2.2 数据类型 47
2.2.3 数据对象 50
2.2.4 运算符 50
2.2.5 VHDL语句 55
2.3 FPGA开发工具及设计流程 60
2.3.1 ISE开发套件 60
2.3.2 Modelsim仿真软件 64
2.3.3 Synplicity综合软件 66
2.3.4 FPGA设计流程 68
2.4 MATLAB软件 70
2.4.1 MATLAB软件简介 70
2.4.2 常用的信号处理函数 73
2.5 MATLAB与ISE的数据交换 79
2.6 小结 80
参考文献 80
第3章 FPGA实现数字信号处理基础 81
3.1 FPGA中数的表示 82
3.1.1 莱布尼兹与二进制 82
3.1.2 定点数表示 83
3.1.3 浮点数表示 84
3.2 FPGA中数的运算 87
3.2.1 加/减法运算 87
3.2.2 乘法运算 90
3.2.3 除法运算 92
3.2.4 有效数据位的计算 93
3.3 有限字长效应 95
3.3.1 字长效应的产生因素 95
3.3.2 A/D变换的字长效应 96
3.3.3 系统运算中的字长效应 97
3.4 FPGA中的常用处理模块 99
3.4.1 乘法器模块 99
3.4.2 除法器模块 104
3.4.3 浮点运算模块 107
3.4.4 滤波器模块 109
3.4.5 数字频率器模块 111
3.5 小结 113
参考文献 113
第4章 滤波器的MATLAB与FPGA实现 115
4.1 滤波器概述 116
4.1.1 滤波器的分类 116
4.1.2 滤波器的特征参数 118
4.2 FIR与IIR滤波器的原理 118
4.2.1 FIR滤波器原理 118
4.2.2 IIR滤波器原理 120
4.2.3 IIR与FIR滤波器的比较 120
4.3 FIR滤波器的MATLAB设计 121
4.3.1 采用fir1函数设计 121
4.3.2 采用kaiserord函数设计 124
4.3.3 采用fir2函数设计 124
4.3.4 采用firpm函数设计 126
4.4 IIR滤波器的MATLAB设计 128
4.4.1 采用butter函数设计 128
4.4.2 采用cheby1函数设计 129
4.4.3 采用cheby2函数设计 130
4.4.4 采用ellip函数设计 130
4.4.5 采用yulewalk函数设计 131
4.4.6 几种设计函数的比较 131
4.5 滤波器设计分析工具 133
4.6 FIR滤波器的FPGA实现 134
4.6.1 量化滤波器系数 134
4.6.2 FIR滤波器的实现结构 136
4.6.3 采用IP核实现FIR滤波器 140
4.6.4 MATLAB仿真测试数据 146
4.6.5 测试激励的VHDL设计 147
4.6.6 FPGA实现后的仿真测试 149
4.7 IIR滤波器的FPGA实现 150
4.7.1 IIR滤波器的结构形式 150
4.7.2 量化级联型结构的系数 153
4.7.3 级联型结构的FPGA实现 156
4.7.4 FPGA实现后的测试仿真 160
4.8 小结 161
参考文献 161
第5章 ASK调制解调技术的实现 163
5.1 ASK信号的调制解调原理 164
5.1.1 二进制振幅调制信号的产生 164
5.1.2 二进制振幅调制信号的解调 165
5.1.3 二进制振幅调制系统的性能 167
5.1.4 多进制振幅调制 168
5.2 ASK调制信号的MATLAB仿真 168
5.3 ASK调制信号的FPGA实现 171
5.3.1 FPGA实现模型及参数说明 171
5.3.2 ASK调制信号的VHDL设计 173
5.3.3 FPGA实现后的仿真测试 174
5.4 ASK解调技术的MATLAB仿真 176
5.5 ASK解调技术的FPGA实现 178
5.5.1 FPGA实现模型及参数说明 178
5.5.2 ASK信号解调的VHDL设计 178
5.5.3 FPGA实现后的仿真测试 180
5.6 符号判决门限的FPGA实现 182
5.6.1 确定ASK解调后的判决门限 182
5.6.2 判决门限模块的VHDL设计 183
5.6.3 FPGA实现后的仿真测试 185
5.7 锁相环位同步技术的FPGA实现 185
5.7.1 位同步技术的工作原理 185
5.7.2 位同步顶层模块的VHDL设计 188
5.7.3 双相时钟信号的VHDL设计 190
5.7.4 鉴相模块的VHDL设计 191
5.7.5 控制模块的vHDL设计 193
5.7.6 分频模块的VHDL设计 195
5.7.7 FPGA实现后的仿真测试 195
5.8 ASK解调系统的FPGA实现及仿真 196
5.8.1 完整解调系统的VHDL设计 196
5.8.2 完整系统的仿真测试 198
5.9 小结 200
参考文献 201
第6章 FSK调制解调技术的实现 203
6.1 FSK信号的调制解调原理 204
6.1.1 FSK信号的时域表示 204
6.1.2 相关系数与频谱特性 205
6.1.3 非相干解调原理 207
6.1.4 相干解调原理 208
6.1.5 解调方法的应用条件分析 210
6.2 FSK调制解调的MATLAB仿真 211
6.2.1 不同调制度的FSK信号仿真 211
6.2.2 非相干解调FSK仿真 212
6.2.3 相干解调FSK仿真 217
6.3 FSK调制信号的FPGA实现 220
6.3.1 FSK信号的产生方法 220
6.3.2 FSK调制信号的VHDL设计 221
6.3.3 FPGA实现后的仿真测试 223
6.4 FSK解调的FPGA实现 224
6.4.1 解调模型及参数设计 224
6.4.2 解调FSK信号的VHDL设计 225
6.4.3 FPGA实现后的仿真测试 229
6.5 MSK信号产生原理 231
6.5.1 MSK信号时域特征 231
6.5.2 MSK信号频谱特性 232
6.5.3 MSK信号的产生方法 233
6.6 MSK调制信号的FPGA实现 235
6.6.1 实例参数及模型设计 235
6.6.2 MSK调制信号的VHDL设计及仿真 235
6.7 MSK解调原理 237
6.7.1 延迟差分解调 237
6.7.2 平方环相干解调 238
6.8 MSK解调的MATLAB仿真 239
6.8.1 仿真模型及参数说明 239
6.8.2 平方环解调MSK的MATLAB仿真 240
6.9 平方环的FPGA实现 242
6.9.1 锁相环的工作原理 243
6.9.2 平方环的工作原理 246
6.9.3 平方环路性能参数设计 247
6.9.4 平方环的VHDL设计 249
6.9.5 FPGA实现后的仿真测试 253
6.1 0 MSK解调的FPGA实现 255
6.1 0.1 MSK解调环路参数设计 255
6.1 0.2 顶层模块的VHDL设计 256
6.1 0.3 脉冲成形及解调模块的VHDL设计 260
6.1 0.4 FPGA实现后的仿真测试 262
6.1 1 小结 264
参考文献 265
第7章 PSK调制解调技术的实现 267
7.1 DPSK信号的调制解调原理 268
7.1.1 DPSK信号的调制原理 268
7.1.2 Costas环解调DPSK信号 269
7.1.3 DPSK调制解调的MATLAB仿真 271
7.2 DPSK解调的FPGA实现 274
7.2.1 环路性能参数设计 274
7.2.2 Costas环的VHDL设计 275
7.2.3 FPGA实现后的仿真测试 279
7.3 DQPSK信号的调制解调原理 279
7.3.1 QPSK信号的调制原理 279
7.3.2 双比特码元差分编解码原理 281
7.3.3 DQPSK信号解调原理 282
7.3.4 DQPSK调制解调的MATLAB仿真 285
7.4 DQPSK调制信号的FPGA实现 288
7.4.1 差分编/解码的VHDL设计 288
7.4.2 DQPSK调制信号的VHDL设计 292
7.5 DQPSK解调的FPGA实现 296
7.5.1 极性Costas环的VHDL设计 296
7.5.2 FPGA实现后的仿真测试 300
7.5.3 调整跟踪策略获取良好的跟踪性能 301
7.5.4 完整的DQPSK解调系统设计 302
7.5.5 DQPSK解调系统的仿真测试 306
7.6 π/4 QPSK调制解调原理 306
7.6.1 π/4 QPSK信号的调制原理 306
7.6.2 匹配滤波器与成形滤波器 308
7.6.3 π/4 QPSK信号的差分解调原理 313
7.6.4 π/4 QPSK调制解调的MATLAB仿真 314
7.7 π/4 QPSK调制解调的FPGA实现 318
7.7.1 基带编码的VHDL设计 318
7.7.2 差分解调的VHDL设计 321
7.7.3 FPGA实现后的仿真测试 326
7.8 小结 326
参考文献 327
第8章 QAM调制解调技术的实现 329
8.1 QAM信号的调制解调原理 330
8.1.1 QAM调制解调系统组成 330
8.1.2 差分编码与星座映射 331
8.1.3 QAM调制解调的MATLAB仿真 333
8.2 QAM编/解码的FPGA实现 336
8.2.1 编码映射的VHDL设计 337
8.2.2 解码模块的VHDL设计 339
8.2.3 FPGA实现后的仿真测试 341
8.3 QAM载波同步的FPGA实现 341
8.3.1 QAM载波同步原理 341
8.3.2 载波同步顶层模块的VHDL设计 344
8.3.3 鉴相模块的VH L设计 348
8.3.4 FPGA实现后的仿真测试 352
8.4 插值算法位同步技术原理 354
8.4.1 位同步技术分类及组成 354
8.4.2 内插滤波器原理及结构 356
8.4.3 Gardner误差检测算法 358
8.4.4 环路滤波器与数控振荡器 359
8.5 插值算法位同步技术的MATLAB仿真 360
8.5.1 设计环路滤波器系数 361
8.5.2 分析位定时算法MATLAB仿真程序 361
8.5.3 完整的QAM位定时算法仿真 366
8.6 插值算法位同步技术的FPGA实现 368
8.6.1 顶层模块的VHDL设计 368
8.6.2 插值滤波模块的VHDL设计 370
8.6.3 误差检测及环路滤波器模块的VHDL设计 373
8.6.4 数控振荡器模块的VHDL设计 375
8.6.5 FPGA实现后的仿真测试 376
小结 378
参考文献 379
第9章 扩频调制解调技术的FPGA实现 381
9.1 扩频通信的基本原理 382
9.1.1 扩频通信的概念 382
9.1.2 扩频通信的种类 383
9.1.3 直扩系统工作原理 385
9.2 直扩调制信号MATLAB仿真 387
9.2.1 伪码序列的产生原理 387
9.2.2 MATLAB仿真直扩调制信号 388
9.3 直扩信号调制的FPGA实现 391
9.3.1 伪码模块的VHDL设计 392
9.3.2 扩频调制模块的VHDL设计 393
9.4 伪码同步的一般原理 396
9.4.1 滑动相关捕获原理 397
9.4.2 延迟锁相环跟踪原理 398
9.5 伪码同步算法设计及仿真 399
9.5.1 同步算法设计 399
9.5.2 捕获及跟踪门限的MATLAB仿真 401
9.6 伪码同步的FPGA实现 403
9.6.1 顶层模块的VHDL设计 403
9.6.2 伪码产生模块的VHDL设计 406
9.6.3 相关积分模块的VHDL设计 408
9.6.4 伪码相位调整模块的VHDL设计 409
9.6.5 FPGA实现后的仿真测试 411
9.7 直扩解调系统的FPGA实现 413
9.7.1 Costas载波环的VHDL设计 413
9.7.2 FPGA实现后的仿真测试 418
9.8 小结 420
参考文献 420