《数字滤波器的MATLAB与FPGA实现 Xilinx/VHDL版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:杜勇编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121326417
  • 页数:390 页
图书介绍:本书以Xilinx公司的FPGA器件为开发平台,采用MATLAB及VHDL语言开发工具,详细阐述了数字滤波器的实现原理、结构、方法及仿真测试过程,并通过大量工程实例分析其在FPGA实现过程中的具体技术细节。其主要内容包括FIR滤波器、IIR滤波器、多速率滤波器、自适应滤波器、变换域滤波器、解调系统的滤波器设计等。

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

1.1 滤波器概述 2

1.1.1 滤波器简介 2

1.1.2 数字滤波器的分类 3

1.1.3 滤波器的特征参数 5

1.2 FPGA基本知识 5

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

1.2.2 FPGA的结构和工作原理 7

1.2.3 IP核的概念 13

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

1.4 Xilinx器件简介 14

1.4.1 Spartan系列器件 17

1.4.2 Virtex系列器件 20

1.4.3 PROM芯片介绍 26

1.5 FPGA信号处理板CXD301 27

1.6 小结 28

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

2.1 HDL语言简介 32

2.1.1 HDL语言的特点及优势 32

2.1.2 选择VHDL还是Verilog HDL 33

2.2 VHDL语言基础 34

2.2.1 程序结构 35

2.2.2 数据类型 37

2.2.3 数据对象 40

2.2.4 运算符 40

2.2.5 VHDL语句 46

2.3 FPGA开发工具及设计流程 51

2.3.1 ISE开发套件 51

2.3.2 ModelSim仿真软件 55

2.3.3 Synplicity综合软件 57

2.3.4 FPGA设计流程 58

2.4 MATLAB软件 60

2.4.1 MATLAB软件简介 60

2.4.2 常用的信号处理函数 63

2.5 MATLAB与ISE的数据交换 69

2.6 小结 70

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

3.1 FPGA中数的表示 72

3.1.1 莱布尼兹与二进制 72

3.1.2 定点数表示 73

3.1.3 浮点数表示 74

3.2 FPGA中数的运算 77

3.2.1 加/减法运算 77

3.2.2 乘法运算 80

3.2.3 除法运算 83

3.2.4 有效数据位的计算 83

3.3 有限字长效应 86

3.3.1 字长效应的产生因素 86

3.3.2 A/D变换的字长效应 87

3.3.3 系统运算中的字长效应 88

3.4 FPGA中的常用处理模块 90

3.4.1 乘法器模块 90

3.4.2 除法器模块 95

3.4.3 浮点运算模块 98

3.4.4 滤波器模块 100

3.4.5 数字频率器模块 102

3.5 小结 104

第4章 FIR滤波器的FPGA设计与实现 105

4.1 FIR滤波器的理论基础 106

4.1.1 线性时不变系统 106

4.1.2 FIR滤波器的原理 108

4.1.3 FIR滤波器的特性 109

4.1.4 FIR滤波器的结构形式 113

4.2 FIR滤波器的设计方法 117

4.2.1 窗函数法 117

4.2.2 频率取样法 119

4.2.3 最优设计方法 120

4.3 FIR滤波器的MATLAB设计 121

4.3.1 采用fir1函数设计 121

4.3.2 采用kaiserord函数设计 126

4.3.3 采用fir2函数设计 127

4.3.4 采用firpm函数设计 128

4.3.5 采用FDATOOL工具设计 130

4.4 FIR滤波器的FPGA实现 132

4.4.1 量化滤波器系数 132

4.4.2 串行结构的FPGA实现 134

4.4.3 并行结构的FPGA实现 141

4.4.4 分布式结构的FPGA实现 144

4.4.5 不同结构的性能对比分析 149

4.4.6 采用FIR核实现 150

4.5 FIR滤波器的板载测试 155

4.5.1 硬件接口电路 155

4.5.2 板载测试程序 155

4.5.3 板载测试验证 161

4.5 小结 163

第5章 IIR滤波器的MATLAB与FPGA实现 165

5.1 IIR滤波器的理论基础 166

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

5.1.2 IIR滤波器的结构形式 166

5.1.3 IIR与FIR滤波器的比较 169

5.2 IIR滤波器的设计方法 170

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

5.2.2 原型转换设计法 172

5.2.3 直接设计法 173

5.3 IIR滤波器的MATLAB设计 174

5.3.1 采用butter函数设计 174

5.3.2 采用cheby1函数设计 175

5.3.3 采用cheby2函数设计 175

5.3.4 采用ellip函数设计 176

5.3.5 采用yulewalk函数设计 176

