《数字滤波器的MATLAB与FPGA实现 Altera/Verilog版 第2版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:杜勇编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2019
  • ISBN:9787121366093
  • 页数:345 页
图书介绍:本书以Altera公司的FPGA器件为开发平台,采用MATLAB及Verilog HDL语言开发工具,详细阐述了数字滤波器的实现原理、结构、方法及仿真测试过程,并通过大量工程实例分析其在FPGA实现过程中的具体技术细节。其主要内容包括FIR滤波器、IIR滤波器、多速率滤波器、自适应滤波器、变换域滤波器、解调系统的滤波器设计等。本书思路清晰、语言流畅、分析透彻,在简明阐述设计原理的基础上,追求对工程实践的指导性,力求使读者在较短的时间内掌握数字滤波器的FPGA设计知识和技能。

第1章 数字滤波器及FPGA概述 1

1.1 滤波器概述 1

1.1.1 滤波器简介 1

1.1.2 数字滤波器的分类 3

1.1.3 滤波器的特征参数 4

1.2 FPGA基本知识 5

1.2.1 FPGA的基本概念及发展历程 5

1.2.2 FPGA的结构和工作原理 7

1.2.3 IP核的概念 13

1.3 FPGA在数字信号处理中的应用 14

1.4 Altera器件简介 15

1.5 FPGA信号处理板CRD500 17

1.5.1 CRD500简介 17

1.5.2 CRD500的典型应用 19

1.6 小结 19

第2章 设计语言及环境介绍 21

2.1 Verilog HDL语言简介 21

2.1.1 HDL语言 21

2.1.2 Verilog HDL简介和程序结构 22

2.2 FPGA开发工具及设计流程 25

2.2.1 Quartus II开发套件 25

2.2.2 ModelSim仿真软件 28

2.2.3 FPGA设计流程 30

2.3 MATLAB软件 32

2.3.1 MATLAB软件简介 32

2.3.2 常用的信号处理函数 35

2.3.3 滤波器设计分析工具FDATOOL 42

2.4 MATLAB与Quartus II的联合应用 43

2.5 小结 44

第3章 FPGA实现数字信号处理基础 45

3.1 数的表示 45

3.1.1 莱布尼茨与二进制 45

3.1.2 定点数表示法 46

3.1.3 浮点数表示法 48

3.2 FPGA中数的运算 51

3.2.1 加/减法运算 51

3.2.2 乘法运算 54

3.2.3 除法运算 55

3.2.4 有效数据位的计算 55

3.3 有限字长效应 58

3.3.1 字长效应的产生因素 58

3.3.2 A/D转换的字长效应 59

3.3.3 数字滤波器系数的字长效应 60

3.3.4 滤波器运算中的字长效应 61

3.4 FPGA的常用运算模块 62

3.4.1 加法器模块 62

3.4.2 乘法器模块 64

3.4.3 除法器模块 67

3.4.4 浮点数运算模块 68

3.5 小结 70

第4章 FIR滤波器的FPGA实现 71

4.1 FIR滤波器的理论基础 71

4.1.1 线性时不变系统 71

4.1.2 FIR滤波器的原理 74

4.1.3 FIR滤波器的特性 74

4.1.4 FIR滤波器的结构形式 78

4.2 FIR滤波器的设计方法 83

4.2.1 窗函数法 83

4.2.2 频率取样法 85

4.2.3 最优设计方法 85

4.3 FIR滤波器的MATLAB设计 86

4.3.1 采用fir1函数设计 86

4.3.2 采用kaiserord函数设计 92

4.3.3 采用fir2函数设计 93

4.3.4 采用firpm函数设计 94

4.3.5 采用FDATOOL设计滤波器 96

4.4 FIR滤波器的FPGA实现 98

4.4.1 滤波器系数的量化 98

4.4.2 串行FIR滤波器的FPGA实现 100

4.4.3 并行FIR滤波器的FPGA实现 107

4.4.4 分布式FIR滤波器的FPGA实现 110

4.4.5 采用FIR核实现 112

4.4.6 不同结构FIR滤波器的性能对比分析 115

4.5 FIR滤波器的板载测试 116

4.5.1 硬件接口电路 116

4.5.2 板载测试程序 116

4.5.3 板载测试验证 121

4.6 小结 122

第5章 IIR滤波器的FPGA实现 125

5.1 IIR滤波器的理论基础 125

5.1.1 IIR滤波器的原理及特性 125

5.1.2 IIR滤波器的结构形式 126

5.1.3 IIR滤波器与FIR滤波器的比较 128

5.2 IIR滤波器的设计方法 129

5.2.1 几种典型的模拟滤波器 129

5.2.2 原型转换设计法 131

5.2.3 直接设计法 132

5.3 IIR滤波器的MATLAB设计 133

5.3.1 采用butter函数设计滤波器 133

5.3.2 采用cheby1函数设计滤波器 134

5.3.3 采用cheby2函数设计滤波器 135

5.3.4 采用ellip函数设计滤波器 135

5.3.5 采用yulewalk函数设计滤波器 136

5.3.6 几种设计函数的比较 136

5.3.7 采用FDATOOL设计滤波器 138

5.4 IIR滤波器的FPGA实现 139

5.4.1 直接型IIR滤波器的系数及运算字长 139

5.4.2 直接型IIR滤波器的FPGA实现 143

5.4.3 直接型IIR滤波器FPGA实现后的测试仿真 149

5.4.4 级联型IIR滤波器的系数 154

5.4.5 级联型IIR滤波器的FPGA实现 156

5.4.6 级联型IIR滤波器FPGA实现后的测试仿真 164

5.5 IIR滤波器的板载测试 165

5.5.1 板载测试硬件接口电路 165

