basic_dsp_matrix 0.4.2

Digital signal processing based on real or complex vectors in time or frequency domain. Vectors come with basic arithmetic, convolution, Fourier transformation and interpolation operations. The vectors are optimized for sizes of a couple of thousand elements or more.

Crate basic_dsp_matrix [] [src]

In this lib a matrix is simply a collection of vectors. The idea is that the matrix types can be used to reduce the size of a large matrix and that the return types are basic enough so that other specialized matrix libs can do the rest of the work, e.g. inverting the resulting matrix.

Structs

Matrix2xN

A matrix which can hold exactly 2 vectors.

Matrix3xN

A matrix which can hold exactly 3 vectors.

Matrix4xN

A matrix which can hold exactly 4 vectors.

MatrixMxN

A matrix which can hold 1 to N vectors.

Traits

FromMatrix

Retrieves the underlying storage from a matrix.

Matrix

A trait for matrix types. In this lib a matrix is simply a collection of vectors. The idea is that the matrix types can be used to reduce the size of a large matrix and that the return types are basic enough so that other specialized matrix libs can do the rest of the work, e.g. inverting the resulting matrix.

ToComplexFreqMatrix

Conversion from a generic data type into a dsp vector with complex data.

ToComplexTimeMatrix

Conversion from a generic data type into a dsp vector with complex data.

ToDspMatrix

Conversion from a generic data type into a dsp matrix which tracks its meta information (domain and number space) only at runtime. See ToRealMatrix and ToComplexMatrix for alternatives which track most of the meta data with the type system and therefore avoid runtime errors.

ToMatrix

Conversion from a collection of vectors to a matrix.

ToRealFreqMatrix

Conversion from a generic data type into a dsp matrix with real data.

ToRealTimeMatrix

Conversion from a generic data type into a dsp matrix with real data.

Type Definitions

ComplexFreqMatrix32x2

A matrix which can hold exactly 2 vectors of 32 bit floating point numbers in complex number space and frequency domain.

ComplexFreqMatrix32x3

A matrix which can hold exactly 4 vectors of 32 bit floating point numbers in complex number space and frequency domain.

ComplexFreqMatrix32x4

A matrix which can hold exactly 4 vectors of 32 bit floating point numbers in complex number space and frequency domain.

ComplexFreqMatrix32xN

A matrix which can hold 1 to N vectors of 32 bit floating point numbers in complex number space and frequency domain.

ComplexFreqMatrix64x2

A matrix which can hold exactly 2 vectors of 64 bit floating point numbers in complex number space and frequency domain.

ComplexFreqMatrix64x3

A matrix which can hold exactly 4 vectors of 64 bit floating point numbers in complex number space and frequency domain.

ComplexFreqMatrix64x4

A matrix which can hold exactly 4 vectors of 64 bit floating point numbers in complex number space and frequency domain.

ComplexFreqMatrix64xN

A matrix which can hold 1 to N vectors of 64 bit floating point numbers in complex number space and frequency domain.

ComplexTimeMatrix32x2

A matrix which can hold exactly 2 vectors of 32 bit floating point numbers in complex number space and time domain.

ComplexTimeMatrix32x3

A matrix which can hold exactly 3 vectors of 32 bit floating point numbers in complex number space and time domain.

ComplexTimeMatrix32x4

A matrix which can hold exactly 4 vectors of 32 bit floating point numbers in complex number space and time domain.

ComplexTimeMatrix32xN

A matrix which can hold 1 to N vectors of 32 bit floating point numbers in complex number space and time domain.

ComplexTimeMatrix64x2

A matrix which can hold exactly 2 vectors of 64 bit floating point numbers in complex number space and time domain.

ComplexTimeMatrix64x3

A matrix which can hold exactly 3 vectors of 64 bit floating point numbers in complex number space and time domain.

ComplexTimeMatrix64x4

A matrix which can hold exactly 4 vectors of 64 bit floating point numbers in complex number space and time domain.

ComplexTimeMatrix64xN

A matrix which can hold 1 to N vectors of 64 bit floating point numbers in complex number space and time domain.

Matrix32x2

A matrix which can hold exactly 2 vectors of 32 bit floating point numbers in any number space or domain.

Matrix32x3

A matrix which can hold exactly 3 vectors of 32 bit floating point numbers in any number space or domain.

Matrix32x4

A matrix which can hold exactly 4 vectors of 32 bit floating point numbers in any number space or domain.

Matrix32xN

A matrix which can hold 1 to N vectors of 32 bit floating point numbers in any number space or domain.

Matrix64x2

A matrix which can hold exactly 2 vectors of 64 bit floating point numbers in any number space or domain.

Matrix64x3

A matrix which can hold exactly 3 vectors of 64 bit floating point numbers in any number space or domain.

Matrix64x4

A matrix which can hold exactly 4 vectors of 64 bit floating point numbers in any number space or domain.

Matrix64xN

A matrix which can hold 1 to N vectors of 64 bit floating point numbers in any number space or domain.

RealFreqMatrix32x2

A matrix which can hold exactly 2 vectors of 32 bit floating point numbers in real number space and frequency domain.

RealFreqMatrix32x3

A matrix which can hold exactly 3 vectors of 32 bit floating point numbers in real number space and frequency domain.

RealFreqMatrix32x4

A matrix which can hold exactly 4 vectors of 32 bit floating point numbers in real number space and frequency domain.

RealFreqMatrix32xN

A matrix which can hold 1 to N vectors of 32 bit floating point numbers in real number space and frequency domain.

RealFreqMatrix64x2

A matrix which can hold exactly 2 vectors of 64 bit floating point numbers in real number space and frequency domain.

RealFreqMatrix64x3

A matrix which can hold exactly 4 vectors of 64 bit floating point numbers in real number space and frequency domain.

RealFreqMatrix64x4

A matrix which can hold exactly 4 vectors of 64 bit floating point numbers in real number space and frequency domain.

RealFreqMatrix64xN

A matrix which can hold 1 to N vectors of 64 bit floating point numbers in real number space and frequency domain.

RealTimeMatrix32x2

A matrix which can hold exactly 2 vectors of 32 bit floating point numbers in real number space and time domain.

RealTimeMatrix32x3

A matrix which can hold exactly 3 vectors of 32 bit floating point numbers in real number space and time domain.

RealTimeMatrix32x4

A matrix which can hold exactly 4 vectors of 32 bit floating point numbers in real number space and time domain.

RealTimeMatrix32xN

A matrix which can hold 1 to N vectors of 32 bit floating point numbers in real number space and time domain.

RealTimeMatrix64x2

A matrix which can hold exactly 2 vectors of 64 bit floating point numbers in real number space and time domain.

RealTimeMatrix64x3

A matrix which can hold exactly 3 vectors of 64 bit floating point numbers in real number space and time domain.

RealTimeMatrix64x4

A matrix which can hold exactly 4 vectors of 64 bit floating point numbers in real number space and time domain.

RealTimeMatrix64xN

A matrix which can hold 1 to N vectors of 64 bit floating point numbers in real number space and time domain.