DSP嵌入式实时系统权威指南

本书特色

[

这是一本针对数字信号处理的专业指导书籍。本书由该领域的多位专家学者撰写,涵盖了当今嵌入式实时系统的大部分DSP优化,以全方位视角解析相关技术。在进行理论讲解之后,还有精选案例分析,帮助读者形象地理解相关知识。从常见技术到前沿科技,从理论深度的探讨到实践经验的传播,本书意在呈现一本丰富而实用的DSP专业参考书籍。

]

目录

目  录译者序前言作者简介第1章 数字信号处理简介 11.1 何谓数字信号处理 11.2?DSP的优势 21.3 DSP系统 21.3.1 模数转换 31.3.2?奈奎斯特准则 41.3.3 数模转换 61.4 DSP的应用 61.5 低功耗DSP应用 81.6 总结 9第2章 实时系统与嵌入式系统概述 112.1 实时系统 112.1.1 软实时和硬实时系统 112.1.2 实时系统和分时系统的区别 112.1.3 DSP系统是硬实时系统 122.1.4 实时事件特征 132.2 高效运行和运行环境 142.3 实时系统设计的挑战 142.3.1 响应时间 152.3.2 从故障中恢复 152.4 分布式和多处理器构架 162.4.1 系统初始化 162.4.2 处理器接口 162.4.3 负载分配 162.4.4 集中的资源分配和管理 162.5 嵌入式系统 172.6 总结 18第3章 嵌入式DSP系统开发生命周期概述 203.1 嵌入式系统 203.2 嵌入式DSP系统的生命周期 203.2.1 步骤1:研究系统的整体需求 203.2.2 步骤2:选择系统所需的硬件组件 213.2.3 硬件门电路 223.2.4 软件可编程 223.2.5 通用处理器 223.2.6 微控制器 233.3 FPGA解决方案 233.4 一个通用的信号处理解决方案 273.5 DSP加速决策 283.6 DSP处理的模型 323.6.1 输入/输出选择 333.6.2 计算DSP性能 343.6.3 DSP软件 363.7 代码的调整和优化 373.8 典型的DSP开发流程 383.9 总结 43第4章 可编程DSP体系结构 444.1 可编程DSP体系结构的共性 444.2 内存体系结构 484.2.1 内存访问宽度 494.2.2 对齐问题 494.3 数据操作 49第5章 FPGA在无线通信中的应用 515.1 概述 515.1.1 空间复用的MIMO系统 525.1.2 Flex-Sphere 检测器 535.1.3 改良实数分解排序 555.1.4 软件无线电手机可配置检测器的FPGA设计 565.1.5 改良实值分解 585.1.6 MT=3的Xilinx FPGA实现结果 585.1.7 MT=4的Xilinx FPGA实现结果 595.1.8 仿真结果 595.2 针对WiMAX的波束成形 615.2.1 在宽带系统中的波束成形 615.2.2 波束成形系统的计算要求和性能 635.2.3 使用WARPLab的波束成形实验 655.2.4 实验设置及结果 675.3 总结 69参考文献 69第6章 DSP软硬件协同 726.1 概述 726.2 嵌入式设计中的FPGA 726.3 ASIC与FPGA 746.4 软件可编程数字信号处理 756.5 通用型嵌入式内核 766.6 总结 766.6.1 架构 766.6.2 以应用为导向的设计 77参考文献 77第7章 DSP算法概述 787.1 DSP应用 787.2 信号与系统 787.2.1 DSP系统 797.2.2 混叠 797.3 基本的DSP系统 807.4 频率分析 817.4.1 卷积 817.4.2 相关性 827.4.3 FIR滤波器设计 827.4.4 加窗 837.5 算法实现:DSP架构 857.5.1 数字格式 867.5.2 溢出和饱和 867.6 FIR滤波器的实现 867.6.1 利用片上RAM 887.6.2 特别的乘积累加指令 887.6.3 块滤波 887.6.4 分离的程序和数据总线 887.6.5 零开销循环 897.6.6 循环缓冲器 897.7 系统问题 907.8 总结 90第8章 复杂DSP应用的高层次设计工具 918.1 高层次综合设计方法 918.2 高层次设计工具 928.3 Catapult C 928.3.1 PICO 948.3.2 System Generator 958.4 案例分析 968.5 使用PICO的LDPC译码器设计案例 968.6 使用Catapult C 的矩阵乘法器设计案例 998.7 使用System Generator的QR分解设计实例 1018.8 总结 104参考文献 104第9章 DSP软件优化:DSP系统的基准测试和性能分析 1079.1 概述 1079.2 编写测试框架 1079.3 隔离DSP内核函数 1109.3.1 提防激进的编译工具 1109.3.2 灵活放置代码 1119.4 真实系统行为的建模 1119.4.1 缓存带来的影响 1119.4.2 内存延迟带来的影响 1129.5 系统方面的影响 1129.6 多核/多设备环境下的执行情况 1129.7 分析测试方法带来的额外开销 1139.7.1 排除无关事项 1149.7.2 中断 1149.7.3 基准测试中运行的库函数 1149.7.4 使用仿真工具测试 1149.7.5 基于硬件模块的测试 1159.7.6 性能分析结果 1169.7.7 如何解读获取的测试结果 116第10章 DSP软件优化:高级语言和编程模型 11710.1 汇编语言 11710.2 带内联函数和编译指示的C编程语言 11810.2.1 C语言编写的FIR滤波器 11910.2.2 内联函数 11910.2.3 编译指令 12110.3 嵌入式C语言 12210.4 C 语言在嵌入式系统中的应用 12210.5 自动矢量化编译技术 12310.5.1 MATLAB、Labview和类FFT-W的生成器套件 12410.5.2 MATLAB和本地编译的代码 12410.5.3 本地代码到MATLAB和硅片上的仿真 125第11章 优化DSP软件:代码优化 12611.1 优化过程 12611.2 使用开发工具 12611.2.1 编译器优化 12611.2.2 编译器基本配置 12711.2.3 启用优化 12711.2.4 其他的优化配置 12811.2.5 使用分析器 12811.2.6 分析生成的汇编代码 12911.3 背景知识:理解DSP架构 12911.4 基本C语言优化技巧 13011.5 用内联函数发挥DSP特性 13111.6 指针和内存访问 13511.6.1 确保对齐方式 13511.6.2 restrict和指针别名 13611.7 循环 13711.8 硬件循环 13811.9 其他的提示和技巧 13911.9.1 内存争用 13911.9.2 使用未对齐访问 13911.9.3 访问缓存 13911.9.4 嵌入小函数 13911.9.5 使用供应商DSP库 13911.10 一般的循环转换 13911.11 循环展开 14011.11.1 背景知识 14011.11.2 实现 14011.12 多重采样 14011.12.1 背景知识 14011.12.2 实现过程 14111.12.3 实现 14111.13 部分求和 14111.13.1 背景知识 14111.13.2 实现过程 14211.13.3 实现 14211.14 软件流水化 14311.14.1 背景知识 14311.14.2 实现 14311.15 优化技巧的应用示例:互相关 14411.15.1 创建 14411.15.2 原始实现方案 14411.15.3 步骤1:用内联函数执行小数计算并指定循环计数 14511.15.4 步骤2:指定数据对齐方式并修改成多重采样 14611.15.5 步骤3:汇编语言优化 148第12章 DSP优化:内存优化 15112.1 概述 15112.2 代码量优化 15112.2.1 编译器标记和标记挖掘 15112.2.2 针对ISA的代码量与性能权衡 15212.2.3 针对代码量优化调整ABI 15312.2.4 告诫购买者:编译器优化与代码量互不相关 16012.3 内存布局优化 16112.3.1 内存优化概述 16112.3.2 集中优化工作 16212.3.3 向量化和动态代码计算比例 16212.3.4 数据结构、数据结构数组及其混合 16412.3.5 针对内存性能的循环优化 16612.3.6 数据对齐方式的连锁效应 16612.3.7 选择合适的数据类型会获得丰厚回报 166第13章 针对功耗的软件优化 16813.1 概述 16813.2 了解功耗 16813.3 测量功耗 17113.3.1 使用电表测量功率 17113.3.2 使用霍尔传感器型IC测量功率 17113.3.3 稳压器模块电源IC 17213.4 分析应用程序的功耗 17313.5 降低功耗 17413.6 时钟和电压控制 17713.7 优化数据流 18213.7.1 优化内存访问以降低功耗 18213.7.2 DDR概述 18313.7.3 通过优化DDR数据流来降低功率 18513.8 外设/通信的使用 19313.8.1 数据的DMA和CPU的对比 19513.8.2 算法优化 19713.8.3 递归消除 20013.9 总结 202参考文献 203第14章 DSP操作系统 20414.1 概述 20414.2 DSP操作系统基础 20414.3 实时性 20514.4 多核 20814.5 内存管理 21314.5.1 内存分配 21314.5.2 虚拟内存和内存保护 21314.6 网络 21414.6.1 处理器间通信 21414.6.2 网络互联 21614.7 调度 21714.7.1 参考模型 21714.7.2 抢占式调度与非抢占式调度 21814.7.3 阻塞作业与非阻塞作业 21814.7.4 协作式调度 21814.7.5 调度类型 21914.7.6 调度时的多核考虑 21914.7.7 离线调度及其可能的实现 21914.7.8 在线调度(基于优先级的调度) 22414.7.9 静态优先级调度 22414.7.10 动态优先级调度 22614.7.11 离线调度与在线调度的比较 22714.7.12 优先级反转 22714.8 DSP OS辅助工具 22914.9 总结 231参考文献 232第15章 DSP软件开发管理 23415.1 概述 23415.2 开发DSP应用面对的挑战 23415.3 DSP开发流程 23515.3.1 概念和规范定义阶段 23515.3.2 DSP算法标准和指导原则 23615.3.3 高级系统设计和工程性能 23715.3.4 软件开发 23815.3.5 系统创建、集成和测试 23815.3.6 工厂和现场测试 23815.4 DSP系统的设计挑战 23815.5 DSP高级设计工具 23915.6 DSP工具箱 23915.7 DSP的主机开发工具 24015.8 通用数据流实例 24215.9 代码调整及优化 24615.9.1 典型DSP开发流程 24615.9.2 新手入门 24815.10 总结 248第16章 DSP多核软件开发 25116.1 概述 25116.2 多核编程模型 25216.2.1 多个单核系统 25216.2.2 真正的多核系统 25416.3 移植向导 25516.3.1 设计上的考虑 25516.3.2 MJPEG案例分析 25616.3.3 实现细节 25916.4 总结 262第17章 DSP应用程序的开发与调试 26317.1 集成开发环境概述 26317.2 新建项目 26317.3 多核DSP环境下进行编译与链接 26717.3.1 DSP SDOS操作系统 26717.3.2 应用程序内存映射 26817.3.3 应用程序的编译器配置 27017.3.4 应用程序的链接器配置 27417.4 在多核DSP上执行和调试应用程序 27717.4.1 创建新连接 27717.4.2 建立运行配置 27917.4.3 调试器使用 28017.5 使用软件和硬件专用资源跟踪与剖析多核应用程序 28517.5.1 软件分析设置 28617.5.2 跟踪 28717.5.3 重要

封面

DSP嵌入式实时系统权威指南

书名:DSP嵌入式实时系统权威指南

作者:罗伯特.奥沙纳

页数:429

定价:¥129.0

出版社:机械工业出版社

出版日期:2017-10-01

ISBN:9787111576419

PDF电子书大小:114MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注