《OMAP-L138eXperimenterDSP原理与应用实例》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(英)DONALDREAY著;林征宇,邓颖译
  • 出 版 社:北京:科学出版社
  • 出版年份:2014
  • ISBN:9787030406828
  • 页数:332 页
图书介绍:OMAP-L138处理器包含ARM和DSP内核,目的是在便携式和移动多媒体应用。这本书主要针对在其C6748DSP内核上实现实时DSP算法的演示。本书为OMAP-L138数字信号处理实验和应用提供了一套广泛而全面的程序例子,主要章节包括:“模拟输入和输出的OMAP-L138的实验者”“有限脉冲响应滤波器”“无限脉冲响应滤波器”“快速傅里叶变换”自适应滤波器”DSP/BIOS和平台支持包。

第1章 OMAP-L138开发系统 1

1.1 引 言 1

1.2 硬件和软件工具 3

1.2.1 Zoom OMAP-L138 eXperimenter实验板 5

1.2.2 C6748处理器 5

1.2.3 CCS IDE 6

1.2.4 安装CCSv4软件和相关的支持文件 6

1.3 使用书中提供的代码对eXperimenter实验板进行初步测试 7

1.4 测试实验板的例程 11

例1.1 产生由48个点组成的正弦信号,并在数据缓存区存储输出数据用于CCS软件和MATLAB绘图(L138 sine48 buf intr) 12

例1.2 两个数组的点积运算(L138 dotp4) 23

1.5 支持文件 28

1.5.1 初始化配置文件(L138 aic3106 init.c) 28

1.5.2 头文件(L138 aic3106 init.h) 28

1.5.3 向量文件(vectors intr.asm和vector po11.asm) 28

1.5.4 链接命令文件(linker dsp.cmd) 32

练 习 33

参考文献 33

第2章 使用OMAP-L138实验板的模拟输入和模拟输出 35

2.1 引 言 35

2.2 用于模拟输入和输出的板载立体声编解码器TLV320AIC-3106(AIC3106) 36

2.3 C语言的编程实例 37

2.3.1 基于轮询、中断和直接存储器访问的实时I/O方法 38

例2.1 基于轮询的基本输入/输出(L138_loop_po11) 38

例2.2 基于中断的基本输入/输出(L138_loop_intr) 43

例2.3 基于DMA的基本输入/输出(L138_loop_edma) 46

例2.4 修改程序L138_loop_intr.c产生延时效果(L138_delay_intr) 50

例2.5 修改程序L138_loop_intr.c产生回声(L138_echo_intr) 52

例2.6 修改程序L138_loop_intr.c产生翻边效应(L138_flanger_intr) 53

例2.7 输入数据保存在缓存器中的循环程序(L138_loop_buf_intr) 57

2.3.2 实时的正弦波发生器 61

例2.8 基于查表方法的正弦波发生器(L138_sine48_intr) 62

例2.9 基于调用函数sin()的正弦波发生器(L138_sine_intr) 63

例2.1 0 用DIP开关控制正弦信号发生器输出的幅度和频率(L138_sine_DIP_intr) 66

例2.1 1 用含有8000个采样点数据的查找表产生正弦扫频效果(L138_sweep_po11) 68

例2.1 2 使用查表方法产生双音多频(DTMF)音调(L138_sineDTMF_intr) 70

例2.1 3 信号重构、混叠及编解码器AIC3106的属性(L138_sine_intr.c) 72

例2.1 4 基于查表的方波发生器(L138_squarewave_intr) 73

例2.1 5 AIC3106 DAC重构滤波器的脉冲响应(L138_dimpulse_intr) 74

例2.1 6 输入为伪随机二进制序列的DAC重构滤波器的频率响应(L138_prbs_intr) 74

例2.1 7 输入为伪随机噪声的DAC重构滤波器的频率响应(L138_prandom_intr) 83

例2.1 8 编解码器AIC3106中抗混叠滤波器的阶跃响应(L138_loop_buf_intr) 83

例2.1 9 编解码器AIC3106抗混叠滤波器的演示(L138_sine48_loop_intr) 85

例2.2 0 混叠的演示(L138_aliasing_intr) 87

例2.2 1 使用自适应滤波器识别编解码器AIC3106的带宽(L138_sysid_intr) 87

例2.2 2 用两块eXperimenter实验板辨识AIC3106编解码器的带宽 91

例2.2 3 斜坡发生器(L138_ramp_intr) 94

例2.2 4 调幅(L138_am_poll) 95

例2.2 5 使用外部存储器记录音乐(L138_record_poll) 97

参考文献 99

