Skip to content

Class expression_parallel_goertzel

class expression_parallel_goertzel<T, width> dsp

template <typename T, size_t width>
struct expression_parallel_goertzel : expression_traits_defaults { … }

Parallel (multi-bin) Goertzel algorithm expression.

Template parameters
T Sample and result type (floating point).
width Number of parallel resonators (must match the SIMD vector width used to construct the expression).
Parameters
result Array of width complex values (filled on destruction).
omega SIMD vector of width angular frequencies [rad/sample].

Note

Results are only valid after the expression object has been destroyed.

variable dims

constexpr static size_t dims = 1

Fully qualified name: kfr::expression_parallel_goertzel<T, width>::dims

Declared at dsp/goertzel.hpp:127

typedef value_type

using value_type = T

Fully qualified name: kfr::expression_parallel_goertzel<T, width>::value_type

Declared at dsp/goertzel.hpp:129

function get_shape(const expression_parallel_goertzel<T, width> &)

constexpr static shape<1> get_shape(const expression_parallel_goertzel&) { … }

Fully qualified name: kfr::expression_parallel_goertzel<T, width>::get_shape(const expression_parallel_goertzel<T, width> &)

Declared at dsp/goertzel.hpp:131

function get_shape()

constexpr static shape<1> get_shape() { … }

Fully qualified name: kfr::expression_parallel_goertzel<T, width>::get_shape()

Declared at dsp/goertzel.hpp:135

constructor expression_parallel_goertzel<T, width>(complex<T> *, vec<T, width>)

expression_parallel_goertzel(complex<T> result[], vec<T, width> omega)

Construct width parallel Goertzel resonators.

Parameters
result Output array of width complex bin values (filled on destruction).
omega SIMD vector of width angular frequencies [rad/sample].

Fully qualified name: kfr::expression_parallel_goertzel<T, width>::expression_parallel_goertzel<T, width>(complex<T> *, vec<T, width>)

Declared at dsp/goertzel.hpp:142

destructor ~expression_parallel_goertzel<T, width>()

~expression_parallel_goertzel()

Destructor: rotates the final filter states into the width complex DFT bin values and stores them in result .

Fully qualified name: kfr::expression_parallel_goertzel<T, width>::~expression_parallel_goertzel<T, width>()

Declared at dsp/goertzel.hpp:150

function set_elements(expression_parallel_goertzel<T, width> &, shape<1>, axis_params<VecAxis, N>, const std::type_identity_t<vec<T, N>> &)

template <size_t N, index_t VecAxis>
friend KFR_INTRINSIC void set_elements(expression_parallel_goertzel& self, shape<1>,
                                       axis_params<VecAxis, N>, const std::type_identity_t<vec<T, N>>& x)

Internal ADL-provided implementation for expression_parallel_goertzel expressions.

Fully qualified name: kfr::expression_parallel_goertzel<T, width>::set_elements(expression_parallel_goertzel<T, width> &, shape<1>, axis_params<VecAxis, N>, const std::type_identity_t<vec<T, N>> &)

Declared at dsp/goertzel.hpp:164

variable result

complex<T>* result

Output array of

width complex bin values.

Fully qualified name: kfr::expression_parallel_goertzel<T, width>::result

Declared at dsp/goertzel.hpp:176

variable omega

const vec<T, width> omega

SIMD vector of target angular frequencies.

Fully qualified name: kfr::expression_parallel_goertzel<T, width>::omega

Declared at dsp/goertzel.hpp:177

variable coeff

const vec<T, width> coeff

Precomputed coefficients

2*cos(omega) .

Fully qualified name: kfr::expression_parallel_goertzel<T, width>::coeff

Declared at dsp/goertzel.hpp:178

variable q0

mutable vec<T, width> q0

Current filter outputs (working state).

Fully qualified name: kfr::expression_parallel_goertzel<T, width>::q0

Declared at dsp/goertzel.hpp:179

variable q1

mutable vec<T, width> q1

Previous output samples (working state).

Fully qualified name: kfr::expression_parallel_goertzel<T, width>::q1

Declared at dsp/goertzel.hpp:180

variable q2

mutable vec<T, width> q2

Output samples two steps back (working state).

Fully qualified name: kfr::expression_parallel_goertzel<T, width>::q2

Declared at dsp/goertzel.hpp:181

Fully qualified name: kfr::expression_parallel_goertzel<T, width>

Declared at dsp/goertzel.hpp:125

This file was generated by cxxdox, a C++ documentation generator based on MkDocs Material and libclang.