数字调制解调技术的MATLAB与FPGA实现 Xilinx VHDL版
作者:杜勇 著
出版时间:2017年版
内容简介
本书以Xilinx公司的FPGA为开发平台,采用MATLAB及VHDL语言为开发工具,详细阐述数字通信调制解调技术的FPGA实现原理、结构、方法以及仿真测试过程,并通过大量工程实例分析FPGA实现过程中的具体技术细节。主要包括设计语言及环境介绍、FPGA实现数字信号处理基础、滤波器的FPGA实现、ASK调制解调技术的FPGA实现、FSK调制解调技术的FPGA实现、PSK调制解调技术的FPGA实现、QAM调制解调技术的FPGA实现以及DSSS信号调制解调技术的FPGA实现等内容。
目录
第1章 数字通信及FPGA概述\t(1)
1.1 数字通信系统概述\t(2)
1.1.1 数字通信的一般处理流程\t(2)
1.1.2 本书讨论的通信系统模型\t(4)
1.1.3 数字通信的特点及优势\t(5)
1.1.4 数字通信的发展概述\t(7)
1.2 数字通信中的几个基本概念\t(9)
1.2.1 与频谱相关的概念\t(9)
1.2.2 带宽是如何定义的\t(12)
1.2.3 采样与频谱搬移\t(15)
1.2.4 噪声与信噪比\t(19)
1.3 FPGA的基础知识\t(21)
1.3.1 从晶体管到FPGA\t(21)
1.3.2 FPGA的发展趋势\t(24)
1.3.3 FPGA的组成结构\t(26)
1.3.4 FPGA的工作原理\t(30)
1.4 FPGA与其他处理平台的比较\t(31)
1.4.1 ASIC、DSP及ARM的特点\t(32)
1.4.2 FPGA的特点及优势\t(33)
1.5 Xilinx器件简介\t(34)
1.5.1 Xilinx器件概况\t(34)
1.5.2 Spartan系列器件\t(36)
1.5.3 Virtex系列器件\t(37)
1.6 FPGA信号处理板CXD301\t(39)
1.7 小结\t(40)
参考文献\t(40)
第2章 设计语言及环境介绍\t(43)
2.1 HDL语言简介\t(44)
2.1.1 HDL语言的特点及优势\t(44)
2.1.2 选择VHDL还是Verilog\t(45)
2.2 VHDL语言基础\t(46)
2.2.1 程序结构\t(47)
2.2.2 数据类型\t(49)
2.2.3 数据对象\t(52)
2.2.4 运算符\t(52)
2.2.5 VHDL语句\t(57)
2.3 FPGA开发工具及设计流程\t(63)
2.3.1 ISE开发套件\t(63)
2.3.2 ModelSim仿真软件\t(67)
2.3.3 Synplicity综合软件\t(69)
2.3.4 FPGA设计流程\t(70)
2.4 MATLAB软件\t(72)
2.4.1 MATLAB软件简介\t(72)
2.4.2 常用的信号处理函数\t(75)
2.5 MATLAB与ISE的数据交换\t(81)
2.6 小结\t(82)
参考文献\t(82)
第3章 FPGA实现数字信号处理基础\t(83)
3.1 FPGA中数的表示\t(84)
3.1.1 莱布尼兹与二进制\t(84)
3.1.2 定点数表示\t(85)
3.1.3 浮点数表示\t(86)
3.2 FPGA中数的运算\t(89)
3.2.1 加/减法运算\t(89)
3.2.2 乘法运算\t(92)
3.2.3 除法运算\t(94)
3.2.4 有效数据位的计算\t(95)
3.3 有限字长效应\t(97)
3.3.1 字长效应的产生因素\t(97)
3.3.2 A/D转换的字长效应\t(98)
3.3.3 系统运算中的字长效应\t(99)
3.4 FPGA中的常用处理模块\t(101)
3.4.1 乘法器模块\t(101)
3.4.2 除法器模块\t(106)
3.4.3 浮点运算模块\t(109)
3.4.4 滤波器模块\t(111)
3.4.5 数字频率器模块\t(113)
3.5 小结\t(115)
参考文献\t(116)
第4章 滤波器的MATLAB与FPGA实现\t(117)
4.1 滤波器概述\t(118)
4.1.1 滤波器的分类\t(118)
4.1.2 滤波器的特征参数\t(120)
4.2 FIR与IIR滤波器的原理\t(120)
4.2.1 FIR滤波器原理\t(120)
4.2.2 IIR滤波器原理\t(122)
4.2.3 IIR与FIR滤波器的比较\t(122)
4.3 FIR滤波器的MATLAB设计\t(123)
4.3.1 采用fir1函数设计\t(123)
4.3.2 采用kaiserord函数设计\t(126)
4.3.3 采用fir2函数设计\t(126)
4.3.4 采用firpm函数设计\t(128)
4.4 IIR滤波器的MATLAB设计\t(130)
4.4.1 采用butter函数设计\t(130)
4.4.2 采用cheby1函数设计\t(131)
4.4.3 采用cheby2函数设计\t(132)
4.4.4 采用ellip函数设计\t(132)
4.4.5 采用yulewalk函数设计\t(133)
4.4.6 几种设计函数的比较\t(133)
4.5 滤波器设计分析工具\t(135)
4.6 FIR滤波器的FPGA实现\t(136)
4.6.1 量化滤波器系数\t(136)
4.6.2 FIR滤波器的实现结构\t(138)
4.6.3 采用IP核实现FIR滤波器\t(142)
4.6.4 MATLAB仿真测试数据\t(148)
4.6.5 测试激励的VHDL设计\t(149)
4.6.6 FPGA实现后的仿真测试\t(151)
4.7 IIR滤波器的FPGA实现\t(152)
4.7.1 IIR滤波器的结构形式\t(152)
4.7.2 量化级联型结构的系数\t(155)
4.7.3 级联型结构的FPGA实现\t(158)
4.7.4 FPGA实现后的测试仿真\t(162)
4.8 滤波器的板载测试\t(162)
4.8.1 硬件接口电路\t(162)
4.8.2 板载测试程序\t(163)
4.8.3 板载测试验证\t(169)
4.9 小结\t(170)
参考文献\t(170)
第5章 ASK调制解调技术的实现\t(171)
5.1 ASK信号的调制解调原理\t(172)
5.1.1 二进制振幅调制信号的产生\t(172)
5.1.2 二进制振幅调制信号的解调\t(173)
5.1.3 二进制振幅调制系统的性能\t(175)
5.1.4 多进制振幅调制\t(175)
5.2 ASK调制信号的MATLAB仿真\t(176)
5.3 ASK调制信号的FPGA实现\t(179)
5.3.1 FPGA实现模型及参数说明\t(179)
5.3.2 ASK调制信号的VHDL设计\t(181)
5.3.3 FPGA实现后的仿真测试\t(182)
5.4 ASK解调技术的MATLAB仿真\t(184)
5.5 ASK解调技术的FPGA实现\t(186)
5.5.1 FPGA实现模型及参数说明\t(186)
5.5.2 ASK信号解调的VHDL设计\t(186)
5.5.3 FPGA实现后的仿真测试\t(188)
5.6 符号判决门限的FPGA实现\t(190)
5.6.1 确定ASK解调后的判决门限\t(190)
5.6.2 判决门限模块的VHDL设计\t(191)
5.6.3 FPGA实现后的仿真测试\t(193)
5.7 锁相环位同步技术的FPGA实现\t(194)
5.7.1 位同步技术的工作原理\t(194)
5.7.2 位同步顶层模块的VHDL设计\t(196)
5.7.3 双相时钟信号的VHDL设计\t(198)
5.7.4 鉴相模块的VHDL设计\t(199)
5.7.5 控制模块的VHDL设计\t(201)
5.7.6 分频模块的VHDL设计\t(203)
5.7.7 FPGA实现后的仿真测试\t(204)
5.8 ASK解调系统的FPGA实现及仿真\t(204)
5.8.1 完整解调系统的VHDL设计\t(204)
5.8.2 完整系统的仿真测试\t(207)
5.9 ASK调制解调的板载测试\t(209)
5.9.1 硬件接口电路\t(209)
5.9.2 板载测试程序\t(209)
5.9.3 板载测试验证\t(214)
5.10 小结\t(215)
参考文献\t(215)
第6章 FSK调制解调技术的实现\t(217)
6.1 FSK信号的调制解调原理\t(218)
6.1.1 FSK信号的时域表示\t(218)
6.1.2 相关系数与频谱特性\t(219)
6.1.3 非相干解调原理\t(221)
6.1.4 相干解调原理\t(222)
6.1.5 解调方法的应用条件分析\t(224)
6.2 FSK调制解调的MATLAB仿真\t(225)
6.2.1 不同调制度的FSK信号仿真\t(225)
6.2.2 非相干解调FSK仿真\t(226)
6.2.3 相干解调FSK仿真\t(231)
6.3 FSK调制信号的FPGA实现\t(234)
6.3.1 FSK信号的产生方法\t(234)
6.3.2 FSK调制信号的VHDL设计\t(235)
6.3.3 FPGA实现后的仿真测试\t(237)
6.4 FSK解调的FPGA实现\t(238)
6.4.1 解调模型及参数设计\t(238)
6.4.2 解调FSK信号的VHDL设计\t(239)
6.4.3 FPGA实现后的仿真测试\t(243)
6.5 MSK信号产生原理\t(246)
6.5.1 MSK信号时域特征\t(246)
6.5.2 MSK信号频谱特性\t(246)
6.5.3 MSK信号的产生方法\t(248)
6.6 MSK调制信号的FPGA实现\t(249)
6.6.1 实例参数及模型设计\t(249)
6.6.2 MSK调制信号的VHDL设计及仿真\t(250)
6.7 MSK解调原理\t(255)
6.7.1 延迟差分解调\t(255)
6.7.2 平方环相干解调\t(257)
6.8 MSK解调的MATLAB仿真\t(258)
6.8.1 仿真模型及参数说明\t(258)
6.8.2 平方环解调MSK的MATLAB仿真\t(258)
6.9 平方环的FPGA实现\t(261)
6.9.1 锁相环的工作原理\t(261)
6.9.2 平方环的工作原理\t(264)
6.9.3 平方环路性能参数设计\t(265)
6.9.4 平方环的VHDL设计\t(268)
6.9.5 FPGA实现后的仿真测试\t(272)
6.10 MSK解调的FPGA实现\t(273)
6.10.1 MSK解调环路参数设计\t(273)
6.10.2 顶层模块的VHDL设计\t(275)
6.10.3 脉冲成形及解调模块的VHDL设计\t(279)
6.10.4 FPGA实现后的仿真测试\t(281)
6.11 MSK调制解调的板载测试\t(283)
6.11.1 硬件接口电路\t(283)
6.11.2 板载测试程序\t(283)
6.11.3 板载测试验证\t(287)
6.12 小结\t(288)
参考文献\t(289)
第7章 PSK调制解调技术的实现\t(291)
7.1 DPSK信号的调制解调原理\t(292)
7.1.1 DPSK信号的调制原理\t(292)
7.1.2 Costas环解调DPSK信号\t(293)
7.1.3 DPSK调制解调的MATLAB仿真\t(295)
7.2 DPSK解调的FPGA实现\t(298)
7.2.1 环路性能参数设计\t(298)
7.2.2 Costas环的VHDL设计\t(300)
7.2.3 FPGA实现后的仿真测试\t(303)
7.3 DQPSK信号的调制解调原理\t(303)
7.3.1 QPSK信号的调制原理\t(303)
7.3.2 双比特码元差分编解码原理\t(305)
7.3.3 DQPSK信号解调原理\t(306)
7.3.4 DQPSK调制解调的MATLAB仿真\t(309)
7.4 DQPSK调制信号的FPGA实现\t(313)
7.4.1 差分编/解码的VHDL设计\t(313)
7.4.2 DQPSK调制信号的VHDL设计\t(316)
7.5 DQPSK解调的FPGA实现\t(321)
7.5.1 极性Costas环的VHDL设计\t(321)
7.5.2 FPGA实现后的仿真测试\t(326)
7.5.3 调整跟踪策略获取良好的跟踪性能\t(327)
7.5.4 完整的DQPSK解调系统设计\t(328)
7.5.5 DQPSK解调系统的仿真测试\t(331)
7.6 ?/4 QPSK调制解调原理\t(332)
7.6.1 ?/4 QPSK信号的调制原理\t(332)
7.6.2 匹配滤波器与成形滤波器\t(334)
7.6.3 ?/4 QPSK信号的差分解调原理\t(339)
7.6.4 ?/4 QPSK调制解调的MATLAB仿真\t(340)
7.7 ?/4 QPSK调制解调的FPGA实现\t(344)
7.7.1 基带编码的VHDL设计\t(344)
7.7.2 差分解调的VHDL设计\t(346)
7.7.3 FPGA实现后的仿真测试\t(351)
7.8 PSK调制解调电路的板载测试\t(352)
7.8.1 Costas环电路的板载测试\t(352)
7.8.2 DQPSK电路的板载测试\t(359)
7.8 小结\t(360)
参考文献\t(361)
第8章 QAM调制解调技术的FPGA实现\t(363)
8.1 QAM信号的调制解调原理\t(364)
8.1.1 QAM调制解调系统组成\t(364)
8.1.2 差分编码与星座映射\t(365)
8.1.3 QAM调制解调的MATLAB仿真\t(367)
8.2 QAM编/解码的FPGA实现\t(371)
8.2.1 编码映射的VHDL设计\t(371)
8.2.2 解码模块的VHDL设计\t(373)
8.2.3 FPGA实现后的仿真测试\t(375)
8.3 QAM载波同步的FPGA实现\t(375)
8.3.1 QAM载波同步原理\t(375)
8.3.2 极性判决法载波同步的FPGA实现\t(378)
8.3.3 DD算法载波同步的FPGA实现\t(383)
8.4 插值算法位同步技术原理\t(390)
8.4.1 位同步技术分类及组成\t(390)
8.4.2 内插滤波器原理及结构\t(392)
8.4.3 Gardner误差检测算法\t(394)
8.4.4 环路滤波器与数控振荡器\t(395)
8.5 插值算法位同步技术的MATLAB仿真\t(396)
8.5.1 设计环路滤波器系数\t(397)
8.5.2 分析位定时算法MATLAB仿真程序\t(397)
8.5.3 完整的QAM位定时算法仿真\t(402)
8.6 插值算法位同步技术的FPGA实现\t(403)
8.6.1 顶层模块的VHDL设计\t(403)
8.6.2 插值滤波模块的VHDL设计\t(406)
8.6.3 误差检测及环路滤波器模块的VHDL设计\t(408)
8.6.4 数控振荡器模块的VHDL设计\t(411)
8.6.5 FPGA实现后的仿真测试\t(412)
8.7 插值算法位同步电路的板载测试\t(417)
8.7.1 硬件接口电路\t(417)
8.7.2 板载测试程序\t(418)
8.7.3 板载测试验证\t(421)
8.8 小结\t(422)
参考文献\t(423)
第9章 扩频调制解调技术的FPGA实现\t(425)
9.1 扩频通信的基本原理\t(426)
9.1.1 扩频通信的概念\t(426)
9.1.2 扩频通信的种类\t(427)
9.1.3 直扩系统工作原理\t(429)
9.2 直扩调制信号MATLAB仿真\t(431)
9.2.1 伪码序列的产生原理\t(431)
9.2.2 MATLAB仿真直扩调制信号\t(432)
9.3 直扩信号调制的FPGA实现\t(436)
9.3.1 伪码模块的VHDL设计\t(436)
9.3.2 扩频调制模块的VHDL设计\t(437)
9.4 伪码同步的一般原理\t(440)
9.4.1 滑动相关捕获原理\t(441)
9.4.2 延迟锁相环跟踪原理\t(442)
9.5 伪码同步算法设计及仿真\t(443)
9.5.1 同步算法设计\t(443)
9.5.2 捕获及跟踪门限的MATLAB仿真\t(445)
9.6 伪码同步的FPGA实现\t(447)
9.6.1 顶层模块的VHDL设计\t(447)
9.6.2 伪码产生模块的VHDL设计\t(451)
9.6.3 相关积分模块的VHDL设计\t(453)
9.6.4 伪码相位调整模块的VHDL设计\t(454)
9.6.5 FPGA实现后的仿真测试\t(456)
9.7 直扩解调系统的FPGA实现\t(458)
9.7.1 Costas载波环的VHDL设计\t(458)
9.7.2 FPGA实现后的仿真测试\t(463)
9.8 直扩调制解调的板载测试\t(465)
9.8.1 硬件接口电路\t(465)
9.8.2 板载测试程序\t(466)
9.8.3 板载测试验证\t(472)
9.9 小结\t(473)
参考文献\t(473)