第3章 有限脉冲响应滤波器 101

3.1 数字滤波器概述 101

3.1.1 FIR滤波器 101

3.1.2 z变换介绍 103

例3.1 指数函数x(n)=enk的z变换 103

例3.2 阶跃函数x(n)=1的z变换 103

例3.3 正弦函数x(n)=sin(nωT)的z变换 104

3.1.3 z变换的基本性质 104

3.1.4 z传递函数 106

3.1.5 从s平面到z平面的映射 106

3.1.6 差分方程 107

3.1.7 频率响应和z变换 108

3.1.8 理想滤波器响应的分类:LP、HP、BP和BS 108

3.1.9 滤波器设计的窗函数方法 108

3.1.1 0 窗函数 109

例3.4 用窗函数的方法设计理想低通FIR滤波器 110

3.1.1 1 用频移的方法设计带通和高通滤波器 114

3.2 C语言和汇编语言的编程实例 117

例3.5 滑动平均滤波器(L138_average_intr) 117

例3.6 输入为内部产生的伪随机噪声的滑动平均滤波器(L138_average_prn_intr) 119

例3.7 用两块eXperimenter实验板识别滑动平均滤波器的频率响应(L138_sysid_intr) 121

例3.8 用一块eXperimenter实验板识别滑动平均滤波器的频率响应(L138_sysid_average_intr) 123

例3.9 具有滑动平均、低通、带阻和带通特性的FIR滤波器的滤波系数文件(L138_fir_intr) 127

例3.1 0 输入为伪随机噪声序列的FIR滤波器(L138_firprn_intr) 131

例3.1 1 输入为内部产生的伪随机噪声并把输出存在存储器上的FIR滤波器(L138_firprn_intr) 134

例3.1 2 3个FIR低通滤波器对声音信号的影响(L138_fir31p_intr) 138

例3.1 3 实现4种不同的滤波器:低通、高通、带通和带阻滤波器(L138_fir4types_intr) 139

例3.1 4 用两个陷波滤波器恢复损坏的语音记录(L138_notch2_intr) 141

例3.1 5 使用滤波和调制实现语音扰频 143

例3.1 6 用基于DMA的I/O实现FIR滤波器(L138_fir_edma) 145

例3.1 7 用DSPLIB库函数实现FIR滤波器(L138_fir_dsplib_edma) 147

例3.1 8 在C语言程序中调用ASM函数实现(L138_FIRcasm_intr.c) 150

例3.1 9 C语言程序调用一个更快的ASM函数实现FIR(FIRcasmfast) 152

参考文献 153

第4章 无限脉冲响应滤波器 155

4.1 引 言 155

4.2 IIR滤波器的结构 156

4.2.1 直接Ⅰ型 156

4.2.2 直接Ⅱ型 157

4.2.3 转置直接Ⅱ型 158

4.2.4 级联型 159

4.2.5 并联型 160

4.3 脉冲响应不变法 160

4.4 双线性变换法 161

4.5 C语言和汇编语言的编程实例 163

4.5.1 简单IIR低通滤波器的设计 163

例4.1 实现一个用级联直接Ⅱ型二阶滤波器组成的IIR滤波器(L138_iirsos_intr) 165

例4.2 实现一个用级联转置直接Ⅱ型2阶滤波器组成的IIR滤波器(L138_iirsostr_intr) 168

例4.3 用伪随机噪声作为输入来分析IIR滤波器的频率响应(L138_iirsosprn_intr) 169

例4.4 用一个脉冲序列作为输入来分析IIR滤波器的频率响应(L138_iirsosdelta_intr) 169

例4.5 用MATLAB工具fdatool设计4阶椭圆低通IIR滤波器 178

例4.6 用fdatool设计带通滤波器 182

例4.7 用DSPLIB库函数DSPF sp biquad()实现IIR滤波器(L138_iirsos_DSPLIB_edma) 184

例4.8 用定点运算实现IIR滤波器(L138_iir_intr) 188

例4.9 用编解码器AIC3106的数字滤波器实现4阶IIR滤波器(L138_sysid_biquad_intr) 189

例4.1 0 用差分方程产生一个正弦波(L138_sinegenDE_intr) 197

例4.1 1 用差分方程实现一个双音多频(DTFM)信号(L138_sinegenDTMF_intr) 199

例4.1 2 用差分方程实现正弦扫频信号(L138_sweepDE_intr) 202

例4.1 3 在C语言程序中调用汇编函数实现的基于差分方程的正弦波发生器(L138_sinegencasm_intr) 203

第5章 快速傅里叶变换 207

