新書推薦:
《
明式家具三十年经眼录
》
售價:HK$
524.2
《
敦煌写本文献学(增订本)
》
售價:HK$
221.8
《
耕读史
》
售價:HK$
109.8
《
地理计算与R语言 [英] 罗宾·洛夫莱斯 [德]雅纳·蒙乔 [波兰] 雅库布·诺沃萨德
》
售價:HK$
121.0
《
沈括的知识世界:一种闻见主义的实践(中华学术译丛)
》
售價:HK$
87.4
《
大思维:哥伦比亚商学院六步创新思维模型
》
售價:HK$
72.8
《
宏观经济学(第三版)【2024诺贝尔经济学奖获奖者作品】
》
售價:HK$
155.7
《
UE5虚幻引擎必修课(视频教学版)
》
售價:HK$
110.9
編輯推薦:
第3版(即本书)为*的、功能强大的廉价DSP开发电路板提供支持,该电路板目前可从德州仪器公司(TI)获得,即OMAPL138OMAPL138同时包含C6748和ARM处理器内核,此书二者都用。 LCDK这个复杂但功能极其丰富的电路板是一个很好的例子,说明了为什么此书被如此多的工程师、教育工作者和学生使用:我们让开始使用这个电路板进行实时DSP变得容易,并使读者少走了许多弯路。本书所支持的DSP板的更详细描述见第1章。第3版还包括两个应早期版本的读者所要求的新的实时DSP项目(探索二阶节的使用和自适应滤波器的设计)。
內容簡介:
这是一本在实时数字信号处理(DSP)方面非常实用的书。它从基础的核心理论讲起,再结合理论探讨具体的工程实践,用winDSK、MATLAB与C语言实现进行实践对比,循序渐进地引导读者将理论与实践进行有机结合。特别地,第Ⅰ部分理论基础中各章的*后一节问题,指引读者进行深入思考与回顾;第Ⅱ部分项目实践中各章的*后一节后继挑战,拓展读者的实践思维,增强实践能力。
關於作者:
Thad B. Welch,哲学博士,专业工程师博伊西州立大学(Boise State University)电子和计算机工程系(Department of Electrical and Computer Engineering)教授和前主席。他曾在美国海军学院(U.S. Naval Academy,USNA)和美国空军学院(U.S. Air Force Academy,USAFA)的电子和计算机工程系任教。他是美国海军退休指挥官,2011年首届斯宾斯(SPEN)研究员。他曾获2001年ECE杰出教育家奖(Outstanding Educator Award),2002年Raouf工程教学卓越奖,1998年、2005年和2010年美国工程教育学会(American Society for Engineering Education,ASEE)教育分部计算机John A. Curtis讲座奖(Lecture Award),2003年USNA的ECE杰出研究员奖(Outstanding Researcher Award),以及1997年USAFA的Clements杰出教育家奖(Outstanding Educator Award)。Welch博士是电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)信号处理学会(Signal Processing Society)信号处理教育技术委员会(Technical Committee on Signal Processing Education)的前主席和创始成员、IEEE的高级成员,以及ASEE、工程荣誉学会(Tau Beta Pi)和电气工程荣誉学会(Eta Kappa Nu)的成员。Thad B. Welch,哲学博士,专业工程师博伊西州立大学(Boise State University)电子和计算机工程系(Department of Electrical and Computer Engineering)教授和前主席。他曾在美国海军学院(U.S. Naval Academy,USNA)和美国空军学院(U.S. Air Force Academy,USAFA)的电子和计算机工程系任教。他是美国海军退休指挥官,2011年首届斯宾斯(SPEN)研究员。他曾获2001年ECE杰出教育家奖(Outstanding Educator Award),2002年Raouf工程教学卓越奖,1998年、2005年和2010年美国工程教育学会(American Society for Engineering Education,ASEE)教育分部计算机John A. Curtis讲座奖(Lecture Award),2003年USNA的ECE杰出研究员奖(Outstanding Researcher Award),以及1997年USAFA的Clements杰出教育家奖(Outstanding Educator Award)。Welch博士是电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)信号处理学会(Signal Processing Society)信号处理教育技术委员会(Technical Committee on Signal Processing Education)的前主席和创始成员、IEEE的高级成员,以及ASEE、工程荣誉学会(Tau Beta Pi)和电气工程荣誉学会(Eta Kappa Nu)的成员。
Cameron H.G. Wright,博士,专业工程师怀俄明大学(University of Wyoming)电子与计算机工程系(Department of Electrical and Computer Engineering)教授。他曾在美国空军学院(U.S. Air Force Academy,USAFA)的电气工程系(Department of Electrical Engineering)任教,担任教授和系副主任。他是美国空军的一名退役中校,1992年和1993年因在军校教育方面的杰出贡献而获得陆军准将R. E. Thomas奖(Brigadier General R. E. Thomas Award)。他在2005年和2008年获得IEEE学生选择奖(Student Choice Award),成为年度杰出教授。他曾获得2005年、2007年和2015年怀俄明大学Mortar Board 最佳教授奖(Top Prof. Award),2007年ASEE洛矶山区杰出教学奖(Outstanding Teaching Award),1998年、2005年和2010年ASEE教育分部计算机John A. Curtis讲座奖(Lecture Award),2011年Tau Beta Pi WYA的本科教学奖(Undergraduate Teaching Award),以及2012年怀俄明大学Ellbogen优秀课堂教学奖(Meritorious Classroom Teaching Award)。Wright博士是IEEE信号处理学会(Signal Processing Society)信号处理教育技术委员会(Technical Committee on Signal Processing Education)的创始成员、IEEE的高级成员,以及ASEE、国家专业工程师学会(National Society of Professional Engineers)、生物医学工程学会(Biomedical Engineering Society)、SPIE国际光学工程学会(SPIEThe International Society of Optical Engineering)、Tau Beta Pi和Eta Kappa Nu的成员。
Michael G. Morrow,电子工程硕士,专业工程师威斯康星大学麦迪逊分校(University of WisconsinMadison)电子与计算机工程系(Department of Electrical and Computer Engineering)教师。他曾是美国海军退役中尉指挥官,曾在美国海军学院(U.S. Naval Academy)电子和计算机工程系(Department of Electrical and Computer Engineering)及博伊西州立大学(Boise State University)电子与计算机工程系(Department of Electrical and Computer Engineering)任教。Morrow先生在威斯康星大学麦迪逊分校获得2002年电气与计算机工程系杰出教育家奖(Outstanding Educator Award)和2003年Gerald Holdridge教学卓越奖(Teaching Excellence Award)。他是教育DSP(eDSP)有限责任公司的创始人和总裁,该公司致力于为全球教育工作者和学生提供经济实惠的DSP解决方案。他是电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)信号处理学会(Signal Processing Society)信号处理教育技术委员会(Technical Committee on Signal Processing Education)的成员、IEEE的高级成员以及ASEE的成员。
目錄 :
图清单ⅰ
表格清单ⅸ
程序清单
第Ⅰ部分: 理论基础
第1章本书介绍与组织3
1.1为什么您需要这本书?3
1.1.1其他DSP书籍3
1.1.2演示与DSP硬件4
1.1.3本书的哲学4
1.2实时DSP5
1.3如何使用本书5
1.3.1支持的电路板6
1.3.2主机到DSP电路板通信9
1.3.3过渡到实时11
1.3.4章节涵盖内容12
1.3.5硬件与软件安装13
1.3.6阅读程序清单14
1.4准备开始14
1.5问题15
第2章采样和重构16
2.1理论16
2.1.1选择采样频率16
2.1.2输入输出问题: 样本或者帧?16
2.1.3TalkThrough概念17
2.2winDSK演示17
2.2.1启动winDSK17
2.2.2TalkThru应用18
2.3使用Windows实现TalkThrough20
2.4使用MATLAB和Windows实现TalkThrough23
2.4.1只使用MATLAB实现TalkThrough26
2.4.2使用MATLAB和DSK实现TalkThrough29
2.5使用C语言实现DSK30
2.6后继挑战31
2.7问题32
第3章FIR数字滤波器33
3.1理论33
3.1.1传统标记法33
3.1.2FIR滤波器与IIR滤波器的比较34
3.1.3计算滤波器输出34
3.2winDSK演示36
3.2.1图形均衡器应用36
3.2.2陷波滤波器应用37
3.2.3音频效果应用39
3.3MATLAB实现40
3.3.1内置方法40
3.3.2创建您自己的滤波器算法44
3.4使用C语言的DSK实现46
3.4.1采用C语言的暴力FIR滤波: 第一部分46
3.4.2采用C语言的暴力FIR滤波: 第二部分49
3.4.3环形缓冲FIR滤波52
3.5后继挑战53
3.6问题54
4.1理论55
4.2winDSK演示: 陷波滤波器应用58
4.3MATLAB实现60
4.3.1滤波器设计与分析60
4.3.2IIR滤波器标记法69
4.3.3框图70
4.3.4内置方法77
4.3.5创建您自己的滤波器算法77
4.4使用C语言的DSK实现79
4.4.1暴力FIR滤波79
4.4.2更高效的IIR滤波80
4.5后继挑战80
4.6问题81
第5章周期信号的生成82
5.1理论82
5.1.1DSP中的周期信号82
5.1.2信号生成84
5.2winDSK演示90
5.2.1任意波形90
5.2.2双音多频(DTMF)91
5.3MATLAB实现93
5.3.1直接数字合成器技术93
5.3.2表查找技术94
5.4使用C语言的DSK实现95
5.4.1直接数字合成器技术95
5.4.2表查找技术97
5.4.3带表创建的表查找技术98
5.4.4数字谐振器技术100
5.5伪噪声序列101
5.5.1理论102
5.5.2winDSK演示107
5.5.3MATLAB实现107
5.5.4使用C语言的DSK实现113
5.6后继挑战119
5.7问题119
第6章基于帧的DSP120
6.1理论120
6.1.1基于样本的DSP的缺点120
6.1.2什么是帧?121
6.2winDSK演示123
6.3MATLAB实现124
6.4使用C语言的DSK实现125
6.4.1三重缓冲125
6.4.2一个基于帧的DSP例子126
6.4.3使用直接存储器存取(DMA)131
6.5基于帧处理的总结140
6.6后继挑战141
6.7问题141
第7章使用帧的数字滤波器142
7.1理论142
7.2winDSK演示142
7.3MATLAB实现142
7.4使用C语言的DSK实现142
7.4.1理解针对帧的FIR过程143
7.4.2如何避免边缘问题144
7.4.3C语言代码解释144
7.5后继挑战146
7.6问题147
第8章快速傅里叶变换148
8.1理论148
8.1.1定义FFT148
8.1.2旋转因子149
8.1.3FFT处理149
8.1.4位反转寻址152
8.1.5使用FFT进行滤波152
8.1.6避免循环卷积153
8.1.7实时快速卷积155
8.2winDSK演示158
8.3MATLAB实现158
8.4使用C语言实现158
8.5后继挑战162
8.6问题162
第9章频谱分析与窗口化164
9.1理论164
9.1.1信号的功率谱164
9.1.2窗口化需要166
9.1.3窗口特征168
9.2winDSK演示171
9.3MATLAB实现173
9.4使用C语言的DSK实现175
9.5结论175
9.6后继挑战176
9.7问题176
第Ⅱ部分: 项目实践
第10章项目1: 吉他特效181
10.1项目介绍181
10.2理论181
10.2.1背景181
10.2.2效果如何工作182
10.3winDSK演示193
10.4MATLAB实现194
10.4.1FIR梳状滤波器194
10.4.2IIR梳状滤波器195
10.4.3陷波滤波器198
10.4.4镶边器199
10.4.5颤音200
10.5使用C语言的DSK实现201
10.5.1实时的梳状滤波器201
10.5.2其他实时特效204
10.6后继挑战204
第11章项目2: 图形均衡器206
11.1理论206
11.2winDSK演示207
11.2.1图形均衡器应用207
11.2.2图形均衡器效果208
11.3MATLAB实现209
11.4使用C语言的DSK实现211
11.4.1将增益应用于滤波器频带211
11.4.2GEL文件滑块控件213
11.5后继挑战214
第12章项目3: 二阶节215
12.1理论215
12.2winDSK演示: 陷波滤波器应用219
12.3MATLAB实现219
12.4使用C语言的DSK实现222
12.4.1示例SOS代码222
12.5思考要点223
12.6后继挑战223
第13章项目4: 峰值音量表224
13.1理论224
13.2winDSK演示: commDSK224
13.3MATLAB实现225
13.4使用C语言的DSK实现226
13.4.1示例PPM代码226
13.4.2DSK的LED控制228
13.4.3另一个PPM代码版本228
13.5后继挑战230
第14章项目5: 自适应滤波器231
14.1理论231
14.1.1自适应滤波器解决的问题232
14.1.2LMS自适应滤波器233
14.2winDSK8演示234
14.3MATLAB实现234
14.4使用C语言的DSK实现237
14.5后继挑战239
第15章项目6: AM发射器240
15.1理论240
15.2winDSK演示242
15.3MATLAB实现242
15.4使用C语言的DSK实现245
15.5后继挑战247
第16章项目7: AM接收器248
16.1理论248
16.1.1包络检波器249
16.1.2基于希尔伯特(Hilbert)的AM接收器255
16.2winDSK演示258
16.3MATLAB实现258
16.4使用C语言的DSK实现260
16.5后继挑战262
第17章项目8: 锁相环263
17.1理论263
17.2winDSK演示264
17.3MATLAB实现264
17.3.1PLL仿真264
17.3.2对MATLAB实现的一些更新270
17.4使用C语言的DSK实现272
17.4.1PLL的组件272
17.4.2系统测试275
17.5后继挑战277
第18章项目9: BPSK数字发射器278
18.1理论278
18.1.1随机数据和符号生成278
18.1.2使用对拓矩形位的BPSK279
18.1.3使用脉冲调制(IM)升余弦形位的BPSK280
18.2winDSK演示281
18.2.1commDSK: 未滤波的BPSK282
18.2.2commDSK: 升余弦滤波的BPSK283
18.3MATLAB实现286
18.3.1矩形BPSK信号发生器286
18.3.2脉冲调制的升余弦BPSK信号发生器288
18.4使用C语言的DSK实现291
18.4.1一个矩形脉冲形BPSK发射器292
18.4.2一个升余弦脉冲形BPSK发射器293
18.4.3实时代码总结295
18.5后继挑战295
第19章项目10: BPSK数字接收器296
19.1理论296
19.1.1匹配滤波器的输出298
19.1.2眼图299
19.1.3最大似然定时恢复300
19.2winDSK演示302
19.3MATLAB实现302
19.4使用C语言的DSK实现307
19.4.1数字接收器的组件307
19.4.2系统测试312
19.5后继挑战314
第20章项目11: MPSK与QAM数字发射器315
20.1理论315
20.1.1基于I和Q的发射器315
20.1.2一些星座图317
20.2winDSK演示320
20.2.1commDSK: 根升余弦滤波的QPSK320
20.3MATLAB实现323
20.3.1脉冲调制根升余弦QPSK信号发生器323
20.4使用C语言的DSK实现327
20.4.1一个根升余弦脉冲形QPSK发射器327
20.4.2一个更高效的RRC脉冲形QPSK发射器330
20.4.3实时代码总结332
20.5高阶调制方案333
20.6后继挑战333
第21章项目12: QPSK数字接收器334
21.1理论334
21.2winDSK8演示337
21.3MATLAB实现337
21.3.1通过AGC仿真337
21.3.2一个完整的QPSK接收器341
21.4使用C语言的DSK实现346
21.4.1通过AGC实现 346
21.4.2一个完整的QPSK接收器350
21.4.3系统测试357
21.5后继挑战359
第Ⅲ部分: 附录
附录ACode Composer Studio: 概述363
A.1介绍363
A.2启动Code Composer Studio363
A.3结论364
附录BDSPBIOS366
B.1介绍366
B.1.1DSPBIOS的主要特性366
B.1.2DSPBIOS线程366
B.2DSPBIOS示例项目367
附录C数值表示368
C.1字节序368
C.2整数表示369
C.3整数除法和舍入370
C.4浮点表示371
C.5定点表示374
C.6数值表示总结375
附录DTMS320C6x架构377
D.1计算机体系结构基础377
D.1.1指令集架构378
D.1.2寄存器架构378
D.1.3存储器架构379
D.1.4获取执行模型380
D.1.5流水线380
D.1.6单发射与多发射383
D.1.7调度383
D.2TMS320C671x架构384
D.2.1存储器系统385
D.2.2流水线与调度386
D.2.3外围设备387
D.2.4主机端口接口387
D.3TMS320C674x架构388
附录EDSK相关工具389
E.1介绍389
E.2Windows控件应用程序389
E.2.1示例Windows控件应用程序390
E.3MATLAB导出390
E.3.1导出直接Ⅱ型实现390
E.3.2导出二阶节实现391
E.4MATLAB实时接口392
附录F与MATLAB一起使用代码生成器393
F.1介绍393
F.2一个FIR滤波器例子393
F.2.1使用MATLAB Coder之前393
F.2.2使用MATLAB Coder395
F.2.3转移到CCS项目401
F.2.4观察401
F.3结论401
附录GDSP电路板的电池电源402
G.1介绍402
G.2方法402
G.3测试403
G.3.1初始测试403
G.3.2最终测试403
G.4结论404
附录H编程难点与陷阱405
H.1调试构建与发布构建405
H.2易变性(volatile)关键字405
H.3函数原型和返回类型406
H.4算术问题407
H.5控制内存中的变量位置409
H.6实时计划失败409
H.7变量初始化410
H.8整型数据大小411
附录IDSP电路板比较413
I.1介绍413
I.2三种电路板413
I.3结论416
附录J缩写、首字母缩略词和符号417
参考文献424
內容試閱 :
这是一本在实时数字信号处理(DSP)方面非常实用的书。它从基础的核心理论讲起,再结合理论探讨具体的工程实践,用winDSK、MATLAB与C语言实现进行实践对比,循序渐进地引导读者将理论与实践进行有机结合。特别地,第Ⅰ部分理论基础中各章的最后一节问题,指引读者进行深入思考与回顾;第Ⅱ部分项目实践中各章的最后一节后继挑战,拓展读者的实践思维,增强实践能力。
本人在计算机软件行业从业多年,其间阅读了不少英文在线文档及书籍,由于深感阅读与理解英文技术资料的速度大幅落后于直接学习对应的中文资料的速度,因此拜读了很多前辈翻译的中文技术资料,受益匪浅! 一直以来希望自己也能翻译一些英文技术资料,方便其他中文读者轻松地学习和理解英文技术资料,为促进知识传播尽一份微薄之力。
当自己认真翻译时,才发现比自行阅读艰难许多。自己阅读时意会即可,而真正翻译时需要能够言传,期望更准确地表达出原作者的意图,需要不断揣摩与斟酌相关字眼,同时需要结合专业术语与前人的翻译习惯来选取对应的词汇及表达方式。由于本书翻译是在工作之余进行的,时间比较仓促,加之本人水平有限,翻译过程中难免对原著有理解偏差甚至错误之处,欢迎广大读者批评指正。
在本书翻译工作启动时,刘阳丽、陈荣生、李宗衡提供了协助,翻译过程中家人给予极大的理解与支持,出版过程中剧艳婕、宋淑娟提供工作协助与稿件审校,在此一并感谢!
2020年4月于广州
序言
数字信号处理是今天使用的大多数技术的核心。手机使用数字信号处理来生成用于与无线网络通信的DTMF(双音多频)音调;降噪耳机使用自适应数字信号处理来消除周围环境的噪声;数码相机使用数字信号处理将图像压缩成JPEG格式以便有效存储,比如在一张存储卡中存储数千张图像;数字信号处理允许播放存储在手机和iPod中的压缩音乐;数字信号处理甚至可以控制汽车中的防抱死制动器。这些只是我们周围世界中数字信号处理的几个例子。
今天有许多好的教科书可以教授数字信号处理但是大多数都是教授理论的,也许还有一些MATLAB的仿真。而本书则迈出了大胆的一步,它不仅提供了理论,还通过仿真强化了理论,并向我们展示了如何在实时应用中实际使用结果。这最后一步不是一个微不足道的步骤,这就是为什么这么多的书和课程只提供理论和仿真。凭借本书三位作者Thad Welch、Cameron Wright和Michael Morrow的综合专业知识,读者可以通过所提供的可访问路径走进应用程序的实时世界。第3版继续支持德州仪器(Texas Instruments)的C6713 DSK和多核OMAPL138电路板。多核OMAP138芯片同时包括一个C6784 DSP内核和一个ARM9 GPP内核,使其功能非常强大,对各种用户都具有吸引力。新增功能还支持TI LCDK(低成本开发套件)。包含自适应滤波和二阶节(SOS)的新项目的章节已添加到包括QPSK和QAM发射器和接收器的现有项目章节中。所有代码都已更新为在CCS6.1版上运行,并且所有M文件已更新为在MATLAB 2016a上运行。
我有幸曾与本书的作者合作撰写过几篇论文,因此能从他们对工程教育贡献的直接经验方面来阐述。他们更加努力地持续扩展自己的理解和能力,以合乎逻辑、直截了当的方式呈现复杂的材料。他们参加工程教育会议,主持工程教育会议,写工程教育的论文,为工程教育而活!(其中一位合著者Thad Welch,最近被选为第一位信号处理工程网络研究员Signal Processing Engineering Network Fellow,以表彰他的领导才能和贡献。)我很高兴能有机会以作者自己的话来告诉本书的读者:你们开始了一趟旅程
Delores M. Etter,电气工程卡鲁思主席,德克萨斯州达拉斯市南卫理公会大学莱尔工程学院达尔文迪森网络安全研究所杰出研究员。
(Etter博士,美国国家工程学院院士、IEEE会员、美国工程教育学会会员。20052007年,她担任海军助理秘书长,负责研究、开发和收购;19982001年,她担任美国国防科技部副部长。她还是许多工程教科书的作者,其中包括几本MATLAB的教科书。)
前言
本书供需要在实时数字信号处理(DSP)方面具有简单实践经验的学生、教育工作者和工程师使用。过去,在实时DSP方面,理论与实践之间存在着巨大的差距,本书使用作者已证明的方法弥补了这一差距。本书分为三个部分:理论基础(共9章)、项目实践(共12章)和附录(共10章)。本书附带的软件包括所有必要的源代码,以及附加信息和教程材料,以帮助读者掌握实时DSP(有关访问软件的操作指南,请参阅第1章)。还有一个网站支持这本书(见http:www.rtdsp.com),读者可以在那里找到最新的新闻、提示、教程、勘误表、额外的材料和软件。
我们设想,如果读者是第一次接触DSP,则他们应结合更传统的、理论性更强的信号处理教材一起使用本书。您正在阅读的这本书并不是为了教授基本的DSP理论,而是假设您已经了解或正在学习DSP理论。本书不是讲授理论,而是使用一个非常实用的、逐步引导的框架,提供实时DSP的实践经验,并在此过程中强化这种基本的DSP理论(作者称之为理论基础)在一本篇幅合理的书中以有效的方式既讲授理论又讲授实践是极不实际的。。该框架在每章中使用了一系列演示、练习和实践项目,首先对适用理论进行快速概述,然后使用MATLAB来应用这些概念,最后在一些最新的高性能DSP硬件上实时运行适用程序。这些项目指导读者来为自己创建各种有趣的实时DSP程序。请务必查看本书的附录有些读者评论说,这些附录让这本书很值!每个理论基础章节在该章的最后都提出一些问题,作为家庭作业或自学,检验读者对特定章节里的关键DSP概念的理解。如前所述,这些关键概念通常仅在书中进行简要介绍,更深入的内容期望来自读者已经阅读的或现在正与本书结合使用的、更传统的、理论性更强的教材。这是有意安排的,如果读者难以找到章节最后所提问题的解决方案,那么就基本确定了读者需要对该理论进行回顾以便充分利用本教材。
理想情况下,读者应该参加或已经参加过介绍性的DSP(或离散时间信号和系统)的课程。然而,我们已经成功将本书的各个部分用于还没有参与过DSP课程的学生作为补充理论的及时方法。这本书的主题覆盖范围足够广泛,同时包含本科和研究生水平的课程。期望读者对MATLAB和C编程语言有基本的了解,但也不必是这方面的专家。为了充分利用这本书,读者应该能够使用相对适中的硬件和软件工具集合。特别是,一些推荐的项目包括一台运行版本比较新的Microsoft Windows(例如Windows 7 SP18.110)的标准PC、一份MATLAB及其信号处理工具箱的拷贝,以及下面介绍的一块廉价的德州仪器DSP电路板(带软件)。其他一些杂项项目,如信号源(任何能够播放数字音乐的设备都可以正常工作,如iPod、智能手机,甚至CD播放器)、扬声器(通常连接到PC电源的类型即可)、耳机或耳塞,以及3.5毫米立体声接插线(有时称为18英寸立体声唱机插头电缆)都会有用。为了以最大的灵活性处理输入和输出信号,支持DSP电路板的几种不同编解码器(见第1章)使用一些常见的测试设备,如示波器、频谱分析仪和信号发生器,可以获得更大的灵活性,但我们展示了如何在需要时使用第二块便宜的DSP电路板甚至PC的声卡作为此类测试设备的廉价替代品。
实时数字信号处理从MATLAB到C基于TMS320C6x DSP第3版本书中介绍并随书提供的实时软件支持德州仪器公司(TI)提供的几种相对便宜的DSP电路板。这些电路板包括TI低成本开发套件(Low Cost Development Kit,LCDK)的OMAPL138版本、LogicPD Zoom OMAPL138实验者套件(Experimenter Kit)和仍然可用的TMS320C6713 DSK首字母缩略词DSK代表DSP Starter Kit。而本书中讨论的LCDK和实验者套件(Experimenter Kit)电路板未被TI正式称为DSK,我们选择简化讨论,并经常称所有的电路板为DSK。这些电路板可以从授权的TI分销商处购买,也可以直接从TI购买(参见第1.3.1小节)。请注意,TI提供了大量学术折扣和捐赠(也在第1.3.1小节中讨论)。。这些具有与TMS320C6711 DSK有限的向后兼容性,但在本书中未明确涵盖这种已终止的电路板。目前可用的电路板都是标配(或可以免费下载)一套强大的软件开发工具(Code Composer StudioTM),我们在后面的章节中会大量使用这些工具。
第1版是为响应各种大学的学生和教师的许多要求而写的。当作者在各种会议上介绍本书中出现的一些概念和代码时,我们被一群试图靠他们各自的努力去弥合理论与实践(使用实时硬件)之间的差距的听众包围。第1版将我们统一的、逐步过渡的、以跨越这个差距的方法汇集在一个单一的来源中,被证明是相当流行的。
第2版做了更新,其中包括对更强大的DSP开发电路板的支持。该开发电路板当时可从德州仪器公司(TI)获得,即LogicPD Zoom OMAPL138实验者套件(Experimenter Kit)。该电路板现在已不再生产,但仍在许多大学中使用。第2版还添加了一些其他主题(例如PN序列)和一些更高级的实时DSP项目(例如像QPSK和QAM这样的用于发射器和接收器的高阶数字通信项目),这些是第1版的读者所要求的。
第3版(即本书)为最新的、功能强大的廉价DSP开发电路板提供支持,该电路板目前可从德州仪器公司(TI)获得,即OMAPL138OMAPL138同时包含C6748和ARM处理器内核,我们二者都用。 LCDK。这个复杂但功能极其丰富的电路板是一个很好的例子,说明了为什么我们的书被如此多的工程师、教育工作者和学生使用:我们让开始使用这个电路板进行实时DSP变得容易,并使读者少走了许多弯路。本书所支持的DSP板的更详细描述见第1章。第3版还包括两个应早期版本的读者所要求的新的实时DSP项目(探索二阶节的使用和自适应滤波器的设计)。我们还添加了3个新的附录:MATLAB提供的代码生成(Code Generation)工具介绍,如何将LCDK转换为便携式电池驱动设备的指南,以及本版本直接支持的3个DSP电路板的比较。在这个版本中,出版商增加了彩色印制,我们重新生成了书中的大部分图,以充分利用这一点。我们还检查并运行了(在3种电路板的每一种上)本书附带的所有软件。与之前的版本一样,我们吸纳了来自早期版本的许多用户的宝贵的得到高度赞赏的反馈和建议,从而使本书成为一本我们所希望的更好的书。
请注意,任何勘误、更新、其他软件和其他相关材料都将发布在由作者维护的本书网站上,网址为http:www.rtdsp.com。由于DSP硬件的更新速度比我们可以出版本书新增补版的速度更快,因此该网站将为作者提供一种方法来支持这种更新,甚至包括那些在本书当前版本出版后才推出的所选择的新DSP电路板。为了您的方便,本前言末尾的二维码也将带您进入该网站。出版商CRC Press(Taylor &Francis Group的一部分)也提供了一个安全的网页,用于访问本书的解决方案手册(Solutions Manual)等材料,允许采用本书作为其中一门或多门课程的教学资料的教授们访问,有需要请联系出版商了解详情。
从DSP理论到实时实现之路充满了潜在的坑洼和其他障碍,这些障碍在历史上造成了理论与实践之间众所周知的差距。本书提供了一种经过验证的方法,可以平滑路径、清除障碍并避免通常会遇到的挫折,帮您缩小差距。我们希望您喜欢这趟旅程
致谢
如果没有德州仪器公司(TI)的支持和帮助,这本书不可能完成。特别地,我们想对凯西威克斯(Cathy Wicks)表达衷心的感谢,他在指导德州仪器公司的全球大学项目方面不遗余力,使无数的学生和教授都能负担得起DSP。凯西的前任克里斯蒂娜彼得森(Christina Peterson)、玛丽亚霍(Maria Ho)和托伦斯罗宾逊(Torrence Robinson)也为我们的努力做出了贡献,最终促成了这本书的出版。德州仪器公司对DSP教育的支持在业界是无与伦比的,我们非常感激这种前瞻性的企业愿景。
我们还要感谢CRC Press(Taylor &Francis Group的一部分)的Nora Konopka和Kyra Lindholm,在他们的帮助和指导下完成了本书。他们的实时帮助、快速响应和永不言败的幽默感应成为其他出版商的榜样。请注意,我们以完全格式化为可直接拍照制版的形式向出版商提供了原稿,因此任何文稿错误都是我们的错,而不是出版商的。
我们要感谢罗伯特W科南特(Robert W. Conant)对QPSK数字接收机一章的宝贵贡献,以及布莱恩L埃文斯(Brian L. Evans)关于书中PN序列覆盖范围的有益建议。怀俄明大学(University of Wyoming)的罗伯特F库比切克(Robert F. Kubichek)也提供了许多出色的建议和反馈。
匿名评审员的投入和许多第1版、第2版用户的经验使得本书得到了明显的改进,他们给予我们宝贵的反馈和许多优秀的建议。
如果我们在这份简短的致谢中遗漏了一个与文本编写相关的插件,将是我们的失职。本书是用LaTeX排版的,这是Leslie Lamport开发的一个功能强大的文档准备系统,是Donald Knuth的TeX程序的一个特殊宏集合(具体来说,我们使用了pdfLaTeX以直接生成PDF文件输出,它是Han The Thanh创建的pdfTeX的变体)。LaTeX是技术写作的理想工具,得到了TeX用户组(TUG)全球成员的大力支持,详情请访问http:www.tug.org。TeX、LaTeX和pdfLaTeX在公共领域免费提供(TeX是美国数学协会的商标)。我们使用优秀的TeXStudio免费软件编辑器(见http:texstudio.sourceforge.net)作为TeX用户组(TUG)免费提供的LaTeX的全面的TeX Live分发版的前端。为了以标准BibTeX语法维护书目参考数据库,我们使用了免费提供且功能强大的JabRef程序(请参阅http:jabref.sourceforge.net)。所有这些程序不仅是免费的,而且可以用于多种操作系统。本书中的插图主要是用两个程序之一创建的:Canvas和MATLAB。Canvas是美国ACD系统有限公司(ACD Systems of America, Inc.)的高端技术绘图软件包,它可以在同一个图形中创建、操作向量和位图图像,且提供了类似于将Adobe Illustrator和Adobe Photoshop组合在一个软件包中的功能。 MATLAB是由迈斯沃克软件有限公司(The MathWorks, Inc.)开发的,它是一个功能极其强大的数值计算环境和第四代编程语言,且有许多可用于各种专业领域的工具箱扩展。