第15章 频域信号处理 505
15.1 FFT演示程序 505
15.1.1 FFT知识复习 505
15.1.2 合成时域信号 509
15.1.3 三角波FFT演示程序 511
15.2 观察信号的频谱 512
15.2.1 窗函数 515
15.2.2 频谱平均 517
15.2.3 谱图 519
15.3 卷积运算 522
15.3.1 快速卷积 522
15.3.2 分段运算 524
15.4 信号处理 526
15.4.1 基本框架 527
15.4.2 频域滤波器 528
15.4.3 频率变调处理 530
15.4.4 用谱图差减法降噪 531
15.5 Hilbert变换 532
第16章 用C语言提高计算效率 537
16.1 用ctypes调用DLL库 537
16.2 用Weave嵌入C++程序 541
16.2.1 Weave的工作原理 541
16.2.2 处理NumPy数组 543
16.2.3 使用blitz()提速 546
16.2.4 扩展模块 548
16.3 用Cython将Python编译成C 549
16.3.1 编译Cython程序 549
16.3.2 提高计算效率 550
16.3.3 快速访问NumPy数组 553
16.4 用SWIG创建扩展模块 555
16.4.1 SWIG的调用方法和实例 555
16.4.2 SWIG基础 558
16.4.3 SWIG处理NumPy数组 566
第17章 自适应滤波器 571
17.1 自适应滤波器简介 571
17.1.1 系统识别 571
17.1.2 信号预测 572
17.1.3 信号均衡 572
17.2 NLMS计算公式 573
17.3 用NumPy实现NLMS算法 575
17.3.1 系统辨识模拟 577
17.3.2 信号均衡模拟 579
17.3.3 卷积逆运算 581
17.4 用C语言加速NLMS运算 583
17.4.1 用SWIG编写扩展模块 583
17.4.2 用Weave嵌入C++程序 586
第18章 单摆和双摆模拟 588
18.1 单摆模拟 588
18.1.1 小角度时的摆动周期 589
18.1.2 大角度时的摆动周期 590
18.2 双摆模拟 592
18.2.1 公式推导 592
18.2.2 微分方程的数值解 595
18.2.3 动画演示 598
第19章 分形几何 599
19.1 Mandelbrot集合 599
19.1.1 使用NumPy加速计算 601
19.1.2 使用Weave加速计算 603
19.1.3 连续的逃逸时间 604
19.1.4 Mandelbrot演示程序 605
19.2 迭代函数系统(IFS) 606
19.2.1 二维仿射变换 610
19.2.2 迭代函数系统设计器 610
19.3 L-System分形 613
19.4 分形山脉 616
19.4.1 一维中点移位法 616
19.4.2 二维中点移位法 618
19.4.3 菱形方形算法 619