国际信息工程先进技术译丛 实时数字信号处理 基于TMS320c6x DSK平台的Matlab到C 高清晰可复制文字版
作者:(美)韦尔奇,(美)赖特,(美)莫鲁 著,曹建国 等译
出版时间:2011
内容简介
《实时数字信号处理:基于TMS320c6x DSK平台的Matlab到C》是一本有关实时数字信号处理的译作,主要介绍了基于数字信号理论的Matlab算法程序如何转换到实时数字信号处理平台上使用的C语言程序。《实时数字信号处理:基于TMS320c6x DSK平台的Matlab到C》首先介绍了数字信号处理常用的采样与重构、FIR数字滤波器、IIR数字滤波器、周期信号产生、帧结构、基于帧的数字滤波、FFT、谱分析和窗函数的理论、算法的Matlab仿真及硬件平台实时处理实现,接着介绍了8个实际的工程项目应用。《实时数字信号处理:基于TMS320c6x DSK平台的Matlab到C》内容翔实,讲解深入浅出,通过大量实例的介绍可以帮助读者顺利地实现从Matlab仿真算法到硬件平台上的实时处理的转换。《实时数字信号处理:基于TMS320c6x DSK平台的Matlab到C》适合信号处理方面的工程、技术人员使用,也可以作为通信等专业相关研究生课程的指导用书。
目录
译者序
原书前言
致谢
作者简介
基础篇
第1章 导言和内容结构
1.1 为什么需要本书
1.1.1 另外一些关于数字信号处理的书籍
1.1.2 演示范例和DSP硬件
1.1.3 本书的理念
1.2 实时DSP
1.3 如何使用本书
1.3.1 转换到实时
1.3.2 各章 的内容
1.3.3 硬件和软件的安装
1.3.4 阅读代码注意事项
1.4 开始学习
第2章 采样与重构
2.1 理论
2.1.1 选择采样频率
2.1.2 输入/输出问题:采样或帧
2.1.3 Talk?Through概念精讲
2.2 winDSK6示例
2.2.1 winDSK6的启动
2.2.2 Talk?Thru应用
2.3 Talk?Through使用窗口
2.4 Talk?Through使用Matlab和Windows
2.4.1 只使用Matlab的Talk?Through
2.4.2 使用Matlab的流程详解
2.5 使用C语言的DSK实现
2.6 接下来的挑战
第3章 FIR数字滤波器
3.1 理论
3.1.1 传统符号
3.1.2 FIR滤波器和IIR滤波器比较
3.1.3 计算滤波器的输出
3.2 winDSK6 示例
3.2.1 图形均衡器应用
3.2.2 陷波滤波器应用
3.2.3 音效应用
3.3 Matlab应用
3.3.1 内建方法
3.3.2 生成自己的滤波器算法
3.4 使用C语言的DSK实现
3.4.1 使用C语言的平滑FIR滤波:第1部分
3.4.2 使用C语言的平滑FIR滤波:第2部分
3.4.3 环形缓冲FIR滤波
3.5 接下来的挑战
第4章 IIR数字滤波器
4.1 理论
4.2 winDSK6示例:陷波器的应用
4.3 Matlab 应用
4.3.1 数字滤波器的设计和分析
4.3.2 IIR滤波器描述
4.3.3 框图
4.3.4 内建的方法
4.3.5 创建自己的滤波器算法
4.4 使用C语言的DSK实现
4.4.1 平滑(倒L形)IIR滤波器
4.5 接下来的挑战
第5章 周期信号产生
5.1 理论
5.1.1 在DSP中的周期信号
5.1.2 信号产生
5.2 winDSK6范例
5.2.1 任意波形
5.2.2 双音多频
5.3 Matlab应用
5.3.1 直接数字合成器方法
5.3.2 查表方法
5.4 使用C语言的DSK实现
5.4.1 直接数字合成方法
5.4.2 查表方法
5.4.3 带有表格创建程序的查表方法
5.4.4 数字式谐振器方法
5.5 接下来的挑战
第6章 基于DSP的帧结构
6.1 理论
6.1.1 基于采样数字信号处理的缺点
6.1.2 什么是帧结构
6.2 winDSK6范例
6.3 Matlab应用
6.4 C语言在DSK上的应用
6.4.1 三重缓冲存储器
6.4.2 基于帧的DSP例程
6.4.3 直接存储器存取应用
6.5 基于帧处理的总结
6.6 接下来的挑战
第7章 使用帧的数字滤波器
7.1 理论
7.2 winDSK6范例
7.3 Matlab应用
7.4 使用C语言的DSK实现
7.4.1 理解FIR对帧的处理
7.4.2 怎样避免\”\”边缘\”\”问题
7.4.3 该C语言程序代码的解释
7.5 接下来的挑战
第8章 快速傅里叶变换
8.1 理论
8.1.1 快速傅里叶变换定义
8.1.2 旋转因子
8.1.3 FFT处理
8.1.4 位码倒置
8.1.5 使用FFT滤波
8.1.6 避免循环卷积
8.1.7 实时快速卷积
8.2 winDSK6范例
8.3 Matlab应用
8.4 使用C语言的DSK实现
8.5 接下来的挑战
第9章 谱分析和加窗
9.1 基础理论
9.1.1 信号的功率谱
9.1.2 对加窗的需求
9.1.3 窗函数特征
9.2 winDSK6范例
9.3 Matlab应用
9.4 基于C语言的DSK应用
9.5 结论
9.6 接下来的挑战
工程篇
第10章 工程1:吉他的特殊效果
10.1 项目介绍
10.2 理论
10.2.1 背景
10.2.2 这些效果如何工作
10.3 winDSK6范例
10.4 Matlab实现
10.4.1 FIR梳状滤波器
10.4.2 IIR梳状滤波器
10.4.3 陷波滤波器
10.4.4 镶边
10.4.5 颤音
10.5 DSK的C语言实现
10.5.1 实时梳状滤波器
10.5.2 其他实时特效
10.6 接下来的挑战
第11章 工程2:图形化均衡器
11.1 理论
11.2 winDSK6 范例
11.2.1 图形均衡器应用
11.2.2 图形均衡器的效果
11.3 Matlab的实现方法
11.4 DSK的C语言实现
11.4.1 设定滤波器带宽增益
11.4.2 GEL文件的滑轮控制
11.5 接下来的挑战
第12章 工程3:峰值音量表
12.1 理论
12.2 winDSK6 描述:commDSK
12.3 Matlab实现
12.4 DSK的C语言实现
12.4.1 PPM编码的例子
12.4.2 DSK LED控制
12.4.3 另一个PPM的代码版本
12.5 接下来的挑战
第13章 工程4:AM发射机
13.1 理论
13.2 winDSK6描述
13.3 Matlab实现
13.4 使用C语言的DSK实现
13.5 接下来的挑战
第14章 工程5:AM接收机
14.1 理论
14.1.1 包络检波器
14.1.2 基于Hilbert的AM接收机
14.2 winDSK6描述
14.3 Matlab实现
14.4 DSK的C语言实现
14.5 接下来的挑战
第15章 工程6:锁相环
15.1 理论
15.2 winDSK6描述
15.3 Matlab实现
15.3.1 PLL仿真
15.3.2 Matlab实现的一些更新
15.4 使用C语言的DSK实现
15.4.1 PLL的组成部分
15.4.2 系统测试
15.5 接下来的挑战
第16章 工程7:数字通信发射机
16.1 理论
16.1.1 随机数和符号发生器
16.1.2 使用双极矩形脉冲比特位BPSK
16.1.3 使用脉冲调制的升余弦形态的比特位BPSK
16.2 winDSK6说明
16.2.1 commDSK:未滤波的BPSK
16.2.2 commDSK :升余弦滤波的BPSK
16.3 Matlab实现
16.3.1 矩形BPSK信号发生器
16.3.2 脉冲调制的升余弦BPSK信号发生器
16.4 C语言实现DSK
16.4.1 一个矩形脉冲型BPSK发射机
16.4.2 一个升余弦脉冲型BPSK发射机
16.4.3 实时代码总结
16.5 接下来的挑战
第17章 工程8:数字通信接收机
17.1 理论
17.1.1 匹配滤波器的输出
17.1.2 眼图
17.1.3 最大似然同步恢复
17.2 winDSK6说明
17.3 Matlab实现
17.4 使用C语言的DSK实现
17.4.1 数字接收机元件
17.4.2 系统测试
17.5 接下来的挑战
附录
附录A 代码设计套件:简要指南
A.1 介绍
A.2 启动代码设计套件
A.3 必要的文件
A.4 创建一个新的工程
A.5 打开存在的工程
A.6 添加文件到一个工程中
A.7 工程选项
A.8 构建工程
A.9 加载程序到DSK板
A.1 0在DSK板上运行程序
A.1 1开始了解CCS
A.1 2CCS工程的典型文件
附录B DSP/BIOS
B.1 介绍
B.1.1 DSP/BIOS主要特征
B.1.2 DSP/BIOS线程
B.2 使用DSP/BIOS调度程序
B.2.1 添加一个周期函数PRD
B.2.2 添加一个HWI函数
B.2.3 添加一个SWI函数
B.2.4 添加一个TSK函数
B.2.5 实时分析工具
B.3 在6711 DSK板上的一个DSP/BIOS Talk?Through应用程序
B.3.1 主函数main?c
B.3.2 hwi?c
B.3.3 DSP/BIOS 的硬件配置
B.3.4 DSP/BIOS串口配置
B.3.5 源代码
B.4 对立体声编解码器来说需要做的更改
B.4.1 主函数main?c
B.4.2 hwi?c
B.4.3 DSP/BIOS HWI 配置
B.4.4 DSP/BIOS 串口配置
B.5 一个DSP/BIOS 的Talk?Through应用基于6713 DSK板
B.5.1 main?c
B.5.2 hwi?c
B.5.3 DSP/BIOS HWI 配置
B.5.4 DSP/BIOS 串口配置
B.5.5 源代码
附录C 数值表示
C.1 字节顺序
C.2 整型表示
C.3 整数除法和取整
C.4 浮点表示法
C.5 定点表示法
C.6 数值表示方法总结
附录D TMS320C6x结构
D.1 计算机结构基础
D.1.1 指令集架构
D.1.2 寄存器结构
D.1.3 内存结构
D.1.4 取指?执行模式
D.1.5 流水线操作
D.1.6 单线程与多线程
D.1.7 调度
D.2 TMS320C671x结构
D.2.1 存储器系统
D.2.2 流水线和程序调度
D.2.3 外设
D.2.4 主机接口
附录E DSK的相关工具
E.1 介绍
E.2 Windows控制应用程序
E.2.1 基本的Windows控制应用程序
E.2.2 产生一个示波器应用程序
E.2.3 创建一个频谱分析应用程序
E.3 Matlab输出
E.3.1 输出直接Ⅱ型
E.3.2 输出2阶环节实现
E.4 Matlab实时接口
附录F 编程风险和陷阱
F.1 Debug 对 Release Builds
F.2 易变性关键词
F.3 函数原型和返回类型
F.4 算术问题
F.5 控制变量在存储器中的位置
F.6 实时调度故障
附录G 文字符号说明
参考文献