本书首先介绍FPGA程序设计和图像与视频处理的关键基础理论,然后通过实例代码详细讲解了如何利用FPGA实现直方图操作中的直方图统计/均衡化/线性拉伸/规定化、线性滤波器操作中的均值滤波器、Sobel算子(滤波、求模、求角度)、非线性滤波器操作中的排序类算法/形态学滤波、图像分割算法中的局部自适应分割/Canny算子等。
本书在仿真测试部分设计了一种完善的通用测试系统,并利用此测试系统在每一章的仿真测试环节对所设计算法进行严格的测试和验证。本书在后一章介绍了在视频处理领域常见的输入/输出接口。
本书偏向于工程应用,在书中有大量关于如何利用FPGA实现图像处理算法的实例及代码,并对这些算法的原理及其实现过程、算法测试等做了详细的介绍,全部的算法都进行了仿真测试验证。
本书适用于需要利用FPGA进行图像处理和视频分析的学者和工程开发人员。读者需要具备一定的嵌入式设计及FPGA设计的基础知识,特别是Verilog语言的语法基础。
书籍目录:
第1章 图像处理基础 1
1.1 数字图像处理简介 1
1.1.1 图像采样 1
1.1.2 图像量化 2
1.1.3 数字图像处理 3
1.2 数字图像处理系统 4
1.2.1 图像处理系统构成 4
1.2.2 原始图像获取 6
1.2.3 图像传感器接口 16
1.2.4 图像处理流水线 17
1.2.5 图像与视频压缩 19
1.2.6 视频显示处理 26
第2章 FPGA与图像处理 32
2.1 使用FPGA的原因 32
2.2 FPGA技术优势 33
2.3 FPGA的发展历程 34
2.4 FPGA生产厂家及其产品 35
2.4.1 Altera 35
2.4.2 Xilinx 37
2.4.3 Lattice 37
2.4.4 Atmel 38
2.4.5 Actel 38
2.5 FPGA开发流程 38
2.5.1 FPGA设计方法 38
2.5.2 典型的FPGA开发流程 39
2.6 FPGA常用开发工具 44
2.6.1 代码输入工具 45
2.6.2 综合工具 46
2.6.3 仿真工具 47
2.6.4 实现与优化工具 47
2.6.5 EDA工具 48
2.7 FPGA图像处理的开发流程 49
2.7.1 需求分析及问题描述 49
2.7.2 软件算法设计及验证 50
2.7.3 硬件平台设计 51
2.7.4 FPGA映射 52
2.7.5 仿真及验证 54
第3章 FPGA编程语言 55
3.1 HDL语言简介 55
3.2 模块化设计 56
3.3 可移植性 57
3.4 不可移植性 61
3.5 测试逻辑 62
3.6 冗余逻辑 63
3.7 常用语法 63
3.7.1 参数化 63
3.7.2 条件编译 68
3.7.3 位宽匹配 69
3.7.4 二维数组 69
3.8 应用实例 70
3.8.1 信号边沿检测 70
3.8.2 多拍处理 72
3.8.3 图像行列计数 73
第4章 映射技术 77
4.1 系统结构 77
4.1.1 流水线设计 77
4.1.2 并行阵列 81
4.2 计算技术 82
4.2.1 算法转换 82
4.2.2 近似计算 83
4.2.3 增量更新 85
4.2.4 查找表 85
4.2.5 浮点计算 89
4.2.6 Cordic技术 96
4.3 存储器映射 103
4.3.1 帧缓存 104
4.3.2 行缓存 105
4.3.3 异步缓存 113
4.3.4 增加存储器带宽 114
4.3.5 存储器建模与仿真 115
4.4 其他设计技巧 116
4.4.1 合理处理参数 116
4.4.2 资源及模块复用 117
4.4.3 防止亚稳态 118
第5章 系统仿真 121
5.1 Modelsim使用基础 121
5.1.1 Modelsim简介 121
5.1.2 Modelsim图形界面及
仿真示例 122
5.1.3 使用脚本命令来加速
仿真 133
5.1.4 其他加速仿真的方法 136
5.2 视频图像处理仿真测试系统 136
5.2.1 仿真测试系统框架 136
5.2.2 视频时序模拟 137
5.2.3 视频捕获模拟 145
5.2.4 MFC程序设计 157
5.2.5 通用testbench 161
第6章 直方图操作 167
6.1 灰度直方图 167
6.2 直方图均衡化 169
6.3 直方图规定化 172
6.4 直方图拉伸 175
6.5 基于FPGA的直方图操作 179
6.5.1 FPGA直方图统计 179
6.5.2 FPGA直方图均衡化 192
6.5.3 FPGA直方图线性拉伸 203
第7章 线性滤波器 214
7.1 线性滤波 214
7.1.1 均值滤波 214
7.1.2 高斯滤波 216
7.1.3 Sobel算子 219
7.1.4 离散傅里叶变换 222
7.2 基于FPGA的均值滤波 227
7.2.1 整体设计与模块划分 227
7.2.2 子模块设计 228
7.2.3 Verilog代码设计 232
7.2.4 仿真与调试结果 243
7.3 基于FPGA的Sobel算子 247
7.3.1 整体设计与模块划分 247
7.3.2 Sobel模板计算电路 249
7.3.3 基于Cordic的坐标系转换
电路 251
7.3.4 Verilog代码设计 257
7.3.5 仿真与调试结果 274
第8章 非线性滤波器 280
8.1 统计排序滤波 280
8.2 基于FPGA的统计排序滤波器 282
8.2.1 并行全比较排序法原理 282
8.2.2 整体设计与模块划分 285
8.2.3 子模块设计 286
8.2.4 Verilog代码设计 288
8.2.5 仿真与调试结果 298
第9章 形态学滤波 303
9.1 形态学滤波简介 303
9.2 形态学滤波的基本应用 304
9.3 基于FPGA的Tophat滤波设计 311
9.3.1 顶层框架设计 311
9.3.2 子模块设计 312
9.3.3 Verilog代码设计 317
9.3.4 仿真及调试结果 337
第10章 图像分割 341
10.1 图像分割简介 341
10.2 基于阈值的分割 341
10.2.1 全局阈值分割 341
10.2.2 局部自适应阈值分割 344
10.3 基于边缘的分割 347
10.3.1 Canny算子 347
10.3.2 Canny算子的计算步骤 347
10.4 基于FPGA的局部自适应分割 356
10.4.1 算法转换 357
10.4.2 FPGA结构设计 358
10.4.3 子模块设计 359
10.4.4 Verilog代码设计 363
10.4.5 仿真与调试 371
10.5 基于FPGA的Canny算子设计 378
10.5.1 非*大值抑制电路设计 378
10.5.2 滞后阈值分割电路设计 381
10.5.3 Verilog代码设计 382
10.5.4 仿真调试结果 390
第11章 视频接口 391
11.1 视频输入接口 391
11.1.1 模拟视频输入 391
11.1.2 CameraLink接口 394
11.1.3 USB接口 399
11.1.4 FireWire接口 401
11.1.5 GigE Vision?接口 407
11.1.6 直接接口 410
11.2 视频输出接口 411
11.2.1 CVT标准 411
11.2.2 VGA 416
11.2.3 PAL 425
11.2.4 DVI/HDMI 433
参考文献 441
这本书在初学的时候看过,当时看网上有人推荐这本书就买了,但是总体看下来体验不是很好,感觉所给的代码就是一个外行写的,很不标准。
有需要实体书的可以先到微信公众号后台回复 电子书|0011 获取电子书,如果觉得不错,可以考虑购买他的实体书。
本书围绕Xilinx的zynq-7000系列FPGA,结合Xilinx的Vivado以及针对算法开发的Vivado HLS和System Generator,讲解了数字信号处理中的经典算法在FPGA上的实现方法。
第2版保持了第1版的主题――如何将理论算法转化为工程实现,新增了算法的Matlab代码描述;增加了部分算法的System Generator模型。 讲解了FPGA实现时的一些细节问题如复位、跨时钟域设计等。
书籍目录:
第 1 章 现场可编程门阵列技术分析 1
1.1 FPGA内部结构分析 1
1.1.1 FPGA在大规模集成电路中的定位 1
1.1.2 传统的FPGA内部结构分析 2
1.1.3 SoC FPGA内部结构分析 7
1.2 FPGA设计流程分析 9
1.2.1 传统的FPGA设计流程 9
1.2.2 SoC FPGA设计流程 13
1.3 FPGA调试方法分析 16
1.3.1 ILA使用方法 16
1.3.2 VIO使用方法 18
参考文献 19
第 2 章 跨越鸿沟:从算法到硬件实现 20
2.1 数字信号处理系统架构分析 20
2.2 数字信号处理系统设计方法 24
2.2.1 传统的RTL设计方法 24
2.2.2 基于模型的设计方法 27
2.2.3 高层次综合设计方法 30
2.2.4 三种设计方法的融合 32
2.3 FPGA设计性能描述指标 33
2.4 FPGA设计中的数据格式 36
2.4.1 浮点数基础知识 36
2.4.2 定点数基础知识 39
2.4.3 浮点数与定点数的比较 44
2.4.4 浮点数到定点数的转换 45
2.5 Xilinx开发工具对浮点数与定点数的支持 47
2.5.1 System Generator对浮点数与定点数的支持 47
2.5.2 Vivado HLS对浮点数与定点数的支持 51
参考文献 53
第 3 章 数字信号处理中的基本运算 54
3.1 加法运算 54
3.1.1 一位全加器 54
3.1.2 二进制加法原理 55
3.1.3 复数加法 58
3.1.4 加法树与加法链 59
3.2 累加运算 60
3.2.1 累加原理 60
3.2.2 顺序累加器 60
3.2.3 滑动累加器 61
3.3 乘法运算 63
3.3.1 二进制乘法原理 63
3.3.2 基于移位相加的乘法器 65
3.3.3 基于ROM的乘法器 67
3.3.4 与固定数相乘的乘法器(KCM) 73
3.3.5 复数乘法 76
3.4 除法运算 77
3.4.1 基于恢复余数(Restoring)算法的除法器 77
3.4.2 基于不恢复余数(Non-Restoring)算法的除法器 80
3.4.3 基于级数展开算法的除法器 84
3.4.4 基于Newton-Raphson算法的除法器 87
3.5 开方运算 89
3.5.1 基于不恢复余数算法的开方运算 89
3.5.2 基于非线性IIR滤波器算法的开方运算 95
3.5.3 复数求模 100
3.6 CORDIC算法 103
3.6.1 CORDIC算法之圆周系统及其数学应用 103
3.6.2 CORDIC算法之线性系统及其数学应用 113
3.6.3 CORDIC算法之双曲系统及其数学应用 116
3.6.4 统一的CORDIC算法形式 120
3.6.5 CORDIC算法的硬件实现 121
参考文献 126
第 4 章 FIR数字滤波器 127
4.1 FIR滤波器基本理论 127
4.1.1 直接型结构的FIR滤波器 127
4.1.2 转置型结构的FIR滤波器 129
4.1.3 线性相位FIR滤波器 131
4.2 串行FIR滤波器 133
4.2.1 基于移位寄存器的串行FIR滤波器 133
4.2.2 基于双端口RAM的串行FIR滤波器 136
4.2.3 系数对称的串行FIR滤波器的设计 139
4.2.4 两种串行结构的FIR滤波器性能比较 142
4.3 全并行FIR滤波器 143
4.3.1 基于直接型结构的全并行FIR滤波器 143
4.3.2 基于转置型结构的全并行FIR滤波器 144
4.3.3 基于脉动结构的全并行FIR滤波器 145
4.3.4 系数对称的全并行FIR滤波器的设计 147
4.3.5 三种全并行结构的FIR滤波器性能比较 148
4.4 半并行FIR滤波器 148
4.4.1 基于移位寄存器的半并行FIR滤波器 148
4.4.2 基于多片双端口RAM的半并行FIR滤波器 153
4.4.3 基于单片单端口RAM的半并行FIR滤波器 155
4.4.4 系数对称的半并行FIR滤波器的设计 159
4.4.5 三种半并行结构的FIR滤波器性能比较 162
4.5 分布式FIR滤波器 162
4.5.1 分布式算法原理 162
4.5.2 串行分布式FIR滤波器 164
4.5.3 全并行分布式FIR滤波器 169
4.5.4 半并行分布式FIR滤波器 169
4.5.5 三种分布式FIR滤波器性能比较 171
4.6 快速卷积型FIR滤波器 171
4.6.1 线性卷积的计算方法及运算量分析 172
4.6.2 圆周卷积的计算方法及运算量分析 174
4.6.3 从线性卷积到FFT的跨越 177
4.6.4 计算长数据序列线性卷积的两种算法 179
4.6.5 应用重叠保留法实现高阶FIR滤波器 185
4.7 多通道FIR滤波器 188
4.8 多频响FIR滤波器 192
4.9 总体性能分析 194
参考文献 196
第 5 章 直接数字频率合成 197
5.1 基于IIR滤波器的DDS 197
5.2 基于LUT的DDS 199
5.2.1 常规型基于LUT的DDS 199
5.2.2 通过LFSR改善SFDR 206
5.2.3 通过Taylor级数改善SFDR 209
5.2.4 利用对称性压缩存储波形 210
5.3 基于双模互质算法的DDS 213
5.3.1 双模互质算法的基本原理 213
5.3.2 双模互质算法的硬件实现 216
5.4 基于CORDIC算法的DDS 217
5.5 多通道DDS 221
5.6 多路并行DDS 222
5.7 产生其他波形 225
参考文献 226
第 6 章 多速率信号处理 227
6.1 抽取和抽取滤波器 227
6.2 插值和插值滤波器 231
6.3 分数速率的转换 232
6.4 六个恒等式及其典型应用 233
6.5 多相滤波器 237
6.5.1 多相抽取滤波器的基本理论 237
6.5.2 多相抽取滤波器的硬件实现 241
6.5.3 多相插值滤波器的基本理论 261
6.5.4 多相插值滤波器的硬件实现 266
6.6 CIC滤波器 268
6.6.1 CIC滤波器基本理论 268
6.6.2 CIC滤波器的位增长问题 273
6.6.3 CIC滤波器应用于抽取系统中 274
6.6.4 CIC滤波器应用于插值系统中 282
6.7 半带滤波器 284
6.7.1 半带滤波器的基本理论 284
6.7.2 半带滤波器应用于抽取系统中 286
6.7.3 半带滤波器应用于插值系统中 288
参考文献 291
第 7 章 快速傅里叶变换 292
7.1 从DFT到FFT 292
7.2 基2 FFT处理器 293
7.2.1 基2 FFT算法原理 293
7.2.2 基2 FFT算法特征分析 299
7.2.3 基2原位运算FFT处理器 302
7.2.4 基2 SDF流水结构FFT处理器 313
7.2.5 基2 MDC流水结构FFT处理器 322
7.3 基4 FFT处理器 329
7.3.1 基4 FFT算法原理 329
7.3.2 基4 FFT算法特征分析 340
7.3.3 基4 SDF流水结构FFT处理器 342
7.3.4 基4 MDC流水结构FFT处理器 345
7.3.5 基4 SDC流水结构FFT处理器 349
7.4 几种流水结构FFT处理器的比较 356
7.5 IFFT与FFT的关系 356
参考文献 357
第 8 章 一些细节问题 358
8.1 LUT不只是逻辑函数发生器 358
8.2 合理使用触发器 363
8.2.1 避免过多控制集 363
8.2.2 避免使用锁存器 365
8.3 Block RAM不只是数据存储 366
8.3.1 Block RAM配置方式 366
8.3.2 Block RAM应用案例 367
8.4 DSP48E1不只是乘法器 373
8.4.1 DSP48E1基本结构 373
8.4.2 DSP48E1应用案例 381
8.5 关于复位 399
8.6 跨时钟域的设计 401
8.6.1 同步时钟的跨时钟域设计 401
8.6.2 异步时钟的跨时钟域设计 410
参考文献 422
这本书通过在微信公众号回复 电子书|0012 进行获取。
本书中所有新旧示例目前均通过Quartus6.0针对CycloneII EP2C35 F672C6器件编译。从QuartusIl6.0起,整数是以最小负整数(类似于ModelSim仿真器)而不再是0进行默认初始化,因而本书第2版中完全相同的例子将不能在QuartusIl6.0下运行。所提供的Tcl脚本允许所有示例的评估也可以用于其他器件。
部分目录如下:
第1章 绪论
1.1数字信号处理技术概述
1.2FPGA技术
1.2.1按颗粒度分类
1.2.2按技术分类
1.2.3FPL的基?
1.3DSP的技术要求
1.4设计实现
1.4.1FPGA的结构
1.4.2AlteraEP2C35F672C6
1.4.3案例研究:频率合成器
1.4.4用知识产权内核进行设计
1.5练习
第2章 计算机算法
2.1计算机算法概述
这本书时代比较久远,但原理基本上都是这些,有需要的可以回复 电子书|0013 获取。
本书全面系统地从硬件描述语言、MATLAB Simlink模型和C语言三个方面,对Xilinx FPGA数字信号处理的实现原理和方法进行了详细的说明。
全书内容涵盖了数字信号处理的主要理论知识,其中包含通用数字信号处理、数字通信信号处理和数字图像处理等方面。全书分为五篇,共计16章。
内容包括: 信号处理理论基础、数字信号处理方法、数字的表示和运算的实现、CORDIC算法原理及实现、离散傅里叶变换原理及实现、快速傅里叶变换原理及实现、离散余弦变换原理及实现、FIR滤波器和IIR滤波器原理及实现、其他常用数字滤波器原理及实现、重定时信号流图原理及实现、通信信号处理原理及实现、数控振荡器原理及实现、信号同步原理及实现、数字图像处理原理及实现、动态视频拼接原理及实现、自适应信号处理原理及实现等内容。
本书的设计环境使用了Xilinx的Vivado集成开发环境和Mathworks最新的MATLAB R2013a集成开发环境。
部分目录:
序(一)1
序(二)3
前言5
第一篇DSP系统的组成和处理方法
第1章信号处理理论
1.1信号定义及分类
1.2信号增益与衰减
1.3信号失真及测量
1.3.1放大器失真
1.3.2信号谐波失真
1.3.3谐波失真测量
1.4噪声及处理方法
1.4.1噪声的定义及表示
1.4.2固有噪声电平
1.4.3噪声/失真链
1.4.4信噪比定义及表示
1.4.5信号的提取方法
1.5模拟信号及处理方法
1.5.1模拟I/O信号的处理
1.5.2模拟通信信号处理
1.6数字信号处理关键问题
1.6.1数字信号处理系统结构
1.6.2信号调理方法
1.6.3模数转换器ADC及量化效应
1.6.4数模转换器DAC和信号重建
1.6.5SFDR的定义及测量
1.7通信信号软件处理方法
1.7.1软件无线电的定义
1.7.2IF的软件无线电实现
1.7.3信道化处理
1.7.4基站软件无线电接收机
1.7.5SR采样技术
1.7.6直接数字下变频
1.7.7带通采样失败的解决
第2章数字信号处理实现方法
2.1数字信号处理技术概念
2.1.1数字信号处理技术的发展
2.1.2数字信号处理算法的分类
2.1.3数字信号处理实现方法
2.2基于DSP的数字信号处理实现方法
2.2.1DSP的结构特点
2.2.2DSP的运行代码及性能
2.3基于FPGA的数字信号处理实现方法
2.3.1FPGA原理
2.3.2FPGA的逻辑资源
2.3.3FPGA的高性能处理
2.3.4FPGA的最新发展
第3章数字的表示和运算的实现
3.1整数的表示方法
3.1.1二进制原码格式
3.1.2二进制反码格式
3.1.3二进制补码格式
3.2整数值运算的HDL描述
3.2.1整数加法的HDL描述
3.2.2整数减法的HDL描述
3.2.3整数乘法的HDL描述
3.2.4整数除法的HDL描述
3.3定点数的表示方法
3.3.1定点二进制数格式
3.3.2定点量化
3.3.3归一化处理
3.3.4小数部分截断
3.3.5一种不同的方法Trounding
3.4定点数运算的HDL描述
3.4.1定点数加法的HDL描述
3.4.2定点数减法的HDL描述
3.4.3定点乘法的HDL描述
3.4.4定点除法的HDL描述
3.5浮点数的表示方法
3.5.1浮点数的格式
3.5.2浮点数的短指数表示
3.6浮点运算的HDL描述
3.6.1单精度浮点数加法的HDL描述
3.6.2单精度浮点数减法的HDL描述
3.6.3单精度浮点数乘法的HDL描述
3.6.4单精度浮点数除法的HDL描述
第二篇数字信号处理基本理论和FPGA实现方法
第4章CORDIC算法原理及实现
4.1CORDIC算法原理
4.1.1圆坐标系旋转
4.1.2线性坐标系旋转
4.1.3双曲线坐标系旋转
4.1.4CORDIC算法一般描述
4.2CORDIC算法性能分析
4.2.1输出量化误差的确定
4.2.2近似误差的分析
4.2.3舍入误差的分析
4.2.4有效位deff的估算
4.2.5预测与仿真
4.3CORDIC硬件实现原理
4.3.1CORDIC循环结构的实现原理
4.3.2CORDIC非循环结构的实现原理
4.3.3实现CORDIC的非循环的流水线结构
4.3.43种实现方式的性能比较
4.4CORDIC算法收敛性及实现
4.4.1CORDIC算法收敛性原理
4.4.2CORDIC象限映射实现
4.4.3向量模式的CORDIC迭代实现
4.4.4旋转模式的CORDIC迭代实现
4.5CORDIC子系统的设计
4.5.1CORDIC单元的设计
4.5.2参数化CORDIC单元
4.5.3旋转后标定的实现
4.5.4旋转后的象限解映射
4.6圆形坐标系算术功能的设计
。。。
通过在微信公众哈后台回复 电子书|0014 获取电子书籍。
本次获取的电子书,可能会有epub格式的,可以通过WPS或者微信读书等软件打开。