第1章 ARM Cortex-M4开发系统 1
1.1 简介 1
1.1.1 音频接口 1
1.1.2 德州仪器TM4C123 LaunchPad和STM32F407 Discovery开发套件 2
1.1.3 硬件和软件工具 5
参考文献 5
第2章 模拟输入和输出 6
2.1 简介 6
2.2 用作音频输入和输出的AIC3104立体声信号编解码器 7
2.3 用作音频输入和输出的WM5102音频插孔板信号编解码器 9
2.4 编程示例 9
2.5 使用查询、中断和DMA进行实时输入和输出 10
2.5.1 TM4C123的I2S仿真 11
2.5.2 程序操作 11
2.5.3 运行程序(例程tm4c123_loop_poll.c) 12
2.5.4 将输入连接改为LINE IN 12
2.5.5 改变抽样频率 12
2.5.6 使用沃尔夫森声卡上的数字MEMS麦克风 15
2.5.7 运行程序(例程stm32f4_loop_poll.c) 15
2.5.8 运行程序(例程tm4c123_loop_intr.c) 18
2.5.9 TM4C123处理器的DMA 21
2.5.10 运行程序(例程tm4c123_loop_dma.c) 24
2.5.11 监测程序执行 24
2.5.12 测量由基于DMA的I/O方式引入的时延 24
2.5.13 STM32F407处理器的DMA 27
2.5.14 运行程序(例程stm32f4_loop_dma.c) 28
2.5.15 测量由基于DMA的I/O方式引入的时延 28
2.5.16 运行程序(例程stm32f4_loop_buf_intr.c) 38
2.6 实时波形生成 38
2.6.1 运行程序(例程stm32f4_sine 48_intr.c) 40
2.6.2 AIC3104信号编解码器输出中的带外噪声(例程tm4c123_sine48_intr.c) 41
2.6.3 运行程序(例程stm32f4_sine_intr.c) 44
2.6.4 运行程序(例程stm32f4_square_intr.c) 51
2.6.5 运行程序(例程tm4c123_am_poll.c) 58
2.7 利用伪随机噪声识别DAC的频率响应 58
2.7.1 AIC3104信号编解码器的可编程去加重滤波器 61
2.7.2 AIC3104信号编解码器的可编程数字特效滤波器 63
2.8 混叠 65
2.9 利用自适应滤波器识别DAC的频率响应 70
2.10 STM32F407的12位DAC的模拟输出 79
参考文献 82
第3章 有限冲激响应滤波器 83
3.1 数字滤波器简介 83
3.1.1 FIR滤波器 83
3.1.2 z变换简介 84
3.1.3 z变换的定义 85
3.1.4 z变换的性质 92
3.1.5 z传递函数 94
3.1.6 s平面到z平面的映射 94
3.1.7 差分方程 95
3.1.8 频率响应和z变换 96
3.1.9 z反变换 96
3.2 理想滤波器响应分类:LP、HP、BP、BS 96
3.2.1 采用窗口法设计FIR滤波器 96
3.2.2 窗函数 98
3.2.3 采用窗口法设计理想高通、带通和带阻FIR滤波器 101
3.3 编程示例 105
3.3.1 改变滑动平均滤波器的系数 112
3.3.2 使用MATLAB生成FIR滤波器系数头文件 117
第4章 无限冲激响应滤波器 139
4.1 简介 139
4.2 IIR滤波器结构 140
4.2.1 直接Ⅰ型结构 140
4.2.2 直接Ⅱ型结构 140
4.2.3 直接Ⅱ型转置 141
4.2.4 级联型结构 142
4.2.5 并联型结构 143
4.3 冲激不变法 144
4.4 双线性变换 145
4.5 编程示例 146
参考文献 183
第5章 快速傅里叶变换 184
5.1 简介 184
5.2 基2 FFT算法的开发 184
5.3 频率抽取基2 FFT算法 185
5.4 时间抽取基2 FFT算法 188
5.5 频率抽取基4 FFT算法 191
5.6 快速傅里叶反变换 192
5.7 编程示例 192
5.8 基于帧或者块的编程 202
5.8.1 运行程序(例程tm4c123_dft128_dma.c) 205
5.8.2 频谱泄露 206
5.9 快速卷积 212
5.9.1 运行程序(例程tm4c123_fastconv_dma.c) 216
5.9.2 以快速卷积法实现FIR滤波器的执行时间 216
参考文献 220
第6章 自适应滤波器 221
6.1 简介 221
6.2 自适应滤波器布局 222
6.2.1 自适应预测 222
6.2.2 系统识别或者直接建模 222
6.2.3 噪声消除 222
6.2.4 均衡 223
6.3 性能函数 224
6.4 搜索最小值 225
6.5 最小均方算法 226
6.5.1 LMS演化 227
6.5.2 归一化LMS算法 227
6.6 编程示例 227