5.1 引 言 207

5.2 基2的FFT算法的推导 208

5.3 按频率抽取的基2的FFT算法 209

5.4 按时间抽取的基2的FFT算法 211

5.5 按频率抽取的基4的FFT算法 214

5.6 快速傅里叶逆变换 215

5.7 C语言的编程实例 216

例5.1 一个实数序列的离散傅里叶变换,用CCS软件的图形显示窗口MATLAB观察输出(L138_dft) 216

例5.2 估计DFT和FFT函数的执行时间(L138_dft、L138_dftw、L138_fft、L138_fft_dsplibr2) 225

5.7.1 基于帧的数据处理 229

例5.3 基于EDMA3的内存移动(L138_mem_edma) 235

例5.4 用DFT函数和预先计算的旋转因子进行实时DFT信号处理(L138_dft_128_edma) 242

例5.5 用C语言编写的FFT函数实现实时输入信号的FFT(L138_fft128_edma.c) 249

例5.6 用TI可被C程序调用的优化基2的FFT函数实现实时输入信号的FFT(L138_fft128_dsplibr2_edma) 253

例5.7 用TI可被C程序调用的优化DSPLIB FFT函数实现一个正弦输入信号的FFT(L138_fft_sinetable_edma) 253

5.7.2 快速卷积运算 256

例5.8 快速卷积的演示(L138_fastconv_demo) 257

例5.9 实时快速卷积(L138_fastconv_edma) 265

例5.1 0 图形均衡器(L138_graphicEQ_DSPLIB_edma) 268

参考文献 275

第6章 自适应滤波器 277

6.1 引 言 277

6.2 自适应滤波器的配置结构 278

6.2.1 自适应预测 278

6.2.2 系统辨识或直接建模 278

6.2.3 噪声消除 279

6.2.4 均 衡 280

6.3 性能函数 280

6.4 寻找最小值 282

6.5 最小均方算法 283

6.6 C语言的编程实例 284

例6.1 用C语言编写的自适应滤波器(L138_adaptc) 284

例6.2 用于正弦噪声消除的自适应滤波器(L138_adaptnoise_intr) 287

例6.3 用外部输入测试用于噪声消除的自适应FIR滤波器(L138_adaptnoise_2IN_iir_intr) 289

例6.4 用于系统辨识的自适应FIR滤波器,用已知FIR滤波器当作未知系统进行测试(L138_adaptIDFIR_intr) 292

例6.5 用于系统辨识的自适应FIR滤波器,未知系统为一个FIR滤波器,自适应FIR滤波器被初始化为一个FIR带通滤波器(L138_adaptIDFIR_init_intr) 296

例6.6 用于系统辨识的自适应FIR滤波器,未知系统为一个IIR滤波器(L138_iirsosadapt_intr) 298

例6.7 用于系统辨识的自适应FIR滤波器,未知系统为eXperimenter板外系统(L138_sysid_intr) 299

例6.8 用于系统辨识的自适应FIR滤波器,未知系统为eXperimenter板外系统,自适应滤波器为DSPLIB函数DSPF_sP_fir_gen()(L138_sysid_DSPLIB_edma) 302

第7章 DSP/BIOS和平台支持包 305

7.1 引 言 305

7.1.1 DSP/BIOS线程 305

7.1.2 DSP/BIOS配置工具 306

7.1.3 DSP/BIOS的启动顺序 307

7.1.4 硬件中断 307

例7.1 用DSP/BIOS硬件中断实现的正弦波发生器(L138_bios_sine48_intr_HWI) 307

7.1.5 软件中断 316

例7.2 用DSP/BIOS硬件中断HWI和软件中断SWI实现的FIR滤波器(L138_bios_firprn_intr_SWI) 317

7.1.6 任务和空闲函数 319

例7.3 基于DMA的I/O的系统辨识,用信号量机制给出传输完成信号(L138_bios_sysid_edma_TSK.c) 319

例7.4 基于DMA的I/O的系统辨识,用信号量机制给出传输完成信号(L138_bios_sysid_edma_IDL) 324

7.1.7 周期性函数 325

例7.5 用DSP/BIOS的PRD控制LED以不同的速率闪烁(L138_bios_LED_PRD) 325

7.1.8 DSP/BIOS实时分析 327

7.2 DSP/BIOS平台支持包 328

例7.6 基本的输入和输出(L138_psp_loop.c) 329

例7.7 生成随机噪声(L138_psp_prbs.c) 330

例7.8 用随机噪声作为输入的FIR滤波器(L138_psp_firprn_DSPLIB) 330

参考文献 332