dsp嵌入式实时系统指南 软硬件技术 作者 新华正版
¥
28.4
2.2折
¥
129
全新
库存90件
作者作者
出版社机械工业出版社
ISBN9787111576419
出版时间2017-10
版次1
装帧平装
开本16
页数429页
定价129元
货号305_9787111576419
上书时间2024-12-24
商品详情
- 品相描述:全新
-
正版特价新书
- 商品描述
-
目录:
译者序
前言
作者简介
章数字信号处理简介1
1.1何谓数字信号处理1
1.2?dsp的优势2
1.3dsp系统2
1.3.1模数转换3
1.3.2?奈奎斯特准则4
1.3.3数模转换6
1.4dsp的应用6
1.5低功耗dsp应用8
1.6结9
第2章实时系统与嵌入式系统概述11
2.1实时系统11
2.1.1软实时和硬实时系统11
2.1.2实时系统和分时系统的区别11
2.1.3dsp系统是硬实时系统12
2.1.4实时事件特征13
2.2高效运行和运行环境14
2.3实时系统设计的挑战14
2.3.1响应时间15
2.3.2从故障中恢复15
2.4分布式和多处理器构架16
2.4.1系统初始化16
2.4.2处理器接16
2.4.3负载分配16
2.4.4集中的资源分配和管理16
2.5嵌入式系统17
2.6结18
第3章嵌入式dsp系统开发生命周期概述20
3.1嵌入式系统20
3.2嵌入式dsp系统的生命周期20
3.2.1步骤1:研究系统的整体需求20
3.2.2步骤2:选择系统所需的硬件组件21
3.2.3硬件门电路22
3.2.4软件可编程22
3.2.5通用处理器22
3.2.6微控制器23
3.3fpga解决方案23
3.4一个通用的信号处理解决方案27
3.5dsp加速决策28
3.6dsp处理的模型32
3.6.1输入/输出选择33
3.6.2计算dsp能34
3.6.3dsp软件36
3.7代码的调整和优化37
3.8典型的dsp开发流程38
3.9结43
第4章可编程dsp体系结构44
4.1可编程dsp体系结构的共44
4.2内存体系结构48
4.2.1内存访问宽度49
4.2.2对齐问题49
4.3数据作49
第5章fpga在无线通信中的应用51
5.1概述51
5.1.1空间复用的mimo系统52
5.1.2flex-sphere检测器53
5.1.3改良实数分解排序55
5.1.4软件无线电手机可配置检测器的fpga设计56
5.1.5改良实值分解58
5.1.6mt=3的linxfpga实现结果58
5.1.7mt=4的linxfpga实现结果59
5.1.8结果59
5.2针对wimax的波束成形61
5.2.1在宽带系统中的波束成形61
5.2.2波束成形系统的计算要求和能63
5.2.3使用warb的波束成形实验65
5.2.4实验设置及结果67
5.3结69
参文献69
第6章dsp软硬件协同72
6.1概述72
6.2嵌入式设计中的fpga72
6.3asic与fpga74
6.4软件可编程数字信号处理75
6.5通用型嵌入式内核76
6.6结76
6.6.1架构76
6.6.2以应用为导向的设计77
参文献77
第7章dsp算法概述78
7.1dsp应用78
7.2信号与系统78
7.2.1dsp系统79
7.2.2混叠79
7.3基本的dsp系统80
7.4频率分析81
7.4.1卷积81
7.4.2相关82
7.4.3fir滤波器设计82
7.4.4加窗83
7.5算法实现:dsp架构85
7.5.1数字格式86
7.5.2溢出和饱和86
7.6fir滤波器的实现86
7.6.1利用片上ram88
7.6.2特别的乘积累加指令88
7.6.3块滤波88
7.6.4分离的程序和数据线88
7.6.5零开销循环89
7.6.6循环缓冲器89
7.7系统问题90
7.8结90
第8章复杂dsp应用的高层次设计工具91
8.1高层次综合设计方法91
8.2高层次设计工具92
8.3catapultc92
8.3.1pico94
8.3.2systemgenerator95
8.4案例分析96
8.5使用pico的ldpc译码器设计案例96
8.6使用catapultc的矩阵乘法器设计案例99
8.7使用systemgenerator的qr分解设计实例101
8.8结104
参文献104
第9章dsp软件优化:dsp系统的基准测试和能分析107
9.1概述107
9.2编写测试框架107
9.3隔离dsp内核函数110
9.3.1提激进的编译工具110
9.3.2灵活放置代码111
9.4真实系统行为的建模111
9.4.1缓存带来的影响111
9.4.2内存延迟带来的影响112
9.5系统方面的影响112
9.6多核/多设备环境下的执行情况112
9.7分析测试方法带来的额外开销113
9.7.1排除无关事项114
9.7.2中断114
9.7.3基准测试中运行的库函数114
9.7.4使用工具测试114
9.7.5基于硬件模块的测试115
9.7.6能分析结果116
9.7.7如何解读获取的测试结果116
0章dsp软件优化:语言和编程模型117
10.1汇编语言117
10.2带内联函数和编译指示的c编程语言118
10.2.1c语言编写的fir滤波器119
10.2.2内联函数119
10.2.3编译指令121
10.3嵌入式c语言122
10.4c++语言在嵌入式系统中的应用122
10.5自动矢量化编译技术123
10.5.1matlab、labview和类fft-w的生成器套件124
10.5.2matlab和本地编译的代码124
10.5.3本地代码到matlab和硅片上的125
1章优化dsp软件:代码优化126
11.1优化过程126
11.2使用开发工具126
11.2.1编译器优化126
11.2.2编译器基本配置127
11.2.3启用优化127
11.2.4其他的优化配置128
11.2.5使用分析器128
11.2.6分析生成的汇编代码129
11.3背景知识:理解dsp架构129
11.4基本c语言优化130
11.5用内联函数发挥dsp特131
11.6指针和内存访问135
11.6.1确保对齐方式135
11.6.2restrict和指针别名136
11.7循环137
11.8硬件循环138
11.9其他的提示和139
11.9.1内存争用139
11.9.2使用未对齐访问139
11.9.3访问缓存139
11.9.4嵌入小函数139
11.9.5使用供应商dsp库139
11.10一般的循环转换139
11.11循环展开140
11.11.1背景知识140
11.11.2实现140
11.12多重采样140
11.12.1背景知识140
11.12.2实现过程141
11.12.3实现141
11.13部分求和141
11.13.1背景知识141
11.13.2实现过程142
11.13.3实现142
11.14软件流水化143
11.14.1背景知识143
11.14.2实现143
11.15优化的应用示例:互相关144
11.15.1创建144
11.15.2原始实现方案144
11.15.3步骤1:用内联函数执行小数计算并指定循环145
11.15.4步骤2:指定数据对齐方式并修改成多重采样146
11.15.5步骤3:汇编语言优化148
2章dsp优化:内存优化151
12.1概述151
12.2代码量优化151
12.2.1编译器标记和标记挖掘151
12.2.2针对isa的代码量与能权衡152
12.2.3针对代码量优化调整abi153
12.2.4告诫购买者:编译器优化与代码量互不相关160
12.3内存布局优化161
12.3.1内存优化概述161
12.3.2集中优化工作162
12.3.3向量化和动态代码计算比例162
12.3.4数据结构、数据结构数组及其混合164
12.3.5针对内存能的循环优化166
12.3.6数据对齐方式的连锁效应166
12.3.7选择合适的数据类型会获得丰厚回报166
3章针对功耗的软件优化168
13.1概述168
13.2了解功耗168
13.3测量功耗171
13.3.1使用电表测量功率171
13.3.2使用霍尔传感器型ic测量功率171
13.3.3稳压器模块电源ic172
13.4分析应用程序的功耗173
13.5降低功耗174
13.6时钟和电压控制177
13.7优化数据流182
13.7.1优化内存访问以降低功耗182
13.7.2ddr概述183
13.7.3通过优化ddr数据流来降低功率185
13.8外设/通信的使用193
13.8.1数据的dma和cpu的对比195
13.8.2算法优化197
13.8.3递归消除200
13.9结202
参文献203
4章dsp作系统204
14.1概述204
14.2dsp作系统基础204
14.3实时205
14.4多核208
14.5内存管理213
14.5.1内存分配213
14.5.2虚拟内存和内存保护213
14.6网络214
14.6.1处理器间通信214
14.6.2网络互联216
14.7调度217
14.7.1参模型217
14.7.2占式调度与非占式调度218
14.7.3阻塞作业与非阻塞作业218
14.7.4协作式调度218
14.7.5调度类型219
14.7.6调度时的多核虑219
14.7.7离线调度及其可能的实现219
14.7.8在线调度(基于优先级的调度)224
14.7.9静态优先级调度224
14.7.10动态优先级调度226
14.7.11离线调度与在线调度的比较227
14.7.12优先级反转227
14.8ds辅助工具229
14.9结231
参文献232
5章dsp软件开发管理234
15.1概述234
15.2开发dsp应用面对的挑战234
15.3dsp开发流程235
15.3.1概念和规范定义阶段235
15.3.2dsp算法标准和指导原则236
15.3.3系统设计和工程能237
15.3.4软件开发238
15.3.5系统创建、集成和测试238
15.3.6工厂和现场测试238
15.4dsp系统的设计挑战238
15.5dsp设计工具239
15.6dsp工具箱239
15.7dsp的主机开发工具240
15.8通用数据流实例242
15.9代码调整及优化246
15.9.1典型dsp开发流程246
15.9.2新手入门248
15.10结248
6章dsp多核软件开发251
16.1概述251
16.2多核编程模型252
16.2.1多个单核系统252
16.2.2真正的多核系统254
16.3移植向导255
16.3.1设计上的虑255
16.3.2mjpeg案例分析256
16.3.3实现细节259
16.4结262
7章dsp应用程序的开发与调试263
17.1集成开发环境概述263
17.2新建项目263
17.3多核dsp环境下进行编译与267
17.3.1dsdos作系统267
17.3.2应用程序内存映268
17.3.3应用程序的编译器配置270
17.3.4应用程序的器配置274
17.4在多核dsp上执行和调试应用程序277
17.4.1创建新连接277
17.4.2建立运行配置279
17.4.3调试器使用280
17.5使用软件和硬件专用资源跟踪与剖析多核应用程序285
17.5.1软件分析设置286
17.5.2跟踪287
17.5.3重要的代码288
17.5.4代码覆盖289
17.5.5能290
案例分析
……
内容简介:
这是一本针对数字信号处理的专业指导书籍。本书由该领域的多位专家学者撰写,涵盖了当今嵌入式实时系统的大部分dp优化,以多方面视角解析相关技术。在进行理论讲解之后,还有精选案例分析,帮助读者形象地理解相关知识。从常见技术到前沿科技,从理论深度的探讨到实践经验的传播,本书意在呈现一本丰富而实用的dp专业参书籍。
作者简介:
罗伯特奥沙纳,拥有30年的软件行业经验,主要专注于国和半导体行业的嵌入式和实时系统。他拥有bee、mee、mc和mba,是ieee的不错会员。robert是多个咨询委员会(包括embededvtemgroup)的成员,同时他也是靠前演讲者。他经常在各种技术领域发表演讲和发表,著有嵌入式软件技术方面的书籍。robert在南卫理公会大学担任兼职教授,教授软件工程课程。他是freecale半导体公司网络和多媒体技术方面杰出的技术专家和优选软件研发主管。
精彩内容:
dp嵌入式系统软件开发遵循标准的嵌入式系统软硬件协同设计模型,如图1所示。图1dp软件开发遵循嵌入式软硬件协同设计模型这个开发过程可分为6个阶段;阶段:产品规格定义第2阶段:算法建模第3阶段:软硬件划分第4阶段:迭代与选择第5阶段:实时软件设计第6阶段:软硬件集成本书将涵盖以上每个dp软件开发的重要阶段。阶段:产品规格定义阶段是嵌入式和实时系统的概述,向读者介绍这一类型软件开发的独特方面。我们需要先理解几个关于嵌入式系统的挑战,才可以基于数字信号处理展开讨论。这些挑战涉及非常复杂的环境,以及系统之间的交互,嵌入式组件内比重渐增加的软件,软件代码复用及快速再造工程的需求,快速创新和不断变化的市场需求推动下的产品发布周期,众多实时的要求和需求管理的需要,及对于质量和过程成熟度益的关注。章和第2章会提供dp以及嵌入式系统的概述,简要说明一般嵌入式系统和dp的主要区别。第2阶段:算法建模第2阶段的重点在于对信号处理基本算法本质的理解。数字信号处理是使用数字或符号组成的序列来代表离散时间信号,并处理这些信号。dp涉及音频和语音信号处理、声呐和雷达信号处理、统计信号处理、数字图像处理、通信、系统控制、生物医学信号处理等诸多领域。dp算法用于处理这些数字信号。在信号处理中有一组基本算法,例如傅里叶变换、数字滤波器、卷积和相关。第7章将会介绍和解释一些重要和基本的dp算法,作为本书后面许多主题的基础。第3阶段:软硬件划分系统的硬件和软件组件划分在任何嵌入式开发项目中都是重要的一步。大部分dp是可编程的。数字信号处理的可编程架构有多种形式,每个都对成本、功耗、能和灵活有所权衡。在谱系的一端,数字信号处理系统设计人员通过使用专有的汇编语言可以实现应用的高效率和高能。在谱系的另一端,系统开发人员可以使用普遍的anic或c或其他领域特定的语言,并在商用台式电脑上执行所实现的算法,实现数字信号处理软件栈。第4章详述在一连续体不同的点上实现的权衡:一端的大数字信号处理能以及另一端由软件实现的灵活和便携。每个解决方案的权衡都一步步详细描述,以带领数字信号处理系统开发者找到满足他们特定用例需求的解决方案为目标。dp可采用现场可编程门阵列(fieldprogrammablegatearray,fpga)实现。作为一个例子,第5章讨论关于空间复用和不同增益架构上的挑战,并介绍fpga的一些架构,报告使用fpga实现这些系统的实验结果。第5章将介绍一个灵活的架构和空间复用mimo检测器的实现、flexphere及其fpga实现。我们还介绍wimax系统中的波束形成硬件架构,作为给下一代无线系统增加多样和提高能的方法。用于数字信号处理系统的硬件台有很多种不同的设计,每个都有其固有可编程、功耗和能的权衡。适合一个系统设计师的可能不适合另一个。第6章详细描述多种数字信号处理台以及相关系统的可配置和可编程设计。在谱系的一端,详细了解特定应用集成电路(applicationpecificintegratedcircuit,aic)这种高能、低可配置的解决方案。在谱系的另一端,作为高度可配置的解决方案介绍具有imd扩展的通用型嵌入式微处理器,这种解决方案支持强大的软件可编程。不同的设计重点逐个介绍,如基于可重新配置的现场可编程门阵列解决方案,以及有不同程度软件可编程的高能特定应用集成处理器(applicationpecificintegratedproceor,aip)。第6章将介绍每个系统的设计权衡,作为一种指导系统开发人员的方法,帮助他们选择适合当前和未来系统部署的数字信号处理硬件台和组件。第4阶段:迭代与选择dp开发的另一个关键问题是嵌入式生命周期管理。这个周期始于dp解决方案的选择,要制定一个嵌入式系统以满足能以及成本、上市时间及其他重要的系统约束。正如前面提到的,嵌入式系统是一个整合在大系统中的专门计算机系统。许多嵌入式系统使用数字信号处理器来实现。dp将与其他嵌入式元件连接,以执行特定的功能。具体的嵌入式应用将决定其需使用的dp。例如,如果嵌入的应用程序执行处理,系统设计人员可以选择定制的dp来执行媒体处理,包括和音频处理。第3章将讨论嵌入式生命周期和dp的各种选项,以及如何来确定整个系统的能和能力。第5阶段:实时软件设计实时软件设计遵循的五个步骤如图1所示。1.识别要进行处理的激励和激励所需的响应。2.确定每个激励和响应的时序约束。3.在并发进程中集中处理激励和响应。4.设计算法来处理激励和响应,满足给定的时间要求。5.设计一个调度方案,确保进程的及时调度,以满足时间期限。我们将详细讨论这一阶段的每个过程。1.识别要进行处理的激励和激励所需的响应首先,我们需要识别信号处理的系统激励以及它们的响应。不管使用硬件还是软件,这都是必须做的。在案例分析2中,我们介绍一个简单实用但非常强大的规格说明技术,为开发者在这个规格层次提供一些指引。重点是dp开发过程中针对采用dp的嵌入式系统行为的指定。设计需求的正确、完整及可测试是软件工程中的基本原则。设计要求的质量会影响功能上及财务上的成功。这些成功始于良好的设计要求。需求的范围可能会从对于服务或系统约束的高层次抽象语句到详细的数学功能规范。指定系统外部行为、指定实现约束,作为维修参工具,记录系统生命周期的预期(即变化的预测),及表征突发事件的响应,都需要相关要求。该案例分析介绍了一种严谨的行为规范技术,它可以暴露含糊的设计要求并发布显或隐信息来大大降低风险。这样的外部或“黑匣子”规格,可以系统化的方式通过过程序列枚举从行为要求得到。这个过程可以得到一个完整的、一致的、可溯源的系统外部行为规范。序列抽象提供了强有力的手段来管理和集中枚举过程。一个简单的手机设计用来加强这些概念。有一些可用于包括硬件和软件的更技术。第8章重点讨论设计和综合实时数字信号处理系统的系统级方法。这是dp开发领域的另一个挑战。dp系统当前的硬件设计和实现在新dp应用算法的开发和硬件实现之间有一个巨大的时间差距。高层次的设计和综合工具从高抽象级别为复杂dp处理硬件创建特殊应用的dp加速器硬件,从而大大缩短了设计周期,同时仍保持面积和功耗效率。该章介绍了两个设计方法,1)dp系统的c到rtl的aic/fpga实现高层次综合(highlevelynthei,hl)和2)用于dp系统fpga实现的ytemgenerator。在这些案例分析中,我们将使用设计工具介绍三种复杂dp加速器设计:1)使用picoc的低密度奇偶校验(lowdenityparitycheek,ldpc)解码加速器设计;2)使用catapultc的矩阵乘法加速器设计;3)使用ytemgenerator的qr分解加速器设计。2.确定每个激励和响应的时序约束优化dp软件的一个关键部分是适当地分析dp内核和dp系统的能并进行基准测试。通过对dp内核坚实的基准测试和能分析,才能对佳情况及系统正常运行的能进行评估。正确的能分析和基准测试往往是一种艺术。通常情况下,一个算法在接近理想的条件下进行测试,然后在能预算里使用其能测试结果。要真正理解一个算法的能,需要掌握该算法好情况下的能,然后对系统影响进行建模。系统影响包含着变化,如一个正在运行的作系统,内存不足时执行有着不同的延迟、缓存开销,及管理内存一致。所有这些影响都需要精心制作的基准测试,它可以用独立方式模拟这些行为。如果建模正确,独立的基准测试几乎可以再现一个dp内核的运行状况,相当于它在一个运行系统中的行为。第9章讨论如何执行这种基准测试。3.在并发进程中集中处理激励和响应一旦理解了输入和输出,要设计并开发dp的软件解决方案。dp的软件开发同样有其他类型软件发展面临的制约因素和开发挑战。这些包括缩短的上市时间、烦琐和重复的算法集成周期、实时应用的时间密集的调试周期、同一个dp上运行多个差别化任务的整合,以及其他的实时处理要求。高达80%的dp系统开发工作涉及分析、设计、实施,及软件组件整合。5章将涵盖多个关于管理dp软件开发工作的主题。该章的节将讨论dp系统的工程和问题,讨论框架是dp和实时软件开发涉及的问题。然后讨论dp应用开发背景下的设计工具,也对集成开发环境和原型环境进行讨论,回顾dp应用程序开发人员面临的挑战,如代码能调整、能分析和优化。本章后面讨论dp和实时系统的开发、集成和分析的相关主题。4.设计算法来处理激励和响应,满足给定的时间要求编写dp软件以满足实时约束是具有挑战的,所以有几个重点关注这方面内容的章节。从前,dp软件用汇编语言编写。然而,现代编译器问世后,使用c语言编写高效的dp代码已经成为标准。但是,由于大多数的dp特不能用c语言表达,存在各种加强标准c和c语言的替代品,如语言扩展、更的语言,及自动向量化编译器。0章说明用于编写dp软件的语言和编程模型。优化是转换一段代码并使它更有效(无论是在时间、空间或功耗上)的过程,而不改
— 没有更多了 —
以下为对购买帮助不大的评价