5.3.6 几种设计函数的比较 177

5.3.7 采用FDATOOL工具设计 179

5.4 IIR滤波器的FPGA实现 180

5.4.1 量化直接型结构的系数及运算字长 180

5.4.2 直接型结构的FPGA实现 184

5.4.3 直接型结构FPGA实现后的测试仿真 190

5.4.4 量化级联型结构的系数 194

5.4.5 级联型结构的FPGA实现 195

5.4.6 级联型结构FPGA实现后的测试仿真 200

5.5 IIR滤波器的板载测试 201

5.5.1 硬件接口电路 201

5.5.2 板载测试程序 202

5.5.3 板载测试验证 205

5.6 小结 206

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

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

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

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

6.1.3 软件无线电中的多速率处理 209

6.2 抽取与内插处理 211

6.2.1 整数倍抽取 211

6.2.2 整数倍内插 213

6.2.3 比值为有理数的抽样率转换 215

6.3 CIC滤波器 215

6.3.1 CIC滤波器的原理 215

6.3.2 CIC滤波器的应用条件 218

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

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

6.3.5 CIC滤波器IP核的使用 229

6.3.6 CIC滤波器的板载测试 231

6.4 FIR半带滤波器 236

6.4.1 半带滤波器的原理 236

6.4.2 半带滤波器的MATLAB设计 237

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

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

6.5 多相分解技术 247

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

6.5.2 整数倍抽取器的多相结构 248

6.6 小结 251

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

7.1 自适应滤波器简介 254

7.1.1 自适应滤波器的概念 254

7.1.2 自适应滤波器的应用 255

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

7.2 LMS算法 259

7.2.1 LMS算法的原理 259

7.2.2 LMS算法的实现结构 259

7.2.3 LMS算法的字长效应 261

7.2.4 符号LMS算法原理 262

7.2.5 LMS算法的MATLAB仿真 263

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

7.3.1 自适应线性滤波器原理 267

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

7.3.3 校正算法的MATLAB仿真 269

7.3.4 校正算法的VHDL实现 270

7.3.5 FPGA实现后的仿真测试 274

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

7.4.1 自适应均衡器原理 276

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

7.4.3 自适应均衡器的VHDL实现 279

7.4.4 FPGA实现后的仿真测试 284

7.5 智能天线阵的FPGA实现 285

7.5.1 智能天线阵的概念及原理 285

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

7.5.3 自适应天线阵的VHDL实现 290

7.5.4 FPGA实现后的仿真测试 293

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

7.6.1 自适应陷波器原理 293

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

7.6.3 自适应陷波器的VHDL实现 298

7.6.4 FPGA实现后的仿真测试 301

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

7.7.1 硬件接口电路 302

7.7.2 板载测试程序 302

7.7.3 板载测试验证 309

7.8 小结 311

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

8.1 变换域滤波器简介 314

8.2 快速傅里叶变换 314

8.2.1 离散傅里叶变换 314

8.2.2 DFT存在的问题 316

8.2.3 FFT算法的基本思想 317

8.2.4 FFT算法的MATLAB仿真 318

8.3 FFT核的使用 320

8.3.1 FFT核简介 320

8.3.2 FFT核的接口及时序 321

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

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

8.4.2 检测门限的选取 324

8.4.3 频域滤波器的MATLAB仿真 325

8.5 频域滤波器的FPGA实现 327

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

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

8.5.3 FFT及滤波设计与实现 334

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

8.5.5 顶层文件设计及实现 343

8.5.6 FPGA实现后的仿真测试 345

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

8.6.1 硬件接口电路 346

8.6.2 板载测试程序 347

8.6.3 板载测试验证 352

8.6 小结 354

第9章 解调系统滤波器的FPGA实现 355

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

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

9.1.2 基本调制解调技术 357

9.1.3 改进的数字调制解调技术 359

9.2 DPSK调制解调原理 360

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

9.2.2 DPSK信号的MATLAB仿真 361

9.2.3 DPSK解调原理 364

9.3 DPSK解调参数设计 366

9.3.1 数字下变频器设计 367

9.3.2 低通滤波器设计 368

9.3.3 数字鉴相器设计 369

9.3.4 环路滤波器设计 370

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

9.4 Costas环的FPGA实现 373

9.4.1 顶层模块的VHDL实现 373

9.4.2 鉴相器及环路滤波器的VHDL实现 376

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

9.5 Costas环的板载实验 379

9.5.1 硬件接口电路 379

9.5.2 板载测试程序 380

9.5.3 板载测试验证 384

9.6 小结 385

参考文献 387