SP++ (Signal Processing in C++) 是一个关于信号处理与数值计算的开源C++程序库,该库提供了信号处理与数值计算中经常使用算法的C++实现。SP++中全部算法都以C++类模板方法实现,以头文件形式组织而成,因此不须要用户进行本地编译,只要将相关的头文件包含在项目中便可使用。”XXX.h”表示声明文件,”XXX-impl.h”表示对应的实现文件。全部的函数和类均位于名字空间”splab”中,所以使用SP++时要进行命名空间声明:”using namespace splab”。算法
SP++项目地址:http://code.google.com/p/tspl/,全部算法以代码的形式发表在了“开源中国社区”,博客地址为:http://my.oschina.net/zmjerry/blog,如有找不到的文件,能够经过博客主页提供的“搜索博客”功能进行查找。函数
SP++中实现的相关算法目录以下:优化
1 向量类模板google
1.1 基本向量类编码
1.2 经常使用数学函数的向量版本spa
1.3 经常使用的辅助函数.net
1.4 简单计时器设计
2 矩阵类模板code
2.1 基本矩阵类blog
2.2 经常使用数学函数的矩阵版本
2.3 实矩阵与复矩阵的Cholesky分解
2.4 实矩阵与复矩阵的LU分解
2.5 实矩阵与复矩阵的QR分解
2.6 实矩阵与复矩阵的SVD分解
2.7 实矩阵与复矩阵的EVD分解
2.8 矩阵的逆与广义逆
3 线性方程组
3.1 常规线性方程组
3.2 超定与欠定线性方程组
3.3 病态线性方程组
4 非线性方程与方程组
4.1 非线性方程求根
4.2 非线性方程组求根
4.3 Romberg数值积分
5 插值与拟合
5.1 Newton插值
5.2 三次样条插值
5.3 最小二乘拟合
6 优化算法
6.1 一维线搜索
6.2 最速降低法
6.3 共轭梯度法
6.4 拟Newton法
7 Fourier分析
7.1 2的整次幂FFT算法
7.2 任意长度FFT算法
7.3 普通讯号FFT使用方法
7.4 FFTW的C++接口
7.5 卷积与快速实现算法
8 数字滤波器设计
8.1 经常使用窗函数
8.2 滤波器基类设计
8.3 FIR数字滤波器设计
8.4 IIR数字滤波器设计
9 随机信号处理
9.1 随机数生成器
9.2 概论统计中的经常使用函数
9.3 相关与快速实现算法
10 功率谱估计
10.1 经典谱估计方法
10.2 参数化谱估计方法
10.3 特征分析谱估计方法
11 自适应滤波器
11.1 Wiener滤波器
11.2 Kalman滤波器
11.3 LMS自适应滤波器
11.4 RLS自适应滤波器
12 时频分析
12.1 加窗Fourier变换
12.2 离散Gabor变换
12.3 Wigner-Wille分布
13 小波变换
13.1 连续小波变换
13.2 二进小波变换
13.3 离散小波变换
14 查找与排序
14.1 二叉查找树
14.2 平衡二叉树
14.3 基本排序算法
14.4Huffman编码