5.5.2 板载测试程序 166

5.5.3 板载测试验证 169

5.6 小结 170

第6章 多速率滤波器的FPGA实现 171

6.1 多速率信号处理基础知识 171

6.1.1 多速率信号处理的概念及作用 171

6.1.2 多速率信号处理的一般步骤 172

6.1.3 软件无线电中的多速率信号处理 173

6.2 抽取与内插处理 174

6.2.1 整数倍抽取 174

6.2.2 整数倍内插 176

6.2.3 比值为有理数的频率转换 178

6.3 CIC滤波器 178

6.3.1 CIC滤波器的原理 179

6.3.2 CIC滤波器的应用条件 181

6.3.3 单级CIC滤波器的FPGA实现 183

6.3.4 多级CIC滤波器的FPGA实现 185

6.3.5 CIC滤波器IP核的使用 192

6.4 半带滤波器 195

6.4.1 半带滤波器的原理 195

6.4.2 半带滤波器的MATLAB设计 195

6.4.3 多级半带滤波器的设计 198

6.4.4 多级半带滤波器的FPGA实现 200

6.5 多相分解技术 207

6.5.1 多相分解技术的一般概念 207

6.5.2 整数倍抽取滤波器的多相结构 208

6.6 多速率滤波器的板载测试 211

6.6.1 硬件接口电路 211

6.6.2 板载测试程序 212

6.6.3 板载测试验证 214

6.7 小结 215

第7章 自适应滤波器的FPGA实现 217

7.1 自适应滤波器简介 217

7.1.1 自适应滤波器的概念 217

7.1.2 自适应滤波器的应用 218

7.1.3 自适应算法的一般原理 220

7.2 LMS算法 222

7.2.1 LMS算法的原理 222

7.2.2 LMS算法的实现结构 223

7.2.3 LMS算法的字长效应 224

7.2.4 符号LMS算法原理 225

7.2.5 LMS算法的MATLAB仿真 226

7.3 自适应线性滤波器的FPGA实现 230

7.3.1 自适应线性滤波器的原理 230

7.3.2 利用线性滤波器实现通道失配校正 231

7.3.3 校正算法的MATLAB仿真 231

7.3.4 校正算法的Verilog HDL实现 234

7.3.5 FPGA实现后的仿真测试 238

7.4 自适应均衡器的FPGA实现 239

7.4.1 自适应均衡器的原理 239

7.4.2 自适应均衡器的MATLAB仿真 240

7.4.3 自适应均衡器的Verilog HDL实现 243

7.4.4 FPGA实现后的仿真测试 247

7.5 自适应天线阵的FPGA实现 248

7.5.1 自适应天线阵的概念及原理 248

7.5.2 自适应天线阵的MATLAB仿真 251

7.5.3 自适应天线阵的Verilog HDL实现 253

7.5.4 FPGA实现后的仿真测试 257

7.6 自适应陷波器的FPGA实现 258

7.6.1 自适应陷波器原理 258

7.6.2 自适应陷波器的MATLAB仿真 259

7.6.3 自适应陷波器的Verilog HDL实现 262

7.6.4 FPGA实现后的仿真测试 266

7.7 自适应陷波器的板载测试 267

7.7.1 硬件接口电路 267

7.7.2 板载测试程序 267

7.7.3 板载测试验证 272

7.8 小结 273

第8章 变换域滤波器的FPGA实现 275

8.1 变换域滤波器简介 275

8.2 快速傅里叶变换 276

8.2.1 离散傅里叶变换 276

8.2.2 DFT存在的问题 277

8.2.3 FFT算法的基本思想 279

8.2.4 FFT算法的MATLAB仿真 280

8.3 FFT核的使用 281

8.3.1 FFT核简介 281

8.3.2 FFT核的接口及时序 283

8.4 频域滤波器的原理及MATLAB仿真 284

8.4.1 抗窄带干扰滤波器的原理 284

8.4.2 检测门限的选取 285

8.4.3 频域滤波器的MATLAB仿真 286

8.5 频域滤波器的FPGA实现 289

8.5.1 FPGA实现的总体结构设计 289

8.5.2 速率变换模块的设计与实现 290

8.5.3 FFT及滤波设计与实现 295

8.5.4 IFFT及数据输出设计与实现 300

8.5.5 顶层文件设计及实现 304

8.5.6 FPGA实现后的仿真测试 306

8.6 频域滤波器的板载测试 306

8.6.1 硬件接口电路 306

8.6.2 板载测试程序 307

8.6.3 板载测试验证 310

8.7 小结 312

第9章 DPSK解调系统的FPGA实现 313

9.1 数字接收机的一般原理 313

9.1.1 通用数字接收机处理平台 313

9.1.2 基本调制/解调技术 314

9.1.3 改进的数字调制/解调技术 316

9.2 DPSK调制/解调原理 317

9.2.1 DPSK调制原理及信号特征 317

9.2.2 DPSK信号的MATLAB仿真 319

9.2.3 DPSK解调原理 321

9.3 DPSK解调参数设计 324

9.3.1 数字下变频器的设计 324

9.3.2 低通滤波器的设计 325

9.3.3 数字鉴相器的设计 327

9.3.4 环路滤波器的设计 327

9.3.5 载波同步环设计的一般步骤 329

9.4 Costas环的FPGA实现 331

9.4.1 顶层模块的Verilog HDL实现 331

9.4.2 鉴相器及环路滤波器的Verilog HDL实现 333

9.4.3 Costas环实现后的仿真测试 335

9.5 Costas环的板载测试 336

9.5.1 硬件接口电路 336

9.5.2 板载测试程序 337

9.5.3 板载测试验证 339

9.6 小结 340

参考文献 341