GithubHelp home page GithubHelp logo

gaoyiyeah / tspl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ceze/tspl

0.0 0.0 0.0 2.2 MB

Signal Processing Library in C++ . Copyright by

Home Page: https://my.oschina.net/zmjerry

License: GNU General Public License v2.0

C++ 99.33% C 0.46% Objective-C 0.21%

tspl's Introduction

项目源码为张明老师发布于googlecode,众所周知googlecode不方便墙内用户访问,因此在github克隆一份。

可以访问张明老师博客: http://my.oschina.net/zmjerry/blog

SP++ (Signal Processing in C++) 是一个关于信号处理与数值计算的开源C++程序库,该库提供了信号处理与数值计算中常用算法的C++实现。SP++中所有算法都以C++类模板方法实现,以头文件形式组织而成,所以不需要用户进行本地编译,只要将相关的头文件包含在项目中即可使用。”XXX.h”表示声明文件,”XXX-impl.h”表示对应的实现文件。所有的函数和类均位于名字空间”splab”中,因此使用SP++时要进行命名空间声明:”using namespace splab”。

===============

Signal Processing Library in C++

This is a C++ library for Numerical Computation and Signal Processing. All of the algorithms is implemented by C++ template classes, and organized by ".h" files, so you don't need compile them by yourself.

The SP++ is also published at "Open Source China", the blog publishing URL is: http://my.oschina.net/zmjerry/blog.

The algorithms implemented in SP++ are as follow:

1 Vector Class Template

1.1 Basic Vector Class

1.2 Vector Version for Often Used Functions

1.3 Utilities Functions

1.4 A Simple Timer

2 Matrix Class Template

2.1 Basic Matrix Class

2.2 Matrix Version for Often Used Functions

2.3 Cholesky Decomposition for Real and Complex Matrix

2.4 LU Decomposition for Real and Complex Matrix

2.5 QR Decomposition for Real and Complex Matrix

2.6 SVD Decomposition for Real and Complex Matrix

2.7 Eigenvalue Decomposition for Real and Complex Matrix

2.8 Inversion and Pseudoinversion for Real and Complex Matrix

3 System of Linear Equations

3.1 Common Linear Equations

3.2 Undetermined Linear Equations

3.3 Rank Defect Linear Equations

4 Nonlinear Equation and Equations

4.1 Root of Nonlinear Equation

4.2 Root of Nonlinear Equations

4.3 Romberg Numerical Integration

5 Interpolation and Fitting

5.1 Newton Interpolation

5.2 Cubic Spline Interpolation

5.3 Least Squares Fitting

6 Optimization Method

6.1 Line Searching

6.2 Steepest Descent Method

6.3 Conjugate Gradient Method

6.4 BFGS Method

7 Fourier Transform

7.1 FFT for Signal with Length of 2^n

7.2 FFT for Signal with Arbitrary Length

7.3 A Friendly Used Version of FFT

7.4 C++ Interface for FFTW

7.5 Convolution and Its Fast Algorithm

8 Digital Filter Design

8.1 Widow Functions

8.2 Basic Class for Filter Design

8.3 FIR Digital Filter Design

8.4 IIR Digital Filter Design

9 Random Signal Processing

9.1 Random Number Generator

9.2 Often Used Functions for Probability and Statistics

9.3 Correlation and Its Fast Algorithm

10 Power Spectrum Estimation

10.1 Classical Estimation Methods

10.2 Parameter Estimation Methods

10.3 Eigenanalysis Estimation Methods

11 Adaptive Filters

11.1 Wiener Filter

11.2 Kalman Filter

11.3 LMS Adaptive Filters

11.4 RLS Adaptive Filters

12 Time-Frequency Analysis

12.1 Widow Fourier Transform

12.2 Discrete Gabor Transform

12.3 Wigner-Wille Distribution

13 Wavelet Transform

13.1 Continuous Wavelet Transform

13.2 Dyadic Wavelet Transform

13.3 Discrete Wavelet Transform

14 Searching and Sorting

14.1 Binary Search Tree

14.2 AVL Tree

14.3 Basic Sorting Algorithm

14.4 Huffman Code

tspl's People

Contributors

ceze avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.