nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
signal/include/nk/signal/multirate/extras.hpp
Go to the documentation of this file.
1
3// toolboxes/signal/include/nk/signal/multirate/extras.hpp
4//
5// Multirate extras (F1): upfirdn, interp, intfilt, fftfilt.
6
7#pragma once
8
9#include <memory_resource>
10#include <nk/value/value.hpp>
11
12namespace nk::signal {
13
16
17
34 const Value & h,
35 size_t p,
36 size_t q = 1,
37 std::pmr::memory_resource * mr = nullptr);
38
53Value interp(const Value & x,
54 size_t r,
55 size_t n = 4,
56 double alpha = 0.5,
57 std::pmr::memory_resource * mr = nullptr);
58
73Value intfilt(size_t r,
74 size_t n = 4,
75 double alpha = 0.5,
76 std::pmr::memory_resource * mr = nullptr);
77
93 const Value & x,
94 size_t nfft = 0,
95 std::pmr::memory_resource * mr = nullptr);
96
97
99} // namespace nk::signal
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
Value upfirdn(const Value &x, const Value &h, size_t p, size_t q=1, std::pmr::memory_resource *mr=nullptr)
Upsample-FIR-Downsample (polyphase) rational rate conversion.
Value fftfilt(const Value &b, const Value &x, size_t nfft=0, std::pmr::memory_resource *mr=nullptr)
Overlap-add FFT-based FIR filtering.
Value intfilt(size_t r, size_t n=4, double alpha=0.5, std::pmr::memory_resource *mr=nullptr)
Design an FIR interpolation kernel.
Value interp(const Value &x, size_t r, size_t n=4, double alpha=0.5, std::pmr::memory_resource *mr=nullptr)
Integer-factor interpolation with a low-pass FIR kernel.